Видаліть документацію для економії місця на жорсткому диску


58

Мені подобається створювати досить невелику установку Ubuntu в машині Virtual Box. В основному він повинен просто надавати TeX Live та пов'язані з ним інструменти. Тепер я зрозумів, що у мене є майже 1 Гб даних /usr/share/doc. Мені в цій справі ця документація не потрібна, лише пов’язані з LaTeX manсторінки, які там не знаходяться.

Чи є можливість видалити всі ці файли документації за допомогою apt-get?
Крім того, чи розумно економити лише видалення вмісту /usr/share/doc?
Мені подобається ділитися машиною Virtual Box з іншими, які не повинні бігати.



Те саме питання для Debian unix.stackexchange.com/questions/180400/…
user7610

Відповідь Денілсона вирішує цю проблему, не беручи до неї молот. Просто видаліть пакети doc.
Заз

Відповіді:


36

Згідно з вікі Ubuntu , ви можете доручити dpkgне встановлювати жодну документацію. Це повинно запобігти встановленню apt будь-якої документації (крім інформації про авторські права).

Створіть файл, /etc/dpkg/dpkg.cfg.d/01_nodocякий визначає потрібні фільтри. Приклад:

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

Потім ви можете вручну видалити будь-яку вже встановлену документацію:

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

Якщо ви також хочете видалити довідкові сторінки, виконайте такі дії:

rm -rf /usr/share/man/*

Приклад написаний для OEM-виробників, але він працював так само добре. Зменшив мій /usr/share/doc/каталог з ~ 150MB до ~ 20MB.


Мені довелося відтворити одну з цих папок, щоб отримати рекомендацію @ denlson-sá щодо очищення. В зокрема: mkdir /usr/share/info.
AT

3
На локальній машині ви також можете видалити файли авторських прав, що заощадить ще ~ 50 Мб. Прокоментуйте цей рядок, як:# path-include /usr/share/doc/*/copyright
rubo77

1
Перший рядок (плюс видалення авторських прав) 13.04 залишив мені 37 МБ. Існує безліч файлів, що пов’язані між собою, знахідкою пропущено. Це допомагає при 5МБАХ: find /usr/share/doc | egrep "\.gz" | xargs rm. Це краплі розміром до 26 МБ: find /usr/share/doc | egrep "\.pdf$" | xargs rm. Аж до 21 МБ: find /usr/share/doc | egrep "\.tex$" | xargs rm. Завантажено більше файлів.
ахкокс

@AT, команди у моїй відповіді не видаляються /usr/share/info; просто його зміст. Після запуску їх каталог має бути там.
Ендрю Енслі

1
Я не рекомендую цей крок для кількох МБ. Я це зробив, і моя система зламалася. Наприклад, Virtualbox перевіряє встановлення, перевіряючи, чи існує каталог .. /usr/share/doc/virtualboxСтворив каталог і все працювало добре. Узяв мене близько 2 днів, щоб зрозуміти це. Говоріть про компроміс з простором та часом!
липня 1616 року

31

Це повинно видалити документацію для пакетів, пов'язаних з латексом:

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

Це економить кілька сотень МБ.


8
Це, здається, також видалило мій texlive-fullпакет.
Жовтень

5
@joar Це призначено. texlive-full - це метапакет, який тягне за собою всі залежності, включаючи документацію
nealmcb

1
@nealmcb, Але тоді autoremove видалить усі ваші текстові пакети. Більш детально: якщо ви встановили tex через texlive-full, а потім видаліть пакети doc, тоді texlive-full не буде. Тоді наступного разу, коли ви запустите apt-get autoremove, всі ваші текстові пакети також зникнуть, тому що єдиною причиною їх там є те, що вони залежать від texlive-full, якого більше немає.
isarandi

@isarandi Якщо ви використовували texlive-full для встановлення, це здається гарним моментом. Ще кілька посилань: пропозиція 2017 року розділити документи: bugs.debian.org/cgi-bin/bugreport.cgi?bug=877862 та більше даних про розміри: reddit.com/r/LaTeX/comments/2naxke/why_is_texlive_so_large
nealmcb

14

Швидкий і брудний спосіб знайти встановлені пакети texlive (я на 100% впевнений, що існують інші способи):

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

І видаляючи їх:

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
Це також видаляється texlive-fullна Ubuntu 16.04.
Jus12

6
texlive-fullце метапакет, який тягне всі залежності, включаючи документацію.
Denilson Sá Maia

Це найкраща і найбільш суєтна відповідь.
шивам

3

Чи знаєте ви, що займає весь цей простір? Моє /usr/share/docлише ~ 50 Мб. Якщо ні, скористайтеся програмою Disk Analyzer або перейдіть до терміналу та запустіть cd /usr/share/doc; потім запустіть, du -h -d 1щоб дізнатися, що використовує весь цей простір. Як тільки ви дізнаєтесь, яка програма чи програма є проблемою, ви можете вирішити, чи слід видаляти каталоги /usr/share/docчи ні.


Мені не було відомо, що імена каталогів під /usr/share/docназвою пакетів. Принаймні, дещо це здається правдою. Я використовував du -sc * | sort -nу /usr/share/doc. Більшість місця було взято з файлів документації TeX Live 2009, які я все одно не хочу, тому що в мене встановлені файли TL 2011 вручну. Дякую, хоча мені ще подобається бачити, чи є спосіб сказати, apt-getяк позбутися більшості документації, це рішення добре спрацювало для цієї справи.
Мартін Шеррер

1
А для тих, хто не задоволений ду: ви можете використовувати Baobab для аналізу використання диска. Хоча потрібно запустити його як root (sudo baobab), щоб індексувати вміст /
Vistaus

0

чи розумно sa [f] e просто видалити вміст /usr/share/doc?

Якщо ви це зробите, файли будуть перевстановлені після оновлення будь-якого з пакетів. Натомість слід видалити відповідні пакети документації, які часто (але не завжди) закінчуються-doc .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.