В системах Linux установка некоторых пакетов зависит от других пакетов или библиотек для правильной работы.
Например, если вы хотите установить пакет с именем «mypackage», вам понадобятся его зависимые библиотеки.
Позже, если вы удалите «mypackage», пакет, содержащий библиотеки, будет по-прежнему находиться в системе без использования.
Чтобы удалить эти пакеты, нам нужно использовать некоторые инструменты.
В этом уроке вы узнаете, как установить некоторые инструменты, которые используются для поиска и удаления потерянных библиотек из вашей системы Ubuntu 16.04.
Обычно apt может управлять зависимостями между пакетами и apt-get autoremove предлагает вам возможность удалить любые потерянные пакеты.
Но если вы установили зависящий пакет вручную, перед установкой «mypackage» все равно останется в системе.
Поэтому нам нужно использовать инструменты для этой цели.
1) Gtkorphan
GtkOrphan – это графический инструмент, который позволяет находить и удалять потерянные пакеты.
Он реализует интерфейс GUI для deborphan, добавляя возможность удаления пакетов, которая сканирует вашу систему для потерянных библиотек и удаляет их, когда вы говорите ей об этом.
# apt install gtkorphan Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: deborphan dialog libgtk2-gladexml-perl menu Suggested packages: menu-l10n The following NEW packages will be installed: deborphan dialog gtkorphan libgtk2-gladexml-perl menu
2) Deborphan
DebOrphan – это инструмент командной строки, который позволяет вам узнать о потерянных пакетах в вашей системе Linux.
Обычно, когда вы устанавливаете gtkorphan, он поставляется с deborphan. Но вы хотите установить deborphan, как показано ниже:
# apt install deborphan
Теперь, чтобы перечислить осиротевшие пакеты, просто используйте команду в терминале:
# deborphan libllvm3.8:amd64 libmircommon5:amd64 libsensors-applet-plugin0:amd64 libqmi-glib1:amd64
Вы можете увидеть, что у нас есть тот же список, что и в gtkorphan.
Чтобы удалить все потерянные пакеты, используйте команду:
# apt-get remove --purge `deborphan` Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: libllvm3.8* libmircommon5* libqmi-glib1* libsensors-applet-plugin0* 0 upgraded, 0 newly installed, 4 to remove and 23 not upgraded. After this operation, 43.8 MB disk space will be freed. Do you want to continue? [Y/n]
Вы можете видеть, что он предлагает удалить все 4 потерянных пакета.
Теперь, если вы хотите исключить некоторые определенные пакеты, вы можете использовать параметр -exclude, как показано ниже
# apt-get remove --purge `deborphan --exclude=libsensors-applet-plugin0:amd64` Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: libllvm3.8* libmircommon5* libqmi-glib1* 0 upgraded, 0 newly installed, 3 to remove and 23 not upgraded. After this operation, 43.8 MB disk space will be freed. Do you want to continue? [Y/n]
Теперь вы можете видеть, что он предлагает только удалить 3 потерянных пакета не 4, как раньше.
Теперь вы знаете два основных инструмента, которые помогут вам удалить потерянные пакеты.
Однако вы должны заметить, что некоторые зависимости неправильно определены на уровне пакета, и deborphan может удалить компонент, который может быть вам полезен, поэтому будьте осторожны.
Скриншоты