LINUX.ORG.RU

ошибка подключения локального репозитория ubuntu

 


0

1

Здравствуйте форумчане. Помогите разобраться как создать локальный репозиторий. Цель состоит в том, чтобы переносить пакеты с ПК где есть интернет, на ПК где его нет и устанавливать программы. Нашел способ в интернете, который опишу ниже - он работал в linux mint 17.3, но позже когда переустановил на последнюю ubuntu mate, то этот способ не работает. Подскажите что делаю не так.
1. Создаю каталог в домашней директории mkdir repo;

2. Копирую туда все нужные мне пакеты;

3. Создаю индексный файл командой apt-ftparchive packages . | gzip > Packages.gz
Теперь у меня в каталоге repo находятся пакеты и файл Packages.gz.

4. Добавляю свой репозиторий при помощи добавления записи deb file:/home/vladimir/repo / в файле /etc/apt/sources.list

5. Обновляю списки sudo apt update. Получаю ошибку в терминале
Get:1 file:/home/vladimir/repo InRelease
Ign:1 file:/home/vladimir/repo InRelease
Get:2 file:/home/vladimir/repo Release
Err:2 file:/home/vladimir/repo Release
Файл не найден - /home/vladimir/repo/Release (2: Нет такого файла или каталога)
Чтение списков пакетов… Готово
E: The repository 'file:/home/vladimir/repo Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.



Последнее исправление: anunakix (всего исправлений: 1)

Распарси, ёпта.

Нефиг тупо копировать васянские команды в терминал.

Я просто не могу это прочесть. Никто не может.

Valman_new
()
Ответ на: ответ от anunakix

Ловите наркомана.

Hint:

E: The repository 'file:/home/vladimir/repo Release' does not have a Release file.

Совсем уже поехал?

Valman_new
()

Ну тебе же англиским язком написали обновлений с таких реп небезопасно и отключено по дефолту и в следущем речени теббе пишут где смотреть и что править. Читай МАН апт секьюра и правь.

Deleted
()
Ответ на: комментарий от Deleted

man apt-secure

Прочитать ман я пытался сразу же после уведомления, но мой английский не на столько был хорош и полностью суть уловить не смог. Пытался найти описание на русском в гугле, тоже неудача. Я так понимаю проблема произошла из-за изменившийся политики в новом дистрибутиве и linux mint 18.1 и в ubuntu 17.04. Поскольку раньше такой способ работал в linux mint 17.3. Только ругался, что репозиторий не подписан, но работал. Но теперь я так понимаю - это обязательное условие, чтобы репозиторий был подписан. Есть ли у кого-то информация об этом?

anunakix
() автор топика
Ответ на: man apt-secure от anunakix

Я счас не имею возможности прочитать МАН. В телефонном режиме до вечера( Но думаю в мене либо есть вариант правильного репа либо нужно вкл. разрешение для твоего репа.

Deleted
()
Ответ на: man apt-secure от anunakix

Вот что пока нашел.

•Create a toplevel Release file, if it does not exist already. You can do this by running apt-ftparchive release (provided in apt-utils).
 
•Sign it. You can do this by running gpg --clearsign -o InRelease Release and gpg -abs -o Release.gpg Release.
 
•Publish the key fingerprint, that way your users will know what key they need to import in order to authenticate the files in the archive.
Как я понял ты создал репозиторий но не подписал его. Нужно подписать.

Deleted
()
Последнее исправление: igor822605 (всего исправлений: 1)
Ответ на: комментарий от Deleted

Спасибо. Когда буду посвободнее проверю этот вариант. Я тоже думаю, что наверное это устранит проблему. Меня просто смутило, что раньше этот вариант проходил, а теперь не хочет. Я сначала подумал в синтаксисе ошибка. Затем начал искать другие пути. С помощью aptoncd, но там тоже у меня возникла проблема. Конечно, разово помог мне debmirror, когда отзеркалировал весь репозиторий, но слишком много места и жесткий диск неудобно постоянно носить с собой.

anunakix
() автор топика
Ответ на: комментарий от anunakix

Для других искателей (с какой то версии apt более строг локальным репам)

#! /bin/bash
cd "$(dirname "$0")"
dpkg-scanpackages . /dev/null > Packages
dpkg-sig --sign builder *.deb
gzip --keep --force -9 Packages
rm Release
apt-ftparchive release . > Release
rm InRelease
gpg --digest-algo SHA256 --clearsign -o InRelease Release
rm Release.gpg
gpg -abs -o Release.gpg Release
chmod 0644 Release Packages Packages.gz InRelease Release.gpg

https://help.ubuntu.com/community/CreateAuthenticatedRepository

le9i0nx
()

Скрипт не удалось использовать, он файл Release и Packages.gz создал, но подписать не смог - выдал ошибку. Решил я создать с помощью aptoncd образ диска пакетов. Программа автоматически создала файл Release и Packages.gz. Смонтировал это образ и подключил этот репозиторий. Все равно пошла ошибка.

vladimir@electro:/mnt/dvd$ sudo apt update
Get:1 file:/mnt/dvd InRelease
Ign:1 file:/mnt/dvd InRelease
Get:2 file:/mnt/dvd Release [1.594 B]
Get:2 file:/mnt/dvd Release [1.594 B]
Get:3 file:/mnt/dvd Release.gpg
Ign:3 file:/mnt/dvd Release.gpg
Чтение списков пакетов… Готово
E: The repository 'file:/mnt/dvd Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

anunakix
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.