web-dev-qa-db-fra.com

Comment désactiver le swap en toute sécurité et récupérer l'espace en toute sécurité? (sur Debian Jessie)

J'ai installé Debian Jessie avec le partitionnement par défaut sur mon lecteur SSD. Mon partitionnement de disque actuel ressemble à ceci:

My current disk partitioning looks like this

Comme j'ai 16 Go de RAM, je suppose que je n'ai pas besoin de swap . Mais puisque j'ai d'autres lecteurs de disque, je peux créer un fichier d'échange par exemple, sur l'un des autres lecteurs à la place.

Pouvez-vous me dire quelles mesures dois-je prendre pour supprimer correctement et définitivement la partition swap afin qu'elle n'occupe pas d'espace disque ? Je souhaite supprimer la partition de swap car je n'ai actuellement que 128 Go de SSD.

Voici ce que j'ai essayé et redémarré à chaque fois; chacune de ces étapes étant non permanente , ou n'a rien fait :

  1. Utilisation de l'utilitaire swapoff :

    swapoff --all
    
  2. Utilisation de l'utilitaire GParted :

    Cliquez avec le bouton droit sur la partition swap et cliquez sur Swapoff.

  3. Commentant la partition swap UUID dans le fichier suivant:

    /etc/fstab
    
  4. Commentant la partition swap UUID dans le fichier suivant:

    /etc/initramfs-tools/conf.d/resume
    
  5. Exécuter ces commandes à la fin (à la fois dans cet ordre et dans l'ordre inverse):

    update-grub
    
    update-initramfs -u
    
53
LinuxSecurityFreak
  1. Si vous avez GParted ouvrez, fermez-le. Sa fonction Swapoff ne semble pas être permanente.

  2. Ouvrez le terminal et devenez root ( su ); si vous avez Sudo activé, vous pouvez également faire par exemple Sudo -i; voir man Sudo pour toutes les options):

    Sudo -i
    
  3. Désactivez la partition swap particulière et/ou toutes les swap s:

    swapoff --all
    
  4. Assurez-vous à 100% que la partition de partition swap est désactivée:

    cat /proc/swaps
    
  5. Ouvrez un éditeur de texte que vous maîtrisez avec ce fichier, par ex. nano en cas de doute:

    nano /etc/fstab
    
  6. Commentez/supprimez la swap partition UUID , par exemple:

    # UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d    none    swap    sw    0    0
    
  7. Ouvrez un éditeur de texte que vous maîtrisez avec ce fichier, par ex. nano en cas de doute:

    nano /etc/initramfs-tools/conf.d/resume
    
  8. Commentez/supprimez la partition swap précédemment identifiée UUID , par exemple:

    # RESUME=UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d
    
  9. Ne fermez pas le terminal car vous en aurez besoin plus tard de toute façon.

Remarque: Les étapes suivantes diffèrent selon que vous vous appuyez sur CLI ou GUI .


GUI :

  1. Ouvrez GParted , soit à partir du menu, ou plus commodément à partir du terminal que nous avons ouvert:

    gparted
    
  2. Si vous ne l'avez pas installé, vous pouvez le faire; réexécutez ensuite la commande précédente:

    apt-get install gparted
    
  3. Choisissez votre lecteur dans le menu en haut à droite.

  4. Comme la GParted réactive la partition swap au lancement, vous devrez cliquer avec le bouton droit sur la partition swap particulière et cliquer sur Swapoff -> Ce sera appliqué immédiatement.

  5. Supprimez la partition swap avec un clic droit -> Supprimer. Vous devez appliquer le changement maintenant.

  6. Redimensionnez votre partition principale/autre avec un clic droit -> Redimensionner/Déplacer. Vous devez appliquer le changement maintenant.

  7. De retour au terminal, recréons le images de démarrage :

    update-initramfs -u -k all
    
  8. Mettre à jour GRUB :

    update-grub
    
  9. Vous pouvez redémarrer maintenant si vous souhaitez tester le démarrage de la machine.


CLI :

Je vérifierai VM s si ma solution fonctionne, je la partagerai. En attendant, voir cette réponse .

47
LinuxSecurityFreak

Exécutez en tant que root:

# swapoff -a

Et pour rendre ce changement permanent, modifiez /etc/fstab et supprimez ou mettez en commentaire l'entrée de swap.

51
maxschlepzig

Commentez/supprimez l'entrée appropriée dans le /etc/fstab pour l'empêcher d'être réactivé au prochain démarrage, puis redémarrez ou exécutez swapoff -a pour désactiver l'utilisation de la partition de swap pour le système en cours d'exécution.

Maintenant, supprimez la partition de swap, étendez votre partition système sur cet espace inutilisé et étendez le système de fichiers réel. Je ne sais pas si votre gestionnaire de partition graphique peut faire tout cela, mais s'il ne le peut pas, voici une manière distro-agnostique de le faire en utilisant fdisk et 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.

Enfin, nous étendons le système de fichiers actuel pour utiliser le nouvel espace libre (jusqu'à présent, le système de fichiers réel ne savait pas que nous avions ajouté un peu plus d'espace à sa partition sous-jacente). Par défaut, resize2fs utilise la partition entière sauf si une taille fixe est donnée, nous n'avons donc pas besoin de spécifier autre chose que le périphérique de bloc de partition. La croissance d'un système de fichiers (par opposition à la réduction) peut se faire en ligne avec la partition montée:

# resize2fs /dev/sda2

Vous avez maintenant désactivé le swap et récupéré l'espace inutilisé sans même redémarrer.

Notez que la procédure pour Debian est un peu différente et nécessite la modification de fichiers supplémentaires. Découvrez ceci réponse pour plus d'informations.

19
André Borie

Cliquez avec le bouton droit sur la partition de swap dans GParted, puis cliquez sur Swapoff. Supprimez ensuite votre partition de swap, supprimez-la de /etc/fstab, et régénérez votre initramfs et grub (peut-être inutile).

La partition de swap ne doit pas être ajoutée au initramfs par le script de mise à jour initramfs si la partition de swap n'existe pas.

Selon cet article , ce qui suit est la bonne façon de régénérer initramfs et grub:

update-initramfs -c -k <kernel>

update-grub
2
BenjiWiebe