¿Qué significa "Error al leer encabezado de intercambio: éxito"?


9

Estoy tratando de instalar Arch Linux (de la instantánea 2014-04-01). Hice un archivo de intercambio y lo intenté swapon, pero recibí un mensaje de error (?) Que no entiendo.

He ejecutado

fallocate -l 512M /mnt/sda2/swapfile
chmod 600 /mnt/sda2/swapfile
swapon /mnt/sda2/swapfile

y la salida es

swapon: /mnt/sda2/swapfile: read swap header failed: Success

y tengo :(al final de mi línea de comando. Entonces, ¿tuvo éxito o fracasó? ¿No es así cómo configurar un archivo de intercambio?

Respuestas:


18

¿No es así cómo configurar un archivo de intercambio?

Creo que te perdiste un paso en el medio chmody swapon:

mkswap /mnt/sda2/swapfile

En cuanto al error oximorómico ...

swapon: / mnt / sda2 / swapfile: error al leer encabezado de intercambio: éxito

Lo que esto significa literalmente es que hay un error en el swaponcódigo, pero no necesariamente uno relacionado con su funcionamiento primario.

Las funciones de la biblioteca C a menudo utilizan errno , una variable global que almacena un código de error. La función en sí devolverá un valor que indica que se produjo un error (cualquier error), y se almacenará la naturaleza exacta de ese error errno. La idea es que si obtiene una indicación de un error, puede verificar el valor de errnopara ver exactamente qué es.

También hay una strerror()función de biblioteca que tomará un valor errno (son enteros) y devolverá una cadena de lenguaje humano relacionada con él. Uno de ellos es Success, que corresponde a un código de error de 0 (es decir, sin error).

Entonces, cuando vea algo como esto, indica un error como:

  • Obteniendo un error, luego llamando a otra función (con éxito) que restablece errno a 0 detrás de escena, luego usando errno para determinar los detalles específicos del error que recibió antes de llamar a la segunda función.

Y / o

  • Al pasar strerror()una variable a la que se suponía que se le había asignado el valor de errno en algún momento (para evitar que ocurriera el error anterior), pero no fue así.

Tienes dos votos a favor si pudiera: el mkswapy errno.
Aaron D. Marasco el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.