Перейти к содержимому
← Все форматы

deb

Пакеты deb для apt

Загрузите .deb в нужный релиз. PackageCloud соберёт репозиторий в стандартном для Debian виде (dists и pool), подпишет InRelease ключом репозитория, и apt сможет установить пакет на любом сервере.

Клиент
apt
Дистрибутивы
Debian, Ubuntu, Linux Mint
Подпись
Список пакетов (InRelease)
Пример адреса
https://getpkg.ru/acme/tools/debian/

Три шага

Команды показаны для демонстрационного репозитория acme/tools. В личном кабинете они подставляются для вашего.

  1. 1 Загрузите пакет

    pcloud push acme/tools/debian/sid ./hello_1.0.0-1_amd64.deb --wait
  2. 2 Подключите репозиторий

    /etc/apt/sources.list.d/acme-tools.list
    sudo install -d -m 0755 /etc/apt/keyrings
    curl -fsSL https://getpkg.ru/acme/tools/keys/acme-tools.asc | sudo tee /etc/apt/keyrings/acme-tools.asc >/dev/null
    echo "deb [signed-by=/etc/apt/keyrings/acme-tools.asc] https://getpkg.ru/acme/tools/debian/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/acme-tools.list
    sudo apt update

    Или подключите одной командой:

    curl -fsSL https://getpkg.ru/pcloud/stable/install.sh | sudo sh
  3. 3 Установите

    sudo apt install hello=1.0.0-1

Подпись

Сами .deb не подписываются, как и в Debian: apt сверяет их контрольные суммы с подписанным InRelease. Ключ репозитория кладётся в /etc/apt/keyrings и указывается через signed-by.

Вопросы

Нужно ли указывать релиз в строке источника?

Нет. Команда подключения сама узнаёт кодовое имя релиза через lsb_release, поэтому одна строка подходит для всех релизов семейства.

Можно ли держать несколько версий пакета?

Да. Все версии остаются в репозитории: apt ставит новейшую или ту, что указана явно.

Как опубликовать один пакет в нескольких релизах?

Загрузите его в один релиз, а остальные отметьте в кабинете: файл хранится один раз и попадает в индекс каждого выбранного релиза.

Начните с бесплатного репозитория

Регистрация займёт минуту, а первый пакет загружается одной командой.