Почему apt-get отмечает пакеты, которые я не хочу напрямую?

Если я попытаюсь установить метапакет apt-get install lubuntu-desktop а затем увидеть вывод apt-mark showmanual | grep lubuntu Я вижу гораздо больше, чем просто lubuntu-desktop:

lubuntu-artwork
lubuntu-core
lubuntu-deskto

Так, apt-get install lubuntu-desktop помечает как установленный вручную не только пакет lubuntu-desktop но также это зависимости или что-то. Но мне не нужны эти пакеты напрямую, и это поведение странное и неожиданное.

Есть ли способ настроить apt пометить как установленные вручную только те пакеты, которые я устанавливаю руками, а не с их зависимостями или что-то в этом роде?

2 ответа

Решение

Быстрый поиск по подходящим источникам дал мне (1). Насколько я понимаю, пакеты которые в разделе перечислены в APT::Never-MarkAuto-Sections, при установке пометьте их непосредственные зависимости как ручные. Таким образом, установка метапакета, для которого требуется, например, браузер, затем удаление метапакета оставляет браузер установленным. Это, кажется, предполагаемое поведение. Должно быть возможно изменить путем очистки по умолчанию APT::Never-MarkAuto-Sections значение.

(1) http://sources.debian.net/src/apt/1.1.9/apt-pkg/depcache.cc/?hl=849

Из Ubuntu:

Зависимости пакетов

Программы часто используют одни и те же файлы друг с другом. Вместо того, чтобы помещать эти файлы в каждый пакет, можно установить отдельный пакет, чтобы обеспечить их для всех программ, которые в них нуждаются. Таким образом, для установки программы, которой нужен один из этих файлов, также должен быть установлен пакет, содержащий эти файлы. Таким образом, когда пакет зависит от другого, он называется зависимостью пакета. Задавая зависимости, пакеты можно сделать меньше и проще, а дубликаты файлов и программ в основном удаляются.

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

По вашему вопросу,

lubuntu-desktop зависит от следующего:

lubuntu-artwork lubuntu-core lubuntu-desktop ...

Таким образом, команда sudo apt-get install lubuntu-desktop также устанавливает их. Это неизбежно.

РЕДАКТИРОВАТЬ: Из Ubuntu:

кв-знак

       apt-mark will change whether a package has been marked as being
       automatically installed.
       When you request that a package is installed, and as a result other
       packages are installed to satisfy its dependencies, the dependencies
       are marked as being automatically installed. Once these automatically
       installed packages are no longer depended on by any manually installed
       packages, they will be removed by e.g.  apt-get or aptitude.

showauto

       showauto is used to print a list of automatically installed
       packages with each package on a new line. All automatically
       installed packages will be listed if no package is given. If
       packages are given only those which are automatically installed will be shown.

showmanual

       showmanual can be used in the same way as showauto except that it
       will print a list of manually installed packages instead.

На страницах руководства уже сказано, что он также будет включать в себя свои зависимости.

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