Jak ma takmer porazilo alebo jak ma --- tmpwatch.

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Prosinec 1 21:29:37 CET 2001


On 30 Nov 2001, Cejka Rudolf wrote:

> Ano, pouze vetsinou. Uptime serveru jde do stovek dnu a proces ma
> pocitat s tim, ze ho musi pravidelne aktualizovat/cist, jinak mu
> zmizi?

Pokud proces bezi stovky dnu a celou dobu potrebuje nejaky soubor, pak
je takovy soubor asi tak docasny jako pobyt sovetskych vojsk na nasem
uzemi. (Jinak dokud ho ma otevreny, tak mu pochopitelne nezmizi.)

> Jak urcit vhodnou casovou hranici? Jedna hodina, den, tyden,
> mesic? Ma se mazat jen v /tmp, nebo i ve /var/tmp, /usr/tmp, nebo
> jeste nekde jinde?

Cely problem spociva v tom, ze API je moc uzke. Neumoznuje jasne
specifikovat, jak dlouho ma proces dany prostredek v umyslu drzet, a
tudiz dava na vyber jen jedno ze dvou zel: bud vzdy pesimisticky
predpokladat, ze navzdy (a ve vetsine pripadu prostredky neuveritelne
plytvat), nebo to zkusit nejakou heuristikou odhadnout -- a riskovat,
ze se odhad nepovede.

Pro ucely zminene heuristiky lze to, co je docasny, posuzovat na
zaklade nekolika kriterii:

1. jaka je rozumna doba, po kterou je uzivatel ochoten cekat,
   nez ze systemu vylezou interaktivne nejake vysledky? (docasne
   soubory generovane behem provadeni nejake interaktivni operace
   a likvidovane po jejim dokonceni)
2. jaka je rozumna doba, po kterou muze uzivatel interaktivne bez
   prestavky pracovat (napr. docasne soubory drzene po celou dobu behu
   nejakeho programu nebo po celou seanci)
3. jaka je rozumna maximalni doba, po kterou jsme ochotni
   nechat bezet nejakou cinnost a riskovat, ze budeme muset zacit
   znovu od zacatku? (docasne soubory, ve kterych jsou napr.
   mezivysledky nejakeho vypoctu)

Jakakoli doba presahujici 24 hodin je urcite delsi nez (1) a temer urcite
delsi nez (2) i (3). Je-li to aspon tyden, pak uz je hodne tezke obhajit
docasnost v libovolnem pripade. Nicmene lze tez argumentovat, ze opravdu
docasny charakter maji pouze soubory kategorie (1), a tudiz je proste
chyba do /tmp a spol. ukladat jine soubory.

Krome toho FHS rika:

    Programs must not assume that any files or directories in /tmp are
    preserved between invocations of the program.

    BEGIN RATIONALE
    IEEE standard P1003.2 (POSIX, part 2) makes requirements that are
    similar to the above section.

> A tohle ma jako zabranit vytvareni skladiste z /tmp? Neni nic
> jednodussiho, nez u svych souboru periodicky simulovat pouziti
> souboru (atime/ctime/mtime). Rekl bych, ze na tohle se pouzivaji
> mnohem vhodnejsi a funkcnejsi metody.

Demotivovat neni totez jako zabranit. 9 z 10 lidi to odradi. Zbyleho
jednoho lze pak resit jinymi prostredky.

A mimochodem, co jsou ty "vhodnejsi a funkcnejsi metody"? Kvoty?


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."






Další informace o konferenci Linux