tiết kiệm trong / tmp không thực sự tiết kiệm?


10

Mở ví dụ: tệp đính kèm thư từ Firefox (không lưu trước đó); đây là tài liệu Libre Office, bạn chỉnh sửa nó, sau đó nhấn lưu (không lưu dưới dạng) và đóng cả trình soạn thảo văn bản và trình duyệt. Sau đó, tài liệu biến mất, vì nó được lưu trữ theo mặc định /tmp. Ít nhất đây là trường hợp trên Ubuntu 12.04 của tôi.

Bạn có nghĩ rằng đây là hành vi đúng? Chương trình ít nhất có nên nhắc nhở bạn rằng bạn không thực sự tiết kiệm gì không? hoặc có cách nào để khôi phục tệp (cũng sau khi đăng xuất và / hoặc khởi động lại)?

Câu trả lời:


10

Chơi xung quanh vấn đề này tôi thấy rằng khi bạn chọn mở một tài liệu có chương trình bên ngoài trong Firefox, điều xảy ra là Firefox tải chương trình xuống /tmpvà sau đó chạy chương trình đã chọn với tệp đã tải xuống làm đối số (đọc 'mở tệp với chương trình đã chọn ').

Nếu sau đó bạn lưu tệp (mà không chọn Save Ashoặc tương đương) từ trong chương trình, nó sẽ sử dụng tệp này trong /tmp.

Firefox sẽ dọn sạch các tệp tạm thời này khi nó đóng. Vì vậy, bạn có thể khôi phục tệp nếu bạn đóng LibreOffice, nhưng không phải Firefox. Tuy nhiên, ngay sau khi Firefox đóng cửa, tệp sẽ bị xóa.

Trên hầu hết các bản phát hành (tất cả?), /tmpThư mục cũng sẽ được xóa khi khởi động lại (các tệp trong /var/tmpsẽ tồn tại lâu hơn).

Cũng lưu ý rằng hành vi này chỉ dành cho 'mở' một tệp có chương trình bên ngoài. Nếu tệp được mở bên trong thông qua một plugin hoặc bằng cách khác, thì nó dường như /tmpkhông được sử dụng (tệp dường như được lưu trữ ở nơi khác cùng với các trang web).

Cập nhật

Để tham khảo (Tôi không khuyên bạn nên làm điều này trừ khi cần thiết), bạn có thể vô hiệu hóa việc xóa các /tmptệp khi firefox đóng bằng browser.helperApps.deleteTempFileOnExittùy chọn. Điều này có thể được đặt qua about:configtrang (chỉ cần gõ này vào thanh địa chỉ và nhấn enter). Nếu nó tồn tại và tồn tại false, chỉ cần nhấp chuột phải vào nó và chọn chuyển đổi. Mặt khác, thêm nó bằng cách nhấp chuột phải-> Mới-> Boolean , sau đó nhập tên của tùy chọn và chọn false.

