Подробный гайд: deb путь_к_репозиторию 1.7_x86-64 main contrib non-free для APT-репозитория

Гайд по добавлению APT-репозитория в Debian/Ubuntu: настройка sources.list, импорт GPG-ключа, обновление пакетов и установка ПО

2026.05.13                  


Подробный гайд: deb путь_к_репозиторию 1.7_x86-64 main contrib non-free для APT-репозиторияПодробный гайд: deb путь_к_репозиторию 1.7_x86-64 main contrib non-free для APT-репозитория Строка deb <путь_к_репозиторию> 1.7_x86-64 main contrib non-free предназначена для добавления стороннего APT-репозитория в Debian/Ubuntu. Ниже приведён подробный, актуальный (2024–2026) гайд с учётом современных требований безопасности.


Что означает эта строка?

Часть Значение
deb Указывает, что репозиторий содержит бинарные .deb пакеты
<путь_к_репозиторию> URL репозитория (например, https://repo.example.com/apt)
1.7_x86-64 Suite/Codename дистрибутива в репозитории. Необычный формат, часто используется вендорами для привязки к версии ПО и архитектуре
main contrib non-free Компоненты: официальные свободные пакеты, свободные с несвободными зависимостями, несвободные/проприетарные пакеты

Пошаговая инструкция

Шаг 1: Подготовка

1. Убедитесь, что система работает на amd64 (x86-64):
   dpkg --print-architecture
2. Обновите систему и установите утилиты:
   sudo apt update && sudo apt install -y curl gnupg apt-transport-https

Шаг 2: Создание файла репозитория

Не рекомендуется править /etc/apt/sources.list напрямую.

Используйте отдельный файл:

sudo nano /etc/apt/sources.list.d/custom-repo.list

Вставьте строку (замените <путь_к_репозиторию> на реальный URL):

deb <путь_к_репозиторию> 1.7_x86-64 main contrib non-free

Сохраните (Ctrl+O, Enter, Ctrl+X).

Рекомендация:

Если репозиторий поддерживает только amd64, добавьте ограничение архитектуры:

deb [arch=amd64] <путь_к_репозиторию> 1.7_x86-64 main contrib non-free

Шаг 3: Добавление GPG-ключа (обязательно)

Современный APT требует явного указания ключа через signed-by. Без этого apt update выдаст ошибку NOSPLIT или BADSIG.

1. Скачайте и конвертируйте ключ поставщика:
   curl -fsSL <URL_GPG_КЛЮЧА> | sudo gpg --dearmor -o /usr/share/keyrings/custom-repo.gpg

(Замените <URL_GPG_КЛЮЧА> на ссылку, указанную в документации репозитория)

2. Измените строку в custom-repo.list, добавив путь к ключу:
   deb [signed-by=/usr/share/keyrings/custom-repo.gpg] <путь_к_репозиторию> 1.7_x86-64 main contrib non-free
3. Установите правильные права:
   sudo chmod 644 /usr/share/keyrings/custom-repo.gpg
   sudo chmod 644 /etc/apt/sources.list.d/custom-repo.list

Шаг 4: Обновление списков пакетов

sudo apt update

Если всё прошло успешно, вы увидите строки вроде:

Получено:1 <путь_к_репозиторию> 1.7_x86-64/main amd64 Packages [...]

Шаг 5: Установка пакетов

Теперь можно устанавливать пакеты из нового репозитория:

sudo apt install <имя_пакета>

Для просмотра доступных пакетов:

apt search <часть_имени>

Как отключить или удалить репозиторий

1. Временно отключить (закомментировать):
   sudo sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/custom-repo.list
   sudo apt update
2. Удалить полностью:
   sudo rm /etc/apt/sources.list.d/custom-repo.list
   sudo rm /usr/share/keyrings/custom-repo.gpg
   sudo apt update

Важные замечания и устранение неполадок

Проблема Решение
NO_PUBKEY или BADSIG Убедитесь, что signed-by указан правильно, а ключ скачан с официального сайта. Не используйте /etc/apt/trusted.gpg.d/ (deprecated).
404 Not Found при apt update Проверьте URL, наличие директорий dists/1.7_x86-64/, корректность компонентов. Возможно, вендор сменил suite на stable или focal и т.п.
Skipping acquire of configured file 'non-free/binary-amd64/Packages' Репозиторий не содержит non-free. Удалите его из строки.
Конфликты версий Используйте apt-cache policy <пакет> и sudo apt install <пакет>=<версия> или apt-mark hold <пакет>
Безопасность non-free Пакеты из non-free не обновляются сообществом Debian/Ubuntu, могут содержать проприетарный код. Проверяйте источник.

Пример полной команды (для наглядности)

# 1. Создаём файл
echo "deb [signed-by=/usr/share/keyrings/example.gpg arch=amd64] https://repo.example.com/apt 1.7_x86-64 main contrib non-free" | sudo tee /etc/apt/sources.list.d/example.list

# 2. Добавляем ключ
curl -fsSL https://repo.example.com/apt/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/example.gpg

# 3. Обновляем
sudo apt update