Ralf_dev for Zinst
[:: zinst Package를 만들어 보자 ::] 본문
구슬이 서말이라도 꿰어야 보배라고 했습니다.
도구만 있으면 뭐합니까. 적용 할 수 있는 package가 없는데....
우선 우리에게 익숙하고 주로 사용중인 rpm을 zinst package로 변환 해 주는 도구가 있습니다.
Starter's package에 포함 되어 있는데요.. 다음과 같이 zinst_making_tool을 설치 하시면 됩니다.
]$ zinst install zinst_making_tool -stable
설치가 완료되면, rpm2zinst라는 스크립트를 통해 설치되어져 있는 rpm package를 zinst package를 만들 수 있는 index file(.zicf file)을 생성 합니다.
]$ sudo /data/bin/rpm2zinst git- ############################################################################## What you want package is git-1.7.1-3.el6_4.1.x86_64 right? [ y / n ] ############################################################################## y ############################################################################## git-1.7.1-3.el6_4.1.x86_64.tgz package has been created ##############################################################################
=== Please insert an information for the index file create ===
* [ Package name: Default=git-1.7.1-3.el6_4.1.x86_64 ] = ! Notice: You only can use a package name with Alphabet, Number, _(underscore) combination git_test
* [ Description] = package for test of git
* [ Version: Default=0.0.1 ] =
* [ Default Owner: Default=root ] =
* [ Default Group: Default=wheel ] =
* [ Defaut Permission: Default=664 ] =
Do you need a some command when this pacakge removed ? * [ y/n : Default=n ] = y
Do you have a required pacakge ? * [ y/n : Default= n ] y * Please insert a package name = ysar ======================================================= ysar [1] ysar_apache2 [2] ysar_java [3] ysar_mysql [4] ======================================================= * Please insert a number what you need [ 1 - 4 ] ? 1 [ ysar ] package has been selected. Do you need more package require ? [y/n]
./z/etc/bash_completion.d/git ./z/etc/bash_completion.d/tig ./z/etc/bash_completion.d/lsof ./z/etc/bash_completion.d/dd ./z/etc/bash_completion.d/service ############################################################################## zicf file has been created as below /home/ralf.yang/git-1.7.1-3.el6_4.1.x86_64/git_test.zicf ============================================================================== You can modify that zicf file for a package create!! ############################################################################## |
현재 디렉토리를 기준으로 지정한 git의 package 구성을 가져와서 지정한 이름으로 .zicf파일을 생성 합니다.
생성된 zicf 파일을 open하여 원하는 방식의 index가 생성 되었는지 확인 합니다.
]$ cd git-1.7.1-3.el6_4.1.x86_64/
]$ vi git_test.zicf
확인이 완료 된 zicf index 파일을 기준으로 package를 생성 합니다.
]$ sudo /data/bin/zinst_creator git_test.zicf
* 이때 삭제시 필요한 command를 실행 하기 위해서는 uninstall.sh 파일에 원하는 command를 입력 하셔야 합니다.
package 생성이 완료 되었습니다.
]$ ls
git_test-0.0.1.zinst git_test.zicf uninstall.sh z