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

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

Сегодня поговорим про управление пакетами Linux с помощью Yum, RPM, Apt, Dpkg, Aptitude и Zypper. В августе прошлого года 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)

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

 

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

 

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

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

 

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

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

 

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

 

 

 

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

 

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

 

 

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

 

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

 

 

 

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

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

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

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

 

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

 

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

 

 

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

 

 

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

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

 

 

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

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

 

 

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

 

 

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

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

 

 

Итог

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

 

 

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

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

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

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

 

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

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

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

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

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


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню