Основы управления пакетами: apt, yum, dnf, pkg

Скачать Основы управления пакетами: apt, yum, dnf, pkg
Сейчас ищут:

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
24.511
Реакции
8.231
Веб-сайт
itnull.me
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Самые современные Unix-подобные операционные системы предлагают централизованные механизмы для поиска и установки пакетов. Программное обеспечение, как правило, распространяется в виде пакетов, которые хранятся в репозиториях. Пакеты содержат основные компоненты операционной системы, а также общие библиотеки, приложения, услуги и документацию.


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


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


Управление пакетами является жизненно важным навыком для системных администраторов и разработчиков.


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


Системы управления пакетами: краткий обзор​


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


Операционная системаФормат
Debian.deb
Ubuntu.deb
CentOS.rpm
Fedora.rpm
FreeBSDпорты, .txz

CentOS, Fedora и другие системы Red Hat используют файлы RPM. В CentOS для взаимодействия с пакетами и репозиториями используется менеджер yum. В последних версиях Fedora yum был заменён модернизированным менеджером dnf.В системе Debian и основанных на ней системах (Ubuntu, Linux Mint, Raspbian) используется формат .deb. Пакетный менеджер APT (Advanced Packaging Tool) предоставляет команды, используемые для наиболее распространенных операций: поиска репозиториев, управления обновлениями, установки набора пакетов и их зависимостей. Команды APT работают как фронтэнд утилиты нижнего уровня dpkg, которая обрабатывает установку индивидуальных пакетов .deb на локальную систему; при необходимости эту утилиту можно вызывать явно.


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


Обновление списка пакетов​


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


Операционная системаКоманда
Debian / Ubuntusudo apt-get update
CentOSyum check-update
Fedoradnf check-update
FreeBSD Packagessudo pkg update
FreeBSD Portssudo portsnap fetch update

Обновление установленных пакетов​


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


В системе FreeBSD обновление установленных портов может потребовать ручной настройки. Прежде чем обновлять portmaster, рекомендуется ознакомиться с /usr/ports/UPDATING.


Система Команда
Debian / Ubuntusudo apt-get upgrade
sudo apt-get dist-upgrade
CentOSsudo yum update
Fedorasudo dnf upgrade
FreeBSD Packagessudo pkg upgrade
FreeBSD Portsless /usr/ports/UPDATING
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a

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


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


СистемаКоманда
Debian / Ubuntuapt-cache search search_string
CentOSyum search search_string
yum search all search_string
Fedoradnf search search_string
dnf search all search_string
FreeBSD (пакеты)pkg search search_string
pkg search -f search_string
pkg search -D search_string
FreeBSD (порты)cd /usr/ports && make search name=package
cd /usr/ports && make search key=search_string

Информация о пакетах​


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


СистемаКоманда
Debian / Ubuntuapt-cache show package
dpkg -s package
CentOSyum info package
yum deplist package
Fedoradnf info package
dnf repoquery –requires package
FreeBSD (пакеты)pkg info package
FreeBSD (порты)cd /usr/ports/category/port && cat pkg-descr

Установка пакетов из репозиториев​


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


СистемаКоманда
Debian / Ubuntusudo apt-get install package
sudo apt-get install package1 package2 …
sudo apt-get install -y package
CentOSsudo yum install package
sudo yum install package1 package2 …
sudo yum install -y package
Fedorasudo dnf install package
sudo dnf install package1 package2 …
sudo dnf install -y package
FreeBSD (пакеты)sudo pkg install package
sudo pkg install package1 package2 …
FreeBSD (порты)cd /usr/ports/category/port && sudo make install

Установка пакета из локальной файловой системы​


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


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


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


В системах CentOS и Fedora для установки отдельных файлов и обработки необходимых зависимостей используется yum и dnf.


СистемаКоманда
Debian / Ubuntusudo dpkg -i package.deb
sudo apt-get install -y gdebi&& sudo gdebi package.deb
CentOSsudo yum install package.rpm
Fedorasudo dnf install package.rpm
FreeBSD (пакеты)sudo pkg add package.txz
sudo pkg add -f package.txz

Удаление пакетов​


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


СистемаКоманда
Debian / Ubuntusudo apt-get remove package
sudo apt-get autoremove
CentOSsudo yum remove package
Fedorasudo dnf erase package
FreeBSD (пакеты)sudo pkg delete package
sudo pkg autoremove
FreeBSD (порты)sudo pkg delete package
cd /usr/ports/path_to_port && make deinstall

Получение справки​


Кроме веб-документации системы Unix предоставляют удобный справочник, в котором можно найти информацию о большинстве команд оболочки. Чтобы открыть мануал, введите:


Код:
man page


В справочнике можно перемещаться при помощи кнопок со стрелками. Нажмите /, чтобы искать по тексту страницы, и q, чтобы выйти.


СистемаКомандаПримечания
Debian / Ubuntuman apt-getОбновление локальной базы данных пакетов и работа с пакетами.
man apt-cacheЗапрос локальной базы данных пакетов.
man dpkgУправление индивидуальными файлами пакетов и запрос установленных пакетов.
CentOSman yum
Fedoraman dnf
FreeBSD пакетыman pkgУправление предварительно скомпилированными файлами пакетов.
FreeBSD портыman portsУправление коллекцией портов.
 
Назад
Сверху Снизу