#!/bin/bash # Упрощённый вариант программы по удалению # keep=`(cat exclude_base.lst;cat /var/lib/debfoster/keepers)|sort|uniq` keep=`(cat exclude_base2.lst;cat /var/lib/debfoster/keepers)|sort|uniq` for p in `dpkg -l| grep "ii "|cut -d ' ' -f3`; do echo "Рассматривается пакет $p" echo "$keep"|grep "$p" >/dev/null if [[ "$?" == "0" ]]; then echo "$p нужен пользователю"; continue fi can_remove=true for p2r in `apt-get -s -y remove "$p"| grep Remv|cut -d ' ' -f2` ; do echo "Проверяется возможность удаления пакета $p2r" echo "$keep"|grep -E "\<$p2r\>" >/dev/null if [[ "$?" == "0" ]]; then echo "$p2r нужен пользователю"; can_remove=false break; fi done if [[ "$can_remove" == "true" ]]; then if [[ "`dpkg-query -W -f='${Priority}\n' $p`" == "optional" ]]; then echo "$p нужен пользователю" else echo "delunpack3.sh: Удаляем пакет $p" echo "$p" >>1.txt # #apt-get -y remove --purge $p fi fi dpkg --configure -a done