Обновление Ubuntu 16.04 apt-get завершается неудачно с локальным хранилищем
На моем сервере Ubuntu 16.04 у меня есть следующие записи в /etc/apt/sources.list
deb [arch=amd64 trusted=yes] file:/home/discoprodigy /debbin main
Для хорошей меры я также попробовал ограниченный, вселенную и мультиверс. В этом файле нет других записей. А также /etc/apt/sources.list.d
пустой.
В /home/discoprodigy/debbin
152 miscellaneous .deb files
Packages.gz
Packages (plain text file)
Просто для удовольствия, у меня также есть в /home/discoprodigy/debbin/main/binary-amd64
Packages.gz
Packages (plain text file)
Затем я выполняю:
sudo apt-get update
И это результат
Get:1 file:/home/discoprodigy /debbin InRelease
Ign:1 file:/home/discoprodigy /debbin InRelease
Get:2 file:/home/discoprodigy /debbin Release
Ign:2 file:/home/discoprodigy /debbin Release
Get:3 file:/home/discoprodigy /debbin/main amd64 Packages
Ign:3 file:/home/discoprodigy /debbin/main amd64 Packages
Get:4 file:/home/discoprodigy /debbin/main all Packages
Ign:4 file:/home/discoprodigy /debbin/main all Packages
|
etc. etc.
|
Get:3 file:/home/discoprodigy /debbin/main amd64 Packages
Err:3 file:/home/discoprodigy /debbin/main amd64 Packages
File not found - /home/discoprodigy/dists//debbin/main/binary-amd64/Packages (2: No such file or directory)
Get:4 file:/home/discoprodigy /debbin/main all Packages
Ign:4 file:/home/discoprodigy /debbin/main all Packages
Reading package lists... Done
N: Ignoring file '20auto-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
E: Failed to fetch file:/home/discoprodigy/dists//debbin/main/binary-amd64/Packages File not found - /home/discoprodigy/dists//debbin/main/binary-amd64/Packages (2: No such file or directory)
E: Some index files failed to download. They have been ignored, or old ones used instead.
Я также попробовал то, что предлагается здесь. Обновление apt-get в Ubuntu 16.04 не работает с локальным репозиторием, но безрезультатно.
Обновление: по предложению user.dz обновление apt-get "успешно", но теперь, когда я пытаюсь apt-get install openssh-server
Я получил:
Err:1 file:/home/discoprodigy debbin/ ncurses-term 6.0+20160213-1ubuntu1 File not found - /home/discoprodigy/debbin/ncurses-term_6.0+20160213-1ubuntu1_all.deb (2: No such file or directory)
Но файл есть.
$ ls -l /home/discoprodigy/debbin/ncurses-term_6.0+20160213-1ubuntu1_all.deb
-rw-rw-r-- 1 discoprodigy discoprodigy 249166 Nov 24 15:08 /home/discoprodigy/debbin/ncurses-term_6.0+20160213-1ubuntu1_all.deb
Обновление: я очистил файлы status
а также available
в /var/lib/dpkg
и побежал apt-get update
а потом apt-get install openssh-server
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
openssh-server : Depends: libaudit1 (>= 1:2.2.1) but it is not installable
Depends: libc6 (>= 2.17) but it is not going to be installed
|
etc. etc.
|
Recommends: ncurses-term but it is not going to be installed
Recommends: ssh-import-id but it is not going to be installed
N: Ignoring file '20auto-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
E: Unable to correct problems, you have held broken packages.
dpkg --get-selections | grep hold
однако не сообщил о каких-либо задержанных пакетов.
Обновление: согласно запросу user.dz:
stat -c "%A %G %U %n" /home/ /home/discoprodigy/ /home/discoprodigy/debbin/
drwxrwxr-x discoprodigy discoprodigy /home/
drwxrwxr-x discoprodigy discoprodigy /home/discoprodigy/
drwxrwxr-x discoprodigy discoprodigy /home/discoprodigy/debbin/
1 ответ
Как я помню, когда я настроил свой тривиальный локальный репозиторий. Я использовал эту форму
##LOCAL deb file:///path-to-parent-of-packages-folder packages-folder/ ##LAN using HTTP server deb http://ip-address packages-folder/ ##LAN using HTTP server & mDNS (Avahi) deb http://machine-name.local packages-folder/
Следовательно, ваша установка должна быть с этой строкой:
deb [arch=amd64 trusted=yes] file:///home/discoprodigy debbin/
или же
deb [arch=amd64 trusted=yes] file:///home/discoprodigy/debbin ./