Примечание: Я затеняю свои гиперссылки, потому что у меня нет достаточной репутации для включения такого количества ссылок в вопрос. Когда Вы видите "ht tp": поймите, что это действительно "http":
Я думаю, что этот вопрос отличается от других потенциальных дубликатов. В моем случае у меня есть свой собственный debian репозиторий, размещающий мои собственные debian пакеты, раскрытие их клиенту, использующему склонный - добирается.
Фон: Это является все новым. Это не что-то, что раньше работало и затем повредилось. Это - что-то, что я борюсь свой путь через. Я верю, что эта проблема вызывается тем, что я создавал репозиторий неправильно так или иначе.
Когда я вызываю склонный - получают обновление, все кажется прекрасным. Это соответствующие строки, показывающие, что склонный обновил использование моего репозитория (10.1.20.65)
$ sudo apt-get update
Get:4 ht tp://10.1.20.65/debian/ota xenial-testing InRelease [3,114 B]
Get:5 ht tp://10.1.20.65/debian/ota xenial-testing/main amd64 Packages [559 B]
Когда я пытаюсь установить свое приложение приложения, проблемные поверхности:
sudo apt-get install sample
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
sample
0 upgraded, 1 newly installed, 0 to remove and 52 not upgraded.
Need to get 4,304 B of archives.
After this operation, 17.4 kB of additional disk space will be used.
Err:1 ht tp://10.1.20.65/debian/ota xenial-testing/main i386 sample amd64 1.0-1
400 Bad Request
Err:1 ht tp://10.1.20.65/debian/ota xenial-testing/main i386 sample amd64 1.0-1
400 Bad Request
E: Failed to fetch ht tp://10.1.20.65/debian/ota//var/www/html/debian/ota/pool/main/sample/sample_1.0-1_amd64.deb 400 Bad Request
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Очевидной проблемой является URL. Я знаю, что это неправильно.
ht tp://10.1.20.65/debian/ota//var/www/html/debian/ota/pool/main/sample/sample_1.0-1_amd64.deb
Это должно быть похожим на это:
ht tp://10.1.20.65/debian/ota/pool/main/sample/sample_1.0-1_amd64.deb
Но я не знаю, как это сгенерировано. Вот иерархия файла на моем репозитории
user@machine:/var/www/html/debian/ota$ ll -R
.:
drwxrwsr-x 3 user www-data 4096 Jan 26 09:51 dists/
-rw-r--r-- 1 root www-data 1609 Jan 26 10:47 keyFile
drwxrwsr-x 3 user www-data 4096 Jan 26 09:27 pool/
./dists:
drwxrwsr-x 3 user www-data 4096 Jan 26 11:31 xenial-testing/
./dists/xenial-testing:
-rw-rw-r-- 1 user www-data 3114 Jan 26 11:31 InRelease
drwxrwsr-x 4 user www-data 4096 Jan 26 11:14 main/
-rw-rw-r-- 1 user www-data 2246 Jan 26 11:31 Release
-rw-rw-r-- 1 user www-data 819 Jan 26 11:31 Release.gpg
./dists/xenial-testing/main:
drwxrwsr-x 2 user www-data 4096 Jan 26 11:30 binary-amd64/
drwxrwsr-x 2 user www-data 4096 Jan 26 11:14 binary-i386/
./dists/xenial-testing/main/binary-amd64:
-rw-rw-r-- 1 user www-data 776 Jan 26 11:30 Packages
-rw-rw-r-- 1 user www-data 559 Jan 26 11:30 Packages.gz
./dists/xenial-testing/main/binary-i386:
-rw-rw-r-- 1 user www-data 789 Jan 26 11:14 Packages
-rw-rw-r-- 1 user www-data 572 Jan 26 11:14 Packages.gz
./pool:
drwxrwsr-x 3 user www-data 4096 Jan 26 11:06 main/
./pool/main:
drwxrwsr-x 2 user www-data 4096 Jan 26 09:22 sample/
./pool/main/sample:
-rw-r--r-- 1 user www-data 4650 Jan 26 09:18 sample_1.0-1_amd64.build
-rw-rw-r-- 1 user www-data 1430 Jan 26 09:18 sample_1.0-1_amd64.changes
-rw-r--r-- 1 user www-data 4304 Jan 26 09:18 sample_1.0-1_amd64.deb
-rw-r--r-- 1 user www-data 1296 Jan 26 09:18 sample_1.0-1.debian.tar.xz
-rw-rw-r-- 1 user www-data 809 Jan 26 09:18 sample_1.0-1.dsc
-rw-rw-r-- 1 user www-data 672 Jan 26 09:22 sample_1.0.orig.tar.xz
Мой клиент 16.04
user@machine:/var/www/html/debian/ota$ dpkg --print-architecture
amd64
user@machine:/var/www/html/debian/ota$ dpkg --print-foreign-architectures
i386
ota/pool/main/binary-amd64/Packages файл имеет это:
Package: sample
Priority: optional
Section: misc
Installed-Size: 17
Maintainer: User Name (Comment) <user.name@company.com>
Architecture: amd64
Version: 1.0-1
Depends: libc6 (>= 2.2.5)
Filename: /var/www/html/debian/ota/pool/main/sample/sample_1.0-1_amd64.deb
Size: 4304
MD5sum: f9438161fbbbbcdcc121bde6117eec62
SHA1: 0fcf04736a638bea6c2737c06a2cad1452db4fbc
SHA256: 1afa50b3147d30065af90ba8cff49a3d18028baadf2a5502c691592fecad37bd
SHA512: 34a1c4b2f404aeb8ab00c7a032d59ac83ca188c69a92778cb394dd7fb1bfb85990cb43b44533d90ceb77bf79b76ac8ca8fe247e5cdb72ebd96318264c9cdb69d
Description: A sample program
This Debian binary package was auto-generated by the
debmake(1) command provided by the debmake package.
Multi-Arch: foreign
Homepage: <insert the upstream URL, if relevant>
ota/dists/xenial-testing/Release файл имеет это:
Date: Thu, 26 Jan 2017 16:31:30 UTC
MD5Sum:
d41d8cd98f00b204e9800998ecf8427e 0 Release
a89ecbbf9f4aea63fa014bf572577e16 776 main/binary-amd64/Packages
53e475fd10fe0944b2eb25e53feef886 559 main/binary-amd64/Packages.gz
7bcf648b5326f5939e384d7fc1c67bf4 789 main/binary-i386/Packages
ef22faf6ed3912ac493422bc9c31f1dd 572 main/binary-i386/Packages.gz
SHA1:
da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release
5f63449fd9ff95190d518d4841352f8971a9b9e7 776 main/binary-amd64/Packages
35ce11e83154c2c2259b5894f913384192d5baee 559 main/binary-amd64/Packages.gz
4ed047da6b795d2a6cd1231cec50820bf74dfdd9 789 main/binary-i386/Packages
ac8c6c27279477131e008c230332f816c67f0068 572 main/binary-i386/Packages.gz
SHA256:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release
ad638125ee8ca88f9239da6248e2c3143cc62171d18ff9e51b47d8f1fba091c4 776 main/binary-amd64/Packages
b82270e96b9bd9c0c2426dee989274e606ee3fbbeda6cdc9a59227c438c1a373 559 main/binary-amd64/Packages.gz
aeb658d8aa0222005f1aad5c83ced0efe8343114710c62f07affe7a6c9775be7 789 main/binary-i386/Packages
8c715600c2401e97f391a9c8f40f6e17d257ee76a1b4b2bd9653d89fc2dd765e 572 main/binary-i386/Packages.gz
SHA512:
cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 Release
c19e015cefb344dc7cf1344700e43577bd7854bb60e1f3a778feff4b7c076dde43ae2e2a7cb4a3fbefaf59268df9c8a7d25d08d9162413418ffdf541d8b21404 776 main/binary-amd64/Packages
1a6630388293428330416bf15d643aaf540792c449f2a60217cff32641b6d11a752645ee8ef20d3563c52575fb3653a6693621320c672178d538f3280bd1d420 559 main/binary-amd64/Packages.gz
6b0766e30a366f3ca065f56979c31f129dc0d406a8d27e8147e5029e04fce0ad891256cd4da70dbba92b411e25e6fc7ab1c5192e6ad7848dff4530b29eb5236d 789 main/binary-i386/Packages
926dfa28405aef42c9f9deae454376fa8b42a4db411aee03da8844bf361e96950022aeabe7f70a6264f8a2cf1a8bf9d166fedebf5bef3a2f8b9f4fc54834dba7 572 main/binary-i386/Packages.gz
Где/как состоит в том способное получение что "странный" URL?
E: Failed to fetch ht tp://10.1.20.65/debian/ota//var/www/html/debian/ota/pool/main/sample/sample_1.0-1_amd64.deb 400 Bad Request
Я нашел решение!
оказывается, что имя файла в Пакеты файл на самом деле добавляется к корню архива.. Я предполагаю, что это делается Кв. - получают программу.
Мой корень архива - это:
/var/www/html/debian/ota/
Внутренняя часть мой файл Пакетов был этой строкой:
Filename: /var/www/html/debian/ota/pool/main/sample/sample_1.0-1_amd64.deb
Они связываются для создания заключительного URL для загрузки DEB:
/var/www/html/debian/ota//var/www/html/debian/ota/pool/main/sample/sample_1.0-1_amd64.deb
Эта путаница вызывается ПЛОХОЙ ФАЙЛ ПАКЕТА. Это не должно содержать полный путь.
А корректный путь в моем файле пакета был бы этим:
Filename: pool/main/sample/sample_1.0-1_amd64.deb
Ранее, я был вызовом способные-ftparchive пакеты из моей двоичной папки:
/var/www/html/debian/ota/dists/xenial-testing/main/binary-amd64/$ apt-ftparchive packages /var/www/html/debian/ota/pool > Packages
(Отмечают, что я должен был использовать полный путь там для обращения к пул местоположение моего debs)
, Который не является надлежащей папкой, из которой можно создавать файл Пакетов. Я нашел подсказку в этом прекрасном бите текста от debian:
The 'packages' and 'sources' command should be run in the root of the
tree. BinaryPath should point to the base of the recursive search and
override file should contain the override flags. Pathprefix is
appended to the filename fields if present. Example usage from the
Debian archive:
apt-ftparchive packages dists/potato/main/binary-i386/ > \
dists/potato/main/binary-i386/Packages
, После того как я начал делать вещи этот путь, мой файл Пакетов начал иметь относительные пути в них.
Моя новая командная строка:
/var/www/html/debian/ota/$ apt-ftparchive packages pool/binary-amd64/ > dists/xenial-testing/main/binary-amd64/Packages
И мой файл Пакетов теперь содержит эту строку:
Filename: pool/main/sample/sample_1.0-1_amd64.deb