Để lưu trữ /tmpcác tệp qua lần khởi động lại tiếp theo trên các hệ thống dựa trên Debian gần đây, trước tiên hãy xem /etc/default/tmpfsvà đảm bảo rằng không có RAMTMP=yesdòng nào . Nếu nó được nhận xét ( #lúc bắt đầu), điều này là tốt (nếu nó được đặt thì /tmpsẽ nằm trên một tmpfshệ thống tập tin trong bộ nhớ và sẽ không được lưu trữ trên đĩa). Tiếp theo thêm hoặc thay đổi TMPTIMEdòng trong /etc/default/rcS. Để lưu trữ /tmpcác tập tin vô thời hạn, bạn có thể làm:

TMPTIME=infinite

Hoặc bạn có thể sử dụng một số dương thay vì infinitegiữ chúng trong số ngày đó, khi hết thời gian, chúng sẽ bị xóa trong lần khởi động lại tiếp theo. Rõ ràng nếu dòng này được bình luận, bỏ qua nó.


Lưu ý rằng thực tế /tmpbị xóa khi khởi động lại là do /tmpđược gắn dưới dạng tmpfs, lưu trữ các tệp của nó trong RAM (hoặc trao đổi), do đó mất nội dung sau khi ngắt kết nối.
Darkhogg

1
@Darkhogg, không phải vậy. /tmpcác tập tin thường được xóa cụ thể. Tôi đã cập nhật cách thay đổi cài đặt này trên các hệ thống dựa trên Debian.
Graeme

Không biết về điều đó! +1 cho nhận xét đó.
Darkhogg


1
Khi một tệp được mở trong Firefox thông qua một plugin, plugin có thể chỉ định cách nó muốn tệp được phân phối: trên đĩa hoặc trực tiếp vào bộ nhớ. Hầu hết các plugin chọn bộ nhớ.
Đánh dấu

3

Firefox có bộ đệm cho các tệp "mở". Bộ đệm này bị xóa mỗi khi bạn đóng Firefox. Nếu bạn mở tệp đó bằng LO và đóng Firefox, bạn sẽ thấy rằng tệp sẽ biến mất. Điều này đúng với tất cả các Firefox độc lập mà chúng được lưu trữ trong /tmphoặc không.


2

Bạn có nghĩ rằng đây là hành vi đúng?

Tôi phải nói rằng tôi không nghĩ vậy. Nhưng sau đó tôi hơi thiên vị, đã mất gần sáu giờ làm việc do sự cố này.

Tôi nghĩ rằng bất kỳ GUI nào cho phép người dùng làm điều gì đó có khả năng gây thảm họa mà không cảnh báo chúng là thiếu sót, bất kể quyết định thiết kế đằng sau nó có hợp lý đến mức nào. Điều này đặc biệt như vậy khi người dùng có thể thực hiện chính xác điều tương tự trong các chương trình tương tự (như Chrome) mà không có hiệu ứng xấu.

Chương trình ít nhất có nên nhắc nhở bạn rằng bạn không thực sự tiết kiệm gì không?

Hmmm ... có thể một cửa sổ bật lên với hộp kiểm có nội dung "Không hiển thị lại thông báo này" sẽ hữu ích. Thậm chí hữu ích hơn sẽ là một sửa chữa nhỏ cho LibreOffice và các chương trình tương tự cảnh báo người dùng nếu tệp họ đang lưu đang được lưu trong / tmp hoặc bất cứ nơi nào. Ý tôi là, nếu bạn nhấn "lưu", bạn hy vọng tệp sẽ được lưu ở đâu đó, phải không?

hoặc có cách nào để khôi phục tệp (cũng sau khi đăng xuất và / hoặc khởi động lại)?

Có, nếu bạn may mắn. Tôi đã khởi động máy tính của mình từ bản cài đặt linux linux và quản lý để khôi phục tập tin bằng cách sử dụng extundelete.


2

Hãy để tôi giải thích. Khi bạn chọn "Mở bằng" thay vì "Tải xuống" trong hộp thoại, tệp vẫn được tải xuống, lúc đó Firefox sẽ mở tệp đã tải xuống cùng với ứng dụng. Tuy nhiên, giả định là bạn không muốn giữ tệp, vì vậy tệp này sẽ bị xóa khi thoát firefox. Nếu bạn muốn giữ nó, bạn nên chọn "Tải xuống" hoặc sử dụng "Lưu dưới dạng" trong ứng dụng của mình hoặc đơn giản là di chuyển tệp ra khỏi / var / tmp (nơi filefox giữ nó); việc xóa chỉ áp dụng cho tập tin ở vị trí ban đầu của nó.

Lưu ý rằng tệp bị xóa ngay cả khi ứng dụng khác giữ cho nó mở (theo nghĩa kỹ thuật). Trên các hệ thống giống như Unix, đây không phải là vấn đề: trong khi mục nhập thư mục biến mất, tệp vẫn tồn tại và sẽ không bị xóa cho đến khi ứng dụng đóng nó [một sự cố tại thời điểm này có thể khiến đĩa ở trạng thái không nhất quán; fsck báo cáo tình huống này là một "nút không liên kết"]


-1

Bạn có nghĩ rằng đây là hành vi đúng?

Tất nhiên đó là hành vi đúng. Nó chỉ xảy ra khi bạn không chọn lưu tệp mà thay vào đó chọn mở nó. Theo tôi, tốt hơn hết là tiết kiệm mọi thứ thay vì mở.

Chương trình ít nhất có nên nhắc nhở bạn rằng bạn không thực sự tiết kiệm gì không?

Tại sao? Nếu bạn muốn lưu, tại sao bạn không chọn tải xuống tệp?

hoặc có cách nào để khôi phục tệp (cũng sau khi đăng xuất và / hoặc khởi động lại)?

Không. Bạn sẽ phải sao chép nó khi nó vẫn còn trong tmp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.