Вопрос: Узнайте, какие пакеты были установлены с определенным пакетом?


У меня простой вопрос.

Когда вы устанавливаете пакет, используя apt-get install, часто он устанавливает несколько пакетов зависимостей, а также основной. Мне было интересно, есть ли способ полностью отменить эту установку. Часто удаление основного пакета оставляет за собой несколько пакетов. Например, я недавно установил kubuntu-desktop, Желая полностью удалить его, я должен был следовать инструкциям на этой странице:

http://www.psychocats.net/ubuntu/puregnome

Я хотел бы точно знать, как они получили эту информацию о всех пакетах для удаления.

Спасибо за любую помощь!


4
2018-04-28 03:28


Источник


Есть программа под названием deborphan который имеет этот тип функциональности из памяти. - boehj


Ответы:


В большинстве случаев autoremove командование apt-get будет делать трюк, он удалит все пакеты, установленные и помеченные как автоматически установленный, но не требуемый другим установленным пакетом. Это предпочтительный и безопасный метод, когда основной пакет не является метапакетом.

Это не относится к метапакетам вроде kubuntu-desktop, и это связано с тем, что пакеты, установленные в результате установки метапакета, не помечены как автоматически установленные, поэтому их нельзя удалить с помощью autoremove,

Удаление всех пакетов, отмеченных как зависимости или рекомендованных данным метапакетом, например kubuntu-desktop, может быть опасным, поскольку некоторые из этих пакетов могут быть в вашей системе до установка метапакета.

Самый безопасный метод, на мой взгляд, - это анализ /var/log/dpkg.log и его предков, чтобы посмотреть, какие пакеты были установлены во временные метки вокруг отметки времени установки данного оскорбительного пакета. Я предлагаю команду, чтобы получить более краткий и очищенный вид конкатенации задействованных файлов журнала:

less $(ls -rt /var/log/dpkg.log*) |
  awk '$3 ~ /^(install|upgrade|remove|purge)$/' |
  less

4
2018-04-28 07:06



Что я сделал - это удалить все, что звучало как KDE, используя apt-get remove, а затем внимательно посмотреть, есть ли что-либо в списке удаляемых пакетов, которые вы хотите сохранить. Если вы хотите сохранить что-то в списке, то пакет, который вы начали удалять, не может быть удален. - Mei


Я думаю, что самый простой способ узнать, какие пакеты пришли с чем-то вроде kubuntu-desktop (или любого другого пакета), - это проверить http://packages.ubuntu.com/, Это дает вам подробный список всего, что требуется, рекомендуется и предлагается для каждого пакета, доступного через официальные репозитории.

Для 10.10 пакет kubuntu-desktop находится здесь: http://packages.ubuntu.com/maverick/kubuntu-desktop

Если что-то помечено как «зависит», необходимо, чтобы пакет функционировал правильно. Если он помечается как «рекомендует», он устанавливается по умолчанию, но не требуется (apt-get install --no-intstall-рекомендует останавливать их от установки), и предлагаемые являются чисто факультативными и не установлены по умолчанию.

Вы также можете проверить диспетчер синаптических пакетов (установлен по умолчанию - в меню администрирования, которое, как я полагаю). Щелкните правой кнопкой мыши любой пакет и выберите «Свойства», выберите вкладку «Зависимости» и убедитесь, что выпадающее меню включено «Зависимости». Это показывает вам ту же информацию, что и на packages.ubuntu.com.

Насколько мне известно, оба этих метода перечисляют прямые зависимости текущего пакета, но не зависимости зависимостей. Я не на это 100%, но меня это не удивило.

если вы устанавливаете пакеты через apt-get и вытягиваете зависимости и рекомендуемые пакеты, прежде чем вы нажмете клавишу «y», вы всегда можете скопировать списки пакетов, которые будут установлены. Затем вы можете подключить этот список к apt-get remove, и он должен избавиться от всего этого. Просто убедитесь, что ничто другое, что вы установили (что вы хотите сохранить), также зависит от всего, что будет удалено.

Другим полезным инструментом является apt-get autoremove. Это приведет к удалению всего, что вы не установили вручную (он был втянут в качестве зависимости или предлагаемого пакета), который был зависимым от того, что больше не установлено. По моему опыту, это не всегда работает для мета-пакетов, таких как kubuntu-desktop.


0
2018-04-28 06:33





Пытаться debfoster, Сначала установите его, используя sudo apt-get install debfoster а затем запустить sudo debfoster kubuntu-desktop, Он удалит все метапакеты, установленные как часть kubuntu-desktop,


0
2018-04-28 03:58





использование apt-cache depends для перечисления всех пакетов «внутри» метапакета:

apt-cache depends kxstudio-meta-audio-plugins-lv2
kxstudio-meta-audio-plugins-lv2
  Depends: carla-lv2
  Depends: carla
  Depends: carla-dbg
  Depends: abgate
  Depends: avldrums.lv2
  Depends: drmr
  Depends: eq10q
  Depends: freaked-plugins
  (...)

0
2017-07-13 14:30