Ysa-k07-ru

From
Jump to navigation Jump to search

Глава 7: Менеджер пакетов apt

Цели главы

После изучения этой главы ученик:

  • Понимает, что такое пакеты и менеджер пакетов в Linux
  • Знает, как работает apt в Debian/Ubuntu
  • Умеет устанавливать, удалять и обновлять пакеты
  • Может безопасно обновлять операционную систему и прикладное ПО
  • Приобретает практические навыки системного администратора

1. Что такое пакеты в Linux

В Linux программное обеспечение распространяется в виде пакетов.

Пакет — это архив, который содержит:

  • исполняемые файлы программы
  • библиотеки
  • конфигурационные файлы
  • документацию
  • информацию о зависимостях (dependencies)

Пример:

  • пакет nginx содержит веб-сервер
  • пакет nano — текстовый редактор
  • пакет openssh-server — SSH-сервер

В Debian/Ubuntu используются пакеты формата .deb.


2. Менеджер пакетов

Менеджер пакетов — это инструмент, который:

  • загружает пакеты из репозиториев
  • устанавливает и удаляет программы
  • автоматически устанавливает зависимости
  • обновляет систему

В Debian/Ubuntu основной менеджер пакетов — apt.


3. Репозитории

Репозиторий — это сервер с пакетами.

Информация о репозиториях хранится в:

  • /etc/apt/sources.list
  • /etc/apt/sources.list.d/

Обычно начинающему администратору не нужно редактировать их вручную.


4. Основные команды apt

Все команды apt требуют права администратора → используется sudo.

4.1 Обновление списка пакетов

Перед установкой или обновлением ПО нужно обновить список доступных пакетов:

sudo apt update

Что делает команда:

  • загружает актуальный список пакетов из репозиториев
  • НЕ устанавливает обновления

4.2 Установка пакетов

Пример: установка текстового редактора nano

sudo apt install nano

Установка нескольких пакетов:

sudo apt install curl wget git

4.3 Удаление пакетов

Удаление программы (конфигурация сохраняется):

sudo apt remove nano

Полное удаление вместе с конфигурацией:

sudo apt purge nano

4.4 Поиск пакетов

Поиск по названию или описанию:

apt search nginx

4.5 Информация о пакете

Подробная информация:

apt show nginx

5. Обновление системы

5.1 Обновление установленных пакетов

После обновления списка пакетов:

sudo apt upgrade

Что происходит:

  • обновляются установленные программы
  • новые пакеты не устанавливаются
  • старые не удаляются

5.2 Полное обновление системы

sudo apt full-upgrade

Используется, когда:

  • нужно обновить ядро
  • могут быть добавлены или удалены пакеты

⚠ Использовать осторожно на серверах!


6. Практика: установка программ

Пример 1: Установка htop

sudo apt update
sudo apt install htop

Проверка:

htop

Выход: F10


Пример 2: Установка веб-сервера nginx

sudo apt install nginx

Проверка статуса сервиса (подробно в главе 14):

systemctl status nginx

7. Практика: обновление прикладного ПО

1. Обновить список пакетов

sudo apt update

2. Обновить установленные программы

sudo apt upgrade

3. Проверить, какие пакеты были обновлены


8. Практика: очистка системы

Удаление ненужных зависимостей:

sudo apt autoremove

Очистка кэша пакетов:

sudo apt clean

Зачем это нужно:

  • освобождение дискового пространства
  • поддержание чистоты системы

9. Типичные ошибки и их решение

Ошибка: "Could not get lock /var/lib/dpkg/lock"

Причина:

  • другой процесс apt уже работает

Решение:

  • подождать
  • проверить процессы:
ps aux | grep apt

10. Практические задания

Задание 1

  • Обновить список пакетов
  • Найти пакет mc
  • Установить его
  • Запустить mc

Задание 2

  • Установить пакет tree
  • С помощью tree показать структуру каталога /etc
  • Удалить пакет tree

Задание 3

  • Обновить все пакеты системы
  • Очистить систему от ненужных пакетов

Задание 4 (администраторское мышление)

  • Установить apache2
  • Проверить, что пакет установлен
  • Удалить apache2 полностью (с конфигурацией)

11. Дополнительные материалы для самостоятельного изучения

  • man apt
  • man apt-get
  • Официальная документация Ubuntu: Package Management
  • Debian Administrator Handbook (глава APT)
  • Практика на виртуальной машине (обязательно!)

12. Результат главы

После этой главы ученик:

  • Умеет управлять программным обеспечением в Linux
  • Понимает разницу между update / upgrade
  • Готов обслуживать систему на базовом уровне
  • Сделал важный шаг к роли Unix System Administrator