Управление программным обеспечением — фундаментальный навык любого администратора Ubuntu Server. Независимо от того, работаете ли вы в облачной среде, такой как Azure, AWS или GCP, или управляете локальной инфраструктурой, понимание таких инструментов управления пакетами, как APT необходимо для поддержания безопасной и оптимизированной системы.
В этом руководстве мы рассмотрим основы установки, обновления и управления программным обеспечением, изучим сценарии для облачных сред, разберём распространённые проблемы и приведём практические примеры, которые помогут вам освоить администрирование Ubuntu Server.
Предыдущая статья:
01. Введение в Ubuntu Server – SysOSX: AI & Cloud
02. Как настроить первый сервер Ubuntu: руководство для начинающих – SysOSX: AI & Cloud
03. Освоение командной строки Linux для Ubuntu Server – SysOSX: AI & Cloud
05. Основы сетей для Ubuntu Server: полное руководство – SysOSX: AI & Cloud
1. Понимание APT и управления пакетами в Ubuntu
В Ubuntu Server используется APT (Advanced Package Tool) в качестве основного менеджера пакетов. APT упрощает управление программным обеспечением, автоматически обрабатывая зависимости и используя репозитории как доверенные источники пакетов.
Ключевые компоненты APT:
- apt: Инструмент командной строки для управления пакетами.
- dpkg: Низкоуровневый менеджер пакетов для
.debфайлов. - Репозитории: Онлайн-источники, в которых хранятся и откуда получаются пакеты Ubuntu.
2. Установка программного обеспечения с помощью APT
Чтобы установить программное обеспечение на Ubuntu Server, используйте команду apt install .
Пример: установка веб-сервера Apache
- Обновите список пакетов:
sudo apt update
Вывод:
Hit:1 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [922 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [151 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [364 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:10 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7076 B]
Get:11 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [21.3 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B]
Get:13 http://azure.archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:14 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [9024 B]
Get:15 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [51.9 kB]
Get:16 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [208 B]
Get:17 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B]
Fetched 1907 kB in 1s (2778 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
15 packages can be upgraded. Run 'apt list --upgradable' to see them.
- Установите Apache:
sudo apt install apache2
3. Удаление программного обеспечения
Если пакет больше не нужен, его можно удалить с помощью команд apt remove или apt purge .
Пример: удаление Apache
sudo apt remove apache2
Вывод:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
apache2
...
After this operation, 2 MB disk space will be freed.
Do you want to continue? [Y/n]
Чтобы удалить его полностью, включая файлы конфигурации:
sudo apt purge apache2
4. Обновление и модернизация пакетов
Регулярные обновления критически важны для безопасности и стабильности системы.
Команды:
- Обновление списка пакетов
sudo apt update
- Модернизация установленных пакетов
sudo apt upgrade
- Полное обновление (включая обновления ядра)
sudo apt full-upgrade
Вывод:
The following packages will be upgraded:
linux-image-5.4.0-91-generic linux-headers-5.4.0-91-generic ...
Do you want to continue? [Y/n]
5. Управление репозиториями
Репозитории необходимы для управления пакетами. По умолчанию Ubuntu использует официальные репозитории, но при необходимости можно добавлять, изменять или удалять дополнительные репозитории.
Управление репозиториями в формате Deb822
Недавние версии Ubuntu перешли на формат Deb822 для управления репозиториями. Вместо традиционного файла /etc/apt/sources.list репозитории теперь управляются через .sources файлов, расположенных в /etc/apt/sources.list.d/ каталоге.
Просмотр текущих репозиториев
Чтобы просмотреть текущие репозитории, проверьте файлы .sources в /etc/apt/sources.list.d/:
ls /etc/apt/sources.list.d/
Например:
cat /etc/apt/sources.list.d/ubuntu.sources
Файл .sources в формате Deb822 выглядит так:
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Добавление репозитория
Чтобы добавить новый репозиторий в формате Deb822, создайте файл .sources в /etc/apt/sources.list.d/. Например, чтобы добавить пользовательский репозиторий PPA:
sudo nano /etc/apt/sources.list.d/custom.sources
Добавьте нужное настроенное содержимое:
Types: deb
URIs: http://customizedurl/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/repository-name.gpg
Сохраните файл и обновите список пакетов:
sudo apt update
Удаление репозитория
Чтобы удалить репозиторий, удалите соответствующий файл .sources из /etc/apt/sources.list.d/:
sudo rm /etc/apt/sources.list.d/custom.sources
sudo apt update
Преимущества формата Deb822
- Структурированная конфигурация: Чётко разделяет типы репозиториев, URI, наборы и компоненты.
- Повышенная безопасность: Позволяет указывать ключи GPG для подписи репозиториев с помощью поля
Signed-By. - Улучшенная совместимость: Упрощает управление несколькими репозиториями в облачных и контейнеризированных средах.
Подробнее см. страницу руководства sources.list(5).
6. Управление кешем пакетов
APT использует систему кеша для локального хранения скачанных файлов пакетов и метаданных. Этот кеш ускоряет такие операции, как установка и обновление программного обеспечения, но со временем может разрастаться и занимать место на диске. Понимание того, как управлять кешем, необходимо для поддержания производительности системы и освобождения ресурсов.
Проверка размера кеша
Чтобы проверить, сколько места занимает кеш:
sudo du -sh /var/cache/apt/
Пример вывода:
126M /var/cache/apt/
Очистка кеша
- Очистка кеша пакетов
Используйтеapt cleanкоманду для удаления всех кешированных файлов пакетов:sudo apt cleanЭто очищает/var/cache/apt/archivesкаталог, в котором хранятся скачанные.debфайлы. - Удаление частичных загрузок
Если загрузка была прервана или повреждена, удалите частичные файлы с помощью:sudo apt autocleanПри этом удаляются только устаревшие файлы и частичные загрузки.
Пример вывода при очистке кеша
sudo apt clean
sudo apt autoclean
Вывод:
Cleaning up /var/cache/apt/archives...
Removing unused files...
Done.
Перестроение кеша
Если вы подозреваете, что метаданные кеша повреждены, перестройте кеш, обновив список пакетов:
sudo apt update
При этом локальный кеш обновляется новейшими метаданными из репозиториев.
7. Облачные сценарии: управление программным обеспечением в Azure, AWS и GCP
В облачных средах управление программным обеспечением на Ubuntu Server работает так же, как и в локальных установках. Однако есть дополнительные соображения:
Azure
- Azure предоставляет пользовательские расширения скриптов для автоматизации установки программного обеспечения при развёртывании виртуальных машин.
- Пример: использование скрипта для установки Nginx:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name CustomScript \
--publisher Microsoft.Azure.Extensions \
--settings '{"commandToExecute":"sudo apt update && sudo apt install -y nginx"}'
AWS
- Используйте скрипты пользовательских данных для установки программного обеспечения при запуске экземпляра.
- Пример: установка Docker на экземпляре EC2:
#!/bin/bash
sudo apt update
sudo apt install -y docker.io
GCP
- Используйте скрипты запуска для управления установкой программного обеспечения на экземплярах виртуальных машин.
- Пример: установка MySQL:
#!/bin/bash
sudo apt update
sudo apt install -y mysql-server
8. Устранение распространённых проблем при установке или удалении
1. Пакет не найден
Если пакет не найден, убедитесь, что репозиторий включён:
sudo apt update
sudo apt update
2. Ошибки зависимостей
Исправьте отсутствующие зависимости:
sudo apt --fix-broken install
3. Проблемы с репозиториями
Проверьте наличие ошибок репозиториев:
sudo apt update
Пример вывода:
Err:1 http://ppa.launchpad.net/repository-name/ubuntu noble Release
404 Not Found
Решение: удалите или исправьте запись репозитория в /etc/apt/sources.list.
4. После удаления остаются остаточные файлы
Удалите оставшиеся файлы:
sudo apt autoremove
sudo apt purge package-name
5. Доступ запрещён
Убедитесь, что у вас есть права root:
sudo apt install package-name
9. Рекомендации по управлению пакетами
- Всегда обновляйте систему перед установкой программного обеспечения
sudo apt update
- Регулярно обновляйте систему
Используйтеapt upgradeилиapt full-upgradeчтобы обеспечить безопасность системы. - Удаляйте ненужные пакеты
sudo apt autoremove
- Используйте доверенные репозитории
Избегайте сторонних репозиториев, если в них нет необходимости. - Отслеживайте изменения пакетов в облачных средах
Автоматизируйте обновления с помощью скриптов или инструментов управления конфигурацией, таких как Ansible. - Периодически очищайте кеш
Регулярно очищайте кеш, чтобы освободить место на диске:
sudo apt clean
Заключение
Независимо от того, управляете ли вы локальным сервером или работаете в облаке, освоение установки программного обеспечения и управления им на Ubuntu Server критически важно для поддержания безопасной и эффективной системы. Следуя рекомендациям, изложенным в этом руководстве, вы сможете обеспечить оптимальную работу сервера и его готовность к любой нагрузке.
Дополнительную информацию см. в официальной документации Ubuntu по APT.
Что дальше?
В следующей статье мы подробнее рассмотрим установку исправлений и обновление Ubuntu Server— критически важную задачу для поддержания безопасности и стабильности. Вы узнаете:
- Почему установка исправлений критически важна для безопасности и стабильности и как это предотвращает уязвимости.
- Как использовать apt для эффективного обновления и модернизации сервера.
- Различия между apt update, apt upgrade, и apt full-upgrade чтобы избежать распространённых ошибок.
- Автоматизация обновлений с помощью unattended-upgrades для экономии времени и обеспечения согласованности.
- Как обрабатывать обновления ядра и корректно перезагружать сервер с помощью уведомлений reboot-required .
Следите за практическими советами о том, как обеспечить безопасность и актуальность вашего Ubuntu Server!
4 thoughts on “06. Installing and Managing Software on Ubuntu Server: A Complete Guide”