Процесс установки программного обеспечения в Linux отличается от аналогичного процесса в Windows, что может сбить с толку даже опытного администратора, если ранее он не имел опыта работы с Linux.
Программное обеспечение в Linux распространяется в виде пакетов, содержащих практически все необходимое для работы устанавливаемого ПО — исполнимые файлы, файлы конфигурации, документацию, различные вспомогательные файлы
Программное обеспечение в Linux распространяется в виде пакетов, содержащих практически все необходимое для работы устанавливаемого ПО – исполнимые файлы, файлы конфигурации, документацию, различные вспомогательные файлы и т.д. Понятно, что пакет не может содержать абсолютно все, иначе бы его размер был бы просто огромен. Иногда для работы одного пакета (А) требуется установить другой (Б) (например, какую-то библиотеку, необходимую для работы ПО) – это называется пакетной зависимостью. При установке пакета А пакетный менеджер автоматически предложит установить все необходимые компоненты программного обеспечения, поэтому администратору (в отличие от той же Windows) не придется делать это вручную.
Существует и другое явление – когда пакеты не совместимы друг с другом (например, вы не можете установить два почтовых клиента) – это называется пакетным конфликтом. Представим, что пакеты А и Б конфликтуют друг с другом, при этом файловый блок А уже установлен. При попытке установки пакета Б пакетный менеджер сообщит о конфликте и предложит удалить пакет А для разрешения конфликта. Администратор сможет выбрать – либо продолжить использовать пакетный набор компонентов А, или же удалить его и установить Б.
Как правило, пакеты содержатся в сетевых хранилищах – репозитариях. Репозитарий может быть и локальным, но поскольку мы говорим о виртуальных серверах Xelent, вам придется работать только с Интернет-репозитариями. В настройках пакетного менеджера хранится информация, откуда получать пакетные компоненты программного обеспечения (для Ubuntu репозитарии описаны в файле /etc/apt/sources.list).
Существуют различные пакетные менеджеры – у каждого дистрибутива свой менеджер. Например, в Fedora используется dnf, в openSUSE – zypper, в Debian и Ubuntu – apt. Далее мы рассмотрим команды пакетного менеджера apt, используемого в Debian/Ubuntu.
Формат вызова менеджера следующий:
sudo apt [опции] команды [пакет]
Команды менеджера apt приведены в таблице:
Команда | Описание |
---|---|
list | Выводит список пакетов |
update | Синхронизирует файлы описаний пакетов (внутреннюю базу данных) с источниками, которые указаны в файле /etc/apt/sources.list |
upgrade | Обновляет указанный пакет. Может использоваться для обновления всех установленных программных компонентов. При этом установка новых программных компонентов не производится, а загружаются и устанавливаются только новые версии уже установленных пакетов |
dist-upgrade | Обновляет дистрибутив. Для обновления всех пакетов рекомендуется использовать именно эту команду |
install | Устанавливает один или несколько пакетов |
remove | Удаляет один или несколько пакетов |
check | Служит для поиска нарушенных зависимостей |
clean | Используется для очистки локального хранилища полученных пакетов |
Узнать имя необходимого вам пакета можно в руководстве по тому программному обеспечению, которое вы хотите установить. Если вы не знаете точного названия пакетного компонента (например, понимаете, что вам нужно установить mysql, но не знаете, как точно он называется), то можно использовать команду list:
sudo apt list | grep mysql
Команда list выводит список всех доступных пакетов, ее вывод перенаправляется на команду grep, которая отфильтровывает все строки, содержащие mysql.
Вывести список только установленных программных компонентов можно с помощью опции --installed:
sudo apt list -installed
Установим пакет:
sudo apt install mc
Команда устанавливает пакет mc, содержащий файловый менеджер Midnight Commander. Для удаления используется команда remove:
sudo apt remove mc
В процессе установки его файл (с расширением .apk) сначала загружается на локальный компьютер, а потом уже производится его локальная установка. Проблема в том, что .apk-файл не удаляется с компьютера после установки пакетного компонента, а продолжает занимать дисковое пространство. Очистить пакетный кэш можно командой clean:
sudo apt clean
Собственно, на этом все. Дополнительную информацию о пакетном менеджере и его командах можно найти в справочной системе (команда man apt).