Предупреждение |
---|
Установка пакетов из сторонних репозиториев (включая репозиторий Debian) может привести к нарушению работы ОС, и делается на свой страх и риск. Техническая поддержка по вопросам, связанным с пакетами, установленными из сторонних репозиториев не оказывается. При установке пакетов из сторонних репозиториев необходимо соблюдать требования эксплуатационной документации, см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition |
Оглавление |
---|
См. также:
Предупреждение |
---|
Не забывайте удалять сторонние репозитории после завершения их использования. |
Информация | ||
---|---|---|
| ||
|
Информация |
---|
Таблицы соответствия версий Astra Linux CE/Astra Linux SE и Debian |
...
доступны по ссылке: Таблицы соответствия версий Astra Linux CE/Astra Linux SE и аппаратных платформ |
...
доступны по ссылке: |
Примечание | ||
---|---|---|
| ||
Все |
...
команды, которые вносят изменения в систему, выполняются:
То есть, |
...
команды выполняются:
|
...
|
Установка пакетов при подключенном репозитории производится в терминале командой:
Command |
---|
sudo apt |
...
install <имя пакета>... |
также установка пакетов и настройка репозиториев может производиться
...
Подключение репозиториев ОС СН Astra Linux Special Edition - Смоленск
Подключение репозиториев на DVD дисках
...
с помощью Графический менеджер пакетов synaptic.
Описание структуры Интернет-репозиториев на dl.astralinux.ru и его зеркалах
Описания структуры Интернет-репозиториев на 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, применяются только в случае, если обнаружено несколько разных версий пакета. Если обнаружено несколько репозиториев, содержащих одинаковые версии пакета, то пакет будет установлен из первого обнаруженного репозитория независимо от приоритетов репозиториев. |
Если приоритеты выбора репозитория не заданы явно, то
неподписанные репозитории имеют меньший приоритет, чем подписанные;
репозитории обрабатываются в порядке их перечисления в конфигурационных файлах;
- компоненты репозиториев обрабатываются в порядке их перечисления.
Проверить приоритеты репозиториев для конкретного пакета можно командой:
Command |
---|
apt-cache policy <имя_пакета> |
В Astra Linux используются следующие приоритеты:
- Astra Linux Special Edition x.7 - файл /etc/apt/preferences.d/smolensk - приоритет репозитория 900;
- Astra Linux Special Edition x.7 в состоянии совместимости с Astra Linux Common Edition (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования) - /etc/apt/preferences - приоритет компонента astra-ce расширенного репозитория 1001;
- Astra Linux Special Edition 1.6 с установленным обновлением БЮЛЛЕТЕНЬ № 20211126SE16 (оперативное обновление 1.6.10) и более поздними обновлениями - /etc/apt/preferences.d/smolensk - приоритет репозитория 900;
Astra Linux Common Edition - файл /etc/apt/preferences.d/orel - приоритет репозитория 900;
Подключение репозиториев
Указание репозиториев
Для того, чтобы указать программам - установщикам пакетов репозитории, из которых будут загружаться устанавливаемые пакеты, следует для каждого репозитория сформировать строку вида:
Блок кода |
---|
deb <путь_к_корневому_каталогу_репозитория> <код_дистрибутива> <список_компонент> |
Эти строки добавить в файл /etc/apt/sources.list или в файлы с произвольными именами и расширением .list, расположенные в каталоге /etc/apt/sources.list.d.
После каждого внесения изменений в файлы с описанием репозиториев следует обновить списки пакетов:
Command | ||||
---|---|---|---|---|
|
...
apt-cdrom add
apt-get update
...
sudo apt update |
Подключение репозиториев на оптических дисках
Информация |
---|
Использовать репозитории на оптических дисках не рекомендуется, так как работа с ними сложна и неудобна. Рекомендованным вариантом является использование сетевых репозиториев или репозиториев в локальной файловой системе (см. Создание локальных и сетевых репозиториев). |
Для подключения репозиториев на оптических дисках:
Установить диск в привод и выполнить команды:
Command borderColor #c2e6ff bgColor #e2f3ff sudo apt-cdrom add
sudo apt
...
Подключение образов ОС СН Смоленск скопированных на локальный жесткий диск
...
update
Указанную процедуру повторить для каждого используемого диска. В дальнейшем для установки пакетов нужно будет устанавливать (заменять в приводе) зарегистрированные диски по мере необходимости.
Монтирование дисков с репозиториями
Установочные диски Astra Linux имеют формат репозиториев. Это позволяет использовать их в качестве репозиториев. Для использования диска его нужно либо примонтировать, либо скопировать.
Смонтировать диск, установленный в привод, можно командой:
Command | ||||
---|---|---|---|---|
|
...
sudo mount <имя_устройства> <каталог_монтирования> |
Например, для монтирования диска в устройстве /dev/cdrom
...
или просто скопировав содержимое диска в выбранную папку.
...
в каталог /mnt:
Command | ||||
---|---|---|---|---|
| ||||
sudo mount |
...
/ |
...
dev/ |
...
cdrom /mnt |
Для обозначения примонтированных образов или скопированных репозиториев в описании пути к репозиторию применяется тег "file://" или "file:". С учетом того, что путь обычно начинается от корневого каталога допустимы две формы:
Блок кода | ||
---|---|---|
| ||
deb file:/// |
...
<путь> ...
deb file:/<путь> ... |
Строка определения для репозитория в каталоге /mnt будет выглядеть так:
Блок кода |
---|
deb file:/// |
...
mnt |
...
<код_дистрибутива> <список_компонент> |
Копирование дисков как ISO-образов
Информация |
---|
Перед копированием данных на локальный жесткий диск рекомендуется убедиться, что в файловой системе достаточно свободного места. См. Анализ и оптимизация заполнения дискового пространства. |
Копию оптического диска (например, в устройстве /dev/cdrom) в виде ISO-образа в файле можно создать выполнив команду:
Command | ||||
---|---|---|---|---|
|
...
apt-get update
Подключение репозиториев ОС ОН Astra Linux Common Edition Орел
Структура репозиториев ОС ОН Astra Linux Common Edition Орёл
...
sudo dd if=/dev/cdrom of=<имя_файла_с_образом_диска> bs=1M |
Подключение ISO-образов как репозиториев
Смонтировать файл с ISO-образом в выбранный каталог можно такой же командой, как и устройство, указав вместо имени устройства имя файла:
Command | ||||
---|---|---|---|---|
| ||||
sudo mount <имя_файла_с_образом_диска> <каталог_монтирования> |
Для автоматического монтирования сохраненного ISO-образа добавить в файл /etc/fstab строку вида:
Информация |
---|
<полное_имя_файла_с_образом> /opt/repo iso9660 defaults,nofail 0 0 |
Опция монтирования nofail требуется для того, чтобы загрузка ОС не прекращалась при отсутствии файла с ISO-образом.
Копирование файловой системы дисков или ISO-образов
Информация |
---|
В сети Интернет встречается рекомендация извлекать файлы из ISO-образов архиватором 7zip (команда 7z). Так делать не рекомендуется, так как архиватор неверно извлекает файлы, являющиеся ссылками на другие файлы. |
Для того, чтобы извлечь файлы с диска или из ISO-образа следует примонтировать диск (ISO-образ) и выполнить копирование в обычном порядке. Например:
Монтирование:
Command borderColor #c2e6ff bgColor #e2f3ff sudo mount <имя_файла_с_образом_диска> <каталог_монтирования>
Копирование:
Command borderColor #c2e6ff bgColor #e2f3ff sudo cp -r <каталог_монтирования>/* <целевой_каталог>
Строка определения для репозитория в каталоге /mnt будет выглядеть так:
Блок кода |
---|
deb file:///<целевой каталог> <код_дистрибутива> <список_компонент> |
Подключение сетевых репозиториев
Для сетевых репозиториев в описании пути к репозиторию применяется тег, указывающий протокол подключения:
- http:// — протокол HTTP (используется в Интернет-репозиториях Astra Linux);
- https:// — протокол HTTPS (используется в Интернет-репозиториях Astra Linux);
- ftp:// — протокол FTP (не используется в Интернет-репозиториях Astra Linux);
Пример указания сетевого репозитория, работающего по протоколу HTTPS:
Command |
---|
deb https://dl |
...
...
В данных репозиториях размещены архивные версии ОС ОН Орёл (на момент написания статьи - версии Орёл 1.11 и Орёл 2.12).
Использование этих репозиториев лишает Вас возможности получать критические обновления, в том числе обновления безопасности!
Актуальный репозиторий находится в ветке stable.
stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free |
Для использования сетевых репозиториев, работающих по протоколу HTTPS необходимо, чтобы в системе был установлен пакет apt-transport-https и пакет ca-certificates. Проверить наличие пакетов можно командой:
Command |
---|
apt policy apt-transport-https ca-certificates |
Для установки из сетевых репозиториев указанных пакетов в случае их отсутствия:
Временно сменить протокол интернет-репозиториев в файле /etc/apt/source.list на протокол http. Пример указания репозитория с использованием протокола http:
Command deb http://dl
...
...
Подключение репозиториев текущей версии orel-stable- 2.12
Убедитесь, что у вас установлен пакет apt-transport-https, обеспечивающий возможность загрузки пакетов из репозиториев по защищенному протоколу HTTPS.
Если нет - то установите его:
Информация |
---|
apt install apt-transport-https |
...
stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free Обновить список доступных для установки пакетов:
Command sudo apt update Установить пакеты apt-transport-https и ca-certificates командой:
Command sudo apt install apt-transport-https ca-certificates Сменить протокол интернет-репозиториев в /etc/apt/
...
source.list на https;
Повторно обновить список доступных для установки пакетов:
Command sudo apt update
Определения репозиториев также могут быть указаны файлах, расположенных в каталоге
...
/etc/apt/sources.list
...
deb https://download.astralinux.ru/astra/stable/orel/repository orel contrib main non-free
.d/. Файлы могут иметь произвольное имя c обязательным расширением ".list".
После внесения изменений в определения репозиториев обновить списки пакетов:
Command |
---|
sudo apt update |
Примеры подключения сторонних репозиториев
Подключение репозиториев Debian
С установкой пакета debian-archive-keyring
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) и Astra Linux Common Edition
- Для Astra Linux Special Edition РУСБ.10015-10 (очередное обновление 1.7) подключить расширенный репозиторий, компонент репозитория main или если установлено оперативное обновление БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4) или более позднее - подключить компонент backports. Для Astra Linux Common Edition можно использовать Интернет-репозиторий.
Обновить кеш пакетов:
Command sudo apt update Установить пакет debian-archive-keyring:
Command sudo apt install debian-archive-keyring Добавить описание репозиториев, например, в файл
Или, по необходимости, к репозиторию current или testing:
...
/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
- В зависимости от поставленных задач использования подключенного репозитория дополнительно для Astra Linux Common Edition может понадобиться отменить приоритет репозитория Astra Linux Common Edition, для чего удалить файл
/etc/apt/preferences.d/orel (или изменить в нем приоритет репозитория);
Обновить кеш пакетов
...
:
Command sudo apt update
...
Обновление системы:
Command |
---|
sudo apt-get dist-upgrade |
Подключение сторонних репозиториев
Подключение репозиториев Debian 9 "Stretch":
...
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Пакет debian-archive-keyring может быть установлен из репозитория Astra Linux Common Edition:
после подключения репозитория Astra Linux Common Edition - командами:
Command sudo apt update
sudo apt install debian-arhive-keyringили без подключения репозитория Astra Linux Common Edition командами:
Command wget https://dl.astralinux.ru/astra/stable/2.12_x86-64/repository/pool/main/d/debian-keyring/debian-keyring_2017.05.28_all.deb
sudo apt install ./debian-archive-keyring_*_all.debВ примере указана версия пакета, доступная на момент обновления настоящей статьи, при изменении версии команда должна быть откорректирована.
Для Astra Linux Common Edition 2.12
Установить пакет dirmngr для управления ключами и пакет debian-archive-keyring, содержащий ключи к репозиториям Debian:
Command sudo apt install debian-archive-keyring dirmngr
В файл /etc/apt/sources.list добавить ссылку на репозиторий Debian:
Блок кода title /etc/apt/sources.list deb https://
...
archive.
...
debian.
...
org/debian/ stretch main contrib non-free
После добавления ссылки выполнить команду:
Command sudo apt update
Если
...
пакет debian-archive-keyring установлен, то команда должна отработаться без ошибок.
Если
...
пакет debian-archive-keyring не установлен, то команда сообщит, что не может проверить подписи репозитория, и сообщит, какие именно ключи нужны для проверки.
Пример сообщения ниже, отпечатки ключей выделены жирным шрифтом:Информация ....
Чтение списков пакетов…
...
Готово
W: Ошибка GPG: http://
...
archive.
...
debian.
...
org/debian stretch Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010 NO_PUBKEY EF0F382A1A7B6500
E: Репозиторий «http://
...
archive.
...
debian.
...
org/debian stretch Release» не подписан.
N: Обновление из этого репозитория нельзя выполнить безопасным способом, и поэтому по умолчанию он отключён.
N: Смотрите справочную страницу apt-secure(8) о создании репозитория и настройке пользователя.На момент написания этой статьи к репозиторию Stretch относится третий, последний отпечаток.
...
Без установки пакета debian-archive-keyring
Установить ключ проверки подлинности репозитория:
...
Установить пакет dirmngr (если он ранее не был установлен)
...
:
Command sudo apt install dirmngr
Для получения ключа:
Вариант 1. При наличии доступа к сети Интернет использовать
...
команду apt-key с указанием нужного отпечатка ключа:
Command
...
sudo apt-key adv --recv-keys --keyserver keyserver
...
...
...
com EF0F382A1A7B6500
Если сервер keys.gnupg.net не отвечает или выдаёт ошибку вида "gpg: сбой при получении с сервера ключей: Нет данных" ,
можно попробовать:
...
Попробовать получить ключи от других серверов, входящих в пул keys.gnupg.net.
Актуальный список этих серверов доступен через WEB-интерфейс сайта keys.gnupg.net, пункт "About" в нижней части экрана.
На момент написания статьи список такой:
Информация |
---|
...
Вариант 2. Для работы в закрытой сети можно получить ключ через WEB-интерфейс на подключенной к Интернет машине по адресу репозитория (
...
...
...
com),
...
указав в поле поиска код ключа в виде 0xE1F958385BFE2B6E (т.е. с лидирующими символами 0x и без лидирующих и завершающих пробелов),
...
открыть ключ в WEB-браузере, копировать и сохранить в текстовом файле на локальной машине. Сохраненный ключ перенести на нужную машину и импортировать командой:
Command
...
sudo apt-key add
...
<имя_файла_с_ключом>
После установки ключа репозитория
...
обновить список пакетов:
Command sudo apt update
Ключ репозитория Stretch действителен до 2025-го года, если установлен пакет debian-archive-keyring ключи будут обновляться автоматически по мере обновления пакета.
...
Проверить список установленных ключей можно командой
...
Command |
---|
...
apt-key list |
Предупреждение |
---|
...
Использовать подключенный репозиторий можно и |
...
не имея ключей, однако данный способ не рекомендуется к применению, так как при этом проверка подлинности данных, получаемых из репозитория, становится невозможной. |
...
Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ trusted=yes:
|
...
|
...
|
Подключение репозитория выпуска orel-frozen - 1.11
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
Блок кода | ||
---|---|---|
| ||
deb https://mirror.yandex.ru/astra/frozen/orel-1.11/repository orel main contrib non-free
deb https://mirror.yandex.ru/astra/frozen/orel-1.11/repository-update orel main contrib non-free |
далее в терминале выполнить:
Command | ||||
---|---|---|---|---|
| ||||
sudo su apt-get update |
Для обновления дистрибутива:
Command |
---|
apt-get update && apt-get dist-upgrade |
Подключение репозитория с пакетами из проекта debian (wheezy)
Процедура получения ключа для репозитория Wheezy в целом аналогична процедуре для Stretch (см. выше), отличаются только строка с адресом репозитория и ключ.
В /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
Блок кода | ||
---|---|---|
| ||
deb https://mirror.yandex.ru/debian/ wheezy contrib main non-free |
далее в терминале выполнить:
панель | ||||
---|---|---|---|---|
| ||||
sudo su apt-get update |
И, если пакеты с ключами ранее не установлены, по полученной подсказке получить ключи для репозитория.
Ключ (на момент написания этой статьи) следует получать по отпечатку 6FB2A1C265FFB764:
Информация |
---|
sudo apt install dirmngr |
Подключение репозиториев Орла скопированных на локальный жесткий диск
для установки из репозиториев которые находятся в локальной папке
(нет доступа в интернет или нужна локальная копия)
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
Блок кода | ||
---|---|---|
| ||
deb file:///<папка> orel contrib main non-free |
панель | ||||
---|---|---|---|---|
| ||||
apt-get update apt-get install <name> |
для установки из скачанного iso образа:
Смонтированить образ:
панель | ||||
---|---|---|---|---|
| ||||
sudo su mkdir /opt/repo mount -o loop <name.iso> /opt/repo |
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
Блок кода | ||
---|---|---|
| ||
deb file:///opt/repo orel contrib main non-free |
панель | ||||
---|---|---|---|---|
| ||||
apt-get update |
Подключение репозиториев Debian из закрытой сети
В ситуации, когда репозиторий Debian доступен через прокси (зеркало), а сервер ключей при этом недоступен, ключи репозитория можно отдельно скачать с сервера keys.gnupg.net (или с сервера keyserver.ubuntu.com).
Сервер ключей обеспечивает поиск ключа по отпечатку ключа, и предоставляет возможность сохранить ключ в обычный текстовый файл.
Сохранённые файлы ключей следует скопировать на компьютер, на котором должна выполняться установка пакетов, и установить ключи из скопированного файла:
...
Сценарий создания собственного простого репозитория
Данный сценарий позволяет создать собственный репозиторий из произвольного набора ранее скачанных пакетов формата deb (двоичных пакетов Debian). Сценарий позволяет указать в качестве аргумента вызова код дистрибутива (orel, smolensk и т.д.), а если никакая версия не указана - то используется код текущей системы. Репозиторий создается в текущем каталоге. Дополнительно после завершения создания репозитория в текущем каталоге создается файл со строкой-ссылкой на созданный репозиторий для списка источников пакетов.
Порядок применения:
Установить необходимые для создания репозитория пакеты, если они не были установлены ранее:
Command sudo apt install dpkg-dev apt-utils
Создать каталог, в котором будет размещён репозиторий, и перейти в этот каталог, например, каталог /opt/repo:
Информация sudo mkdir /opt/repo
cd /opt/repoСохранить сценарий в файле с именем, например, create-flat-repo:
Информация #!/bin/bash
CODENAME="${1:-`sed -n "s/^DISTRIB_CODENAME=//p" /etc/lsb-release`}"
if [ -z "$CODENAME" ] ; then
echo "Имя дистрибутива не определено, укажите вручную как аргумент команды"
exit 1
else
echo "Имя дистрибутива определено как \"$CODENAME\""
fiV=1.0
ARCH=$(dpkg-architecture -q DEB_BUILD_ARCH)
mkdir -p dists/$CODENAME/main/binary-$ARCH
dpkg-scanpackages -a $ARCH . > dists/$CODENAME/main/binary-$ARCH/Packages
echo -e "Origin: Debian\nSuite: unstable\nCodename: $CODENAME\nVersion: $V\nArchitectures: $ARCH\nComponents: main" > dists/$CODENAME/Release
apt-ftparchive release . >> dists/$CODENAME/Release
dpath=$(readlink -f .)
echo deb [trusted=yes arch=$ARCH] file:$dpath $CODENAME main > $CODENAME.list
#echo deb [trusted=yes arch=$ARCH] file:$dpath $CODENAME main > /etc/apt/sources.list.d/$CODENAME.listРазрешить выполнение созданного файла:
Command sudo chmod +x create-flat-repo
Скопировать (загрузить) в текущий каталог пакеты .deb, которые предполагается включить в создаваемый репозиторий;
Выполнить сценарий:
Информация sudo ./create-flat-repo
По необходимости переместить или скопировать созданный файл .list в каталог списков источников пакетов /etc/apt/sources.list.d/ и обновить списки пакетов:
Command sudo cp *.list /etc/apt/sources.list.d/
sudo apt update
После выполнения указанных операций установку пакетов из созданного репозитория можно будет выполнять стандартной командой:
Command |
---|
sudo apt install <имя_пакета> |
Решение проблемы одинаковых версий пакетов при подключении нескольких репозиториев
При смене репозиториев установка пакетов может затрудняться тем, что в используемых репозиториях оказываются пакеты с одинаковыми версиями.
Для устранения этой проблемы (и, возможно, в качестве профилактической меры при частой смене репозиториев) следует:
Очистить сохраненные списки пакетов, содержащие информации о ранее использовавшихся репозиториях:
Command sudo rm -rf /var/lib/apt/lists/* Обновить списки пакетов в соответствии с актуальным списком репозиториев:
Command sudo apt update
После выполнения указанных операций установка пакетов выполняется в обычном порядке.