Установка пакетов из сторонних репозиториев (включая репозиторий Debian) может привести к нарушению работы ОС, и делается на свой страх и риск. Техническая поддержка по вопросам, связанным с пакетами, установленными из сторонних репозиториев не оказывается. При установке пакетов из сторонних репозиториев необходимо соблюдать требования эксплуатационной документации, см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition |
См. также:
| Не забывайте удалять сторонние репозитории после завершения их использования. |
|
Информация о соответствии обновлений Astra Linux Special Edition, версий Debian и аппаратных платформ доступны по ссылке: Таблица вариантов исполнения Astra Linux Special Edition. |
Все команды, которые вносят изменения в систему, выполняются:
То есть, команды выполняются:
|
Установка пакетов при подключенном репозитории производится в терминале командой:
| sudo apt install <имя пакета>... |
также установка пакетов и настройка репозиториев может производиться с помощью графического менеджера пакетов synaptic.
Описания структуры Интернет-репозиториев на web-сайте dl.astralinux.ru и его зеркалах доступны по ссылкам:
Установщик пакетов по умолчанию, если иное не задано в файлах настройки приоритетов репозиториев, старается устанавливать самые новые версии пакетов.
При этом изменения номеров минорных версий установщиком не учитываются, т.е.:
при возможности установки пакетов пакет_1.1.1-100 и пакет_1.1.2-1 (отличие в последней цифре номера мажорной версии) будет установлен пакет_1.1.2, как имеющий старшую мажорную версию;
при возможности установки пакетов пакет_1.1.1-1 и пакет_1.1.1-100 (мажорные версии совпадают (1.1.1), отличия в минорных версиях - 1 и 100) будет установлен первый найденный в репозиториях вариант пакета.
Приоритеты выбора репозиториев задаются в файлах в каталоге /etc/apt/preferences.d/ или в файле /etc/apt/preferences. Подробности см. по ссылке.
| Приоритеты выбора, заданные с помощью preferences, применяются только в случае, если обнаружено несколько разных версий пакета. Если обнаружено несколько репозиториев, содержащих одинаковые версии пакета, то пакет будет установлен из первого обнаруженного репозитория независимо от приоритетов репозиториев. |
Если приоритеты выбора репозитория не заданы явно, то
неподписанные репозитории имеют меньший приоритет, чем подписанные;
репозитории обрабатываются в порядке их перечисления в конфигурационных файлах;
Проверить приоритеты репозиториев для конкретного пакета можно командой:
apt-cache policy <имя_пакета> |
В Astra Linux используются следующие приоритеты:
Astra Linux Common Edition — файл /etc/apt/preferences.d/orel устанавливает приоритет репозитория 900.
Программам, устанавливающим пакеты (а также программам — установщикам ОС) должна быть предоставлена информация о том, где искать файлы для установки.
После каждого внесения изменений в файлы с описанием репозиториев следует обновить списки пакетов:
|
Для каждого репозитория сформировать строку вида:
<тип_репозитория> [ опция=значение ... ] <путь_к_корневому_каталогу_репозитория> <код_дистрибутива> <список_компонент> |
Где:
Эти строки добавить в файл /etc/apt/sources.list или в файлы с произвольными именами и расширением .list, расположенные в каталоге /etc/apt/sources.list.d.
Особенности формата:
Для каждого репозитория сформировать запись вида:
Types: <тип репозитория URIs: <путь_к_корневому_каталогу_репозитория> Suites: <код_дистрибутива> Components: <список_компонент> <Опция>: <Значение> |
Значения параметров такие же, как в формате "одна строка" (см. выше).
Эти записи добавить в файлы с произвольными именами и расширением .sources, расположенные в каталоге /etc/apt/sources.list.d.
Особенности формата:
Использовать репозитории на оптических дисках не рекомендуется, так как работа с ними сложна и неудобна. Рекомендованным вариантом является использование сетевых репозиториев или репозиториев в локальной файловой системе (см. Создание локальных и сетевых репозиториев). |
Для подключения репозиториев на оптических дисках:
Установить диск в привод и выполнить команды:
sudo apt-cdrom add |
Указанную процедуру повторить для каждого используемого диска. В дальнейшем для установки пакетов нужно будет устанавливать (заменять в приводе) зарегистрированные диски по мере необходимости.
Установочные диски Astra Linux имеют формат репозиториев. Это позволяет использовать их в качестве репозиториев. Для использования диска его нужно либо примонтировать, либо скопировать.
Смонтировать диск, установленный в привод, можно командой:
sudo mount <имя_устройства> <каталог_монтирования> |
Например, для монтирования диска в устройстве /dev/cdrom в каталог /mnt:
sudo mount /dev/cdrom /mnt |
Для обозначения примонтированных образов или скопированных репозиториев в описании пути к репозиторию применяется тег "file://" или "file:". С учетом того, что путь обычно начинается от корневого каталога допустимы две формы:
deb file:///<путь> ... deb file:/<путь> ... |
Строка определения для репозитория в каталоге /mnt будет выглядеть так:
deb file:///mnt <код_дистрибутива> <список_компонент> |
| Перед копированием данных на локальный жесткий диск рекомендуется убедиться, что в файловой системе достаточно свободного места. См. Анализ и оптимизация заполнения дискового пространства. |
Копию оптического диска (например, в устройстве /dev/cdrom) в виде ISO-образа в файле можно создать выполнив команду:
sudo dd if=/dev/cdrom of=<имя_файла_с_образом_диска> bs=1M |
Смонтировать файл с ISO-образом в выбранный каталог можно такой же командой, как и устройство, указав вместо имени устройства имя файла:
sudo mount <имя_файла_с_образом_диска> <каталог_монтирования> |
Для автоматического монтирования сохраненного ISO-образа добавить в файл /etc/fstab строку вида:
<полное_имя_файла_с_образом> /opt/repo iso9660 defaults,nofail 0 0 |
Опция монтирования nofail требуется для того, чтобы загрузка ОС не прекращалась при отсутствии файла с ISO-образом.
| В сети Интернет встречается рекомендация извлекать файлы из ISO-образов архиватором 7zip (команда 7z). Так делать не рекомендуется, так как архиватор неверно извлекает файлы, являющиеся ссылками на другие файлы. |
Для того, чтобы извлечь файлы с диска или из ISO-образа следует примонтировать диск (ISO-образ) и выполнить копирование в обычном порядке. Например:
Монтирование:
sudo mount <имя_файла_с_образом_диска> <каталог_монтирования> |
Копирование:
sudo cp -r <каталог_монтирования>/* <целевой_каталог> |
Строка определения для репозитория в каталоге /mnt будет выглядеть так:
deb file:///<целевой каталог> <код_дистрибутива> <список_компонент> |
Для сетевых репозиториев в описании пути к репозиторию применяется тег, указывающий протокол подключения:
Пример указания сетевого репозитория, работающего по протоколу HTTPS:
| deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free |
Для использования сетевых репозиториев, работающих по протоколу HTTPS необходимо, чтобы в системе был установлен пакет apt-transport-https и пакет ca-certificates. Проверить наличие пакетов можно командой:
| apt policy apt-transport-https ca-certificates |
Для установки из сетевых репозиториев указанных пакетов в случае их отсутствия:
Временно сменить протокол интернет-репозиториев в файле /etc/apt/source.list на протокол http. Пример указания репозитория с использованием протокола http:
| deb http://dl.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free |
Обновить список доступных для установки пакетов:
| sudo apt update |
Установить пакеты apt-transport-https и ca-certificates командой:
| sudo apt install apt-transport-https ca-certificates |
Сменить протокол интернет-репозиториев в /etc/apt/source.list на https.
Повторно обновить список доступных для установки пакетов:
| sudo apt update |
Определения репозиториев также могут быть указаны файлах, расположенных в каталоге /etc/apt/sources.list.d/. Файлы могут иметь произвольное имя c обязательным расширением ".list".
После внесения изменений в определения репозиториев обновить списки пакетов:
sudo apt update |
Не рекомендуется использовать сторонние репозитории при работе с Astra Linux Special Edition. Техническая поддержка на системы, использующие сторонние репозитории, не распространяется. |
Проверка подлинности репозиториев выполняется с помощью ключей. Ключи для репозиториев Astra Linux регистрируются автоматически при установке ОС. Для использования сторонних репозиториев необходимо установить их ключи. Комплект таких ключей, включающий ключи для репозиториев Debian, предоставляется в составе пакета debian-archive-kyring. Регистрация ключей без установки пакета debian-archive-kyring описана далее.
Обновить кеш пакетов:
| sudo apt update |
Установить пакет debian-archive-keyring:
| sudo apt install debian-archive-keyring |
deb https://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware |
/etc/apt/preferences.d/smolensk (или изменить в нем приоритет репозитория).
Обновить кеш пакетов:
| sudo apt update |
Обновить кеш пакетов:
| sudo apt update |
Установить пакет debian-archive-keyring:
| sudo apt install debian-archive-keyring |
Добавить описание репозиториев, например, в файл /etc/apt/sources.list.d/repos.list:
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
deb https://deb.debian.org/debian/ buster main contrib non-free deb https://security.debian.org/debian-security/ buster/updates main contrib non-free |
Для Astra Linux Common Edition:
deb https://archive.debian.org/debian/ stretch main contrib non-free |
/etc/apt/preferences.d/orel (или изменить в нем приоритет репозитория);
Обновить кеш пакетов:
| sudo apt update |
Пакет debian-archive-keyring может быть установлен из репозитория Astra Linux Common Edition:
после подключения репозитория Astra Linux Common Edition - командами:
| sudo apt update sudo apt install debian-arhive-keyring |
или без подключения репозитория Astra Linux Common Edition командами:
wget https://dl.astralinux.ru/astra/stable/2.12_x86-64/repository/pool/main/d/debian-keyring/debian-keyring_2017.05.28_all.deb |
В примере указана версия пакета, доступная на момент обновления настоящей статьи, при изменении версии команда должна быть откорректирована.
Установить пакет dirmngr для управления ключами и пакет debian-archive-keyring, содержащий ключи к репозиториям Debian:
sudo apt install debian-archive-keyring dirmngr |
В файл /etc/apt/sources.list добавить ссылку на репозиторий Debian:
deb https://archive.debian.org/debian/ stretch main contrib non-free |
После добавления ссылки выполнить команду:
sudo apt update |
Если пакет debian-archive-keyring установлен, то команда должна отработаться без ошибок.
Если пакет debian-archive-keyring не установлен, то команда сообщит, что не может проверить подписи репозитория, и сообщит, какие именно ключи нужны для проверки.
Пример сообщения ниже, отпечатки ключей выделены жирным шрифтом:
.... Чтение списков пакетов… Готово |
На момент написания этой статьи к репозиторию Stretch относится третий, последний отпечаток.
Актуальную статью для Astra Linux Special Editionn x.8 cм. по ссылке: Установка ключей для сторонних репозиториев пакетов.
Для более ранних обновлений:
Установить ключ проверки подлинности репозитория, для чего:
Установить пакет dirmngr (если он ранее не был установлен):
sudo apt install dirmngr |
Для получения ключа:
Вариант 1. При наличии доступа к сети Интернет использовать команду apt-key с указанием нужного отпечатка ключа:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com EF0F382A1A7B6500 |
Вариант 2. Для работы в закрытой сети можно получить ключ через WEB-интерфейс на подключенной к Интернет машине по адресу репозитория (keyserver.ubuntu.com), указав в поле поиска код ключа в виде 0xE1F958385BFE2B6E (т.е. с лидирующими символами 0x и без лидирующих и завершающих пробелов), открыть ключ в WEB-браузере, копировать и сохранить в текстовом файле на локальной машине. Сохраненный ключ перенести на нужную машину и импортировать командой:
sudo apt-key add <имя_файла_с_ключом> |
После установки ключа репозитория обновить список пакетов:
sudo apt update |
Ключ репозитория Stretch действителен до 2025-го года, если установлен пакет debian-archive-keyring ключи будут обновляться автоматически по мере обновления пакета. Проверить список установленных ключей можно командой
apt-key list |
Использовать подключенный репозиторий можно и не имея ключей, однако данный способ не рекомендуется к применению, так как при этом проверка подлинности данных, получаемых из репозитория, становится невозможной. Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ trusted=yes:
|
Данный сценарий позволяет создать собственный репозиторий из произвольного набора ранее скачанных пакетов формата deb (двоичных пакетов Debian). Сценарий позволяет указать в качестве аргумента вызова код дистрибутива (orel, smolensk и т.д.), а если никакая версия не указана - то используется код текущей системы. Репозиторий создается в текущем каталоге. Дополнительно после завершения создания репозитория в текущем каталоге создается файл со строкой-ссылкой на созданный репозиторий для списка источников пакетов.
Порядок применения:
Установить необходимые для создания репозитория пакеты, если они не были установлены ранее:
sudo apt install dpkg-dev apt-utils |
Создать каталог, в котором будет размещён репозиторий, и перейти в этот каталог, например, каталог /opt/repo:
sudo mkdir /opt/repo |
Сохранить сценарий в файле с именем, например, create-flat-repo:
#!/bin/bash CODENAME="${1:-`sed -n "s/^DISTRIB_CODENAME=//p" /etc/lsb-release`}" V=1.0 ARCH=$(dpkg-architecture -q DEB_BUILD_ARCH) |
Разрешить выполнение созданного файла:
sudo chmod +x create-flat-repo |
Скопировать (загрузить) в текущий каталог пакеты .deb, которые предполагается включить в создаваемый репозиторий;
Выполнить сценарий:
sudo ./create-flat-repo |
По необходимости переместить или скопировать созданный файл .list в каталог списков источников пакетов /etc/apt/sources.list.d/ и обновить списки пакетов:
sudo cp *.list /etc/apt/sources.list.d/ sudo apt update |
После выполнения указанных операций установку пакетов из созданного репозитория можно будет выполнять стандартной командой:
sudo apt install <имя_пакета> |
При смене репозиториев установка пакетов может затрудняться тем, что в используемых репозиториях оказываются пакеты с одинаковыми версиями.
Для устранения этой проблемы (и, возможно, в качестве профилактической меры при частой смене репозиториев) следует:
Очистить сохраненные списки пакетов, содержащие информации о ранее использовавшихся репозиториях:
| sudo rm -rf /var/lib/apt/lists/* |
Обновить списки пакетов в соответствии с актуальным списком репозиториев:
| sudo apt update |
После выполнения указанных операций установка пакетов выполняется в обычном порядке.