Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6

  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2

  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)

  • Astra Linux Common Edition 2.12



Предупреждение

Установка пакетов из сторонних репозиториев (включая репозиторий Debian) может привести к нарушению работы ОС, и делается на свой страх и риск.

Техническая поддержка по вопросам, связанным с пакетами, установленными из сторонних репозиториев не оказывается. При установке пакетов из сторонних репозиториев необходимо соблюдать требования эксплуатационной документации, см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition


Создание структуры репозитория

  1. Установить пакет reprepro:

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff
    sudo apt install reprepro


  2. Создать каталог для размещения репозитория:

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff

    sudo mkdir <путь_к_репозиторию>


  3. Создать в каталоге репозитория подкаталог conf:

    Command
    borderColor#c2e6ff
    bgColor#e2f3ff

    sudo mkdir <путь_к_репозиторию>/conf


  4. Создать в подкаталоге conf файл distributions следующего содержания:

tip
  1. Блок кода
    iconfalse
    Origin: Debian

  1. 
    Codename:
smolensk
Suite: stable
Version: 1.6.0
Architectures: amd64
Components: main contrib non-free
UDebComponents: main

где:

  • Codename: smolensk - кодовое имя дистрибутива:
    • smolensk
    • orel
    1.  <кодовое_имя_дистрибутива>
      Suite: <ветка_дистрибутива>
      Version: <версия_дистрибутива>
      Architectures: <поддерживаемые_архитектуры>
      Components: main contrib non-free
      UDebComponents: main
      SignWith: yes

      где:

      • <кодовое_имя_дистрибутива> — кодовое имя дистрибутива:

        • 1.7_x86-64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.7;

        • 4.7_arm — для Astra Linux Special Edition РУСБ.10152-02 очередное обновление 4.7;

        • 1.6_x86-64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6;

        • 2.12_x86-64 — для Astra Linux Common Edition.

      • <ветка_дистрибутива> —

    Suite: stable -
      • ветка дистрибутива:

        • stable

        • current

        • unstable

  • Version: 1.6.0 - номер версии
      • <версия_дистрибутива> — номер версии (можно использовать номер очередного обновления и актуально оперативного обновления, например 1.7.5);

      • <поддерживаемые_архитектуры> — архитектура дистрибутива:

        • i386 (в Astra Linux не используется);

        • amd64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6, 1.7;

        • arm64 armhf — для Astra Linux Special Edition РУСБ.10152-02 очередное обновление 4.7;

        • 1.6_x86-64 — для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6;

        • source — для репозиториев, содержащих исходные коды пакетов;

    Architectures: архитектура дистрибутива:
  •  i386
  • amd64
  • source (если репозиторий будет содержать исходный код пакетов)
      • Components: компоненты дистрибутива. Обычно это:

        • main - свободно распространяемое ПО;

        • contrib - свободно распространяемое ПО с зависимостями от несвободного ПО;

        • non-free - несвободное ПО.

      • UDebComponents: main

     
      • - Udeb-пакеты;

      • Contents: - файлы со списком содержимого каждого пакета;

      • SignWith: yes

     -
      • подпись репозитория

    (можно
      • . Эту строчку не нужно указывать, если не

    планируете
      • планируется подписывать репозиторий ключом gnupg

    )
      • .

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

      Command
      sudo reprepro -b <путь_к_репозиторию> clearvanished


    2. Для инициализации нового репозитория

    Далее
    1. выполнить команду:

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      sudo reprepro -b <путь_к_репозиторию> export
    После этого можно наполнять

    1. Наполнить репозиторий пакетами

    .
    1. :

      1. Добавление бинарного deb пакета:

        Command
        borderColor#c2e6ff
        bgColor#e2f3ff
        sudo reprepro -b <путь_к_репозиторию> includedeb <кодовое_имя_
    дистрибутива(smolensk)>
      1. дистрибутива> <путь_к_пакету/имя_пакета>.deb


      2. Добавление всех пакетов deb из каталога <путь_к_пакетам>:

        Command
        borderColor#c2e6ff
        bgColor#e2f3ff
        sudo reprepro -b <путь_к_репозиторию> includedeb <кодовое_имя_
    дистрибутива(smolensk)>
      1. дистрибутива> <путь_к_пакетам>/*.deb


        Примечание
        iconfalse

        При появлении ошибки: No priority given for '<имя_пакета>', skipping

    .Выполнить
      1. выполнить добавление пакета с игнорированием приоритета с помощью опции -P:

        Command
        borderColor#c2e6ff
        bgColor#e2f3ff

        sudo reprepro -P -V -b <путь_к_репозиторию> includedeb <кодовое_имя_

    дистрибутива(smolensk)>
      1. дистрибутива> <путь_к_пакету/имя_пакета>.deb



      2. Добавление бинарного udeb пакета:

        Command
        borderColor#c2e6ff
        bgColor#e2f3ff

        sudo reprepro -b <путь_к_репозиторию> includeudeb <кодовое_имя_

    дистрибутива(smolensk)>
      1. дистрибутива> <путь_к_пакету/имя_пакета>.udeb


      2. Добавление пакета с исходным текстом:

        Command
        borderColor#c2e6ff
        bgColor#e2f3ff

        sudo reprepro -b <путь_к_репозиторию> includedsc <кодовое_имя_

    дистрибутива(smolensk)>
      1. дистрибутива> <путь_к_пакету/имя_пакета>.dsc


      2. Удаление пакета:

        Command
        borderColor#c2e6ff
        bgColor#e2f3ff

        sudo reprepro -b <путь_к_репозиторию> remove <кодовое_имя_

    дистрибутива(smolensk)>
      1. дистрибутива> <имя_пакета_без_версии>


    Использование неподписанного репозитория

    Предупреждение

    Использование неподписанных репозиториев по умолчанию запрещено. Рекомендуется использовать только подписанные репозитории. См. далее Подписание репозитория.

    Для того, чтобы разрешить использовать неподписанные репозитории следует в описание репозитория на компьютере, на котором выполняется установка, добавить параметр [trusted=yes]. При этом строка описания репозитория будет выглядеть так:

    Блок кода
    deb [trusted=yes] https://download.astralinux.ru/astra/stable/2.12_x86-64/repository stable contrib main non-free

    Подробнее см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.

    Якорь
    signrepo
    signrepo
    Подписание репозитория

    Для подписания репозитория:

    1. Сгенерировать gpg-ключ (RSA или DSA):

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
    sudo
    1. gpg --gen-key
    Добавить в

    1. Команда генерации ключа запросит:

      • имя пользователя;

      • адрес e-main пользователя;

      • пароль;

    2. Ввести запрошенные данные и подтвердить создание ключа.
    3. Убедиться, что в файле /<путь_к_репозиторию>/conf/distributions

    строку
    1. присутствует строка:

    tip
    1. Блок кода
      iconfalse
      SignWith: yes
    Далее выполнить

    1. Выполнить команду:

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      sudo reprepro --ask-passphrase -
    b <путь
    1. b <путь_к_репозиторию/имя> export
    (
    1. параметр --ask-passphrase запрашивает пароль для gpg-ключа

    )
    1. .

    и наполнить репозиторий
    1. Наполнить репозиторий добавляя пакеты, например:

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      sudo reprepro --ask-passphrase -b <путь_к_репозиторию/имя> includedeb <кодовое имя дистрибутива> <имя_пакета>.deb


    Чтобы пользоваться подписанным репозиторием необходимо:

    1. На компьютере где создавался репозиторий

    выполнить
    1. получить список ключей:

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      Title
    sudo
    1. gpg --list-keys

    В результате получится примерно такой результат:

    Информация
    iconfalse
    pub    2048R/2578DA4E 2017-06-19
    uid RusBITech (Key for signing) <mail@rusbitech.ru>
    1. gpg: проверка таблицы доверия
      gpg: marginals needed: 3  completes needed: 1  trust model: pgp
      gpg: глубина: 0  достоверных:   1  подписанных:   0  доверие: 0-, 0q, 0n, 0m, 0f, 1u
      gpg: срок следующей проверки таблицы доверия 2024-02-10
      /home/le/.gnupg/pubring.kbx
      ---------------------------
      pub   rsa3072 2022-02-10 [SC] [   годен до: 2024-02-10]
            ECBD2F097D49CD738EB378201623A5978DBFC107
      uid         [  абсолютно ] support <support@astralinux.ru>
      sub   rsa3072 2022-02-10 [E] [   годен до: 2024-02-10]


    2. Выполнить экспорт ключа, используя адрес электронной почты

    Далее выполнить
    1. :

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      sudo gpg --armor --output repo_gpg.key --export
    2578DA4E
    1. support@astralinux.ru

      В результате

    получим
    1. будет получен файл repo_gpg.key в текущем каталоге, который необходимо скопировать на компьютер, где будет использоваться данный репозиторий,

     и
    1. и добавить его в систему (для добавления ключа нужны привилегии суперпользовтаеля):

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      sudo apt-key add repo_gpg.key


    Apache2 + reprepro

    Для предоставления доступа к репозиторию с помощью web-службы apache2:

    1. Установить пакет:

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      sudo apt install apache2


    2. Если репозиторий расположен

    по другому пути
    1. вне каталога /var/www/html, например, в каталоге /srv/repo, то

    при необходимости создать симлинк с репозиториемiconfalse
    1. cоздать символьную ссылку на репозиторий:

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff
      sudo ln -s /srv/repo /var/www/html/repo


    2. В файл /etc/apache2/sites-enabled/000-default.conf после строки DocumentRoot /var/www/html добавить:

    Подсказка
    1. Блок кода
      <Directory /var/www/html/repo>

        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order Deny,Allow
        Allow from all
    1. 
          Options Indexes MultiViews FollowSymLinks
          AllowOverride None
          Order Deny,Allow
          Allow from all
      </Directory>


    2. Перезапустить

    Apache2
    1. службу apache2:

      Command
      borderColor#c2e6ff
      bgColor#e2f3ff

      sudo systemctl restart apache2