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

Répondre à