¿Cómo agrego el intercambio después de la instalación del sistema?

153

No creé una partición de intercambio durante la instalación de Ubuntu. Más tarde, liberé algo de espacio e hice una partición de intercambio. Ahora, después de cada arranque, estoy abriendo manualmente gpartedpara hacer clic derecho en la partición de intercambio para activar la opción 'swapon'.

¿Cómo puedo habilitar automáticamente la partición de intercambio en el arranque?

Además, si no hubiera creado la partición de intercambio, ¿cuáles son mis otras opciones?

xiota
fuente

Respuestas:

132

Necesita editar /etc/fstaby agregar la nueva partición de intercambio.

sudo nano /etc/fstab

Necesita agregar una línea que se vea como

UUID=735b3be3-779c-4d21-a944-b033225f3ab4 none   swap    sw      0       0

y obtienes el UUID usando el comando

sudo blkid /dev/sda3

(sustitúyalo /dev/sda3por el nombre del dispositivo apropiado).

Relacionado:

usuario4124
fuente
Necesito ayuda para / etc / fstan estoy obteniendo resultados: - bash: / etc / fstab: Permiso denegado
Ashu_FalcoN
Use sudo gedit / etc / fstab
3
Para encontrar el nombre del dispositivo apropiado: sudo fdisk -l(de: askubuntu.com/questions/182446/… ) y luego busque Tipo: intercambio de Linux.
NumesSanguis
1
sudo blkid /dev/sda4no imprime nada para mí (sda4 es una partición recién creada con el código 82h, fdisk dice que es la partición "Linux swap / Solaris").
Egor Skriptunoff
1
@ elvis.dukaj está perfectamente bien usar también el nombre del dispositivo. Básicamente expresan dos cosas diferentes. Uno dice que use el volumen con exactamente ese UUID (algo que cambiará con otra mkswapejecución) y el otro dice que use la partición primaria número 3 del disco /dev/sda. Algunos prefieren UUID porque incluso si la asignación de nombres de dispositivo cambia, los UUID seguirían siendo los mismos. Entonces es por eso que la diferencia importa. Pero si está seguro de que no va a repartir el disco, /dev/sda3debería ser igualmente seguro de usar.
0xC0000022L
106

Para crear una partición de intercambio después de la instalación, cree una partición vacía. No debe tener agujeros. Luego puede formatear esta partición con:

sudo mkswap /dev/sdX

reemplazando /dev/sdXcon su partición. Monte esta partición como intercambio con

sudo swapon -U UUID

donde UUID es el de su /dev/sdXlectura de esto:

blkid /dev/sdX

Vincula tu nuevo intercambio /etc/fstabagregando esta línea:

UUID=xxx    none    swap    sw      0   0

Si desea utilizar su intercambio para hibernar, entonces necesita actualizar el UUID /etc/initramfs-tools/conf.d/resumecon este contenido RESUME=UUID=xxx. No te olvides de hacerlo $ sudo update-initramfs -u.

Para completar cosas: también es posible crear un archivo de intercambio si no tiene una partición de repuesto. Esta respuesta le da una idea de cómo crear un archivo de intercambio y habilitarlo en el arranque.

Takkat
fuente
A partir de ahora, tengo una SSD con dos particiones, pero me gustaría hacer una tercera. Si tengo una partición ext4 primaria que contiene el sistema operativo y mis archivos, ¿puedo usar esto para pelar 2GB en una nueva partición? Esta partición primaria tiene más que suficiente espacio libre, por lo que no debería ser un problema.
dustin
2
Mira gpartedpara cambiar el tamaño de tu partición.
NumesSanguis
54

En caso de que no desee o no esté seguro de cómo crear una partición de intercambio, puede crear un archivo de intercambio que funcionará de la misma manera que la partición. Aquí están los pasos (usando terminal):

  1. Cree un archivo vacío (1K * 4M = 4 GiB).

    sudo mkdir -v /var/cache/swap
    cd /var/cache/swap
    sudo dd if=/dev/zero of=swapfile bs=1K count=4M
    sudo chmod 600 swapfile
    
  2. Convierta el archivo recién creado en un archivo de espacio de intercambio.

    sudo mkswap swapfile
    
  3. Habilite el archivo para paginación e intercambio.

    sudo swapon swapfile
    

    Verificar por: swapon -so top:

    top -bn1 | grep -i swap
    

    Debe mostrar una línea como: KiB Swap: 4194300 total, 4194300 free

    Para deshabilitar, use el sudo swapoff swapfilecomando.

  4. Agréguelo al fstabarchivo para que sea persistente en el próximo inicio del sistema.

    echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    
  5. Vuelva a probar el archivo de intercambio al inicio:

    sudo swapoff swapfile
    sudo swapon -va
    

    Nota: los comandos anteriores vuelven a verificar la sintaxis del fstabarchivo; de lo contrario, su Linux no podría iniciarse correctamente.

kenorb
fuente
13
Gracias por la única respuesta que utiliza un archivo de intercambio y no una partición de intercambio. En este caso no pude crear una partición. Los comandos funcionaron muy bien.
Sarel Botha
2
Para aquellos que necesitan un espacio de intercambio de mayor tamaño, aumente el conteo = 4M, a XM, para el espacio de intercambio X GiB. En caso de que alguien se lo haya perdido.
saurabheights
No estoy seguro sobre el paso 5. ¿Por qué debería desactivar el intercambio para probar?
Raffi Khatchadourian
@RaffiKhatchadourian Volver a probar al final ayuda a verificar la sintaxis del fstabarchivo (contra cualquier error tipográfico), de lo contrario, Linux puede no arrancar correctamente y causar problemas de inicio importantes, especialmente en servidores remotos.
kenorb
1
Ah, ahora entiendo. Debe hacer eso antes de reiniciar. Me sorprendió el arranque.
Raffi Khatchadourian
13

Hay una forma gráfica de hacer esto usando gparted.

Ejecutar Gparted con:

sudo gparted

Si no lo tiene instalado, puede instalarlo usando

sudo apt-get install gparted

Una vez que gparted se está ejecutando:

  1. Asigne la partición como lo haría haciendo clic derecho en cualquier bloque no asignado y haciendo clic new
  2. Formatee la partición como linux-swap
  3. Haga clic derecho en la partición y haga clicswapon

Debería haber un icono de llave junto al nombre de su partición una vez que haya terminado

Carlos V
fuente
con mucho, la respuesta más simple
Shobi
1
Para hacerlo permanente, aún debe editar el archivo fstab como se indica en la respuesta de @ user4124
Madura Pradeep
1
La pregunta ya dice que hacen esto.
Chai T. Rex
1
Esto no responde a la pregunta en absoluto.
mook765
@ mook765, la pregunta es "¿Cómo agrego el intercambio después de la instalación del sistema?". Esto responde perfectamente a esa pregunta.
Tayler
3

desde linux.com simplemente cree un archivo de intercambio, ya que es más flexible y puede ajustar dinámicamente cuántos almacenamientos de intercambio tiene. Eso también le permite mover la partición de intercambio lejos del disco de su sistema, haciendo que el sistema sea más rápido. Además, si usa varios espacios de intercambio, ajuste su prioridad de uso al mismo valor, de modo que se use round-robin para escribir en ellos, lo que le permite obtener aún más mejoras de velocidad.

PD: usaría UUID en lugar del nombre del dispositivo, porque es posible cambiar fácilmente el orden del dispositivo si, por accidente, deja el almacenamiento USB dentro de la ranura USB y simplemente quita y vuelve a enchufar los cables sata; no necesita preocuparse mucho por qué unidad está conectada dónde.

Osis
fuente
Esta fue la respuesta más útil, ya que no requiere volver a particionar la unidad. ¡Lástima que Ubuntu no cree el intercambio por defecto cuando lo instala en una nueva máquina!
Ernie
2

Debe tener un sistema de archivos de intercambio definido en / etc / fstab. Debe contener una línea similar a

UUID=67682d1b-a1d8-4377-a3dd-67340c141619 none            swap    sw              0       0

Por supuesto, debe sustituir el valor de UUID con el identificador de su dispositivo.

Adam Byrtek
fuente
¿Cómo puedo obtenerlo?
3
En su lugar, puede usar el nombre del dispositivo, como / dev / sda1 (sin el UUID).
Adam Byrtek
2

(reemplace la "x" en sdax con el número de partición de intercambio, por ejemplo: sda5)

reemplace "xxx" con el número de UUID, por ejemplo: 67682d1b-a1d8-4377-a3dd-67340c141619)


su (dar contraseña para obtener permiso de root)

blkid / dev / sdax (obtener UUID) mkswap / dev / sdax (partición de intercambio de formatos) swapon -U xxx

nano / etc / fstab (editar fstab) UUID = xxx none swap sw 0 0 (ingrese y guarde este texto para que el intercambio sea permanente) (luego cierre fsantab)


nano /etc/initramfs-tools/conf.d/resume (cree el archivo "resume" y guarde este texto para usar hibernate / resume) RESUME = UUID = xxx (ctrl + x para cerrar nano) -> (y para guardar)

reiniciar la máquina

inicie sesión y ahora puede probar hibernar / reanudar

wmameer
fuente
2

Este es un completo tutorial sobre cómo hacer una unidad Ram para Ubuntu. Desafortunadamente ... las capturas de pantalla no se muestran en este modo mediante cortar y pegar. Más tarde las agregaré, pero no son necesarias.

Lo primero que debe hacer es crear espacio para su unidad RAM. Tengo un sistema de arranque dual con solo un disco duro de 32 gb. Mi Ubuntu está realmente instalado en una tarjeta SD (sí, una instalación real y no una cosa de Live Casper). Mi intercambio también estaba en la SD y podría desgastarse rápidamente. Busqué cómo cambiar el intercambio y encontré este artículo y no me gustaron las respuestas, así que hice un tutorial mientras hacía el cambio.

Si simplemente desea aumentar o disminuir su partición Swap, solo necesita aumentar o disminuir la partición a través de su administrador de particiones favorito. Ubuntu ya sabe a dónde ir y es independiente del tamaño. Si desea cambiar la ubicación o hacer un nuevo intercambio, siga leyendo. Lo primero que tendrá que hacer es reducir su disco duro para proporcionar espacio para un intercambio. Si está reduciendo un disco con el sistema de Windows, será mejor que use Windows para reducir el tamaño del disco (conoce sus propias cosas). Si está en un ubuntu puro, intente cambiar el tamaño utilizando un USB Ubuntu en vivo.

Instrucciones de cambio de tamaño de Windows:

  1. Haga una copia de seguridad de su sistema y desfragmente su unidad.
  2. Haga clic derecho en la barra de inicio.
  3. Seleccione Administración de discos
  4. Haga clic derecho en la unidad correcta
  5. Selecciona Shrink.
  6. Escriba la cantidad correcta.

Si estás en Ubuntu. Asegúrate de usar las herramientas de Ubuntu. Para finalizar la asignación, usaré un Live USB de arranque de Ubuntu que incluye GParted. Un Live USB es la mejor manera de usar Gparted por cualquier motivo, y debe tener un USB desde su primera instalación o hacer uno para tenerlo a mano.

No se permitió escribir en 2000 porque no había suficiente espacio para hacerlo a pesar de que había "desfragmentado" el disco (no creo que Windows realmente lo haya desfragmentado). Con algo de experimentación, me permitieron 1000. Luego intenté 1000 nuevamente y funcionó. Debo agradecer a mi maestro de matemáticas de la escuela primaria por eso más que los programadores de MS Windows. Eso me dejó con 1.95gb, que es lo suficientemente cerca para mis matemáticas de la escuela primaria.

Formatear la partición

Ahora estoy listo para que gparted formatee ese espacio como una unidad de intercambio adecuada. Si está en Windows y alterna entre Ubuntu y Windows, ASEGÚRESE DE QUE SOSTIENE LA TECLA SHIFT al hacer clic en "Encendido" y "Apagar". Esto es muy importante, especialmente cuando está jugando con los detalles de la unidad "C" en otro sistema operativo. Si tiene un arranque dual, ya debe saber que Windows hace un apagado falso en circunstancias normales. Algunas personas han deshabilitado el "Arranque rápido". No tengo esa opción en mi sistema (Windows 10) y debo usar la tecla shift gracias a mi amigo Google. Si arranca con un USB en vivo y no puede montar la unidad "C" (haciendo clic en él), entonces no se apagó completamente. Vuelva a cargar las ventanas y apáguelo nuevamente con la tecla Mayús

Ahora estás en Ubuntu Live Mode y lee a continuación:

Si es un Ubuntu puro y no se redujo en Windows. Utilizará la opción Cambiar tamaño en gParted. Si ya redujo su unidad, no realice el paso de cambio de tamaño. Puede escribir GParted en la barra de Tablero y obtener la aplicación con bastante rapidez. Haga clic derecho en la unidad que desea cambiar de tamaño.

Ahora formatearemos el espacio no asignado como una unidad particionada:

Antes de:

No sabía qué hacer, así que miré mi anterior Ram Drive en la SD. Está formateado como Linux Swap. Así que formateé mi nueva asignación que recientemente reduje también como Linux Swap.
¡Dije OK a la Partición primaria y al aviso de advertencia y funcionó!

Formateando la partición

Después del formato y la nueva partición

Es una coincidencia que la partición de intercambio de edad en la sdera llamado mmblk1p5y uno nuevo también p5con la mmblk0frente. El tuyo podría ser p6 o p7. No te preocupes

El mmblk0es el disco físico y p es la partición en ese disco físico. Y mmblk01es otro disco físico, etc. (Esa es mi SD) Antes de seguir trabajando, abrí Windows nuevamente para asegurarme de que Windows todavía se iniciaba. No necesita hacer este paso si es flojo o está en una máquina ubuntu pura. Si se rompió Windows, probablemente borraría Windows para hacer una nueva instalación de Ubuntu en ese disco (con un intercambio también). Si rompiera mi sistema, no necesitaría seguir más pasos porque puedo asignar el intercambio en la nueva instalación. Todo salió bien y Windows arrancó. Ahora puede ver la nueva partición en el administrador de discos de Windows: (Haga clic derecho en la barra de inicio para obtener la administración del disco)

Ahora adjunte el intercambio a la rutina de arranque

Las respuestas anteriores a esta pregunta en realidad tenían comandos swapon / off que no son necesarios y pueden ser complejos. Todo lo que hay que hacer es encontrar el archivo correcto y apuntar el intercambio a la nueva partición. Nuevamente, si solo redimensionó la partición, no necesita hacer nada. Ya está configurado para encontrar la partición. El tamaño se realiza automáticamente.

Si cambió la partición o está haciendo un primer intercambio, lea a continuación:

Déjame decirte que esta es la primera vez que hago esto. No soy un geek de UNIX y prefiero las herramientas GUI. Estoy aprendiendo y cruzando los dedos mientras hago este tutorial. Todo ha ido bien hasta ahora. En la raíz de su sistema hay un directorio llamado, etc. Dentro de ese directorio hay un archivo llamado fstab(sin extensión). Deberá editar este archivo con derechos de usuario "su". Antes de hacer eso, necesitamos el UUID de la nueva Partición de intercambio que hiciste con el Live USB. Escriba sudo su Ahora está en modo Superusuario. Puedes hacer cualquier cosa (incluso borrar tu propia existencia).

Escriba blkidy busque el uuid de la nueva partición de intercambio. Vi el mío a continuación y lo destaqué:

No prestes atención a los PartUID.

Ahora, las otras personas dirán tipo:

sudo gedit /etc/fstab

Sin embargo, intenté eso y no encontré el archivo correcto (comentarios por favor).

Así que simplemente escribí gedit y lo abrí como una GUI (¡Éxito!). Desde entonces, ya estaba en modo Superusuario (sudo su) tengo permiso de root para hacer CUALQUIER COSA en Gedit, incluido guardar el archivo después de cambiarlo. ¡Maravilloso! Antes de cambiar o cualquier cosa corrupta, guardar el fstab como copia de seguridad denominado ... fstab.bak.

