Linux yum не найдена

Обновлено: 06.07.2024

Многие дистрибутивы Linux используют yum (Yellow dog Updater, Modified - консольный менеджер RPM - пакетов). Все выпуски CentOS поставляются с yum и соответствующим набором конфигурационных файлов. Это позволяет системе взаимодействовать с репозиториями CentOS по всему миру и производить обновление системы. Но бывают ситуации, когда форки данной системы не имеют yum по-умолчанию.

2. В моей инсталяции системы CentOS отсутствует yum

Если yum отсутствует в системе, то это не система CentOS. Тем не менее есть системы ведущие свое родство от CentOS, где yum нет. Например некоторые VPS (виртуальные сервера) содержат только часть CentOS и в стандартном шаблоне отсутствует такой нужный инструмент как yum.

3. Можно ли доверять этому, так ли это?

Да, в настоящую установку CentOS входят CentOS kernel, centos-release пакеты, пакет yum и неизменный каталог для него - /etc/yum.repos.d/. Все зависимости будут удовлетворены и за исключением файлов конфигурации команда:

4. Установка YUM

Ладно, теперь попытаемся востановить правильные конфигурации и установим YUM.

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

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

Если он установлен, проверте доступна ли в вашей системе конфигурация для yum:

Этот каталог должен содержать только файлы: CentOS-Base.repo и CentOS-Media.repo. Если таковых нет, вы должны создать каталог: 'attic' там и переместить 'mv' резервную копию текущего содержимого в него, чтобы подготовится к переустановке пакета centos-release.

Если centos-release не установлена на вашей системе, вы можете убрать параметр '--replacepkgs' из команды выше.

Для установки yum понадобится:

CentOS 4

CentOS 5

Скачайте их в отдельный каталог и установите с помощью команды:

из этого каталога. Как и прежде, сделайте резервную копию файла /etc/yum.conf, чтобы всегда была возможность откатится обратно без потерь.

5. Предохранить ваше правильное ядро от перезаписи

Теперь рассмотрим пожелание обеспечить ваше (работающее) ядро от перезаписи за счет обновления его с CentOS в случае, например, специально собранного ядра на VPS.

Откроем файл /etc/yum.conf в вашем любимом редакторе и добавим следующую строку в конец секции [main]:

это позволит yum предотвратить установку пакетов, имеющих отношение к ядру и поэтому ваше ядро VPS будет защищено от перезаписи.

6. Востановление только истинных репозиториев CentOS yum

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

Чистые версии необходимых файлов содержаться в пакете centos-release. Одним из решений является ручное получение копии этого пакета, а также востановление только файлов в директории /etc/yum.repos.d. Очевидно, что /etc/yum.conf и другие файлы, возможно, необходимо изменить для аналогичного подхода в востановлении.

В этом примере, мы предпологаем, что у нас релиз CentOS 4 и мы получим надлежащий centos-release rpm в директорию /tmp с помощью wget:

[--nodeps Не выполнять проверку зависимостей перед установкой или обновлением пакета.]

вы получаете настройку чистого CentOS репозитория еще раз. Так как мы сделали распаковку "из дерева" новой конфигурации, то после завершения работ мы выполним уборку после себя: выполнив rm -rf /tmp/unpack.

А теперь по порядку, о каждом из них.

Так вот, что бы установить программу с помощью yum, вам не нужно ходить по сайтам, не нужно искать откуда скачать эту программу и вообще не нужно ничего, кроме одного - знать имя программы.
Допустим мы хотим установить игру SuperTUX.

Открываем консоль. Логинимся как root, для этого набираем в ней:

Вводим пароль рута, теперь мы имеем доступ к yum и можем спросить его о программе, командой:

И видим примерно такую картину:

