Linux удалить пакет с зависимостями

Обновлено: 06.07.2024

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

Большинство команд apt необходимо запускать от имени пользователя с привилегиями sudo .

Это руководство служит кратким справочником по командам apt .

Обновление индекса пакета ( apt update )

Чтобы обновить индекс пакета, выполните команду ниже. Это приведет к получению последних изменений из репозиториев APT:

Всегда обновляйте индекс пакета перед обновлением или установкой новых пакетов.

Обновление пакетов ( apt upgrade )

Чтобы обновить установленные пакеты до последних версий, выполните:

Команда не обновляет пакеты, требующие удаления установленных пакетов.

Если вы хотите обновить один пакет, передайте имя пакета:

Полное обновление ( apt full-upgrade )

Разница между upgrade и full-upgrade заключается в том, что при последующем удаляются установленные пакеты, если это необходимо для обновления всей системы.

Будьте особенно осторожны при использовании этой команды.

Установка пакетов ( apt install )

Установить пакеты так же просто, как запустить следующую команду:

Если вы хотите установить несколько пакетов с помощью одной команды, укажите их в виде списка, разделенного пробелами:

Для установки локальных файлов deb укажите полный путь к файлу. В противном случае команда попытается получить и установить пакет из репозиториев APT.

Удаление пакетов ( apt remove )

Вы также можете указать несколько пакетов, разделенных пробелами:

Команда remove удалит указанные пакеты, но при этом могут остаться некоторые файлы конфигурации. Если вы хотите удалить пакет, включая все файлы конфигурации, используйте purge вместо remove :

Удалить неиспользуемые пакеты ( apt autoremove )

Каждый раз, когда в системе устанавливается новый пакет, который зависит от других пакетов, также будут установлены зависимости пакетов. Когда пакет будет удален, зависимости останутся в системе. Эти оставшиеся пакеты больше не используются ничем и могут быть удалены.

Чтобы удалить ненужные зависимости, используйте следующую команду:

Листинг пакетов ( apt list )

Команда list позволяет вывести список доступных, установленных и обновляемых пакетов.

Чтобы вывести список всех доступных пакетов, используйте следующую команду:

Команда напечатает список всех пакетов, включая информацию о версиях и архитектуре пакета. Чтобы узнать, установлен ли конкретный пакет, вы можете отфильтровать вывод с помощью команды grep .

Чтобы вывести список только установленных пакетов, введите:

Перед фактическим обновлением пакетов может быть полезно получить список обновляемых пакетов:

Поиск пакетов ( apt search )

Эта команда позволяет вам искать данный пакет в списке доступных пакетов:

В случае обнаружения команда вернет пакеты, имя которых соответствует поисковому запросу.

Информация о пакете ( apt show )

Информация о зависимостях пакетов, размере установки, источнике пакета и т. Д. Может быть полезна перед удалением или установкой нового пакета.

Чтобы получить информацию о данном пакете, используйте команду show :

Выводы

Мы довольно часто устанавливаем новые пакеты в свою систему, например, нам нужно решить определенную задачу и мы ставим все программы, которые могут помочь и проверяем их по очереди, но будет лучше если в системе не будет ненужных программ.

Это повысит вашу безопасность. В этой статье мы рассмотрим как выполняется удаление пакетов Debian различными способами, рассмотрим как удалить пакет имя которого вы знаете, а также как удалить все ненужные пакеты из системы.

Удаление пакетов Debian

Самый простой способ удалить программу Debian, которая вам больше не нужна - это воспользоваться пакетным менеджером apt. Просто используйте команду apt remove:

$ sudo apt-get remove имя_программы

Или можно удалить все пакеты, которые касаются этой программы, например:

$ sudo apt-get remove имя_программы*

Например, удалим установленный по умолчанию почтовый клиент evolution. Если бы мы использовали звездочку, то были бы удаленны все пакеты, имя которых начинается на evolution, например, evolution-data и evolution-plugins.

sudo apt-get remove evolution


Но при таком способе удаления в системе могут оставаться конфигурационные файлы программы, а также дополнительные пакеты. Чтобы удалить конфигурационные файлы можно использовать опцию --purge или команду purge:

sudo apt-get --purge remove evolution

sudo apt-get --purge --auto-remove remove evolution


sudo apt-get purge --auto-remove evolution

Последняя команда выполняет полное удаление пакета из системы. Но чтобы удалить пакет вам нужно сначала знать его имя. Имя пакета можно узнать с помощью утилиты dpkg. Сначала ищем какие-либо файлы программы по ее названию, например, тот же evolution:

find / -name evolution


Дальше смотрим имя пакета, которому принадлежит выбранный файл:

sudo dpkg -S /usr/bin/evolution


А дальше, уже на основе полученной информации вы можете удалить лишний пакет. Рассмотрим как удалить пакет Debian с помощью dpkg, для этого есть опция -r или --remove. Но тут вам придется указать все зависимости:

sudo dpkg --remove evolution evolution-plugins


У dpkg есть свой аналог команды purge, это опция -p или --purge, которая позволяет удалить пакет Debian полностью и не оставлять никаких конфигурационных файлов в системе:

sudo dpkg --purge evolution evolution-plugins

Если пакет не удаляется потому что был поврежден или была повреждена база пакетов, а вы считаете что удаление именно этого пакета может спасти ситуацию, то используйте опцию --force-remove-reinstreq:

sudo dpkg --remove --force-remove-reinstreq имя_пакета

Также можно использовать опцию --force-depends, чтобы не удалять пакеты, которые зависят от удаляемого:

sudo dpkg -r --force-depends имя_пакета

Иногда, во время удаления пакетов, некоторые зависимости остаются в системе, например, рекомендованные пакеты. Их тоже можно удалить чтобы освободить место и не держать лишнего на компьютере. Для этого используется программа deborphan. Для начала вам нужно будет ее установить:

sudo apt-get install deborphan

Затем для поиска всех пакетов, которые можно удалить наберите:


Дальше вы можете удалить каждый пакет из списка вручную с помощью apt-get или dpkg. Если вы уже знаете, что все пакеты, которые будут удалены не нужны, то можно объединить команду deborphan с xargs и автоматически их все сразу удалить:

deborphan | xargs sudo apt-get -y remove --purge


Имя каждого пакета будет подставлено в конец строки.

Удаление пакетов в GUI

Пакеты можно удалять не только через терминал, но и через графический интерфейс. В Debian используется окружение рабочего стола Gnome, поэтому там доступен центр приложений Gnome Software. Вы можете запустить его из главного меню системы:


Затем перейдите на вкладку "Установлено":


Вам осталось выбрать приложение, которое хотите удалить, а затем нажать кнопку "Удалить":


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


Выводы

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

Иногда вы можете установить приложение на свой Ubuntu и, попробовав его, решите, что это приложение не для вас. В этом случае вы, вероятно, захотите удалить пакет.

В этой статье мы покажем вам, как удалить пакеты программного обеспечения с помощью графического «Центра программного обеспечения Ubuntu» и из командной строки с помощью команд apt или apt-get .

Только root или пользователь с привилегиями sudo могут удалять пакеты из Ubuntu.

Удаление пакетов с помощью программного обеспечения Ubuntu Software Center

Если вам не нравится командная строка, вы можете удалить приложения через Центр программного обеспечения Ubuntu (USC). Эта утилита предоставляет графический интерфейс для поиска, установки и удаления приложений.

На экране «Действия» найдите «Программное обеспечение Ubuntu» и щелкните оранжевый значок USC. Это откроет инструмент USC.

Чтобы получить список всех установленных приложений, щелкните вкладку «Установленные» на верхней панели навигации.

Прокрутите вниз, пока не найдете приложение, которое хотите удалить, и нажмите кнопку «Удалить» рядом с ним.

Инструмент Ubuntu Software показывает только установленные приложения с графическим пользовательским интерфейсом (GUI). Если вы не можете найти пакет, который хотите удалить, вам следует удалить его из командной строки.

Удаление пакетов с помощью командной строки

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

Вы можете открыть свой терминал с помощью Ctrl+Alt+T или щелкнув значок терминала.

Перед удалением программного пакета вы должны сначала найти точное имя пакета. Чтобы получить список всех установленных пакетов в вашей системе, введите:

В Ubuntu, Debian и связанных дистрибутивах Linux вы можете устанавливать, обновлять, удалять и иным образом управлять пакетами программного обеспечения с помощью утилит командной строки apt и apt-get . Синтаксис обеих команд идентичен.

Чтобы удалить установленный пакет, выполните следующую команду:

Замените package_name именем пакета, который вы хотите удалить.

Вы также можете удалить несколько пакетов. Имена пакетов должны быть разделены пробелом:

Команда remove удаляет указанные пакеты, но может оставить некоторые файлы пакетов. Если вы хотите удалить пакет, включая все его файлы, используйте purge вместо remove :

Удалить пакеты Snap

Если приложение, которое вы хотите удалить, отсутствует в списке при запуске sudo apt list --installed возможно, оно было установлено как пакет snap.

Чтобы вывести список всех установленных пакетов snap, выполните следующую команду:

Как только вы узнаете точное имя пакета, вы можете удалить его, набрав:

Удалить неиспользуемые пакеты

Каждый раз, когда вы устанавливаете новый пакет, который зависит от других пакетов, зависимости пакета также будут установлены. Когда пакет будет удален, пакеты зависимостей останутся в системе. Эти оставшиеся пакеты больше не используются ничем и могут быть удалены.

Вы можете удалить ненужные пакеты с помощью:

Выводы

Мы показали вам, как удалять приложения из вашей Ubuntu через командную строку и используя Центр программного обеспечения Ubuntu. Знание того, как удалять пакеты, является важной частью системного администрирования Linux.

Существует ряд причин, по которым вы захотите удалить ранее установленный пакет из вашего Ubuntu. Например, вам может потребоваться удалить приложение, которое вам больше не нужно, или освободить место на диске.


Пакет RPM состоит из архива файлов и информации о пакете, такой как имя, версия, описание и информация о зависимостях от других пакетов RPM.

Многие другие современные дистрибутивы, такие как Ubuntu и SuSE, также используют RPM.

Преимущества использования RPM включают в себя:

  • Упрощенное распространение, установка, обновление и удаление программного обеспечения
  • Гарантирует, что:
    необходимое программное обеспечение установлено в системе.
    версии обязательного программного обеспечения остаются совместимыми.
    локально модифицированные файлы конфигурации не засоряются при обновлении RPM.
    локально измененные файлы конфигурации сохраняются с суффиксом «.rpmsave», если пакет будет удален позже.
  • Позволяет подтвердить, что установленное программное обеспечение не было изменено, модифицировано, повреждено или изменено каким-либо образом.

RPM хранит информацию об установленных пакетах в каталоге «/var/lib/rpm».

Компоненты инструмента RPM:

  • Пользовательская база данных, содержащая информацию обо всем программном обеспечении, установленном в системе, собранную с отдельных RPM.
  • Исполняемый файл «/bin/rpm».
  • Доступные через Интернет репозитории доступных пакетов RPM.

Типы RPM-пакетов

RPM-пакеты делятся на две категории: исходные и бинарные.

В исходном RPM находятся не только исходные файлы исходного кода программы, но и скрипты, которые позволяют автоматически перекомпилировать код, автоматически устанавливать его и удалять автоматически.

В исходном RPM нет исполняемых файлов конечного пользователя. Обычно только разработчики заинтересованы в RPM с исходным кодом.

Двоичный RPM содержит компоновки конечного пользователя RPM. Имена двоичных файлов RPM идентифицируют архитектуру хоста для содержимого.

Например, двоичный файл RPM:

Он содержит файлы, которые можно использовать только на 64-битном процессоре Intel X86.

Другие общие значения архитектуры включают «i386» для 32-разрядных хостов Intel.

Некоторые двоичные RPM-пакеты могут быть установлены на любой архитектуре процессора, потому что их файлы будут работать на любом хосте;

Примером этих пакетов «.noarch.rpm» является RPM «tzdata», который содержит информацию о мировых часовых поясах.

Чтобы обновить вашу систему до последней версии пакета, вам потребуется самая последняя двоичная RPM-версия.

Схема именования RPM

Каждый пакет RPM содержится в одном файле.

Имя файла имеет несколько полей, чтобы полностью идентифицировать содержимое пакета.

Хотя сами инструменты RPM не полагаются на само имя файла, вы должны понимать соглашение об имени файла, чтобы помочь вам определить или загрузить соответствующий пакет. Вот пример имени файла RPM:

Этот RPM предназначен для оболочки BASH («/bin/bash»).

Имя файла состоит из нескольких частей:

Примечание:[version] контролируется первоначальным автором, а [release] контролируется тем, кто создал RPM.

Понимание версий RPM

Поля RPM [version] и [release] не всегда строго числовые и могут содержать другие символы, кроме обычных цифр.

Обычно можно увидеть как версию «10», так и версию «10а» в одном и том же пакете.

Иногда выбрать самую последнюю версию может быть сложно.

