Impossible de verrouiller / var / lib / dpkg / lock (lecture seule)


11

J'essayais d'installer ruby ​​sur mon serveur distant (il s'agit d'une machine vm (debian) sur un serveur esxi.) J'ai eu cette erreur:

La commande:

sudo apt-get install ruby1.8

Erreur :

W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to write to /var/cache/apt/
E: The package lists or status file could not be parsed or opened.

alors j'ai essayé:

sudo dpkg --configure -a 

Production:

dpkg: unable to access dpkg status area: Read-only file system 

METTRE À JOUR:

sortie de montage

/dev/sda3 on / type ext4 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 on /boot type ext4 (rw)
/dev/sdb1 on /home type ext4 (rw)

mount: warning: /etc/mtab is not writable (e.g. read-only filesystem).
       It's possible that information reported by mount(8) is not
       up to date. For actual information about system mount points
       check the /proc/mounts file.

MISE À JOUR2:

cat /proc/mounts


rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
none /proc proc rw,nosuid,nodev,noexec,relatime 0 0
none /dev devtmpfs rw,relatime,size=1553128k,nr_inodes=216450,mode=755 0 0
none /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/disk/by-uuid/cf4fb4ae-6d12-407b-bf43-3b0daaaaaf74 / ext4 ro,relatime,errors=remount-ro,barrier=1,data=ordered 0 0
tmpfs /lib/init/rw tmpfs rw,nosuid,relatime,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
/dev/sda1 /boot ext4 rw,relatime,barrier=1,data=ordered 0 0
/dev/sdb1 /home ext4 rw,relatime,barrier=1,data=ordered 0 0

UDPDATE 3

sortie de dmesg(une dernière partie)

[1968636.237601] JBD2: Detected IO errors while flushing file data on sdb1-8
[1968772.229102] JBD2: Detected IO errors while flushing file data on sdb1-8
[1968789.799409] IPv6 addrconf: prefix with wrong length 56
[1968990.325125] IPv6 addrconf: prefix with wrong length 56
[1969190.801848] IPv6 addrconf: prefix with wrong length 56
[1969192.245363] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969197.698223] IPv6 addrconf: prefix with wrong length 56
[1969223.105506] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969349.119764] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969398.205686] IPv6 addrconf: prefix with wrong length 56
[1969598.713179] IPv6 addrconf: prefix with wrong length 56
[1969607.241633] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969799.220758] IPv6 addrconf: prefix with wrong length 56
[1969825.462909] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969831.231049] JBD2: Detected IO errors while flushing file data on sdb1-8
[1969999.728348] IPv6 addrconf: prefix with wrong length 56
[1970200.247944] IPv6 addrconf: prefix with wrong length 56
[1970221.321558] JBD2: Detected IO errors while flushing file data on sdb1-8
[1970253.105491] JBD2: Detected IO errors while flushing file data on sdb1-8

/var/log/syslog production:

entrez la description de l'image ici


La sortie de mountn'est pas fiable, d'autant plus que votre fs racine semble être en lecture seule. Pouvez-vous également publier la sortie de cat /proc/mounts?
mrb

veuillez vérifier la mise à jour2
Subhransu Mishra

Réponses:


11

Votre système de fichiers racine ( /) est monté en lecture seule comme le montre la /dev/disk/...ligne /proc/mounts. La raison pourrait être qu'une erreur de disque a été détectée au démarrage ( errors=remount-rooption) ou une erreur d'E / S ultérieure.

Vérifiez les journaux du noyau pour toute erreur avec la dmesgcommande et recherchez dans /var/log/syslogou /var/log/messages(mais notez que ces fichiers ne contiennent probablement pas les dernières entrées du journal). S'il y a des erreurs d'E / S, vous devrez peut-être remplacer le disque. Sinon, démarrez en mode mono-utilisateur et exécutez fsck.ext4 UUID=cf4fb4ae-6d12-407b-bf43-3b0daaaaaf7pour tenter de corriger les erreurs.

Si fsckaucune erreur n'est signalée et qu'il est toujours en lecture seule au redémarrage, vous pouvez exécuter:

sudo mount / -o remount,rw 

pour essayer de monter le disque en lecture-écriture.

La consultation des fichiers journaux /var/log/n'aide pas beaucoup, car elle est pour le moment en lecture seule.


Souvent, la raison pour laquelle /var/lib/dpkg/lockil ne peut pas être verrouillé est qu'une mise à jour automatique du système s'exécute en arrière-plan, mais dans votre cas, elle se plaint spécifiquement d'un système de fichiers en lecture seule.


J'allais à +1cela, mais il est dangereux de remonter aveuglément rw à moins que vous ne sachiez pourquoi c'est ro en premier lieu. Il vaut mieux simplement redémarrer en mode mono-utilisateur et exécuter fsck. Ce n'est que s'il est propre (ou réparé) que vous devez redémarrer à l'état rw. Si c'est propre et qu'il monte toujours, essayez peut-être de forcer les choses.
bahamat

@bahamat Merci pour votre commentaire, j'ai changé ma réponse en conséquence.
jofel

@jofel Veuillez vérifier la mise à jour3 - la sortie de dmesg, il semble comme son problème io. quelle devrait être ma prochaine étape?
Subhransu Mishra

@jofel dois-je faire un tune2fs -c 0 -i 0d /dev/sda3redémarrage du système?
Subhransu Mishra

@Subhransu Selon l'importance des données sur votre partition système racine, j'essaierais d'abord de faire une sauvegarde. Je voudrais ensuite démarrer en mode mono-utilisateur (mode de récupération), puis exécuter fsck manuellement. Le fsck automatique ne rapporte souvent que des erreurs mais ne les corrige pas. Evitez donc les E / S inutiles sur un disque cassé possible. La fonction SMART du disque aide parfois à détecter si le disque est vraiment cassé.
jofel
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.