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 "$@"
}
# package info
pl() {
- aptitude show "$@"
+ if type -p aptitude &>/dev/null; then
+ aptitude show "$@"
+ else
+ apt-cache show "$@"
+ fi
}
pfile() {
local file=$1
# package name. So, commenting this, waiting to find
# a config file only tracked by ucfq to see if it gives the
# package name and if I can identify this kind of file.
-# if [[ $file == /* ]] && ! ucfq -w $file | grep ::: &>/dev/null; then
-# ucfq $file
+ # if [[ $file == /* ]] && ! ucfq -w $file | grep ::: &>/dev/null; then
+ # ucfq $file
if [[ $file == */* ]]; then
apt-file find -x "$file"\$
else
apt-file find -x /"$file"\$
+ update-alternatives --list "$file" 2>/dev/null
fi
}
pkgfiles() {