Этот скрипт выполнит самые большие куски на консоли: Очистить кеш apt Удалить файлы конфигурации, оставшиеся от удаленных пакетов .deb (произойдет, если вы не используете переключатель --purge с apt-get ) Удалите все ядро, кроме того, которое вы используете. Пустые корзины каждого пользователя (включая root)
создайте файл с этим контентом и предоставите ему права на выполнение:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"; RED="\033[0;31m"; ENDCOLOR="\033[0m"
if [ $USER != root ]; then
echo -e $RED"Error: must be root! Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean
echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF" # fixes the error in the original script
for PKGNAME in $OLDCONF ; do # a better way to handle errors
apt-get -y purge "$PKGNAME"
done
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
aptitude purge $OLDKERNELS
echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW"Script Finished!"$ENDCOLOR
Адаптировано от 71529-ubucleaner.sh
Некоторые инструменты, которые помогут вам найти большие папки и пакеты:
sudo apt-get install ncdu debian-goodies deborphan
sudo ncdu / # lists all folders by size on the console (like the gui `baobab`)
dpigs -H # shows large packages that you don't use
man deborphan # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge
Использовать localdeurge для удаления неиспользуемых языков в вашей системе:
sudo apt-get install localepurge
Отличный графический инструмент GUI для удовлетворения всех потребностей:
sudo apt-get install bleachbit
Кроме того, вы можете удалить manpages и документацию, как описано в 71529-ubucleaner.sh :
Создать файл /etc/dpkg/dpkg.cfg.d/01_nodoc, который задает нужные фильтры. Пример:
path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
Удалите тот же набор файлов и каталогов в postinst проекта-config. Пример:
echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*