Estaba tratando de instalar ruby en mi servidor remoto (esta es una máquina vm (debian) en un servidor esxi). Recibí este error:
El comando:
sudo apt-get install ruby1.8
Error:
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.
entonces intenté:
sudo dpkg --configure -a
Salida:
dpkg: unable to access dpkg status area: Read-only file system
ACTUALIZAR:
salida de montaje
/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.
ACTUALIZACIÓN2:
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
salida de dmesg
(alguna última parte)
[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
salida:
mount
no es confiable, especialmente porque su raíz fs parece ser de solo lectura. ¿Puedes publicar la salida decat /proc/mounts
también?Respuestas:
Su sistema de archivos raíz (
/
) está montado de solo lectura como se muestra/dev/disk/...
en la línea/proc/mounts
. La razón de esto podría ser que se detectó un error de disco en el arranque (errors=remount-ro
opción) o un error de E / S posterior.Verifique los registros del kernel en busca de errores con el
dmesg
comando y busque/var/log/syslog
o/var/log/messages
(pero tenga en cuenta que estos archivos probablemente no contienen las últimas entradas de registro). Si hay algún error de E / S, es posible que deba reemplazar el disco. Si no, inicie en modo de usuario único y ejecútelofsck.ext4 UUID=cf4fb4ae-6d12-407b-bf43-3b0daaaaaf7
para intentar corregir los errores.Si
fsck
no informa errores y sigue siendo de solo lectura al reiniciar, puede ejecutar:para intentar montar el disco de lectura-escritura.
Mirar los archivos de registro
/var/log/
no ayuda mucho, ya que actualmente es de solo lectura.A menudo, la razón por la
/var/lib/dpkg/lock
que no se puede bloquear es que una actualización automática del sistema se ejecuta en segundo plano, pero en su caso se queja específicamente de un sistema de archivos de solo lectura.fuente
+1
esto, pero es peligroso volver a montar ciegamente a menos que sepas por qué es ro en primer lugar. Es mejor reiniciar en modo de usuario único y ejecutarfsck
. Solo si está limpio (o fijo) debe reiniciar al estado rw. Si está limpio y sigue montando ro, entonces quizás intente forzar las cosas.tune2fs -c 0 -i 0d /dev/sda3
y reiniciar el sistema?