Xóa tài liệu để tiết kiệm dung lượng ổ cứng


58

Tôi muốn tạo một bản cài đặt Ubuntu khá nhỏ trong máy Virtual Box. Về cơ bản, nó chỉ cần cung cấp TeX Live và các công cụ liên quan. Bây giờ tôi đã hiểu rằng tôi có gần 1GB dữ liệu /usr/share/doc. Tôi không cần tài liệu này trong trường hợp này, chỉ các mantrang liên quan đến LaTeX , không nằm ở đó.

Có cách nào để gỡ cài đặt tất cả các tệp tài liệu này bằng cách sử dụng apt-get?
Ngoài ra, nó có hợp lý tiết kiệm để chỉ xóa nội dung của /usr/share/doc?
Tôi muốn chia sẻ máy Virtual Box với những người khác, không nên gặp rắc rối.



Câu hỏi tương tự dành cho Debian unix.stackexchange.com/questions/180400/iêu
user7610

Câu trả lời của Denilson giải quyết vấn đề này mà không cần dùng búa. Chỉ cần gỡ cài đặt các gói doc.
Zaz

Câu trả lời:


36

Theo wiki Ubuntu , bạn có thể hướng dẫn dpkgkhông cài đặt bất kỳ tài liệu nào. Điều này sẽ ngăn bất kỳ tài liệu nào (ngoại trừ thông tin bản quyền) được cài đặt bởi apt.

Tạo một tệp /etc/dpkg/dpkg.cfg.d/01_nodocchỉ định các bộ lọc mong muốn. Thí dụ:

path-exclude /usr/share/doc/*
# we need to keep copyright files for legal reasons
path-include /usr/share/doc/*/copyright
# if you also want to remove the man pages uncomment the next line
#path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*

Sau đó, bạn có thể xóa thủ công mọi tài liệu đã được cài đặt:

find /usr/share/doc -depth -type f ! -name copyright|xargs rm || true
find /usr/share/doc -empty|xargs rmdir || true
rm -rf /usr/share/groff/* /usr/share/info/*
rm -rf /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*

Nếu bạn cũng muốn xóa các trang man, hãy làm:

rm -rf /usr/share/man/*

Ví dụ này được viết cho các OEM, nhưng nó cũng hoạt động tốt với tôi. Lấy /usr/share/doc/thư mục của tôi xuống từ ~ 150MB xuống ~ 20MB.


Tôi đã phải tạo lại một trong những thư mục đó để có được đề xuất thanh lọc @ denilson-sá. Cụ thể : mkdir /usr/share/info.
AT

3
Trên máy cục bộ, bạn cũng có thể xóa các tệp bản quyền, sẽ tiết kiệm thêm ~ 50MB. Nhận xét dòng này như:# path-include /usr/share/doc/*/copyright
rubo77

1
Dòng đầu tiên (cộng với xóa bản quyền) để lại cho tôi 37MB vào ngày 13.04. Có rất nhiều tệp symlinked bị bỏ sót khi tìm thấy. Điều này giúp 5MB : find /usr/share/doc | egrep "\.gz" | xargs rm. Điều này giảm kích thước xuống 26 MB : find /usr/share/doc | egrep "\.pdf$" | xargs rm. Giảm xuống 21 MB : find /usr/share/doc | egrep "\.tex$" | xargs rm. Có rất nhiều tập tin để lại mặc dù.
ahcox

@AT, các lệnh trong câu trả lời của tôi không loại bỏ /usr/share/info; chỉ nội dung của nó. Thư mục vẫn nên ở đó sau khi chạy chúng.
Andrew Oblley

1
Tôi không đề xuất bước này cho một vài MB. Tôi đã làm và hệ thống của tôi đã bị hỏng. Chẳng hạn, Virtualbox kiểm tra cài đặt bằng cách kiểm tra xem thư mục có /usr/share/doc/virtualboxtồn tại không .. Tạo thư mục và tất cả đều hoạt động tốt. Mất khoảng 2 ngày để tìm ra điều đó. Nói về sự đánh đổi không-thời gian!
Jus12

31

Điều này sẽ loại bỏ các tài liệu cho các gói liên quan đến latex:

sudo apt-get --purge remove tex.\*-doc$

Nó tiết kiệm được vài trăm MB.


8
Điều này dường như để loại bỏ texlive-fullgói của tôi quá.
tham gia

5
@joar Đó là dự định. texlive-full là một siêu dữ liệu kéo tất cả các phụ thuộc, bao gồm cả tài liệu
nealmcb

1
@nealmcb, Nhưng sau đó autoremove sẽ xóa tất cả các gói tex của bạn. Chi tiết hơn: nếu bạn đã cài đặt tex thông qua texlive-full, và sau đó xóa các gói doc, thì texlive-full sẽ biến mất. Sau đó, lần tới khi bạn chạy apt-get autoremove, tất cả các gói tex của bạn cũng sẽ biến mất, vì lý do duy nhất chúng ở đó là vì chúng phụ thuộc vào texlive-full, không còn nữa.
isarandi

@isarandi Nếu bạn đã sử dụng texlive-full để cài đặt, điều đó nghe có vẻ là một điểm tốt. Một số chi tiết refs: 2017 đề nghị chia ra các tài liệu: bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862 dữ liệu và nhiều hơn nữa vào kích thước: reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb

14

Cách nhanh và bẩn để tìm các gói texlive đã cài đặt (Tôi chắc chắn 100% có nhiều cách khác):

dpkg -l | grep '^ii.*texlive.*doc'

Và loại bỏ chúng:

apt-get remove --purge \
  texlive-fonts-recommended-doc texlive-latex-base-doc texlive-latex-extra-doc \
  texlive-latex-recommended-doc texlive-pictures-doc texlive-pstricks-doc

3
Điều này cũng loại bỏ texlive-fulltrên Ubuntu 16.04.
Jus12

6
texlive-fulllà một siêu dữ liệu kéo tất cả các phụ thuộc, bao gồm cả tài liệu.
Denilson Sá Maia

Đây là câu trả lời tốt nhất và không ồn ào nhất.
shivams

3

Bạn có biết những gì đang chiếm tất cả không gian đó? Của tôi /usr/share/docchỉ ~ 50MB. Nếu không, sử dụng ứng dụng Phân tích đĩa hoặc đi đến thiết bị đầu cuối và chạy cd /usr/share/doc; sau đó chạy du -h -d 1để tìm hiểu những gì đang sử dụng tất cả không gian đó. Một khi bạn biết chương trình hoặc chương trình nào là vấn đề thì bạn có thể quyết định xem bạn có nên xóa các thư mục trong /usr/share/dochay không.


Tôi đã không biết rằng tên thư mục bên dưới /usr/share/doclà tên gói. Ít nhất một số điều này dường như là đúng. Tôi đã sử dụng du -sc * | sort -ntrong /usr/share/doc. Hầu hết dung lượng được lấy từ các tệp tài liệu TeX Live 2009 mà tôi không muốn, vì tôi có các tệp TL 2011 được cài đặt thủ công. Cảm ơn, trong khi tôi vẫn muốn xem liệu có cách nào để nói apt-getđể có được phần lớn tài liệu hay không, giải pháp này đã hoạt động tốt trong trường hợp này.
Martin Scharrer

1
Và đối với những người không thoải mái với du: bạn có thể sử dụng Baobab để phân tích việc sử dụng đĩa. Mặc dù người ta không cần phải chạy nó dưới quyền root (sudo baobab) để lập chỉ mục nội dung của /
Vistaus

0

Là hợp lý sa [f] e chỉ để xóa nội dung của /usr/share/doc?

Nếu bạn làm điều đó, các tệp sẽ được cài đặt lại khi bất kỳ gói nào được nâng cấp. Thay vào đó, bạn nên loại bỏ các gói tài liệu liên quan, thường (nhưng không phải luôn luôn) kết thúc-doc .

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.