#!/bin/bash
echo ""
echo "###########################################################"
echo "Linetz - Hosting und IT-Dienstleistungen Copyright 2014"
echo "Syntax: hold_packages.sh \$parm \$package"
echo "Erlaubte Parameter: [list|hold|unhold]"
echo "Beenden mit Strg + C"
echo "###########################################################"
echo ""
PARM=$1;
PACKAGE=$2;
if [ $EUID -ne 0 ]; then
echo "Das Script muss mit Rootrechten ausgeführt werden!" 1>&2
exit 1
fi
while [ "$PARM" != "list" ] && [ "$PARM" != "hold" ] && [ "$PARM" != "unhold" ]; do
echo "Bitte geben Sie einen gültigen Parameter ein. Gültige Parameter sind:
list , hold und unhold!"
read PARM;
done
if [ "$PARM" == "list" ]; then
echo "###########################################"
echo "Die folgenden Pakete werden zurückgehalten:"
dpkg --get-selections |awk '$2 == "hold" { print $1 }'
else
while [ "$PACKAGE" == "" ] || [ "$(dpkg --get-selections | xargs -n 1 | grep -x $PACKAGE)" != "$PACKAGE" ] ; do
echo "Geben Sie einen Namen des Packages an. Das Paket muss installiert sein!"
read PACKAGE;
done
if [ "$PARM" == "hold" ]; then
echo $PACKAGE hold |dpkg --set-selections
echo "Paket $PACKAGE wird ab sofort fixiert."
fi
if [ "$PARM" == "unhold" ]; then
echo $PACKAGE install |dpkg --set-selections
echo "Fixierung des Pakets $PACKAGE wurde aufgehoben."
fi
fi
Beschreibung zur Fixierung über dpkg - hold