Предупреждение |
---|
Установка пакетов из сторонних репозиториев (включая репозиторий Debian) может привести к нарушению работы ОС, и делается на свой страх и риск. Техническая поддержка по вопросам, связанным с пакетами, установленными из сторонних репозиториев не оказывается. При установке пакетов из сторонних репозиториев необходимо соблюдать требования эксплуатационной документации, см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition |
Оглавление |
---|
См. также:
Предупреждение |
---|
Не забывайте удалять сторонние репозитории после завершения их использования. |
Информация | ||
---|---|---|
| ||
|
Информация |
---|
Таблицы соответствия версий Astra Linux CE/Astra Linux SE и Debian |
...
доступны по ссылке: Таблицы соответствия версий Astra Linux CE/Astra Linux SE и аппаратных платформ доступны по ссылке: |
Примечание | ||
---|---|---|
| ||
Все |
...
команды, которые вносят изменения в систему, выполняются:
|
...
То есть, команды выполняются:
|
Установка пакетов при подключенном репозитории производится в терминале командой:
Command |
---|
sudo apt |
...
install <имя пакета>... |
также установка пакетов и настройка репозиториев может производиться
...
Подключение репозиториев ОС СН AstraLinux 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 | ||||
---|---|---|---|---|
| ||||
sudo apt update |
Подключение репозиториев на оптических дисках
Информация |
---|
Использовать репозитории на оптических дисках не рекомендуется, так как работа с ними сложна и неудобна. Рекомендованным вариантом является использование сетевых репозиториев или репозиториев в локальной файловой системе (см. Создание локальных и сетевых репозиториев). |
Для подключения репозиториев на оптических дисках:
Установить диск в привод и выполнить команды:
Command borderColor #c2e6ff bgColor #e2f3ff sudo apt-cdrom add
sudo apt
...
update
...
Указанную процедуру повторить для каждого используемого диска. В дальнейшем для установки пакетов нужно будет устанавливать (заменять в приводе) зарегистрированные диски по мере необходимости.
Монтирование дисков с репозиториями
Установочные диски Astra Linux имеют формат репозиториев. Это позволяет использовать их в качестве репозиториев. Для использования диска его нужно либо примонтировать, либо скопировать.
Смонтировать диск, установленный в привод, можно командой:
Command | ||||
---|---|---|---|---|
| ||||
sudo mount <имя_устройства> <каталог_монтирования> |
Например, для монтирования диска в устройстве /dev/cdrom в каталог /mnt:
Command | ||||
---|---|---|---|---|
|
...
apt-cdrom add
apt-get update
Подключение образов Смоленска скопированных на локальный жесткий диск
...
sudo mount /dev/cdrom /mnt |
Для обозначения примонтированных образов или скопированных репозиториев в описании пути к репозиторию применяется тег "file://" или "file:". С учетом того, что путь обычно начинается от корневого каталога допустимы две формы:
Блок кода | ||
---|---|---|
| ||
deb file:///<путь> ...
deb file:/<путь> ... |
Строка определения для репозитория в каталоге /mnt будет выглядеть так:
Блок кода |
---|
deb file:///mnt <код_дистрибутива> <список_компонент> |
Копирование дисков как ISO-образов
Информация |
---|
Перед копированием данных на локальный жесткий диск рекомендуется убедиться, что в файловой системе достаточно свободного места. См. Анализ и оптимизация заполнения дискового пространства. |
Копию оптического диска (например, в устройстве /dev/cdrom) в виде ISO-образа в файле можно создать выполнив команду:
Command | ||||
---|---|---|---|---|
| ||||
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.astralinux.ru/astra/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.astralinux.ru/astra/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
...
.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 Добавить описание репозиториев, например, в файл
...
/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
Для 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
Command | ||||
---|---|---|---|---|
| ||||
apt-get update |
Подключение репозиториев ОС ОН AstraLinux Common Edition Орел
Подключение репозиториев текущей версии orel-current - 2.12
Убедитесь, что у вас установлен пакет apt-transport-https, обеспечивающий возможность загрузки пакетов из репозиториев по защищенному протоколу HTTPS.
Если нет - то установите его:
Информация |
---|
apt install apt-transport-https |
В /etc/apt/sources.list прописать путь к основному репозиторию:
...
title | /etc/apt/sources.list |
---|
...
...
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 update |
...
:
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:
Информация |
---|
...
Вариант 2. Для работы в закрытой сети можно получить ключ через WEB-интерфейс на подключенной к Интернет машине по адресу репозитория (
...
...
...
com),
...
указав в поле поиска код ключа в виде 0xE1F958385BFE2B6E (
...
т.е. с лидирующими символами 0x и без лидирующих и завершающих пробелов),
...
открыть ключ в WEB-браузере, копировать и сохранить в текстовом файле на локальной машине. Сохраненный ключ перенести на нужную машину и импортировать
...
командой:
Command sudo apt-key add
...
<имя_файла_с_ключом>
После установки ключа репозитория
...
обновить список пакетов:
Command sudo apt update
Ключ репозитория Stretch действителен до 2025-го года
...
, если установлен пакет debian-archive-keyring
...
Информация |
---|
sudo apt install debian-archive-keyring |
ключи будут обновляться автоматически по мере обновления пакета. Проверить список установленных ключей можно командой
...
Command |
---|
...
apt-key list |
...
Подключение репозитория выпуска orel-frozen - 1.11
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
...
title | /etc/apt/sources.list |
---|
...
Предупреждение | ||
---|---|---|
Использовать подключенный репозиторий можно и не имея ключей, однако данный способ не рекомендуется к применению, так как при этом проверка подлинности данных, получаемых из репозитория, становится невозможной. Для отключения проверки ключей в определении репозитория нужно указать дополнительный ключ trusted=yes:
|
...
|
Сценарий создания собственного простого репозитория
Данный сценарий позволяет создать собственный репозиторий из произвольного набора ранее скачанных пакетов формата 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
После выполнения указанных операций установка пакетов выполняется в обычном порядке.
далее в терминале выполнить:
Command | ||||
---|---|---|---|---|
| ||||
sudo su apt-get update |
Для обновления дистрибутива:
Command |
---|
apt-get update && apt-get dist-upgrade |
Подключение репозитория с пакетами из проекта debian (wheezy)
в /etc/apt/sources.list надо вписать строку(остальные строки убрать или закомментировать символом #):
Блок кода | ||
---|---|---|
| ||
deb https://mirror.yandex.ru/debian/ wheezy contrib main non-free |
далее в терминале выполнить:
панель | ||||
---|---|---|---|---|
| ||||
sudo su apt-get update |
И по полученной подсказке получить ключи для репозитория.
Процедура получения ключа для репозитория Wheezy полностью аналогична процедуре для Stretch (см. выше), только ключ (на момент написания этой статьи) следует получать по отпечатку 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).
Сервер ключей обеспечивает поиск ключа по отпечатку ключа, и предоставляет возможность сохранить ключ в обычный текстовый файл.
Сохранённые файлы ключей следует скопировать на компьютер, на котором должна выполняться установка пакетов, и установить ключи из скопированного файла:
...