Vivid apt-get met à jour d'énormes fichiers de package dans / var / lib / apt / lists / partial

8
ls -Ssh /var/lib/apt/lists/partial | head

total 88G
 46G security.ubuntu.com_ubuntu_dists_vivid-security_main_binary-amd64_Packages.bz2
 42G us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2

J'ai essayé le bunzipping et j'ai des ordures traînantes:

bunzip2: us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2: trailing garbage after EOF ignored

Il semble que le fichier décompressé ne fasse que 88 Ko:

 du -hs us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages
88K

Faire un vidage hexadécimal de la fin du fichier semble révéler une liste de répertoires en annexe:

tail -c 200 security.ubuntu.com_ubuntu_dists_vivid-security_main_binary-amd64_Packages.bz2 | hexdump -C
00000000  30 38 64 66 37 20 20 20  20 20 20 20 20 20 20 20  |08df7           |
00000010  20 20 34 38 31 39 20 75  6e 69 76 65 72 73 65 2f  |  4819 universe/|
00000020  69 31 38 6e 2f 54 72 61  6e 73 6c 61 74 69 6f 6e  |i18n/Translation|
00000030  2d 65 6e 2e 62 7a 32 0a  20 31 30 66 64 62 31 61  |-en.bz2. 10fdb1a|
00000040  37 34 61 62 34 34 33 36  64 39 37 62 33 33 66 65  |74ab4436d97b33fe|
00000050  62 30 38 38 36 66 35 63  38 61 63 63 64 36 34 34  |b0886f5c8accd644|
00000060  33 62 36 34 36 37 61 30  64 63 39 61 63 39 64 31  |3b6467a0dc9ac9d1|
00000070  66 64 33 39 61 36 31 63  62 20 20 20 20 20 20 20  |fd39a61cb       |
00000080  20 20 20 20 20 20 31 35  38 31 20 75 6e 69 76 65  |      1581 unive|
00000090  72 73 65 2f 73 6f 75 72  63 65 2f 53 6f 75 72 63  |rse/source/Sourc|
000000a0  65 73 2e 62 7a 32 0a 20  61 64 66 35 31 32 30 66  |es.bz2. adf5120f|
000000b0  65 63 61 37 38 66 34 65  37 36 66 34 31 36 66 38  |eca78f4e76f416f8|
000000c0  31 30 32 31 36 62 33 30                           |10216b30|

Piping la queue à travers les chaînes et la recherche d'un fichier montre le même fichier répertorié à plusieurs reprises:

 tail -c 500K security.ubuntu.com_ubuntu_dists_vivid-security_main_binary-amd64_Packages.bz2 | strings  | grep -i multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2
 64a543afbb5f4bf728636bdcbbe7a2ed0804adc2               14 multiverse/i18n/Translation-en.bz2
 d3dda84eb03b9738d118eb2be78e246106900493c0ae07819ad60815134a8058               14 multiverse/i18n/Translation-en.bz2

Quelqu'un a-t-il déjà rencontré cela?

user402751
la source
J'ai trouvé une solution de contournement au problème: rm -rf / var / lib / apt / lists / partial / *, puis relancez apt-get update.
user402751
Je suis tombé sur cela à nouveau, après avoir fait une nouvelle installation à partir du DVD, j'avais initialement mis à niveau à partir de 14.10. {{392G us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2}}} La signature est un peu différente, il y a des erreurs http répétées. {{tail -c 500K us.archive.ubuntu.com_ubuntu_dists_vivid-updates_main_binary-i386_Packages.bz2 | cordes | grep "HTTP / 1.1 416 Plage demandée non satisfaisante" HTTP / 1.1 416 Plage demandée non satisfaisante HTTP / 1.1 416 Plage demandée non satisfaisante HTTP / 1.1 416 Plage demandée non satisfaisante HTTP / 1.1 416 Plage demandée non satisfaisante}}
user402751
Hmm, il me semble que j'ai aussi ce problème. Très ennuyant. Je viens travailler le matin et toutes sortes de choses se sont écrasées car le disque est plein. Avez-vous trouvé par hasard une solution?
Frode
Solution, non. Je viens d'utiliser la solution de contournement pour supprimer tous les fichiers dans / var / lib / apt / lists / partial / * avant la "mise à jour apt-get"
user402751
C'est un bug. askubuntu.com/a/633235/43246
aleung

Réponses:

6

Cela ressemble un peu à un problème de proxy. J'ai eu une fois un problème avec maven que le proxy a remplacé un pot par une page html contenant un avertissement de virus. Le html a été enregistré en tant que .jar mais parce qu'il était cassé, plus rien ne fonctionnait.

Quoi qu'il en soit: il est sûr de tout supprimer du répertoire /var/lib/apt/lists/partial/(et aussi de /var/cache/apt/archives/partial/).

Pour le dépannage, je recommande les étapes suivantes:

  • Essayez un autre miroir, par exemple. http://de.archive.ubuntu.com/ubuntu/ au lieu de http://ch.archive.ubuntu.com/ubuntu/ ou même l'archive principale http://archive.ubuntu.com/ubuntu/
  • Essayez un autre protocole: ftp: // au lieu de http: // - le reste du chemin reste pour les miroirs par défaut
  • Essayez d'analyser le transfert à l'aide de Wireshark (utilisez l'option du menu contextuel «Suivre le flux TCP»). Les en-têtes HTTP et le contenu sont intéressants. Si vous obtenez des réponses avec le code d'état HTTP 200 (ce qui signifie ok) mais un contenu lisible par l'homme, quelque chose ne va vraiment pas sur votre proxy. Un fichier bzip2 normal ne doit pas contenir de texte lisible par l'homme.
  • Utilisez wgetou curlpour vérifier ce que vous obtenez du serveur lors du téléchargement sans apt-get.
Daniel Alder
la source
Intéressant, je suis en fait derrière un proxy. @ user402751, vous aussi?
Frode
Oui, je suis également derrière un proxy, ce qui explique probablement pourquoi tout le monde ne rencontre pas ce problème. Cela étant dit, il y a un assez mauvais bug ici car il écrit simplement le disque jusqu'à ce qu'il soit plein.
user402751
2
La prise en charge du proxy n'est pas en soi interrompue, mais certains serveurs ne se comportent probablement pas correctement. Avez-vous déjà utilisé Wireshark pour analyser ce qui est transporté pendant le téléchargement (option 'Suivre le flux TCP)? Les en-têtes HTTP et le contenu sont intéressants. Normalement, un fichier bzip2 ne doit pas contenir de sortie utilisable lors de l'exécution de la stringcommande. Juste pour être sûr: utilisez-vous des serveurs http ou ftp?
Daniel Alder
Je suis curieux? Cette réponse a-t-elle aidé quelqu'un? L'utilisateur 402751 ou @Frode a-t-il essayé les étapes?
Daniel Alder
@DanielAlder Je n'ai pas (encore) approfondi le problème. Il est au moins utile de savoir qu'il s'agit probablement d'un problème de proxy.
Frode