fsckup #2 - cat: /tmp/doit.sh: No such file or directory

W codziennej pracy często potrzebujemy zrobić coś szybko, skopiować jakieś dane do obróbki, uruchomić jakieś parsery mielące tony megabajtów i zwracające jeszcze więcej śmie^H^H^H^Hdanych, albo skompresować film na telefon, żeby umilić podróż w tramwaju czy pociągu ;-) Często wybór miejsca gdzie będzie przeprowadzona operacja pada na /tmp/. No bo gdzie będzie lepsze miejsce dla naszego skrypciku który generuje tysiące plików jak nie w /tmp/.

No i wszystko jest ok... do czasu kiedy nie zabraknie nam zasilania, lub nie wykonamy restartu desktopa... Wiele dystrybucji Linuksa domyślnie usuwa zawartość /tmp/ przy starcie systemu i wtedy jest płacz... zgrzytanie zębów, wyrywanie klawiszy, bo nie ma wyników parsera, a po filmach też śladu nie widać... Pół biedy kiedy w /tmp/ nie było nic ważnego... ;-) jako ciekawe doświadczenie sami sprawdźcie co tam aktualnie macie i czy nie byłoby Wam czegoś szkoda gdyby wasz śmietnik został opróżniony ;-)

Jeśli jednak masz wewnętrzną potrzebę umieszczania plików w /tmp/, to lepszym sposobem jest stworzenie w katalogu domowym własnego tmp i pracowania na nim, a nie na systemowym, ale jeśli takie rozwiązanie Cię nie zadowala, to możesz spróbować wyłączyć automagiczne czyszczenie /tmp/. W Ubuntu cała magia znajduje się w pliku /etc/default/rcS i nazywa się TMPTIME. Wartość tej zmiennej określa jak stare pliki mają być usuwane podczas bootowania systemu, wartość 0 powoduje, że usuwane są wszystkie pliki, wartość 10, da nam pewność, że żadne pliki młodsze niż 10 dni nie zostaną skasowane, natomiast wartość ujemna -1 wyłączy całkowicie operację czyszczenia /tmp/ podczas startu (więcej info w manualach: man 5 rcS).

Ktoś się na to naciął? ręka w górę!