27. April 2007 Anleitung Server Upgrade durch CRON-APT Cron-apt ist ein Programm um über ein Server Upgrade mittels APT informiert zu werden. Einfache Installation von Cron-apt Um cron-apt zu installieren muss das folgende Paket installiert werden: cron-apt Achtung bei Ubuntu wird bei der Installation Postfix konfiguriert; nachvollziehbar durch: dpkg-reconfigure –priority=low postfix. Es wird auch noch resolvconf installiert das macht den Netzwerkmanger unnütz. (Beides Angaben von Ubuntunutzern aus Ubuntuusers.de) Einrichtung Cron-apt und der automatisierten Email bzgl. Server Upgrade Die Konfigurationsdateien von cron-apt liegen im Verzeichnis /etc/cron-apt/. Wichtige Konfigurationsdateien von Cron-apt Die wichtigsten Konfigurationsdateien befinden sich im Ordner /etc/cron-apt/action.d. Standardmäßig, nach der Installation, befindet sich dort: 0-update Der Inhalt der Datei ist: update -o quiet=2 –> Update der auf den Servern befindlichen Quellen. 3-download In dieser Datei steht: autoclean -y dist-upgrade -d -y -o APT::Get::Show-Upgraded=true –> Es werden die Datein zum Aktualisieren bzw. Installieren herunter geladen. Weitergehende Einstellungen von Cron-apt Mailbenachrichtigung bei Server Upgrade Wenn man nicht nur die Updates herunter laden will, sondern sich darüber informieren lassen will dann ist unter /usr/share/doc/cron-apt/examples/9-notify ein Beispiel gegeben um das zu verwirklichen: -q -q –no-act upgrade Um tatsächlich informiert zu werden muss die Datei nach /etc/cron-apt/ation.d/ kopiert werden und in /etc/cron-apt/config die Mailadresse an zu geben und das Ereigniss, wann dieses geschickt werden soll. MAILTO=“DEINE@EMAIL-ADRESSE.de“ MAILON=“upgrade“ Zeitsteuerung des Server Upgrade In der Standard Installation würde bei dauerhaft online befindlichen System cron-apt immer um 04:00 Uhr ausgeführt werden. Dies ist geregelt unter: /etc/cron.d/cron-apt # Every night at 4 o’clock. 0 4 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt # Every hour. # 0 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2 # Every five minutes. # */5 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2 Bei einem nicht dauerhaft online befindlichen System würde dieser Croneintrag dazu führen, dass bei Systemstart cron-apt ausgeführt werden würde. Wenn dies nicht gewünscht ist sollte dieser Eintrag gelöscht werden und statt dessen mit einem Softlink (Symlink) in den entsprechenden Cron. hourly oder .weekly kann cron-apt auch gesteuert werden. ln -s /usr/sbin/cron-apt /etc/cron.daily/cron-apt Cron-apt testen Um cron-apt zu testen im Terminal den folgenden Befehl ausführen: cron-apt -s Besondere Fälle Server Upgrade automatisch installieren (Achtung! zur Sicherheit spezielle source.list verwenden) Unter /etc/cron-apt/action.d/3-download das -d (only download) entfernen. Spezielle source.list Man kann cron-apt eine spezielle source.list zuweisen, um beispielsweise nur security-updates ein spielen zu können. Dazu erstellt man eine neue source.list im Order /etc/apt/ und passt diese seinen Bedürfnissen an.Änderung der conf OPTIONS=“-q -o Dir::Etc::SourceList=/etc/apt/security-sources.list“ Aptitude oder apt-file benutzen: Falls man statt apt-get mehr Aptitude vertraut kann auch dieses verwendet werden. In der config einfach APTCOMMAND=/usr/bin/aptitude auskommentieren. Bitte aber darauf achten,dass einige Schalten verändert werden müssen, wie beispielsweise „-o quiet“ statt „-q“ bei OPTIONS Beispiel einer Email bei Server Upgrade CRON-APT RUN [/etc/cron-apt/config]: Fri Sep 29 04:00:02 CEST 2006 CRON-APT SLEEP: 774, Fri Sep 29 04:12:56 CEST 2006 CRON-APT ACTION: 8-install CRON-APT LINE: dist-upgrade -y -o APT::Get::Show-Upgraded=true Reading Package Lists… Building Dependency Tree… The following packages will be upgraded: libssl0.9.7 openssl 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 3168kB of archives. After unpacking 506kB of additional disk space will be used. Get:1 http://security.debian.org stable/updates/main libssl0.9.7 0.9.7e-3sarge3 [2265kB] Get:2 http://security.debian.org stable/updates/main openssl 0.9.7e-3sarge3 [903kB] Fetched 3168kB in 0s (3615kB/s) (Reading database … 27744 files and directories currently installed.) Preparing to replace libssl0.9.7 0.9.7e-3sarge2 (using …/libssl0.9.7_0.9.7e-3sarge3_i386.deb) … Unpacking replacement libssl0.9.7 … Preparing to replace openssl 0.9.7e-3sarge2 (using …/openssl_0.9.7e-3sarge3_i386.deb) … Unpacking replacement openssl … Setting up libssl0.9.7 (0.9.7e-3sarge3) … Setting up openssl (0.9.7e-3sarge3) … Anmerkung zum automatisierten Server Upgrade : Ich habe diesen Artikel zuerst auf ubuntuusers.de verfasst, d.h. dort vorhandene Änderungen oder Anmerkungen speziell für Ubuntu könnten hilfreich sein.