Zachowanie / tmp przy ponownym uruchomieniu

3

Ubuntu czyści się /tmpprzy ponownym uruchomieniu. Załóżmy, że mój system nieoczekiwanie przestaje działać, pozostawiając w nim trochę wartościowe pliki /tmp. Co mogę zrobić po ponownym uruchomieniu systemu, aby zapobiec usunięciu plików / tmp?

PSkocik
źródło
1
Czy zdajesz sobie sprawę, że to tak, jakby przechowywać „cenne pliki” w koszu?
grawity
Ponadto, która wersja Ubuntu? Mechanizmy są różne.
grawity
Co? Trzymam wszystkie moje kosztowności w koszu. Żartuję. Jestem na Mennicy 17, więc to odpowiada 14.04
PSkocik
Czasami lubię wypróbowywać różne rzeczy w / tmp i jeśli prowadzi to nigdzie, po prostu zostawiam to i nie przejmuję się tym. Jeśli okaże się to dobre, przenoszę go do folderu domowego. Nigdy nie musiałem wykopywać czegoś z katalogu / tmp systemu, który się zawiesił, ale myślę, że wiedza, co zrobić, jeśli taka sytuacja wystąpi, może być cenna.
PSkocik
2
W przypadku ubuntu, askubuntu.com/questions/20783/… . W przypadku innych dystrybucji możliwe jest, że / tmp jest zamontowany na tmpfs, który jest systemem plików opartym na pamięci RAM i dlatego jest automatycznie czyszczony. Możesz uruchomić mountlub, df -h /tmpaby sprawdzić system plików folderu / tmp.
Chris.C

Odpowiedzi:

4

Podziękowania dla Chrisa.C i lesmana Od Jak wyczyścić katalog / tmp ?

W Ubunutu czyszczenie / tmp odbywa się za pomocą skryptu pod adresem /etc/init/mounted-tmp.conf

To czyszczenie jest wykonywane na pliku, jeśli TMPTIMEupłynęło wiele dni od utworzenia lub modyfikacji tego pliku. Wartość parametru TMPTIMEjest ustawiona na/etc/default/rcS

Aby zatrzymać domyślne zachowanie czyszczenia, możesz zwiększyć TMPTIMEwartość do wystarczającej wartości lub skomentować ostatnie findwiersze skryptu mounted-tmp.conf, które są odpowiedzialne za faktyczne usunięcie.

Wreszcie może się zdarzyć, że /tmpsystem plików zostanie faktycznie zamontowany jako tmpfs, co ogólnie oznacza, że ​​system plików zostałby zamapowany na pamięć RAM zamiast na dysk twardy i nie utrzymywałby się po ponownym uruchomieniu.

Nie jest to domyślne w Ubunutu, ale możesz sprawdzić, czy tak jest w twoim systemie, wydając mounti sprawdzając system plików na liście /tmp(jeśli taki jest na liście).

Aby zatrzymać tworzenie /tmpjako tmpfs, możesz usunąć wpis dla /tmpz/etc/fstab

ssnobody
źródło
1

Jedną z opcji byłoby podłączenie dysku twardego do innego komputera i wyciągnięcie plików z folderu tmp na tym komputerze ... Lub, jeśli masz system podwójnego rozruchu, uruchom inny system, o ile ten system obsługuje zapisywanie na dysku partycji Ubuntu, a następnie pobieranie plików.

trainman261
źródło
1

@ssnobody odpowiedź rozwiązuje problem, ale nie należy tego robić. Niech /tmpinitscripts wykonają swoją pracę.

Z systemu plików Hierarchy Standard 3.0 Rozdział 3 Sekcja 18 na temat /tmpkatalogu:

3.18 / tmp: pliki tymczasowe

Katalog / tmp musi zostać udostępniony programom wymagającym plików tymczasowych.

Programy nie mogą zakładać, że jakiekolwiek pliki lub katalogi w / tmp są zachowywane między wywołaniami programu. […]

Chociaż dane przechowywane w / tmp mogą zostać usunięte w sposób specyficzny dla witryny, zaleca się, aby pliki i katalogi znajdujące się w / tmp były usuwane przy każdym uruchomieniu systemu.

FHS dodało to zalecenie na podstawie historycznej precedensu i powszechnej praktyki, ale nie uczyniło go wymogiem, ponieważ administracja systemem nie wchodzi w zakres tego standardu.

Jednak FHS definiuje w tym celu inny katalog. Z systemu plików Hierarchy Standard 3.0 Rozdział 5 Sekcja 15 na temat /var/tmpkatalogu:

5.15 / var / tmp: Pliki tymczasowe zachowane pomiędzy restartami systemu

Katalog / var / tmp jest udostępniany programom wymagającym plików tymczasowych lub katalogów, które są zachowywane między restartami systemu. Dlatego dane przechowywane w / var / tmp są bardziej trwałe niż dane w / tmp.

Pliki i katalogi znajdujące się w / var / tmp nie mogą być usuwane podczas uruchamiania systemu. Chociaż dane przechowywane w / var / tmp są zazwyczaj usuwane w sposób specyficzny dla witryny, zaleca się, aby usuwanie następowało rzadziej niż w / tmp.

Jest to idealne miejsce do umieszczenia plików tymczasowych, które nie są tak cenne, ale nadal nie chcesz stracić po nieoczekiwanym zamknięciu.

W każdym razie praca z cennymi plikami w katalogu tymczasowym jest zawsze złym pomysłem. Powinieneś pracować w swoim katalogu domowym. Nawiasem mówiąc, zwykle masz również $HOME/tmpkatalog, który nie jest opróżniany po ponownym uruchomieniu, którego możesz użyć do osobistych plików tymczasowych.

piernov
źródło
Nie jest to przydatne, chyba że powiesz, gdzie w Ubuntu możesz skonfigurować zasady usuwania /var/tmp.
PSkocik
systemd-tmpfileszajmij się tym w najnowszych wydaniach Ubuntu (i innych dystrybucjach systemowych). Domyślna zasada to /usr/lib/tmpfiles.d/tmp.conf. W starszych wersjach Ubuntu domyślnie nie jest czyszczone. W starszych wersjach pochodzących z Red Hat jest to sprawdzanie zadań cron, tmpwatchktóre wykonuje zadanie.
piernov