-
! This repository Supports for Redhat or CentOS 6.x version under
-
You just can run the zinst reopsitory server by docker container as below
docker run -d -v /data/dist:/data/dist:rw -p 80:80/tcp zinst/zinst_repository
- Detail information about of zinst repository via docker: https://hub.docker.com/r/zinst/zinst_repository/
If you want to show detail video please click the GIF image :)
-
You just can type this command
-
curl -sL bit.ly/online-install |bash
-
Requires: sudo, BASH, SSH
-
Feel free to contact me if you have any Question :) (ํ๊ตญ์ด ์ง์)
-
Contact: [email protected] or [email protected]
-
Links:
- zinst๋ ๋ถ์ฐ๋ ์๋ฒ๊ตฐ์ ํจ์จ์ ์ธ ๊ด๋ฆฌ์ ์ ์ด๋ฅผ ์ํด ๊ฐ๋ฐ ๋์์ผ๋ฉฐ, ์ด๋ฅผ ์ํด ๋ณ๋์ agent์ ์ค์น๋ฅผ ํ์๋ก ํ์ง ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด ํน์ ๋ฆฌ๋ ์ค ์ฅ๋น ํ๋๋ฅผ ๊ด๋ฆฌ์ฉ๋์ ๋ฉ๋์ ์๋ฒ๋ก ๊ตฌ์ฑ ํ ๋ค์, ํด๋น ์๋ฒ์์ ๋ค๋ฅธ ์๋ฒ๋ก ssh๋ฅผ ํตํด ์ ์์ด ๊ฐ๋ฅํ๋ค๋ฉด, ํ๋ฒ์ ๋ช ๋ น์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ณต์๊ฐ์ ์๋ฒ๋ฅผ ๊ด๋ฆฌ ํ ์ ์์ต๋๋ค.
- ์) 192.168.1.101 ์๋ฒ๋ถํฐ 192.168.1.199 ๊น์ง ํ๋์จ์ด ์คํ์ ํ์ธํ๋ command
$ zinst ssh '/data/bin/hwconfig -c' -h 192.168.1.1[01-99]
- Zinst๋ ๋ฆฌ๋ ์ค ์์คํ ์ด์์ ํ์์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ช ๋ น์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ์์ ์ ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌ ํ ์ ์๋๋ก ์ ์ ๋์์ต๋๋ค.
- ์) Load-balancer์ ํด๋น ์๋ฒ๋ฅผ ๋ฑ๋กํ๊ธฐ ์ํด Virtual IP๋ฅผ loopback์ผ๋ก ๋ฑ๋กํ๋ ์์
$ zinst set vipctl.vips=192.168.2.10 -set vipctl.name=DEFAULT
$ zinst start vipctl
$ ifconfig lo:DEFAULT
lo:DEFAULT Link encap:Local Loopback
inet addr:192.168.2.10 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:65536 Metric:1
$ zinst stop vipctl
$ ifconfig lo:DEFAULT
lo:DEFAULT Link encap:Local Loopback
UP LOOPBACK RUNNING MTU:65536 Metric:1
- ์ ์์ ์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ง์ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ๋ง์ ๊ณผ์ ์ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค. ๋ํ ํด๋น ์ค์ ๋ด์ญ์ ๊ด๋ จํ์ฌ ๋์ ์ผ๋ก ๊ด๋ฆฌ๊ฐ ํ๋ค ์๋ ์์ต๋๋ค.
- ์ ๋ด์ฉ๊ณผ ๊ฐ์ด ํด๋น ๋ฆฌ๋ ์ค ์์คํ ์ ๊ตฌ์ฑ๋์ด์๋ zinst set ๊ฐ์ ์๋์ ๊ฐ์ด ํ์ธ์ด ๊ฐ๋ฅ ํฉ๋๋ค.
$ zinst set
vipctl.name=DEFAULT
vipctl.onboot=yes
vipctl.DIR=/data/src/html
vipctl.Check_file=l4-check.html
hwconfig.nameserver1=8.8.8.8
hwconfig.nameserver2=168.126.63.1
vipctl.vips=192.168.2.10
server_default_setting.name1=8.8.8.8
server_default_setting.name2=211.44.62.40
.
.
.
- ๋์ผ VIP๋ฅผ ์ฌ์ฉํ๋ ๋ค์์ ์์คํ (192.168.2.101~192.168.2.110)์ loopback์ ๋์์ ๊ด๋ฆฌ ํ๊ธฐ ์ํด ์๋์ ๊ฐ์ด ํ์ฉ์ด ๊ฐ๋ฅ ํฉ๋๋ค.
$ zinst set vipctl.vips=192.168.2.10 -h 192.168.1.1[01-10]
$ zinst start vipctl -h 192.168.1.1[01-10]
- ์ด์ฒ๋ผ, zinst๋ ํน์ ๋ฆฌ๋ ์ค ์ฅ๋น์ ๊ฐ๋ณ ๊ด๋ฆฌ์์ ๋ถํฐ ๋ณต์๊ฐ ์ด์์ ์๋ฒ๊ตฐ์ ๊ด๋ฆฌํ๋ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
- ip๋ฒ์ ๋๋ host๋ช ์ ๋ฒ์(์ web101.test.com ~ web110.test.com)๋ฅผ ์ ๊ทํํ์ ํํ๋ก ์ ๋ ฅ๋ฐ์ ์๋ง์ ์๋ฒ ์ฅ๋น๋ฅผ ๊ด๋ฆฌ ํ ์ ์์ต๋๋ค.
- ๋ง์ฐฌ๊ฐ์ง๋ก ๋ค์ํ ์๋ฒ๊ตฐ์ ๋ํด file์ ๋ณต์ฌ, Daemon์ stop/start/restart ๋ฑ์ ์ํ ํ ์ ์์ผ๋ฉฐ, Crontab์ ํ์ธ/์์ , ํน์ ์์ ์ ์ํด ์ ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ํจํค์งํ ํ์ฌ ์ค์น/์ ๊ฑฐ/์ค์ ๋ณ๊ฒฝ ๋ฑ์ ์ํ ํ ์ ์์ต๋๋ค.
- ์ผ๋ จ์ ๋ชจ๋ ์์ ์ history์ ๊ธฐ๋ก์ด ๋์ด ์์ tracking์ด ๊ฐ๋ฅํฉ๋๋ค.
- zinst๋ Puppet์ด๋ chef ์ฒ๋ผ ์์คํ Orchestration์ ์ํด ๋ง๋ค์ด์ก์ผ๋, ๋ณต์กํ ์ค์น๋ฑ์ด ๋๋ฐ๋์ง ์์์ผ๋ก, yum, rpm, puppet,chef, docker ๋ฑ๊ณผ ํจ๊ป ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
- ์ฝ๊ฒ ๋งํด์ ์ฌ๋์ด ํ๋ ์ผ๋ จ์ ์์ ์ Zinst package๋ผ๋ ํํ๋ก wrappingํ์ฌ ์ฒ๋ฆฌํ๋ค๊ณ ์ดํด ํ์๋ฉด ๋ฉ๋๋ค.
- Enterprise system์ ์ด์์ ์ํด์๋, ์ฌํํ ๊ตฌ์ฑ์ Infrastructure, ๊ฐ ์์์ ๋ํ ์์ฒด ๊ฒ์ฆ, ์ ๊ทํ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ ์์คํ ๊ตฌ์ถ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋์ด์ผ ํฉ๋๋ค.
- ์ด์ ๋ฐ๋ผ, ์์ฒด ๊ฒ์ฆ ๋ฐ ์ต์ ํ๋ application์ package ํํ๋ก ์ ์ํ์ฌ ๋ด์ ํ ํ๊ณ , ์ค์์์ ์ ์ฒด ์์คํ ์ ์ด๊ดํ์ฌ ๊ด๋ฆฌ ํ ์ ์๋ ๋ฐฉํฅ์ผ๋ก ๊ด๋ฆฌ ํํ๋ฅผ ์ผ์ํ ํ ์ ์๊ฒ ๋ฉ๋๋ค.
- Zinst Package ๊ตฌ์ฑ์๋ set๊ฐ์ ๋ณ๋๋ก ํ ๋น ํ ์ ์์ต๋๋ค. ์ฆ ํ๋์ package๋ก ๋ค์ํ ๊ตฌ์ฑ์ ์ ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, Apache๋ฅผ ์ค์น ์,
httpd_server
package๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น ํ ์ ์์ผ๋ฉฐ, ์ค์น์ ๋์์set
๊ฐ์ ๋ณ๊ฒฝํ์ฌ ๊ตฌ์ฑ์ ๋ฌ๋ฆฌ ํ ์ ์์ต๋๋ค.
$ zinst i httpd_server \
-set httpd_server.DocumentRoot=/data/src/html \
-set httpd_server.hostname=www.ralfyang.com \
-set httpd_server.port=8080
- zinst๋ ๋๊ฐ์ง ํํ๋ก ์ค์น๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ์ฌ์ด ๊ตฌ์ฑ ์ค์น๋ฅผ ์ํด github.io๋ฅผ repositoryํ ํ์ฌ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
curl -sL bit.ly/online-install | sh
-
์์ ๊ฐ์ด ์ค์น ์งํ ์, sudo package๊ฐ ํ์ํ์ฌ yum์ ํตํด ์๋ ์ค์น ์งํ ๋ฉ๋๋ค.
-
RedHat๊ณ์ด์ OS์ ๊ฒฝ์ฐ, yum์ ํตํ sudo ์ค์น๊ฐ ๊ฐ๋ฅํ๋, Ubuntu ๋๋ Darwin์ ๊ฒฝ์ฐ๋ ๊ทธ์ ๋ง๊ฒ ์ค์น command๋ฅผ ์์ ํ์ฌ ์งํ ํด์ผ ํฉ๋๋ค.
-
์ฐธ๊ณ ๋ก, zinst ์์ฒด๋ bash๊ฐ ์ค์น ๋ ๋ชจ๋ Linux, Unix ๋ฑ์์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋, ์์ ์ ์ํ ์ผ๋ถ ๋ช ๋ น์ด(curl, bc, awk, sed, echo, printf, tar)๋ OS ๋ฐ ํด๋น ๋ช ๋ น์ด์ Version์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ถ๋ ฅ ๋ ์ ์์ต๋๋ค.
-
github.io๋ฅผ ํตํด ์ค์น ๊ฐ๋ฅํ package๋ฅผ ์ ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์๋, ์์ฒด์ ์ธ Package repository๋ฅผ ๊ตฌ์ถํ๊ณ ์ ํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด github์ source๋ฅผ cloneํ์ฌ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
$ git clone https://github.com/goody80/Ralf_Dev.git
$ cd Ralf_Dev/1_zinst_starters_package/
$ install.sh
- ์์ฒด repository๋ฅผ ๊ตฌ์ถ ์, Apache web server๊ฐ ์ค์น๋ฉ๋๋ค.
- zinst๋ ๋ณ๋์
man-page
๊ฐ ์์ต๋๋ค. ์ด๋ zinst ๋ช ๋ น์ด์ ํ์ฐ์ฑ์ ์ํ ์ฌ์์์ ์์ํฉ๋๋ค. - A๋ผ๋ ์๋ฒ์ zinst ๋ช
๋ น์ ํตํด B๋ผ๋ ์๋ฒ๋ก ์์
์ ์ํ ์,
zinst
file์ ์๋์ผ๋ก B ์๋ฒ์ ๋ณต์ ๊ฐ ๋์ด ์ ๋ฌด๋ฅผ ์ํํฉ๋๋ค. - ๋ฐ๋ผ์ ๋ถํ์ํ, file ๋ฐ config๋ ๋ณ๋๋ก ์์ฑํ์ง ์๊ณ , ์ค์ง zinst ํ์ผ ํ๋์ ๋ชจ๋ ๊ฒ์ ๋ด์์ผ ํฉ๋๋ค.
- ์ด๋, ๋ฆฌ๋ ์ค ์์คํ ๊ด๋ฆฌ์ ํธ์๋ฅผ ์ํด command ํํ๋ก ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๊ธฐ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- ๋ฐ๋ณต์ ์ธ ๋ช
๋ น์ด ์์
๋ฑ์ packageํ ํ์ฌ ์ค์น ์คํ ๋ฑ์ ์ํํ๊ธฐ ์ํด์๋, ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ, default ์์
ํ๊ฒฝ๋ฑ์ ์
ํ
์ ์ํด
server_default_setting
์ด๋ผ๋ package๋ฅผ ์ค์นํ์ฌ, ์์คํ ์ด๊ธฐ ๊ตฌ์ฑ์ ์งํ ํ ์ ์์ต๋๋ค.
$ zinst i server_default_setting -stable
- zinst๋
man-page
๋์ , ์์ฒด manual์ command๋ฅผ ํตํด ํ์ธ ํ ์ ์์ต๋๋ค.
$ zinst
------------------------------------------------------------------------------------------------------
zinst [Command] [Option Types] [Target Names] [-h or -H] [Targe Host]
------------------------------------------------------------------------------------------------------
ssh [Command] *Host requires
......................................................................................................
mcp [local-files] [Destination DIR] *Host requires
keydeploy *Host requires
------------------------------------------------------------------------------------------------------
install [Package]
[-same] [Package]
[-downgrade] [Package]
[-stable] [Package without version]
remove [Package]
[-force] [Package]
......................................................................................................
list [Blank for list-up] or [Package]
[-file] [Package] or [/DIR/File-name]
[-zicf] [Package]
[-dep] [Package]
......................................................................................................
sync [-file] [Save fie for the Package set sync]
[-url] [Save fie from URL for the Package set sync]
restore [-file] [Saved file_name]
[-igor] * Not available yet
------------------------------------------------------------------------------------------------------
set [Blank for list-up]
[Package] -set [Package.option=value]
------------------------------------------------------------------------------------------------------
start/stop/restart/run [Daemon_name]
on/off [Daemon_name]
......................................................................................................
crontab [-e] or [-l]
------------------------------------------------------------------------------------------------------
find [Blank for list-up] or [Package]
getset [Package with version exactly]
------------------------------------------------------------------------------------------------------
track [Blank for list-up]
[Package or hostname]
[Package or hostname] [-file]
[Package or hostname] [-file=Export_File_name]
"user" or "sudo_user"
[User_Package_name] [-file]
[User_Package_name] [-file=Export_File_name]
------------------------------------------------------------------------------------------------------
history [Number of Range]
......................................................................................................
-pass Option for Multi-host password automation
self-config ip=x.x.x.x host=xxx.xxx.xxx dir=xxx
self-update
-version
*, help
------------------------------------------------------------------------------------------------------
-h is target host, -H is targe file of hostlist
ex) zinst i sample_a sample_b -stable -set sample_a.key=111 -H ./server_list.txt
ex) zinst i sample-1.0.0.zinst -h web01.news.kr[1,3] web[03-12].news[1,3]
------------------------------------------------------------------------------------------------------
* Current zinst setup: [ Repo: http://goody80.github.io/Zinst_packages - goody80.github.io/Zinst_packages ], [ ROOT-DIR: /data ]
------------------------------------------------------------------------------------------------------
- ์ข ๋ ์์ธํ ์ค๋ช
์ ์ํด์๋
-help
option์ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
$ zinst -help
------------------------------------------------------------------------------------------------------
zinst [Command] [Option Types] [Target Names] [-h or -H] [Targe Host]
------------------------------------------------------------------------------------------------------
+ For remote work
- Remote control: You can send a command to seperated hosts
ssh [Command] *Host requires
......................................................................................................
- File copy to remote: You can send a file(s) to seperated hosts(mcp = Multi CoPier)
mcp [local-files] [Destination DIR] *Host requires
- ssh-key copy to remote: You can send a ssh-key file to seperated hosts
keydeploy *Host requires
------------------------------------------------------------------------------------------------------
+ For Package
- Package manage: You can install/remove a package as under the command
install [Package]
[-same] [Package]
[-downgrade] [Package]
[-stable] [Package without version for latest package]
remove [Package]
[-force] [Package]
......................................................................................................
- Package view: You can see an installed packages/files/index & dependency
list [Blank for list-up]
[-files] [Package]
[-files] [/Dir/File-name]
[-zicf] [Package]
[-dep] [Package]
......................................................................................................
- Package sync: You can try a sync the package set by a save file ex) ~/z/save/zinst-*
sync [-file] [Save fie for the Package set sync]
[-url] [Save fie from URL for the Package set sync]
- Package restore: You can restore the package set by a save file for restore ex) ~/z/save/zinst-*
restore [-file] [Saved file_name]
[-igor] * Not available yet
------------------------------------------------------------------------------------------------------
+ For Configuration
- Configuration: Zinst can helps to configure the setup without manual modify the Conf-file
set [Blank for list-up]
[Package.option=value]
- Configuration with Install: Configure the setup with the package install
[Package] -set [Package.option=value]
------------------------------------------------------------------------------------------------------
+ For System manage
- Daemon control: You can control the daemon from the /etc/init.d/ directory
start/stop/restart [Daemon_name]
on/off [Daemon_name]
......................................................................................................
- Crontab manage: You can touch the cron schduler by zinst
crontab [-e]
[-l]
------------------------------------------------------------------------------------------------------
+ For install available package find
- Package find
find [Blank for list-up]
[Package]
------------------------------------------------------------------------------------------------------
+ For tracking the released package
- Track the package
track [Blank for list-up]
[Package or hostname]
[Package or hostname] [-file]
[Package or hostname] [-file=Export_File_name]
"user" or "sudo_user"
[User_Package_name] [-file]
[User_Package_name] [-file=Export_File_name]
------------------------------------------------------------------------------------------------------
+ View history
history [Number of Range]
......................................................................................................
-pass Option for Multi-host password automation
self-update
self-config ip=x.x.x.x host=xxx.xxx.xxx
-version
*, help
------------------------------------------------------------------------------------------------------
-h is target host, -H is targe file of hostlist
ex) zinst i sample-1.0.0.zinst -h web01.news.kr[1,3] web[03-12].news[1,3]
ex) zinst i sample-1.0.0.zinst -H ./server_list.txt
------------------------------------------------------------------------------------------------------
Example)
zinst ssh 'cat /etc/hosts;pwd' -h web[01-09].test.com : Send a command to seperated hosts
zinst mcp ./test.* /data/var/ -h web[01-09].test.com : File copy to seperated hosts
zinst install hwconfig -stable : for package apply as a latest version automatically
zinst install hwconfig-1.0.2.zinst -same : for overwrite the package as a same version
zinst i hwconfig-1.0.2.zinst -downgrade : for downgrade the package as a lower version
zinst list -files hwconfig : list-up file of the hwconfig package
zinst ls -files /data/bin/hwconfig : find a package as a file
zinst list -zicf hwconfig : see the index file of package
zinst ls -dep hwconfig : package dependency check
zinst set : list-up of zinst current setups
zinst set hwconfig.nameserver1=1.1.1.1 : change the setup nameserver1=1.1.1.1 to the hwconfig
zinst i hwconfig-1.0.2.zinst -set hwconfig.nameserver1=1.1.1.1 -set hwconfig.nameserver2=2.2.2.2
: change the setup nameserver1=1.1.1.1 and nameserver2=2.2.2.2 to the hwconfig with package install
zinst restart httpd : restart the httpd daemon by /etc/init.d/httpd file control
zinst crontab -l : list-up the crontab scheduler
zinst crontab -u root -l : list-up the crontab scheduler for an user
zinst cront -e : edit the crontab scheduler
zinst find : list-up the available file for install
zinst find hwcon : list-up the available file for install as you typed
zinst hist : show the history
zinst hist 300 : show the 300 lines history
zinst self-update : zinst command update( *Requires: Package dist server must has a zinst file)
zinst self-config ip=x.x.x.x host=xxx.xxx.xxx : you can change the configuration what you want
zinst help : Detail view the help
=== For more detail: https://github.com/goody80/Ralf_Dev ===
- zinst์ DSL์ ํธ๋ฆฌ ๋ฐ ์ง๊ด์ฑ์ ์ํด ๋ค์ํ ํํ์ ์ ๋ ฅ์ ์ง์ํฉ๋๋ค.
- ์๋ฅผ๋ค์ด install ๋๋ inst ๋๋ i ๋ฑ์ผ๋ก ์ ๋ ฅ ํ๋๋ผ๋ install ์ด๋ผ๋ ๋ช ๋ น์ผ๋ก ์ธ์ํ๊ฒ ๋์ด์์ต๋๋ค
- install: install, inst, i
- remove: remove, rm
- list: list, ls
- history: history, hist
- crontab: crontab, cront
- Default ๊ตฌ์ฑ์ผ๋ก zinst repository๋ github.io์ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง ์๋น์ค ์ด์์ ์ํด ์์ฒด Package๋ฅผ ์์ฑ ๋ฐ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์์ฒด repository๋ฅผ ๊ตฌ์ถ ํ ์ ์์ต๋๋ค.
- ์ด๋, repository์ ๋ณ๊ฒฝ์ ์ํด self-config๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
$ zinst self-conf host=package.dist.test.com ip=192.168.10.1
- ์์ ๊ฐ์์์ ์ค๋ช ํ๊ฒ๊ณผ ๊ฐ์ด zinst๋ ๋ณต์๊ฐ ์ด์์ ๋๋์ ์๋ฒ๊ตฐ์ ํน์ ๋ช ๋ น์ด๋ฅผ ์ํํ๊ณ ๊ด๋ฆฌํ๋ ๋ชฉ์ ์ ์ฃผ์์ ์ ๋๊ณ ์์ต๋๋ค.
- ๋ฐ๋ผ์, ํ์ค์ ๋ช ๋ น์ผ๋ก ๋ณต์๊ฐ ์ด์์ ๋ฆฌ๋ ์ค ์์คํ ์ ๋ช ๋ น์ ์ ๋ฌ ํ ์ ์์ต๋๋ค
$ zinst ssh 'rm -f /data/tmp/*.log' -h 192.168.1.1[01-99] -H web_hosts.list
- ์๋์ ๊ฐ์ด ๊ฐ๋จํ ๋ช ๋ น์ด ํ์ค์ ํตํด ์๊ฒฉ์ง์ ์๋ ์๋ฒ๊ตฐ์ ๋ก์ปฌ ์๋ฒ์ ์๋ ํ์ผ์ ๋ฟ๋ฆด ์๋ ์์ต๋๋ค.
$ zinst mcp ./test/* /data/src/test/ -h 192.168.1.1[01-99]
์ ์์ ์์ ํ์ธ๋๋ -h
option์ ํตํด ๋์ host๋ฅผ ์ ๊ทํํ์ ํํ๋ก ํํํ์ฌ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, -H
option์ ํตํด ์ด๋ฏธ ๊ตฌ์ฑ๋ host list๋ฅผ ์ ์ฉ ํ ์ ์์ต๋๋ค.
$ cat ./web_hosts.list
192.168.3.1
192.168.3.2
192.168.3.3
192.168.3.4
192.168.3.[6-10]
192.168.[4,6].[1,2][0-9]
- ์ค์น๊ฐ ๊ฐ๋ฅํ package ๋ด์ญ์ ์๋์ ๊ฐ์ด
fine
command๋ฅผ ํตํด ํด๋น repository์ ์ ๋ณด๋ฅผ ๋ฐ์์ต๋๋ค.
$ zinst find
MariaDB_client-5.5.33.zinst
MariaDB_server-5.5.33.zinst
asciinema-1.1.1.zinst
bzr_64-2.1.1.zinst
centos_heartbeat_el5-1.0.1.zinst
centos_mond_el5-1.0.0.zinst
cloudera_flume_conf_zum-1.0.0.zinst
cloudera_flume_master-0.9.4+25.40-1.zinst
cloudera_flume_node-0.9.4+25.40-1.zinst
.
.
.
- ํน์ package์ ๋ํ ๊ฒ์์ ์๋์ ๊ฐ์ต๋๋ค.
$ zinst find mysql
ralfyang_mysql_backup-1.0.2.zinst
mysql_check_realtime_select-1.0.0.zinst
mysql_check_slow_query-1.0.0.zinst
mysql_client_55-1.0.2.zinst
mysql_rpmserver_conf-0.0.1.zinst
mysql_server-5.5.10.7.zinst
mysql_server_test_tool-0.1.0.zinst
zinst find
๋ฅผ ํตํด ์ค์น๊ฐ๋ฅํ package๊ฐ ํ์ธ๋๋ฉด ํด๋น package๋ฅผinstall
๋ช ๋ น์ ํตํด ์ค์น๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
$ zinst i hwconfig-1.3.3.zinst
- ๋ฒ์ ผ ๋ช
์ ์์ด, ์ต์ pacakge๋ก ์ค์น๋ฅผ ์ํ ์,
-stable
option์ ํตํด ๋ฒ์ ผ๋ช ์๋ต์ด ๊ฐ๋ฅํฉ๋๋ค.
$ zinst i hwconfig -stable
- ํ๋ฒ์ ์ฌ๋ฌ package๋ฅผ ์ค์น ํ ์ ์์ผ๋ฉฐ, ์ํธ ์์กด์ฑ์ด ์๋ package์ ๋ํด์๋ ์ ๋ ฌ ์์๋ฅผ ์ง์ผ์ผ ํฉ๋๋ค.
- ์ด๋,
-stable
option์ ํตํด ์๋ ์ ๋ ฌ ํ ์ ์์ต๋๋ค.
$ zinst i sudo_user_test002-0.0.1.zinst user_test002-0.0.1.zinst -stable
- ์์ ๊ฐ์ ์กฐํฉ์ผ๋ก ๋๋์ ์๋ฒ๊ตฐ์ ์ค์น๋ฅผ ์งํ ํ ์ ์์ต๋๋ค.
$ zinst i sudo_user_test002-0.0.1.zinst user_test002-0.0.1.zinst -stable -H web_hosts.list
- ์ค์น ๋ด์ญ์ ๋ํ ํ์ธ์ ์๋์ ๊ฐ์ต๋๋ค.
$ zisnt ls
2015-08-19 19:48:55 - asciinema-1.1.1
2015-09-03 11:40:05 - docker_engine-1.7.1
2015-07-20 22:24:15 - git_tool-1.0.1
2015-06-10 15:56:37 - gs_nmap-0.0.1
2015-07-28 15:40:32 - gs_nodejs-0.0.1
- ์์ ๊ฐ์ด ์ค์น๋ package๋ช ๊ณผ ๋ฒ์ ผ, ์ค์น ์ผ์๋ฑ์ ํ์ธ ํ ์ ์์ต๋๋ค.
- ์ค์น๋ package์๊ฐ ๋ง์์ ํน์ package๋ง ๊ฒ์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ํน์ package๋ช ์ ์ถ๊ฐ ํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
$ zinst ls vipctl
2015-09-15 15:54:45 - vipctl-1.0.5
- ํด๋น Package์ ๊ตฌ์ฑ ํ์ผ์ ํ์ธ ํ ์ ์์ต๋๋ค.
$ zinst ls -files vipctl
/data/bin/vipctl
/data/src/html/.status
/data/var/status
/data/conf/vipctl.conf
- ์์ ๋ฐ๋๋ก ํน์ file์ด ์ด๋ค Package์ ์ํด์ ์ค์น ๋์๋์ง ํ์ธ์ด ๊ฐ๋ฅ ํฉ๋๋ค. ์ด๋, ํด๋น file์ ๋๋ ํ ๋ฆฌ๋ช ์ ์ ๋ ฅํฉ๋๋ค.(์๋๊ฒฝ๋ก ๊ฐ๋ฅ)
$ zinst ls -files /data/bin/vipctl
vipctl-1.0.5 <------- /data/bin/vipctl
- ํด๋น Package์ ๊ตฌ์ฑ์ ์ํ ์ธ๋ฑ์ค ํ์ผ(zicf: Zinst Index Configuration File)์ ๋ด์ญ์ ํ์ธ ํ ์ ์์ต๋๋ค.
$ zinst ls -zicf vipctl
## Package information
PACKAGENAME = vipctl
VERSION = 1.0.5
AUTHORIZED = [email protected]
DESCRIPTION = 'Create the loopback and network startup for the vip grouping - update for status page'
CUSTODIAN = ralfyang-eit-team
#Global setting of the files
OWNER = root
GROUP = wheel
PERM = 775
### Regular Syntax
### Based root Directory = /data/
.
.
.
- ํด๋น Package์ ์์กด์ฑ Check๋ฅผ ํ ์ ์์ต๋๋ค.
$ zinst ls -dep server_default_setting
server_default_setting - package has a dependency with ( ralfyang_account_policy )
- ์ค์น๋ Package์ ์ ๊ฑฐ๋ฅผ ์ํด remove๋ฅผ ์ฌ์ฉ ํฉ๋๋ค.
$ zinst remove vipctl
removed `/data/bin/vipctl'
removed `/data/src/html/.status'
removed `/data/var/status'
removed `/data/conf/vipctl.conf'
removed `/data/zinst/vipctl'
removed `/data/vault/Source/vipctl-1.0.5/bin/vipctl'
removed `/data/vault/Source/vipctl-1.0.5/bin/vipctl.conf'
removed directory: `/data/vault/Source/vipctl-1.0.5/bin'
removed `/data/vault/Source/vipctl-1.0.5/status'
removed `/data/vault/Source/vipctl-1.0.5/vipctl.zicf'
removed `/data/vault/Source/vipctl-1.0.5/.file.list'
removed directory: `/data/vault/Source/vipctl-1.0.5'
########## vipctl-1.0.5 package has been removed ########
- ์์กด์ฑ์ด ๊ฑธ๋ฆฐ Pacakge๋ฅผ ์ญ์ ์๋ ํ ๊ฒฝ์ฐ, ํด๋น Package๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์๋ pacakge๋ฅผ ๋จผ์ ์ญ์ ํด ์ฃผ์ด์ผ ํฉ๋๋ค. ์ด๋
-force
option์ ํตํด ์์กด์ฑ์ ๋ํ ๋ฌธ์ ๋ฅผ ๋ฌด์ํ๊ณ ๊ฐ์ ๋ก ์ญ์ ํ ์ ์์ต๋๋ค. - ์์ ๊ฐ์ ๋ถ๋ถ์ ๊ถ์ฅํ์ง ์๋ ๋ถ๋ถ์ด๋, ๋์ ๋ฐ๋ผ ํ์ ํ ๊ฒฝ์ฐ ์ ํ์ ์ผ๋ก ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
- RPM ์ ์์ ์ฌ์ฉ๋๋ .spec ํ์ผ ์ฒ๋ผ, zinst package๋ file ๋ฐ configuration, command, cron scheduler๋ฅผ ์ํด ์ค๋ช ์ ๋ค๋ฃจ๋ ํ์ผ์ด ํ์ํฉ๋๋ค.
- ์ด ํ์ผ์ .zicf๋ก ๊ตฌ๋ถํฉ๋๋ค.
- zicf ํ์ผ์ package ์ค์น ํ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๋ก package์ ์์ฒ Source๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ ์์น ํฉ๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก /data/vault/Source ํ์์ ์์น
- zinst Source ๋๋ ํ ๋ฆฌ์์ ๊ณผ๊ฑฐ ์ค์น๊ฐ ์ด๋ฃจ์ด์ก๋ pacakge์ ๋ํ ๋ด์ญ์ ํ์ธ ํ ์ ์์ผ๋ฉฐ, ๋น์ package๋ฅผ zicf๋ฅผ ํตํด ๋ค์ Build ํ ์ ์์ต๋๋ค.
OS
: ํด๋น Package๊ฐ ์ค์น ๋ OS์ ์ข ๋ฅ๋ฅผ ์ ๋ ฅ ํฉ๋๋ค. rhel, ubuntu, osx, freebsd์ค ํ๋๋ฅผ ์ ๋ ฅ ํฉ๋๋ค.PACKAGENAME
: ํด๋น Package์ ์ด๋ฆ์ด๋ฉฐ, zicfํ์ผ๊ณผ ๊ฐ์์ผ ํฉ๋๋ค. vipctl.zicf ์ผ ๊ฒฝ์ฐ, ํด๋นPACKAGENAME
์ vipctl์ด ๋ฉ๋๋ค.VERSION
: ํ์ฌ Package์ Version์ ๋ํ๋ด๋ฉฐ 0.1.2์ ๊ฐ์ด ์ ์ธ๊ฐ๋ก Major-Minor๋ฅผ update๋ฅผ ๊ตฌ๋ถ ํฉ๋๋ค.AUTHORIZED
: Package์ ์ ์์ ๋๋ ์ต์ข ์์ ์์ email์ ์ ๋ ฅํฉ๋๋ค.DESCRIPTION
: ํด๋น Package์ ๋ํ ๊ฐ๋จํ ๋ด์ฉ์ ๊ธฐ๋กํฉ๋๋ค.CUSTODIAN
: ํด๋น Package์ ๊ด๋ฆฌ ์ฑ ์์ด ์๋ Group์ ์ง์ ํฉ๋๋ค.
- ํด๋น ๋ถ๋ถ์ Default๋ก ์ ์ฉ๋๋ Global Permission์ ์ง์ ํฉ๋๋ค.
- File์ ๊ฒฝ๋ก ์ค์ ๋ถ๋ถ์์ File๋ณ๋ก ์ธ๋ถ ๊ถํ ํ ๋น์ด ๊ฐ๋ฅํ๋ฉฐ, ๊ถํ ํ ๋น์ด ์์ด
-
์ฒ๋ฆฌ ํ ์ Default๊ฐ์ผ๋ก ํด๋น Global Permission์ ๋ฐ๋ฅด๊ฒ ๋ฉ๋๋ค. - OWNER: ๊ถํ์ด ์๋ Default user
- GROUP = ๊ถํ์ด ์๋ Default group
- PERM = File์ ๊ธฐ๋ณธ Permission์ ์ง์ ํ๋ฉฐ, 8์ง์๋ก ๊ถํ์ ์ค์ ํฉ๋๋ค.(์. User ๋ฐ Group์ ๋ชจ๋ ๊ถํ ๋ฐ ๋ชจ๋ ์ฌ์ฉ์์ ์ฝ๊ณ ,์คํ ํ ์ ์๋ ๊ถํ: 775)
- ๊ฐ๋ณ ํ์ผ์ ์ค์ ์ ์์์ ๋ฐ๋ผ ์๋์ ๊ฐ์ต๋๋ค.
- ์ฒซ๋ฒ์งธ ๋จ๋ฝ: Option type์ ์ง์ ํ๋ฉฐ, ๋๋ฌธ์๋ก FILE, CONF, SYMB, CRON์ ์ง์ ํ ์ ์์ต๋๋ค.
- FILE: ๋ณต์ฌ๋๋ staticํ file ์ ๋๋ค.
- CONF: zinst set์ ํตํด ์ค์ ์ ๋ณ๊ฒฝ ํ ์ ์๊ฒ ํ๊ธฐ ์ํด CONF๋ก ๋ช ์ํฉ๋๋ค.
- SYMB: file์ ๋ณต์ฌ ์์ด, ์ด๋ฏธ ๋ณต์ฌ๋ file์ ๊ธฐ์ค์ผ๋ก Symbolic link๋ฅผ ์์ฑ ํ ์ ์์ต๋๋ค.
- CRON: Crontab scheduler์ ์ค์ ์ ์ง์ ํ ์ ์์ต๋๋ค.
- ๊ถํ์ค์ ๋จ๋ฝ
- File Permission: ๊ถํ์ค์ ์ 8์ง์๋ฅผ ํตํด ์ค์ ๊ฐ๋ฅํ๋ฉฐ, default๋ฅผ ์ํ ์
-
๋ก ํ๊ธฐ - File Owner: ์ ์ ๊ถํ ํ ๋น์ ํ ์ ์์ผ๋ฉฐ, default๋ฅผ ์ํ ์
-
๋ก ํ๊ธฐ - File Group: ๊ทธ๋ฃน๊ถํ ํ ๋น์ ํ ์ ์์ผ๋ฉฐ, default๋ฅผ ์ํ ์
-
๋ก ํ๊ธฐ - ๊ฒฝ๋ก ๋จ๋ฝ
- ์ค์น ๋ชฉ์ ์ง ๊ฒฝ๋ก: ํ์ผ์ด ๋ณต์ฌ๋์ด์ผ ํ ๋์ ๊ฒฝ๋ก
- Packaging์ ์ํ ์์ค ๊ฒฝ๋ก: Package ์ ์์ ์ํด ํ์ฌ zicf ํ์ผ์ด ์๋ ์์น์์ ํ์ธ ๊ฐ๋ฅํ Source ๊ฒฝ์ฐ
- ๋ณ๊ฒฝ ๊ฐ๋ฅํ Configure ๊ฐ์ Default๊ฐ์ ํ ๋น ํฉ๋๋ค.
- ZINST set [๋ณ์๋ช ] [Default ๊ฐ]
- Package ์์กด์ฑ์ ์ํด, ํด๋น Package ์ค์น ์ ์ ์ค์น๋์ด์ผ ํ๋ Package๋ฅผ ์ง์ ํด ์ค๋๋ค.
- ZINST requires pkg [ํ์ํ Package๋ช ]
- Package ์ค์น ํ ์ต์ด๋ก ์คํ ํด ์ฃผ์ด์ผ ํ๋ ๋ช ๋ น์ด๋ฑ์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
- COMM [shell command]
- ์์์ ๋ค๋ค๋ zicf ํ์ผ์ ๋ํ ์ดํด๊ฐ ์ถฉ๋ถ ํ ๊ฒฝ์ฐ, Package๋ฅผ ๋ง๋๋๋ฐ ์ด๋ ค์์ด ์์๊ฒ์ ๋๋ค.
- ํ์ง๋ง, ์ข ๋ ์ฌ์ด Package ์ ์์ ์ํด zicf๋ฅผ ์๋์ผ๋ก ์์ฑ ํด ์ฃผ๋ ๋ช ๋ น์ด๊ฐ ์์ต๋๋ค.
zinst_making_tool
Package ์ค์น ํ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
$ zinst i zinst_making_tool -stable
- Package๋ฅผ ์ ์ํ๊ณ ์ ํ๋ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก์์ ์๋์ ๊ฐ์ด ์ ๋ ฅ ํ์ฌ Package ์ ์์ ์ํ zicf๋ฅผ ์์ฑ ํด ์ค๋๋ค.
$ pkg_gen make
=== Please insert an information for the index file create ===
* [ Package name: Default=vipctl-1.0.5 ] =
! Notice: You only can use a package name with Alphabet, Number, _(underscore) combination
* [ Description] =
* [ 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 ] =
Do you have a required pacakge ?
* [ y/n : Default= n ]
- ์์ ๊ฐ์ด ๊ธฐ๋ณธ์ ์ธ ์ ๋ณด๋ฑ์ ๋ํ์ ์ ๋ ฅ์ผ๋ก ์ฒ๋ฆฌ ํฉ๋๋ค.
- ์ ์๋ zicf ํ์ผ์ ํตํด์ zinst package ์ ์์ ์งํ ํฉ๋๋ค.
$ zinst_creator vipctl.zicf
Making a package..... /data/vault/Source/vipctl-1.0.5/vipctl-1.0.5.zinst
TOTAL: 0.120000 sec
- ์ด๋ ํด๋น zicf๊ฐ ์๋ ๊ฒฝ๋ก์์ ์คํํ๋ฉฐ, ๋๋ ํ ๋ฆฌ ๊ตฌ๋ฌธ์๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.(ex. /home/test/aaa.zicf -> cd /home/test;zinst_creatore aaa.zicf)
- ํ์ฌ ์ค์น๊ฐ ๋ RPM package๋ฅผ zinst package๋ก con-version ํ ์ ์์ต๋๋ค.
$ rpm2zinst wget
##############################################################################
What you want package is wget-1.12-5.el6_6.1.x86_64 right? [ y / n ]
##############################################################################
y
##############################################################################
wget-1.12-5.el6_6.1.x86_64.tgz package has been created
##############################################################################
=== Please insert an information for the index file create ===
* [ Package name: Default=wget-1.12-5.el6_6.1.x86_64 ] =
! Notice: You only can use a package name with Alphabet, Number, _(underscore) combination
wget_custom
* [ Description] =
* [ 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 ] =
- โป ๋ฐ๋น์ ๊ณ์ด์์๋ deb2zinst๋ก ์ฌ์ฉ
- zinst๋ package ์ค์น ๋ด์ญ์ ๋ํ revision์ ๋ณ๋ ๊ด๋ฆฌ ํฉ๋๋ค.
- /[work_dir]/z/save ๊ฒฝ๋ก์๋ ์ค์น์ ๋ฐ๋ฅธ Package ๊ตฌ์ฑ ๋ฐ set ๊ตฌ์ฑ์ ๊ธฐ๋ก์ด ๋จ์ ์์ต๋๋ค.
work_dir
์ ์ผ๋ฐ์ ์ผ๋ก /data.save
file ํํ์ด๋ฉฐ, ์๋์ ๊ฐ์ต๋๋ค.
$ cat /data/z/save/zinst-save.99
# --- Last touched by ralf.yang ---
# --- Last command " zinst i sshpass -stable "
# Date: 2015.09.15_13:27:31
#
# zinst package installer all-configuration backup-list for the package restore
Package install asciinema-1.1.1.zinst
Package install docker_engine-1.7.1.zinst
Package install git_tool-1.0.1.zinst
Package install gs_nmap-0.0.1.zinst
Package install gs_nodejs-0.0.1.zinst
Package install ralfyang_account_policy-1.0.7.zinst
Package install ralfyang_authorize_client-1.0.2.zinst
Package install ralfyang_httpd_conf_pkgdist-1.0.3.zinst
Package install ralfyang_httpd_server-2.4.12.zinst
Package install hwconfig-1.3.3.zinst
Package install ldap_server-1.0.5.zinst
Package install libcgroup-0.4.0.zinst
Package install linux_kernel-3.10.25.zinst
Package install mysql_client_55-1.0.3.zinst
Package install package_tracker-1.0.6.zinst
Package install server_default_setting-1.2.8.zinst
Package install sshpass-1.0.5.zinst
Package install sudo_user_canopus-0.0.1.zinst
Package install sudo_user_gravity-0.0.1.zinst
Package install sudo_user_kim.so-0.0.1.zinst
Package install sudo_user_parkdy-0.0.1.zinst
Package install sudo_user_ralf.yang-0.0.2.zinst
Package install sudo_user_vivek-0.0.1.zinst
Package install user_account_creator-0.1.0.zinst
Package install user_canopus-0.0.1.zinst
Package install user_gravity-0.0.1.zinst
Package install user_kim.so-0.0.1.zinst
Package install user_parkdy-0.0.1.zinst
Package install user_ralf.yang-0.0.2.zinst
Package install user_vivek-0.0.1.zinst
Package install zinst_making_tool-1.2.3.zinst
- - -
Package setting server_default_setting.name1=8.8.8.8
Package setting server_default_setting.name2=168.126.63.1
Package setting package_tracker.RotateCycle=30
Package setting package_tracker.Downcheck=14
Package setting ralfyang_authorize_client.BaseDN=dc=gravity,dc=gs
Package setting zinst_making_tool.mailing=ralfyang.com
Package setting git_tool.Branch=gh-pages
Package setting hwconfig.nameserver1=8.8.8.8
Package setting hwconfig.nameserver2=168.126.63.1
Package setting ralfyang_httpd_conf_pkgdist.ServerName=package.dist.ralfyang.com
Package setting ralfyang_httpd_conf_pkgdist.DocumentRoot=/data/dist
Package setting ldap_server.BindDN="dc=gravity,dc=gs"
Package setting ralfyang_authorize_client.LDAPserver=192.168.59.104
- ์ save file์ ํตํด ํด๋น ์์ ์ ๋ง์ง๋ง์ผ๋ก ์คํ ๋ command์ ์ค์น๊ฐ ๋ ์ดํ์ package ๋ฐ ์ค์ ์ ๋ด์ญ์ ๊ธฐ๋กํ์ฌ ๋์์ต๋๋ค.
- ์ด๋ฅผ ๋ฐํ์ผ๋ก, package ๋ฐ set์ ๋๊ธฐํ ํ ์ ์์ต๋๋ค.
- ์๋ command๋ฅผ ํตํด
zinst-save.99
ํ์ผ์ด ๊ธฐ๋ก๋ ์์ ์ผ๋ก package ๊ตฌ์ฑ์ ๋๊ธฐํ ํ ์ ์์ต๋๋ค.
$ zinst sync -file ./zinst-save.99
=======================================================================================
= Target list for remove =
=======================================================================================
> Package remove vipctl-1.0.5.zinst
> Package setting vipctl.Check_file=l4-check.html
> Package setting vipctl.DIR=/data/src/html
> Package setting vipctl.name=DEFAULT
> Package setting vipctl.onboot=yes
> Package setting vipctl.vips=VIPS
=======================================================================================
=======================================================================================
= Target list for install & setting =
=======================================================================================
< Package install sshpass-1.0.5.zinst
=======================================================================================
=== Package & setting will be install & remove as upper list. Are sure ? === [y / n]
- ์ sync option์ ์ฌ์ฉ ํ์ ์,
save
ํ์ผ์ ๊ธฐ์ค์ผ๋ก, ๋ณ๊ฒฝ๋ด์ญ์ ์ ์ฉ ํด ์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. - ํ์ง๋ง restore๋ฅผ ์ฌ์ฉํ๋ฉด, ๊ธฐ์กด package๋ฅผ ๋ชจ๋ ์ญ์ ํ,
save
file์ ๊ธฐ์ค์ผ๋ก ์ฌ์ค์น๋ฅผ ์งํ ํฉ๋๋ค. - ์์
์๊ฐ ์ง์ conf ํ์ผ๋ฑ์ ์์ ํ์ฌ ์ด๋ ฅ ์ถ์ ์ด ๋ถ๊ฐ๋ฅํ ์ํ์์ ์ด๊ธฐํ ํ๋ ์ฉ๋๋ก
restore
๋ฅผ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
$ zinst restore -file ./zinst-save.107
zinst install asciinema-1.1.1.zinst
zinst install docker_engine-1.7.1.zinst
zinst install git_tool-1.0.1.zinst
zinst install gs_nmap-0.0.1.zinst
zinst install gs_nodejs-0.0.1.zinst
zinst install ralfyang_account_policy-1.0.7.zinst
zinst install ralfyang_authorize_client-1.0.2.zinst
zinst install ralfyang_httpd_conf_pkgdist-1.0.3.zinst
zinst install ralfyang_httpd_server-2.4.12.zinst
zinst install hwconfig-1.3.3.zinst
zinst install ldap_server-1.0.5.zinst
zinst install libcgroup-0.4.0.zinst
zinst install linux_kernel-3.10.25.zinst
zinst install mysql_client_55-1.0.3.zinst
zinst install package_tracker-1.0.6.zinst
zinst install server_default_set-1.2.8.zinst
zinst install sudo_user_canopus-0.0.1.zinst
zinst install sudo_user_gravity-0.0.1.zinst
zinst install sudo_user_kim.so-0.0.1.zinst
zinst install sudo_user_parkdy-0.0.1.zinst
zinst install sudo_user_ralf.yang-0.0.2.zinst
zinst install sudo_user_vivek-0.0.1.zinst
zinst install user_account_creator-0.1.0.zinst
zinst install user_canopus-0.0.1.zinst
zinst install user_gravity-0.0.1.zinst
zinst install user_kim.so-0.0.1.zinst
zinst install user_parkdy-0.0.1.zinst
zinst install user_ralf.yang-0.0.2.zinst
zinst install user_vivek-0.0.1.zinst
zinst install vipctl-1.0.5.zinst
zinst install zinst_making_tool-1.2.3.zinst
zinst set server_default_set.name1=8.8.8.8
zinst set server_default_set.name2=168.126.63.1
zinst set package_tracker.RotateCycle=30
zinst set package_tracker.Downcheck=14
zinst set ralfyang_authorize_client.BaseDN=dc=gravity,dc=gs
zinst set zinst_making_tool.mailing=ralfyang.com
zinst set git_tool.Branch=gh-pages
zinst set hwconfig.nameserver1=8.8.8.8
zinst set hwconfig.nameserver2=168.126.63.1
zinst set ralfyang_httpd_conf_pkgdist.ServerName=package.dist.ralfyang.com
zinst set ralfyang_httpd_conf_pkgdist.DocumentRoot=/data/dist
zinst set ldap_server.BindDN="dc=gravity,dc=gs"
zinst set ralfyang_authorize_client.LDAPserver=192.168.59.104
zinst set vipctl.name=DEFAULT
zinst set vipctl.vips=VIPS
zinst set vipctl.onboot=yes
zinst set vipctl.DIR=/data/src/html
zinst set vipctl.Check_file=l4-check.html
Do you want to restore as these list ? [ y / n ]
- zinst๋ฅผ Packageํ ํ์ฌ ๊ด๋ฆฌํ์๋ ๊ฐ์ฅ ๊ฐ์ ์ ๊ฐ๋ ๋ถ๋ถ์ด ์ด ๋ถ๋ถ ์ ๋๋ค.
- RPM๊ณผ ๋ค๋ฅด๊ฒ zinst๋ package๋ฅผ Staticํ๊ฒ๋ง ๊ด๋ฆฌ ํ์ง ์๊ณ , ๋์ ์ผ๋ก ์ค์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๊ฒ ์ ์ ๋์์ต๋๋ค.
zinst set
์ด๋ผ๋ command๋ฅผ ํตํด ๋ณ๊ฒฝ ๊ฐ๋ฅํ list๋ฅผ ์กฐํ ํ ์ ์์ต๋๋ค.
$ zinst set
package_tracker.RotateCycle=30
package_tracker.Downcheck=14
ralfyang_authorize_client.BaseDN=dc=gravity,dc=gs
zinst_making_tool.mailing=ralfyang.com
git_tool.Branch=gh-pages
hwconfig.nameserver1=211.44.62.40
hwconfig.nameserver2=168.126.63.1
ralfyang_httpd_conf_pkgdist.ServerName=package.dist.ralfyang.com
ralfyang_httpd_conf_pkgdist.DocumentRoot=/data/dist
ldap_server.BindDN="dc=gravity,dc=gs"
ralfyang_authorize_client.LDAPserver=192.168.59.104
vipctl.name=DEFAULT
vipctl.vips=VIPS
vipctl.onboot=yes
vipctl.DIR=/data/src/html
vipctl.Check_file=l4-check.html
- Set list์ ํ์ธ ํ ํด๋น ์ค์ ์ ๋ณ๊ฒฝ ํ ์ ์์ต๋๋ค. ์ด๋, zicf์ ๋ช
์๋
CONF
ํ์ผ์ ์ฐพ์๊ฐ์ ์๋์ผ๋ก ํด๋น ์ค์ ์ ๋ณ๊ฒฝ ์ ์ฉ ํฉ๋๋ค.
$ zinst set vipctl.vips=192.168.10.10
vipctl.vips=192.168.10.10
- ์์์ ๋ณด๋๊ฒ๊ณผ ๊ฐ์ด
vipctl
์ package๋ฅผ ๋ปํ๋ฉฐ, ๊ทธ ๋ค์.vips
๋ ํด๋น Package์์ ์ง์ ํ Virtual IP๋ฅผ ๋ฌด์์ผ๋ก ๋ฐ์ ๊ฒ์ธ๊ฐ ํ๋ ๋ณ์๋ฅผ ๋ปํฉ๋๋ค.=192.168.10.10
๋ ํด๋น ๋ณ์์ ํ ๋น ํ ๋ณ์ ๊ฐ์ ๋ปํฉ๋๋ค. - ์ ์์ ์ ํตํด์ ์ค์ ์ด ์๋์ ๊ฐ์ด ๋ณ๊ฒฝ ๋์์ต๋๋ค.
$ cat /data/conf/vipctl.conf
name=DEFAULT
vips=192.168.10.10
onboot=yes
DIR=/data/src/html
Check_file=l4-check.html
- ํด๋น set ๊ฐ์ผ ๋ฏธ๋ฆฌ ์๊ณ ์์์์๋ package ์ค์น ์, ์์ ์ ๋์์ ์คํ ํ ์ ์์ต๋๋ค.
$ zinst i vipctl -stable -set vipctl.vips=192.168.10.10 -set vipctl.name=test
===========================================================================
| vipctl-1.0.5.zinst | - Checked |
----- vipctl-1.0.5.zinst -----
Downloading...
######################################################################## 100.0%
[:: 1896 byte has been downloaded ::]
vipctl-1.0.5 package install ==>>>
/data/bin/vipctl
/data/src/html/.status
/data/var/status
--- File Initializing ...
--- Permission Initializing ...
--- Setting the Group ...
vipctl-1.0.5 package has been installed
vipctl.vips=192.168.10.10
vipctl.name=test
$ zinst set |grep vipctl
vipctl.onboot=yes
vipctl.DIR=/data/src/html
vipctl.Check_file=l4-check.html
vipctl.vips=192.168.10.10
vipctl.name=test
- ์ด์ฒ๋ผ ์ค์น์ ํจ๊ป set ๋ณ๊ฒฝ์ด ์์ ๊ฒฝ์ฐ
-set
์ผ๋ก ๊ตฌ๋ถ์ง์ด ์ค๋๋ค. ๋ณ๊ฒฝ ํ๊ณ ์ ํ๋ set์ด ๋ง์ ๊ฒฝ์ฐ, ๊ณ์ํด์-set
์ ๋ถ์ฌ์ ๋ณต์๊ฐ์ ์ค์ ์ ๋ณ๊ฒฝ ํ ์ ์์ต๋๋ค. - ์ ์ค์น ๊ณผ์ ์ ๋ณต์๊ฐ์ ์๋ฒ์ ์ ์ฉ ํ๊ณ ์ ํ ๋์๋
-h
option์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ๋์ ์ฅ๋น์ ์ ์ฉ ํ ์ ์์ต๋๋ค.
$ zinst i vipctl -stable -set vipctl.vips=192.168.10.10 -set vipctl.name=test -h 192.168.33.1[1-5]
- ์ค์น๋ Package์ cron scheduler๋ฅผ ํ์ธ ๋ฐ ์์ ํ ์ ์์ต๋๋ค.
$ zinst cront -u root -l
##package_tracker-1.0.6 Cron Scheduler
*/10 * * * * /data/bin/package_tracker #package_tracker
##package_tracker-1.0.6 Cron Scheduler
01 05 * * * /data/bin/accesslog_rotate #package_tracker
##package_tracker-1.0.6 Cron Scheduler
01 04 * * * /data/bin/track_purge.sh #package_tracker
##zinst_making_tool-1.2.3 Cron Scheduler
0 7 * * * /data/bin/indexmaker.sh #zinst_making_tool
- ์์ ์
$ zinst cront -u root -e
##package_tracker-1.0.6 Cron Scheduler
*/10 * * * * /data/bin/package_tracker #package_tracker
##package_tracker-1.0.6 Cron Scheduler
01 05 * * * /data/bin/accesslog_rotate #package_tracker
##package_tracker-1.0.6 Cron Scheduler
01 04 * * * /data/bin/track_purge.sh #package_tracker
##zinst_making_tool-1.2.3 Cron Scheduler
0 7 * * * /data/bin/indexmaker.sh #zinst_making_tool
~
~
- System Daemon์ ๊ฐ๋ ํ ์ ์๋๋ก ๋ณ๋์ option์ ํตํ command๋ฅผ ์ง์ ํฉ๋๋ค.
$ zinst start httpd
- ์ command๋
sudo service httpd start
ํํ๋ก ์ ํ๋์ด ์คํ ๋ฉ๋๋ค. - ์ฆ /etc/init.d/ ํ์์ ์๋ ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ daemon ๊ด๋ฆฌ ํ์ผ์ handling ํ ์ ์์ต๋๋ค.
- ์ด๋
-h
๋๋-H
option์ ํตํด ๋ค์์ ์ฅ๋น์ daemon์ ํ๋ฒ์ ๊ด๋ฆฌ ํ ์ ์๊ฒ ํด ์ค๋๋ค.
$ zinst start httpd -h 192.168.33.1[1-5]
- ์ผ๋ถ Package์ ๊ธฐ๋ฅ์ ๊ตฌํ์ ์ํด on/off command๋ฅผ ์ง์ํฉ๋๋ค.
- vipctl์ ๊ฒฝ์ฐ, L4-status check ํ์ผ์ ์ ์ด๋ฅผ ์ํด on/off command๋ฅผ ์ฌ์ฉ ํฉ๋๋ค.
$ zinst on vipctl
Status file - [ok]
- Zinst๋ฅผ ํตํด ์ ์ฉ๋ command๋
zinst hist
๋ฅผ ํตํด ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ ์ถ๋ ฅ์ ์ํ๋ ์ค ์๋ฅผ ์ ๋ ฅํ๋ฉด ํด๋น ์ซ์ ๋งํผ ์ถ๋ ฅํฉ๋๋ค.
$ zinst hist 100
2015.09.01_14:00:36 ralf.yang : + Install - user_canopus-0.0.1 -stable
2015.09.01_14:00:37 ralf.yang : + Install - sudo_user_canopus-0.0.1 -stable
2015.09.01_14:01:13 ralf.yang : * setup - ralfyang_authorize_client.LDAPserver=192.168.59.104
2015.09.01_14:01:24 ralf.yang : # Daemon restart - ldap_client
ralf.yang : # - Daemon Not working: [ OK ]
2015.09.03_11:15:59 ralf.yang : # Daemon stop - docker
ralf.yang : # - Daemon Not working:
2015.09.03_11:16:09 root : # Daemon stop - docker
root : # - Daemon Working: /data/bin/docker: no process killed
2015.09.03_11:16:10 ralf.yang : - Remove - docker_io-1.6.6
2015.09.03_11:16:30 ralf.yang : + Install - docker_engine-1.7.1
2015.09.03_11:17:15 ralf.yang : - Remove - docker_engine-1.7.1
2015.09.03_11:17:32 ralf.yang : + Install - libcgroup-0.4.0 -stable
2015.09.03_11:17:36 ralf.yang : + Install - docker_engine-1.7.1 -stable
2015.09.03_11:17:41 ralf.yang : # Daemon start - docker
ralf.yang : # - Daemon Working: [ OK ]
2015.09.03_11:39:45 ralf.yang : # Daemon stop - docker
ralf.yang : # - Daemon Not working: [ OK ]
2015.09.03_11:40:07 ralf.yang : + Install - docker_engine-1.7.1 -same
2015.09.03_11:40:17 ralf.yang : # Daemon start - docker
ralf.yang : # - Daemon Working: [ OK ]
2015.09.07_16:57:39 ralf.yang : # Daemon restart - httpd
ralf.yang : # - Daemon Working: [ OK ]
2015.09.08_09:10:27 ralf.yang : # Daemon start - docker
ralf.yang : # - Daemon Working: [ OK ]
2015.09.14_16:17:12 canopus : + Install - user_kim.so-0.0.1
2015.09.14_16:17:14 canopus : + Install - sudo_user_kim.so-0.0.1
2015.09.15_13:26:44 ralf.yang : + Install - sshpass-1.0.5 -stable
2015.09.15_19:18:05 ralf.yang : # Daemon on - vipctl
ralf.yang : # - Daemon Not working: Status file - [ok]
- package๋ฅผ ์ค์นํ๊ธฐ ์ด์ ์, ํด๋น package๊ฐ ์ค์ ๊ฐ๋ฅํ
set
๊ฐ์ด ์ด๋ค๊ฒ์ธ์ง ์๊ณ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ํด๋น package์ version์ ํฌํจํ full-name์ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
$ zinst getset hwconfig-1.3.3.zinst
hwconfig.nameserver1=211.44.62.40
hwconfig.nameserver2=168.126.63.1
- zinst private repository๋ฅผ ๊ตฌ์ถํ ๊ฒฝ์ฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํ command ์ ๋๋ค.
- ์์ฒด์ ์ผ๋ก zinst repo๋ฅผ ๊ตฌ์ถํ์ ์, ํด๋น repo๋ฅผ ํตํด ์ค์น ๋ package ๋ฐ ์ ์ฉ server์ ๋ํ ์กฐํ ๋ฐ ๋ด์ญ ์ถ๋ ฅ์ ์ง์ ํฉ๋๋ค.
$ zinst track
Package has been released to below list - Sort by ""
======================================================================================================
Host Package Date
======================================================================================================
110.52.167.188 ralfyang_deploy_agent-0.0.9.zinst [06/Aug/2015:20:12:48]
110.52.167.224 vipctl-1.0.5.zinst [06/Aug/2015:20:13:27]
110.52.167.224 ralfyang_deploy_agent-0.0.9.zinst [06/Aug/2015:20:13:29]
110.52.167.238 vipctl-1.0.5.zinst [06/Aug/2015:20:14:06]
110.52.167.238 ralfyang_deploy_agent-0.0.9.zinst [06/Aug/2015:20:14:08]
110.52.167.161 vipctl-1.0.5.zinst [06/Aug/2015:20:14:45]
110.52.167.161 ralfyang_deploy_agent-0.0.9.zinst [06/Aug/2015:20:14:46]
110.52.167.175 vipctl-1.0.5.zinst [06/Aug/2015:20:15:19]
110.52.167.175 ralfyang_deploy_agent-0.0.9.zinst [06/Aug/2015:20:15:21]
110.52.167.189 vipctl-1.0.5.zinst [06/Aug/2015:20:15:56]
110.52.167.189 ralfyang_deploy_agent-0.0.9.zinst [06/Aug/2015:20:15:57]
110.52.167.225 vipctl-1.0.5.zinst [06/Aug/2015:20:16:31]
110.52.167.225 ralfyang_deploy_agent-0.0.9.zinst [06/Aug/2015:20:16:33]
110.52.167.239 vipctl-1.0.5.zinst [06/Aug/2015:20:17:09]
110.53.15.171 vipctl-1.0.5.zinst [15/Sep/2015:18:14:48]
======================================================================================================
- ํน์ Package ๋ณ๋ก sort ๊ฐ๋ฅ ํฉ๋๋ค.
$ zinst track vipctl
======================================================================================================
Host Package Date
======================================================================================================
110.52.167.161 vipctl-1.0.5.zinst [06/Aug/2015:20:14:45]
110.52.167.175 vipctl-1.0.5.zinst [06/Aug/2015:20:15:19]
110.52.167.189 vipctl-1.0.5.zinst [06/Aug/2015:20:15:56]
110.52.167.225 vipctl-1.0.5.zinst [06/Aug/2015:20:16:31]
110.52.167.239 vipctl-1.0.5.zinst [06/Aug/2015:20:17:09]
======================================================================================================
- ํน์ Host๋ณ ์ค์น ๋ด์ญ ์กฐํ๋ฅผ ์ง์ ํฉ๋๋ค.
$ zinst track 110.52.167.189
Package has been released to below list - Sort by "110.52.167.189"
======================================================================================================
Host Package Date
======================================================================================================
110.52.167.189 hwconfig-1.3.3.zinst [05/Aug/2015:12:20:23]
110.52.167.189 server_default_setting-1.3.0.zinst [05/Aug/2015:12:20:24]
110.52.167.189 ralfyang_account_policy-1.0.7.zinst [05/Aug/2015:12:20:25]
110.52.167.189 ralfyang_authorize_client-1.0.6.zinst [05/Aug/2015:12:20:27]
110.52.167.189 hosts_file_creator-0.0.2.zinst [05/Aug/2015:20:07:09]
110.52.167.189 ralfyang_tomcat-7.0.33.zinst [06/Aug/2015:14:55:11]
110.52.167.189 ralfyang_jennifer_agent-0.0.2.zinst [06/Aug/2015:14:55:17]
110.52.167.189 ralfyang_jennifer_conf-0.0.2.zinst [06/Aug/2015:14:55:20]
110.52.167.189 vipctl-1.0.5.zinst [06/Aug/2015:20:15:56]
======================================================================================================
-file=
option์ ์ฌ์ฉํ์ฌ, package๊ฐ ์ ์ฉ ๋ Host๋ฅผ sortํ๊ณ ์ด๊ฒ์ Hostlist๋ก ์ ์ฅ ํ ์ ์์ต๋๋ค.
$ zinst track vipctl-1.0. -file=./aaa
======================================================================================================
Host Package Date
======================================================================================================
110.52.167.161 vipctl-1.0.5.zinst [06/Aug/2015:20:14:45]
110.52.167.175 vipctl-1.0.5.zinst [06/Aug/2015:20:15:19]
110.52.167.189 vipctl-1.0.5.zinst [06/Aug/2015:20:15:56]
110.52.167.225 vipctl-1.0.5.zinst [06/Aug/2015:20:16:31]
110.52.167.239 vipctl-1.0.5.zinst [06/Aug/2015:20:17:09]
======================================================================================================
Hostlist file has been created to ./aaa
======================================================================================================
$ cat ./aaa
110.52.167.161
110.52.167.175
110.52.167.189
110.52.167.225
110.52.167.239
- ์ถ๋ ฅ๋ Hostlist๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, update๋ฅผ ์งํ ํด์ผํ๋ package๊ฐ ์ ์ฉ ๋ ์๋ฒ๋ฅผ ์ถ์ถํ์ฌ ๋ณ๋ ์์ ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
$ zinst i vipctl-1.0.7.zinst -H ./aaa
- zinst ์์ฒด์ version์ update ๊ด๋ฆฌ ํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ์๋์ ๊ฐ์ด ์ ์ฉ ํฉ๋๋ค.
$ zinst self-update
Downloading...
######################################################################## 100.0%
[:: 87471 byte has been downloaded ::]
Zinst version 4.2.7
- Default ๋๋ ํ ๋ฆฌ๋ฅผ
/data
๋ก ํ์ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค.
/data
โ bin: Zinst Package ์ค์น๋ฅผ ํตํด ์คํ ํ์ผ์ด ์ ์ฅ๋๋ ์์น
โ conf: Zinst Package ์ค์น๋ฅผ ํตํด ์ค์ ํ์ผ์ด ์ ์ฅ๋๋ ์์น
โ dist: ์์ฒด Repository๋ฅผ ๊ตฌ์ถ ํ์ ์, Package๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ
โ checker: zinst package ์ค์น ์ ์์กด์ฑ ๋ฐ ์์ธ ์ ๋ณด๋ฅผ ๊ฒํ ํ๊ธฐ ์ํ zicf ์๊ฒฉ ์ ์ฅ์
โ track_110.52.164.250: track ๊ธฐ๋ฅ ํ์ฑํ ์, ํด๋น Repo์๋ Package ์ค์น ์ด๋ ฅ์ ํด๋น repo server์ IP๋ก ๊ตฌ๋ถํ์ฌ ์ ์ฅํจ
โ logs: ์ผ๋ฐ์ ์ผ๋ก package๋ฅผ ํตํด ์ค์น๋ ๋ฐ๋ชฌ์ด ์ด์์ log๋ฅผ ์ ์ฅ ํ๋ ์์น
โ src: Package์ ํฌํจ๋ ์ธ๋ถ ํ์ผ ๋ฑ์ ์์๋ก ์ ์ฅํ๋ ์์น
โ var: /var์ ๋์ผํ ์ฉ๋์ zinst ์์ฒด var
โ vault: Zinst ์์ฒด์ ๊ธฐ๋ฅ์ ์ด์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ Source ์ ์ฅ์
โ Source: ์ญ์ ๋ Package๋ฅผ ์ ์ธํ๊ณ , ํด๋น ์๋ฒ์ ์ค์น๋์๋ package ์ด๋ ฅ์ ๋ชจ๋ ์ ์ฅ
โ zinst: zinst set ๊ฐ์ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌํ๋ ์์น
โ index: Package ์ค์น์ ์์กด์ฑ ํ์ธ์ ์ํด zicf๋ฅผ ๋ค์ด๋ฐ๋ ์์น
โ z: Application ๋ฐ Linux System์ ์ปจํธ๋กค ํ๊ธฐ ์ํด /etc, /usr, /bin ๋ฑ์ ์ฌ๋ณผ๋ฆญ์ผ๋ก ๋งํฌ ํ ๊ฒฝ๋ก
โ zinst: ์ค์น๋ zinst package์ ์ต์ ๊ฒฝ๋ก๋ฅผ ์ฌ๋ณผ๋ฆญ์ผ๋ก ๋งํฌ๋ฅผ ๊ฑธ์ด๋ ๊ฒฝ๋ก
- package_tracker