Сегодня мы научимся устанавливать, обновлять и удалять программы в Linux, используя терминал. Обычному пользователю это не сильно нужно, но если вы планируете развиваться в направлении системного администрирования, собираетесь переходить на Linux или желаете познакомиться с системой поближе, то подобный материал может пригодиться.
Пакеты и пакетные менеджеры
Программы в Linux-дистрибутивах принято называть пакетами. Местом хранения пакетов является репозиторий. Чтобы получить со своего компьютера доступ к репозиторию с необходимым пакетом нужно использовать пакетный менеджер. Пока что не сильно сложно, правда?
Когда мы говорили о форматах установочных файлов, то уже упоминали о трех дистрибутивах-основателях: Slackware, Debian и Red Hat. Последние два заложили фундамент пакетной базы, на которой выросли большинство Linux-систем - RPM и DEB-формат. Практически каждая из популярных систем (Archlinux и системы на нем основанные пока что не берем, про него будет отдельная статья) взаимодействует с указанными пакетными базами.
Получается, что пакетный менеджер это программа, которая имеет подключение к хранилище DEB/RPM пакетов и по запросу пользователя скачивает эти пакеты в систему, а после устанавливает.
APT (Advanced Packaging Tool)
Большая часть систем, основанных на Debian или Ubuntu взаимодействуют с репозиториями при помощи утилиты apt. Через нее происходит установка, обновление и удаление пакетов. Давайте пробежимся по базовым командам apt.
- apt install <имя_пакета> - команда устанавливает необходимый пакет
- apt upgrade - команда обновляет все устаревшие пакеты
- apt update - команда обновляет базу данных имеющихся пакетов, чтобы внести в нее изменения, такие как, например, добавление нового репозитория для установки
- apt remove <имя_пакета> - команда удаляет пакет из системы, но при этом сохраняет установленные зависимости (зависимости - это пакеты и библиотеки, которые необходимы для работы того пакета, который вы устанавливаете) и конфигурационные файлы.
- apt purge <имя_пакета> - команда удаляет пакет вместе с зависимостями и файлами конфигурации (такое удаление опасно, так как зависимости могут понадобится для работы других установленных в системе пакетов)
Стоит помнить, что вводить указанные выше команды следует от суперпользователя. Если вы еще не знаете, кто это, то вначале стоит прочитать статью «Я есть Рут! Суперпользователь в Linux-дистрибутивах».
DNF (Dandified YUM), YUM (Yellowdog Updater, Modified) и RPM (RPM Package Manager)
Системы, основанные на Red Hat Linux поначалу использовали менеджеры пакетов yum и rpm. Некоторые из имеющихся систем (например, CentOS) используют их до сих пор. С 2011 года разрабатывался более быстрый аналог этих пакетных менеджеров под названием dnf. Он используется в популярном дистрибутиве Fedora, потому далее говорить будем исключительно про dnf. Управление пакетами в этом менеджере не сильно отличается от apt.
- dnf install <имя_пакета> - команда устанавливает пакет в систему
- dnf upgrade - обновление всех устаревших пакетов в системе
- dnf update - обновление информации о содержащихся в базе данных пакетах в случае добавления нового или удаления старого репозитория
- dnf remove <имя_пакета> - удаление выбранного пакета
Опять-таки, работать указанные команды будут в том случае, если запущены от имени суперпользователя.
Все вышеизложенное является базой, верхушкой взаимодействия с пакетными менеджерами. На практике продвинутый пользователь или администратор использует в разы больше команд. Кроме того, повторюсь, что в рамках данной статьи мы не коснулись Archlinux-дистрибутивов и пакетного менеджера Pacman. О нем и установке программ в Arch планирую написать отдельную статью, даже быть может, проведем тест на быстроту установки между Pacman и другими пакетными менеджерами.
Чтобы не пропустить новые материалы, нужно подписаться на канал и обязательно поддержать посты лайками и комментариями!