зеркало из
				https://github.com/limosek/zaf.git
				synced 2025-11-04 03:27:37 +01:00 
			
		
		
		
	Reworked install and shift parameters
Этот коммит содержится в:
		@@ -51,13 +51,13 @@ Next to this, you can pass ANY zaf config options by *ZAF_* prefix. Interresting
 | 
			
		||||
 ZAF_GIT='1'# Default
 | 
			
		||||
 | 
			
		||||
 # Git repository. Can be your local version
 | 
			
		||||
 ZAF_PLUGINS_GITURL='https://github.com/limosek/zaf-plugins.git'
 | 
			
		||||
 ZAF_REPO_GITURL='https://github.com/limosek/zaf-plugins.git'
 | 
			
		||||
 | 
			
		||||
 # Where to install plugins
 | 
			
		||||
 ZAF_PLUGINS_DIR='/usr/lib/zaf/plugins'
 | 
			
		||||
 | 
			
		||||
 # Plugins can be downloaded from http[s] too
 | 
			
		||||
 ZAF_PLUGINS_URL='https://raw.githubusercontent.com/limosek/zaf-plugins/master/'
 | 
			
		||||
 ZAF_REPO_URL='https://raw.githubusercontent.com/limosek/zaf-plugins/master/'
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@@ -72,7 +72,7 @@ curl -k https://raw.githubusercontent.com/limosek/zaf/1.0/install.sh | sh -s aut
 | 
			
		||||
  Z_Server=zabbix.server.local \
 | 
			
		||||
  Z_ServerActive=zabbix.server.local \
 | 
			
		||||
  Z_HostnameItem=system.hostname Z_RefreshActiveChecks=60 \
 | 
			
		||||
  ZAF_PLUGINS_GITURL="git://gitserver.local"
 | 
			
		||||
  ZAF_REPO_GITURL="git://gitserver.local"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Packaged version
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
ZAF_PKG='dpkg'
 | 
			
		||||
ZAF_AGENT_PKG='zabbix-agent'
 | 
			
		||||
ZAF_TMP_BASE='/tmp/zaf'
 | 
			
		||||
ZAF_LIB_DIR='/usr/lib/zaf'
 | 
			
		||||
ZAF_BIN_DIR='/usr/bin'
 | 
			
		||||
ZAF_PLUGINS_DIR='/usr/lib/zaf/plugins'
 | 
			
		||||
ZAF_PLUGINS_URL='https://raw.githubusercontent.com/limosek/zaf-plugins/master/'
 | 
			
		||||
ZAF_PLUGINS_GITURL='https://github.com/limosek/zaf-plugins.git'
 | 
			
		||||
ZAF_REPO_DIR='/usr/lib/zaf/repo'
 | 
			
		||||
ZAF_AGENT_CONFIGD='/etc/zabbix/zabbix_agentd.d'
 | 
			
		||||
ZAF_AGENT_BIN='/usr/sbin/zabbix_agentd'
 | 
			
		||||
