home · contact · privacy
Improve symlink script.
[config] / all_new_2018 / limit_packages / purge_nonrequireds.sh
1 #!/bin/sh
2 # This script removes all Debian packages that are not of Priority
3 # "required" or not depended on by packages of priority "required"
4 # or not listed in the file ./required_nonrequireds.
5 # If ./required_nonrequireds does not exist, will abort, as user
6 # probably does not know what they are doing then.
7 set -x
8 set -e
9
10 dpkg-query -Wf '${Package} ${Priority}\n' | grep ' required' | sed 's/ required//' > /tmp/list_white_unsorted
11 cat 'required_nonrequireds' >> /tmp/list_white_unsorted
12 sort /tmp/list_white_unsorted > /tmp/list_white
13 dpkg-query -Wf '${Package}\n' > /tmp/list_all_packages
14 sort /tmp/list_all_packages > /tmp/foo
15 mv /tmp/foo /tmp/list_all_packages
16 comm -3 /tmp/list_all_packages /tmp/list_white > /tmp/list_black
17 apt-mark auto `cat /tmp/list_black`
18 DEBIAN_FRONTEND=noninteractive apt-get -y --purge autoremove
19 rm /tmp/list_all_packages /tmp/list_white_unsorted /tmp/list_white /tmp/list_black