Czy bezpiecznym jest rm -rf / tmp / *?


29

To było coś, co często robiłem w systemie Windows, ale po moim ostatnim fiasku chcę się upewnić. Czy to jest bezpieczne?

sudo rm -rf /tmp/*

?


Czy to jest zawsze działający serwer, czy komputer stacjonarny z codziennym wyłączaniem?
użytkownik nieznany

Chciałbym zapytać, dlaczego chcesz usunąć pliki w / tmp? Czy to dlatego, że się zapełnia, czy może z powodów związanych z prywatnością? Jeśli jest to problem z miejscem, przyczyną może być źle działająca aplikacja lub może być to, że musi ona znajdować się na większej partycji. Jeśli chodzi o prywatność, istnieją inne alternatywy, takie jak użycie zaszyfrowanych systemów plików, które warto rozważyć.
Rob

Może powodować różne problemy w systemie, ale głównie będzie działać.
peterh mówi o przywróceniu Moniki

Odpowiedzi:


19

Ogólnie nie.

Jeśli wypełnia się śmieciami, możesz sprawdzić, które oprogramowanie nie usuwa się po sobie.

Możesz także użyć find do zidentyfikowania plików, które nie były modyfikowane lub dostępne przez długi czas, które prawdopodobnie można bezpiecznie usunąć.


9
Zgadzam się z refrenem „nie” tutaj i dodatkiem, który większość dystrybucji Linuksa automatycznie usuwa przy /tmp/starcie. Chociaż niekoniecznie pomaga to, jeśli mówimy o serwerze, który nie uruchamia się ponownie EVER, tutaj find ./ -type f -atime 14 -exec rm {} \; co tydzień może działać jedna możliwość usunięcia dowolnego zwykłego pliku, do którego nie uzyskano dostępu w ciągu ostatnich dwóch tygodni. ..
Shadur,

find ./ -type f -atime 14 -deletez gnu-find
użytkownik nieznany

@ użytkownik to oczywiście zakłada, że /tmpnie używa bieżących ustawień domyślnych jądra, które jest relatimeaktualizowane tylko po zmodyfikowaniu pliku, lub noatime. W takim przypadku atimenie będzie to zdalnie pomocne.
ksenoterrakid

8

Prawdziwa odpowiedź brzmi - to zależy. / tmp może być używany przez aplikacje, które wymagają obecności plików blokujących lub tymczasowych dzienników w celu uruchomienia, lub nie. Mogą tam być dowiązania symboliczne ... nie jestem pewien, po co, ale zawsze jest to możliwe.

Powinieneś naprawdę spojrzeć na to, co tam jest, zanim zdecydujesz się go usunąć. wykonywanie rf -rf * na czymkolwiek jest z natury niebezpieczne.


3
W moim systemie pliki logów przechodzą do / var / log, pliki blokujące do / var / lock.
użytkownik nieznany

3
@ użytkownik pewny, dla demonów systemowych ... to niekoniecznie oznacza, że ​​nie ma blokad ani dzienników dla aplikacji użytkownika, /tmpponieważ normalny użytkownik nie może pisać do /var/log|lockMam skrypt powłoki, który zapisuje blokadę/tmp
xenoterracide

7

Nie. Na przykład, jeśli na komputerze działa baza danych MySQL, która zabije jej gniazdo lub jeśli używasz emacsa jako serwera, który zabije proces serwera. Istnieje wiele innych przypadków, w których usunięcie tych plików nie jest bezpieczne. Najlepiej jest napisać skrypt sprawdzający datę pliku i usuwający go tylko wtedy, gdy jest stary.


Szybkie pytanie, kiedy powiesz „to zabije jego gniazdo”, co nazywasz „gniazdem”?
Qasim


2

Nie.

Ale możesz użyć ramdysku dla katalogu / tmp, który byłby pusty po każdym ponownym uruchomieniu systemu. A efektem ubocznym twój system może stać się trochę szybszy.

Google ma wiele informacji na temat tmpfs i / lub ramfs.


Czy nie jest często usuwane / tmp automatycznie po ponownym uruchomieniu? Gentoo ma, i myślę, że Ubuntu tak, ale minęło trochę czasu, odkąd go użyłem
Michael Mrozek

Nie, nie sądzę, że dystrybucje wywodzące się z Debiana, takie jak Ubuntu, to robią (w każdym razie teraz). Ale łatwo to dodać, jeśli Ci się spodoba.
Johan

Działa Ubuntu Matty (lub jakakolwiek inna wersja). Ale jeśli nie będziesz regularnie uruchamiał ponownie komputera, to się nie stanie.
Rob

Ok, nie sprawdziłem prądu. Korzystam teraz ze ścieżki LTS.
Johan

Ubuntu tak, a każdy Linux, który testowałem wcześniej: Knoppix, Peanut, Halloween, Red Hat, SuSe. Dlaczego miałoby to przyspieszyć system? Co dokładnie byłoby szybsze? Obliczenia, dostęp do dysku, sieć, uruchomienie?
użytkownik nieznany

-4

Proponuję najpierw zmienić nazwę folderu tmp, aby zobaczyć, na co wpływa ten katalog. Zmień nazwę z „tmp” na „old_tmp”. Utwórz także nowy pusty folder o nazwie „tmp”, ponieważ niektóre procesy instalacyjne lub systemowe mogą wymagać tego folderu do utworzenia niektórych plików w tym katalogu, takich jak pliki dziennika. Wykonaj poniższe czynności, aby bezpiecznie usunąć datę tmp.

1- Zmień nazwę istniejącego katalogu „tmp” na „old_tmp”. 2- Utwórz nowy pusty katalog „tmp” 3- Przydziel wszystkie uprawnienia jako „0777” do tego nowo utworzonego katalogu, aby system / setup mógł mieć uprawnienia do tworzenia / umieszczania dziennika i innych plików w tym katalogu. 4- Uruchom system i aplikacje, aby upewnić się, że wszystko działa poprawnie i działa jak zwykle. Obserwuj przez 2-3 dni. 5- Jeśli na pewno nie ma to wpływu na zmianę nazwy katalogu „tmp” na „old_tmp”, możesz usunąć katalog „old_tmp”.

Uwaga: Jeśli cokolwiek powoduje problem z powodu zmiany nazwy katalogu „tmp” na „old_tmp”, pozwól temu katalogowi powrócić do oryginalnej nazwy „tmp”.


2
To naprawdę zły pomysł. Istnieje wiele standardowych narzędzi powłoki, w których zapisywane są pliki tymczasowe /tmpi które zaczęłyby się zawodzić, gdy tylko zmienisz nazwę oryginału /tmp. Należy również pamiętać, że /tmpkatalog powinien mieć określone uprawnienia (na przykład ustawiony bit lepki).
Kusalananda

Przeczytaj uważnie to, co powiedziałem: Masz rację, może istnieć wiele standardowych narzędzi powłoki, które zapisują pliki tymczasowe w katalogu „/ tmp”, dlatego powiedziałem, aby utworzyć nowy katalog „tmp” i przypisać do niego pełne uprawnienia po zmianie nazwy starego istniejącego Katalog „tmp”.
A.Aleem11,

1
Tak, i powiedziałeś, że uprawnienia powinny być, 0777kiedy w rzeczywistości powinny 1777.
Kusalananda
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.