Вот как сам RPM сравнивает номера версий и выпусков внутри себя:

1. Удалите префикс [name] и суффикс «. [Arch] .rpm». Например,:
«Bash-3.1-16.1.x86_64.rpm» становится «3.1-16.1», а «bash-3.1-16.5a.1.x86_64.rpm» становится «3.1-16.5a.1»

2. Сравнивайте оставшиеся строки посимвольно слева направо, пока не встретите цифру.

Если символы отличаются, какой бы символ не появился позже в последовательности сопоставления, это более поздние варианты.

3. При обнаружении цифры преобразуйте всю последовательность цифр в одно двоичное число. В нашем примере два символа «16» объединяются в значение шестнадцать (16). Полученные двоичные значения сравниваются, и чем больше значение, тем выше новизна.

Таким образом, RPM с [версией] «0010» является более новым, чем RPM с «версией» «9».

Шаги 2 и 3 повторяются по мере необходимости, пока не произойдет различие.

Установка и удаление файлов

Примечание. Обычно только один или несколько RPM-пакетов могут быть установлены одновременно.

Более поздние версии обычно устанавливаются с использованием функции RPM «-U» (обновление) вместо функции «-i» RPM.

Распространенными исключениями из единственного правила RPM являются RPM ядра.

В системе обычно установлено несколько версий ядер; У RPM есть список, у которых может быть установлено несколько версий.

Чтобы удалить одну версию, когда установлено несколько, необходимо полностью указать имя и версию пакета.

В архитектуре x86_64 обычно устанавливаются как 32-разрядные пакеты «.i386», так и 64-разрядные пакеты «.x86_64», поддерживающие как 32-разрядные, так и 64-разрядные приложения.

Обычно RPM не отображает архитектуру пакета в запросе, но вы можете отобразить его вручную.

Установка и удаление

Подсказка: никогда, никогда не используйте опцию «-U» для установки нового RPM ядра. Функция обновления «-U» сначала удаляет текущий RPM из системы, а затем пытается установить новый RPM. Любая проблема, которая препятствует установке нового RPM, приведет к тому, что система не будет загружаться. Это не то, что вам нужно, поэтому всегда используйте ключ «-i» для установки RPM ядра.

Запросы (пакеты и / или информация)

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

Вы можете запросить все установленные пакеты или один установленный пакет.

Вы также можете узнать, какой RPM предоставляет конкретный файл.

Информация

по умолчанию (имя пакета)
-i: общая информация
-l: список файлов

Примеры

Подсказка: при поиске определенного пакета RPM, когда точное имя неизвестно, используйте пайп таким образом:

Более поздние версии инструмента RPM позволяют сделать это кратко:

База данных RPM содержит множество атрибутов для каждого файла, установленного RPM.

Вы можете проверить текущее состояние файла по информации, каталогизированной RPM, когда пакет был установлен.

Примечание. Во многих дистрибутивах Linux имеется RPM «с предварительной связью», который пытается уменьшить время, необходимое для запуска приложения с использованием общей библиотеки (в большинстве приложений используется как минимум одна общая библиотека и, возможно, десятки), путем добавления специальной информации непосредственно в программный файл приложения.

Добавление этой информации делает запуск приложений быстрее, но изменения файла делают недействительными большинство атрибутов файла в базе данных RPM, таких как дата последнего изменения файла, размер файла и контрольная сумма файла MD5.

Восстановить базу данных RPM

Средство RPM использует свою собственную реализацию базы данных для хранения своей информации

. Иногда эта база данных может быть повреждена; симптомы включают заявления об отсутствии установленного пакета RPM; или попытки обновить RPM просто зависают.

Если ваша база данных RPM зависла или повреждена, вы можете попытаться восстановить ее с помощью этих команд. Этот процесс не гарантированно работает.

Вы должны войти в систему с привилегиями суперпользователя (он же «root») для этих действий.

Команды могут быть скопированы и вставлены непосредственно в окно рутового терминала.

1. Убедитесь, что в вашей системе не запущены процессы RPM. Используйте команду ps, чтобы идентифицировать их. Используйте команду kill, чтобы завершить любые процессы «rpm», которые вы найдете; «kill -9» на всякий случай.

2. Удалите файлы блокировки, которые использует RPM:

3. Если вы испытыли зависание команды «rpm», попробуйте снова.

Если это работает, это все. Если нет, выполните Шаг № 1 и № 2 снова. Затем перейдите к следующему шагу.

Читайте также: