Читать книгу Практика сетевого администрирования - Юрий Александрович Денисов - Страница 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.

Практика сетевого администрирования

Подняться наверх