Как удалить пакет в centos 7
Команда rpm хороша не только для установки ПО. Правильное удаление пакетов настолько же частая операция, нуждающаяся в автоматизации.
Для удаления пакетов используется опция -e. Основной синтаксис следующий:
| # rpm e xcopilot |
Используется имя файла без версии и постфиксов. Если установлено несколько версий одноименного пакета, а такое бывает, потребуется указать кандидата на удаление точнее:
| # rpm e jikes-1.16-1 |
Для выполнения этих и других подобных действий необходимы права суперпользователя.
Команда удаления, так же как и команды установки, поддерживает опцию —test. Если от пакета зависит большое число установленного ПО, можно проверить, какие приложения и библиотеки утратят свою работоспособность:
error: Failed dependencies:
3.3.1 Был ли удален пакет?
Используя режим запросов, можно проверить, был ли пакет уже установлен. Но также можно проверить, был ли пакет удален. Например:
# rpm -e jikes-1.16-1
package jikes is not installed
3.3.2 Удаление списка пакетов одной командой
Можно удалить группу пакетов, сформировав список в командной строке:
3.3.3 Опции, применимые для команд удаления
Опция —allmatches заставит rpm удалить все пакеты, имена которых содержат шаблон, заданный администратором в командной строке. Если более, чем один пакет соответствует шаблону, а опция не указана, работа будет завершена с сообщением об ошибке удаления.
Опция —nodeps позволяет удалить пакет даже в том случае, если в системе все еще есть зависящие от него пакеты. Использование этой и ей подобных опций может разрушить систему.
Опция —repackage позволит собрать удаляемые пакеты в rpm-пакет, который появится в директории для таких пакетов. По умолчанию это /var/spool/repackage. Пакет, построенный с помощью опции —repackage не является полноценным пакетом и его нельзя установить.
Подобно режиму установки для удаления можно использовать опции —noscripts и —notriggers. Помимо —noscripts также можно применить —nopreun и —nopostun. Соответственно, —nopreun отменяет выполнение скриптов перед удалением пакета, а —nopostun — скриптов, которые должны были отработать после удаления. Также сходным образом применяется опция —notriggers, или раздельно —notriggerun или —notriggerpostun.
Как удалить пакет в centos 7
Как уже отмечалось, весь Linux состоит из пакетов. В RedHat работу с пакетами выполняет программа rpm (RedHat Package Manager), а сами файлы, содержащие пакеты, имеют расширение .rpm . Кроме RedHat существует еще несколько дистрибутивов Linux, использующих rpm ; самые известные — Caldera, SuSE и KSI. Их так и называют — rpm-системы.
Сразу после установки системы зачастую возникает необходимость доставить некоторые пакеты, забытые при инсталляции, или убрать лишние.
У файлов, содержащих пакеты, всегда перед расширенем .rpm есть еще одно, обозначающее архитектуру, для которой предназначен этот пакет.
Некоторые расширения .rpm-файлов
| Расширение | Назначение |
|---|---|
| .i386.rpm | Пакет для Linux/Intel |
| .src.rpm | Исходный код пакета (никогда не устанавливайте .src.rpm — потом не удалите!) |
| .alpha.rpm | Пакет для Linux/Alpha |
| .sparc.rpm | Пакет для Linux/Sparc (Sun) |
| .ppc.rpm | Пакет для Linux/PowerPC |
| .noarch.rpm | Пакет для всех архитектур (обычно содержит данные — файлы конфигурации, шрифты и т.д.) |
Кроме того, само имя пакета состоит из собственно названия и версии. Например, lynx-2.8.2-3.i386.rpm — программа lynx , версия 2.8.2, build 3. К сожалению, формальных правил, позволяющих понять, где кончается имя и начинается версия, нет.
Файлы пакетов обычно расположены в одном из трех мест — в дистрибутиве, в разделе дополнений (updates) или в резделе «пожертвований» (contrib). В ИЯФ для RedHat 5.2/Intel это соответственно
Пакеты с исходными кодами всегда лежат в директориях SRPMS/ , и содержат исходный код для всех архитектур.
Использование rpm
Хотя rpm выполняет все функции работы с пакетами (включая создание .i386.rpm из .src.rpm), сейчас рассмотрим лишь основные действия.
Установка. Для установки пакета используется команда rpm -i (Install), которой указывается полное имя файла, содержащего пакет. Пример:
Если пакет уже установлен, rpm откажется его устанавливать. Если же это новая версия (т.е. делается не установка, а обновление), то надо воспользоваться командой rpm -U (Upgrade); фирма RedHat рекомендует «для красоты» использовать форму rpm -Uvh — при этом «прогресс» в установке показывается индикатором из символов » # «. Пример:
bobby:~# rpm -Uvh wu-ftpd-2.4.2b18-2.1.i386.rpm wu-ftpd ################################################## bobby:~# _
Если требуется установить несколько пакетов, то можно указать их все в одной команде (через пробелы). Иногда это нужно — например, при обновлении программы, состоящей из нескольких пакетов (например, Netscape), чтобы rpm не выдавал ошибок из-за зависимостей пакетов.
Удаление. Для удаления установленного пакета используется команда rpm -e (Erase). Ей указывается имя пакета (можно без версии), и без суффикса «.i386.rpm» . Пример:
При удалении нескольких пакетов их также стоит указать все вместе в одной команде, чтобы rpm не «ругался» на удаление пакета, от которого зависит другой пакет.
Информация. Чтобы узнать, установлен ли некий пакет, служит команда rpm -q (Query). Ей также указывается имя пакета, а она выдает его полное имя, если он установлен. Примеры:
bobby:~# rpm -q lynx lynx-2.8.1-5 bobby:~# rpm -q seyon package seyon is not installed bobby:~# _
Маленькие и заглавные буквы в именах пакетов различаются. Поскольку часто не помнишь точное имя пакета (и уж тем более, какие буквы там на каком регистре), можно воспользоваться командой rpm -qa (Query All packages — показать все пакеты) в сочетании с командой grep :
bobby:~# rpm -qa | grep -i after AfterStep-1.5-0.7 AfterStep-APPS-1.5-0.3 bobby:~# _
Установка, удаление программ и пакетов в CentOS
список установленных пакетов (программ) # yum list installed
проверка — установлен ли пакет # yum list installed httpd
список пакетов, доступных для установки из репозитория # yum list available
поиск пакета в репозитории # yum search httpd
установка пакета из репозитория # yum install httpd
показать зависимости пакета # yum deplit httpd
показать информация по пакету из репозитория # yum info httpd
подробно # yum -v info httpd
проверка наличия обновлений для системы и пакетов # yum check-update
обновления всех пакетов # yum update
для обновления конретного пакета # yum update httpd
для обновления версии пакета # yum upgrade httpd
удалить пакет # yum remove httpd
очистка кеша установочных файлов # yum clean
создание/обновление кеша репозитория # yum makecache
установка стороннего скачаннего RPM-файла # yum localinstall /path/to/rpm/file/installfile.rpm
обновление стороннего скачанного файла # yum localupdate /path/to/rpm/update/myinstall.rpm
переустановка программы/пакета # yum reinstall httpd
откат на предыдущую версию # yum downgrade httpd
показать список активных репозиториев # yum repolist
для более подробного списка # yum -v repolist
установка GPG ключа # rpm —import /path/to/gpg/key.gpg
You have no rights to post comments
Топ – 20 полезных команд yum
![]()
Сегодня хотелось бы кратко описать команды менеджера пакетов yum — официальная сборка FreePBX основана на CentOS, в котором yum установлен по умолчанию. Он пригодится для установки, удаления, обновления пакетов.
Установка пакета
К примеру, для установки пакета mc нужно ввести команду yum install mc . После ввода команды, система попросит подтверждение. Чтобы подтверждение было одобрено по умолчанию, нужно добавить ключ -y , к примеру yum –y install mc :
[root@localhost asterisk]# yum install mc Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.corbina.net * epel: mirror.datacenter.by * extras: mirror.corbina.net * updates: mirror.corbina.net Resolving Dependencies --> Running transaction check ---> Package mc.x86_64 1:4.8.7-11.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mc x86_64 1:4.8.7-11.el7 base 1.7 M Transaction Summary ================================================================================ Install 1 Package Total download size: 1.7 M Installed size: 5.6 M Is this ok [y/d/N]: y Downloading packages: mc-4.8.7-11.el7.x86_64.rpm | 1.7 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:mc-4.8.7-11.el7.x86_64 1/1 Verifying : 1:mc-4.8.7-11.el7.x86_64 1/1 Installed: mc.x86_64 1:4.8.7-11.el7 Complete!
Удаление пакета
Для удаления пакета, соответственно, нужно ввести команду yum remove mc . Точно также можно использовать ключ для подтверждения -y :
[root@localhost asterisk]# yum remove mc Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package mc.x86_64 1:4.8.7-11.el7 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: mc x86_64 1:4.8.7-11.el7 @base 5.6 M Transaction Summary ================================================================================ Remove 1 Package Installed size: 5.6 M Is this ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : 1:mc-4.8.7-11.el7.x86_64 1/1 Verifying : 1:mc-4.8.7-11.el7.x86_64 1/1 Removed: mc.x86_64 1:4.8.7-11.el7 Complete!
Обновление пакета
Предположим – у вас старая версия mysql и вам необходимо ее обновить – тут используется команда update. Целиком команда будет выглядеть так: yum update mysql .
Поиск пакета
Если хотите проверить наличие установленного конкретного пакета на сервере и доступные для установки – используйте команду list. Целиком команда будет выглядеть так: yum list mysql . Также можно указать точную версию пакета, если вам требуется более скрупулезный поиск.
Вывод информации о пакете
Если хотите вывести информацию о пакете – используйте команду info. Целиком команда будет выглядеть так: yum info mc .
Вывод информации о всех доступных и установленных пакетах
Для этого используется команда list с модификаторами. Для вывода доступных пакетов: yum list | less , а для вывода всех установленных — yum list installed | less
Проверка доступных обновлений для пакетов и само обновление
Для проверки служит команда check-update, а для обновления — update. Ниже три примера использования команд:
- yum check-update mysql — проверка обновлений пакета mysql;
- yum list updates — вывод списка обновлений;
- yum update mc — обновление Midnight Commander’а;
- yum –y update — обновление всех установленных пакетов;
Групповые пакеты и операции с ними
В Линуксе некоторые пакеты собраны в так называемые групповые пакеты – к примеру, DNS Name Server, Editors, Java Development и так далее. С помощью yum можно устанавливать групповые пакеты с помощью команды groupinstall — пример далее yum groupinstall ‘Clustering . Коротко опишу остальные команды для манипуляций с групповыми пакетами:
- yum grouplist — вывод всех доступных к установке групповых пакетов;
- yum groupupdate ‘Base’ — обновление конкретного группового пакета, в данном случае – Base;
- yum groupremove ‘Editors’ — удаление группового пакета;
Репозитории в yum
Поиск пакетов происходит в так называемых репозиториях, ниже приведу несколько команд для работы с ними – принцип тот же, что и с пакетами (команды list, к примеру). Вывод всех активных репозиториев производится с помощью команды yum repolist , вывод также и неактивных репозиториев – с помощью команды yum repolist all
Для установки пакета из конкретного репозитория, неважно, активного или неактивного, используется ключ —enablerepo . Как пример – установка phpmyadmin: yum –enablerepo=epel install phpmyadmin
Терминал в yum и история
Если Вы собираетесь проводить очень много операций с пакетами, то можно сразу зайти в оболочку yum с помощью команды yum shell и с помощью уже известных вам команд (только уже без первых трёх букв, соответственно), Вы можете устанавливатьудалятьобновлятьwhatever пакеты. Также интересной фичей является возможность посмотреть историю установок в yum – с помощью команды yum history .