Ich habe dieses Skript geschrieben,
#!/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."
Das Ziel besteht darin, eine zentrale Anlaufstelle zu haben, um alles zu aktualisieren und alle unnötigen Pakete zu entfernen.
Reicht das oben Gesagte aus? Ist etwas Überflüssiges oder Unnötiges dabei? Gibt es Gefahren/Vorsichtsmaßnahmen, die berücksichtigt werden müssen? Sonstiges (füllen Sie die Lücke aus)?
Bearbeiten: Wenn ich nur den integrierten Ubuntu 12.04 Update Manager verwende, werden dann die Dinge bereinigt und automatisch entfernt?
Antwort1
Grundsätzlich ja. Wie AsheeshR jedoch in seinem Kommentar anmerkte, wird es abgebrochen, wenn Dinge ausgeführt werden, die als „unerwünscht“ gelten. Um sicherzustellen, dass es jedes Mal funktioniert, können Sie die Option --force-yes hinzufügen, aber BITTE LESEN SIE DIE MAN-SEITE. Es ist SEHR gefährlich, diese Option zu implementieren, also sollten Sie wahrscheinlich bei dem bleiben, was Sie jetzt haben. Tatsächlich heißt es in der Man-Page von apt-get, dass diese Option „Ihr System beschädigen könnte“, also sollten Sie sie nur manuell verwenden, wenn das Obige nicht funktioniert und nur in sehr speziellen (und seltenen) Situationen.
Antwort2
Dies ist ein Skript, das ich verwende, um Upgrades unter Debian (Test) und Ubuntu durchzuführen:
#!/bin/bash
apt update
apt -y dist-upgrade
apt -y autoremove
apt clean
apt purge -y $(dpkg -l | awk '/^rc/ { print $2 }')
Es enthält grundsätzlich zusätzlich zu Ihrem Skript:
apt purge -y $(dpkg -l | awk '/^rc/ { print $2 }')
welchelöscht Paketkonfigurationsdateienund hilft Platz zu sparen.
Mir gefällt Ihr Abschnitt „# wenn Sie kein Root sind, führen Sie ihn als Root aus“ und ich glaube, ich werde ihn klauen :-)
In den letzten Jahren gab es bei der täglichen Ausführung dieses Skripts keine Zwischenfälle. Sie sind zwar aufgetreten, aber sehr selten und leicht zu beheben.
Ich habe das hier kürzlich entdeckt:
apt -y dist-upgrade --auto-remove --purge
was darauf hindeutet, dass einige Befehle zu einer Zeile zusammengeführt werden können, aber ich bin nicht sicher.
Ubuntu Update Manager istmehr involviertes scheint.