Подготовительные работы: система про пакет hello перед началом работы ничего знать не должна:
Shell
$ dpkg -l hello
dpkg-query: шаблону hello не соответствует ни один пакет
$
Shell
$ cat /etc/apt/sources.list
deb [trusted=yes] file:///home/user/Desktop/testrepo mydebiantest main
$
--------------------------------------------------------------
Создадим репозиторий в папке /home/user/Desktop/testrepo. Вот скрипт. Там ничего сложного, используем команду reprepro. Файл /home/user/Desktop/testrepo/conf/distributions также без сюрпризов
создание репозитория
#!/bin/bash
sudo rm -rf /home/user/Desktop/testrepo
mkdir -p /home/user/Desktop/testrepo/conf
cat <<EOF > /home/user/Desktop/testrepo/conf/distributions
Codename: mydebiantest
Suite: stable
Version: 1.0
Origin: my_test_dist
Label: my_test_dist 1.0
Description: Debian Stable Repository
Architectures: amd64 source
Components: main
#SignWith: default
DebIndices: Packages Release . .gz .bz2
DscIndices: Sources Release . .gz .bz2
Contents: . .gz .bz2
EOF
reprepro -b /home/user/Desktop/testrepo export
reprepro -b /home/user/Desktop/testrepo createsymlinks
sudo rm -rf /home/user/Desktop/testrepo
mkdir -p /home/user/Desktop/testrepo/conf
cat <<EOF > /home/user/Desktop/testrepo/conf/distributions
Codename: mydebiantest
Suite: stable
Version: 1.0
Origin: my_test_dist
Label: my_test_dist 1.0
Description: Debian Stable Repository
Architectures: amd64 source
Components: main
#SignWith: default
DebIndices: Packages Release . .gz .bz2
DscIndices: Sources Release . .gz .bz2
Contents: . .gz .bz2
EOF
reprepro -b /home/user/Desktop/testrepo export
reprepro -b /home/user/Desktop/testrepo createsymlinks
Теперь пакет hello. Штатный файл hello_2.10-3_amd64.deb не прикладывается (можете скачать со штатного репозитория. Команда apt-get download hello).
Запихиваем hello в репозиторий:
Shell
$ reprepro -b ~/Desktop/testrepo includedeb mydebiantest hello_2.10-3_amd64.deb
Exporting indices...
$
Обновляем кэш (аж два раза)
$ sudo rm -r /var/lib/apt/lists/*
$
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [686 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [333 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [627 B]
Игн:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [277 B]
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [982 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [2 719 B]
Ошб:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
E: Не удалось получить store:/var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
E: Некоторые индексные файлы скачать не удалось. Они были проигнорированы, или вместо них были использованы старые версии.
$
$
$
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [686 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [333 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [627 B]
Игн:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [277 B]
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [982 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [2 719 B]
Ошб:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
E: Не удалось получить store:/var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
E: Некоторые индексные файлы скачать не удалось. Они были проигнорированы, или вместо них были использованы старые версии.
$
$
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [686 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [333 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [627 B]
Игн:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [277 B]
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [982 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [2 719 B]
Ошб:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
E: Не удалось получить store:/var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
E: Некоторые индексные файлы скачать не удалось. Они были проигнорированы, или вместо них были использованы старые версии.
$
$
$
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 718 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [686 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [333 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [627 B]
Игн:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [277 B]
Игн:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [982 B]
Пол:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb) [2 719 B]
Ошб:5 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Contents (deb)
Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
E: Не удалось получить store:/var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 Не удалось открыть файл /var/lib/apt/lists/partial/_home_user_Desktop_testrepo_dists_mydebiantest_main_Contents-amd64 - open (13: Отказано в доступе)
E: Некоторые индексные файлы скачать не удалось. Они были проигнорированы, или вместо них были использованы старые версии.
$
Shell
$ grep ^Package: /var/lib/apt/lists/*Packages
grep: /var/lib/apt/lists/*Packages: Нет такого файла или каталога
$
--------------------------------------------------------------
Заметил, что если файл data.tar.xz архива hello_2.10-3_amd64.deb будет пустым, то всё получится. Проверим. Пересоберём hello_2.10-3_amd64.deb
Shell
$ ls
hello_2.10-3_amd64.deb
$
$ ar tv hello_2.10-3_amd64.deb
rw-r--r-- 0/0 4 Dec 26 20:30 2022 debian-binary
rw-r--r-- 0/0 1868 Dec 26 20:30 2022 control.tar.xz
rw-r--r-- 0/0 51020 Dec 26 20:30 2022 data.tar.xz
$
$ ar -x hello_2.10-3_amd64.deb
$
$ ls
control.tar.xz data.tar.xz debian-binary hello_2.10-3_amd64.deb
$
$ rm data.tar.xz hello_2.10-3_amd64.deb
$
$ tar cfJ data.tar.xz -T /dev/null
$
$ ls
control.tar.xz data.tar.xz debian-binary
$ fakeroot ar -qS hello_2.10-3_amd64.deb debian-binary control.tar.xz data.tar.xz
ar: создаётся hello_2.10-3_amd64.deb
$
Пересоздадим репозиторий (скрипт)
#!/bin/bash
sudo rm -rf /home/user/Desktop/testrepo
mkdir -p /home/user/Desktop/testrepo/conf
cat <<EOF > /home/user/Desktop/testrepo/conf/distributions
Codename: mydebiantest
Suite: stable
Version: 1.0
Origin: my_test_dist
Label: my_test_dist 1.0
Description: Debian Stable Repository
Architectures: amd64 source
Components: main
#SignWith: default
DebIndices: Packages Release . .gz .bz2
DscIndices: Sources Release . .gz .bz2
Contents: . .gz .bz2
EOF
reprepro -b /home/user/Desktop/testrepo export
reprepro -b /home/user/Desktop/testrepo createsymlinks
sudo rm -rf /home/user/Desktop/testrepo
mkdir -p /home/user/Desktop/testrepo/conf
cat <<EOF > /home/user/Desktop/testrepo/conf/distributions
Codename: mydebiantest
Suite: stable
Version: 1.0
Origin: my_test_dist
Label: my_test_dist 1.0
Description: Debian Stable Repository
Architectures: amd64 source
Components: main
#SignWith: default
DebIndices: Packages Release . .gz .bz2
DscIndices: Sources Release . .gz .bz2
Contents: . .gz .bz2
EOF
reprepro -b /home/user/Desktop/testrepo export
reprepro -b /home/user/Desktop/testrepo createsymlinks
Shell
$ reprepro -b ~/Desktop/testrepo includedeb mydebiantest hello_2.10-3_amd64.deb
Exporting indices...
$
Обновляем кэш (аж два раза)
$ sudo rm -r /var/lib/apt/lists/*
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [682 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [629 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [981 B]
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
$
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
$
$
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [682 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [629 B]
Ошб:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages
Не удалось открыть файл /home/user/Desktop/testrepo/dists/mydebiantest/main/binary-amd64/Packages - open (13: Отказано в доступе)
Пол:4 file:/home/user/Desktop/testrepo mydebiantest/main amd64 Packages [981 B]
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
$
$
$ sudo apt-get update
Пол:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Игн:1 file:/home/user/Desktop/testrepo mydebiantest InRelease
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:2 file:/home/user/Desktop/testrepo mydebiantest Release [2 703 B]
Пол:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Игн:3 file:/home/user/Desktop/testrepo mydebiantest Release.gpg
Чтение списков пакетов… Готово
N: Загрузка выполняется от лица суперпользователя без ограничений песочницы, так как файл «/home/user/Desktop/testrepo/dists/mydebiantest/InRelease» недоступен для пользователя «_apt». - pkgAcquire::Run (13: Отказано в доступе)
$
$
Shell
$ grep ^Package: /var/lib/apt/lists/*Packages
Package: hello
$
В общем, спасибо, кто откликнется. Debian 12.