CasperSecurity

Current Path : /var/lib/dpkg/info/
Upload File :
Current File : /var/lib/dpkg/info/dash.postinst

#!/bin/dash
set -e

# $1: dfile, $2: link target, $3: distrib
replace_with_link() {
	dfile="$DPKG_ROOT$1"; ltarget=$2; distrib="$DPKG_ROOT$3"
	temp="$dfile.tmp"
	# Safely create a symlink to $ltarget at $dfile, first
	# making a backup of $dfile (the file being diverted)
	# in $distrib (if specified).
	#
	# The cp / ln -s / mv dance avoids having to live without
	# $dfile (think: /bin/sh) for even a moment, so applications
	# running in parallel can continue without trouble.
	# See dash.preinst for details.
	if [ -n "$distrib" ] && [ -e "$dfile" ]; then
		cp -dp "$dfile" "$distrib"
	fi
	ln -sf "$ltarget" "$temp"
	mv -f "$temp" "$dfile"
}

claim_binsh() {
	dfile=$1 ltarget=$2 distrib=${3:-$dfile.distrib}
	diverter=$(dpkg-divert --listpackage $dfile)
	truename=$(dpkg-divert --truename $dfile)

	if [ "$diverter" = dash ]; then
		# good.
		return
	fi

	if [ "$diverter" = LOCAL ]; then
		# The sysadmin wants it this way.  Who am I to argue?
		return
	fi

	if [ -n "$diverter" ] && [ "$diverter" != bash ]; then
		# Let dpkg-divert error out; we are not taking
		# over the diversion, unless we added it
		# ourselves on behalf of bash.
		dpkg-divert --package dash --no-rename --remove $dfile
		echo "This should never be reached"
		exit 1
	fi

	dpkg-divert --package bash --no-rename --remove $dfile
	dpkg-divert --package dash --no-rename --divert $distrib --add $dfile
	# remove the old equivalent of $distrib, if it existed.
	if [ -n "$DPKG_ROOT$truename" ]; then
	       rm -f "$DPKG_ROOT$truename"
	fi
	replace_with_link $dfile $ltarget $distrib
}

unclaim_binsh() {
	dfile=$1 ltarget=$2 distrib=${3:-$dfile.distrib}
	diverter=$(dpkg-divert --listpackage $dfile)
	truename=$(dpkg-divert --truename $dfile)

	if [ "$diverter" != dash ]; then
		# good.
		return
	fi

	# Donate the diversion and sh symlink to the bash package.
	ltarget=$(echo $ltarget | sed s/dash/bash/)
	dpkg-divert --package dash --no-rename --remove $dfile
	dpkg-divert --package bash --no-rename --divert $distrib --add $dfile
	if [ -n "$truename" ]; then
		rm -f "$truename"
	fi
	replace_with_link $dfile $ltarget $distrib
}

initial_binsh_setup() {
	dfile=$1 ltarget=$2 distrib=${3:-$dfile.distrib} ashfile=$4
	diverter=$(dpkg-divert --listpackage $dfile)
	truename=$(dpkg-divert --truename $dfile)

	if [ -z "$diverter" ]; then
		# good.
		return
	fi

	if [ "$diverter" = ash ]; then
		dpkg-divert --package ash --no-rename --remove $dfile
		dpkg-divert --package dash --no-rename --divert $distrib --add $dfile

		if [ "$truename" != "$distrib" ] && [ -e "$truename" ]; then
			mv "$truename" "$distrib"
		fi
		replace_with_link $dfile $ltarget
		return
	fi

	if
		[ -h $dfile ] &&
		[ -f $dfile ] &&
		[ -f $ashfile ] &&
		cmp $dfile $ashfile
	then
		replace_with_link $dfile $ltarget
	fi
}

add_shell() {
	if ! type add-shell > /dev/null 2>&1; then
		return
	fi

	add-shell /bin/dash
}

debconf=
if [ -f /usr/share/debconf/confmodule ]; then
	. /usr/share/debconf/confmodule
	debconf=yes
fi

if [ "$1" = configure ] && [ -z "$2" ]; then
	initial_binsh_setup /bin/sh dash '' /bin/ash
	initial_binsh_setup /usr/share/man/man1/sh.1.gz dash.1.gz \
		/usr/share/man/man1/sh.distrib.1.gz \
		/usr/share/man/man1/ash.1.gz
	add_shell
elif [ "$1" = configure ] && dpkg --compare-versions "$2" lt 0.4.18; then
	add_shell
fi

if [ $debconf ]; then
	db_get dash/sh
	if [ "$RET" = true ]; then
		claim_binsh /bin/sh dash
		if [ -d "$DPKG_ROOT/usr/share/man/man1/" ]; then
			claim_binsh /usr/share/man/man1/sh.1.gz dash.1.gz \
				/usr/share/man/man1/sh.distrib.1.gz
		fi
	else
		unclaim_binsh /bin/sh dash
		unclaim_binsh /usr/share/man/man1/sh.1.gz dash.1.gz \
			/usr/share/man/man1/sh.distrib.1.gz
	fi
fi

# Automatically added by dh_installmenu/13.6ubuntu1
if [ "$1" = "configure" ] && [ -x "`command -v update-menus`" ]; then
	update-menus
fi
# End automatically added section

Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY