fi
}
pi() {
+ if dpkg -s -- "$@" &>/dev/null; then
+ return 0
+ fi
+ while fuser /var/lib/dpkg/lock &>/dev/null; do sleep 1; done
pupdate
local s; [[ $EUID != 0 ]] && s=sudo
- $s apt-get -y install --purge --auto-remove "$@"
+ $s $PI_PREFIX apt-get -y install --purge --auto-remove "$@"
}
+
pi-nostart() {
+ if dpkg -s -- "$@" &>/dev/null; then
+ return 0
+ fi
+ while fuser /var/lib/dpkg/lock &>/dev/null; do sleep 1; done
+ pupdate
local s; [[ $EUID != 0 ]] && s=sudo
local f=/usr/sbin/policy-rc.d
$s dd of=$f <<EOF
exit 101
EOF
$s chmod +x $f
- pi "$@"
+ $s apt-get -y install --purge --auto-remove "$@"
$s rm $f
}
pf() {
}
pu() {
local s; [[ $EUID != 0 ]] && s=sudo
+ while fuser /var/lib/dpkg/lock &>/dev/null; do sleep 1; done
$s apt-get -y remove --purge --auto-remove "$@"
# seems slightly redundant, but it removes more stuff sometimes.
$s apt-get -y autoremove
}
pup() { # upgrade
+ while fuser /var/lib/dpkg/lock &>/dev/null; do sleep 1; done
pupdate
local s; [[ $EUID != 0 ]] && s=sudo
$s apt-get -y dist-upgrade --purge --auto-remove "$@"
apt-file find -x "$file"\$
else
apt-file find -x /"$file"\$
+ update-alternatives --list "$file" 2>/dev/null
fi
}
pkgfiles() {