После этого, yum сам скачает и установит программу. Остается дождаться завершения процесса, о чем yum вполне понятно напишет и можно запускать игру. Все - никаких поисков, никаких мучений.
Итак выделим три момента - что необходимо, для того что бы найти, скачать и установить программу.
1. Сначала необходимо знать название программы.
2. Далее необходимо узнать точное имя пакета, для этого набираем в консоли yum search имяпрограммы
3. Если yum знает такую программу - он выведет точное имя пакета, после этого остается набрать в консоли yum install имяпакета и дождаться завершения установки.

Возникает вопрос - а будет ли знать yum именно про ту программу, которую захочется установить?
Что же, вопрос резонный, попробую ответить так - в одной из моих серверных систем, на момент написания этой статьи, yum знает 8945 программ. Все эти программы доступны для установки в любой момент. И это на системе предназначенной для удаленного сервера. А дома, можно настроить yum так, что он будет знать гораздо больше программ. Мало ли это, 9000 программ? Вероятность, что среди них окажется нужная вам (если она конечно создана для ОС Linux) очень высока.

Что еще умеет yum:

yum install package - установка пакета package
yum install package1 package2 package3 - установка пакетов package1 package2 package3 (установка множества пакетов одновременно)
yum update package - обновление пакета package
yum update - обновление всех пакетов установленных в ситеме (полное обновление системы)
yum check-update - проверка наличия доступных обновлений
yum list package - вывести информацию о пакете package
yum remove package - удалить пакет package

yum умеет не только это, но эти опции являются наиболее важными.

А если, при наборе команды yum мне сказали, что команда не найдена (comand not found) ?
Это значит, что yum не установлен и его нужно установить.
Делается это достаточно просто - необходимо найти подходящий для вашей системы rpm-пакет. Он может называться примерно так:
yum_версия.rpm
Попытаться найти пакет можно в поисковой системе, либо, например, на rpmfind.
После того как пакет найдет, скачиваем его и набираем в командной строке:

apt-get

apt-get работает в debian-совместимых ОС и выполняет в них те же функции, что yum в RedHat. Команды управления apt-get схожи с yum, но имеют отличия, как и сам apt-get.
Главное отличие:
yum, по умолчанию не хранит локально сведения, о доступных для установке программах. Каждый раз, когда вы просите yum установить (или найти) программу - yum соединяется через интернет с сайтами-хранилищами (репозиториями) и получает с них списки доступных программ, после чего находит в списке нужную программу и устанавливает (если нашел).
Преимущество такого метода заключается в том, что данные имеющиеся у yum всегда актуальны. Недостаток в том, что на подключение к репозиториям и получение списков программ занимает время.
apt-get, напротив, обычно хранит сведения о программах локально. Т.е. когда вы просите apt-get установить программу, он просматривает локальный список и начинает качать программу из места, указанного в локальном списке. Преимущество такого метода в том, что apt-get е тратит время на получение списков программ и в большинстве случаев работает быстрее. Недостаток заключается в том, что данные хранящиеся в локальном списке могут устареть, поэтому эти данные необходимо время от времени обновлять.
Обновляются эти данные командой

Выполнив эту команду, вы заставите apt-get соединиться с сайтами-хранилищами и получить свежие списки доступных программ (и их версий). Т.е., в отличи от yum (где опция update без дополнительных параметров означает полное обновление системы), в apt-get опция update - это лишь получение свежего списка доступных пакетов.

Основные команды apt-get:

apt-get update - обновление списка доступных пакетов
apt-get install package - установка пакета package
apt-get install package1 package2 - установка пакетов package1 и package2 (установка нескольких пакетов)
apt-get remove package - удаление пакета package
apt-get upgrade - обновление всех установленных пакетов (полное обновление системы)

Обратите внимание - перед установкой новой программы желательно выполнить команду apt-get update, а перед обновлением системы, эту команду выполнять обязательно.

emerge

emerge - это менеджер пакетов, работающий в ОС Linux Gentoo, причем система управления пакетами в этой ОС, считается одной из лучших в мире.
emerge в корне отличается от перечисленных выше собратьев.
Начнем с того, что в Linux Gentoo, все пакеты собираются исключительно из исходных кодов (конечно есть исключения, обычно для приложений требующих очень много времени на компиляцию или для коммерческих приложений, но исключения лишь подтверждают правила).

