web-dev-qa-db-fra.com

La mise à jour d'apt-get Ubuntu 16.04 échoue avec le référentiel local

Sur mon serveur Ubuntu 16.04, j'ai les entrées suivantes dans /etc/apt/sources.list

deb [Arch=AMD64 trusted=yes] file:/home/discoprodigy /debbin main  

Pour faire bonne mesure, j'ai également essayé restreint, univers et multivers. Il n'y a pas d'autres entrées dans ce fichier. Et /etc/apt/sources.list.d est vide.

Dans /home/discoprodigy/debbin

152 miscellaneous .deb files
Packages.gz
Packages (plain text file)

Juste pour le plaisir, j'ai aussi dans /home/discoprodigy/debbin/main/binary-AMD64

Packages.gz
Packages (plain text file)

Puis j'exécute:

Sudo apt-get update

Et c'est le résultat

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.

J'ai aussi essayé ce qui est suggéré ici buntu 16.04, apt-get update ne fonctionne pas avec un dépôt local mais en vain.

Mise à jour: Suivant la suggestion de user.dz, la mise à jour d'apt-get est "réussie", mais maintenant, lorsque j'essaie apt-get install openssh-server, je reçois:

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) 

Mais le fichier est là.

$ 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

Mise à jour: j'ai effacé les fichiers status et available dans /var/lib/dpkg et ai exécuté apt-get update, puis 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 n'a cependant signalé aucun paquet en attente.

Mise à jour: selon la demande de 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/
4
G.Flemming
  • Si je me souviens bien, j'ai installé mon référentiel local trivial. J'ai utilisé ce formulaire

    ##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/
    
  • Par conséquent, votre configuration devrait être avec cette ligne:

    deb [Arch=AMD64 trusted=yes] file:///home/discoprodigy debbin/
    

    ou

    deb [Arch=AMD64 trusted=yes] file:///home/discoprodigy/debbin ./
    

Référence: Wiki Debian: Comment configurer une archive triviale

2
user.dz