Centos 7 список репозиториев

Yum: история и логи установки/удаления пакетов

Вы можете вывести информацию об истории установки пакетов yum (списка транзакций) с помощью команды:

yum history list

Вывод состоит из 5 столбцов, в первом выводится ID транзакции по которому можно посмотреть всю информацию (установленные пакеты, зависимости):

Например:

yum history info 10

Более того, можно отменить данную транзакцию командой:

yum history undo 10

В моем случае удалилось бы 4 пакета:

Так же всю информацию об истории установки/удаления пакетов менеджером yum можно посмотреть в логе :

cat /var/log/yum.log
Jun 15 05:34:39 Installed: perl-Getopt-Long-2.40-3.el7.noarch
Jun 15 05:34:41 Installed: 4:perl-5.16.3-295.el7.x86_64
Jun 15 05:34:41 Installed: 2:vim-filesystem-7.4.629-6.el7.x86_64
Jun 15 05:34:43 Installed: 2:vim-common-7.4.629-6.el7.x86_64
Jun 15 05:34:44 Installed: 2:vim-enhanced-7.4.629-6.el7.x86_64
Jun 15 05:34:44 Installed: 1:mc-4.8.7-11.el7.x86_64
Jun 15 05:34:44 Installed: htop-2.2.0-3.el7.x86_64
Jun 15 05:34:44 Installed: tree-1.6.0-10.el7.x86_64
Jun 15 05:35:04 Installed: net-tools-2.0-0.25.20131004git.el7.x86_64
Jun 15 06:46:19 Installed: apr-1.4.8-5.el7.x86_64
Jun 15 06:46:19 Installed: apr-util-1.5.2-6.el7.x86_64
Jun 15 06:46:19 Installed: httpd-tools-2.4.6-93.el7.centos.x86_64
Jun 15 06:46:19 Installed: mailcap-2.1.41-2.el7.noarch
Jun 15 06:46:20 Installed: httpd-2.4.6-93.el7.centos.x86_64

Использование yum через прокси

Yum для работы с репозиториями программ использует протокол HTTP/1.1. Если ваш Linux сервер имеет доступ в интернет только через HTTP прокси сервер, вы можете указать имя прокси сервера в конфигурационном файле в секции :

proxy=http://proxyservername:3128

Если прокси-сервер требует авторизацию, добавьте строки:

proxy_proxy_username=user

proxy_password=pass

Для проверки работы yum через прокси сервер воспользуйтесь командой:

yum clean all && yum search nginx

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

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

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

Выполнить обновление всех установленных пакетов можно с помощью команды:

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

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

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

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

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

Вы можете вывести список имеющихся групп:

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

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

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

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

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

Установленные пакеты будут в отдельном блоке «Installed Groups»:

Использование Yum с прокси-сервером

Для того чтобы заставить Yum работать через прокси-сервер необходимо добавить следующий параметр в /etc/yum.conf:

proxy=http://yourproxy:8080/

где — yourproxy это имя прокси-сервера, а 8080 это порт прокси-сервера. Если сервер требует аутентификации, вы можете указать логин как:

proxy=http://username:password@yourproxy:8080/

RPM Package Manager позволяет использовать прокси-переменные среды. Это может быть задано в /etc/profile или специфизированно для конкретного пользователя в файле ~/.bash_profile::

export http_proxy=http://yourproxy:8080/
export ftp_proxy=http://yourproxy:8080/

Для использования wget через прокси-сервер, добавте следующие строки в /etc/wgetrc

http_proxy = http://yourproxy:8080/ 
ftp_proxy = http://yourproxy:8080/ 

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

Подключение 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

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

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

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

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

Как добавить репозиторий в CentOS вручную

Все файлы репозиториев в системе CentOS или Red Hat хранятся в каталоге /etc/yum.repos.d/, вы можете посмотреть их список с помощью такой команды:

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

name=описание_репозиторияmirrorlist=ссылка_на_список зеркалbaseurl=ссылка_на_зеркало с пакетамиenabled=1gpgcheck=1gpgkey=файл_ключа_подписи

