Ich habe versucht, Ruby auf meinem Remote-Server zu installieren (dies ist ein VM-Computer (Debian) auf einem ESXI-Server.) Ich habe folgende Fehlermeldung erhalten:
Der Befehl:
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.
dann habe ich versucht:
sudo dpkg --configure -a
Ausgabe:
dpkg: unable to access dpkg status area: Read-only file system
AKTUALISIEREN:
Ausgabe von Mount
/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.
UPDATE2:
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
Ausgabe von dmesg
(ein letzter Teil)
[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
Ausgabe:
mount
ist nicht zuverlässig, zumal Ihre Root-Fs schreibgeschützt zu sein scheinen. Können Sie auch die Ausgabe von postencat /proc/mounts
?Antworten:
Ihr Root-Dateisystem (
/
) ist schreibgeschützt gemountet, wie die/dev/disk/...
Zeile in/proc/mounts
zeigt. Der Grund dafür könnte sein, dass beim Booten (errors=remount-ro
Option) oder einem nachfolgenden E / A-Fehler ein Festplattenfehler festgestellt wurde .Überprüfen Sie die Kernel-Protokolle mit dem
dmesg
Befehl auf Fehler und suchen Sie in/var/log/syslog
oder/var/log/messages
(beachten Sie jedoch, dass diese Dateien wahrscheinlich nicht die letzten Protokolleinträge enthalten). Wenn E / A-Fehler auftreten, müssen Sie möglicherweise die Festplatte austauschen. Wenn nicht, starten Sie im Einzelbenutzermodus und führen Siefsck.ext4 UUID=cf4fb4ae-6d12-407b-bf43-3b0daaaaaf7
ihn aus, um die Fehler zu beheben.Wenn
fsck
keine Fehler gemeldet werden und es beim Neustart immer noch schreibgeschützt ist, können Sie Folgendes ausführen:um zu versuchen, die Festplatte mit Lese- / Schreibzugriff zu mounten.
Das Betrachten der Anmeldedateien
/var/log/
hilft nicht viel, da es derzeit schreibgeschützt ist.Der Grund, warum
/var/lib/dpkg/lock
nicht gesperrt werden kann, ist häufig, dass ein automatisches Systemupdate im Hintergrund ausgeführt wird. In Ihrem Fall wird jedoch speziell über ein schreibgeschütztes Dateisystem geklagt.quelle
+1
aber es ist gefährlich, rw einfach blind wieder zu montieren, es sei denn, Sie wissen, warum es überhaupt ro ist. Es ist besser, einfach im Einzelbenutzermodus neu zu starten und auszuführenfsck
. Nur wenn es sauber (oder repariert) ist, sollten Sie wieder in den rw-Zustand booten. Wenn es sauber ist und immer noch wächst, versuchen Sie vielleicht, Dinge zu erzwingen.tune2fs -c 0 -i 0d /dev/sda3
und das System neu starten ?