Haga la copia de seguridad utilizando la forma de GUI caprichosa y elija el conocido "Guardar como" y agregue "bak" al archivo fstab.bak. Verifique que esté allí con una extensión .bak. Geeks le dirá que use el comando terminal cp, pero los principiantes no podemos encontrar el archivo en la terminal para llegar tan lejos en primer lugar. Al igual que cualquier procesador de textos, después del comando "guardar como", su archivo actual es ahora el fstab.bak. Abra el verdadero que tenía antes y luego cierre el archivo de copia de seguridad. Vuelva a verificar si está editando lo real fstabsin extensión. Si edita el archivo de respaldo, no pasará nada cuando reinicie, además su copia de respaldo no será un respaldo real del original.

Mi fstabarchivo original se ve así:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation
UUID=8fb20159-62e4-41a3-8550-791c7a66c328 none            swap    sw              0       0

La última línea (hice rojo para ti), tiene la información de intercambio original que se usa probablemente en el momento del arranque. Desde el comando blkid anterior, pude ver mi nueva unidad UUID. Copie esa frase resaltando el texto en el terminal y luego haga clic derecho y elija copiar. Pegue esa frase en otro editor separado sin suderechos como un bloc de notas (puede usar Libre Office y los geeks pueden usar nano). Este paso le ayuda a obtener el texto correcto fácilmente sin las comillas para que pueda pegarlo fácilmente en el fstabarchivo. Desea cambiar este archivo lo menos posible.

New UUID
UUID="709ea197-e6fb-428b-9c1f-4b258452b10c"

Entonces, mi nuevo UUID aparece en rojo arriba. Todo lo que necesito hacer es cambiar el uuid para el intercambio. Si no tiene una unidad de intercambio, copie mi línea en el archivo fstab anterior y luego agregue el uuid adecuado del comando blkid anterior. (¡elija el uuid correcto, por favor!)
Si esta es su primera línea de intercambio, asegúrese de incluir la línea completa con el material adicional

none            swap    sw              0       0

No se preocupe tanto por el espacio exacto.

Mi nuevo archivo se ve así: Aviso. También agregué un comentario sobre mi cambio. El #carácter significa que es un comentario.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/mmcblk1p6 during installation
UUID=a611601a-6ea8-4e34-9859-42a2470cac29 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/mmcblk0p1 during installation
UUID=00F2-C0CE  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/mmcblk1p5 during installation  NOW changed to mmcblk0p5
UUID= 709ea197-e6fb-428b-9c1f-4b258452b10c  none            swap    sw              0       0

No pegue las comillas. No tenga espacios después del =letrero.

Guarda tu archivo.

Ábralo nuevamente, solo para asegurarse de que sus cambios se hayan guardado. Cierra el gedit y la terminal con suderechos peligrosos que los geeks te regañarán por hacer (porque es un trabajo fácil con ... y también es fácil destruir cosas).

¡REINICIE y cruce los dedos!

Reinicié y luego verifiqué si mi intercambio funcionaba mirando la aplicación de rendimiento del sistema. Todavía tenía una unidad de intercambio! ¿Pero era el nuevo o el viejo? No pude verificar que mi nueva unidad se haya cargado porque la nueva es del mismo tamaño que la anterior. Por lo tanto, escribí: swapon(NO ESCRIBA NADA MÁS QUE SWAPON y solo mostrará el intercambio para usted: seguro). Ahora veo mi nuevo disco en el mmblk0p5que coincide con el trabajo de UUID que hice fstab. Mi unidad principal delgada de 32 gb entró en vigencia:


Esto concluye este tutorial de un usuario novato que nunca ha hecho esto antes. La mitad de la razón por la que hice este tutorial fue para que los Geeks que nos ayudan (y gracias) puedan ver cómo ayudar a los usuarios novatos. Sospeché que las respuestas anteriores eran engañosas y decidí hacer un tutorial mientras hacía mi trabajo ... Al adivinar las otras respuestas que fueron útiles, concluí que todo lo que tenía que hacer era editar el fstabarchivo y reiniciar. Todo funcionó bien y todavía tengo Windows 10 y todavía no he borrado mi sistema. Si alguien sabe cómo compartir un Windows pagefile.syscomo un archivo de intercambio de Linux, me interesaría ya que se toman 2 gb para eso en Windows y el espacio en disco duro es muy costoso en mi máquina de 32 GB.

Bhikkhu Subhuti
fuente