Обновление 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 ./
    

Ссылка: Debian Wiki: Как настроить простой архив

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