|
|
(5 versions intermédiaires par le même utilisateur non affichées) |
Ligne 1 : |
Ligne 1 : |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| #!/bin/bash | | #!/bin/bash |
|
| |
| # Script pour étendre uniquement la partition système sda1
| |
| # À exécuter en tant que root
| |
|
| |
| # Couleurs pour les messages
| |
| RED='\033[0;31m'
| |
| GREEN='\033[0;32m'
| |
| YELLOW='\033[1;33m'
| |
| NC='\033[0m' # No Color
| |
|
| |
| # Fonction pour afficher les messages
| |
| print_message() {
| |
| echo -e "${2}${1}${NC}"
| |
| }
| |
|
| |
|
| # Vérification des privilèges root | | # Vérification des privilèges root |
| if [ "$(id -u)" != "0" ]; then | | if [ "$EUID" -ne 0 ]; then |
| print_message "Ce script doit être exécuté en tant que root" "$RED" | | echo "Ce script doit être exécuté en tant que root" |
| exit 1 | | exit 1 |
| fi | | fi |
|
| |
|
| # Affichage de l'état actuel | | # Installation des outils nécessaires |
| print_message "\nÉtat actuel du système:" "$GREEN"
| | apt-get update |
| df -h /
| | apt-get install -y parted fdisk |
| print_message "\nTable de partitions actuelle:" "$GREEN"
| | |
| | # Afficher l'état actuel |
| | echo "État actuel du disque :" |
| fdisk -l /dev/sda | | fdisk -l /dev/sda |
| | echo "-------------------" |
| | df -h /dev/sda2 |
| | echo "-------------------" |
|
| |
|
| # Demande de confirmation | | # Calculer la taille maximale disponible (juste avant la partition swap) |
| print_message "\nATTENTION: Assurez-vous d'avoir:" "$RED"
| | SWAP_START=$(fdisk -l /dev/sda | grep "sda3" | awk '{print $2}') |
| echo "1. Augmenté la taille du disque dans VMware"
| | echo "Début de la partition SWAP : $SWAP_START" |
| echo "2. Créé un snapshot de la VM"
| |
| echo "3. Sauvegardé vos données importantes"
| |
| read -p "Voulez-vous continuer? (o/N) " -n 1 -r
| |
| echo
| |
| if [[ ! $REPLY =~ ^[Oo]$ ]]; then
| |
| print_message "Opération annulée" "$YELLOW"
| |
| exit 1
| |
| fi
| |
| | |
| # Rescan du disque pour détecter les changements de taille
| |
| print_message "\nRescan du disque..." "$YELLOW"
| |
| echo 1 > /sys/class/block/sda/device/rescan
| |
|
| |
|
| # Récupération de l'ancien point de début de sda2 | | # Redimensionner avec fdisk |
| START_SDA2=$(fdisk -l /dev/sda | grep "sda3" | awk '{print $2}')
| |
| | |
| # Utilisation de fdisk pour redimensionner sda1
| |
| print_message "Modification de la partition sda1..." "$YELLOW"
| |
| ( | | ( |
| echo d # Supprimer une partition | | echo "d" # Supprimer partition |
| echo 1 # Partition numéro 1 | | echo "2" # Partition numéro 2 |
| echo n # Nouvelle partition | | echo "n" # Nouvelle partition |
| echo p # Partition primaire | | echo "p" # Type primaire |
| echo 1 # Numéro 1 | | echo "2" # Partition numéro 2 |
| echo 2048 # Premier secteur (par défaut) | | echo # Premier secteur (par défaut) |
| echo $START_SDA2 # Dernier secteur (juste avant sda2) | | echo "$((SWAP_START - 1))" # Dernier secteur (juste avant le swap) |
| echo w # Écrire les changements | | echo "N" # Ne pas supprimer la signature |
| | echo "w" # Écrire les changements |
| ) | fdisk /dev/sda | | ) | fdisk /dev/sda |
|
| |
|
| # Mise à jour de la table de partitions | | # Recharger la table des partitions |
| print_message "Mise à jour de la table de partitions..." "$YELLOW"
| |
| partprobe /dev/sda | | partprobe /dev/sda |
|
| |
|
| # Extension du système de fichiers | | # Redimensionner le système de fichiers |
| print_message "Extension du système de fichiers..." "$YELLOW"
| |
| resize2fs /dev/sda2 | | resize2fs /dev/sda2 |
|
| |
|
| # Vérification finale | | # Afficher le résultat |
| print_message "\nNouvelle configuration:" "$GREEN"
| | echo "Nouvel état du disque :" |
| df -h /
| | df -h /dev/sda2 |
| fdisk -l /dev/sda
| |
| | |
| print_message "\nOpération terminée avec succès!" "$GREEN"
| |
| </syntaxhighlight><syntaxhighlight lang="bash">
| |
| #!/bin/bash
| |
| | |
| # Script pour étendre la partition étendue sda2
| |
| # À exécuter en tant que root
| |
| | |
| # Couleurs pour les messages
| |
| RED='\033[0;31m'
| |
| GREEN='\033[0;32m'
| |
| YELLOW='\033[1;33m'
| |
| NC='\033[0m' # No Color
| |
| | |
| # Fonction pour afficher les messages
| |
| print_message() {
| |
| echo -e "${2}${1}${NC}"
| |
| }
| |
| | |
| # Vérification des privilèges root
| |
| if [ "$(id -u)" != "0" ]; then
| |
| print_message "Ce script doit être exécuté en tant que root" "$RED"
| |
| exit 1
| |
| fi
| |
| | |
| # Affichage de l'état actuel
| |
| print_message "\nÉtat actuel du système:" "$GREEN"
| |
| fdisk -l /dev/sda
| |
| | |
| # Récupération du point de début de sda2
| |
| START_SDA2=$(fdisk -l /dev/sda | grep "sda2" | awk '{print $2}')
| |
| | |
| # Demande de confirmation
| |
| print_message "\nATTENTION: Assurez-vous d'avoir:" "$RED"
| |
| echo "1. Augmenté la taille du disque dans VMware"
| |
| echo "2. Créé un snapshot de la VM"
| |
| echo "3. Sauvegardé vos données importantes"
| |
| read -p "Voulez-vous continuer? (o/N) " -n 1 -r
| |
| echo
| |
| if [[ ! $REPLY =~ ^[Oo]$ ]]; then
| |
| print_message "Opération annulée" "$YELLOW"
| |
| exit 1
| |
| fi
| |
| | |
| # Désactivation du swap pour sécurité
| |
| print_message "\nDésactivation temporaire du swap..." "$YELLOW"
| |
| swapoff -a
| |
| | |
| # Rescan du disque pour détecter les changements de taille
| |
| print_message "Rescan du disque..." "$YELLOW"
| |
| echo 1 > /sys/class/block/sda/device/rescan
| |
| | |
| # Utilisation de fdisk pour redimensionner sda2
| |
| print_message "Modification de la partition étendue sda2..." "$YELLOW"
| |
| (
| |
| echo d # Supprimer une partition
| |
| echo 5 # Supprimer d'abord sda5 (swap)
| |
| echo d # Supprimer une autre partition
| |
| echo 2 # Supprimer sda2 (étendue)
| |
| echo n # Nouvelle partition
| |
| echo e # Partition étendue
| |
| echo 2 # Numéro 2
| |
| echo $START_SDA2 # Même point de début
| |
| echo # Utiliser tout l'espace disponible
| |
| echo n # Nouvelle partition logique
| |
| echo # Accept default
| |
| echo # Accept default
| |
| echo t # Changer le type
| |
| echo 5 # Partition 5
| |
| echo 82 # Type swap
| |
| echo w # Écrire les changements
| |
| ) | fdisk /dev/sda
| |
| | |
| # Mise à jour de la table de partitions
| |
| print_message "Mise à jour de la table de partitions..." "$YELLOW"
| |
| partprobe /dev/sda
| |
| | |
| # Reformatage du swap
| |
| print_message "Reformatage du swap..." "$YELLOW"
| |
| mkswap /dev/sda5
| |
| | |
| # Réactivation du swap
| |
| print_message "Réactivation du swap..." "$YELLOW"
| |
| swapon -a
| |
| | |
| # Vérification finale
| |
| print_message "\nNouvelle configuration:" "$GREEN"
| |
| fdisk -l /dev/sda
| |
| swapon --show
| |
| | |
| print_message "\nOpération terminée avec succès!" "$GREEN"
| |
| | |
| # Vérification du fstab
| |
| if ! grep -q "^/dev/sda5.*swap" /etc/fstab; then
| |
| print_message "\nPensez à vérifier votre /etc/fstab pour le swap" "$YELLOW"
| |
| print_message "Ligne à avoir : /dev/sda5 none swap sw 0 0" "$YELLOW"
| |
| fi
| |
| </syntaxhighlight> | | </syntaxhighlight> |
#!/bin/bash
# Vérification des privilèges root
if [ "$EUID" -ne 0 ]; then
echo "Ce script doit être exécuté en tant que root"
exit 1
fi
# Installation des outils nécessaires
apt-get update
apt-get install -y parted fdisk
# Afficher l'état actuel
echo "État actuel du disque :"
fdisk -l /dev/sda
echo "-------------------"
df -h /dev/sda2
echo "-------------------"
# Calculer la taille maximale disponible (juste avant la partition swap)
SWAP_START=$(fdisk -l /dev/sda | grep "sda3" | awk '{print $2}')
echo "Début de la partition SWAP : $SWAP_START"
# Redimensionner avec fdisk
(
echo "d" # Supprimer partition
echo "2" # Partition numéro 2
echo "n" # Nouvelle partition
echo "p" # Type primaire
echo "2" # Partition numéro 2
echo # Premier secteur (par défaut)
echo "$((SWAP_START - 1))" # Dernier secteur (juste avant le swap)
echo "N" # Ne pas supprimer la signature
echo "w" # Écrire les changements
) | fdisk /dev/sda
# Recharger la table des partitions
partprobe /dev/sda
# Redimensionner le système de fichiers
resize2fs /dev/sda2
# Afficher le résultat
echo "Nouvel état du disque :"
df -h /dev/sda2