Управление пакетами Linux с помощью Yum, RPM, Apt, Dpkg, Aptitude и Zypper — LFCS часть 9

LFCS

В августе прошлого года Linux Foundation запустила сертификацию LFCS (Linux Foundation Certified Sysadmin), блестящую возможность для системных администраторов продемонстрировать с помощью экзамена, что они могут выполнять общую поддержку Linux-систем.

Эта статья представляет собой 9 часть из 20 серии статей, сегодня в этой статье мы расскажем вам об управлении пакетами Linux, которые требуются для экзамена по сертификации LFCS.

 

 

Управление пакетами

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

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

 

 

Как работают системы управления пакетами

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

 

 

Упаковочные системы

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

Поскольку разные семейства дистрибутивов используют разные системы упаковки (Debian: *.deb / CentOS: *.rpm / openSUSE: *.rpm, созданный специально для openSUSE), пакет, предназначенный для одного дистрибутива, не будет совместим с другим дистрибутивом.

 

Пакет инструментов высокого и низкого уровня

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

РАСПРОСТРАНЕНИЕ ИНСТРУМЕНТ НИЗКОГО УРОВНЯ ИНСТРУМЕНТ ВЫСОКОГО УРОВНЯ
 Debian и производные  dpkg  apt-get / aptitude
 CentOS  rpm  yum
 openSUSE  rpm  zypper

 

Давайте посмотрим на описание низкоуровневых и высокоуровневых инструментов.

Dpkg — это менеджер пакетов низкого уровня для систем на базе Debian. Он может устанавливать, удалять, предоставлять информацию и создавать пакеты *.deb, но не может автоматически загружать и устанавливать соответствующие зависимости.

Apt-get — это менеджер пакетов высокого уровня для Debian и производных инструментов, а также простой способ извлечения и установки пакетов, включая разрешение зависимостей, из нескольких источников с использованием командной строки. В отличие от dpkg, apt-get не работает напрямую с файлами *.deb, а с собственным именем пакета.

Подробнее: 25 полезных базовых команд APT-GET и APT-CACHE для управления пакетами

Aptitude — еще один менеджер пакетов высокого уровня для систем на базе Debian и может быть использован для выполнения задач управления (установка, обновление и удаление пакетов, а также автоматическое управление разрешением зависимостей) быстрым и простым способом. Он обеспечивает те же функциональные возможности, что и apt-get но имеет дополнительные возможности, такие как предоставление доступа к нескольким версиям пакета.

Rpm — это система управления пакетами, используемая стандартными Linux Standard Base (LSB) для низкоуровневой обработки пакетов. Так же, как и dpkg, он может запрашивать, устанавливать, проверять, обновлять и удалять пакеты и чаще используется в дистрибутивах на базе Fedora, таких как RHEL и CentOS.

Yum добавляет функциональность автоматических обновлений и управления пакетами с управлением зависимостями в системы на основе RPM. Выполняет функции инструмента высокого уровня, как и apt-get или aptitude, yum работает с репозиториями.

 

 

Общая информация по использованию инструментов низкого уровня

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

1. Установка пакета из скомпилированного файла (*.deb или *.rpm)

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

# dpkg -i file.deb <strong>[Debian and derivative]</strong>
# rpm -i file.rpm <strong>[CentOS / openSUSE]</strong>

 

Примечание. Не пытайтесь установить на CentOS файл *.rpm, который был создан для openSUSE, или наоборот!

 

2. Обновление пакета из скомпилированного файла

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

# dpkg -i file.deb <strong>[Debian and derivative]</strong>
# rpm -U file.rpm <strong>[CentOS / openSUSE]</strong>

 

3. Список установленных пакетов

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

# dpkg -l <strong>[Debian and derivative]</strong>
# rpm -qa <strong>[CentOS / openSUSE]</strong>

 

Если вы хотите узнать, установлен ли какой-либо конкретный пакет, вы можете передать вывод вышеприведенных команд в grep, как объясняется в работе с файлами в Linux — 1 часть этой серии. Предположим, нам нужно проверить, установлен ли пакет mysql-common в системе Ubuntu.

# dpkg -l | grep mysql-common

 

Check-Installed-Packages

 

Другой способ определить, установлен ли пакет.

# dpkg --status package_name <strong>[Debian and derivative]</strong>
# rpm -q package_name <strong>[CentOS / openSUSE]</strong>

 

Например, давайте выясним, установлен ли пакет sysdig в нашей системе.

# rpm -qa | grep sysdig

 

Check-sysdig-Package

 

4. Выясняем, какой пакет установил файл

# dpkg --search file_name
# rpm -qf file_name

 

Например, какой пакет установлен pw_dict.hwm?

# rpm -qf /usr/share/cracklib/pw_dict.hwm

 

Query-File-in-Linux

 

 

Общее использование высокоуровневых инструментов

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

1. Поиск пакета

Обновление aptitude обновит список доступных пакетов, а поиск aptitude будет выполнять фактический поиск для package_name.

# aptitude update && aptitude search package_name 

 

В опции поиска all yum будет искать package_name не только в именах пакетов, но и в описаниях пакетов.

# yum search package_name
# yum search all package_name
# yum whatprovides “*/package_name”

 

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

# yum whatprovides “*/sysdig”

 

Check-Package-Description

 

Whatprovides указывает yum на поиск пакета, который предоставит файл, соответствующий указанному выше регулярному выражению.

# zypper refresh && zypper search package_name <strong>[On openSUSE]</strong>

 

 

2. Установка пакета из репозитория

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

# aptitude update && aptitude install package_name <strong>[Debian and derivatives]</strong>
# yum update && yum install package_name <strong>[CentOS]</strong>
# zypper refresh && zypper install package_name <strong>[openSUSE]</strong>

 

 

3. Удаление пакета

Опция remove удалит пакет, оставив файлы конфигурации нетронутыми, тогда как очистка стирает каждую трассировку программы из вашей системы.

# aptitude remove / purge package_name
# yum erase package_name

 

---Notice the minus sign in front of the package that will be uninstalled, openSUSE ---
# zypper remove -package_name

 

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

 

 

4. Отображение информации о пакете

Следующая команда отобразит информацию о пакете birthday.

# aptitude show birthday
# yum info birthday
# zypper info birthday

 

Check-Package-Information

 

 

Итог

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

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасностиполный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

 

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
LFCS

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню