Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida contiene le istruzioni per creare e abilitare uno swapfile qualora Ubuntu sia installato su filesystem Btrfs.
Queste indicazioni si rivelano utili per risolvere il bug #1818811 , a causa del quale in un'installazione di Ubuntu su filesystem Btrfs, pur venendo creato regolarmente uno swapfile, quest'ultimo non risulta attivo poiché non opportunamente configurato.
Prerequisiti
Il supporto per swapfile su filesystem Btrfs è disponibile con la versione del kernel 5.0 o superiore. Si necessita pertanto di Ubuntu 18.04.3 (escluse le point release precedenti) oppure Ubuntu 19.10 o superiori.
Per conoscere quale versione del kernel è in uso consultare questa pagina.
Preparativi
Montare il fylesystem digitando nel terminale il seguente comando:
sudo mount -t btrfs /dev/sdXY /mnt
modificando «sdXY» con il nome della partizione (ad esempio «sda1»).
Creare un subvolume per la swap digitando:
sudo btrfs subvolume create /mnt/@swap
Nel subvolume appena creato impostare il flag NOCOW (importante per far funzionare lo swapfile su Btrfs):
sudo chattr -R +C /mnt/@swap
Disattivare la compressione per il subvolume:
sudo btrfs property set /mnt/@swap compression none
Creazione dello swapfile
Digitare nel terminale i seguenti comandi per creare lo swapfile (nell'esempio seguente saranno assegnati 512 MB al file di swap; è possibile modificare il valore «512M» , nel secondo comando, a seconda delle proprie esigenze):
sudo truncate -s 0 /mnt/@swap/swapfile
fallocate -l 512M /mnt/@swap/swapfile
sudo chmod 600 /mnt/@swap/swapfile
sudo mkswap /mnt/@swap/swapfile
Giunti a questo punto sarà possibile smontare il filesystem:
sudo umount /mnt
Modifica del file fstab
Per attivare lo swapfile appena creato bisogna infine impostarlo come swap all'avvio del sistema.
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/fstab.
- Individuare la riga relativa allo swapfile creato durante l'installazione ed eliminarla o commentarla.
Aggiungere le righe:
UUID=yourUUID /swap btrfs defaults,subvol=@swap /swap/swapfile none swap defaults 0 0
modificando «yourUUID» con l'UUID effettivo (consultare questa guida per maggiori informazioni).
- Salvare e chiudere il file.
- Riavviare il sistema affinché le modifiche abbiano effetto.
Eliminazione del vecchio swapfile (facoltativo)
Una volta accertati che lo swapfile appena creato funzioni regolarmente, è possibile rimuovere quello precedente. A tal fine:
Digitare nel terminale il comando
free
per avere la certezza che la swap sia presente e/o in uso.Digitare il comando
ls /
per aver certezza che sia elencata la voce swapfile.
Infine eliminare il file digitando:
sudo rm /swapfile
Ulteriori risorse
Btrfs su Ubuntu (pagina internazionale)