Yum/dnf remove repo

Репозитории CentOS 7

Настройка репозиториев CentOS может выполняться ручным редактированием конфигурационных файлов, но более популярен вариант с установкой файла репозитория. Установка репозиториев CentOS 7 выполняется путем установки rpm файла. Так принято для всех репозиториев. Чтобы посмотреть список репозиториев CentOS 7 подключенных к системе, выполните:

А теперь рассмотрим это более подробно, в списке репозиториев.

1. SСL

SСL или Software Collections — это репозиторий от Red Hat, содержащий новые версии пакетов и программного обеспечения. Файл его установщика есть в официальном репозитории, поэтому для установки достаточно набрать:

После этого вы можете выполнить поиск нужных пакетов:

И сразу их установить:

Кроме того, вы можете устанавливать пакеты из этого репозитория так, чтобы они не заменяли уже установленные версии программ. Для этого используйте скрипт scl:

Для работы такого метода нужно установить все необходимые компоненты, например, если нужен еще и MySQL и Python, то их тоже нужно установить. Также понадобится исправить файлы конфигурации Apache.

Пакеты, установленные с помощью scl, не будут активны после перезагрузки. Этот инструмент предназначен для установки нескольких версий пакетов в вашей систему. Вы можете настроить автоматическое включение пакетов, добавив команды enable в скрипт .bashrc. Все файлы устанавливаются в /opt/ поэтому для автоматической загрузки php добавьте такую строчку:

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

Это необходимо, потому что отдельной опции чтобы вывести список пакетов определенного репозитория в yum нет.

2. EPEL

EPEL или Extra Packages for Enterprise Linux — это репозиторий дополнительных пакетов для Red Hat, поддерживаемый командой проекта Fedora. Здесь есть новые версии программ, а также некоторые другие программы, которых нет в официальных репозиториях. Чтобы добавить репозиторий CentOS 7 выполните:

Затем вы можете посмотреть список пакетов:

3. Remi Collet

Remi Collet содержит тоже большое количество обновленных пакетов для CentOS от проекта Remi RPM. Этот репозиторий зависит от EPEL. Заметьте, что пакеты из этого репозитория имеют такие же имена, как и в официальных, поэтому это может вызвать нежелательное обновление, так что будьте осторожны.

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

4. IUS

Репозиторий IUS — это официальный репозиторий с новыми версиями пакетов от Red Hat. Здесь уже имена пакетов отличаются от используемых в репозитории по умолчанию от CentOS, поэтому проблем с обновлением не возникнет. Чтобы установить репозиторий CentOS 7 выполните:

5. nux-dextop

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

Разные релизы CentOS

В одном репозитории мы можем легко хранить пакеты для различных релизов операционной системы CentOS (и не только CentOS, но и PPA). Для этого создаем каталог под новый релиз, синхронизируем его с источником и создаем из него репозиторий, например:

mkdir -p /usr/share/nginx/html/repos/6/{os,updates}/x86_64

* в данном примере предполагается использование репозитория для релиза 6.

Синхронизируем пакеты:

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

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

Создаем репозитории:

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

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

Подключение репозитория от Remi

для CentOS 7

Для установки репозитория Remi в CentOS 7 достаточно выполнить команду:

# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

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

yum repolist
= вывод части команды =
Загружены модули: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.corbina.net
 * epel: mirror.logol.ru
 * extras: mirror.reconn.ru
 * remi-safe: mirror.reconn.ru
 * updates: mirror.corbina.net   
remi-safe    Safe Remi's RPM repository for Enterprise Linux 7 - x86_64     3 144

По умолчанию установлен репозиторий remi-safe который имеет только дополнительные пакеты для базового хранилища и коллекций программного обеспечения. Например, при попытке установить phpMyAdmin будет установлена старая версии. Для установки последних версий надо активировать репозиторий remi.

Посмотрим репозитории что у нас есть в системе выполнив команду:

ls /etc/yum.repos.d/ -l
итого 92
-rw-r--r-- 1 root root 1664 ноя 23 16:16 CentOS-Base.repo
-rw-r--r-- 1 root root 1309 ноя 23 16:16 CentOS-CR.repo
-rw-r--r-- 1 root root 649 ноя 23 16:16 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root 314 ноя 23 16:16 CentOS-fasttrack.repo
-rw-r--r-- 1 root root 630 ноя 23 16:16 CentOS-Media.repo
-rw-r--r-- 1 root root 1331 ноя 23 16:16 CentOS-Sources.repo
-rw-r--r-- 1 root root 5701 ноя 23 16:16 CentOS-Vault.repo
-rw-r--r-- 1 root root 951 окт 2 2017 epel.repo
-rw-r--r-- 1 root root 1050 окт 2 2017 epel-testing.repo
-rw-r--r-- 1 root root 261 фев 8 15:23 mariadb.repo
-rw-r--r-- 1 root root 113 июл 15 2014 nginx.repo
-rw-r--r-- 1 root root 446 дек 21 20:50 remi-glpi91.repo
-rw-r--r-- 1 root root 446 дек 21 20:50 remi-glpi92.repo
-rw-r--r-- 1 root root 446 дек 21 20:50 remi-glpi93.repo
-rw-r--r-- 1 root root 446 дек 21 20:50 remi-glpi94.repo
-rw-r--r-- 1 root root 456 дек 21 20:50 remi-php54.repo
-rw-r--r-- 1 root root 1314 дек 21 20:50 remi-php70.repo
-rw-r--r-- 1 root root 1314 дек 21 20:50 remi-php71.repo
-rw-r--r-- 1 root root 1314 дек 21 20:50 remi-php72.repo
-rw-r--r-- 1 root root 1314 дек 21 20:50 remi-php73.repo
-rw-r--r-- 1 root root 2605 дек 21 20:50 remi.repo
-rw-r--r-- 1 root root 750 дек 21 20:50 remi-safe.repo

