Install 'yum' in Centos7 [closed]
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed last year .
I’ve deleted yum from my server and I did wget to download yum again and extract it. In this folder, I have a lot of files:
How can I install it?
![]()
1 Answer 1
Another solution to install packages is to use the RPM command. You first need to download the rpm file and then install it. For more infos: RPM man page
Установка пакетов в CentOS 7
Нам довольно часто приходится устанавливать различные программы. По умолчанию в системе есть только самое необходимое, а если вам понадобится что-либо специфическое, то вам придется устанавливать программы вручную. Установка программ Linux в некотором смысле проще, чем в Windows. Здесь большинство необходимых программ находятся в официальных репозиториях и для их установки или обновления достаточно выполнить несколько команд.
В этой статье мы рассмотрим как выполняется установка пакетов CentOS 7. Рассмотрим основы работы с пакетным менеджером yum, его возможности, поиск и разрешение зависимостей пакетов.
Что такое YUM?
YUM ( Yellowdog Updater Modified ) — это пакетный менеджер с открытым исходным кодом, разработанный в компании RedHat для работы с пакетами в формате RPM. С помощью него пользователи и системные администраторы могут устанавливать, удалять и обновлять пакеты в системах, основанных на RedHat.
Программа распространяется под лицензией GPL (General Public License) и любой пользователь может получить доступ к исходникам или даже улучшить код. Пакетный менеджер поддерживает подключение сторонних репозиториев и разрешение зависимостей для установки пакетов. Для улучшения работы Yum могут быть загружены различные плагины.
Утилита работает в консоли, а ее синтаксис очень прост:
$ sudo yum опции команда имя_пакета
Сначала рассмотрим основные команды пакетного менеджера:
- install — установить пакет;
- update — обновить пакет или систему;
- update-to — обновить пакет до версии;
- update-minimal — обновлять только исправления ошибок;
- upgrade — полное обновление с обработкой дополнительных возможностей пакетов и их зависимостей;
- distro-sync — синхронизировать состояния системы или пакета с репозиторием. Например, если была установлена версия пакета 4, а в репозитории только 3, то будет выполнено понижение версии;
- remove — удалить пакет;
- autoremove — очистить больше ненужные пакеты;
- list — показать список пакетов;
- provides — поиск пакета по функциональности;
- search — поиск пакета по имени;
- info — информация о пакете;
- clean — очистить кэш пакетного менеджера;
- groups — управление группами пакетов;
- reinstall — переустановить пакет;
- downgrade — понизить версию пакета;
- deplist — вывести все зависимости пакета;
- repolist — отобразить список репозиториев;
- fssnapshot — управление снимками состояния системы;
- check — проверить базу данных пакетов на целостность.
Еще рассмотрим дополнительные опции, которые могут вам понадобиться когда будет выполняться установка rpm CentOS:
- -y — всегда отвечать на вопросы утилиты утвердительно;
- -q — минимальный вывод;
- -v — максимальный вывод;
- -С — работать из кэша;
- -x — игнорировать пакет.
Теперь вы знаете все основные возможности утилиты, рассмотрим некоторые примеры работы с ней.
Установка пакетов в CentOS 7
Перед тем как переходить к установке пакетов CentOS нужно обновить список репозиториев и систему до самой последней версии. Для этого существует команда:
sudo yum update
Установка пакета CentOS
Чтобы установить пакет, который есть в официальных репозиториях вам достаточно использовать команду install. Просто наберите эту команду и имя пакета, например, для firefox:
sudo yum install thunderbird

Во время установки вам придется подтвердить, что вы хотите установить именно эту программу нажав клавишу y. Чтобы этого избежать используйте опцию -y:
sudo yum -y install thunderbird

Чтобы посмотреть информацию об установленном пакете используйте команду info:
sudo yum info thunderbird

Для удаления пакета используйте команду remove:
sudo yum remove thunderbird
Поиск пакетов CentOS
Мы знаем точные названия далеко не всех пакетов. Но yum поддерживает возможность поиска, которая поможет вам понять какой установить пакет CentOS 7. Существует две команды для поиска. Первая — это search — позволяет найти пакет по названию:
sudo yum search mysql

Вторая позволяет найти нужный пакет по команде, которая вам нужна, в некоторых случаях это бывает очень удобно:
sudo yum provides lspci

Теперь вы знаете какой пакет нужен и установка пакетов rpm CentOS 7 теперь может быть выполнена очень быстро и вам не нужно открывать множество форумов для поиска информации.
Группы пакетов CentOS
Группы пакетов, это тоже достаточно удобный инструмент. С помощью него вы можете не устанавливать пакеты по одному, а установить сразу целую группу. Сначала посмотрите список доступных групп:
sudo yum group list

Дальше вы можете посмотреть список файлов в каждой выбранной группе:
sudo yum group info «Стандартный веб-сервер»

Затем. чтобы установить группу пакетов наберите:
sudo yum group install «Стандартный веб-сервер»

Точно так же вы можете обновить группу пакетов, чтобы не обновлять всю систему:
sudo yum group update «Стандартный веб-сервер»
sudo yum group remove «Стандартный веб-сервер»
Репозитории пакетов CentOS
В официальных репозиториях есть далеко не все нужные пакеты. Если серверные программы там можно найти без труда, то с программами для рабочего стола, теми же кодеками, возникнут проблемы. Их нужно устанавливать из сторонних репозиториев.
Репозитории в CentOS добавляются не через конфигурационный файл, они устанавливаются путем загрузки и установки rpm файла репозитория. Например, один из самых часто используемых сторонних репозиториев — это EPEL. Его установщик есть в официальных репозиториях, поэтому для подключения достаточно выполнить:
sudo yum install epel-release
Но такая ситуация не со всеми репозиториями. Многие из них хранят файлы установки у себя. Например, репозиторий с различным мультимедийным программным обеспечением nux устанавливается по-другому. Сначала нужно скачать файл репозитория по ссылке. Качайте обязательно последнюю версию иначе ничего работать не будет.

Например, на данный момент самая новая
Затем установите загруженный пакет с помощью yum:
sudo yum install nux-dextop-release-0-5.el7.nux.noarch.rpm
Затем обновите список репозиториев и можете устанавливать пакеты:
sudo yum update
Далее можете устанавливать пакеты, например, vlc:
sudo yum install vlc
Ну и смотрим список репозиториев:
sudo yum repolist

Здесь отображаются все доступные репозитории. Для удаления репозитория будет достаточно удалить его пакет.
Установка программ CentOS в GUI
Если вы не любите пользоваться терминалом, то установка программ CentOS 7 может быть выполнена и через графический интерфейс. Но здесь возможностей намного меньше чем в терминале. Используйте утилиту «Программы», которая расположена в главном меню:

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

Затем останется нажать кнопку «Установить пакет». Но тут не поддерживается работа с репозиториями.
Выводы
В этой статье мы рассмотрели как выполняется установка пакетов Centos 7. Конечно, здесь нет такого большого количества пакетов, как в той же самой Ubuntu или OpenSUSE, но для сервера их вполне хватает, а для рабочего стола всегда можно собрать из исходников то, что очень нужно. Надеюсь информация была полезной для вас.
How to fix the «Yum command not found» error in Linux [Update 2022]
If you have installed the latest version of RedHat based Linux and trying to run the «yum» command, you may get the «yum command not found error«. But why?? Because yum is obsolete now, «dnf» is the next-generation software package manager in Fedora, CentOS, AlmaLinux, and Rocky Linux.
- bash: yum: command not found ubuntu
- Install yum in Linux
- yum command not found RedHat
- yum command not found mac
- sudo: yum: command not found ec2
- yum command not found fedora
- yum command not found centos 7
Table of Contents
Why am I getting the yum command not found error?
Below mentioned are the possible reasons of yum command error —
- You are trying to run the » yum » command in Debian based Linux like Ubuntu, Lubuntu, Kubuntu or Linux Mint
- You are trying to run the yum command on Legacy Linux e.g. Rhel 4
- Yum Utility is not installed by default in your Linux system
- You are working on the latest Linux operating system, which uses the dnf package manager by default
- Issue with environment variables or operating system got corrupted.
How do I solve the yum command not found error?
To resolve the yum command not found error, you need to identify your Linux distribution and it has been forked from. For example, Ubuntu is Debian based and CentOS 8, AlmaLinux, Fedora and Rocky Linux are RedHat based distros. Keep reading the solutions to get rid of «yum» error.
Note** If you are on CentOS 8, I will suggest you migrate CentOS 8 to AlmaLinux 8.x or Rocky Linux 8.x operating system. CentOS is already declared dead.
Solution-1 Make sure you are running «.rpm» based Linux Distro not Debian based Linux
If you are trying to run the » yum install » command and you are getting an error, then check your distribution is forked from RedHat, not Debian.
For example, if you try to run the yum command on Ubuntu, it will not work and results in the «yum command not found error». Why? Because these are Debian based Distros and uses » apt » package manager, not yum .
Now the question arises, can we install and use yum on these Debian based distros? The answer is «Yes» and «No». You can install Yum also on Debian based OS like Ubuntu using » sudo apt install yum «.
But it doesn’t make sense when you have the apt package manager already and made especially for Ubuntu. Also yum will not be able to manage your packages like apt does.

