Usuń dokumentację, aby zaoszczędzić miejsce na dysku twardym

58

Lubię tworzyć raczej małą instalację Ubuntu na maszynie Virtual Box. Zasadniczo powinien po prostu zapewniać TeX Live i powiązane narzędzia. Doszedłem do wniosku, że mam prawie 1 GB danych /usr/share/doc. W tym przypadku nie potrzebuję tej dokumentacji, tylko strony związane z LaTeX man, których tam nie ma.

Czy istnieje sposób na odinstalowanie wszystkich tych plików dokumentacji apt-get?
Alternatywnie, czy rozsądnie jest zapisać, aby po prostu usunąć zawartość /usr/share/doc?
Lubię udostępniać maszynę Virtual Box innym osobom, które nie powinny mieć kłopotów.

Martin Scharrer
źródło
To samo pytanie dotyczy Debiana unix.stackexchange.com/questions/180400/…
user7610
Odpowiedź Denilsona rozwiązuje ten problem bez wbijania w nie młotka. Po prostu odinstaluj pakiety doc.
Zaz

Odpowiedzi:

36

Zgodnie z wiki Ubuntu możesz poinstruować, dpkgaby nie instalować żadnej dokumentacji. Powinno to uniemożliwić instalację jakiejkolwiek dokumentacji (oprócz informacji o prawach autorskich) przez apt.

Utwórz plik, /etc/dpkg/dpkg.cfg.d/01_nodocktóry określa pożądane filtry. Przykład:

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

Następnie możesz ręcznie usunąć wszelką już zainstalowaną dokumentację:

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

Jeśli chcesz również usunąć strony man:

rm -rf /usr/share/man/*

Przykład został napisany dla producentów OEM, ale działał równie dobrze dla mnie. /usr/share/doc/Zmniejszono mój katalog z ~ 150 MB do ~ 20 MB.

Andrew Ensley
źródło
Musiałem odtworzyć jeden z tych folderów, aby uzyskać rekomendację @ denilson-sá purge do pracy. W szczególności: mkdir /usr/share/info.
AT
3
Na komputerze lokalnym możesz również usunąć pliki z prawami autorskimi, co pozwoli zaoszczędzić kolejne ~ 50 MB. Skomentuj ten wiersz w następujący sposób:# path-include /usr/share/doc/*/copyright
rubo77
1
Pierwsza linia (plus usunięcie praw autorskich) pozostawiła mi 37 MB 13.04. Istnieje wiele plików dowiązanych symbolicznie, które zostały pominięte przez znalezisko. Pomaga to przez 5MB: find /usr/share/doc | egrep "\.gz" | xargs rm. To krople o wielkości do 26 MB: find /usr/share/doc | egrep "\.pdf$" | xargs rm. W dół do 21 MB: find /usr/share/doc | egrep "\.tex$" | xargs rm. Pozostało jeszcze wiele plików.
ahcox
@AT, polecenia w mojej odpowiedzi nie usuwają /usr/share/info; tylko jego zawartość. Katalog powinien nadal istnieć po ich uruchomieniu.
Andrew Ensley,
1
Nie polecam tego kroku dla kilku MB. Zrobiłem to i mój system się zepsuł. Na przykład Virtualbox sprawdza instalację, sprawdzając, czy katalog /usr/share/doc/virtualboxistnieje. Utworzył katalog i wszystko działało dobrze. Zajęło mi to około 2 dni, żeby to rozgryźć. Mów o kompromisie czasoprzestrzennym!
Jus12
31

Powinno to usunąć dokumentację dotyczącą pakietów związanych z lateksem:

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

To oszczędza kilkaset MB.

mopagemo
źródło
8
To wydaje się również usuwać moją texlive-fullpaczkę.
joar
5
@joar To jest zamierzone. texlive-full to metapakiet, który ściąga wszystkie zależności, w tym dokumentację
nealmcb
1
@nealmcb, ale autorove usunie wszystkie twoje pakiety tex. Bardziej szczegółowo: jeśli zainstalowałeś tex przez texlive-full, a następnie usuń pakiety doc, wtedy texlive-full zniknie. Następnym razem, gdy uruchomisz apt-get autoremove, wszystkie twoje pakiety tex również znikną, ponieważ jedynym powodem, dla którego tam były, było to, że zależały one od texlive-full, którego już nie ma.
isarandi
@isarandi Jeśli użyłeś texlive-full do instalacji, to brzmi dobrze. Więcej referencji: propozycja podziału dokumentów w 2017 r .: bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862 i więcej danych na temat rozmiarów: reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb
14

Szybki i brudny sposób na znalezienie zainstalowanych pakietów texlive (jestem w 100% pewien, że istnieją inne sposoby):

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

I usuwanie ich:

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 Sá Maia
źródło
3
To również usuwa texlive-fullw Ubuntu 16.04.
Jus12
6
texlive-fullto metapakiet, który wyciąga wszystkie zależności, w tym dokumentację.
Denilson Sá Maia,
To najlepsza i najbardziej bezproblemowa odpowiedź.
shivams
3

Czy wiesz, co zajmuje całą tę przestrzeń? Mój /usr/share/docma tylko ~ 50 MB. Jeśli nie, skorzystaj z aplikacji Disk Analyzer lub przejdź do terminala i uruchom cd /usr/share/doc; następnie biegnij, du -h -d 1aby dowiedzieć się, co zajmuje całą tę przestrzeń. Gdy wiesz, który program lub program jest problemem, możesz zdecydować, czy chcesz usunąć katalogi, /usr/share/docczy nie.

notkevin
źródło
Nie wiedziałem, że nazwy katalogów poniżej /usr/share/docto nazwy pakietów. Przynajmniej niektóre wydają się być prawdą. Użyłem du -sc * | sort -nw /usr/share/doc. Najwięcej miejsca zajęły pliki dokumentacji TeX Live 2009, których i tak nie chcę, ponieważ mam ręcznie zainstalowane pliki TL 2011. Dzięki, mimo że nadal lubię sprawdzać, czy istnieje sposób, aby dowiedzieć apt-getsię, jak przejrzeć większość dokumentacji, to rozwiązanie dobrze działało w tej sprawie.
Martin Scharrer
1
A dla tych, którzy nie czują się dobrze z du: możesz użyć Baobab do analizy użycia dysku. Chociaż trzeba go uruchomić jako root (sudo baobab), aby zindeksować zawartość /
Vistaus
0

czy rozsądnie jest [f] e po prostu usunąć zawartość /usr/share/doc?

Jeśli to zrobisz, pliki zostaną ponownie zainstalowane, gdy którykolwiek z pakietów zostanie zaktualizowany. Zamiast tego powinieneś usunąć odpowiednie pakiety dokumentacji, które często (ale nie zawsze) kończą się-doc .

Ślimak mechaniczny
źródło