zapisywanie w / tmp tak naprawdę nie oszczędza?


10

Otwórz np. Załącznik do wiadomości e-mail z przeglądarki Firefox (bez wcześniejszego zapisywania); jest to dokument Libre Office, edytujesz go, a następnie wypychasz zapisz (nie zapisuj jako) i zamykasz edytor tekstowy i przeglądarkę. Następnie dokument znika, ponieważ został domyślnie zapisany w /tmp. Tak przynajmniej jest w przypadku mojego Ubuntu 12.04.

Czy uważasz, że to jest właściwe zachowanie? Czy program nie powinien przynajmniej przypominać, że tak naprawdę niczego nie oszczędzasz? czy jest jakiś sposób na odzyskanie pliku (także po wylogowaniu i / lub ponownym uruchomieniu)?

Odpowiedzi:


10

Rozgrywając to, stwierdzam, że kiedy zdecydujesz się otworzyć dokument za pomocą zewnętrznego programu w Firefoksie, dzieje się tak, że Firefox pobiera program do, /tmpa następnie uruchamia wybrany program z pobranym plikiem jako argumentem (czytaj „otwiera plik z wybrany program ”).

Jeśli następnie zapiszesz plik (bez wybierania Save Aslub jego odpowiednika) w programie, użyje go w /tmp.

Firefox wyczyści te pliki tymczasowe po zamknięciu. Możesz więc odzyskać plik, jeśli zamkniesz LibreOffice, ale nie Firefox. Jednak jak tylko Firefox zostanie zamknięty, plik zostanie usunięty.

W przypadku większości (wszystkich?) Dystrybucji /tmpfolder zostanie również opróżniony przy ponownym uruchomieniu (pliki w /var/tmppowinny pozostać dłużej).

Zauważ też, że takie zachowanie służy tylko do „otwierania” pliku za pomocą zewnętrznego programu. Jeśli plik jest otwierany wewnętrznie za pomocą wtyczki lub w inny sposób, oznacza to, że /tmpnie jest używany (plik wydaje się być buforowany gdzie indziej wraz z samymi stronami internetowymi).

Aktualizacja

Dla odniesienia (nie polecam tego robić, chyba że jest to konieczne), możesz wyłączyć usuwanie /tmpplików, gdy Firefox zamknie się przy użyciu tej browser.helperApps.deleteTempFileOnExitopcji. Można to ustawić za pomocą about:configstrony (wystarczy wpisać to w pasku adresu i nacisnąć enter). Jeśli istnieje i jest false, wystarczy kliknąć go prawym przyciskiem myszy i wybrać opcję przełączania. W przeciwnym razie dodaj go, klikając prawym przyciskiem myszy-> Nowy-> Boolean , a następnie wprowadź nazwę opcji i wybierz fałsz.

