Читать книгу Практика сетевого администрирования - Юрий Александрович Денисов - Страница 11
Инсталляция оборудования и программного обеспечения
Инсталляция менеджеров пакетов
Менеджер пакетов Apt
ОглавлениеQ: Какие требования необходимы для запуска менеджера пакетов apt?
A:
Менеджер пакетов apt (старое, устаревшее название – apt-get) доступен в операционных системах на основе Debian и Ubuntu изначально и по умолчанию. Требования к нему такие же, как ко всей операционной системе Linux, и отличается в зависимости от дистрибутива и его версии.
Для своей работы менеджер требует приложение dpkg и выход в Интернет, поэтому, если этих компонентов нет или они не работоспособны, менеджер пакетов запустить не удастся.
Q: Какие файлы нужны для настройки менеджера пакетов apt-get?
A:
Для правильного функционирование менеджера пакетов он должен быть грамотно сконфигурирован.
По-умолчанию файлы конфигурации программы apt находятся в каталоге /etc/apt. В нём расположены следующие файлы и каталоги:
apt.conf.d/ – каталог с предустановленными по умолчанию файлами конфигурации модулей Linux
preferences.d/ – каталог с настройками apt-get по умолчанию. Может быть пустым, если настройки по умолчанию операционной системой не сохранялись;
sources.list.d/ каталог с файлами репозиториев Linux по умолчанию для данного дистрибутива. Также может быть пустым, хотя это крайне нежелательная конфигурация;
trusted.gpg.d/
sources.list – текстовый файл с описанием текущих репозиториев для поисков пакетов apt. Должен присутствовать обязательно. Может редактироваться;
trusted.gpg – бинарный файл для проверки безопасности для данных репозиториев. Должен присутствовать обязательно. При его отсутствии, репозитории считаются небезопасными, и установка пакетов из них не происходит;
Полный листинг каталога приведён ниже.
# ls -l
drwxr-xr-x 2 root root 4096 дек 8 19:20 apt.conf.d
drwxr-xr-x 2 root root 4096 апр 14 2016 preferences.d
–rw-r–r– 1 root root 3181 ноя 6 22:02 sources.list
–rw-r–r– 1 root root 0 ноя 6 20:50 sources.list~
drwxr-xr-x 2 root root 4096 апр 14 2016 sources.list.d
–rw-r–r– 1 root root 13154 ноя 6 22:00 trusted.gpg
–rw-r–r– 1 root root 12255 авг 1 15:16 trusted.gpg~
drwxr-xr-x 2 root root 4096 апр 14 2016 trusted.gpg.d
Примерный вид файла sources.list представлен ниже:
#
# deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ – Release i386 (20170801)]/ xenial main restricted
#deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ – Release i386 (20170801)]/ xenial main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://ru.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://ru.archive.ubuntu.com/ubuntu/ xenial main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://ru.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ru.archive.ubuntu.com/ubuntu/ xenial universe
# deb-src http://ru.archive.ubuntu.com/ubuntu/ xenial universe
deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates universe
# deb-src http://ru.archive.ubuntu.com/ubuntu/ xenial-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://ru.archive.ubuntu.com/ubuntu/ xenial multiverse
# deb-src http://ru.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://ru.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
# deb-src http://ru.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ru.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://ru.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
Внимание! Данный файл является рабочим файлом Ubuntu Server 16.04 LTE и может не соответствовать для других версий дистрибутивов. Использовать его можно только в качестве примера, и никогда не заменять им оригинальные файлы, настроенные в Вашем дистрибутиве.
Q: Как добавить репозиторий с дистрибутивом в менеджер пакетов apt?
A:
Как ни полны официальные репозитории дистрибутивов операционной системы Linux, они всё-таки не являются самыми всеохватывающими, и найдутся программы и пакеты, отсутствующие в официальных дистрибутивах. К счастью, в большинстве случаев к списку официальных репозиториев всегда можно добавить дополнительные репозитории. Как это сделать на примере добавления репозитория с дистрибутивом webmin, автор расскажет по материалам статьи https://darkfess.ru/%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%B0%D1%8F-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-webmin-%D0%BD%D0%B0-ubuntu-server-12-04/
1. Редактируем файл /etc/apt/sources.list, например, текстовым редактором nano:
$ sudo nano /etc/apt/sources.list
И добавляем в его конец
# Webmin repository
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Сохраняем и выходим.
2. Импортируем GPG ключ:
$ wget http://www.webmin.com/jcameron-key.asc
$ sudo apt-key add jcameron-key.asc
3. Обновляем список источников:
$ sudo apt-get update
4. Устанавливаем Webmin:
$ sudo apt-get install webmin
Готово! Все необходимые для его работы пакеты будут установлены автоматически.
Как видим, в данном примере нет ничего сложного. Надо только знать реквизиты репозиториев и получить закрытый ключ, которым подписаны сертификаты данных репозиториев. Всё это можно получить, используя стандартные утилиты командной строки Linux. Единственно, надо уметь работать в командной строке этой операционной системы, и уметь разруливать нестыковки в Интернете, используя ту же командную строку. Но для этого и написана данная книга.
Q: Основные команды apt
A:
apt – показывает краткую справку по пакету;
apt list – показывает список пакетов из указанных имён пакетов
apt install – установить перечисленные пакеты
apt remove – удалить перечисленные пакеты
apt autoremove – автоматически удалить все неиспользуемые пакеты, например, оставшиеся после инсталляции, обновления дистрибутива
apt update – обновить список доступных пакетов
apt upgrade – обновить систему, удаляя/устанавливая/обновляя пакеты
apt full-upgrade – обновить систему, удаляя/устанавливая/обновляя пакеты
man apt – страница руководства по apt
Дополнительные опции, необходимые при ошибках в установке/удалении пакетов
–force=yes – продолжает установку пакетов, даже если есть потенциальная возможность нарушения безопасности или целостности данных. Это небезопасная опция, и её следует использовать, если Вы точно уверены в целостности, «правильности» пакета и предыдущая установка закончилась неудачно, например, из-за аппаратного сбоя или отключения питания
–purge – опция, которая может использоваться вместо команды apt-get purge для полного удаления пакета вместе с его конфигурационными файлами и следами. Например,
# apt-get remove –purge postgre*
удаляет все пакеты postgre sql вместе с файлами конфигурации. Это нужно при полном удалении сервера после неправильно исправленных кривыми ручками файлов конфигурации.
Примечание: у этой опции есть недокументированная особенность, проявляющаяся в некоторых версиях Ubuntu. Команда, запущенная в следующем синтаксисе:
apt-get install –purge имена_пакетов
при инсталляции пропускает заданные пользователем настройки инсталляции дистрибутива в каталоге apt.conf.d, устанавливая файлы конфигурации с настройками по умолчанию для репозитория. Однако надобность в такого рода исправлениях нужна редко, только если администратор неправильно сконфигурировал дистрибутив при установке. Для большинства пакетов этот хак не работает.
При указании имён пакетов можно указывать регулярные выражения в стиле UNIX или regexp. Это повышает гибкость установщика пакетов. Заметим, что в chicolatey регулярные выражения запрещены.
Q: Что такое оболочка менеджера пакета aptitude?
A:
В Ubuntu есть стандартная оболочка менеджеров пакетов apt и apt-get aptitude. Она представляет собой псевдографическую оболочку с WIMP интерфейсом, с системой экранных меню и горячих клавишей.
Q: Как установить менеджер пакетов aptitude?
A:
Необходимо в командной строке подать команду:
$sudo apt install aptitude
Команду sudo можно опустить, если зайти в командную сроку Ubuntu под пользователем root.
Q: Как зайти в консоль Ubuntu с правами суперпользователя?
A:
Необходимо в терминале подать команду:
$sudo su – root
После чего ввести пароль текущего пользователя Ubuntu. При успешном входе поменяется приглашение командной строки, оно будет оканчиваться на знак «#».
Примечание. Этот способ входа возможен только для пользователей Debian и Ubuntu Linux, в которых по умолчанию не создаётся учётная запись суперпользователя root. Обычно в Linux такая учётная запись всё же создаётся, и вход в неё возможен по команде
$su – root
с введением пароля суперпользователя Linux. Почему-то этот способ считается менее безопасным, хотя всем понятно, что пароли нужно хранить в тайне.
Примечание. Команда sudo по умолчанию работает только для пользователя, осуществившего установку Ubuntu Linux на компьютер. Чтобы разрешить подачу команды sudo другим пользователям Ubuntu, необходимо добавить этого пользователя Linux, во-первых, в группу пользователей sudousers, во-вторых, в специальный файл конфигурации sudo (команда visudo или подобные), чтобы настроить окружение этой команды для пользователя. Само собой разумеется, эти команды осуществляются в режиме суперпользователя Ubuntu.
Q: Как выйти из режима суперпользователя в Ubuntu (и вообще в Linux) в терминале?
A:
Необходимо подать команду:
#exit
и нажать клавишу Enter.
Q: Как запустить и как выйти из оболочки aptitude?
A:
Для запуска оболочки необходимо подать команду:
$sudo aptitude
Для выхода из Aptitude необходимо нажать комбинацию клавиш «CTRL+T» для входа в меню, далее выбрать пункты «File» -> «Quit», или нажать соответствующую клавишу быстрого доступа в программе («Q»).
Q: Какие основные клавиши управления есть в команде aptitude?
A:
Ctrl+T – вызов и вход в режим меню.
/ – поиск нужного пакета вниз по списку. Образец для поиска запрашивается
\ – поиск нужного пакета вверх по списку. Образец для поиска запрашивается и сохраняется.
Примечание. При повторном вызове команды поиска в его строке показывается сохранённый запрос.
n – повторный поиск (вперёд или назад по списку, смотри предыдущие команды)
+ – Отметка пакета для установки. Пакет срезу не устанавливается, требуется подтверждение
– – Отмена выбора пакета на установку или выбор пакета на удаление.
g – Подтверждение выбора пакетов на установку или удаление. При первом нажатии на клавишу будут показаны все устанавливаемые или удаляемые пакеты вместе с зависимостями. При повторном нажатии на g запускается менеджер пакетов для применения операций.
«Стрелка вверх» и «стрелка вниз», PageUp и PageDn – листание вверх вниз по списку пакетов. При этом перемещается текстовый курсор, указывающий на текущий пакет.
«Стрелка вправо» (в списке пакетов) – открывает для просмотра текущую группу пакетов. В aptitude все пакеты объединены в группы: установленные, неустановленные, сторонние, и множество подгрупп.
«Стрелка влево» – сворачивает просмотр текущей группы пакетов. Это бывает необходимо для компактного представления вывода результатов поиска по пакетам.
Текущим пакетом является пакет, на котором расположен текстовый курсор. В нижней части экрана будет представлено описание и назначение пакета на «человеческом», как правило – английском языке. Только текущий пакет можно отметить для установки и удаления.
В оболочке пакетов aptitude отсутствует действие, соответствующее команде purge или опции –force-all. Для их применения необходимо использовать менеджер пакетов apt-get.