Синтаксис и принципы работы у emerge так же сильно отличаются.
Основные команды emerge:

emerge --sync - обновить дерево Portage (список пакетов)
emerge -s word - поиск пакета по слову word
emerge -pv package - вывод информации о том, с какими параметрами будет установлен пакет package, какие пакеты будут установлены дополнительно по зависимостям, а так же общий размер скачиваемых пакетов, без самой установки.
emerge package - установить пакета package
emerge --unmerge package - удалить пакет package

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

Пакетный менеджер Yum в CentOS – справочник команд

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

Yum (Yellowdog Updater Modified) – консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM (RedHat Package Manager). Сюда входят такие популярные ОС как RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux.


Yum: установка, обновление и удаление пакетов

Полная справка по менеджеру пакетов yum :

Очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum):

Пересоздать кеш пакетов заново:

Отобразить список подключенных репозиториев:

Вывести список всех доступных пакетов для установки:

Список всех пакетов, которые установлены в системе:

Вывести список пакетов, которые относятся к ядру Linux:

Проверить установлен ли в системе определенный пакет, например, apache:

Можно получить более подробную информацию о пакете:

Чтобы установить пакет используется команда yum install . Для установки веб-сервера apache выполните:

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

Если вы хотите установить какой-либо пакет, но забыли его полное название, можно воспользоваться подстановочным символом * . Например:

Можно установить сразу несколько пакетов:

Удалить установленный пакет:

!Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):

Найти пакет по имени или описанию:

С помощью опции provides вы можете найти пакеты, содержавшие определенный файл, например:

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

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

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

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

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

Имеется возможность группой установки пакетов командой grouplist . В репозитории существуют предопределенные группы пакетов с различными наборами программ. Вы можете вывести список имеющихся групп:

Рассмотрим на примере группового листа «Basic Web Server». Получить информацию о группе и пакетах в ней:

При проверке мы видим, что будут установлены набор пакетов и сервисов для веб-сервера.

Ещё один полезный групповой лист «System Administration Tools»:

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

Установить групповой лист можно командой:

Yum: история и логи установки/удаления пакетов

Вы можете вывести информацию об истории установки пакетов yum (списка транзакций) с помощью команды:

Вывод состоит из 5 столбцов, в первом выводится ID транзакции по которому можно посмотреть всю информацию (установленные пакеты, зависимости):


Более того, можно отменить данную транзакцию командой:

В моем случае удалилось бы 4 пакета:


Так же всю информацию об истории установки/удаления пакетов менеджером yum можно посмотреть в логе /var/log/yum.log :

Дополнительные полезные параметры yum

Утилита yum имеет несколько полезных опций, которые часто приходитя использовать при управлении пакетами. Чтобы при установке или удалении пакетов, после ввода команды не подтверждать своих действий, можно воспользоваться опцией -y , например,:

Чтобы ответить no при запросе, нужно указать опцию:

Использовать yum без плагинов или отключить конкретный плагин:

Включить отключенный плагин:

Задействовать отключенный репозиторий:

Отключить определенный репозиторий:

Конфигурационный файл /etc/yum.conf

Конфигурационный файл yum — /etc/yum.conf .

Основные параметры конфигурационного файла:

cachedir – локальный кэш пакетов (по умоланию /var/cache/yum )

logfile — путь до файла с логами yum

obsoletes — обновлять или нет, устаревшие пакеты(1-да, 0-нет)

gpgcheck — проверка подписи пакета перед установкой (1-да, 0-нет)

keepcache — хранение кеша (1-да, 0-нет)

cachedir — директория для хранения кеша(по умолчанию /var/cache/yum )

debuglevel – уровень отладки от 1 до 10

plugins — включение yum плагинов (1-да, 0-нет)

