Таблицы соответствия версий Astra Linux CE/Astra Linux SE и Debian можно посмотреть по ссылке: Дополнительные пакеты и СПО
Таблицы соответствия версий Astra Linux CE/Astra Linux SE и аппаратных платформ можно посмотреть по ссылке Таблица вариантов исполнения ОС СН «Astra Linux Special Edition».
Данная статья применима к:
- ОС ОН Орёл
- ОС СН Смоленск
Примечание
Все указанные в документе команды выполняются с правами администратора системы, то есть либо через команду sudo, либо в сессии администратора после выполнения команды
sudo -s
Установка пакетов при подключенном репозитории производится в терминале командой
Приоритеты репозиториев
Установщик по умолчанию, если иное не задано в файлах настройки приоритетов, старается устанавливать более новые версии пакетов.
При этом минорные изменения версий установщиком не учитываются, т.е.:
- При возможности установки пакетов paket_1.1.1-100 и paket_1.1.2-1 будет установлен paket_1.1.2;
- При возможности установки пакетов paket_1.1.1-1 и paket_1.1.1-100 будет установлен первый найденный в репозиториях вариант пакета.
Приоритеты выбора репозиториев задаются в каталоге /etc/apt/preferences/d/ или в файле /etc/apt/preferences (устаревший способ).
Подробности см. по ссылке
Если приоритеты выбора репозитория не заданы явно, то
- неподписанные репозитории имеют меньший приоритет, чем подписанные;
- репозитории обрабатываются в порядке их перечисления в конфигурационных файлах.
Проверить приоритеты репозиториев для конкретного пакета можно командой:
Подключение репозиториев ОС СН Astra Linux Special Edition - Смоленск
Подключение репозиториев на DVD дисках
вставить загрузочный диск в привод и выполнить команду:
sudo apt-cdrom add
sudo apt update
для подключения диска со средствами разработки нужно еще вставить диск со средствами разработки и выполнить команду:
sudo apt-cdrom add
sudo apt update
Подключение образов ОС СН Смоленск скопированных на локальный жесткий диск
создать копию DVD диска на локальном жестком диске можно выполнив команду:
dd if=/dev/cdrom of=/opt/cd.iso bs=1M
Смонтировать iso файл в выбранную папку можно выполнив команду:
sudo mount -o loop /opt/cd.iso /opt/repo
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
deb file:///<папка с основным диском> smolensk contrib main non-free # для разработчиков нужно добавить еще одну строку: deb file:///<папка с диском для разработчиков> smolensk contrib main non-free
Подключение репозиториев ОС ОН Astra Linux Common Edition Орел
Структура репозиториев ОС ОН Astra Linux Common Edition Орёл
Ветка | Путь | Описание |
---|---|---|
current | https://download.astralinux.ru/astra/current/orel/repository | Репозиторий с актуальными версиями пакетов. Обычно совпадает с репозиторием stable. |
stable | https://download.astralinux.ru/astra/stable/orel/repository | Репозиторий с актуальными стабильными версиями пакетов. Для находящихся в экуплуатации систем рекомендуется использовать именно этот репозиторий. |
frozen | https://download.astralinux.ru/astra/frozen/orel-1.11/repository https://download.astralinux.ru/astra/frozen/orel-2.12/repository | В данных репозиториях размещены архивные версии ОС ОН Орёл (на момент написания статьи - версии Орёл 1.11 и Орёл 2.12). Использование этих репозиториев лишает Вас возможности получать критические обновления, в том числе обновления безопасности! Актуальный репозиторий находится в ветке stable. |
testing | https://download.astralinux.ru/astra/testing/orel/repository | Репозиторий с новыми (тестируемыми) версиями пакетов. |
Подключение репозиториев текущей версии orel-stable- 2.12
Убедитесь, что у вас установлен пакет apt-transport-https, обеспечивающий возможность загрузки пакетов из репозиториев по защищенному протоколу HTTPS.
Если нет - то установите его:
sudo apt install apt-transport-https
В /etc/apt/sources.list прописать путь к основному репозиторию (stable):
deb https://download.astralinux.ru/astra/stable/orel/repository orel contrib main non-free
Или, по необходимости, к репозиторию current или testing:
deb https://download.astralinux.ru/astra/current/orel/repository orel contrib main non-free или deb https://download.astralinux.ru/astra/testing/orel/repository orel contrib main non-free
Далее выполнить:
Подключение сторонних репозиториев
Подключение репозиториев Debian 9 "Stretch":
Для ОС ОН Орёл 2.12.8 установить пакет dirmngr для управления ключами и пакет debian-archive-keyring, содержащий ключи к репозиториям Debian:
В /etc/apt/sources.list добавить ссылку на репозиторий Debian:
deb https://mirror.yandex.ru/debian/ stretch main contrib non-free
После добавления ссылки выполнить команду
Если пакет debian-archive-keyring не установлен, то команда сообщит, что не может проверить подписи репозитория, и сообщит, какие именно ключи нужны для проверки.
Пример сообщения ниже, отпечатки ключей выделены жирным шрифтом:
....
Чтение списков пакетов… Готово
W: Ошибка GPG: http://mirror.yandex.ru/debian stretch Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010 NO_PUBKEY EF0F382A1A7B6500
E: Репозиторий «http://mirror.yandex.ru/debian stretch Release» не подписан.
N: Обновление из этого репозитория нельзя выполнить безопасным способом, и поэтому по умолчанию он отключён.
N: Смотрите справочную страницу apt-secure(8) о создании репозитория и настройке пользователя.
На момент написания этой статьи к репозиторию Stretch относится третий, последний отпечаток.
Для того, чтобы установить ключ проверки подлинности:
- Установите пакет dirmngr (если он ранее не установлен) и
- Используйте команду apt-key с указанием нужного отпечатка:
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net EF0F382A1A7B6500
можно попробовать:
- Временно изменить настройки DNS, оставив только сервер DNS 8.8.8.8, после чего попробовать получить ключи вышеуказанной командой.
После успешного получения ключей настройки можно восстановить. Попробовать получить ключи от других серверов, входящих в пул keys.gnupg.net.
Актуальный список этих серверов доступен через WEB-интерфейс сайта keys.gnupg.net, пункт "About" в нижней части экрана.
На момент написания статьи список такой:- pool.sks-keyservers.net
- na.pool.sks-keyservers.net
- eu.pool.sks-keyservers.net
- oc.pool.sks-keyservers.net
- p80.pool.sks-keyservers.net
- ipv4.pool.sks-keyservers.net
- ipv6.pool.sks-keyservers.net
- subset.pool.sks-keyservers.net
Кроме того, можно попробовать получить ключ через WEB-интерфейс по адресу репозитория (keys.gnupg.net), указав в поле поиска код ключа в виде 0xE1F958385BFE2B6E (т.е. с лидирующими символами 0x),
открыть ключ в браузере, сохранить в текстовом файле на локальной машине и импортировать командойsudo apt-key add ИМЯ_ФАЙЛА.
После установки ключа репозитория обновите список пакетов:
Проверить список установленных ключей можно командой
Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ 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
далее в терминале выполнить:
Подключение репозитория с пакетами из проекта debian (wheezy)
Процедура получения ключа для репозитория Wheezy в целом аналогична процедуре для Stretch (см. выше), отличаются только строка с адресом репозитория и ключ.
В /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
deb https://mirror.yandex.ru/debian/ wheezy contrib main non-free
далее в терминале выполнить:
И, если пакеты с ключами ранее не установлены, по полученной подсказке получить ключи для репозитория.
Ключ (на момент написания этой статьи) следует получать по отпечатку 6FB2A1C265FFB764:
sudo apt install dirmngr
sudo apt-key adv --recv-keys --keyserver keys.gnupg.net 6FB2A1C265FFB764
Подключение репозиториев скопированных на локальный жесткий диск
Репозитории в локальной папке
Для установки из репозиториев, находящихся в локальной папке
(нет доступа в интернет или нужна локальная копия)
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
deb file:///<папка> orel contrib main non-free
Репозитории в скачанном образе .iso
Смонтировать образ:
sudo mount -o loop <name.iso> /opt/repo
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
deb file:///opt/repo orel contrib main non-free
После внесения изменений в /etc/apt/sources.list обновить списки источников:
Для автоматического монтирования образа добавить в файл /etc/fstab строку вида:
Подключение репозиториев Debian из закрытой сети
В ситуации, когда репозиторий Debian доступен через прокси (зеркало), а сервер ключей при этом недоступен, ключи репозитория можно отдельно скачать с сервера keys.gnupg.net (или с сервера keyserver.ubuntu.com).
Сервер ключей обеспечивает поиск ключа по отпечатку ключа, и предоставляет возможность сохранить ключ в обычный текстовый файл.
Сохранённые файлы ключей следует скопировать на компьютер, на котором должна выполняться установка пакетов, и установить ключи из скопированного файла:
Сценарий создания собственного простого репозитория
Данный сценарий позволяет создать собственный репозиторий из произвольного набора ранее скачанных пакетов формата deb (двоичных пакетов Debian).
Сценарий позволяет указать в качестве аргумента вызова версию релиза (orel, smolensk и т.д.) для создания репозитория, если никакая версия не указана - то используется текущий релиз системы.
Репозиторий создаётся в текущем каталоге.
После завершения создания репозитория в текущем каталоге создаётся файл со строкой-ссылкой на созданный репозиторий для списка источников пакетов.
Порядок применения:
Установить необходимые для создания репозитория пакеты, если они не были установлены ранее:
sudo apt install dpkg-dev apt-utilsСохранить сценарий в файле с именем, например, create-flat-repo:
#!/bin/bash
if [ "$1" != "a" ] ; then
CODENAME=$1
else
CODENAME=$(cat /etc/lsb-release|grep "DISTRIB_CODENAME="|sed "s/DISTRIB_CODENAME=//")
fiif [ "$CODENAME" == "2" ] ; then
echo укажите Codename
exit 1
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
cd dists/$CODENAME
echo "Origin: Debian" >> Release
echo "Suite: unstable" >> Release
echo "Codename: $CODENAME" >> Release
echo "Version: $V" >> Release
echo "Architectures: $ARCH" >> Release
echo "Components: main" >> Releaseapt-ftparchive release . >> Release
cd ../..
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Разрешить выполнение созданного файла:
chmod +x create-flat-repo- Скопировать (загрузить) в текущий каталог пакеты .deb, которые предполагается включить в создаваемый репозиторий;
Выполнить сценарий:
./create-flat-repoПо необходимости переместить или скопировать созданный файл .list в каталог списков источников пакетов /etc/apt/sources.list.d/ и обновить списки пакетов:
sudo cp *.list /etc/apt/sources.list.d/
sudo apt update
После выполнения указанных операций установку пакетов из созданного репозитория можно будет выполнять стандартной командой: