скрипт apt-get для обновления dist-upgrade clean и autoremove

скрипт apt-get для обновления dist-upgrade clean и autoremove

Я написал этот сценарий,

#!/bin/bash
#if not root, run as root
if (( $EUID != 0 )); then
    sudo $0
    exit
fi
apt update
echo
echo ">> Upgrading Packages"
apt -y upgrade
echo
echo ">> Upgrading Distro Packages"
apt -y dist-upgrade
echo
apt clean
echo ">> Performing Autoremove"
apt -y autoremove
dpkg --list |grep "^rc"
if [[ $? -eq 0 ]]
then echo
    echo ">> Purging Old Configuration Files"
    dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
fi
if [[ `du -m /var/log/syslog | cut -f1` -gt 99 ]]
then echo ">> syslog is over 100MB"
    echo ">> logs can be rotated  using the following command:"
    echo
    echo sudo logrotate -f /etc/logrotate.conf
    echo
    echo ">> let me go ahead and do that for you"
    logrotate -f /etc/logrotate.conf
fi
echo ">> Done."

Цель — создать единый центр для обновления всего и удаления ненужных пакетов.

Достаточно ли вышеперечисленного? Есть ли в этом что-то лишнее или ненужное? Какие-либо опасности/предостережения, которые необходимо учитывать? Другое (заполните пробел)?

Редактировать: Если я использую только встроенный менеджер обновлений Ubuntu 12.04, будут ли какие-либо файлы очищены и автоматически удалены?

решение1

В принципе, да. Однако, как отметил AsheeshR в своем комментарии, он прервется, если будет сделано что-то «нежелательное». Чтобы убедиться, что это работает каждый раз, можно добавить опцию --force-yes, но, ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ СТРАНИЦУ MAN. Реализовать эту опцию ОЧЕНЬ опасно, поэтому вам, вероятно, следует придерживаться того, что у вас есть сейчас. Фактически, страница man по apt-get говорит, что эта опция «может сломать вашу систему», поэтому вы должны использовать ее вручную, только если вышеперечисленное не сработало и только в очень особых (и редких) ситуациях.

решение2

Это скрипт, который я использую для выполнения обновлений на Debian (тестирование) и Ubuntu:

#!/bin/bash
apt update
apt -y dist-upgrade
apt -y autoremove
apt clean
apt purge -y $(dpkg -l | awk '/^rc/ { print $2 }')

В основном он включает в себя дополнительно к вашему сценарию:

apt purge -y $(dpkg -l | awk '/^rc/ { print $2 }')

которыйудаляет файлы конфигурации пакетаи помогает экономить место.

Мне нравится ваш раздел # если не root, запускать как root и я думаю, что я его украду :-)

За последние годы у меня никогда не было инцидентов, когда я запускал этот скрипт ежедневно. Они случались, но очень редки и легко исправимы.

Недавно я обнаружил следующее:

apt -y dist-upgrade --auto-remove --purge

что предполагает, что некоторые команды можно объединить в строку, но я в этом не уверен.

Менеджер обновлений Ubuntu — этоболее вовлеченныйкажется.

Связанный контент