Надеюсь, вы заметили что есть репозитории glpi.

GLPI — это программный инструмент ITSM, который помогает вам легко планировать и управлять изменениями в ИТ структуре предприятия, эффективно решать возникающие проблемы используя систему заявок, так же позволяет вам получить контроль над ИТ-бюджетом и расходами вашей компании. В будущем я расскажу как работать с этим замечательным проектом. Кроме того, то что Remi Collet поддерживает репозиторий меня очень радует.

Перед работой с репозиториями Remi необходимо установите пакет yum-utils, что бы не получать ошибку «bash: yum-config-manager: command not found».  Установим yum-utils выполнив необходимую команду:

yum install yum-utils

Сейчас у нас активирован remi-safe. Для активации remi надо вначале отключить remi-safe а потом активировать remi выполнив команды:

yum-config-manager --disable remi-safe
yum-config-manager --enable remi

Перед тем как определится какую версию PHP использовать я всегда смотрю на сайте Supported Versions PHP.

для CentOS 8

В 8 версии CentOS используется версия php 7.2 которая уже может удовлетворять требования множества новых сайтов, но если вам нужны версии новее подключайте Remi.

Подключаем репозиторий Remi, выполнив следующую команду:

dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Посмотрим список всех доступных вариантов установки php:

dnf module list php
= вывод команды =
Последняя проверка окончания срока действия метаданных: 1:41:10 назад, Пн 28 окт 2019 08:05:09.
CentOS-8 - AppStream
Name Stream Profiles Summary 
php 7.2  common , devel, minimal PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary 
php remi-7.2 common , devel, minimal PHP scripting language 
php remi-7.3 common , devel, minimal PHP scripting language 
php remi-7.4 common , devel, minimal PHP scripting language

Hint: efault, nabled, disabled, nstalled

Из вывода выше видно что по умолчанию стоит базовая версия CentOS 7.2 и имена она будет установлена.

Удаление и отключение репозиториев

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

Если нужно отключить репозиторий навсегда, то вам придется редактировать файл репозитория. Все файлы репозиториев находятся в папке /etc/yum.repos.d/. Например, чтобы отключить EPEL найдите его файл и замените строчку enabled=1 на enabled=0:

Теперь, если вывести список репозиториев CentOS, то вы увидите что один из них отключен:

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

Важно заметить, что при удалении репозитория пакеты, которые были из него установлены не удалятся, возможно, только будет снижена их версия, до версии из официальных репозиториев

Удаление и отключение репозиториев

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

yum update –disablerepo=remi

Если нужно отключить репозиторий навсегда, то вам придется редактировать файл репозитория. Все файлы репозиториев находятся в папке /etc/yum.repos.d/. Например, чтобы отключить EPEL найдите его файл и замените строчку enabled=1 на enabled=0:

sudo vi /etc/yum.repos.d/epel.repo

Теперь, если вывести список репозиториев CentOS, то вы увидите что один из них отключен:

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

sudo yum remove epel-release

Важно заметить, что при удалении репозитория пакеты, которые были из него установлены не удалятся, возможно, только будет снижена их версия, до версии из официальных репозиториев

Настройка репозиториев CentOS

В Red Hat есть утилита subscribtion-manager, которая позволяет управлять подключёнными репозиториями, устанавливать их и менять конфигурации. Она проприетарная, поэтому из CentOS вырезана. Но настройка репозитория CentOS 7 необязательно должна выполняться вручную. Существует специальная утилита — yum-config-manager, правда, она не поставляется вместе с системой и её надо установить:

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

  • —add-repo — добавить репозиторий;
  • —enable — активировать репозиторий;
  • —disable — отключить репозиторий;
  • —setopt — установить значение параметра репозитория;

Опции —add-repo надо передать адрес файла .repo с описанием репозитория, поэтому она используется очень редко, а вот для включения или отключения репозиториев утилиту использовать очень удобно. Например, отключаем репозиторий nux-dextop:

Затем включаем обратно:

Если всё прошло так, как надо, то утилита выведет новую конфигурацию, если же ничего не выведено, значит такой пакет не найден. Проверьте, правильно ли вы вводите название репозитория с помощью команды:

Добавление репозитория EPEL