А теперь разберём подробнее, что за что отвечает:

  • Название репозитория будет выводиться при обновлении списка пакетов через YUM, а также может использоваться для управления настройками репозитория через yum-config-manager, о котором мы поговорим ниже.
  • Атрибутиы mirrorlist и baseurl взаимозаменяемы, если используется один из них, то другой не нужен. Например, мы можем сразу указать ссылку на архив пакетов с помощью baseurl или указать URL, по которому можно скачать список таких ссылок. Конечно, второе предпочтительнее.
  • Параметр enabled позволяет включить или отключить репозиторий.
  • Параметр gpgcheck включает проверку цифровой подписи пакетов, а gpgkey — указывает адрес ключа, с которым надо сверять подпись. Эти параметры не обязательны.

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

Например, вы хотите установить пакеты из репозитория, которые доступны по URL: http://vault.centos.org/centos/7.4.1708/extras/x86_64/Packages/. Тогда конфигурация репозитория будет выглядеть вот так:

Если вы хотите использовать для репозитория проверку подписи по GPG-ключу, то надо передать URL, по которому этот ключ можно получить с помощью параметра gpgkey.

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

Утилита yum скачает и установит все необходимые конфигурационные файлы. И при следующем обращении к YUM будет загружен список пакетов этого репозитория.

Дальше вы можете устанавливать из него пакеты. Также можно проверить конфигурацию репозитория:

Как видите, здесь есть два репозитория: nux-desktop и nux-desktop-testing. Первый включён по умолчанию, а второй отключён. Вы можете включить его, поставив в параметре enabled значение 1.

Возможные ошибки

Рассмотрим примеры ошибок, с которыми мы можем столкнуться и способы их решения.

1. Curl error (60): SSL peer certificate or SSH remote key was not OK

Ошибка появляется при попытке выполнить операцию обновления или установки пакетов.

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

Решение: проблему можно решить на стороне сервера (если мы являемся его администратором), например, получив правильный сертификат у Let’s Encrypt. На стороне клиента можно отключить проверку SSL для репозитория командой:

yum-config-manager —save —setopt=<имя репозитория>.sslverify=0

Или в конфигурационном файле репозитория добавить или изменить строку с sslverify:

sslverify=0

* данная опция задает необходимость проверки SSL для репозитория.

2. Error: GPG validation FAILED

Ошибка появляется при попытке установить пакет.

Причина: система не может загрузить и импортировать gpg-ключ. Это возможно в разных сценариях, например, в настройках репозитория не указан путь до него, но при этом указано, что проверка подписи необходима или ключ не удалось загрузить и импортировать.

Решение: для некоторых пакетов идет отдельная инструкция по настройке репозитория, в частности, установки ключа GPG. Или мы можем отключить проверку gpg командой:

yum-config-manager —save —setopt=<имя репозитория>.gpgcheck=0

Или через конфигурационный файл:

gpgcheck=0

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

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

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

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 6

Шаг 1. В каталоге /etc/yum.repos.d создадим CentOS-Base.repo с содержимым

CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
 
base
name=CentOS-6 - Base
mirrorlist=http://mirrorlist.centos.org?release=6&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/6/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etcpkirpm-gpgRPM-GPG-KEY-CentOS-6
 
#released updates
updates
name=CentOS-6 - Updates
mirrorlist=http://mirrorlist.centos.org?release=6&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/6/updates/$basearch/
gpgcheck=1
gpgkey=file:///etcpkirpm-gpgRPM-GPG-KEY-CentOS-6
 
#additional packages that may be useful
extras
name=CentOS-6 - Extras
mirrorlist=http://mirrorlist.centos.org?release=6&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/6/extras/$basearch/
gpgcheck=1
gpgkey=file:///etcpkirpm-gpgRPM-GPG-KEY-CentOS-6
 
#additional packages that extend functionality of existing packages
centosplus
name=CentOS-6 - Plus
mirrorlist=http://mirrorlist.centos.org?release=6&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/6/centosplus/$basearch/
gpgcheck=1
enabled=
gpgkey=file:///etcpkirpm-gpgRPM-GPG-KEY-CentOS-6
 
#contrib - packages by Centos Users
contrib
name=CentOS-6 - Contrib
mirrorlist=http://mirrorlist.centos.org?release=6&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/6/contrib/$basearch/
gpgcheck=1
enabled=
gpgkey=file:///etcpkirpm-gpgRPM-GPG-KEY-CentOS-6

Шаг 2. Загрузим в систему GPG-ключ, которым подписаны пакеты врепозитории с сайта CentOS
http://mirror.centos.org/centos/ и скопируем его в каталог /etc/pki/rpm-gpg/

# wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 -P /etc/pki/rpm-gpg/

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

Автор первичной редакции:Алексей Максимов
Время публикации: 02.03.2017 23:17

Добавление репозитория 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

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

To enable or disable repositories in CentOS

This tutorial describes how to enable or disable a single or group of YUM repositories while installing software on CentOS. Sometimes, having them already enabled in your system will help you save a lot of time. This tutorial tests the same process on CentOS 7 server. 

Enabling or disabling repositories 

First, you need to check the repo list which you can do by making use of the following command. 

 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.vinahost.vn
.
updates/7/x86_64 CentOS-7 - Updates 1,676
repolist: 21,883

We can enable or disable repositories in two ways.
Temporarily enable or disable repositories while installing packages using ‘ yum’  command
Permanently Enable/Disable repositories using repository configuration file

To disable multiple repository, just include the repository separated by comma

 ~]# yum --disablerepo=remi-safe,updates update
 ~]# yum --disablerepo=remi-safe,updates update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
.
Complete!

You can use method to install a package too.

 ~]# yum --disablerepo=remi-safe,updates install httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
.
Installed:
  httpd.x86_64 0:2.4.6-67.el7.centos                                                                                

Complete!

Similarly, you can both enable and disable a particular repositories at a time with ‘ yum’ command.

 ~]# yum --disablerepo=* --enablerepo=epel 
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirror.pregi.net
No packages marked for update
You can also permanently enable or disable a repository. Usually, the repository configuration files will be saved in the /etc/yum.repos.d/ directory.

Let us see the available repositories using the following command.

 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo  remi-php54.repo  remi-php72.repo
CentOS-CR.repo         CentOS-Media.repo      epel.repo          remi-php70.repo  remi.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo    epel-testing.repo  remi-php71.repo  remi-safe.repo

To do so, edit EPEL repository file:

 ~]# vi /etc/yum.repos.d/epel.repo
Change the value enabled=1 to 0 (zero).
epel]
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=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

Save and close the file. Update the repository lists to take effect the changes.

 ~]# yum repolist 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
.

With this, the tutorial comes to an end.  

Как вывести список установленных пакетов

Установленные пакеты могут показать команды

yum list installed

или

rpm -qa

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

# yum list installed | grep ius

php71u-cli.x86_64      7.1.17-1.ius.el6 @ius                                    
php71u-common.x86_64   7.1.17-1.ius.el6 @ius                                    
php71u-embedded.x86_64 7.1.17-1.ius.el6 @ius                                    
php71u-fpm.x86_64      7.1.17-1.ius.el6 @ius                                    
                       7.1.17-1.ius.el6 @ius                                    
php71u-gd.x86_64       7.1.17-1.ius.el6 @ius                                    
php71u-intl.x86_64     7.1.17-1.ius.el6 @ius                                    
php71u-json.x86_64     7.1.17-1.ius.el6 @ius                                    
php71u-mbstring.x86_64 7.1.17-1.ius.el6 @ius                                    
php71u-pdo.x86_64      7.1.17-1.ius.el6 @ius                                    
                       3.4.3-2.ius.el6  @ius                                    
php71u-pgsql.x86_64    7.1.17-1.ius.el6 @ius                                    
php71u-xml.x86_64      7.1.17-1.ius.el6 @ius                                    
php71u-xmlrpc.x86_64   7.1.17-1.ius.el6 @ius

Резюме

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

Вы можете использовать все пакеты из CentOSPlus, но обычно берутся необходимые пакеты и используется строка exclude= и includepkgs= (или exclude= и плагин yum-plugin-priorities (yum-priorities)) чтобы использовать только необходимые пакеты из репозитория CentOSPlus.

Пожалуйста, убедитесь, что вы понимаете все эти конепциии, прежде чем использовать репозиторий CentOSPlus.

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

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