Linux yum apt get

APT против DNF против YUM: сравнение менеджеров пакетов Linux

APT, DNF и YUM — это три менеджера пакетов, с которыми, вероятно, столкнутся новички Linux. Итак, какой из них лучше с точки зрения удобства использования и производительности?

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

APT и DNF — два самых популярных менеджера пакетов для этой работы. Эти две программы очень похожи, но у них есть некоторые различия в том, как они функционируют.

Знакомство с APT и DNF

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

APT — сокращение от Advanced Package Tool. Он служит менеджером пакетов по умолчанию для Debian и, соответственно, для дистрибутивов Linux на основе Debian, таких как Ubuntu . Поскольку Ubuntu является самым популярным дистрибутивом Linux, а на основе Ubuntu существует множество дистрибутивов, APT — это менеджер пакетов, с которым многие из нас сталкиваются в первую очередь. Программное обеспечение в Linux поставляется в разных форматах, и APT работает, в частности, с форматом пакета DEB.

DNF является менеджером пакетов по умолчанию в Fedora и дистрибутивах на базе Fedora, таких как Red Hat Enterprise Linux и CentOS . DNF работает с форматом пакета RPM.

DNF против YUM

Название DNF не является аббревиатурой. Эти три буквы — сокращение от «Dandified YUM».

DNF — это перезапись YUM, «программы обновления Yellowdog, модифицированная». Сам YUM уже был перезаписью «Yellowdog UPdater», или YUP, первоначально разработанного для Yellow Dog Linux.

Хотя вы можете видеть, что YUM используется в старых системах, он был прекращен в пользу DNF. Сегодня нет особых причин искать YUM .

Читайте также:  Посмотреть все hdd linux

Пример команд APT и DNF

Давайте начнем с одной из первых задач, которую многие из нас выполняют после установки нового дистрибутива Linux — загрузки системных обновлений.

Загрузка системных обновлений

В APT это состоит из двух команд.

Источник

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

Самые современные 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, но иногда предварительно скомпилированные пакеты недоступны.

Читайте также:  Kali linux vmware esxi

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

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

Операционная система Команда
Debian / Ubuntu sudo apt-get update
CentOS yum check-update
Fedora dnf check-update
FreeBSD Packages sudo pkg update
FreeBSD Ports sudo portsnap fetch update

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

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

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

Система Команда
Debian / Ubuntu sudo apt-get upgrade
sudo apt-get dist-upgrade
CentOS sudo yum update
Fedora sudo dnf upgrade
FreeBSD Packages sudo pkg upgrade
FreeBSD Ports less /usr/ports/UPDATING
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a

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

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

Система Команда
Debian / Ubuntu apt-cache search search_string
CentOS yum search search_string
yum search all search_string
Fedora dnf 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 / Ubuntu apt-cache show package
dpkg -s package
CentOS yum info package
yum deplist package
Fedora dnf info package
dnf repoquery –requires package
FreeBSD (пакеты) pkg info package
FreeBSD (порты) cd /usr/ports/category/port && cat pkg-descr

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

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

Система Команда
Debian / Ubuntu sudo apt-get install package
sudo apt-get install package1 package2 …
sudo apt-get install -y package
CentOS sudo yum install package
sudo yum install package1 package2 …
sudo yum install -y package
Fedora sudo 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
Читайте также:  Modulenotfounderror no module named tkinter linux

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

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

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

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

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

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

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

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

Система Команда
Debian / Ubuntu sudo apt-get remove package
sudo apt-get autoremove
CentOS sudo yum remove package
Fedora sudo 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 предоставляют удобный справочник, в котором можно найти информацию о большинстве команд оболочки. Чтобы открыть мануал, введите:

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

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

Дополнительные ссылки

Данное руководство знакомит с основами управления пакетами в Unix-подобных системах. Более подробную информацию по этой довольно сложной теме можно найти по следующим ссылкам:

Источник

Оцените статью
Adblock
detector