Changelog Slackware podczas logowania
Napisał: Patryk Krawaczyński
07/09/2009 w Hacks & Scripts Brak komentarzy. (artykuł nr 147, ilość słów: 435)
P
rzedstawiony trick jest tłumaczeniem “Showing Slackware Changelog” z Wikipedii Slackware autorstwa Theoffset’a oraz Simonb’a udostępnionym on-line na stronie SlackWiki. Do tłumaczenia zostało dodane także parę informacji od tłumacza.
Podczas logowania do systemu zazwyczaj wyświetlane są informacje zapisane w pliku /etc/motd. Znajdować się w nim mogą fortunki z pakietu BSD Games czy informacje na temat ostatnich zmian wprowadzonych w serwerze. Ortodoksyjni fani Slackware na pewno mają w pliku tym logo ASCII Slacka plus kilka informacji na temat sprzętu i systemu. Natomiast jeśli zależy nam na mimowolnym monitorowaniu prac postępowych nad nasza ulubioną dystrybucją – możemy do tego wykorzystać kombinację pliku motd oraz pliku Changelog w celu bycia na bieżąco informowanym o uaktualnieniach systemu. Na początku musimy wyłączyć standardowy wypełniacz, który zapisuje w motdzie wersję jądra systemu. W tym celu należy dodać znak komentarza (“#”) w pliku /etc/rc.d/rc.S w okolicach linii 385:
# echo "$(/bin/uname -sr)." > /etc/motd
W przeciwnym razie, za każdym uruchomieniem systemu nasz Slackware będzie wyświetlał wersję jądra, z której korzystamy. Następnie musimy przygotować wersję roboczą pliku Changelog, w którym zapisywane są wszystkie zmiany dokonane w dystrybucji. Będzie ona porównywana z nowszą wersją, a różnica zapisywana do pliku motd.
wget ftp://ftp.slackware.com/pub/slackware/slackware-current/ChangeLog.txt mv ChangeLog /tmp/.slack-changelog
Tak przygotowany plik jest gotowy do dalszej obróbki przez skrypt, który umieścimy w codziennym zadaniu cron‘a – /etc/cron.daily/slacklog:
#!/bin/sh wget -q ftp://ftp.slackware.com/pub/slackware/slackware-current/ChangeLog.txt -O /tmp/slacklog.$$ diff /tmp/.slack-changelog /tmp/slacklog.$$ > /etc/motd mv /tmp/slacklog.$$ /tmp/.slack-changelog
Jeśli, w którymś dniu główny developer Slackware dokona wpisu o zmianach, które zaszły w aktualnie rozwijanej wersji dystrybucji – informacje te zostaną nam wyświetlone zaraz na drugi dzień (lub w tym samym dniu – zależy to od godziny aktualizacji i wykonania skryptu) podczas logowania do systemu. Poniżej przykładowy wpis z aktualizacji, zapisany w pliku motd:
agresor@nfsec:~$ cat /etc/motd 0a1,12 > Sun Jul 1 22:30:42 CDT 2007 > Released as Slackware 12.0 with no changes since the last batch. > Big Thanks again are due to the CREW, without whom this just wouldn't be > possible to do with the level of quality that Slackware users demand. > We had a lot of help this time, and I hope it shows in project output > that you'll enjoy. Thanks for the support of the Slackware community, > because without your support I wouldn't be able to keep leading this > project (and I happen to like it a lot :-). > For more detailed information about what all has changed since Slackware > 11.0, start with CHANGES_AND_HINTS.TXT, and maybe read my RELEASE_NOTES. > Have fun! > +--------------------------+