Удалить документацию для экономии места на жестком диске


57

Мне нравится создавать довольно маленькую установку Ubuntu на компьютере Virtual Box. В основном он должен просто предоставлять TeX Live и связанные с ним инструменты. Теперь я понял, что у меня почти 1 ГБ данных /usr/share/doc. В этом случае мне не нужна эта документация, только manстраницы, связанные с LaTeX , которые там не находятся.

Есть ли способ удалить все эти файлы документации, используя apt-get?
Кроме того, разумно ли сохранить просто удалить содержимое /usr/share/doc?
Я хотел бы поделиться машиной Virtual Box с другими, которые не должны работать в беде.



Тот же вопрос для Debian unix.stackexchange.com/questions/180400/...
user7610

Ответ Денилсона решает эту проблему, не прибегая к этому молотку. Просто удалите пакеты документов.
Zaz

Ответы:


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/каталог с ~ 150 МБ до ~ 20 МБ.


Мне пришлось пересоздать одну из этих папок, чтобы получить рекомендацию по очистке @ denilson-sá. В частности: mkdir /usr/share/info.
AT

3
На локальном компьютере вы также можете удалить файлы авторских прав, что сэкономит еще ~ 50 МБ. Прокомментируйте эту строку как:# path-include /usr/share/doc/*/copyright
rubo77

1
Первая строка (плюс удаление авторских прав) оставила мне 37 МБ 13 апреля. Есть много ссылок, которые пропускаются при поиске. Это помогает на 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. Есть еще много файлов, оставленных позади, хотя.
Ahcox

@AT, команды в моем ответе не удаляются /usr/share/info; только его содержимое. Каталог должен оставаться там после запуска их.
Эндрю Энсли

1
Я не рекомендую этот шаг для нескольких МБ. Я сделал, и моя система сломалась. Например, Virtualbox проверяет установку, проверяя, существует ли каталог. /usr/share/doc/virtualboxСоздал каталог и все работало хорошо. У меня ушло около 2 дней, чтобы понять это. Разговор о пространственно-временном обмене!
Jus12

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 Если вы использовали 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это метапакет, который извлекает все зависимости, включая документацию.
Денилсон Са Майя

Это самый лучший и самый простой ответ.
Шивамс

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
А для тех, кому не по душе du: вы можете использовать Baobab для анализа использования диска. Хотя для индексации содержимого /
Vistaus

0

Разумно ли просто удалить содержимое /usr/share/doc?

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.