Подключение репозиториев epel, remi, atrpms в rhel/centos
Содержание:
How Can I Update My Kernel?
Depending on which board image you’re using, it can use the generic kernel or the RaspberryPi variant. It’s normally all configured automatically but even if you point to the correct repository, you’ll have take care of the following (depending on the board variant):
RaspberryPi 2 and 3
yum update will bring the updated kernel and nothing else needs to be done. Just reboot and you’ll be using the new kernel.
Generic Kernel
Before centos-userland-release-7-5.1804, in order to activate the new kernel and edit /boot/extlinux/extlinux.conf, you had to run /usr/bin/update-boot. This is no longer valid and it is done automatically by grubby.
Custom YUM Repository
Sometimes we need to create a Custom YUM Repository (handy when the VPS has no internet connection). We can create a Custom YUM Repository from a desired number of selected RPM package files. Custom YUM Repository only holds the RPM package files we want to include in.
Step 1: Install «createrepo»
To create Custom YUM Repository we need to install additional software called «createrepo» on our cloud server. We can install «createrepo» by running the following command from console:
yum install createrepo
Step 2: Create Repository directory
We need to create a new directory that will be the location of our Custom YUM Repository and will hold the desired RPM package files. We can do this with the following command from console (choose a different /repository1 directory name if you like):
mkdir /repository1
Step 3: Put RPM files to Repository directory
If RPM package files are not yet present on our VPS we need to transfer them to our cloud server via FTP or SSH — use software like WinSCP (free SFTP client and FTP) or similar. We can also download RPM package files directly to our VPS (internet connection needed) with «wget» command from console (please change HTTP link accordingly):
wget http://mirror.lihnidos.org/CentOS/6/os/i386/Packages/NetworkManager-0.8.1-43.el6.i686.rpm
If RPM files are already present on our VPS, we need to Copy or Move these files to the newly created directory from «Step 2». We can move RPM files with the following command from console (please change /path/to/rpm and /repository1 accordingly):
mv /path/to/rpm /repository1
We can copy RPM files with the following command from console (please change /path/to/rpm and /repository1 accordingly):
cp /path/to/rpm /repository1
Step 4: Run «createrepo»
Createrepo command reads through Custom YUM Repository directory from «Step 2» and creates a new directory called «repodata» in it. Repodata directory holds the metadata information for the newly created repository. Every time we add additional RPM package files to our Custom YUM Repository, we need to re-create Repository metadata with «createrepo» command. We can create new repository metadata by running the following command from console (please change /repository1 accordingly):
createrepo /repository1
Step 5: Create YUM Repository Configuration file
To start using the newly created Custom YUM Repository, we must create the corresponding YUM Repository Configuration file with .repo extension, which must be placed to /etc/yum.repos.d/ directory. Instructions to create YUM Repository Configuration file are covered in the first topic of this article called «YUM Repository Configuration File».
Example Custom YUM Repository Configuration file:
/etc/yum.repos.d/custom.repo
name=Custom Repository baseurl=file:///repository1/ enabled=1 gpgcheck=0
Submitted by: @GeekPeekNet
Добавление репозитория REMI
Установка репозитория REMI происходит в несколько этапов. Для выполнения команды, у вас должна быть установлена утилита wget.
yum install wget -y
# Скачиваем rpm-пакет, при помощи утилиты wget wget http://remi.mirror.ate.info/enterprise/remi-release-7.rpm 2016-09-22 04:48:28 (5.43 MB/s) - ‘remi-release-7.rpm’ saved [8147/8147] # файл пакета, ‘remi-release-7.rpm’ будет сохранен в ту директорию # в которой вы находитесь в данный момент, если вы root, то /root/remi-release-7.rpm # Устанавливаем репозиторий: rpm -Uvh remi-release-7.rpm
Существуют и другие репозитории, процесс их установки будет таким же. Все нужные ссылки, как правило, указываются на страничке проектов, так же как и инструкции по установке.
This tutorial is also avilable in a quick video format that explains how to install EPEL repository on CentOS or RHEL 6.x server so that you can install additional packages directly using the yum command only.
(Video 01: Enable EPEL Repository On CentOS / Red Hat Linux For Yum Package)
See also
For more information see how to use “yum command to Update / Install Packages Under Red Hat Enterprise / CentOS Linux Version v5.x/v6.x and above” for more information.
This entry is 1 of 5 in the Enable EPEL Repository on a CentOS/RHEL Tutorial series. Keep reading the rest of the series:
- CentOS / RHEL / Scientific Linux 6/5 Enable and Install EPEL Repo
- How To Install EPEL Repo on a CentOS and RHEL 7.x
- yum command: Update / Install Packages Under Redhat Enterprise / CentOS Linux Version 5.x
- Install and enable EPEL repo on an RHEL 8.x
- CentOS 8 Install and enable EPEL repo
Установка epel repo в CentOS
Полностью epel репозиторий называется так — Extra Packages for Enterprise Linux. Это хранилище пакетов, созданное группой специалистов операционной системы Fedora. Пакеты из epel репозитория никогда не конфликтуют и не переустанавливают базовые пакеты RHEL. Поддерживаются пакеты для следующих операционных систем:
- Red Hat Enterprise Linux (RHEL)
- CentOS
- Scientific Linux (SL)
- Oracle Linux (OL)
Установить репозиторий epel в CentOS проще всего, так как epel-release package включен в стандартный Extras repository CentOS, который доступен по-умолчанию. На сегодняшний день это самый популярный неофициальный репозиторий для CentOS.
Установка репозитория epel в centos:
# yum -y install epel-release
Теперь если проверим папку /etc/yum.repos.d, увидим там файл epel.repo, в котором будет информация о новом подключенном репозитории.
Search Packages on EPEL Repository
Use the search or list option to search packages.
yum search ansible
Output:
Loading mirror speeds from cached hostfile * base: mirror.fileplanet.com * epel: d2lzkl7pfhq30w.cloudfront.net * extras: centos.mirrors.tds.net * updates: mirror.fileplanet.com ================================================= N/S matched: ansible ================================================== ansible-doc.noarch : Documentation for Ansible ansible-inventory-grapher.noarch : Creates graphs representing ansible inventory ansible-lint.noarch : Best practices checker for Ansible ansible-openstack-modules.noarch : Unofficial Ansible modules for managing Openstack ansible.noarch : SSH-based configuration management, deployment, and task execution system
OR
yum list ansible
Output:
Loading mirror speeds from cached hostfile * base: mirror.fileplanet.com * epel: d2lzkl7pfhq30w.cloudfront.net * extras: centos.mirrors.tds.net * updates: mirror.fileplanet.com Available Packages ansible.noarch 2.8.4-1.el7 epel
How to install EPEL repo on CentOS 8.x
The following instructions assumes that you are running command as root user on CentOS 8.x system and want to use use Fedora Epel repository. To switch to root user, run su command or sudo command: OR
How to search and enable the EPEL Repository on CentOS 8
Run the following command: To get more info, run: Sample outputs:
CentOS-8 - Base 4.3 kB/s | 3.9 kB 00:00 CentOS-8 - Extras 1.7 kB/s | 1.5 kB 00:00 Available Packages Name : epel-release Version : 8 Release : 8.el8 Architecture : noarch Size : 23 k Source : epel-release-8-8.el8.src.rpm Repository : extras Summary : Extra Packages for Enterprise Linux repository configuration URL : http://download.fedoraproject.org/pub/epel License : GPLv2 Description : This package contains the Extra Packages for Enterprise Linux (EPEL) repository : GPG key as well as configuration for yum. |
Install Extra Packages for CentOS Enterprise Linux repository configuration
Execute the following yum command on CentOS 8:
Run the following command to fix it: Sample outputs:
Last metadata expiration check: :02:33 ago on Sun Dec 8 03:17:00 2019. Dependencies resolved. ================================================================================================================= Package Arch Version Repository Size ================================================================================================================= Installing: dnf-plugins-core noarch 4.0.2.2-3.el8 BaseOS 59 k Installing dependencies: python3-dateutil noarch 1:2.6.1-6.el8 BaseOS 251 k python3-dnf-plugins-core noarch 4.0.2.2-3.el8 BaseOS 171 k Transaction Summary ================================================================================================================= Install 3 Packages Total download size: 481 k Installed size: 1.1 M Is this ok y/N: y Downloading Packages: (1/3): dnf-plugins-core-4.0.2.2-3.el8.noarch.rpm 547 kB/s | 59 kB 00:00 (2/3): python3-dnf-plugins-core-4.0.2.2-3.el8.noarch.rpm 1.1 MB/s | 171 kB 00:00 (3/3): python3-dateutil-2.6.1-6.el8.noarch.rpm 1.5 MB/s | 251 kB 00:00 ----------------------------------------------------------------------------------------------------------------- Total 293 kB/s | 481 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python3-dateutil-1:2.6.1-6.el8.noarch 1/3 Installing : python3-dnf-plugins-core-4.0.2.2-3.el8.noarch 2/3 Installing : dnf-plugins-core-4.0.2.2-3.el8.noarch 3/3 Running scriptlet: dnf-plugins-core-4.0.2.2-3.el8.noarch 3/3 Verifying : dnf-plugins-core-4.0.2.2-3.el8.noarch 1/3 Verifying : python3-dateutil-1:2.6.1-6.el8.noarch 2/3 Verifying : python3-dnf-plugins-core-4.0.2.2-3.el8.noarch 3/3 Installed: dnf-plugins-core-4.0.2.2-3.el8.noarch python3-dateutil-1:2.6.1-6.el8.noarch python3-dnf-plugins-core-4.0.2.2-3.el8.noarch Complete! |
And re-run the above command again:
Now that EPEL repo installed it is time to configure and use it. Hence, run the following command: Sample outputs:
CentOS-8 - AppStream 570 kB/s | 4.3 kB 00:00 CentOS-8 - Base 553 kB/s | 3.8 kB 00:00 CentOS-8 - Extras 226 kB/s | 1.5 kB 00:00 CentOS-8 - PowerTools 54 MB/s | 1.8 MB 00:00 Extra Packages for Enterprise Linux 8 - x86_6 52 kB/s | 21 kB 00:00 Dependencies resolved. Nothing to do. Complete! |
Удалить репозиторий в CentOS
Для того, чтобы удалить репозиторий из системы, необходимо узнать его id с помощью команды yum repolist. Об этом я писал в предыдущем разделе. Затем с помощью утилиты yum-config-manager, которая входит в пакет yum-utils выполним удаление:
# yum-config-manager --disable remi-safe bash: yum-config-manager: command not found
Если получаете такую ошибку, то установите пакет yum-utils:
# yum -y install yum-utils
Удаление репозитория в centos:
# yum-config-manager --disable remi-safe
Теперь проверяем список активных репозиториев:
Удаленного репозитория remi-safe нет. Значит все в порядке, отключение репозитория прошло успешно.
Для того, чтобы обновить кэш yum после изменения репозиториев, можно воспользоваться следующими командами:
Очистить кеш:
# yum clean all
Пересоздать кеш:
# yum makecache
Репозитории в CentOS
Для начала давайте поясним, что такое репозитории и для чего они нужны. Вот что говорит wikipedia на этот счет:
Некоторое время назад Linux приложения выходили в виде исходного кода, который потом компилировали на сервере и получали готовые программы. На сегодняшний день большинство приложений выходят в виде так называемых пакетов. Это уже собранные приложения, которые можно сразу установить и пользоваться.
В нашем случае репозиторий — хранилище пакетов для операционной системы CentOS. Существуют repository от разработчика системы, их называют официальные. Набор rpm пакетов там обычно ограничен и версии не самые свежие. Для установки дополнительного софта используют сторонние репозитории. Их поддерживать могут как другие компании, так и группы энтузиастов.
Управлением пакетами и репозиториями в CentOS занимается утилита yum. Ее конфигурационный файл находится в /etc/yum.conf. Этот файл содержит секцию , в которой указываются глобальные настройки программы. Так же он может содержать одну или несколько секций , в которой хранятся настройки репозиториев. Тем не менее, рекомендуется информацию о репозиториях хранить в каталоге /etc/yum.repos.d/ в специальных файлах .repo.
Минимальное содержание файла .repo следующее:
name=repository_name baseurl=repository_url
name | имя, описывающее репозиторий, может быть любым |
baseurl | ссылка на расположение репозитория, может быть в виде http, ftp или file ссылки |
Другие ползные параметры, которые могут быть указаны в repo файле:
enabled | принимает значение 1 или 0, 1 — репозиторий подключен, 0 — отключен |
async | управляет загрузкой пакетов, auto — использует при возможности параллельную загрузку, on — использует только параллельную загрузку, off — параллельная загрузка отключена |
mirrorlist | вместо ссылки на конкретный адрес репозитория может быть указана ссылка на список адресов, из которых при установке будет выбран наиболее подходящий |
gpgcheck | принимает значение 1 или 0, 1- осуществлять проверку GPG подписи пакета из репозитория, 0 — не проверять |
gpgkey | ссылка на GPG ключ репозитория |
Вот содержание стандартного файла с репозиториями CentOS /etc/yum.repos.d/CentOS-Base.repo:
name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7