Как убрать флаг «установлен вручную» и вернуться к «автоматически установленному» с помощью apt-get?


103

Чтобы что-то скомпилировать, мне нужно было установить zlib1g-devпакет, поэтому я запустил apt-get install zlib1g-dev.

apt-get приятно сообщил мне, что пакет уже был автоматически установлен из-за другого пакета, и что он понимает, что я хочу, чтобы он был установлен прямо сейчас:

# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.

Моя компиляция завершена, она мне больше не нужна, поэтому я хочу вернуть ее статус к предыдущему: автоматически установленному. Таким образом, он будет автоматически обрезан, когда он больше не понадобится apt-get autoremove.

Я не могу сделать, apt-get remove zlib1g-devтак как некоторые пакеты все еще зависят от этого.

Итак, как я могу вернуть zlib1g-devсостояние установки пакета в автоустановку ?

Я знаю, что могу редактировать /var/lib/apt/extended_statesвручную из

Package: zlib1g-dev
Auto-Installed: 0

в

Package: zlib1g-dev
Auto-Installed: 1

... но это просто не правильно.

Ответы:


81

Aptitude может помочь вам при первоначальной установке пакета:

aptitude install "zlib1g-dev&M"

Или после того, как вы установили пакет:

aptitude markauto "zlib1g"

Изменить: Если у вас нет способности, вы можете использовать

apt-mark auto zlib1g-dev

4
Хороший ответ, но ответ @ ArvindSing я + 1, apt-markпотому что он не требует установки aptitude. apt-markпоставляется с aptпакетом, который должен иметь каждый.
Кристофер Шульц

106

apt-mark может помочь вам:

apt-mark auto zlib1g-dev

Для 11.04 или старше используйте «markauto» вместо «auto»


8

Это то, что вы ищете.

sudo apt-get markauto first-package second-package etc-package

Источник:

apt-get --help

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