Ошибки при попытке создать подписанный локальный репозиторий в Ubuntu

Я пытаюсь создать локальное подписанное хранилище для пакетов Debian в одной из наших систем сборки. Намерение состоит в том, что после создания этого подписанного репо мы отправим его как часть нашего установщика вместе с открытым ключом подписи. Теперь, когда клиент запускает установщик, мы распаковываем созданный нами каталог репо, создаем файл /etc/apt/sources.list.d/<my-product>.list и начинаем установку пакетов из этого локального репо.

Ниже приведены шаги, которые я выполняю, чтобы создать репо.

  1. Я помещаю свои пакеты Debian в каталог, скажем, /root/tempRepo
  2. Create Packages.gz
    dpkg-scanpackages /root/tempRepo /dev/null | gzip -9c > /root/tempRepo/Packages.gz
  3. Создание файла выпуска для репо
    apt-ftparchive release /root/tempRepo > /root/tempRepo/Release
  4. Я уже создал свой ключ gpg и его в кольце для ключей.
  5. Подпишите репо
    gpg --clearsign -o /root/tempRepo/InRelease /root/tempRepo/Release
    gpg -abs -o /root/tempRepo/Release.gpg /root/tempRepo/Release
  6. Так что теперь мое репо выглядит примерно так:
    pkg1.deb pkg2.deb InRelease Packages.gz Release Release.gpg
  7. Вместе с открытым ключом я собираю его и отправляю как часть моего установщика.
  8. Теперь во время установки я распаковываю пакет, и мой репозиторий находится в /root/tempRepo (скажем).
  9. Я запускаю приведенную ниже команду, чтобы ключ был доступен с apt.
    sudo apt-key add <path-to-pub-key>
    Я удостоверяюсь, что ключ был импортирован с помощью команды
    sudo apt-key list
  10. Я создаю файл /etc/apt/sources.list.d/<my-product>.list со следующим содержанием,
    deb file:/root/ tempRepo/ или deb file:/root/tempRepo ./
  11. При запуске sudo apt update или sudo apt-get update я получаю следующую трассировку ошибок,
Get:1 file:/root/tempRepo ./ InRelease [1,346 B]
Hit:2 http://us.archive.ubuntu.com/ubuntu xenial InRelease
Get:3 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:5 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
Fetched 325 kB in 0s (833 kB/s)
Reading package lists... Done
N: Can't drop privileges for downloading as file '/root/tempRepo/./InRelease' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
W: file:/root/tempRepo/./InRelease: Signature by key 47GH0FHSDGDJDJDYSIFB7679795D559EC6EEE749 uses weak digest algorithm (SHA1)
E: Failed to fetch file:/root/tempRepo/./InRelease  Unable to find expected entry 'Packages' in Release file (Wrong sources.list entry or malformed file)
E: Some index files failed to download. They have been ignored, or old ones used instead.```


0
задан 9 September 2019 в 07:27

0 ответов

Другие вопросы по тегам:

Похожие вопросы: