Cómo usar un archivo swap en lugar de una partición de swap en Linux
Archivo swap en lugar de una partición swap
Este artículo explica cómo pasar de tener una partición swap a un archivo swap. No necesita deshabilitar ninguna partición swap existente y todo lo que necesita es crear un archivo swap y activarlo, simplemente omita los pasos 1 y 2.

En mi escritorio Ubuntu 18.04 tenía una partición de intercambio bastante grande que quería usar para otros fines, y mover el swap a un archivo. Ubuntu 18.04 ya usa un archivo swap de forma predeterminada en lugar de una partición swap, sin embargo, actualicé a la última versión de Ubuntu en lugar de hacer una instalación limpia, por lo que mi sistema continuó usando una partición swap. Por lo tanto, tuve que mover el swap a un archivo yo mismo.

Como resultado, las instrucciones a continuación se probaron en mi escritorio Ubuntu 18.04. Sin embargo, deberían funcionar en cualquier distribución de Linux.

La hibernación (al disco) ya no funcionará de fábrica cuando se utiliza un archivo de intercambio. Esto se puede hacer pero no puedo probarlo porque reanudar la hibernación no funcionaba en mi sistema anteriormente para cambiar a un archivo de intercambio, así que simplemente dejé de usar la hibernación. Además, la mayoría de las distribuciones de Linux usan suspender (a RAM) en lugar de hibernar (a disco) de forma predeterminada. Si necesita habilitar la hibernación con un archivo de intercambio, hay información aquí. Suspender (a ram) no se ve afectado por esto..

Cómo mover Swap a un archivo en su sistema de archivos Linux

1. Apague su partición swap actual.

Para ver la partición swap que esta activa, ejecute:

swapon -s

La salida del comando en mi caso se ve así :

Filename    Type        Size       Used   Priority
/dev/sda5   partition   15624188   0      -2

Ahora puede apagar la particion swap actual con este comando:

sudo swapoff /dev/sdXX

Donde /dev/sdXX es el dispositivo listado por el comando swapon -s (en la sección Nombre de archivo – /dev/sda en mi caso del ejemplo anterior), así que asegúrese de reemplazarlo con su partición de intercambio

2. Elimine su entrada del swap anterior del archivo /etc/fstab.

Para eliminar la entrada del swap anterior, abra el archivo /etc/fstab como root con un editor de texto y elimine la línea del swap. ¡No modifique nada más en el archivo /etc/fstab ¡Cambiar cualquier otra cosa en este archivo puede evitar que su sistema se inicie!

Puede abrir el archivo con el editor Nano desde la línea de comandos, de esta manera:

sudo nano /etc/fstab

Y elimine la entrada que contiene la información de la partición del swap (también puede comentar la línea agregando un # ). Como ejemplo, en mi caso la entrada de swap se ve así:

UUID=d1b17f9c-9c5e-4471-854a-3ccaf358c30b none swap sw 0 0

Como puede ver, la entrada de intercambio debe contener swap y sw – así es como sabe qué línea eliminar (o comentar).
Luego presione Ctrl + O, luego Enter para guardar el archivo. Para salir de Nano editor después de haber guardado el archivo, presione Ctrl + X.

3. Cree un archivo de swap.

Para crear un archivo swap de 1 GB, use este comando:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

Dónde:
/swapfile es la ruta del archivo swap, Puedes cambiar esto a otra cosa.

el numero despues count (1048576) es igual a 1GB. Aumente si desea usar un archivo swap más grande. Por ejemplo, multiplique este número por 5 si desea usar un archivo swap de 5GB (así que use 5242880 como count= valor para un archivo swap de 5 GB).

4. Establezca el permiso de archivo swap en 600.

Use esto para que otros usuarios no puedan leer su archivo swap, que puede contener información confidencial. Para establecer el permiso del archivo swap en 600, use este comando:
sudo chmod 600 /swapfile

5. Formato del archivo recién creado como swap:

sudo mkswap /swapfile

6. Habilite el archivo swap recién creado:

sudo swapon /swapfile

Para comprobar si el nuevo archivo swap está en uso, ejecute:

swapon -s

Debería generar algo como esto:

Filename    Type   Size      Used   Priority
/swapfile   file   5242876   0      -2

7. Agregue el archivo swap recién creado a /etc/fstab.

Para usar el nuevo archivo swap cada vez que inicie, deberá agregarlo al archivo /etc/fstab . Abra /etc/fstab con un editor de texto Nano (como root):

sudo nano /etc/fstab

Y en este archivo agregue la siguiente línea:

/swapfile none swap sw 0 0

Para guardar el archivo (si ha usado el editor de línea de comando Nano) presione Ctrl + O, luego Intro. Para salir del editor Nano después de haber guardado el archivo, presione Ctrl + X. Nuevamente, ¡recuerde no modificar nada más en el archivo /etc/fstab ¡Cambiar cualquier otra cosa en este archivo puede evitar que su sistema se inicie!

8. Este paso es necesario para las distribuciones de Linux basadas en Ubuntu y Debian (no estoy seguro si otros también lo necesitan).

Debe editar el archivo /etc/initramfs-tools/conf.d/resume y comentar (agregue un # al comienzo de la línea) la línea RESUME=UUID=… En mi caso, no hacerlo resultó en unos 15-20 segundos de tiempo de arranque adicional. El comando systemd-analyze blame no dio ninguna información sobre por qué está sucediendo, así que tuve que cavar un poco para descubrir que esto es lo que está causando el retraso del arranque.
Afortunadamente, me di cuenta de que durante un breve momento se mostraba el mensaje “Me quedé esperando la suspensión / reanudación del dispositivo” durante el arranque, que puede ser causa al no tener el UUID de swap correcto en /etc/initramfs-tools/conf.d/resume.
Este archivo se usa cuando se reanuda desde la hibernación, y causó retrasos en el arranque porque ya no tenemos una partición swap.
Para comentar esta línea en /etc/initramfs-tools/conf.d/resume, todo lo que tiene que hacer es ejecutar el siguiente comando:

sudo sed -i 's/^RESUME=UUID/#RESUME=UUID/g' /etc/initramfs-tools/conf.d/resume

También necesitará actualizar initramfs y después de eso habrá terminado:

sudo update-initramfs -u

0 Comentarios

Deja un comentario

A %d blogueros les gusta esto: