Как установить пакеты rpm на centos

Введение

Есть замечательный человек Remi Collet, который создал репозиторий пользующийся огромной популярностью у пользователей операционной системы CentOS. Познакомится с новостями репозитория можно на блоге Remi Collet.

В статье будет рассказано про использование репозитория на системах CentOS 7 и 8.

Les RPM de Remi repository поддерживает последние версии MySQL и PHP (бэкпорты федоровских rpm)

Пакеты этого репозитория необходимо использовать с осторожностью, так как они заменяют базовые пакеты

В другой статье вы можете узнать как использовать репозиторий WebtaticEL для CentOS 7. В нем так же используются последние версии PHP, но к сожалению там нет многих удобств которые есть у Remi. Например, используя репозиторий Remi можно всегда иметь последнюю версию phpMyAdmin.

Сертификат от Let’s Encrypt

Пока у нас свой сертификат и это не красиво, так что получим сертификат от Let’s Encrypt:

При ответе на вопросы, выбираем использование rewrite для перенаправления всех на https. В результате в файле изменяться строки у VirtualHost для http:

и у VirtualHost для https:

Строку закомментируем.

Тут стоит напомнить о необходимости добавить файл с параметрами Диффи-Хеллмана в конец сертификата:

И изменить заголовок HKPK (HTTP Public Key Pinning):

И изменим соответственно строку в конфигурации:

Проверим конфигурацию и перечитаем конфигурацию:

Есть еще одна проблема. Для обновления сертификата добавим запись в крон:

Но этого не достаточно, нужно еще дописать автоматическое добавление файла с параметрами Диффи-Хеллмана и параметры HKPK (HTTP Public Key Pinning).

Происхождение пакета

Иногда хочется знать, где вы получили пакет или пакеты, сколько в вашей системе пакетов от конкретного репозитория или поставщика. Есть несколько параметров поиска, которые можно использовать. Хотя они не 100% совершенны, тем не менее они могут помочь. Большинство пакетов из репозиториев имеют теги с идентификатором в строке Release. Например rpmforge использует rf в качестве идентификатора. Вы можете использовать это, чтобы посмотреть, что у вас установлено оттуда:

rpm -qa release="*rf*"

а если вы хотите увидеть, как много пакетов у вас установлено от Johnny Hughes-а можно использовать:

rpm -qa packager="Johnny*"

Этот метод работает на большинстве категорий вида rpm -qi

rpm -qa

Данная команда выдаст весь список установленных пакетов.

How can I use these extra packages?

EPEL has an ‘epel-release’ package that includes gpg keys for package signing and repository information. Installing this package for your Enterprise Linux version should allow you to use normal tools such as yum to install packages and their dependencies. By default the stable EPEL repo is enabled, there is also a ‘epel-testing’ repository that contains packages that are not yet deemed stable.

NOTE for RHN usersYou need to also enable the ‘optional’ repository to use EPEL packages as they depend on packages in that repository. This can be done by enabling the RHEL optional subchannel for RHN-Classic. For certificate-based subscriptions see .

NOTE for RHEL 7 users with certificate subscriptionsEPEL 7 packages assume that the ‘optional’ repository (rhel-7-server-optional-rpms for servers) and the ‘extras’ repository (rhel-7-server-extras-rpms for servers) are enabled. You can do this with:

NOTE for RHEL 8 users with certificate subscriptionsEPEL packages assume that the ‘codeready-builder’ repository is enabled. You can do this with:

NOTE for CentOS 8 usersEPEL packages assume that the ‘powertools’ repository is enabled. You can do this with:

NOTE for CentOS usersYou can install EPEL by running yum install epel-release. The package is included in the CentOS Extras repository, enabled by default.

You can verify these packages and their keys from the Fedora project’s keys page: https://fedoraproject.org/keys

Настройка Postgresql CentOS 7

Теперь сервер баз данных Postgresql установлен и запущен. Нам осталось проверить как все работает, настроить пользователей и свою первую базу данных. Настройка Postgresql CentOS 7 изначально выполняется только от пользователя postgres поэтому переключаемся на этого пользователя с помощью команды su:

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

Смотрим информацию о подключении:

Первое что здесь можно сделать, это создать пароль для postgres:

Дальше закройте оболочку командой:

Пользователь postgres — это аналог суперпользователя для Postgresql. Но не всегда безопасно использовать вход от имени суперпользователя. Нам нужно создать обычного пользователя, который может только управлять базами данных. Для этого выполните в консоли от имени postgres:

Дальше нужно ввести имя роли и ответить на несколько вопросов, а также повторить процедуру задания пароля как для postgres. Чтобы вы могли использовать postgresql через терминал от имени этого пользователя добавьте пользователя UNIX:

Нам осталось только создать новую базу данных:

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

Репозитории в 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

Display what package provides the file

You can easily find out what RPM package provides the file. For example find out what provides the /etc/passwd file: OR Sample output:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.excellmedia.net
 * epel: repo.ugm.ac.id
 * extras: centos.excellmedia.net
 * updates: centos.excellmedia.net
setup-2.8.71-7.el7.noarch : A set of system configuration and setup files
Repo        : base
Matched from:
Filename    : /etc/passwd



setup-2.8.71-7.el7.noarch : A set of system configuration and setup files
Repo        : @base
Matched from:
Filename    : /etc/passwd

You can use same command to list packages that satisfy dependencies:

Подключение rpmforge repo в CentOS

Полное название rpmforge репозитория — RepoForge. По информации с сайта wiki.centos.org этот архив больше не поддерживается и не рекомендуется к установке. Но лично я нигде больше не нашел об этом информацию, в том числе и на официальном сайте repoforge.org. Данный репозиторий содержит следующие наборы совместимых RHEL пакетов:

  • Servers (eg. monitoring, troubleshooting, management)
  • Desktops (eg. office, leisure, multi-media)
  • Development (eg. perl, python, ruby libraries)

Установка rpmforge на centos:

  1. Устанавливаем GPG ключ:
    # rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
  2. Идем на страницу загрузки и копируем ссылку rpm пакета под нужную нам архитектуру.
  3. Устанавливаем скопированный rpm пакет:
    # yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

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

# yum -y install http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

По последним данным, репозиторий rpmforge закрыт и больше не поддерживается ? https://github.com/repoforge/rpms/issues/375 https://wiki.centos.org/AdditionalResources/Repositories/RPMForge

Проверяем директорию /etc/yum.repos.d:

# ls -l | grep rpmforge
-rw-r--r--. 1 root root 739 Jun 12 2014 mirrors-rpmforge
-rw-r--r--. 1 root root 717 Jun 12 2014 mirrors-rpmforge-extras
-rw-r--r--. 1 root root 728 Jun 12 2014 mirrors-rpmforge-testing
-rw-r--r--. 1 root root 1128 Jun 12 2014 rpmforge.repo

Все в порядке rpmforge репозиторий установлен.

Установка remi repo в CentOS

Les RPM de Remi repository поддерживает последние версии MySQL и PHP (бэкпорты федоровских rpm)

Пакеты этого репозитория необходимо использовать с осторожностью, так как они заменяют базовые пакеты

Установка репозитория remi в centos:

  1. # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  2. # rpm -Uvh remi-release-7*.rpm

Проверяем:

# cd /etc/yum.repos.d
# ls -l | grep remi
-rw-r--r--. 1 root root 698 Jul 23 17:54 remi-php70.repo
-rw-r--r--. 1 root root 2382 Jul 23 17:54 remi.repo
-rw-r--r--. 1 root root 449 Jul 23 17:54 remi-safe.repo

Remi’s RPM repository репозиторий установлен.

Запись образа на носитель

После того как мы убедились в целостности образа и его достоверности, неплохо было бы его уже записать и установить! Так сделаем это, но вначале определимся, на что записывать будем.

Запись образа на диск

Для записи данного образа, нам понадобится двухсторонний DVD. Допустим мы его нашли и записываем, установив предварительно wodim:

Запись образа на флешку

Двухсторонний DVD это как то архаично, так что возьмем флешку на 16 гб и запишем образ на нее, но прежде /dev/sda тут — это флешка, а у Вас она может быть другой. Смотри команду fdisk:

Если не поддерживается, то по старинке:

или вот так:

а можно воспользоваться pv:

Создание репозитория

Настроим свой репозиторий, в котором будут храниться установочные пакеты. Также настроим их автоматическую синхронизацию с репозиторием CentOS.

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

yum install createrepo yum-utils

Создаем каталоги для репозитория:

mkdir -p /usr/share/nginx/html/repos/7//x86_64

