Меню Рубрики

Установка rpm centos yum

Хитрости работы с Yum и RPM — CentOS Wiki

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

1. Отображение типа архитектуры в получаемом RPM

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

/.rpmmacros спасет от неприятностей в дальнейшем.

2. Запрос пакетов не из CentOS

Хотите получить список пакетов установленных из сторонних репозиториев, не CentOS?

3. Сбросить права доступа на файлы

У вас возникла полная неразбериха с правами доступа на файлы в пакете? Не беда, RPM об этом позаботится.

4. Просмотр изменений

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

Использование ‘less’ не является обязательным, но для некоторых пакетов, таких как ядро, изменения могут быть довольно обширными. Поэтому данное дополнение делает вывод более читабельным.

5. Где документация?

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

  • Это покажет вам документацию, содержащуюся в этом rpm. Если у вас есть только название файла то:
  • и rpm покажет вам документацию в пакете, который владеет этим файлом.

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

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

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

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

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

7. Извлечение только одного файла

Если вам нужно извлечь только один файл из rpm без переустановки всего пакета, вы можете сделать это с rpm2cpio. Например, чтобы извлечь только один файл из logrotate rpm, используйте следующее:

8. Запрос даты установки пакета

Полезно после обновления найти старые пакеты, которые не были обновлены.

Можно использовать ‘less’ для вывода, чтобы найти все RPMS старше, чем дата установки. Используя также grep — конкретизировать пакеты и дату установки.

9. Запрос имеющихся пакетов из репозитория

Найти все пакеты, доступные из определенного репозитория, например RPMforge. Пакеты уже установленные из этого репозитория показываться не будут.

10. Поиск с помощью YUM в репозитории пакета по заданной строке

Поиск пакетов, содержащих нужную строку в названии или описании пакета.

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

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

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

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

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

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

12. Использование Yum для установки локального пакета, автоматически проверяя и удовлетворяя зависимости

13. Получение и пересборка пакета, не будучи при этом root-ом

Иногда вам просто необходимо пересобрать определенный пакет — возможно, лишь добавить конфигурационные опции, которые просто не существуют в основном пакете. Или потому, что вы нашли необходимый пакет, который отсутствует в репозитории, а на сайте разработчика RPMs для другого дистрибутива. Таким образом, вы должны получить src.rpm и востановить его под себя. Но в действительности вы не хотите делать этого в качестве суперпользователя. Итак, как пересобрать свои пакеты в вашей домашней директории под собственной учетной записью.

13.1 Метод А

Для начало необходимо настроить каталог для работы. Он имеет довольно полное сходство по структуре с каталогом /usr/src/redhat:

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

Именно так. Следующее действие — задание rpmbuild-у —rebuild foo.src.rpm, результат работы будет в файле

/redhat/RPMS/i386 (или та архитектура с которой вы строили пакет).

13.2 Метод Б

Для CentOS-4, настроить репозиторий kbs-Extras repo (опционально добавить kbs-Misk) со страницы репозиториев и ‘yum install fedora-rpmdevtools’ под root-ом используя ‘sudo’ или ‘su -‘. Завести юзера (возможно вы захотите использовать специальный аккаунт для того, чтобы избежать проблем в своей обычной домашней директории) и выполнить «fedora-buildrpmtree» и

Читайте также:  Установка starline a94 touareg

/rpmbuild/. в дереве каталогов и

/.rpmmacros файл будет автоматически создан. (Примечание «rpmbuild» против «RedHat» в методе А.)

Для CentOS-5 — пакет rpmdevtools отсутствует в наличии. В FC6 SRPM rpmdevtools-5.3-1.fc6.src.rpm собирается и работает.

Ниже представлен макрос для получения надлежащих имен некоторых пакетов (замените соответствующую версию дистрибутива для «el4» на свою):

14. Отображение приоритетов для всех установленных репозиториев

Вы можете получить список всех установленных у вас репозиториев — yum repolist all. Однако, он не показывает индекс приоритета. Вот строка необходимая для этого. Если номер не определен, по умолчанию, это самый низкий приоритет (99).

15. Yum получить список пакетов по заданному словосочетанию

16. Показать все установленные ключи GPG

Показать список всех ключей с соответствующей информацией репозитория:

17. Подпись пакетов

Вы хотите подписать свой пакет, который собрали, чтобы другие могли убедится в его достоверности? Вы можете это сделать достаточно просто. Воспользуйтесь документацией Fedora RPM packaging guide.

Примечание: для CentOS 5 и 4, будет лучше, если вы будете использовать для подписи ключ DSA (так как для версии 4 RSA были выявлены проблемы с подтверждением).

18. Метапакеты YUM

Метапакет — это специальный пакет, не содержащий никакого программного обеспечения, но имеющий в зависимостях определенный набор софта. Например: установка X-ов на сервер.

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

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

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

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

источник

Установка пакетов в CentOS 7

Нам довольно часто приходится устанавливать различные программы. По умолчанию в системе есть только самое необходимое, а если вам понадобится что-либо специфическое, то вам придется устанавливать программы вручную. Установка программ Linux в некотором смысле проще, чем в Windows. Здесь большинство необходимых программ находятся в официальных репозиториях и для их установки или обновления достаточно выполнить несколько команд.

В этой статье мы рассмотрим как выполняется установка пакетов CentOS 7. Рассмотрим основы работы с пакетным менеджером yum, его возможности, поиск и разрешение зависимостей пакетов.

Что такое YUM?

YUM ( Yellowdog Updater Modified ) — это пакетный менеджер с открытым исходным кодом, разработанный в компании RedHat для работы с пакетами в формате RPM. С помощью него пользователи и системные администраторы могут устанавливать, удалять и обновлять пакеты в системах, основанных на RedHat.

Программа распространяется под лицензией GPL (General Public License) и любой пользователь может получить доступ к исходникам или даже улучшить код. Пакетный менеджер поддерживает подключение сторонних репозиториев и разрешение зависимостей для установки пакетов. Для улучшения работы Yum могут быть загружены различные плагины.

Утилита работает в консоли, а ее синтаксис очень прост:

$ sudo yum опции команда имя_пакета

Сначала рассмотрим основные команды пакетного менеджера:

  • install — установить пакет;
  • update — обновить пакет или систему;
  • update-to — обновить пакет до версии;
  • update-minimal — обновлять только исправления ошибок;
  • upgrade — полное обновление с обработкой дополнительных возможностей пакетов и их зависимостей;
  • distro-sync — синхронизировать состояния системы или пакета с репозиторием. Например, если была установлена версия пакета 4, а в репозитории только 3, то будет выполнено понижение версии;
  • remove — удалить пакет;
  • autoremove — очистить больше ненужные пакеты;
  • list — показать список пакетов;
  • provides — поиск пакета по функциональности;
  • search — поиск пакета по имени;
  • info — информация о пакете;
  • clean — очистить кэш пакетного менеджера;
  • groups — управление группами пакетов;
  • reinstall — переустановить пакет;
  • downgrade — понизить версию пакета;
  • deplist — вывести все зависимости пакета;
  • repolist — отобразить список репозиториев;
  • fssnapshot — управление снимками состояния системы;
  • check — проверить базу данных пакетов на целостность.

Еще рассмотрим дополнительные опции, которые могут вам понадобиться когда будет выполняться установка rpm CentOS:

  • -y — всегда отвечать на вопросы утилиты утвердительно;
  • -q — минимальный вывод;
  • -v — максимальный вывод;
  • — работать из кэша;
  • -x — игнорировать пакет.

Теперь вы знаете все основные возможности утилиты, рассмотрим некоторые примеры работы с ней.

Установка пакетов в CentOS 7

Перед тем как переходить к установке пакетов CentOS нужно обновить список репозиториев и систему до самой последней версии. Для этого существует команда:

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

Чтобы установить пакет, который есть в официальных репозиториях вам достаточно использовать команду install. Просто наберите эту команду и имя пакета, например, для firefox:

sudo yum install thunderbird

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

sudo yum -y install thunderbird

Чтобы посмотреть информацию об установленном пакете используйте команду info:

sudo yum info thunderbird

Для удаления пакета используйте команду remove:

Читайте также:  Установка гаражных ворот петербург

sudo yum remove thunderbird

Поиск пакетов CentOS

Мы знаем точные названия далеко не всех пакетов. Но yum поддерживает возможность поиска, которая поможет вам понять какой установить пакет CentOS 7. Существует две команды для поиска. Первая — это search — позволяет найти пакет по названию:

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

Теперь вы знаете какой пакет нужен и установка пакетов rpm CentOS 7 теперь может быть выполнена очень быстро и вам не нужно открывать множество форумов для поиска информации.

Группы пакетов CentOS

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

Дальше вы можете посмотреть список файлов в каждой выбранной группе:

sudo yum group info «Стандартный веб-сервер»

Затем. чтобы установить группу пакетов наберите:

sudo yum group install «Стандартный веб-сервер»

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

sudo yum group update «Стандартный веб-сервер»

sudo yum group remove «Стандартный веб-сервер»

Репозитории пакетов CentOS

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

Репозитории в CentOS добавляются не через конфигурационный файл, они устанавливаются путем загрузки и установки rpm файла репозитория. Например, один из самых часто используемых сторонних репозиториев — это EPEL. Его установщик есть в официальных репозиториях, поэтому для подключения достаточно выполнить:

sudo yum install epel-release

Но такая ситуация не со всеми репозиториями. Многие из них хранят файлы установки у себя. Например, репозиторий с различным мультимедийным программным обеспечением nux устанавливается по-другому. Сначала нужно скачать файл репозитория по ссылке. Качайте обязательно последнюю версию иначе ничего работать не будет.

Например, на данный момент самая новая

Затем установите загруженный пакет с помощью yum:

sudo yum install nux-dextop-release-0-5.el7.nux.noarch.rpm

Затем обновите список репозиториев и можете устанавливать пакеты:

Далее можете устанавливать пакеты, например, vlc:

Ну и смотрим список репозиториев:

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

Установка программ CentOS в GUI

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

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

Затем останется нажать кнопку «Установить пакет». Но тут не поддерживается работа с репозиториями.

Выводы

В этой статье мы рассмотрели как выполняется установка пакетов Centos 7. Конечно, здесь нет такого большого количества пакетов, как в той же самой Ubuntu или OpenSUSE, но для сервера их вполне хватает, а для рабочего стола всегда можно собрать из исходников то, что очень нужно. Надеюсь информация была полезной для вас.

источник

CentOS: использование YUM и немного о полезных возможностях RPM

Что такое YUM?

Yellow dog Updater, Modified (YUM) — открытый консольный менеджер RPM-пакетов.

RPM (рекурсивный акроним RPM Package ManagerRPM — менеджер пакетов; ранее раскрывался как Red Hat Package Managerменеджер пакетов Red Hat

YUM создан для решения следующих задач:

  • Поиск пакетов в репозиториях
  • Установка пакетов из репозиториев
  • Установка пакетов из .rpm файлов, с разрешением зависимостей с помощью репозиториев
  • Обновление системы
  • Удаление ненужных пакетов
  • Фактически, YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями.

YUM — поиск пакетов, файлов

Для поиска используются три опции YUMlist, search, provide .

Поиск пакета по его названию выполняется с помощью опции list . Например, найти пакет packagename можно так:

Если вы не помните имя пакета полностью — можно воспользоваться подстановкой значения с помощью символа *, не забывая его заэкранировать с помощью символа обратного слеша для правильной обработки вашим командным интерпретатором (например — bash ):

Вместо * (замена любого количества символов) можно использовать знак ? — который заменяет один любой символ в поиске. Например, в имени пакета screen — 6 символов. Для поиска по первым 4-м символам введите:

# yum list scre??

screen.i686 4.0.3-16.el6 @base

Эти символы замены (? и *) допускаются и в большинстве остальных команд YUM.

Поиск пакета в списках по его имени (можно неполному слову) и в его описании:

# yum search scre

screen.i686 : A screen manager that supports multiple logins on one terminal

Интересная опция — provides . Она используется для поиска пакета, содержащего указанный в поиске файл/каталог. К примеру, требуется узнать к какому пакету относится файл httpd.conf . Для этого воспользуемся такой командой:

# yum provides */httpd.conf

httpd-2.2.15-15.el6.centos.1.i686 : Apache HTTP Server
Repo : base
Matched from:

В результате мы получаем Apache Server , который после установки будет содержать файл httpd.conf .

Другой вариант — надо найти пакет, который хранит свои файлы в каталоге /etc/httpd :

Установка, обновление, удаление пакетов с помощью YUM

Установка производится с помощью опции install . В процессе — YUM попробует обнаружить все зависимости и предложит их установить:

Читайте также:  Установка ассасин крид revelations

# yum install mc

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mc i686 1:4.7.0.2-3.el6 base 1.6 M
Installing for dependencies:
gpm-libs i686 1.20.6-12.el6 base 28 k
perl i686 4:5.10.1-127.el6 base 9.7 M
perl-Module-Pluggable i686 1:3.90-127.el6 base 38 k
perl-Pod-Escapes i686 1:1.04-127.el6 base 30 k
perl-Pod-Simple i686 1:3.13-127.el6 base 210 k
perl-libs i686 4:5.10.1-127.el6 base 591 k
perl-version i686 3:0.77-127.el6 base 49 k

Можно указать несколько пакетов для установки, разделяя их запятыми.

Что бы YUM не запрашивал подтверждения установки пакета и/или его зависимостей — используйте ключ -y :

# yum reinstall packagename

Для установки пакета, предварительно загруженного на сервер — воспользуйтесь опцией localinstall . Например — установка пакета atop :

# yum localinstall atop-1.25-1.el5.rf.i386.rpm

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

А обновить полностью систему — той же командой, но без указания имени пакета:

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

Выполнить downgrade пакета до его предыдущей версии:

# yum downgrade packagename

Для удаления пакета из системы используется опция remove (или erase — которая является алиасом remove ):

YUM и репозитории

Получить список активных репозиториев в ваших repo -файлов из каталога /etc/yum.repos.d/ можно так:

# yum repolist
repo id repo name status
base CentOS-6 — Base 4,776
extras CentOS-6 — Extras 17
updates CentOS-6 — Updates 960

А всех, в том числе неактивных — так:

# yum repolist all

repo id repo name status

C6.2-extras CentOS-6.2 — Extras disabled
C6.2-updates CentOS-6.2 — Updates disabled
base CentOS-6 — Base enabled: 4,776
c6-media CentOS-6 — Media disabled

debug CentOS-6 — Debuginfo disabled
extras CentOS-6 — Extras enabled: 17
updates CentOS-6 — Updates enabled: 960

Ещё интересная возможность — отобразить доступные для установки (уже установленные пакеты отображаться не будут) только из определённого репозитория. Например — вывести список пакетов из репозитория base :

# yum —disablerepo «*» —enablerepo «base» list available

Что бы получить полный список, в том числе уже установленные пакеты — уберите слово available в этой команде.

Другие возможности YUM

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

О конкретном пакете packagename:

Если пакет уже установлен в системе — он будет отмечен как Installed Packages в описании. Если пакет доступен для установки из репозитория, но ещё не установлен — он будет отмечен как Available Packages . Например:

# yum info gcc-c++
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.colocall.net
* extras: ftp.colocall.net
* updates: ftp.colocall.net
Available Packages
Name : gcc-c++
Arch : i686
Version : 4.4.6
Release : 4.el6
Size : 4.3 M
Repo : base
Summary : C++ support for GCC
URL : http://gcc.gnu.org
License : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
Description : This package adds C++ support to the GNU Compiler Collection.
: It includes support for most of the current C++ specification,
: including templates and exception handling.

Тут так же поддерживаются символы-заменители, например — вы не помните полностью имя пакета screen:

Исключить пакет из списка пакетов для обновления можно так.

Откройте для редактирования файл /etc/yum.conf , и в него добавьте строку:

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

Просмотреть список зависимостей пакета:

Посмотреть список последних действий YUM:

# yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
——————————————————————————-
7 | root | 2013-03-06 15:02 | I, U | 45
6 | root | 2013-03-06 14:59 | Install | 1 EE
5 | root | 2013-03-06 14:58 | Install | 1
4 | root | 2013-03-06 14:54 | Install | 8
3 | root | 2013-03-06 14:47 | Install | 3
2 | root | 2013-03-06 14:22 | Install | 1
1 | System | 2013-03-06 13:52 | Install | 209

При проблемах с менеджером пакетов YUM

Другие возможности работы с RPM-пакетами

Посмотреть список установленных в системе пакетов НЕ из списка репозиториев CentOS;

# rpm -qa —qf ‘% %n’ | grep -v CentOS

Посмотреть список man -страниц для определённого пакета можно так:

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

Показать список всех GPG-ключей с соответствующей информацией репозитория:

Посмотреть список изменений в версиях пакета:

# rpm -q —changelog packagename | less

Посмотреть список пакетов по дате их установки/обвноления (например — найти необновившиеся пакеты):

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

GNU Privacy Guard, GnuPG, GPG — свободная альтернатива набору криптографического ПО PGP, выпущенная под лицензией GNU General Public License. Является частью проекта GNU, получила гранты от немецкого правительства. GnuPG полностью совместим со стандартом IETF OpenPGP. Текущие версии GnuPG могут взаимодействовать с PGP и другими OpenPGP-совместимыми системами в режиме совместимости. GnuPG позволяет шифровать и подписывать данные в целях безопасного хранения и передачи информации.

источник

Добавить комментарий