Tôi có thể xóa / var / cache một cách an toàn không?


78

Tôi đang hết dung lượng đĩa và lưu ý rằng tôi có một /var/cachethư mục lớn . Tôi có thể gỡ bỏ nó một cách an toàn không? (sử dụng Arch Linux, BTW).

cache 

6
Tôi sẽ kiểm tra những gì trong đó, nhưng được cho là nơi các gói của pacman là các gói bạn có thể muốn chạy pacman -Schoặc ngay cả pacman -Scckhi bạn muốn dọn sạch toàn bộ bộ đệm của gói.
xenoterracide

Hầu hết, nhưng không phải tất cả, các tập tin dưới /var/cacheđây là an toàn để xóa. Đừng xóa các thư mục hoặc thay đổi quyền sở hữu của họ. Chạy du /var/cache/* | sort -nđể xem những gì đang có phòng. Hỏi ở đây nếu bạn không biết liệu các thư mục lớn có an toàn để làm sạch không.
Gilles

Điều gì về một bộ phân tích sử dụng đĩa - Alternativeto.net/software/windirstat/?pl
Aaron Newton

Câu trả lời:


27

Không .

Đối với một người, tôi tin rằng đó /var/cache/bind/là thư mục mặc định nơi bind9 dự kiến ​​các tệp vùng của nó sẽ được lưu trữ (ít nhất là trên Debian; tôi không biết nếu các bản phân phối khác tuân theo)

Đối với một tài liệu khác, theo tài liệu này , pacman (trình quản lý gói được sử dụng bởi Arch linux) lưu trữ bộ đệm gói của nó bên dưới /var/cache/pacman/pkg/và rất có thể không mong đợi gì ngoài việc tự sửa đổi nội dung.

Tôi khuyên bạn nên đọc kỹ tài liệu hơn và quyết định xem đây có phải là thời điểm tốt để xóa bộ đệm gói hay không.


Có, không xóa / var / cache / apt / archives dir, nhưng bạn có thể xóa các tệp: /var/cache/apt/pkgcache.bin và /var/cache/apt/srcpkgcache.bin, nhưng chúng sẽ được tạo lại bởi "Cập nhật apt-get".
nghĩa tự làm

6
Trên Debian, /var/cache/bindchứa các tệp vùng được truyền từ các máy chủ tên khác, không nên chứa các vùng chính. Debian tuân theo FHS và FHS yêu cầu các tệp trong đó /var/cachephải được xóa. Tất nhiên, câu hỏi là về Arch, và hơn nữa người ta không nên xóa các tệp mà không cần ít nhất là tìm ra chúng là gì.
derobert

19
Điều đó giống như nói rằng bạn không nên xóa các tập tin trong thư mục tạm thời trong windows mà không biết chúng là gì. Nếu thư mục dành cho các tệp tạm thời và chương trình của bạn đặt dữ liệu không tạm thời ở đó, thì đó là một vấn đề lớn đối với chương trình của bạn, không phải cho / var / cache
Tor Valamo

81

Từ http://www.lindevdoc.org/wiki//var/cache

Xin lỗi vì câu trả lời muộn (rất), nhưng tôi tin rằng điều quan trọng là bao gồm bit này để tham khảo trong tương lai.

Làm nổi bật bit nào trả lời câu hỏi này.

Thư mục / var / cache chứa các tệp được lưu trong bộ nhớ cache, tức là các tệp đã được tạo và có thể được tạo lại bất cứ lúc nào, nhưng chúng đáng lưu trữ để tiết kiệm thời gian tính toán lại chúng.

Bất kỳ ứng dụng có thể tạo một tập tin hoặc thư mục ở đây. Giả định rằng các tệp được lưu trữ ở đây không quan trọng, vì vậy hệ thống có thể xóa nội dung của / var / cache theo định kỳ hoặc khi nội dung của nó quá lớn.

Bất kỳ ứng dụng nào cũng cần tính đến việc tệp được lưu trữ ở đây có thể biến mất bất cứ lúc nào và sẵn sàng tính toán lại nội dung của nó (với một số hình phạt thời gian).

Vì vậy, có, bạn có thể loại bỏ các tập tin này mà không mong đợi bất cứ điều gì xấu xảy ra.


7
Bạn sẽ phải nhảy qua một số vòng nếu bạn xóa /var/cachevà muốn sử dụng aptsau đó.
Matthias Braun

13

Như những người khác đã nói, /var/cache/có thể được sử dụng bởi bất kỳ ứng dụng nào để lưu trữ thông tin để tiết kiệm thời gian truy xuất. Theo kinh nghiệm của tôi, hầu hết không gian chiếm dụng là từ trình quản lý gói của hệ thống.

Từ wiki Arch Linux :

pacmanlưu trữ các gói đã tải xuống của nó trong /var/cache/pacman/pkg/và không tự động loại bỏ các phiên bản cũ hoặc đã gỡ cài đặt, do đó cần phải cố tình dọn sạch thư mục đó theo định kỳ để ngăn thư mục đó tăng kích thước vô hạn.

pacman -Sc

Tuy nhiên , trừ khi không gian lưu trữ là một vấn đề tuyệt vọng, để tiết kiệm đau đầu sau này, vì lý do không tương thích trong tương lai; một trong những công cụ khác nên được sử dụng: paccache, pkgcacheclean, hoặc pacleaner.


Đối với hệ thống khác:

Dựa trên Redhat (Fedora, CentOS, SL, ...)

yum clean all
# or
dnf clean all

Dựa trên Debian (Ubuntu, ...)

apt-get autoclean

Dựa trên chuột

zypper clean

2
+1! Hôm nay tôi nhận thấy rằng tôi sắp hết dung lượng đĩa ... một đoạn ngắn được du -hs /* 2> /dev/nulltiết lộ /varlà rất lớn. Hóa ra bộ nhớ cache pacman của tôi là 91GB. pacman -Scdọn dẹp các gói cũ và giảm bộ nhớ cache pacman xuống còn 5GB!
daniel451

1
Bài viết này là phiên bản dài hơn của các hướng dẫn trong wiki vòm về cách sử dụngpaccahce
joelostblom

9

Tìm thấy bài đăng này thú vị ở chỗ tôi đang tìm cách xóa khỏi / var / cache trên Ubuntu 15.10 để cải thiện dung lượng ổ đĩa, đây là những gì tôi đã tìm thấy:

Các tập tin / var / cache / apt cache bị xóa sau khi 'sudo apt-get clean' được chạy, tuy nhiên cấu trúc thư mục vẫn không có vấn đề gì nếu bạn đang tìm kiếm cải tiến dung lượng ổ đĩa; 'apt-get clean' nên được chạy sau cùng nếu bạn muốn cải thiện không gian đĩa với apt-get [auto] remove / [auto], v.v.

Đối với mọi thứ khác trong thư mục, tôi không thể đồng ý nhiều hơn với 'Tor Valamo' và lời giải thích của anh ấy. Đó là bộ đệm, hệ thống và ứng dụng sử dụng bộ đệm sẽ có thể tạo lại bất cứ thứ gì chúng đã tạo ở đó. Bạn chỉ có các chi phí hiệu suất nhỏ khi bộ nhớ cache được tạo lại từ ứng dụng này sang ứng dụng khác

Nói rằng, mọi hệ thống có thể không phù hợp với hiệu trưởng này, hãy thực hiện một số thử nghiệm, thử di chuyển mọi thứ trong thư mục bộ đệm của bạn sang một vị trí mới và kiểm tra xem hệ thống của bạn và tất cả các ứng dụng của bạn có hoạt động không trước khi xóa bộ đệm vĩnh viễn.


1

Bạn có thể tự quyết định bằng cách sử dụng lsof.

Chạy lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniqđể xem phần mềm nào hiện có bất kỳ tệp đang mở nào trong thư mục đó. Nếu bất cứ điều gì có vẻ quan trọng vừa phải (hoặc bạn không biết nó là gì) thì đừng loại bỏ nó.

Bên cạnh đó, bạn không nên thổi bay các thư mục mà không cần sao lưu; điều này thậm chí áp dụng cho /tmp. Nếu một tệp hiện đang được sử dụng, việc xóa của bạn sẽ không được đăng ký cho đến khi đóng trình xử lý (bạn sẽ thấy nó biến mất trong hệ thống tệp). Hơn nữa, việc xóa có thể khiến các chương trình khác hiện đang chạy (xem lsoflệnh ở trên) bị sập nếu một tệp dự kiến ​​bị thiếu.

Về cơ bản, chỉ xóa các tệp mà bạn biết là an toàn để xóa và hiện không được sử dụng bởi các phần mềm đang chạy khác.

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.