A szerverek üzemeltetésének kulcsfontosságú része, hogy a rajta található szoftverek naprakészek legyenek a biztonsági és egyéb frissítéseket illetően. Ugyanakkor meglehetősen unalmasnak tűnhet minden nap bejelentkezni valamennyi, a felügyeletünkre bízott szerverre csak azért, hogy megnézzük, vannak-e elérhető frissítések. Szerencsére a folyamat automatizálható, azaz rávehetjük a szervereket arra, hogy naponta ellenőrizzék le az elérhető szoftverfrissítéseket, és ha vannak ilyenek, küldjenek erről értesítést, például e-mail formájában. A kérdéses feladatot a cron-apt programmal tudjuk elegánsan megoldani:
aptitude install cron-apt
A program működését a /etc/cron-apt/config fájlban tudjuk beállítani. A részletes konfigurációs paraméterekért tanulmányozd át a /usr/share/doc/cron-apt/README.gz fájlt. Ha azonban sietsz, az alábbi minta jó kiindulási alapként szolgálhat:
APTCOMMAND=/usr/bin/apt-get export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin RUNSLEEP=3600 MINTMPDIRSIZE=10 ACTIONDIR="/etc/cron-apt/action.d" ACTIONCONFDIR="/etc/cron-apt/config.d" MAILMSGDIR="/etc/cron-apt/mailmsg.d" SYSLOGMSGDIR="/etc/cron-apt/syslogmsg.d" ERRORMSGDIR="/etc/cron-apt/errormsg.d" LOGMSGDIR="/etc/cron-apt/logmsg.d" MAILONMSGSDIR="/etc/cron-apt/mailonmsgs" SYSLOGONMSGSDIR="/etc/cron-apt/syslogonmsgs" ERROR="/var/log/cron-apt/error" TEMP="/var/log/cron-apt/temp" LOG="/var/log/cron-apt/log" MAIL="/var/log/cron-apt/mail" MAILTO="admin@comega7.local" MAILON="upgrade" SYSLOGON="upgrade" EXITON="error" DEBUG="output" HOSTNAME="webserver.comega7.local"
A /etc/cron.d mappa tartalmazza a cron-apt fájlt, amely gondoskodik arról, hogy az elérhető frissítések lekérdezése hajnali négy óra tájban elinduljon. Ha rendelkezésre állnak új frissítések, letölti azokat - de NEM telepíti fel - és a megadott e-mail címre értesítést fog küldeni, valahogyan így:
CRON-APT RUN [/etc/cron-apt/config]: Sun Dec 20 04:00:01 CET 2015 CRON-APT SLEEP: 1668, Sun Dec 20 04:27:49 CET 2015 CRON-APT ACTION: 3-download CRON-APT LINE: /usr/bin/aptitude -o quiet=1 dist-upgrade -d -y -o APT::Get::Show-Upgraded=true Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Reading task descriptions... Building tag database... The following packages will be upgraded: libmariadbclient18 libmysqlclient18 mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common mariadb-server mariadb-server-10.0 mariadb-server-core-10.0 mysql-common 9 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 12.6 MB of archives. After unpacking 2177 kB will be used. Writing extended state information... Get: 1 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main mysql-common all 10.0.23+maria-1~jessie [8494 B] Get: 2 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main mariadb-common all 10.0.23+maria-1~jessie [3278 B] Get: 3 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main mariadb-server all 10.0.23+maria-1~jessie [2972 B] Get: 4 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main libmariadbclient18 amd64 10.0.23+maria-1~jessie [576 kB] Get: 5 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main libmysqlclient18 amd64 10.0.23+maria-1~jessie [2934 B] Get: 6 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main mariadb-client-core-10.0 amd64 10.0.23+maria-1~jessie [675 kB] Get: 7 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main mariadb-client-10.0 amd64 10.0.23+maria-1~jessie [1101 kB] Get: 8 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main mariadb-server-core-10.0 amd64 10.0.23+maria-1~jessie [4368 kB] Get: 9 http://mariadb.kisiek.net//repo/10.0/debian/ jessie/main mariadb-server-10.0 amd64 10.0.23+maria-1~jessie [5909 kB] Fetched 12.6 MB in 5s (2183 kB/s)
A Te dolgod pedig ezek után az, hogy eldöntöd, mikorra ütemezed be a telepítést, amelyet viszont érdemes mindig saját kezűleg végrehajtani, nem pedig egy másik automatizmusra bízni.