EPEL — самый простой в установке репозиторий. Epel-release package включен в стандартный Extras repository и доступен по умолчанию. Для его установки достаточно выполнить команду:

yum install epel-release -y

В процессе установки будет создан файл «epel.repo», который будет содержать все данные для работы с репозиторием. Выполним команду выводящую содержимое файла.

cat /etc/yum.repos.d/epel.repo


name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7


name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1


name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

Настройка клиента

Что­бы гаран­ти­ро­вать, что все паке­ты будут ска­чи­вать­ся с локаль­но­го репо­зи­то­рия, отклю­ча­ем имеющиеся:

find /etc/yum.repos.d -type f -exec sed -i «s/enabled=1/enabled=0/g» {} \;

* в дан­ном при­ме­ре мы во всей фай­лах ката­ло­га /etc/yum.repos.d нашли и заме­ни­ли enabled=1 на enabled=0.
* мож­но так­же посту­пить ради­каль­но и уда­лить репо­зи­то­рии коман­дой \rm /etc/yum.repos.d/*

Созда­ем файл с настрой­кой репозитория:

vi /etc/yum.repos.d/local.repo

name=Local Yum Repo
baseurl=http://192.168.0.10/repos/$releasever/os/$basearch/
enabled=1
gpgcheck=0

name=Local Yum Repo for update packages
baseurl=http://192.168.0.10/repos/$releasever/updates/$basearch/
enabled=1
gpgcheck=0

* где local — назва­ние репо­зи­то­рия; name — опи­са­ние; baseurl — базо­вый адрес http, по кото­ро­му нуж­но искать паке­ты; enabled — ука­за­ние на вклю­че­ние или отклю­че­ние репо­зи­то­рия; gpgcheck — вклю­чить или отклю­чить про­вер­ку GPG сиг­на­тур для пакетов.

Так­же мож­но задать при­о­ри­тет для каж­до­го из репозиториев:

priority=1

* 1 — наи­выс­ший приоритет.

Гото­во. Мож­но выпол­нить установку.

Если в про­цес­се обнов­ле­ния или уста­нов­ки мы полу­чим ошиб­ку  PYCURL ERROR 22, выпол­ня­ем коман­ду yum clean all.

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

yum list installed

Установка 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, в котором будет информация о новом подключенном репозитории.

Установка PostgreSQL в CentOS/RHEL

Хотя PostgreSQL можно установить из базового репозитория CentOS, мы выполним установку репозитория от разработчиков, так как в нем всегда присутствует актуальная версия пакета.

Первым шагом устанавливаем репозиторий PosgreSQL (на данный момент он устанавливается следующим образом):

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

В данном репозитории есть как самые новые версии PostgreSQL, так и более старые версии. Информация о репозитории выглядит следующим образом:

Установим последнюю доступную версию версию (PostrgeSQL 11) c помощью yum.

yum install postgresql11-server -y

В процессе установки устаналивается сам сервере PostgreSQL и необходимые библотеки:

После установки пакетов, нужно произвести инициализацию базы данных:

Так же сразу добавим сервер БД в автозагрузку и запустим его:

systemctl enable postgresql-11

systemctl start postgresql-11

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

]# systemctl status postgresql-11

Если вам нужен доступ к PostgreSQL снаружи, вам нужно открыть порт TCP/5432, в стандартном firewall в Centos 7:

# firewall-cmd –zone=public –add-port=5432/tcp –permanent# firewall-cmd –reload

#iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 5432 -j ACCEPT

#service iptables restart

Если включен SELinux, выполните:

setsebool -P httpd_can_network_connect_db 1

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

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

yum help

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

yum clean all

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

yum makecache

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

yum repolist

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

yum list available

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

yum list installed

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

yum list kernel

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

yum list installed httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.awanti.com
* epel: mirror.datacenter.by
* extras: mirrors.powernet.com.ru
* updates: mirror.axelname.ru
Installed Packages
httpd.x86_64    2.4.6-93.el7.centos    @base

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

yum info httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.awanti.com
* epel: mirrors.glesys.net
* extras: mirrors.powernet.com.ru
* updates: mirror.axelname.ru
Installed Packages
Name        : httpd
Arch        : x86_64
Version     : 2.4.6
Release     : 93.el7.centos
Size        : 9.4 M
Repo        : installed
From repo   : base
Summary     : Apache HTTP Server
URL         : http://httpd.apache.org/
License     : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
            : web server.

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

yum install httpd

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

yum deplist httpd

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

yum install epel-*

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

yum install wget htop yum-utils

Переустановка пакета:

yum reinstall proftpd

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

yum remove httpd

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

yum deplist httpd

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

yum search httpd

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

yum provides */squid.conf

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

yum update

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

yum update httpd

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

yum check-update

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

yum updateinfo list security

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

yum downgrade php

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

yum grouplist

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

yum groupinfo "Basic Web Server"

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

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

yum groupinfo "System Administration Tools"

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

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

yum groupinstall "System Administration Tools"

Удалить репозиторий в 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
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

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