- APT command equivalents on Fedora with DNF
- APT vs. DNF commands
- Why is APT in the Fedora repositories?
- Finding and installing Linux applications
- Package management in Fedora
- File placement
- Resolving dependencies
- Updating packages
- Repositories
- Installing from source code
- Other installation methods
- Searching for Linux software alternatives on the Web
- Browsing and installing software on Fedora
- Installing software packages using the command line
- Основы управления пакетами: apt, yum, dnf, pkg
- Системы управления пакетами: краткий обзор
- Обновление списка пакетов
- Обновление установленных пакетов
- Поиск пакетов
- Информация о пакетах
- Установка пакетов из репозиториев
- Установка пакета из локальной файловой системы
- Удаление пакетов
- Получение справки
- Дополнительные ссылки
APT command equivalents on Fedora with DNF
APT is the package manager/dependency solver for the Debian ecosystem, i.e. it manages .deb packages installed by the DPKG program. Fedora software is based on .rpm packages, and thus uses DNF, the package manager/dependency solver for the RPM program, instead. This document gives a brief overview of the most common APT commands one might find in tutorials and their DNF equivalents.
APT vs. DNF commands
APT command | DNF command | notes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
APT can not be used to install packages on Fedora, you have to use DNF instead. |
The apt command on Fedora used to — until Fedora 32 — actually be APT-RPM, which basically mapped normal apt commands so that they worked with Fedora’s RPM package management system.
However, APT-RPM is unmaintained, broken & insecure, and so was dropped in favour of shipping the actual Debian APT software. Since APT exclusively deals with .deb packages, the apt command can no longer be used to manage Fedora packages. Its purpose is now purely as a tool for people building packages for Debian-based distributions on a Fedora system.
All Fedora Documentation content available under CC BY-SA 4.0 or, when specifically noted, under another accepted free and open content license.
Источник
Finding and installing Linux applications
This page has been converted from the Fedora Project Wiki and cleaned up for publishing here on the Fedora Docs Portal, but it has not yet been reviewed for technical accuracy. This means any information on this page may be outdated or inaccurate. Reviews for technical accuracy are greatly appreciated. If you want to help, see the README file in the source repository for instructions.
Many powerful software applications are available on the Linux operating system. You can find alternatives to most of the popular applications used on other systems.
You can use the Fedora package management system to install applications. Many applications are available from the repository provided by the Fedora project. You can enable other repositories to get additional applications.
Package management in Fedora
Like most modern Linux distributions, Fedora uses a package management system. Package management tools automate installation, upgrading, and removing of software applications and components.
Each application or component is defined as a package. When the package is installed, all code, configuration, and other files are deployed on the system.
A single package is not necessarily the same as an application. Some applications can be shipped as several packages. Moreover, shared code (libraries) in Linux is normally shipped as separate packages, while in other systems applications often ship their own versions of required libraries and install them if necessary. |
File placement
The package management tools track which files on your Fedora installation belong to each package; normally, every file that is installed in the /usr tree as well as most configuration files under /etc are installed by one of the packages. When installing a package, the package management system verifies its integrity; if any files are missing or corrupted, the package is not installed.
Resolving dependencies
The package management system also tracks all dependencies between the packages. For example, if an application requires some libraries, the package for this application lists the libraries as dependencies. When you install the application package, the package management tools automatically install the library packages. If a dependency is not available, the tools do not install the package, so you can avoid a sudden malfunction.
When you want to remove a package, package management tools cleanly delete all code files for this package without affecting other packages. By default, configuration files are not removed, so you can install the package again and keep the configuration that you have set up earlier.
Updating packages
Updating any package is entirely automatic with the package management system. The system replaces all the necessary code files and preserves existing configuration.
In fact, for most Linux distributions, including Fedora, all of the system installation except the earliest part is performed by installing various packages. Security updates and upgrades to a next release are performed entirely by package management tools.
Fedora’s package management system uses the RPM package format. The application that manages packages in Fedora (since version 22) is DNF. Graphical package management is provided by the Gnome Software utility. For automatic updates, Fedora uses the PackageKit utility. Command-line and graphical tools provide the same results.
Repositories
To get packages, DNF uses repositories. A repository is an organized collection of packages. Repositories can be kept on any data media; notably, the Fedora installation image contains a repository. However, most up-to-date repositories are normally maintained online.
Each Fedora release has an official fedora repository and an updates repository (which contains critical updates since the release). In these repositories, you can find most common Linux open-source software. You can also install packages from other repositories, not maintained by the Fedora project and known as third-party repositories.
Most of the time, it is best practice to install software on your Fedora Linux system using only the Fedora package management system. In this case, packages are installed in the most reliable way and automatic updates can be provided.
Installing from source code
While many Linux applications can be built and installed from from source code, using such builds can make your system much harder to manage. For example, automatic updates to system packages (especially when updating to the next release) might impact an application that was installed from source. And, of course, no automatic security updates are available for the application.
Other installation methods
Sometimes you might need to install software using other package management systems. Notably:
CPAN for libraries for the Perl language
PyPI for libraries (and sometimes applications) for the Python language
Commercial repositories for games
However, installing applications using the Fedora package management systems is the preferred option.
Searching for Linux software alternatives on the Web
To complete your tasks on a Linux system, you need to find the software applications that fit your needs. If you are switching from another operating system, you might need to find replacements for the software that you used before.
Most applications available on Linux are open-source software. You can use open-source software without acquiring any licenses. Moreover, widespread open-source software is usually available in the official Fedora repository, so you can install it easily.
Access the following websites to review Linux alternatives to popular software packages:
Browsing and installing software on Fedora
You can use a graphical utility to browse the available software packages. When you find the software that you want, you can use the utility to install it on your Fedora system.
To install any packages on your Fedora system, you need to have root privileges.
On your GNOME desktop, select the Activities menu and then click the icon.
Find a software package in one of the following ways:
Click one of the suggested categories, for example, Productivity. Then review the suggested packages. To see more packages, select items in the menu in the left-hand part of the window. For example, for the Productivity category, you can select Calendar, Database, Finance, Word Processor.
Choose one of the Editor’s Picks or other recommended software in the window.
Click the icon, then enter a keyword or the name of the application. Review the suggested packages.
Click a package to read its description.
To install the package, click the Install button. When prompted, provide the root password.
Installing software packages using the command line
You can install packages in Fedora using the DNF utility.
You must execute the command with root privileges. Use one of the following methods:
Prefix the command with sudo and provide your user password. The sudo command must be enabled for your user.
Use the su command and provide the root password to switch to a root prompt in a terminal window.
Log in as root on a virtual console.
You must know the name of the package. Any dependencies will be installed automatically.
Источник
Основы управления пакетами: 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, но иногда предварительно скомпилированные пакеты недоступны.
Обновление списка пакетов
Большинство систем содержит локальную базу данных пакетов, доступных в удаленных репозиториях. Перед установкой или обновлением пакета рекомендуется обновить эту базу данных. Частичным исключением из этого шаблона являются 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 |
Установка пакета из локальной файловой системы
Иногда разработчики или поставщики предлагают пакетные файлы для скачивания, даже если приложение официально не упаковано для данной операционной системы.
Как правило, такие пакеты можно загрузить при помощи веб-браузера или утилиты 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-подобных системах. Более подробную информацию по этой довольно сложной теме можно найти по следующим ссылкам:
Источник