risposta-alla-domanda-sullo-sviluppo-web-bd.com

Come disattivare in modo permanente lo swap in modo permanente e recuperare lo spazio? (su Debian Jessie)

Ho installato Debian Jessie con il partizionamento predefinito sul mio disco SSD. Il mio attuale partizionamento del disco è simile al seguente:

My current disk partitioning looks like this

Dato che ho 16 GB di RAM, suppongo che non ho bisogno di scambio . Ma poiché ho altre unità disco, posso creare un file di scambio ad esempio, su una delle altre unità invece.

Puoi dirmi quali passi dovrei prendere per rimuovere la partizione swap correttamente e permanentemente affinché non occupi spazio su disco ? Desidero eliminare la partizione di swap poiché attualmente ho solo SSD da 128 GB.

Ecco cosa ho provato e riavviato ogni volta; ognuno di questi passaggi essendo non permanente o non ha fatto nulla :

  1. Utilizzando l'utilità swapoff :

    swapoff --all
    
  2. Utilizzando l'utilità GParted :

    Fare clic con il tasto destro del mouse sulla partizione swap e fare clic su Scambia.

  3. Commentando la swap della partizione UUID nel seguente file:

    /etc/fstab
    
  4. Commentando la swap della partizione UUID nel seguente file:

    /etc/initramfs-tools/conf.d/resume
    
  5. Eseguendo questi comandi alla fine (sia in questo che nell'ordine opposto):

    update-grub
    
    update-initramfs -u
    
53
  1. Se hai GParted aperto, chiudilo. La sua funzionalità di Swapoff non sembra essere permanente.

  2. Apri il terminale e diventa root ( su ); se hai Sudo abilitato, puoi anche fare ad esempio Sudo -i; vedi man Sudo per tutte le opzioni):

    Sudo -i
    
  3. Disattiva la particolare partizione swap e/o tutti i swap s:

    swapoff --all
    
  4. Assicurati che il 100% della partizione di partizione swap sia disattivata:

    cat /proc/swaps
    
  5. Apri un editor di testo in cui sei abile con questo file, ad es. nano se non sei sicuro:

    nano /etc/fstab
    
  6. Commenta/rimuovi la partizione swap UUID , ad es .:

    # UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d    none    swap    sw    0    0
    
  7. Apri un editor di testo in cui sei abile con questo file, ad es. nano se non sei sicuro:

    nano /etc/initramfs-tools/conf.d/resume
    
  8. Commenta/rimuovi il swap della partizione precedentemente identificato UUID , ad es .:

    # RESUME=UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d
    
  9. Non chiudere il terminale perché ne avrai bisogno in seguito comunque.

Nota: I passaggi successivi variano a seconda del fatto che tu faccia affidamento su CLI oppure [~ ~ #] gui [~ ~ #] .


[~ ~ #] gui [~ ~ #] :

  1. Apri GParted , sia dal menu, sia più comodamente dal terminale che abbiamo aperto:

    gparted
    
  2. Se non lo hai installato, puoi farlo; in seguito eseguire nuovamente il comando precedente:

    apt-get install gparted
    
  3. Scegli l'unità dal menu in alto a destra.

  4. Poiché GParted riattiva la partizione swap all'avvio, dovrai fare clic con il pulsante destro del mouse sulla partizione swap e fare clic su Swapoff -> Questo sarà applicato immediatamente.

  5. Elimina la partizione swap con il tasto destro -> Elimina. È necessario applicare la modifica ora.

  6. Ridimensiona la tua partizione principale/altra con il tasto destro -> Ridimensiona/Sposta. È necessario applicare la modifica ora.

  7. Tornando al terminale, ricreamo boot images :

    update-initramfs -u -k all
    
  8. Aggiornamento GRUB :

    update-grub
    
  9. È possibile riavviare ora se si desidera verificare che la macchina si avvii.


[~ ~ #] cli [~ ~ #] :

Controllerò VM s se la mia soluzione funziona, quindi la condividerò. Nel frattempo, vedi questa risposta .

47

Esegui come root:

# swapoff -a

E per rendere permanente tale modifica, modifica /etc/fstab e rimuovere o commentare la voce di scambio.

51
maxschlepzig

Commenta/rimuovi la voce pertinente in /etc/fstab per impedire che venga riabilitato all'avvio successivo, quindi riavviare o eseguire swapoff -a per disabilitare l'uso della partizione di swap per il sistema attualmente in esecuzione.

Ora cancella la partizione di swap, estendi la tua partizione di sistema su quello spazio inutilizzato ed estendi il filesystem reale. Non so se il tuo gestore di partizioni grafiche possa fare tutto ciò, ma se non è possibile ecco un modo distro-agnostico di farlo usando fdisk e resize2fs:

# fdisk /dev/sdX

# Display current partition table, copy/paste this output somewhere to be able to go back in case you screw up

Command (m for help): p
Device       Boot  Start    End Sectors Size Id Type
/dev/sda1        2048  22527   20480  10M ef EFI (FAT-12/16/32)
/dev/sda2       22528 186367  163840  80M 83 Linux
/dev/sda3      186368 204799   18432   9M 82 Linux swap / Solaris

# Delete the swap partition

Command (m for help): d
Partition number (1-3, default 3): 3
Partition 3 has been deleted.

# Delete the system partition

Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.

# Create a new system partition starting the same as the old one but ending a bit farther, at the end of the (now deleted) swap partition

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (2-4, default 2): 
# Enter the same start sector as the old part.
First sector (22528-204799, default 22528): 22528
# Enter the end sector of the old swap partition
Last sector, +sectors or +size{K,M,G,T,P} (22528-204799, default 204799): 204799

Created a new partition 2 of type 'Linux' and of size 89 MiB.

# Save the changes
Command (m for help): w
The partition table has been altered.

Infine estendiamo il filesystem corrente per utilizzare il nuovo spazio libero (fino ad ora il filesystem reale non era a conoscenza del fatto che avremmo aggiunto più spazio alla sua partizione sottostante). Per impostazione predefinita, resize2fs utilizza l'intera partizione a meno che non venga specificata una dimensione fissa, quindi non è necessario specificare altro che il dispositivo di blocco delle partizioni. La crescita di un file system (anziché la riduzione) può essere effettuata online con la partizione montata:

# resize2fs /dev/sda2

Ora hai disabilitato correttamente lo scambio e recuperato lo spazio inutilizzato senza nemmeno riavviare.

Si noti che la procedura per Debian è leggermente diversa e richiede la modifica di alcuni altri file. Dai un'occhiata a questo risposta per maggiori informazioni.

19
André Borie

Fare clic con il tasto destro sulla partizione di swap in GParted e fare clic su Swapoff. Quindi elimina la partizione di swap, rimuovila da /etc/fstab e rigenerare initramfs e grub (forse non necessario).

La partizione di swap non deve essere aggiunta a initramfs dallo script di aggiornamento initramfs se la partizione di swap non esiste.

Secondo questo post , il seguente è il modo corretto di rigenerare initramfs e grub:

update-initramfs -c -k <kernel>

update-grub
2
BenjiWiebe