* в данном примере будет создан каталог /usr/share/nginx/html/repos/7, а внутри него каталоги os (стандартный репозиторий для установка пакетов) и updates (обновления), в каждой из которых каталог x86_64 (для систем x64 архитектуры x86).

Синхронизируем наш будущий репозиторий с источником пакетов, например, с зеркалом от Яндекса:

rsync -iavrt —delete —exclude=’repo*’ rsync://mirror.yandex.ru/centos/7/os/x86_64/ /usr/share/nginx/html/repos/7/os/x86_64/

После синхронизируем updates:

rsync -iavrt —delete —exclude=’repo*’ rsync://mirror.yandex.ru/centos/7/updates/x86_64/ /usr/share/nginx/html/repos/7/updates/x86_64/

createrepo -v /usr/share/nginx/html/repos/7/os/x86_64

createrepo -v /usr/share/nginx/html/repos/7/updates/x86_64

. location / <root /usr/share/nginx/html; index index.html index.htm; autoindex on; > .

* в данном примере мы добавили autoindex on для удобства — это позволит просматривать содержимое репозитория в браузере.

systemctl restart nginx

Открываем браузер и переходим по адресу http:// /repos/7 — мы должны увидеть список os и updates. Походив по нему, мы найдем список скачанных пакетов.

Установка ядра

Перед обновлением ядра, необходимо обновить саму систему:

yum update

После стоит перезагрузить систему:

shutdown -r now

Далее у нас на выбор два способа обновления ядра — с использованием репозитория или вручную, скачав исходник с kernel.org.

С помощью yum

Самый быстрый и безопасный способ обновить ядро CentOS — воспользоваться автоматической установкой из репозитория. Минусом тут является то, что можно установить только ту версию, которая имеется в наличие в данном репозитории.

Последняя версии ядра для CentOS находится в репозитории ELRepo (не путать с EPEL). Сначала устанавливаем его.

Переходим на веб-страницу elrepo.org и копируем ссылку на последнюю версию репозитория для нашей версии операционной системы, например:

Импортируем ключ репозитория:

rpm —import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

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

yum install https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

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

Теперь можно установить ядро:

yum —enablerepo=elrepo-kernel install kernel-ml

Ручное обновление

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

Ручная установка неадаптированного для определенной сборки Linux ядра — потенциальный риск для системы. Обновление стоит проводить сначала в тестовой среде, а также выполнить резервное копирование всех важных данных.

Для начала переходим на сайт kernel.org и копируем ссылку на нужную версию ядра Linux:

* в данном примере мы скопировали ссылку на нестабильную версию ядра 5.0.

Воспользовавшись ссылкой, скачиваем ядро на компьютер с Linux:

wget https://git.kernel.org/torvalds/t/linux-5.0-rc8.tar.gz

* если система вернет ошибку, нужно установить wget — yum install wget.

Распаковываем скачанный архив:

tar -xvf linux-5.0-rc8.tar.gz -C /usr/src

* в данном примере мы распаковываем архив linux-5.0-rc8.tar.gz в каталог /usr/src.

Переходим в каталог, куда распаковали исходник ядра:

cd /usr/src/linux-5.0-rc8/

Устанавливаем инструменты для компиляции пакетов:

yum groupinstall «Development Tools»

yum install ncurses-devel openssl-devel bc

Создаем свою конфигурацию для ядра:

make menuconfig

Или используем текущую конфигурацию для ядра:

make oldconfig

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

Компилируем ядро:

make

* процедура может занять много времени.

После устанавливаем ядро и модули:

make modules_install install

Решение:

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

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

Некоторые репозитории несовместимы между собой. Иногда это может разрушить систему.

Скрипт добавления EPEL, REMI, RPMforge репозиториев в Centos 6 x64.

cd /tmp
yum -y  install wget
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release*
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm
yum install -y yum-priorities
sed -i '/enabled=1/a\priority=10\' /etc/yum.repos.d/elrepo.repo && sed -i '5c\enabled=1\' /etc/yum.repos.d/remi.repo && sed -i '5a\priority=10\' /etc/yum.repos.d/remi.repo
yum update

Краткое описание репозиториев

  • RPMforge является результатом сотрудничества Dag-а,Dries-а, и других создателей пакетов. Он обеспечивает более 4000 пакетов для CentOS. Он не является частью Red Hat или CentOS, но предназначен для работы с этими основными дистрибутивами.
  • Remi Collet содержит последние версии MySQL и PHP
  • ELRepo это репозиторий с последними драйверами для графических, сетевых, звуковых карт, веб камер и многого другого.