installonly_limit – максимальное количество версий, которые могут быть установлены для одного пакета.

Полезные плагины yum

Некоторые популярные плагины и их описание:

yum-plugin-fastestmirror – плагин служащий для измерения скорости зеркал и предоставления самого быстрого для установки пакетов.

yum-plugin-security — плагин которые предоставляет список обновлений относящихся только к безопасности системы.

yum-plugin-keys — позволяет работать с ключами keys, keys-info, keys-data, keys-remove

Директория где хранятся все плагины /etc/yum/

yum-plugin-versionlock – позволяет блокировать обновление указанных пакетов

Вывести список доступных плагинов yum:

Вы можете установить выбранный плагин командой yum install , как и любой другой пакет:

Чтобы заблокировать обновление пакета через плагин, выполните:

Вывести список заблокировнных пакетов:

Убрать пакет из заблокированных:


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

Или же отключить вообще все плагины, установленные в системе:

Использование yum через прокси

Если прокси-сервер требует авторизацию, добавьте строки:

Для проверки работы yum через прокси сервер воспользуйтесь командой:

Для проверки я указал публичный прокси сервер с Германии и при установке, сработал плагин fastestmirror , нашел зеркала с которых скорость будет выше:

date

23.09.2019

directory

CentOS, Linux

comments

Комментариев пока нет

В этой статье мы рассмотрим менеджер пакетов Yum, который позволяет управлять установкой, удалением и обновлением программ (.RPM-пакетов), автоматически разрешать зависимости, управлять дополнительными репозиториями. Данная статья о Yum должна прежде всего быть интересна как шпаргалка для начинающих администраторов Linux.

Yum (Yellowdog Updater Modified) – консольный менеджер пакетов для дистрибутивов Linux, основанных на пакетах формата RPM. (RedHat Package Manager) Сюда входят такие популярные ОС как RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux.

Yum: установка, обновление и удаление пакетов

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

yum help – полная справка по менеджеру пакетов yum

Открыв ее, я выделю основные команды:

yum clean all – очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum).
yum makecache – пересоздать кеш пакетов заново.
yum repolist – отобразить список подключенных репозиториев, вывод выглядит так:

У меня в системе установлены только стандартные репозитории CentOS-7: Base, Extras и Updates.

yum list available – вывести список всех доступных пакетов для установки.

yum list installed – список всех пакетов, которые установлены в системе.

yum list kernel – вывести список пакетов, которые относятся к ядру Linux.

Вы можете проверить установлен ли в вашей системе определенный пакет, например, apache:

Вы можете получить более подробную информацию о пакете, например, получим данные о пакете MariaDB:

yum info mariadb

yum info получить информацию о пакете

Чтобы установить пакет используется команда yum install. Для установки веб-сервера apache выполните:

Если при выплнении команд yum вы получаете ошибку Traceback (most recent call last):thread.error: can't start new thread , скорее всего у вас не хватает оперативной памяти. Попробуйте добавить RAM или отключите плагины yum (в /etc/yum.conf укажите plugins=0).

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

Если вы хотите установить какой-то пакет, но забыли его полное название, можно воспользоваться подстановочным символом *. Например:

yum install epel-*

Если ввести просто:

yum install epel

Увы, пакета не видно.

Yum позволяет установить сразу несколько пакетов:

yum reinstall proftpd

Чтобы удалить установленный пакет с помощью yum используется параметр remove :

Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):

yum deplist proftpd

yum deplist проверка зависимости пакетов

Найти пакет по имени или описанию:

yum search nginx

С помощью опции provides вы можете найти пакеты, содержавшие определенный файл, например:

yum provides */squid.conf

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

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

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

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

yum updateinfo list security

Бывают случаи, когда после обновления какого-либо пакета или сервиса, возникают проблемы. Например, после обновления php, перестал работать ваш сайт. Вы можете вернуть предыдущую версию пакета, откатив установленный пакет через yum:

yum downgrade perl

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

yum groupinfo "Basic Web Server"

yum groupinfo

При проверке мы видим, что будут установлены набор пакеты и сервисы, для веб-сервера.

yum groupinfo "System Administration Tools”

группы пакетов в yum

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

Установить групповой лист можно командой:

yum groupinstall "System Administration Tools"

yum groupinstall "System Administration Tools"

Yum: история и логи установки/удаления пакетов

Вы можете вывести информацию об истории установки пакетов yum (списка транзакций) с помощью команды:

yum history list

Вывод состоит из 5 столбцов, в первом выводится ID транзакции по которому можно посмотреть всю информацию (установленные пакеты, зависимости):

yum history info 10

yum history list - история установки пакетов

Более того, можно отменить данную транзакцию командой:

yum history undo 10

В моем случае удалилось бы 4 пакета:

yum history undo - удаление транзацкции установки пакета

Так же всю информацию об истории установки/удаления пакетов менеджером yum можно посмотреть в логе /var/log/yum.log:
cat /var/log/yum.log

Дополнительные полезные параметры yum

У утилиты yum есть несколько полезных опций, которые часто приходитя использовать при управлении пакетами. Чтобы при установке или удалении пакетов, после ввода команды не предпринимать никаких действий, можно воспользоваться опцией -y , например,:

Чтобы ответить no при запросе, нужно указать опцию:

Использовать yum без плагинов или отключить конкретный плагин:

Включить отключенный плагин:

Задействовать отключенный репозиторий:

yum update –enablerepo=atomic

Отключить определенный репозиторий:

yum update –disablerepo=atomic

Конфигурационный файл /etc/yum.conf

Основные параметры конфигурационного файла:

cachedir – локальный кэш пакетов (по умоланию /var/cache/yum)

obsoletes — обновлять или нет, устаревшие пакеты(1-да,0-нет)

gpgcheck — проверка подписи пакета перед установкой (1-да,0-нет)

keepcache — хранение кеша (1-да,0-нет)

cachedir — директория для хранения кеша(по умолчанию /var/cache/yum)

debuglevel – уровень отладки от 1 до 10

plugins — включение yum плагинов (1-да,0-нет)

installonly_limit – максимальное количество версий, которые могут быть установлены для одного пакета.

Полезные плагины yum

Для чего нужны плагины в yum? Как и везде, упрощают нашу работу.

Некоторые популярные плагины и их описание:

yum-plugin-fastestmirror – плагин служащий для измерения скорости зеркал и предоставления самого быстрого для установки пакетов.

yum-plugin-security — плагин которые предоставляет список обновлений относящихся только к безопасности системы.

Директория где хранятся все плагины /etc/yum/

yum-plugin-versionlock – позволяет блокировать обновление указанных пакетов

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

yum search yum-plugin

Вы можете установить выбранный плагин командой yum install, как и любой другой пакет:

yum install yum-plugin-changelog

yum -y install yum-versionlock

Чтобы заблокировать обновление пакета через плагин, выполните:

yum versionlock nginx

Вывести список заблокировнных пакетов:

yum versionlock list

Убрать пакет из заблокированных:

yum versionlock delete nginx

yum versionlock - блокировка пакета от обновления

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

Или же отключить вообще все плагины, установленные в системе:

Использование yum через прокси

Если прокси-сервер требует авторизацию, добавьте строки:

Для проверки работы yum через прокси сервер воспользуйтесь командой

yum clean all && yum search nginx

Для проверки я указал публичный прокси сервер с Германии и при установке, сработал плагин fastestmirror, нашел зеркала с которых скорость будет выше:

yum через прокси сервер

Итак, в этой статье мы рассмотрели базовые возможности менеджера rpm пакета yum в Linux CentOS/ RHEL. В следующей статье мы более подробно поговорим об управлении репозиториями в Yum. Знакомьтесь, пробуйте и используйте yum в своей работе.

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