If it results in RedHat based operating systems as shown in the above image, then you are good to go with the next steps to install the Yum utility presented in Solution 2.
If any other distribution like Ubuntu, Kubuntu or Linux mint is listed. Then use the «apt» command to install packages not yum .
Solution-2 Install the yum utility, if not installed already in your Linux system
Once you have checked that you are running, RedHat based operating system like Fedora, CentOS, AlmaLinux or Rocky Linux with commands provided in Solution-1 . You are good to proceed with the next steps.
- Check whether yum package is installed or not
-
or use the DVD of your Linux operating system and install the Yum RPM.

If you have the latest «.RPM» based Linux distro, you can use dnf also to install the yum utility.
Solution-3 Avoid using legacy or out of support operating systems
I would recommend you avoid using legacy operating systems, which are already End of life (EOL) for example RedHat Linux 3, RHEL 4 etc. To check the End of life of any Linux distribution, you can visit the respected OS site and get the details.
I am recommending this because the End of Life Linux distribution repository is not updated and sometimes, you won’t be able to get the latest packages or software for your Linux operating system.
If you will use the latest RedHat forked operating systems, then you will never get an error of yum command not found as it will be available by default. Also, you can easily install it using RPMs if required.
Solution-4 Use «dnf» package manager instead of yum
DNF or Dandified YUM is the next-generation version of the Yellowdog Updater, Modified (yum), a package manager for .rpm-based distributions. Starting from RedHat 8 and Fedora 22, It has been the default package manager currently for ec2 instances also.
So if you get an error of «yum command not found«. Then use dnf instead of yum to install packages in your Linux system.
Solution-5 Check for $PATH is setup correctly
If you have done everything correct and you are still getting «yum command not found error» in Linux, then give a check to your $PATH entries.
Run following command make sure you have at least these entries as shown in output for root user.
If these entries are not there by default, make sure you edit and add these entries to either /etc/environment file or add it end of the
/.bashrc file of root user.
Frequently Asked questions — Yum
Q1 — How do I resolve the yum command not found?
First, check your distro name and version, it must be rpm based distro like Fedora, RedHat, Rocky Linux etc. Then look for the yum package. If it’s not installed, run » sudo dnf install yum » in case of latest Operating system. If you are using legacy OS, then install it from an iso image or CD/DVD using the » rpm -ivh /path to yum package » command.
Q2 — How do I get yum on Linux?
Run the following commands based on your distro-
— CentOS, AlmaLinux, RedHat, RockyLinux
$ sudo dnf install -y yum
— Ubuntu (use «apt» but due to some exceptions, if you need to install yum, then run»
$ sudo apt install yum
Q3 — How do I know yum is installed?
Run the following command —
$ sudo rpm -qa | grep -i yum
Q4 — What is the command to install yum in Linux?
Following are the commands to install yum in Linux —
— CentOS, AlmaLinux, RedHat, RockyLinux
$ sudo dnf install -y yum
— Ubuntu (use «apt» but due to some exceptions, if you need to install yum, then run»
$ sudo apt install yum
Conclusion
I am sure you would have now resolved the «yum command not found» error by following this tutorial. If nothing is working, you may have corrupt operating system. Just reinstall your operating system, in case you are not able to run any command on your Linux operating system.
ADMINS24
Как работать с менеджером пакетов dnf/yum в операционной системе Linux CentOS
Статья представляет из себя небольшую шпаргалку по работе с пакетным менеджером dnf (CentOS 8) и yum (CentOS 7 и ниже). В данном руководстве мы будем использовать только команду yum, так как она работает и в CentOS 7 и в 8.
Репозитории
Команда yum/dnf использует репозитории для своей работы. Очень важно понять, как с ними работать в системе. Конфиги репозиториев CentOS описывают пути, по которым система может брать установочные файлы для пакетов, а также правила работы с самими репозиториями.
Примеры команд для управления репозиториями
1. Просмотр репозиториев.
Список включенных репозиториев:
Список включенных и отключенных репозиториев:
yum repolist all
Также мы можем получить подробное описание для каждого включенного репозитория:
Список отключенных репозиториев можно посмотреть отдельно командой:
yum repolist disabled
2. Добавление репозитория командой.
Для добавления репозитория мы можем воспользоваться командой yum-config-manager, для этого сначала нужно установить yum-utils:
yum install yum-utils
yum-config-manager —add-repo <репозиторий>
yum-config-manager —add-repo https://yum.mariadb.org/10.5/centos8-amd64
* на основе ссылки https://yum.mariadb.org/10.5/centos8-amd64 будет добавлен репозиторий.
3. Добавление репозитория через файл.
Также мы можем создать конфигурационный файл с описанием репозитория. Все файлы находятся в каталоге /etc/yum.repos.d. Например, создадим файл с добавлением репозитория mariadb:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
- name — произвольное имя репозитория.
- baseurl — путь, по которому система может забирать пакеты из репозитория.
- gpgkey — путь до открытого gpg-ключа. Нужен для проверки цифровой подписи пакетов.
- gpgcheck — нужно ли проверять цифровую подпись пакетов.
- enabled — опция включает или выключает репозиторий.
4. Временное включение и отключение репозиториев во время операций (на примере репозитория EPEL).
Отключить во время обновления:
yum update —disablerepo=epel
Включить во время обновления:
yum update —enablerepo=epel
Отключить во время установки:
yum install —disablerepo=epel
Включить во время установки:
yum install —enablerepo=epel
5. Постоянное отключение/включение репозиториев.
Мы можем отключить наш репозиторий командой:
yum-config-manager —disable <имя репозитория>
* для выполнения данной команды мы должны установить в систему пакет yum-utils.
yum-config-manager —disable yum.mariadb.org_10.5_centos8-amd64
Разрешить репозиторий можно той же командой с опцией —enable:
yum-config-manager —enable yum.mariadb.org_10.5_centos8-amd64
Также мы можем выполнить настройку в конфигурационном файле, например:
* в данном примере 1 разрешает репозиторий, а 0 запрещает.
6. Настройка опций.
Наши репозитории настраиваются с помощью опций, которые перечислены в конфигурационном файле. Мы можем также их задавать командой:
yum-config-manager —save —setopt=<имя репозитория>.<имя опции>=<значение>
yum-config-manager —save —setopt=mariadb.module_hotfixes=1
Обслуживание
1. Удалить кэш для списков пакетов в репозиториях, а также загруженные исходники для пакетов:
yum clean —enablerepo=* all
Также мы можем удалить кэш только для определенных репозиториев, например:
yum clean all —disablerepo=»*» —enablerepo=»epel,nginx-thirdparty»
* обязательно, сначала должен следовать disablerepo, после enablerepo.
2. Сформировать кэш списков пакетов в репозиториях:
Установка, обновление и получение информации о пакетах
1. Установка пакета:
yum install <имя пакета>
2. Обновление всех установленных пакетов:
3. Обнолвение конкретного пакета
yum update <имя пакета>
4. Установить пакет из определенного репозитория:
yum —disablerepo=»*» —enablerepo=thirdparty install nginx
* как говорилось выше, мы можем оперировать опциями disablerepo и enablerepo для включения и отключения репозитория во время установки. В данном примере мы запретили все и разрешили установить нужный нам пакет из репозитория thirdparty.
5. Только скачать пакет, не устанавливая его:
yum install —downloadonly —downloaddir=<куда скачать> <имя пакета>
yum install —downloadonly —downloaddir=/tmp nodejs
* скачиваем пакет nodejs в каталог /tmp.
6. Распаковать содержимое пакета RPM:
rpm2cpio <путь до файла rpm> | cpio -idmv
Просмотр информации о пакетах
1. Список установленных пакетов:
yum list —installed
2. Получение зависимостей для пакета:
yum deplist <имя пакета>
yum deplist nginx
* покажет, какие пакеты или библиотеки необходимы для установки nginx. Дополнительно, могут быть указаны пакеты, которые нужны для удовлетворения зависимостей.
3. Посмотреть список файлов внутри установочного пакета.
Мы можем посмотреть данный список для уже установленного пакета:
rpm -ql <имя установленного пакета>
Или из установочного файла:
rpm -qlp <путь до RPM-пакета>
rpm -qlp nginx.rpm
4. Посмотреть, какой пакет предоставляет определенный файл:
yum provides audit-libs-python
В данном примере мы получим ответ:
audit-libs-python-2.8.5-4.el7.x86_64 : Python bindings for libaudit
Repo : base
Это значит, что audit-libs-python содержится в пакете audit-libs-python-2.8.5-4.el7.x86_64, который в свою очередь, находится в репозитории base.
Можно также выполнять поиск по маске:
yum provides audit-libs-*
Управление потоками (модулями)
Модульные репозитории позволяют установить пакеты разных версий. По сути, это группы RPM-пакетов, которые должны быть установлены вместе и представляют из себя логическую единицу для установки программного продукта нужной версии. Включить можно только одну версию модуля для репозитория.
1. Вывести список доступных модулей:
dnf module list
- [d] — значения по умолчанию.
- [e] — включенные модули.
- [x] — отключены.
- [i] — установленные.
В нашей системе может не быть включенных модулей. В этом случае пакеты будут устанавливаться из стандартных репозиторией.
Мы также можем посмотреть отдельные по состоянию группы модулей:
dnf module list —enabled
dnf module list —disabled
dnf module list —installed
2. Вывести список возможных модулей для конкретного пакета:
dnf module list nodejs
* в данном примере для nodejs.
3. Разрешить или запретить конкретный модуль:
dnf module enable nodejs:12
dnf module disable nodejs:14
* первая команда разрешит модуль nodejs версии 12, вторая, соответственно, запрещает использование модуля nodejs версии 14.
4. Переключение модуля.
Если мы хотим изменить активный модуль, необходимо сначала отключить текущий командой dnf module reset, например:
dnf module reset php:7.3
* если попробовать включить модуль без отключения активного мы увидим ошибку:
Error: It is not possible to switch enabled streams of a module.
It is recommended to remove all installed content from the module, and reset the module using ‘dnf module reset <module_name>’ command. After you reset the module, you can install the other stream.
После включаем новый поток:
dnf module enable php:7.4
Заблокировать установку и обновление пакетов
В некоторых случаях, может возникнуть необходимость запретить установку и обновление определенных пакетов. Есть несколько способов это сделать.
1. Во время обновления (разово)
Данный метод можно использовать при обновлении пакетов. Мы с помощью ключа -x просто указываем через запятую те, которые не должны быть обновлены, например:
yum -x postgresql*,asterisk update
* данной командой мы обновим все пакеты, кроме asterisk и тех, название которых начинается на postgresql.
2. Постоянный запрет в yum.conf
Аналогично, можно запретить как установку, так и обновление в конфигурационном файле yum.conf. Открываем его командой:
* в данном примере мы также запретим установку и обновление asterisk, а также пакетов, название которых начинается на postgresql.
3. Настройка репозитория
Ну и также мы можем заблокировать установку и обновление через конфигурационный файл репозитория. Например:
* в данном примере мы блокируем пакет postgresql12.
Возможные ошибки
Рассмотрим примеры ошибок, с которыми мы можем столкнуться и способы их решения.
1. Curl error (60): SSL peer certificate or SSH remote key was not OK
Ошибка появляется при попытке выполнить операцию обновления или установки пакетов.
Причина: сертификат подключенного репозитория не проходит проверку. Возможно, он просрочен или выдан не доверенным центром сертификации.
Решение: проблему можно решить на стороне сервера (если мы являемся его администратором), например, получив правильный сертификат у Let’s Encrypt. На стороне клиента можно отключить проверку SSL для репозитория командой:
yum-config-manager —save —setopt=<имя репозитория>.sslverify=0
Или в конфигурационном файле репозитория добавить или изменить строку с sslverify:
* данная опция задает необходимость проверки SSL для репозитория.
2. Error: GPG validation FAILED
Ошибка появляется при попытке установить пакет.
Причина: система не может загрузить и импортировать gpg-ключ. Это возможно в разных сценариях, например, в настройках репозитория не указан путь до него, но при этом указано, что проверка подписи необходима или ключ не удалось загрузить и импортировать.
Решение: для некоторых пакетов идет отдельная инструкция по настройке репозитория, в частности, установки ключа GPG. Или мы можем отключить проверку gpg командой:
yum-config-manager —save —setopt=<имя репозитория>.gpgcheck=0