Aby przechowywać /tmppliki po następnym restarcie w najnowszych systemach opartych na Debianie, najpierw spójrz /etc/default/tmpfsi upewnij się, że nie ma RAMTMP=yeslinii. Jeśli zostanie skomentowany ( #na początku), jest w porządku (jeśli został ustawiony, /tmpbyłby w tmpfssystemie plików w pamięci i nie byłby przechowywany na dysku). Następnie dodaj lub zmień TMPTIMElinię /etc/default/rcS. Aby przechowywać /tmppliki w nieskończoność, możesz:

TMPTIME=infinite

Lub możesz użyć liczby dodatniej zamiast infinitetrzymać je przez tę liczbę dni, gdy ich czas się skończy, zostaną one usunięte przy następnym uruchomieniu. Oczywiście, jeśli ta linia jest komentowana, odkomentuj ją.


Zauważ, że fakt, który /tmpjest czyszczony przy ponownym uruchomieniu, ponieważ /tmpjest zamontowany jako tmpfs, który przechowuje swoje pliki w pamięci RAM (lub swap), tracąc w ten sposób zawartość po odmontowaniu.
Darkhogg

1
@Darkhogg, nie w tym przypadku. /tmppliki są zwykle specjalnie usuwane. Zaktualizowałem sposób, w jaki można to zmienić w systemach opartych na Debianie.
Graeme

Nie wiedziałem o tym! +1 do tego komentarza.
Darkhogg


1
Gdy plik jest otwierany w przeglądarce Firefox za pomocą wtyczki, wtyczka może określać sposób dostarczenia pliku: na dysk lub bezpośrednio do pamięci. Większość wtyczek wybiera pamięć.
Mark

3

Firefox ma pamięć podręczną do „otwierania” plików. Ta pamięć podręczna jest czyszczona po każdym zamknięciu przeglądarki Firefox. Jeśli otworzysz ten plik za pomocą LO i zamkniesz Firefox, zauważysz, że plik zniknie. Dotyczy to wszystkich Firefoksów niezależnie, w których są przechowywane, /tmpczy nie.


2

Czy uważasz, że to jest właściwe zachowanie?

Muszę powiedzieć, że tak nie jest. Ale z drugiej strony jestem nieco stronniczy, ponieważ straciłem prawie sześć godzin pracy z powodu tego dziwactwa.

Myślę, że każdy GUI, który pozwala użytkownikowi zrobić coś potencjalnie katastrofalnego bez ostrzeżenia, jest wadliwy, bez względu na to, jak „logiczna” może być decyzja projektowa. Dzieje się tak zwłaszcza wtedy, gdy użytkownicy mogą robić dokładnie to samo w podobnych programach (takich jak Chrome) bez żadnych złych efektów.

Czy program nie powinien przynajmniej przypominać, że tak naprawdę niczego nie oszczędzasz?

Hmmm ... może przydałoby się wyskakujące okienko z polem wyboru „Nie pokazuj więcej tego komunikatu”. Jeszcze bardziej przydatna byłaby mała poprawka do LibreOffice i podobnych programów ostrzegających użytkownika, jeśli zapisywany plik jest zapisywany w / tmp lub gdziekolwiek. Mam na myśli, że jeśli naciśniesz „zapisz”, oczekujesz, że gdzieś plik zostanie zapisany, prawda?

czy jest jakiś sposób na odzyskanie pliku (także po wylogowaniu i / lub ponownym uruchomieniu)?

Tak, jeśli masz szczęście. Uruchomiłem komputer z instalacji Linux-a USB i udało mi się odzyskać plik za pomocą extundelete.


2

Pozwól mi wyjaśnić. Po wybraniu w oknie dialogowym opcji „Otwórz za pomocą” zamiast „Pobierz do” plik jest nadal pobierany, w którym to momencie Firefox otwiera pobrany plik za pomocą aplikacji. Zakłada się jednak, że nie chciałeś zachować pliku, więc plik ten jest usuwany po wyjściu z Firefoxa. Jeśli chciałbyś go zachować, powinieneś wybrać „Pobierz do”, użyć „Zapisz jako” w swojej aplikacji lub po prostu przenieść plik z / var / tmp (gdzie filefox go trzyma); usunięcie dotyczy tylko pliku w jego oryginalnej lokalizacji.

Pamiętaj, że plik jest usuwany, nawet jeśli inna aplikacja utrzymuje go w stanie otwartym (w sensie technicznym). W systemach uniksowych nie stanowi to problemu: gdy pozycja katalogu zniknie, sam plik pozostanie i nie zostanie usunięty, dopóki aplikacja go nie zamknie [awaria w tym momencie może spowodować, że dysk będzie w niespójnym stanie; fsck zgłasza tę sytuację jako „niepowiązany i-węzeł”]


-1

Czy uważasz, że to jest właściwe zachowanie?

Oczywiście jest to właściwe zachowanie. Dzieje się tak tylko wtedy, gdy nie zdecydowałeś się zapisać pliku, ale zamiast tego postanowiłeś go otworzyć . Moim zdaniem zwykle lepiej jest wszystko zapisać niż otwierać.

Czy program nie powinien przynajmniej przypominać, że tak naprawdę niczego nie oszczędzasz?

Dlaczego? Jeśli chcesz zapisać, dlaczego nie zdecydowałeś się pobrać pliku?

czy jest jakiś sposób na odzyskanie pliku (także po wylogowaniu i / lub ponownym uruchomieniu)?

Nie. Będziesz musiał skopiować go, gdy jest jeszcze w tmp.

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.