ZAF_AGENT_RESTART='service zabbix-agent restart'
 | 
			
		||||
							
								
								
									
										19
									
								
								install.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								install.sh
									
									
									
									
									
								
							@@ -99,9 +99,10 @@ zaf_set_option(){
 | 
			
		||||
	local description
 | 
			
		||||
	if ! grep -q "^$1=" ${ZAF_CFG_FILE}; then
 | 
			
		||||
		echo "$1='$2'" >>${ZAF_CFG_FILE}
 | 
			
		||||
		zaf_dbg "Saving $1 to $2 in ${ZAF_CFG_FILE}" >&2
 | 
			
		||||
		zaf_dbg "Saving $1 to $2 in ${ZAF_CFG_FILE}"
 | 
			
		||||
	else
 | 
			
		||||
		zaf_wrn "Preserving $1 to $2 in ${ZAF_CFG_FILE}" >&2
 | 
			
		||||
		sed -i "s#^$1=\(.*\)#$1='$2'#" ${ZAF_CFG_FILE}
 | 
			
		||||
		zaf_dbg "Changing $1 to $2 in ${ZAF_CFG_FILE}"
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -215,8 +216,8 @@ zaf_configure(){
 | 
			
		||||
	zaf_get_option ZAF_LIB_DIR "Libraries directory" "/usr/lib/zaf" "$INSTALL_MODE"
 | 
			
		||||
        zaf_get_option ZAF_BIN_DIR "Directory to put binaries" "/usr/bin" "$INSTALL_MODE"
 | 
			
		||||
	zaf_get_option ZAF_PLUGINS_DIR "Plugins directory" "${ZAF_LIB_DIR}/plugins" "$INSTALL_MODE"
 | 
			
		||||
	[ "${ZAF_GIT}" = 1 ] && zaf_get_option ZAF_PLUGINS_GITURL "Git plugins repository" "https://github.com/limosek/zaf-plugins.git" "$INSTALL_MODE"
 | 
			
		||||
	zaf_get_option ZAF_PLUGINS_URL "Plugins http[s] repository" "https://raw.githubusercontent.com/limosek/zaf-plugins/master/" "$INSTALL_MODE"
 | 
			
		||||
	[ "${ZAF_GIT}" = 1 ] && zaf_get_option ZAF_REPO_GITURL "Git plugins repository" "https://github.com/limosek/zaf-plugins.git" "$INSTALL_MODE"
 | 
			
		||||
	zaf_get_option ZAF_REPO_URL "Plugins http[s] repository" "https://raw.githubusercontent.com/limosek/zaf-plugins/master/" "$INSTALL_MODE"
 | 
			
		||||
	zaf_get_option ZAF_REPO_DIR "Plugins directory" "${ZAF_LIB_DIR}/repo" "$INSTALL_MODE"
 | 
			
		||||
	zaf_get_option ZAF_AGENT_CONFIG "Zabbix agent config" "/etc/zabbix/zabbix_agentd.conf" "$INSTALL_MODE"
 | 
			
		||||
	! [ -d "${ZAF_AGENT_CONFIGD}" ] && [ -d "/etc/zabbix/zabbix_agentd.d" ] && ZAF_AGENT_CONFIGD="/etc/zabbix/zabbix_agentd.d"
 | 
			
		||||
@@ -243,15 +244,14 @@ zaf_configure(){
 | 
			
		||||
	zaf_set_option ZAF_LIB_DIR "$ZAF_LIB_DIR"
 | 
			
		||||
        zaf_set_option ZAF_BIN_DIR "$ZAF_BIN_DIR"
 | 
			
		||||
	zaf_set_option ZAF_PLUGINS_DIR "$ZAF_PLUGINS_DIR"
 | 
			
		||||
	zaf_set_option ZAF_PLUGINS_URL "$ZAF_PLUGINS_URL"
 | 
			
		||||
	[ "${ZAF_GIT}" = 1 ] && zaf_set_option ZAF_PLUGINS_GITURL "$ZAF_PLUGINS_GITURL"
 | 
			
		||||
	zaf_set_option ZAF_REPO_URL "$ZAF_REPO_URL"
 | 
			
		||||
	[ "${ZAF_GIT}" = 1 ] && zaf_set_option ZAF_REPO_GITURL "$ZAF_REPO_GITURL"
 | 
			
		||||
	zaf_set_option ZAF_REPO_DIR "$ZAF_REPO_DIR"
 | 
			
		||||
	zaf_set_option ZAF_AGENT_CONFIG "$ZAF_AGENT_CONFIG"
 | 
			
		||||
	zaf_set_option ZAF_AGENT_CONFIGD "$ZAF_AGENT_CONFIGD"
 | 
			
		||||
	zaf_set_option ZAF_AGENT_BIN "$ZAF_AGENT_BIN"
 | 
			
		||||
	zaf_set_option ZAF_AGENT_RESTART "$ZAF_AGENT_RESTART"
 | 
			
		||||
	[ -n "$ZAF_PREPACKAGED_DIR" ] && zaf_set_option ZAF_PREPACKAGED_DIR "$ZAF_PREPACKAGED_DIR"
 | 
			
		||||
	ZAF_TMP_DIR="${ZAF_TMP_BASE}-${USER}-$$"
 | 
			
		||||
 | 
			
		||||
	if zaf_is_root; then
 | 
			
		||||
        	zaf_configure_agent $ZAF_AGENT_OPTIONS "$@"
 | 
			
		||||
@@ -274,7 +274,6 @@ zaf_install_all() {
 | 
			
		||||
		zaf_install_bin $i ${ZAF_BIN_DIR}/
 | 
			
		||||
	done
 | 
			
		||||
	zaf_install_dir ${ZAF_PLUGINS_DIR}
 | 
			
		||||
	zaf_install_dir ${ZAF_TMP_DIR}/p/zaf
 | 
			
		||||
	zaf_install_dir ${ZAF_PLUGINS_DIR}
 | 
			
		||||
        zaf_install_dir ${ZAF_BIN_DIR}
 | 
			
		||||
}
 | 
			
		||||
@@ -291,7 +290,7 @@ zaf_postconfigure() {
 | 
			
		||||
		exit 1
 | 
			
		||||
            fi
 | 
			
		||||
	else
 | 
			
		||||
	    [ "${ZAF_GIT}" = 1 ] && [ -n  "${INSTALL_PREFIX}" ] && git clone "${ZAF_PLUGINS_GITURL}" "${INSTALL_PREFIX}/${ZAF_REPO_DIR}"
 | 
			
		||||
	    [ "${ZAF_GIT}" = 1 ] && [ -n  "${INSTALL_PREFIX}" ] && git clone "${ZAF_REPO_GITURL}" "${INSTALL_PREFIX}/${ZAF_REPO_DIR}"
 | 
			
		||||
        fi
 | 
			
		||||
	zaf_wrn "Install done. Use 'zaf' to get started."
 | 
			
		||||
	true
 | 
			
		||||
@@ -300,7 +299,7 @@ zaf_postconfigure() {
 | 
			
		||||
if [ -f "${ZAF_CFG_FILE}" ]; then
 | 
			
		||||
	. "${ZAF_CFG_FILE}"
 | 
			
		||||
fi
 | 
			
		||||
ZAF_TMP_DIR="${ZAF_TMP_BASE-/tmp/zaf}-${USER}-$$"
 | 
			
		||||
ZAF_TMP_DIR="/tmp/zaf-installer/"
 | 
			
		||||
 | 
			
		||||
# If debug is on, do not remove tmp dir 
 | 
			
		||||
if [ "$ZAF_DEBUG" -le 3 ]; then
 | 
			
		||||
 
 | 
			
		||||
@@ -71,12 +71,13 @@ zaf_ctrl_get_item_option() {
 | 
			
		||||
zaf_ctrl_check_deps() {
 | 
			
		||||
	local deps
 | 
			
		||||
	deps=$(zaf_ctrl_get_global_block <$1 | zaf_block_get_option "Depends-${ZAF_PKG}" )
 | 
			
		||||
	zaf_os_specific zaf_check_deps $deps
 | 
			
		||||
	if ! zaf_os_specific zaf_check_deps $deps; then
 | 
			
		||||
		zaf_err "Missing one of dependend system packages: $deps"
 | 
			
		||||
	fi
 | 
			
		||||
	deps=$(zaf_ctrl_get_global_block <$1 | zaf_block_get_option "Depends-bin" )
 | 
			
		||||
	for cmd in $deps; do
 | 
			
		||||
		if ! which $cmd >/dev/null; then
 | 
			
		||||
			zaf_wrn "Missing binary dependency $cmd. Please install it first."
 | 
			
		||||
                        return 1
 | 
			
		||||
			zaf_err "Missing binary dependency $cmd. Please install it first."
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -147,7 +147,7 @@ zaf_check_deps_rpm() {
 | 
			
		||||
zaf_check_deps_opkg() {
 | 
			
		||||
	local p
 | 
			
		||||
	for p in $*; do
 | 
			
		||||
		opkg info $p | grep -q 'Package:' || { echo "Missing package $p" >&2; return 1; }
 | 
			
		||||
		opkg info $p | grep -q 'Package:' || { return 1; }
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -156,7 +156,7 @@ zaf_check_deps_opkg() {
 | 
			
		||||
zaf_check_deps_pkg() {
 | 
			
		||||
	local p
 | 
			
		||||
	for p in $*; do
 | 
			
		||||
		pkg query -x "Package: %n" $p| grep -q 'Package:' || { echo "Missing package $p" >&2; return 1; }
 | 
			
		||||
		pkg query -x "Package: %n" $p| grep -q 'Package:' || { return 1; }
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -144,10 +144,10 @@ zaf_check_agent_config() {
 | 
			
		||||
# Update repo
 | 
			
		||||
zaf_update_repo() {
 | 
			
		||||
	[ "$ZAF_GIT" != 1 ] && { zaf_err "Git is disabled or is not installed. Exiting."; }
 | 
			
		||||
	if [ -z "${ZAF_PLUGINS_GITURL}" ] || [ -z "${ZAF_REPO_DIR}" ]; then
 | 
			
		||||
	if [ -z "${ZAF_REPO_GITURL}" ] || [ -z "${ZAF_REPO_DIR}" ]; then
 | 
			
		||||
		zaf_err "This system is not configured for git repository."
 | 
			
		||||
	else
 | 
			
		||||
		[ ! -d "${ZAF_REPO_DIR}" ] && git clone "${ZAF_PLUGINS_GITURL}" "${ZAF_REPO_DIR}"
 | 
			
		||||
		[ ! -d "${ZAF_REPO_DIR}" ] && git clone "${ZAF_REPO_GITURL}" "${ZAF_REPO_DIR}"
 | 
			
		||||
		(cd ${ZAF_REPO_DIR} && git pull)
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
@@ -171,7 +171,11 @@ zaf_get_plugin_url() {
 | 
			
		||||
				if [ -n "${ZAF_PREPACKAGED_DIR}" ] &&  [ -d "${ZAF_PREPACKAGED_DIR}/$1" ]; then
 | 
			
		||||
					url="${ZAF_PREPACKAGED_DIR}/$1"
 | 
			
		||||
				else
 | 
			
		||||
					zaf_err "Plugin $1 not found."
 | 
			
		||||
					if [ -n "${ZAF_REPO_URL}" ]; then
 | 
			
		||||
						url="${ZAF_REPO_URL}/$1" 
 | 
			
		||||
					else
 | 
			
		||||
						zaf_err "Cannot find plugin $1"
 | 
			
		||||
					fi
 | 
			
		||||
				fi
 | 
			
		||||
			fi
 | 
			
		||||
		fi
 | 
			
		||||
@@ -183,6 +187,7 @@ zaf_get_plugin_url() {
 | 
			
		||||
zaf_plugin_info() {
 | 
			
		||||
	local control="$1"
 | 
			
		||||
 | 
			
		||||
	! [ -f "$control" ] && zaf_err "Control file $control not found."
 | 
			
		||||
	plugin=$(zaf_ctrl_get_global_block <"${control}" | zaf_block_get_option Plugin)
 | 
			
		||||
	pdescription=$(zaf_ctrl_get_global_block <"${control}" | zaf_block_get_moption Description)
 | 
			
		||||
	pmaintainer=$(zaf_ctrl_get_global_block <"${control}" | zaf_block_get_option Maintainer)
 | 
			
		||||
@@ -209,7 +214,7 @@ zaf_prepare_plugin() {
 | 
			
		||||
	local plugindir
 | 
			
		||||
	local control
 | 
			
		||||
 | 
			
		||||
	url=$(zaf_get_plugin_url "$1")/control.zaf
 | 
			
		||||
	url=$(zaf_get_plugin_url "$1")/control.zaf || exit $?
 | 
			
		||||
	plugindir="$2"
 | 
			
		||||
	control=${plugindir}/control.zaf
 | 
			
		||||
	zaf_install_dir "$plugindir"
 | 
			
		||||
@@ -217,7 +222,7 @@ zaf_prepare_plugin() {
 | 
			
		||||
	if zaf_fetch_url "$url" >"${control}"; then
 | 
			
		||||
		zaf_ctrl_check_deps "${control}"
 | 
			
		||||
	else
 | 
			
		||||
		zaf_err "Cannot fetch or write control file!"
 | 
			
		||||
		zaf_err "prepare_plugin: Cannot fetch or write control file $control from url $url!"
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -231,7 +236,7 @@ zaf_install_plugin() {
 | 
			
		||||
		url=$(zaf_get_plugin_url "$1")
 | 
			
		||||
                plugin=$(zaf_ctrl_get_global_block <"${ZAF_TMP_DIR}/plugin/control.zaf" | zaf_block_get_option Plugin)
 | 
			
		||||
		plugindir="${ZAF_PLUGINS_DIR}"/$plugin
 | 
			
		||||
		if zaf_prepare_plugin "$1" $plugindir; then
 | 
			
		||||
		if [ -n "$plugin" ] && zaf_prepare_plugin "$1" $plugindir; then
 | 
			
		||||
			control=${plugindir}/control.zaf
 | 
			
		||||
			[ "$ZAF_DEBUG" -gt 0 ] && zaf_plugin_info "${control}"
 | 
			
		||||
			zaf_ctrl_check_deps "${control}"
 | 
			
		||||
@@ -240,7 +245,7 @@ zaf_install_plugin() {
 | 
			
		||||
			  | zaf_far '{PLUGINDIR}' "${plugindir}" >${ZAF_AGENT_CONFIGD}/zaf_${plugin}.conf
 | 
			
		||||
			zaf_dbg "Generated ${ZAF_AGENT_CONFIGD}/zaf_${plugin}.conf"
 | 
			
		||||
		else
 | 
			
		||||
			zaf_err "Cannot install plugin $plugin to $plugindir!"
 | 
			
		||||
			zaf_err "Cannot install plugin '$plugin' to $plugindir!"
 | 
			
		||||
		fi
 | 
			
		||||
        else
 | 
			
		||||
            	zaf_err "Cannot prepare plugin $1"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										82
									
								
								zaf
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								zaf
									
									
									
									
									
								
							@@ -19,6 +19,7 @@ done
 | 
			
		||||
[ -z "$ZAF_TMP_BASE" ] && ZAF_TMP_BASE=/tmp/zaf
 | 
			
		||||
ZAF_TMP_DIR="${ZAF_TMP_BASE}-${USER}"
 | 
			
		||||
[ -z "$ZAF_DEBUG" ] && ZAF_DEBUG=1
 | 
			
		||||
export ZAF_DEBUG
 | 
			
		||||
 | 
			
		||||
# If debug is on, do not remove tmp dir 
 | 
			
		||||
if [ "$ZAF_DEBUG" -le 3 ]; then
 | 
			
		||||
@@ -39,6 +40,25 @@ else
 | 
			
		||||
[ -f ${ZAF_LIB_DIR}/zaf.${ZAF_OS}.sh ] && . ${ZAF_LIB_DIR}/zaf.${ZAF_OS}.sh
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
zaf_shift(){
 | 
			
		||||
	local s
 | 
			
		||||
 | 
			
		||||
	if echo $1 |grep -q "="; then
 | 
			
		||||
		if echo $2 |grep -q "="; then
 | 
			
		||||
			if echo $3 |grep -q "="; then
 | 
			
		||||
				s=3
 | 
			
		||||
			else
 | 
			
		||||
				s=2
 | 
			
		||||
			fi
 | 
			
		||||
		else
 | 
			
		||||
			s=1
 | 
			
		||||
		fi
 | 
			
		||||
	else
 | 
			
		||||
		s=0
 | 
			
		||||
	fi
 | 
			
		||||
	echo $s
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
 | 
			
		||||
check-agent-config)
 | 
			
		||||
@@ -46,24 +66,25 @@ check-agent-config)
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
update)
 | 
			
		||||
	zaf_wrn "Updating repository ${ZAF_PLUGINS_GITURL}..."
 | 
			
		||||
	zaf_wrn "Updating repository ${ZAF_REPO_GITURL}..."
 | 
			
		||||
	zaf_update_repo
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
show)
 | 
			
		||||
	if [ -z "$2" ]; then
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	if [ -z "$1" ]; then
 | 
			
		||||
		zaf_list_plugins | while read plugin; do
 | 
			
		||||
			zaf_plugin_info $ZAF_PLUGINS_DIR/$plugin/control.zaf
 | 
			
		||||
		done
 | 
			
		||||
	else		
 | 
			
		||||
		if zaf_list_plugins | grep -q "^$2"; then
 | 
			
		||||
			zaf_plugin_info $ZAF_PLUGINS_DIR/$2/control.zaf
 | 
			
		||||
	else
 | 
			
		||||
		if zaf_list_plugins | grep -q "^$1"; then
 | 
			
		||||
			[ -f $ZAF_PLUGINS_DIR/$1/control.zaf ] && zaf_plugin_info $ZAF_PLUGINS_DIR/$1/control.zaf || zaf_err "Plugin $1 not installed."
 | 
			
		||||
		else
 | 
			
		||||
			if echo $2 |grep -q ^http; then
 | 
			
		||||
				zaf_prepare_plugin "$2" "$ZAF_TMP_DIR/plugin"
 | 
			
		||||
			if echo $1 |grep -q ^http; then
 | 
			
		||||
				zaf_prepare_plugin "$1" "$ZAF_TMP_DIR/plugin"
 | 
			
		||||
				zaf_plugin_info "$ZAF_TMP_DIR/plugin/control.zaf"
 | 
			
		||||
			else
 | 
			
		||||
				zaf_err "Plugin $2 not installed."
 | 
			
		||||
				zaf_err "Plugin $1 not installed."
 | 
			
		||||
			fi
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
@@ -74,37 +95,39 @@ plugins)
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
items)
 | 
			
		||||
	if [ -z "$2" ]; then
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	if [ -z "$1" ]; then
 | 
			
		||||
		zaf_list_items
 | 
			
		||||
	else
 | 
			
		||||
		zaf_list_plugin_items "$2"
 | 
			
		||||
		zaf_list_plugin_items "$1"
 | 
			
		||||
	fi
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
test)
 | 
			
		||||
	if echo $2|grep -q '\.'; then
 | 
			
		||||
		zaf_test_item "$2"
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	if echo $1|grep -q '\.'; then
 | 
			
		||||
		zaf_test_item "$1"
 | 
			
		||||
		exit
 | 
			
		||||
	fi
 | 
			
		||||
	if [ -n "$2" ]; then
 | 
			
		||||
		shift
 | 
			
		||||
	if [ -n "$1" ]; then
 | 
			
		||||
		plugins="$@"
 | 
			
		||||
	else
 | 
			
		||||
		plugins="$(zaf_list_plugins)"
 | 
			
		||||
	fi
 | 
			
		||||
	for p in $plugins; do
 | 
			
		||||
		! zaf_is_plugin $p && zaf_err "Unknown plugin $p"
 | 
			
		||||
		for i in $(zaf_list_plugin_items $p); do 
 | 
			
		||||
			echo $i: $(zaf_test_item $i)
 | 
			
		||||
		done
 | 
			
		||||
	done
 | 
			
		||||
	;;
 | 
			
		||||
get)
 | 
			
		||||
	if echo $2|grep -q '\.'; then
 | 
			
		||||
		zaf_get_item "$2"
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	if echo $1|grep -q '\.'; then
 | 
			
		||||
		zaf_get_item "$1"
 | 
			
		||||
		exit
 | 
			
		||||
	fi
 | 
			
		||||
	if [ -n "$2" ]; then
 | 
			
		||||
		shift
 | 
			
		||||
	if [ -n "$1" ]; then
 | 
			
		||||
		plugins="$@"
 | 
			
		||||
	else
 | 
			
		||||
		plugins="$(zaf_list_plugins)"
 | 
			
		||||
@@ -116,7 +139,7 @@ get)
 | 
			
		||||
	done
 | 
			
		||||
	;;
 | 
			
		||||
install)
 | 
			
		||||
	shift;
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	[ -z "$1" ] && echo "$0 install plugin [plugin]..."
 | 
			
		||||
	for p in $@; do
 | 
			
		||||
		if zaf_is_plugin "$p"; then
 | 
			
		||||
@@ -130,7 +153,8 @@ install)
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
reinstall)
 | 
			
		||||
	shift;
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	shift
 | 
			
		||||
	[ -z "$1" ] && echo "$0 reinstall plugin [plugin]..."
 | 
			
		||||
	for p in $@; do
 | 
			
		||||
		if zaf_is_plugin "$p"; then
 | 
			
		||||
@@ -144,7 +168,7 @@ reinstall)
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
remove)
 | 
			
		||||
	shift;
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	[ -z "$1" ] && echo "$0 remove plugin [plugin]..."
 | 
			
		||||
	for p in $@; do
 | 
			
		||||
		if zaf_is_plugin "$p"; then
 | 
			
		||||
@@ -156,26 +180,23 @@ remove)
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
self-upgrade)
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	zaf_os_specific zaf_check_deps zaf && zaf_err "Zaf is installed as system package. Cannot self-upgrade."
 | 
			
		||||
	rm -rf /tmp/zaf-installer && mkdir /tmp/zaf-installer
 | 
			
		||||
	if ! which curl >/dev/null;
 | 
			
		||||
	then
 | 
			
		||||
		zaf_err "Curl not found. Cannot continue. Please install it."
 | 
			
		||||
	fi
 | 
			
		||||
	[ -z "$2" ] && auto=auto
 | 
			
		||||
	set -e
 | 
			
		||||
	mkdir -p /tmp/zaf-installer \
 | 
			
		||||
	&& cd /tmp/zaf-installer \
 | 
			
		||||
	&& (for i in lib/zaf.lib.sh lib/os.lib.sh lib/ctrl.lib.sh install.sh ; do echo  curl -f -k -s -L -o - "$ZAF_URL/$i" >&2; curl -f -k -s -L -o - "$ZAF_URL/$i"; done) >install.sh \
 | 
			
		||||
	&& chmod +x install.sh \
 | 
			
		||||
	&& exec ./install.sh $auto "$@"
 | 
			
		||||
	[ -z "$1" ] && auto=auto
 | 
			
		||||
	zaf_fetch_url $ZAF_URL/$ZAF_VERSION/install.sh | exec sh -s "$@"
 | 
			
		||||
	exit
 | 
			
		||||
	;;
 | 
			
		||||
	
 | 
			
		||||
self-remove)
 | 
			
		||||
	shift $(zaf_shift "$@")
 | 
			
		||||
	zaf_os_specific zaf_check_deps zaf && zaf_err "Zaf is installed as system package. Cannot self-remove."
 | 
			
		||||
	. /etc/zaf.conf
 | 
			
		||||
	if [ "$2" = "force" ]; then
 | 
			
		||||
	if [ "$1" = "force" ]; then
 | 
			
		||||
	  rm -rf /etc/zaf.conf ${ZAF_PLUGINS_DIR} ${ZAF_REPO_DIR} ${ZAF_LIB_DIR} \
 | 
			
		||||
		${ZAF_BIN_DIR}/zaf ${ZAF_AGENT_CONFIGD}/zaf_*
 | 
			
		||||
	else
 | 
			
		||||
@@ -190,6 +211,8 @@ self-remove)
 | 
			
		||||
 | 
			
		||||
*)
 | 
			
		||||
	echo "$0 Version ${ZAF_VERSION}. Please use some of this commands:"
 | 
			
		||||
	echo "$0 Cmd [ZAF_OPTION=value] ..."
 | 
			
		||||
	echo "Commands:"
 | 
			
		||||
	echo "$0 update			To update repo" 
 | 
			
		||||
	echo "$0 plugins		To list installed plugins"
 | 
			
		||||
	echo "$0 show [plugin]		To show installed plugins or plugin info"
 | 
			
		||||
@@ -200,6 +223,7 @@ self-remove)
 | 
			
		||||
	echo "$0 remove plugin		To remove plugin" 
 | 
			
		||||
	echo "$0 self-upgrade		To self-upgrade zaf"
 | 
			
		||||
	echo "$0 self-remove		To self-remove zaf and its config"
 | 
			
		||||
	echo
 | 
			
		||||
	;;
 | 
			
		||||
 | 
			
		||||
esac
 | 
			
		||||
 
 | 
			
		||||
		Ссылка в новой задаче
	
	Block a user