Le 12436i�me jour apr�s Epoch, georges mariano �crivait: > On Sun, 18 Jan 2004 14:38:39 +0100 > [EMAIL PROTECTED] (Fran�ois TOURDE) wrote: > >> Ben la voil� ta solution.. Dans /etc/inittab, tu mets pour le runlevel >> 1 un petit script qui calcule la dur�e entre now et 6h00, qui fait un >> sleep de cette dur�e, puis qui fait init 2 ... > > tu peux rallonger la sauce ?... je vais regarder �a (plus tard) mais l� > je vois pas o� est le caract�re cyclique de la chose ...
Allez, on rallonge... Dans cron, qui est un gentil programme en runlevel 2, tu mets une directive qui passe en runlevel 1 � l'heure que tu choisis. Une fois en runlevel 1, cron est mort, mais ton prog lanc� dans inittab reprends le relai. Petit inconv�nient: Si tu d�cides, pour des raisons de maintenance, de passer en init 1 aux alentours de 6h, alors tu vas �tre surpris quand ta machine va revenir en runlevel 2 :) >> Mais � mon avis tu devrais agr�menter tes scripts de mise � >> jour d'un truc du genre "lsof +L1|grep dpkg", de fa�on � voir quels >> sont les services qui tournent avec les anciennes libs/anciens progs, >> et les red�marrer sp�cifiquement. > > je pige l'id�e sous-jacente mais si je fais un 'lsof +L1' je vois pas > trop comment tu l'exploite (ta commande est-elle compl�te ?) Oui, compl�te. Voil� ce que me dit la commande dans mon cas: -----8<---------8<---------8<---------8<---------8<---------8<---- fermat:~# lsof +L1|grep dpkg cupsd 292 root mem DEL 3,5 0 359204 /usr/lib/libslp.so.1.0.0.dpkg-new cupsd 292 root mem DEL 3,2 0 31276 /lib/libpam.so.0.76.dpkg-new tclsh 315 root txt REG 3,5 3180 0 32671 /usr/bin/tclsh8.4.dpkg-new (deleted) tclsh 315 root mem DEL 3,5 0 359766 /usr/lib/libtcl8.4.so.0.dpkg-new tclsh 331 root txt REG 3,5 3180 0 32671 /usr/bin/tclsh8.4.dpkg-new (deleted) tclsh 331 root mem DEL 3,5 0 359766 /usr/lib/libtcl8.4.so.0.dpkg-new tclsh 332 root txt REG 3,5 3180 0 32671 /usr/bin/tclsh8.4.dpkg-new (deleted) tclsh 332 root mem DEL 3,5 0 359766 /usr/lib/libtcl8.4.so.0.dpkg-new cron 500 root mem DEL 3,2 0 31276 /lib/libpam.so.0.76.dpkg-new gdm 16394 root mem DEL 3,5 0 359193 /usr/lib/libgconf-2.so.4.1.0.dpkg-new gdm 16395 root mem DEL 3,5 0 359193 /usr/lib/libgconf-2.so.4.1.0.dpkg-new gconfd-2 16509 root txt REG 3,5 45336 0 293777 /usr/lib/gconf2/gconfd-2.dpkg-new (deleted) gconfd-2 16509 root mem DEL 3,5 0 294019 /usr/lib/GConf/2/libgconfbackend-xml.so.dpkg-new gconfd-2 16509 root mem DEL 3,5 0 359193 /usr/lib/libgconf-2.so.4.1.0.dpkg-new gnome-set 16515 root mem DEL 3,5 0 359193 /usr/lib/libgconf-2.so.4.1.0.dpkg-new gconfd-2 16549 francois txt REG 3,5 45336 0 293777 /usr/lib/gconf2/gconfd-2.dpkg-new (deleted) gconfd-2 16549 francois mem DEL 3,5 0 98350 /usr/share/locale/fr/LC_MESSAGES/GConf2.mo.dpkg-new gconfd-2 16549 francois mem DEL 3,5 0 359193 /usr/lib/libgconf-2.so.4.1.0.dpkg-new gconfd-2 16549 francois mem DEL 3,5 0 294019 /usr/lib/GConf/2/libgconfbackend-xml.so.dpkg-new oafd 31474 francois mem DEL 3,2 0 32998 /lib/libpopt.so.0.0.0.dpkg-new -----8<---------8<---------8<---------8<---------8<---------8<---- Apr�s, � toi de scripter si tu veux, pour relancer les services concern�s. Dans cet exemple, il faut que je relance cupsys, i8kmon (tclsh), cron, gdm, etc... >> Perso, tous les jours, mon serveur me mail le r�sultat de cette >> commande (si elle n'est pas vide), > > hop, je saute sur l'occase, comment tu fais pour ce test "si elle n'est > pas vide" ? Euh... Ben cron me mail si stdout ou stderr contiennent quelque chose. Donc, mon script cron est: -----8<---------8<---------8<---------8<---------8<---------8<---- #!/bin/sh # Check for progs connected to old libs... # /usr/sbin/lsof +L1|grep ".dpkg-new" -----8<---------8<---------8<---------8<---------8<---------8<---- Et voil�. Tu peux rajouter aussi un 2>/dev/null et un exit 0, pour �tre s�r de ne le recevoir que quand il a des choses � te dire. Mais moi comme chkrootkit et autres trucs me donnent de la lecture, �a me g�ne pas plus que �a. -- "Being against torture ought to be sort of a bipartisan thing." -- Karl Lehenbauer

