Почему склонный - получают установку и удаляют, не освобождают то же место

Почему делают apt-get install package и затем apt-get remove package не использовать и освобождать почти точно то же место? Например, с пакетом "latex2html" каждый добирается:

ubuntu:~$ sudo apt install latex2html
Need to get 758 MB of archives.
After this operation, 1,211 MB of additional disk space will be used.
Do you want to continue? [Y/n]
....
ubuntu:~$ sudo apt remove latex2html
The following packages will be REMOVED:
  latex2html
0 upgraded, 0 newly installed, 1 to remove and 92 not upgraded.
After this operation, 5,578 kB disk space will be freed.
Do you want to continue? [Y/n]
3
задан 31 January 2017 в 02:24

2 ответа

Если бы мы могли проверить полный вывод этих двух команд, мы, вероятно, обнаружили бы, что apt-get install latex2html установили намного больше пакетов (зависимостей latex2html), чем apt-get remove latex2html удалили (только одну, latex2html сам).

Легко видеть, что сумма набора положительных чисел A больше, чем сумма множества B, которое является истинным подмножеством A. Более конкретно: пакет latex2html (набор B по аналогии) занимает меньше пространство, чем тот же пакет, плюс все его зависимости (установите A, если во время установки пакета была хотя бы одна неудовлетворенная зависимость).

Если вы хотите удалить все неиспользованных 1 пакетов зависимостей, вы можете использовать:

sudo apt remove <PACKAGE>
sudo apt autoremove

или просто

sudo apt autoremove <PACKAGE>

Все эти команды будут запрашивать подтверждение, если Apt намеревается сделать что-то помимо того, что вы указали ему сделать напрямую, e. г. установить или удалить другой пакет поверх тех, которые указаны в командной строке. Вы также можете попросить apt показывать только то, что он будет делать, а не делать это на самом деле через параметры командной строки -s, --simulate, --just-print, --dry-run, --recon или --no-act ( все эквивалентные).


1 В этом контексте «неиспользованный» означает, что ни один установленный вручную пакет не зависит от него (напрямую или транзитивно). «Вручную» означает, что кто-то или что-то поручил Apt установить этот конкретный пакет напрямую, т.е. е. через apt-get install <PACKAGE>, Центр программного обеспечения или какой-либо другой интерфейс менеджера пакетов, и что он не был просто выбран для установки в качестве зависимости другого пакета от Apt.

10
ответ дан 1 December 2019 в 13:01

В дополнение к тому, что сказанный @DavidFoerster, apt remove не только не удалит зависимости. Особенно файлы конфигурации довольно часто разбросаны, лежа. От man apt-get:

удаляют

, удаляют, идентично установке за исключением того, что пакеты удалены вместо установленного. Обратите внимание, что удаление пакета оставляет свои конфигурационные файлы в системе. Если знак "плюс" будет добавлен к имени пакета (без прошедшего пространства), то определенный пакет будет установлен вместо удаленного.

чистка

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

Для избавлений от всего, включая файлы конфигурации, выполнение sudo apt purge вместо этого, как отмечено в кавычке.

Также примечание, которое apt помещает сами загруженные файлы пакета в /var/cache/apt/archives/ в случае, если ему нужны они снова. Они не будут удалены ни одним из sudo apt remove/autoremove/purge, который поднимает немного больше дискового пространства. Можно удалить все кэшируемые файлы пакета, которые не могут больше загружаться путем выполнения sudo apt autoclean и все они использующие sudo apt clean.

От man apt-get:

чистый

чистый убирает локальный репозиторий полученных файлов пакета. Это удаляет все кроме файла блокировки от/var/cache/apt/archives/и/var/cache/apt/archives/partial/.

авточистый (и авточистый псевдоним с тех пор 1.1)

Как чистый, авточистое убирает локальный репозиторий полученных файлов пакета. Различие - то, что это только удаляет файлы пакета, которые больше не могут загружаться и в основном бесполезны. Это позволяет кэшу сохраняться за длительный период без него выходить из-под контроля. Параметр конфигурации APT:: чисто установленный будет препятствовать тому, чтобы установленные пакеты были стерты, если это будет установлено на прочь.

3
ответ дан 1 December 2019 в 13:01

Другие вопросы по тегам:

Похожие вопросы: