Учебно-методические материалы для студентов кафедры АСОИУ

ПР 8. Управление пакетами

Цель работы

Ознакомиться с консольными и графическими утилитами управления пакетами программного обеспечения в ОС Astra Linux, освоить навыки получения информации об установленных и доступных пакетах, их установки, обновления и удаления.

Указания к выполнению

Все задачи по управлению программным обеспечением выполняются суперпользователем.

Менеджер пакетов (в случае деривиативов Debian это будет dpkg) в момент запуска блокирует доступ к системной базе данных ПО и удерживает блокировку до завершения всех операций по управлению программным обеспечением. Это позволяет сохранять полноту и целостность системы.

Все программы, входящие в состав дистрибутива и к которым можно получить доступ хранятся в специальном хранилище — репозитории. Репозиторий может быть локальным (например, записанным на DVD или жесткий диск компьютера), однако более практичным является использование сетевых репозиториев. Система может использовать несколько репозиториев, как локальных, так и сетевых.

Информация о репозиториях хранится в файле /etc/apt/sources.list. Это обычный текстовый файл, доступный для редактирования суперпользователем. Для его изменения можно выполнить например такую команду:

sudo mcedit /etc/apt/sources.list

Возможна ситуация, когда после добавления репозитория в sources.list, в ходе обновления системы появится предупреждение об отсутствии GPG-ключей для нового репозитория. Их можно импортировать командами apt-key, debian-archive-keyring и dirmngr, но здесь это не рассматривается. Чтобы использовать неподписанный репозиторий, его нужно добавлять как «доверенный» источник, дописав строку [trusted=yes] в описание репозитория.

Основными операциями по управлению пакетами и выполняемыми менеджером пакетов являются следующие:

Выполнять эти операции можно непосредственно из dpkg, однако более удобными являются доступные в Astra Linux оболочки apt и Synaptic.

Если компьютер находится в локальной сети, то для работы с сетевыми репозиториями может потребоваться дополнительная настройка системы в части конфигурации прокси-сервера. Synaptic и apt могут использовать как общесистемные, так и собственные настройки прокси.

Собственные настройки Synaptic задаются в диалоговом окне settings→preferences→network, а apt настраивается через конфигурационный файл /etc/apt.conf.d/01proxy, содержащий такую информацию:

Acquire::http::proxy "http://[user[:password]@]httpproxy.server:port";
Acquire::https::proxy "http://[user[:password]@]httpsproxy.server:port";
Acquire::ftp::proxy "http://[user[:password]@]ftpproxy.server:port";

Фактические адреса прокси-серверов и номера портов можно узнать у системного администратора.

Задания

  1. Войти в систему с собственной учетной записью.
  2. Ознакомиться со справочной информацией о командах dpkg, dpkg-query, aptitude, apt, apt-get, apt-cache и synaptic. Все последующие задания выполнять с помощью любой из утилит командной строки, если иное не сказано явным образом.
  3. Просмотреть информацию о подключенных репозиториях ПО (см. /etc/apt/sources.list).
  4. Проверить систему на наличие обновлений (update) и, если возможно, выполнить обновление (upgrade).
  5. Получить развернутую информацию о пакетах mc, linux-image, supertux и cowsay.
  6. С помощью утилиты synaptic установить пакет supertux со всеми необходимыми зависимостями.
  7. Завершить работу в synaptic.
  8. Скачать пакет cowsay_3.03+dfsg1-10_all.deb. Для выполнения этого задания использовать предустановленный браузер и любую поисковую систему (google, yandex, bing и т. п.). Рекомендуется выполнять поиск с точным соответствием, т.е. искомую фразу заключить в кавычки.
  9. Используя dpkg выполнить локальную установку пакета cowsay, описанного в задании № 8.
  10. Выполнить команду uname -a | cowsay -f tux.
  11. Используя apt или apt-get удалить пакет supertux.
  12. Проверить, доступны ли для установки пакеты sl, cmatrix, lolcat и figlet.
  13. Добавить следующую строку в файл /etc/apt/sources.list (Откройте этот файл в любом текстовом редакторе, например так: sudo mcedit /etc/apt/sources.list. Не забудьте сохранить изменения.):
    deb [trusted=yes] https://deb.debian.org/debian/ stretch main
    Сохранить изменения и выполнить обновление системы
    Возможно, что появится предупреждение об отсутствии GPG-ключей для добавленного репозитория. Их можно импортировать командами apt-key, debian-archive-keyring и dirmngr, но здесь это не рассматривается. Репозиторий все равно будет доступен, т.к. он добавлен как доверенный [trusted] источник.
  14. Повторить задание № 12.
  15. Установить один из пакетов sl или cmatrix.
  16.  Установить пакеты figlet и lolcat. Сделать это одной командой.
  17.  Выполнить (потоковую) команду:
    user@astra:~$ clear && echo "Hello, World!" | figlet -c | lolcat -a
  18. Удалить все установленные в ходе выполнения заданий пакеты, включая все файлы пакетов, которые могли быть изменены. Сделать это одной командой.
  19. Удалить из списка источников подключенный ранее репозиторий.
  20. Завершить работу.

Контрольные вопросы

  1. Сколько репозиториев Astra Linux доступно после установки системы и сколько из них активировано?
  2. К заданию 4. Почему определен именно такой порядок операций по обновлению системы?
  3. Как, с точки зрения отображаемой информации, будут отличаться результаты выполнения команд apt show cowsay и apt show linux-image?
  4. Какой командой можно выполнить полнотекстовый поиск некоторого пакета?
  5. Почему многие программы требуют установки дополнительных пакетов?
  6. Какой командой можно узнать, какие файлы входят в состав установленного пакета?
  7. Как можно получить информацию о прямых и обратных зависимостях (в ответе записать необходимую команду на примере пакета cowsay)?
  8. К заданиям 12, 13, 14. Что и почему изменилось (если изменилось) после подключения нового репозитория?
  9. После удаления некоторого пакета в системе могут остаться неиспользуемые файлы. Какой командой их можно удалить?
  10. В чем отличия применения команд apt remove и apt purge при необходимости удаления некоторого пакета?

CC-BY-CA Анатольев А.Г., 08.06.2022