Подробный гайд по /etc/apt/sources.list в Astra Linux
Файл /etc/apt/sources.list — основной конфигурационный файл менеджера пакетов APT в Debian-совместимых дистрибутивах, включая Astra Linux (Common Edition и Special Edition). Он определяет, откуда система загружает пакеты, обновления и зависимости.
Важно для Astra Linux SE: В защищённых редакциях изменение источников пакетов может нарушить аттестацию, мандатный контроль и политику безопасности. Всегда согласовывайте изменения с администратором ИБ или используйте только официально предоставленные репозитории.
1. Синтаксис и структура строки
Каждая активная строка имеет формат:
тип [опции] URL дистрибутив компонент1 компонент2 ...
| Элемент | Описание |
|---|---|
тип |
deb (бинарные пакеты) или deb-src (исходные коды) |
[опции] |
Необязательно: arch=amd64, signed-by=..., trusted=yes и т.д. |
URL |
Адрес репозитория (http/https/file/ftp) |
дистрибутив |
Кодовое имя выпуска (например, orel, smolensk, stable, bookworm) |
компоненты |
main, contrib, non-free, updates, security и др. |
Пример:
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository orel main contrib non-free
Строки, начинающиеся с #, игнорируются (комментарии).
2. Официальные репозитории Astra Linux
Структура зависит от редакции и версии. Ниже приведены типовые шаблоны для Astra Linux CE/SE 1.7/1.8:
Common Edition (Orel)
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository orel main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository orel-updates main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository orel-security main contrib non-free
Special Edition (Smolensk / Voronezh)
Для SE используются закрытые или лицензированные зеркала.
Обычно путь выглядит так:
deb https://mirror.astralinux.ru/astra/se/1.7_x86-64/repository smolensk main
Доступ часто требует предварительной регистрации, лицензии внутри защищённого контура. Точные URL выдаются в договоре технической поддержки.
3. Безопасное редактирование
1. Сделайте резервную копию:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup.$(date +%F)
2. Откройте файл с правами root:
sudo nano /etc/apt/sources.list
# или
sudoedit /etc/apt/sources.list
3. В Astra Linux SE с включённым мандатным контролем (Parsec) прямое редактирование может быть заблокировано. Используйте:
- Утилиту
fly-admin(графический менеджер пакетов в CE) - Команду
sudo -iдля получения полной сессии root - Обращение к администратору ИБ для временного изменения политик
4. Добавление сторонних репозиториев (Рекомендуемый способ)
Не редактируйте sources.list напрямую для сторонних источников.
Используйте директорию /etc/apt/sources.list.d/:
sudo nano /etc/apt/sources.list.d/example.list
Содержимое:
deb [arch=amd64 signed-by=/usr/share/keyrings/example.gpg] https://example.com/repo stable main
Добавление GPG-ключа (современный способ)
apt-key признан устаревшим. Используйте изолированные ключи:
# 1. Скачайте ключ
wget -O example.gpg https://example.com/repo/key.gpg
# 2. Преобразуйте в бинарный формат (если нужно)
gpg --dearmor < example.gpg > /usr/share/keyrings/example.gpg
# 3. Укажите в sources-файле
deb [signed-by=/usr/share/keyrings/example.gpg] https://example.com/repo stable main
5. Обновление списка пакетов
После любых изменений выполните:
sudo apt update
Успешный вывод:
- Reading package lists... Done + список загруженных репозиториев.
Ошибки:
- W: GPG error, E: Failed to fetch, 404 Not Found → см. раздел troubleshooting ниже.
Для установки обновлений:
sudo apt upgrade # безопасное обновление
sudo apt dist-upgrade # обновление с учётом зависимостей и новых пакетов
В Astra Linux SE рекомендуется использовать
apt-getвместоaptв скриптах автоматизации, так как выводaptстабилен, но не предназначен для парсинга.
6. Типичные ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
NO_PUBKEY XXXXXXXX |
Отсутствует GPG-ключ репозитория | Добавьте ключ через signed-by (см. выше) |
404 Not Found |
Неверный URL, код дистрибутива или зеркало недоступно | Проверьте официальный документ Astra, используйте актуальное зеркало |
The repository is not signed |
Репозиторий без подписи или trusted=yes без необходимости |
Добавьте корректный ключ или уберите trusted=yes |
Конфликты пакетов при upgrade |
Смешаны репозитории Astra и Debian/Ubuntu | Уберите сторонние источники, очистите кэш: sudo apt clean && sudo apt update |
W: Target Packages is configured multiple times |
Дублирующиеся строки в sources.list или *.list |
Найдите дубли: grep -r "deb " /etc/apt/sources.list /etc/apt/sources.list.d/ |
7. Особенности безопасности и сертификации Astra Linux
- Аттестованные сборки поставляются с фиксированным набором репозиториев. Их изменение аннулирует соответствие требованиям ФСТЭК/Минобороны.
- Мандатный контроль доступа (MAC) в SE может блокировать запись в
/etc/apt/или запускapt updateиз пользовательских сессий.
3. Изолированные сети: для автономных контуров рекомендуется разворачивать локальное зеркало:
sudo apt install apt-mirror
# настройка /etc/apt/mirror.list
sudo apt-mirror
- Проверка целостности: Astra Linux использует
dpkg-sigиgpgvдля проверки подписей пакетов. Не отключайте проверку без крайней необходимости.
8. Лучшие практики
| Практика | Описание |
|---|---|
Используйте sources.list.d/ |
Изолируйте сторонние источники, упрощает поддержку |
| Всегда проверяйте GPG | Не используйте trusted=yes без понимания рисков |
| Регулярно обновляйте | apt update && apt upgrade не реже раза в неделю (в контурах с интернетом) |
| Документируйте изменения | Фиксируйте дату, причину и добавленные репозитории |
| Тестируйте в песочнице | Перед внедрением проверяйте на тестовой ВМ той же редакции |
| Не смешивайте ветки | Astra 1.7 ≠ 1.8 ≠ Debian 12. Совместимость не гарантируется |
Полезные команды для диагностики
# Показать активные источники
grep -r ^deb /etc/apt/sources.list /etc/apt/sources.list.d/
# Проверить доступность репозитория
apt-cache policy
# Очистить кэш APT
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
# Просмотр установленных пакетов из конкретного репозитория
apt list --installed | grep -i repo_name
Заключение
/etc/apt/sources.list в Astra Linux управляется по тем же принципам, что и в Debian, но требует учёта:
- официальных URL, предоставленных разработчиком,
- требований информационной безопасности (особенно в SE),
- современных практик работы с GPG и
sources.list.d/.
При работе в сертифицированных контурах всегда согласовывайте изменения репозиториев с отделом ИБ и используйте только доверенные зеркала.