Hapus dokumentasi untuk menghemat ruang hard drive

58

Saya suka membuat instalasi Ubuntu yang agak kecil di mesin Virtual Box. Seharusnya pada dasarnya hanya menyediakan TeX Live dan alat terkait. Saya pikir sekarang saya memiliki hampir 1GB data di bawah /usr/share/doc. Saya tidak memerlukan dokumentasi ini dalam hal ini, hanya manhalaman terkait LaTeX , yang tidak berlokasi di sana.

Apakah ada cara untuk menghapus instalasi semua file dokumentasi ini apt-get?
Atau, apakah itu cukup menyimpan untuk hanya menghapus konten /usr/share/doc?
Saya suka berbagi mesin Kotak Virtual dengan orang lain, yang seharusnya tidak berjalan dalam kesulitan.

Martin Scharrer
sumber
Pertanyaan yang sama untuk Debian unix.stackexchange.com/questions/180400/…
user7610
Jawaban Denilson memecahkan masalah ini tanpa mengambil palu untuk itu. Hapus instalasi paket doc.
Zaz

Jawaban:

36

Menurut wiki Ubuntu , Anda dapat menginstruksikan dpkguntuk tidak menginstal dokumentasi apa pun. Ini harus mencegah dokumentasi apa pun (kecuali info hak cipta) diinstal oleh apt.

Buat file /etc/dpkg/dpkg.cfg.d/01_nodocyang menentukan filter yang diinginkan. Contoh:

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/*

Kemudian Anda dapat secara manual menghapus dokumentasi yang sudah diinstal:

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/*

Jika Anda juga ingin menghapus halaman manual lakukan:

rm -rf /usr/share/man/*

Contohnya ditulis untuk OEM, tetapi itu bekerja dengan baik untuk saya. Mengambil /usr/share/doc/direktori saya dari ~ 150MB ke ~ 20MB.

Andrew Ensley
sumber
Saya harus membuat ulang salah satu folder tersebut untuk mendapatkan rekomendasi pembersihan @ denilson-sá. Secara khusus: mkdir /usr/share/info.
PADA
3
Pada mesin lokal, Anda juga dapat menghapus file hak cipta, yang akan menghemat ~ 50MB lainnya. Komentari baris ini seperti:# path-include /usr/share/doc/*/copyright
rubo77
1
Baris pertama (ditambah penghapusan hak cipta) membuat saya dengan 37MB pada 13,04. Ada banyak file yang disinkronkan yang terlewatkan oleh temuan. Ini membantu dengan 5MB: find /usr/share/doc | egrep "\.gz" | xargs rm. Ini turun ukuran ke 26 MB: find /usr/share/doc | egrep "\.pdf$" | xargs rm. Ke 21 MB: find /usr/share/doc | egrep "\.tex$" | xargs rm. Ada banyak file yang tertinggal.
ahcox
@ ATA, perintah dalam jawaban saya tidak menghapus /usr/share/info; hanya isinya. Direktori harus tetap ada setelah menjalankannya.
Andrew Ensley
1
Saya tidak merekomendasikan langkah ini untuk beberapa MB. Saya lakukan dan sistem saya rusak. Sebagai contoh, Virtualbox memeriksa instalasi dengan memeriksa apakah direktori ada /usr/share/doc/virtualbox.. Membuat direktori dan semua berfungsi dengan baik. Butuh waktu sekitar 2 hari untuk mencari tahu. Bicara tentang pertukaran ruang-waktu!
Jus12
31

Ini harus menghapus dokumentasi untuk paket terkait lateks:

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

Itu menghemat beberapa ratus MB.

mopagemo
sumber
8
Ini sepertinya menghapus texlive-fullpaket saya juga.
joar
5
@ Joar Itu dimaksudkan. texlive-full adalah metapackage yang menarik semua dependensi, termasuk dokumentasi
nealmcb
1
@nealmcb, Tapi kemudian autoremove akan menghapus semua paket tex Anda. Secara lebih rinci: jika Anda telah menginstal tex melalui texlive-full, dan kemudian menghapus paket doc, maka texlive-full akan hilang. Kemudian lain kali Anda menjalankan apt-get autoremove, semua paket tex Anda akan hilang juga, karena satu-satunya alasan mereka ada di sana adalah karena mereka bergantung pada texlive-full, yang tidak ada lagi.
isarandi
@isarandi Jika Anda menggunakan texlive-full untuk instalasi, itu kedengarannya bagus. Beberapa referensi lainnya: proposal 2017 untuk membagi dokumen: bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862 dan lebih banyak data tentang ukuran: reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb
14

Cara cepat dan kotor untuk menemukan paket texlive yang terinstal (saya 100% yakin ada cara lain):

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

Dan menghapusnya:

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
Denilson Sa Maia
sumber
3
Ini juga menghapus texlive-fulldi Ubuntu 16.04.
Jus12
6
texlive-fulladalah metapackage yang menarik semua dependensi, termasuk dokumentasi.
Denilson Sá Maia
Ini adalah jawaban terbaik dan paling tidak repot.
shivams
3

Apakah Anda tahu apa yang mengambil semua ruang itu? Saya /usr/share/dochanya ~ 50MB. Jika tidak, gunakan aplikasi Disk Analyzer atau buka terminal dan jalankan cd /usr/share/doc; kemudian jalankan du -h -d 1untuk mencari tahu apa yang menggunakan semua ruang itu. Setelah Anda mengetahui program atau program mana yang menjadi masalah, Anda dapat memutuskan apakah Anda harus menghapus direktori /usr/share/docatau tidak.

notkevin
sumber
Saya tidak tahu bahwa nama direktori di bawah /usr/share/docadalah nama paket. Setidaknya beberapa dari ini tampaknya benar. Aku digunakan du -sc * | sort -ndalam /usr/share/doc. Sebagian besar ruang diambil dari file dokumentasi TeX Live 2009 yang tidak saya inginkan, karena saya sudah menginstal TL 2011 secara manual. Terima kasih, sementara saya masih ingin melihat apakah ada cara untuk memberitahu apt-getuntuk mendapatkan sebagian besar dokumentasi, solusi ini berhasil dengan baik untuk kasus ini.
Martin Scharrer
1
Dan bagi mereka yang tidak nyaman dengan du: Anda dapat menggunakan Baobab untuk menganalisis penggunaan disk. Meskipun seseorang perlu menjalankannya sebagai root (sudo baobab) untuk mengindeks isi /
Vistaus
0

apakah masuk akal untuk menghapus konten saja /usr/share/doc?

Jika Anda melakukannya, file-file tersebut akan diinstal ulang ketika ada paket yang ditingkatkan. Anda harus menghapus paket dokumentasi yang relevan, yang sering (tetapi tidak selalu) berakhir dengan-doc .

Siput mekanik
sumber