Уменьшение рисков

Если у вас повышенные требования к стабильности и вы опасаетесь при автоматическом обновлении поломать систему, то рекомендуем после установки репозитория отключить его установкой параметра enabled=0 (По умолчанию там будет enabled=1)
Например для EPEL это можно сделать в файле параметров репозитория /etc/yum.repos.d/epel.repo
Для RPMforge в файле /etc/yum.repos.d/rpmforge.repo

/etc/yum.repos.d/rpmforge.repo

name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

После этого пакеты из этих репозиториев не будут доступны если вы не используете в команде установки пакета или обновления системы параметр

  --enablerepo=<имя репозитория>

Например:

yum --enablerepo=epel install iftop
yum --enablerepo=rpmforge install iftop

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

CentOS 4

Скачайте пакет rpmforge-release. Выберите одну из двух ссылок ниже, в зависимости от вашей архитектуры. Если не уверены, какую из них использовать, то узнайте свою архитектуру командой uname -i

  • i386 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el4.rf.i386.rpm
  • x86_64 http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el4.rf.x86_64.rpm

(Вы можете найти полный список пакетов rpmforge-release на http://packages.sw.be/, но рекомендуется использовать один из двух перечисленных выше).

Установка ключа Dag GPG

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

Убедитесь что вы скачали пакет без ошибок:

rpm -K rpmforge-release-0.5.2-2.el4.rf.*.rpm

Установите пакет

rpm -i rpmforge-release-0.5.2-2.el4.rf.*.rpm

Это позволит добавить файл конфигурации репозитория в YUM и импортировать соответствующие ключи GPG.

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

yum install mplayer

Check out related media

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:

  1. CentOS / RHEL / Scientific Linux 6/5 Enable and Install EPEL Repo
  2. How To Install EPEL Repo on a CentOS and RHEL 7.x
  3. yum command: Update / Install Packages Under Redhat Enterprise / CentOS Linux Version 5.x
  4. Install and enable EPEL repo on an RHEL 8.x
  5. CentOS 8 Install and enable EPEL repo

RPMForge для CentOS 6

По умолчанию репозиторий RPMForge не подменяет апакетов из базового репозитория CentOS. Это было в прошлом, теперь данные пакеты выведенены в отдельный репозиторий (RPMForge-Extras), который по умолчанию отключен.

Вы можете найти полный список пакетов RPMForge на http://packages.sw.be/.

Скачайте установочный пакет репозитория. Выбрав одну из ссылок ниже, в соответствии со своей архитектурой. Если вы не знаете какая у вас архитектура, выполните команду: uname -i.

  • i386 http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
  • x86_64 http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

Импортирование ключа.

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

Теперь убедитесь, что вы скачали пакет без ошибок.

rpm -K rpmforge-release-0.5.3-1.el6.rf.*.rpm

Установите пакет.

rpm -i rpmforge-release-0.5.3-1.el6.rf.*.rpm

Это добавит конфигурационный файл репозитория и импорт соответствующих ключей GPG.

Для пробы установите что-то вроде:

yum install htop

Управление репозиториями в CentOS

Управление пакетами и репозиториями осуществляет утилита YUM (Yellowdog Updater, Modified) — менеджер RPM-пакетов, использующийся в дистрибутивах: RHEL, SentOS, Scientific Linux. В его задачи входит: поиск, установка, удаление пакетов, обновление системы.

Процесс установки пакетов происходит после выполнения команды — yum install packagename. После ввода команды менеджер пакетов проверяет наличие конфигурационных файлов «*.repo», эти файлы содержат информацию о репозиториях и хранятся в директории /etc/yum.repos.d. Во время проверки YUM получает всю необходимую информацию, указывающую откуда загружать пакет и какие зависимости имеют к нему отношение. После чего происходит установка пакета.

Конфигурационные файлы репозиториев содержат следующие параметры:

  • name — имя репозитория, может быть любым.
  • baseurl — ссылка указывающая на репозиторий. Может быть вида: ftp://link, http://link, https://link, если репозиторий размещен в сети интернет, или file://path, если репозиторий размещен локально.
  • enabled — указывает на активацию репозитория при выполнении обновления. Может иметь следующие значения, 1 — если подключен, 0 — если отключен.
  • gpgcheck — включить или выключить проверку сигнатуры GPG. Может иметь следующие значения, 1 — проверять, 0- не проверять.
  • gpgkey — ссылка на ключ GPG.
  • exclude — список исключаемых пакетов.
  • includepkgs — список включаемых пакетов.
  • mirrorlist — вместо ссылки на конкретный адрес репозитория, может использоваться ссылка на список адресов из которых будет выбран нужный адрес.

Подключение репозиториев в CentOS

Добавить репозиторий в CentOS можно несколькими способами. Можно создать файл «.repo» в директории /etc/yum.repos.d или установить rpm-пакет с информацией о репозитории. Если rpm-пакет отсутствует, то добавлять приходится ручками, создавая конф. файл репозитория.

Для просмотра списка активных репозиториев выполняют команду — yum repolist

yum repolist

# Выхлоп:
repo id                                 repo name                                                              status
base/7/x86_64                           CentOS-7 - Base                                                         9,007
epel/x86_64                             Extra Packages for Enterprise Linux 7 - x86_64                         10,580
extras/7/x86_64                         CentOS-7 - Extras                                                         390
updates/7/x86_64                        CentOS-7 - Updates                                                      2,469
repolist: 22,446

# repo id - id репозитория
# repo name - имя репозитория
# status - количество пакетов

Удаление репозиториев в CentOS

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

yum install yum-utils -y

Допустим мы хотим удалить из системы репозитории REMI и ELRepo, для этого надо узнать «repo id» при помощи команды yum repolist.

yum repolist

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.yandex.ru
 * elrepo: elrepo.0m3n.net
 * epel: mirror.23media.de
 * extras: mirror.yandex.ru
 * remi-safe: mirror.23media.de
 * updates: mirror.yandex.ru
repo id                           repo name                                                                    status
base/7/x86_64                     CentOS-7 - Base                                                               9,007
elrepo                            ELRepo.org Community Enterprise Linux Repository - el7                          162
epel/x86_64                       Extra Packages for Enterprise Linux 7 - x86_64                               10,580
extras/7/x86_64                   CentOS-7 - Extras                                                               390
remi-safe                         Safe Remi's RPM repository for Enterprise Linux 7 - x86_64                    1,144
updates/7/x86_64                  CentOS-7 - Updates                                                            2,469
repolist: 23,752

Удалим указанные репозитории.

yum-config-manager --disable remi-safe --disable elrepo

Команда скорее отключает указанные репозитории, чем удаляет их. Она выставляет значение параметра enabled равным 0. Файлы репозиториев «.repo» останутся на месте. Если выполнить команду yum repolist, то репозитории будут недоступны.

yum repolist

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.yandex.ru
 * epel: fedora-mirror01.rbc.ru
 * extras: mirror.yandex.ru
 * updates: mirror.yandex.ru
repo id                                 repo name                                                              status
base/7/x86_64                           CentOS-7 - Base                                                         9,007
epel/x86_64                             Extra Packages for Enterprise Linux 7 - x86_64                         10,580
extras/7/x86_64                         CentOS-7 - Extras                                                         390
updates/7/x86_64                        CentOS-7 - Updates                                                      2,469
repolist: 22,446

Теперь нужно обновить кэш YUM.

yum clean all
yum makecache

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

# Переходим в каталог /etc/yum.repos.d
cd /etc/yum.repos.d

# Удаляем файлы
rm -f elrepo.repo remi-php70.repo remi-php71.repo remi-safe.repo remi.repo

Подготовка

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

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

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

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

Удалить репозиторий в 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

Yandex mirror для CentOS

mirror.yandex.ru — сайт компании Яндекс, зеркало репозитариев популярных дистрибутивов Linux, FreeBSD и других проектов, в том числе CentOS. Работает по протоколам HTTP, FTP и rsync.

На зеркале CentOS можно скачать дистрибутивы всех актуальных на текущий момент версий, а это версии 5, 6 и 7. Зеркало можно использовать в качестве источников стандартных репозиториев системы — base, updates, extras, centosplus.

Можно использовать, что я неоднократно делал, yandex mirror для сетевой установки CentOS. Путь к установочному образу: http://mirror.yandex.ru/centos/7/os/x86_64/images/

На этом у меня все по теме работы с репозиториями.

Queries

Let’s now see how we can use these tools to query our package managers.

5.1. List Packages

We can ask YUM to list our packages with the following commands:

With APT, instead, we can list our packages:

In case we want to see only the available packages, we can resort to some grep since there’s no APT command to do that out of the box:

For scripting, we could also consider resorting to the nearest solution to apt list available from apt-cache:

Beware that the result will differ both in the number of occurrences and in their returned order, though.

5.2. Search Packages

With YUM, we can look for a package containing a specific term in its name or description:

This time, in APT it’s identical:

Удалить репозиторий в 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

Шаг 3. Установка гостевых дополнений VirtualBox в CentOS 8

Есть два способа установить гостевые дополнения, и здесь мы рассмотрим оба способа:

Графическая установка гостевых дополнений VirtualBox

Чтобы установить гостевые дополнения, перейдите в меню VirtualBox и нажмите «Устройства» → «Подключить образ диска Дополнений гостевой ОС…»:

Появится всплывающее окно, как показано на скриншоте. Отсюда вы можете выбрать два варианта:

Вы можете нажать «Запустить» и затем ввести пароль своего пользователя для выполнения программы с повышенными привилегиями. После этого начнётся сборка модулей. Информация о сборке будет выводиться в терминал

Обратите внимание на выводимую информацию, чтобы убедиться, что сборка не завершилась ошибкой. К примеру, на следующем скриншоте сборка гостевых модулей завершилась ошибкой (из-за отсутствия пакета autoconf):

После окончания установки, перезагрузите систему и проверьте работу функций, которые включают гостевые дополнения VirtualBox.

Установка гостевых дополнений VirtualBox вручную

Второй вариант — установить в командной строке. Для этого выберите опцию «Отмена», а затем откройте терминал и создайте точку монтирования для ISO-образа гостевых дополнений.

sudo mkdir -p /mnt/cdrom

Затем смонтируйте образ ISO в точке монтирования.

sudo mount /dev/cdrom /mnt/cdrom

Затем, наконец, перейдите к месту монтирования и запустите скрипт установщика VirtualBox.

cd /mnt/cdrom
sudo ./VBoxLinuxAdditions.run

Как только скрипт будет запущен, вы сразу увидите, как экран разворачивается в полный размер. Если в вашем случае этого не произошло, перезагрузите систему и, наконец, загрузитесь в полноэкранную виртуальную машину CentOS 8

В меню VirtualBox включите «Общий буфер обмена» и другие функции, которые вам нужны:

Например «Общий буфер обмена» → «Двунаправленный» позволяет копировать и вставлять текст между хост-системой и гостевой системой.

Мы надеемся, что эта статья оказалась для вас полезной.

Заключение

На этом статью по установке сервера на базе ОС CentOS 8 завершаю. Рекомендую сразу же заняться базовой настройкой. Надеюсь, было интересно и полезно. Я постарался подробно рассмотреть все основные нюансы установки, с которыми сам сталкиваюсь в процессе своей профессиональной деятельности. Основные отличия моих статей от подобных, которых развелось огромное количество в интернете в том, что они действительно уникальные и авторские. Я всегда стараюсь привнести в материал часть своих знаний и опыта, накопленного за годы работы в качестве системного администратора. Или просто какие-то свои мысли высказать.

Прежде чем написать статью, я погуглил как ru сегмент, так и мировой на тему установки centos 8 и с грустью констатирую, что не нашел ничего интересного. В топе выдачи банальные СЕО статьи со скриншотами и шагами инсталлятора. Ничего уникального и действительно полезного. Это удручает, потому что СЕО побеждает реальных авторов-практиков, у которых нет времени разбираться в продвижении, и делает их статьи невидимыми для людей, потому что их нет в ТОП 10 выдачи поисковиков. Если мне попадаются интересные сайты с качественным контентом, я добавляю их в закладки и просматриваю вручную, когда есть время.

Обозначенная выше проблема актуальна для всех информационных сайтов. Думаю, каждый это замечает, когда что-то ищет в интернете не по коммерческим запросам. На первых местах всегда СЕО статьи с рерайтом одной и той же фигни. Практическая ценность подобных статей стремится к нулю. Поисковики что-то постоянно пытаются с этим сделать, но получается не очень, потому что сеошники подстраиваются. В этом плане Гугл работает более качественно, чем Яндекс. У последнего выдача более мусорная, что косвенно подтверждается тем, что он с каждым годом теряет свои позиции в качестве поисковика.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: