Введение
Есть замечательный человек 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:
- Устанавливаем GPG ключ:
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
- Идем на страницу загрузки и копируем ссылку rpm пакета под нужную нам архитектуру.
- Устанавливаем скопированный 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:
-
# wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
-
# 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:
- 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
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.