#1 Le 24/04/2006, à 11:34
- vhadoko
[résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
Bonjour,
c'est mon premier message et je fais appel au forum après des recherches infructueuses sur le sujet ! j'utilise kubuntu mais je sais que c'est foncièrement pareil qu'ubuntu pour la gestion des paquets
quand je cherche à mettre à jour les paquets avec apt-get upgrade, j'obtiens ce message à la fin : dpkg: impossible d'ouvrir fichier des permissions (statoverride): Aucun périphérique ou adresse
E: Sub-process /usr/bin/dpkg returned an error code (2)
même chose avec adept en mode graphique
################################################
26 mis à jour, 0 nouvellement installés, 0 à enlever et 3 non mis à jour.
Il est nécessaire de prendre 0o/26,1Mo dans les archives.
Après dépaquetage, 1167ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? O
Préconfiguration des paquets ...
dpkg: impossible d'ouvrir fichier des permissions (statoverride): Aucun périphérique ou adresse
E: Sub-process /usr/bin/dpkg returned an error code (2)
######################################
je suis allé là :
http://doc.ubuntu-fr.org/applications/apt/depots?s=sources+list#kubuntu
pour réinitialiser le fichier /etc/pat/sources.list
mais rien n'y fait !!
quelqu'un aurait-il une idée de ce que je pourrais faire ?
c'est très bloquant car je ne peux aussi installer aucun nouveau paquet ni en désinstaller !
merci
Dernière modification par vhadoko (Le 24/04/2006, à 14:58)
Shadoko
musique audioscrobblée @ http://www.lastfm.fr/user/shadoko/
Hors ligne
#2 Le 24/04/2006, à 11:41
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
Que montre un
ls /var/lib/dpkg/
?
Hors ligne
#3 Le 24/04/2006, à 11:43
- vhadoko
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
avec ls /var/lib/dpkg/ j'obtiens ça :
alternatives available-old diversions info methlock parts statoverride-old status-old
available cmethopt diversions-old lock methods statoverride status updates
quelque chose de bloqué ?
Shadoko
musique audioscrobblée @ http://www.lastfm.fr/user/shadoko/
Hors ligne
#4 Le 24/04/2006, à 12:02
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
C'est bizarre il est bien là le statoverride...
Regarde ses permissions d'accès avec ls -l, mais dpkg semble ne pas trouver le fichier
carrément...
Hors ligne
#5 Le 24/04/2006, à 12:11
- vhadoko
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
hum...
effectivement j'ai ça :
#################################
root@totoro:/home/shadoko# ls -l /var/lib/dpkg/
total 818265986
drwxr-xr-x 2 root root 4096 2006-04-02 13:34 alternatives
-rw-r--r-- 1 root root 16714197 2006-04-24 12:26 available
-rw-r--r-- 1 root root 16714197 2006-04-23 14:07 available-old
-rw-r--r-- 1 root root 8 2005-10-25 00:56 cmethopt
-rw-r--r-- 1 root root 3632 2006-01-29 13:23 diversions
-rw-r--r-- 1 root root 3736 2005-11-12 20:36 diversions-old
drwxr-xr-x 2 root root 167936 2006-04-02 13:35 info
-rw-r----- 1 root root 0 2006-04-24 12:28 lock
-rw-r----- 1 root root 0 2006-04-23 13:41 methlock
drwxr-xr-x 5 root root 4096 2005-10-25 01:08 methods
drwxr-xr-x 2 root root 4096 2005-09-24 19:39 parts
cr-srwSr-T 34571 2474499490 3514423582 1, 163 1970-06-16 05:59 statoverride
-rw-r--r-- 1 root root 30 2005-10-25 01:15 statoverride-old
-rw-r--r-- 1 root root 1399551 2006-04-24 12:26 status
-rw-r--r-- 1 root root 1399551 2006-04-24 12:25 status-old
drwxr-xr-x 2 root root 4096 2006-04-24 12:28 updates
###############################################
il y a un souci sur le statoverride !
comment je peux résoudre ça ? avec une commande chmod quelquechose ?
Shadoko
musique audioscrobblée @ http://www.lastfm.fr/user/shadoko/
Hors ligne
#6 Le 24/04/2006, à 12:23
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
OUCH !
statoverride est un fichier spécial périphique de type caractère chez toi ?? de nombres majeur/mineur 1,163 (heureusement que ça ne correspond à rien autant que je sache) sinon tu aurais pu avoir de gros dégats
Je vois qu'une chose pour réparer : supprimer /var/lib/statoverride et copier statoverride-old sous le nom statoverride
Hors ligne
#7 Le 24/04/2006, à 12:35
- vhadoko
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
hum !
c'est aussi la première fois que je vois ça !
et en plus, je n'ai pas les permissions pour le supprimer, renommer ou le déplacer ce satané fichier
en console avec rm > impossible
via konqueror en mode graphique > pas mieux
comment est-ce que je peux changer les droits ou forcer la suppression de cette "chose" ?
Shadoko
musique audioscrobblée @ http://www.lastfm.fr/user/shadoko/
Hors ligne
#8 Le 24/04/2006, à 13:08
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
un "sudo rm -f /var/lib/dpkg/statoverride" ne marche pas ??
Hors ligne
#9 Le 24/04/2006, à 13:13
- vhadoko
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
nan ! l'opération est non permise... un drôle de problème j'avoue
##############################
root@totoro:/var/lib/dpkg# rm -f statoverride
rm: ne peut enlever `statoverride': Opération non permise
#######################################
je ne vois pas comment faire...
Shadoko
musique audioscrobblée @ http://www.lastfm.fr/user/shadoko/
Hors ligne
#10 Le 24/04/2006, à 13:17
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
en complément, tu n'as qu'un seul fichier avec ces caractéristiques sur cette partition ?
un crash récent ?
rien dans lost+found ?
faire un e2fsck si ext2 / 3 et si la suppression n'est pas non plus possible avec un live cd, voir avec debugfs au besoin en faisant une image et en repérant l'inode ou avec un cat et le nom du fichier dans debugfs ouvert en w
#11 Le 24/04/2006, à 13:18
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
en outre, avant de faire un e2fsck faire une sauvegarde, si possible.
#12 Le 24/04/2006, à 13:22
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
Je me corrige : non pas cat mais stat sur le nom du fichier dans debugfs
#13 Le 24/04/2006, à 13:35
- vhadoko
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
non, je n'ai pas eu de crash récemment et le dossier /home/lost+found est vide
je ne comprends pas bien ce que tu me proposes de faire
- e2fsck, c'est pour vérifier les partitions c'est ça ?
- debugfs, comment ça marche ?
sinon, j'ai obtenu ce résultat étrange avec la commande stat sur le fichier statoverride
########################################
root@totoro:/home/shadoko# stat /var/lib/dpkg/statoverride
File: `/var/lib/dpkg/statoverride'
Size: 4281211082 Blocks: 1636460707 IO Block: 4096 fichier spécial de caractères
Device: 301h/769d Inode: 638996 Links: 34571 Device type: 1,a3
Access: (7564/cr-srwSr-T) Uid: (-1820467806/ UNKNOWN) Gid: (-780543714/ UNKNOWN)
Access: 1954-11-18 01:33:24.000000000 +0100
Modify: 1970-06-16 05:59:29.000000000 +0100
Change: 1998-10-24 01:18:20.000000000 +0200
#################################
les dates 1998 et 1970 me semblent louches ! aurais-je été "piraté" ou victime d'un virus ?
Shadoko
musique audioscrobblée @ http://www.lastfm.fr/user/shadoko/
Hors ligne
#14 Le 24/04/2006, à 13:41
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
essaye de renommer le fichier sous le nom "monster" et de copier ensuite le -old...
Hors ligne
#15 Le 24/04/2006, à 13:45
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
e2fsck est en effet pour vérifier le système de fichiers.
debugfs est pour réparer des problèmes sur les fichiers en "bas-niveau" mais on a vite fait des bêtises.
L'idée est de modifier ou supprimer ce fichier depuis debugfs puis de renommer le statoverride-old en supprimant old, si ton système de fichiers est en ext3
#16 Le 24/04/2006, à 13:47
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
Bon, inutile de multiplier les conseils.
Je te laisse avec YBM.
Cordialement.
cep
#17 Le 24/04/2006, à 13:52
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
je pense aussi qu'on évitera pas un e2fsck voire un debugfs, mais on devrait déjà pouvoir enlever ce satané fichier de sur la voie de dpkg
Hors ligne
#18 Le 24/04/2006, à 14:03
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
Oui, mais vu les droits sur le fichier et les caractéristiques, il va falloir jongler
#19 Le 24/04/2006, à 14:17
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
normalement pour renommer un fichier c'est les permissions sur le répertoire qui comptent.
Hors ligne
#20 Le 24/04/2006, à 14:26
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
? je ne comprends pas. Pour la destination, ok.
En outre, là le propriétaite est "inconnu". Voir le Uid et Gid du stat. De plus les ctime, atime et mtime sont incohérents.
#21 Le 24/04/2006, à 14:47
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
$ mkdir /tmp/toto
$ touch /tmp/toto/test
$ ls -la /tmp/toto/
total 0
drwxr-xr-x 2 jpierre jpierre 60 2006-04-24 15:40 .
drwxrwxrwt 11 root root 340 2006-04-24 15:39 ..
-rw-r--r-- 1 jpierre jpierre 0 2006-04-24 15:40 test
$ sudo chown 2345:2345 /tmp/toto/test
$ ls -la /tmp/toto/
total 0
drwxr-xr-x 2 jpierre jpierre 60 2006-04-24 15:40 .
drwxrwxrwt 11 root root 340 2006-04-24 15:39 ..
-rw-r--r-- 1 2345 2345 0 2006-04-24 15:40 test
$ whoami
jpierre
$ mv /tmp/toto/test /tmp/toto/test-renommé
$ ls -la /tmp/toto/
total 0
drwxr-xr-x 2 jpierre jpierre 60 2006-04-24 15:40 .
drwxrwxrwt 11 root root 340 2006-04-24 15:39 ..
-rw-r--r-- 1 2345 2345 0 2006-04-24 15:40 test-renommé
les propriétés d'un fichier (rwx) concernent l'accès à son contenu.
les opérations sur son nom (ou un des ses noms, un fichier peut en avoir plein - cf la commande 'ln') comme supprimer, renommer et déplacer sont en fait des opération sur le répertoire qui contient ce nom et sont donc permises ou non selon les permissions de ce répertoire.
(une exception cependant, si le répertoire à l'attribut 't' il faut être propriétaire du fichier pour pouvoir l'effacer, c'est le cas en particulier du répertoire /tmp : sinon tout le monde pourrait tout y effacer même les fichiers des autres utilisateurs)
Hors ligne
#22 Le 24/04/2006, à 14:57
- vhadoko
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
je crois que c'est résolu !
après une petite frayeur, des pertes de droit pour l'utilisateur de base (non root) et un reboot méchant, j'ai pu effectuer un fsck sur les partitions et il y avait pas mal d'erreurs en effet
le fichier statoverride dans /var/lib/dpkg n'existe plus mais adept et apt-get semble à nouveau fonctionner normalement
merci
Shadoko
musique audioscrobblée @ http://www.lastfm.fr/user/shadoko/
Hors ligne
#23 Le 24/04/2006, à 15:11
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
vhadoko : Content de voir que le fsck a suffit à réparer. Surveiller tout de même la partition.
@ YBM :
J'avoue ne pas comprendre ce que tu veux démontrer.
Dans le cas qui nous occupe /var/lib/ appartient à root donc je ne vois pas comment il pourrait renommer ce fichier puisqu'il n'a pas les droits sur le fichier.
:~# mkdir /tmp/lundi
:~# touch /tmp/lundi/test1
:~# ls -al /tmp/lundi/
total 12
drwxr-xr-x 2 root root 4096 2006-04-24 16:04 .
drwxrwxrwt 13 root root 8192 2006-04-24 16:03 ..
-rw-r--r-- 1 root root 0 2006-04-24 16:04 test1
:~# exit
exit
:~$ mv /tmp/lundi/test1 /tmp/lundi/test2
mv: ne peut déplacer `/tmp/lundi/test1' vers `/tmp/lundi/test2': Permission non accordée
Tu avais créé le répertoire /tmp/toto en $
#24 Le 24/04/2006, à 15:53
- YBM
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
Dans le cas qui nous occupe /var/lib/ appartient à root donc je ne vois pas comment il pourrait renommer ce fichier puisqu'il n'a pas les droits sur le fichier.
regarde mon exemple, le fichier appartient à un utilisateur quelconque (et même "non existant") avec aucun droit d'écriture sinon par son propriétaire... et pourtant j'ai le le droit de le renommer (et de l'effacer, de le déplacer etc)
Ton test ne marche pas parce que tu n'as justement pas le droit d'écriture sur le répertoire... J'avais volontairement créé le répertoire en mon nom afin d'y avoir le droit d'écriture, j'ai pu alors renommer un fichier sans en être propriétaire et sans avoir de droit d'écriture dessus.
Je ne faisait que rappeler la sémantique des droits sur les fichiers sous UNIX, relis la à tête reposée tu verras que c'est très simple.
Dernière modification par YBM (Le 24/04/2006, à 15:59)
Hors ligne
#25 Le 24/04/2006, à 16:16
- cep_
Re : [résolu] : E: Sub-process /usr/bin/dpkg returned an error code (2)
Attends YBM, si tu bases cela uniquement sur les droits des répertoires, il est évident que le propriétaire des répertoires a le droit de tout faire sur un fichier du répertoire.
Inutile de faire une démonstration pour cela, je le sais parfaitement. C'est le BA BA
C'est pour cela que je ne comprenais pas ce que tu voulais démontrer, et te disais que j'étais d'accord sur la destination. Mais en l'occurence, bien que root soit propriétaire de /var/lib, comme indiqué dans les messages d'erreur il n'avait pas les permissions sur ce fichier. DAns des conditions normales un sudo mv aurait du fonctionner. MAis déjà dpkg lancé par root ne lisait pas le fichier.
En un mot, et pour conclure, cela signifiait que ce n'était pas un problème de chmod et compagnie, mais un problème bien en amont, voir les caractéristiques du fichier.