После активации сервера для запуска работы сайтов или других проектов сначала нужно установить необходимое для него программное обеспечение.
На Linux есть два основных источника программного обеспечения: репозитории и сторонние ресурсы.
Репозиторий — это хранилище программного обеспечения, размещённое на удалённом сервере. При поиске пакетов или запросе на обновление ПО ваша система подключается к репозиториям и проверяет список имеющегося там ПО — на совпадение с поисковым запросом или на наличие новых версий установленных пакетов. В результате система вернёт вам информацию об искомой программе или запустит процесс обновления — скачает с репозиториев свежие версии ПО и запустит их установку.
Есть разные виды репозиториев:
- Стандартные. Их поддерживает разработчик операционной системы. Главное их отличие — в гарантированной безопасности использования. Всё программное обеспечение в стандартных репозиториях протестировано и проверено на совместимость с текущей версией вашей операционной системы. Эти репозитории подключены по умолчанию.
- Нестандартные. Их поддерживают другие разработчики и сообщества. Эти репозитории подключаются вручную. При работе с ними существует вероятность, что ПО оттуда может оказаться несовместимо с текущей версией вашей системы, поэтому нужно соблюдать осторожность.
Способ проверки и редактирования списка подключенных репозиториев зависит от вашей системы.
Ubuntu и Debian
Списки подключенных репозиториев хранятся в файле /etc/apt/sources.list
и директории /etc/apt/sources.list.d
. Отобразить их содержимое можно, например, так:
grep ^[^#] /etc/apt/sources.list /etc/apt/sources.list.d/*
Изменить список репозиториев можно с помощью встроенного редактора:
apt edit-sources
При первом вызове он предложит указать предпочтительный консольный редактор, после чего откроется файл со списком репозиториев.
Ещё один способ — установить дополнительную утилиту для работы с репозиториями:
apt install software-properties-common
В таком случае для добавления репозитория достаточно будет вызвать команду:
add-apt-repository -us [адрес репозитория]
Для удаления достаточно указать ключ -r
:
add-apt-repository -r [имя репозитория]
CentOS
На CentOS вывести список репозиториев можно одной командой:
yum repolist
И они также хранятся в отдельной директории — /etc/yum.repos.d
В CentOS 8 дополнить список репозиториев новым элементом можно командой:
dnf config-manager --add-repo [адрес репозитория]
Удалить ненужный репозиторий можно следующим образом:
dnf config-manager --disable [имя репозитория]
В CentOS 7 для удобства работы с репозиториями нужно установить пакет yum-utils
:
yum -y install yum-utils
После этого можно управлять репозиториями прямо из консоли — соответственно добавлять и удалять:
yum-config-manager --add-repo [адрес репозитория] yum-config-manager --disable [имя репозитория]
Сторонние ресурсы — все остальные источники программного обеспечения. Например, иногда с официальных сайтов ПО можно скачать программу в виде файла (с расширением .deb
для Ubuntu и Debian, .rpm
для CentOS) и развернуть его на сервере.
Поиск, установка и обновление пакетов
Большая часть современных программ для Linux доступна в виде пакетов — набора программного обеспечения, обеспечивающего корректную установку и первичную настройку какойто службы или инструмента. Собственно, когда в Linux заходит речь об установке чего-то, подразумевается скачивание и установка соответствующего пакета. Кроме этого, можно получить исходники программы и скомпилировать их самостоятельно, но это требуется в исключительных случаях.
Для установки, удаления и обновления ПО сервера используются менеджеры пакетов — они могут отличаться в зависимости от используемой системы. Менеджеры можно разделить на базовые и расширенные:
Система |
Ubuntu и Debian |
CentOS |
Базовый менеджер пакетов |
|
|
Расширенный менеджер пакетов |
|
(в Centos 8 присутствует, но уже как алиас |
Собственно, расширенные пакеты формально основаны на базовых — включают все их функции плюс добавляют дополнительные инструменты (например, автоматическую установку и настройку зависимых пакетов). Рассмотрим их основные возможности:
Ubuntu и Debian |
CentOS |
1. Обновление списка доступных пакетов: |
|
apt update |
— |
2. Обновление отдельного пакета |
|
apt upgrade package
|
yum update package
|
3. Обновление всех пакетов, для которых доступны новые версии: |
|
apt upgrade |
yum update |
4. Поиск пакета |
|
apt search package
|
yum search package
|
5. Просмотр информации о пакете |
|
apt show package
|
yum info package
|
6. Установка пакета |
|
apt -y install package
|
yum -y install package
|
7. Удаление пакета |
|
apt remove package
|
yum remove package
|
8. Удаление пакета |
|
dpkg --remove --force-depends package
|
rpm -e --nodeps package
|
9. Полное удаление пакета |
|
apt purge package
|
— |
10. Удаление пакета |
|
apt autoremove package
|
yum autoremove package
|
11. Коровья суперсила: |
|
apt moo |
— |
Возможностей пакетных менеджеров куда больше, чем перечислено здесь. Более подробную информацию о всех дополнительных опциях можно узнать с помощью команды man
.