Сравнение производительности драйверов e1000 и virtio-pci

La respuesta depende de cómo surgió este error.

Podría suceder si arrancó un kernel más nuevo y actualizó su sistema de archivos ext4 a una versión más nueva, que su kernel predeterminado no es totalmente compatible. Si es así, la solución puede ser tan simple como arrancar nuevamente en ese kernel más nuevo y desmontar limpiamente el sistema de archivos.

Sin embargo, si "no hizo nada" y el error apareció solo, puede indicar una corrupción aleatoria del hardware. En ese caso, sería prudente hacer primero una copia de seguridad de todos los datos que necesita (; en realidad, siempre es una buena idea hacer una copia de seguridad ). Puede usar scp/ sftppara hacer una copia de seguridad de todos los datos importantes en su estación de trabajo, o si tiene algún otro servidor disponible, haga una copia de seguridad completa del sistema, por ejemplo:

otherserver# nc -l -p 8080 > brokenserver-backup.tar.gz
brokenserver# tar zcf - / | nc otherserver.example.com 8080

Después de tener una copia de seguridad que funcione, debe obtener una e2fsckmás nueva como sugirió @G -Man. Sin embargo, como descubrió, necesita la versión compilada/vinculada estáticamente de e2fsck, o arrojará un error sobre la falta de bibliotecas dinámicas. Aquí está cómo hacerlo.

Para hacerlo, primero debe descargar la versión estática. Lo bueno de eso es que puede ser para cualquier distribución GNU/Linux. prefiero los dehttp://packages.debian.org/e2fsck-static:

su
cd /run
wget http://ftp.de.debian.org/debian/pool/main/e/e2fsprogs/e2fsck-static_1.44.2-1~bpo9+1_amd64.deb

Alternativamente, puede descargarlo en su estación de trabajo y usar un cliente sftpcomo Filezilla para copiarlo en el directorio /runen un servidor dañado.

Luego, debe descomprimirlo. Para .deb, usa ary tar.

brokenserver:/run# ar xv e2fsck-static_1.44.2-1~bpo9+1_amd64.deb 
x - debian-binary
x - control.tar.gz
x - data.tar.xz

brokenserver:/run# tar Jxvf data.tar.xz 
./
./sbin/
./sbin/e2fsck.static
./usr/
./usr/share/
./usr/share/doc/
./usr/share/doc/e2fsck-static/
./usr/share/doc/e2fsck-static/changelog.Debian.gz
./usr/share/doc/e2fsck-static/copyright
./usr/share/man/
./usr/share/man/man8/
./usr/share/man/man8/e2fsck.static.8.gz

Nota:si ardescomprimió data.tar. gzen lugar de data.tar. xz , entonces usaría tar zxvf data.tar.gzpara descomprimir. Además, si echa de menos algunas de las herramientas (ar, tar, gzip,xz)o se queda sin espacio, puede desempaquetar esto en cualquier otro servidor o estación de trabajo GNU/Linux y copiar solo el sbin/e2fsck.staticarchivo a servidor roto.

luego, finalmente llegas a fsck:

brokenserver:/run# chmod 755 /run/sbin/e2fsck.static
brokenserver:/run#./sbin/e2fsck.static /dev/vda

Tenga en cuenta que:si obtiene el error "Permiso denegado" , probablemente se deba a que su /runestá montado noexec(no en su caso, pero lo fue, usted lo arreglaría con mount -oremount,exec /run, o porque descargó una arquitectura incorrecta (, por ejemplo, amd64binario en el antiguo i386-, consulte arch (1)). strace (1)le daría más información al final, como:

execve("/run/sbin/e2fsck.static", ["/run/sbin/e2fsck.static"], [/* 22 vars */]) = -1 ENOEXEC (Exec format error)

o

execve("/run/sbin/e2fsck.static", ["/run/sbin/e2fsck.static"], [/* 22 vars */]) = -1 EACCES (Permission denied)

8
16.01.2020, 00:56
0 ответов

Теги

Похожие вопросы