Script bash pour partionner & formater plusieur DD
Bonjour,
J'ai besoin de réaliser un script bash pour l'installation de disque dur pour Raspberri-PI 3 basé sur Raspbian de Debian a l'aide de cette documentation
http://papy-tux.legtux.org/doc1064/index.php
Ayant plusieurs raspberry PI et disque dur identique.
J'ai besoin de votre avis pour savoir si c'est correct niveau partitionnement et formatage ?
Voici les information actuelle sur le disque
Voici mon script :
Merci.
J'ai besoin de réaliser un script bash pour l'installation de disque dur pour Raspberri-PI 3 basé sur Raspbian de Debian a l'aide de cette documentation
http://papy-tux.legtux.org/doc1064/index.php
Ayant plusieurs raspberry PI et disque dur identique.
J'ai besoin de votre avis pour savoir si c'est correct niveau partitionnement et formatage ?
Voici les information actuelle sur le disque
serveur@raspberrypi:~ $ df Sys. de fichiers blocs de 1K Utilis� Disponible Uti% Mont� sur /dev/root 7548728 6419096 760144 90% / devtmpfs 470116 0 470116 0% /dev tmpfs 474724 0 474724 0% /dev/shm tmpfs 474724 12620 462104 3% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474724 0 474724 0% /sys/fs/cgroup /dev/mmcblk0p1 42137 22419 19718 54% /boot tmpfs 94944 0 94944 0% /run/user/1000 tmpfs 94944 0 94944 0% /run/user/1001 serveur@raspberrypi:~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 931,5G 0 disk `-sdb1 8:17 0 931,5G 0 part /media/pi/Maxtor mmcblk0 179:0 0 7,4G 0 disk |-mmcblk0p1 179:1 0 41,8M 0 part /boot `-mmcblk0p2 179:2 0 7,4G 0 part / serveur@raspberrypi:~ $ sudo parted -l Model: Seagate M3 Portable (scsi) Disk /dev/sdb: 1000GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 32,8kB 1000GB 1000GB primary ntfs boot Model: SD SD08G (sd/mmc) Disk /dev/mmcblk0: 7969MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 4194kB 48,0MB 43,8MB primary fat32 lba 2 48,2MB 7969MB 7921MB primary ext4 serveur@raspberrypi:~ $ free -h total used free shared buff/cache available Mem: 927M 191M 425M 27M 310M 655M Swap: 99M 0B 99M serveur@raspberrypi:~ $
Voici mon script :
#!/bin/bash echo "Objectifs : protéger la carte SD en écriture (cycle de vie restreint), et profiter des avantages d'un disque dur externe de 500 Go... * Partitionner et formater le disque dur externe USB (en quatre partitions) en plusieurs étapes : Matériel : Disque Dur USB 3.0 Maxtor 1 To - Effacement des partitions existantes - Création d'une table msdos - une partition de 512 Mio - fat32 (démarrage) - une partition de 2 Gio (swap) - une partiton de 16 Gio - Linux ext4 : système du R-Pi, stockage de fichiers système (/) - une partiton de 932 Gio - Linux ext4 : Dossier des utilisateurs (/home) * RAPPEL : Un disque ne peut avoir plus de 4 partitions primaires. Pour augmenter le nombre de partitions, on introduit (au-delà de 3 partitions primaires) une partition étendue qui contiendra les partitions suivantes, dites logiques. Les partitions : sur disque dur sdb qui vont être créées +--------------+--------------+-------------+------------+ | | | | | | sda1 | | sda2 | sda3 | | fat32/vfat | linux-swap | ext4 | ext4 | | /boot/efi | | / | /home | | 512 Mio | 2 Gio | 16 Gio | 932 Gio | | boot | | | | | | | | | +--------------+--------------+-------------+------------+ " echo "Commençons par supprimer la partition existante : /dev/sdb1 (le disque neuf étant formaté par défaut pour Windows)" dd if=/dev/zero of=/dev/sdb bs=1M count=5 #effaçage préalable de traces de partitionnement, formatage, cryptage, volumes logiques existantes est parfois nécessaire. Il est généralement suffisant wipefs -af /dev/sdb #effacer certaines informations du système de fichier .. echo "Création des partitions" echo "-----------------------" echo "Création d'une table de partition msdos ou gpt" sudo parted -s /dev/sdb mklabel msdos #sudo parted -s /dev/sdb mklabel gpt echo echo "Création de la 1er partition de 512 Mio (boot)" #mkpart primary 0.00TB 300.00TB parted -s /dev/sdb mkpart primary fat32 2MiB 514MiB echo echo "Création de la 2em partition de 2Go (Swap)" #sudo mkswap -U <l UUID desirée> /dev/<votre partition> mkpart primary linux-swap 514MiB 2GiB echo echo "Création de la 3em partition de 16Go (/)" #mkpart primary 0.00TB 300.00TB mkpart primary ext4 2GiB 16GiB echo echo "Création de la 3em partition alouant la taille maximum restante (/home)" #mkpart primary 0.00TB 300.00TB mkpart primary ext4 16GiB 100% set 1 boot on #aloue la taille maximum restante et indicateur de boot sur la partition 1 echo echo "Formatage des partitions" echo "------------------------" echo "Formatage de la 1er partition" mkdosfs -F32 /dev/sdb1 -L boot echo echo "Formatage de la 2em partition" sudo mkswap -c /dev/sdb2 -L swap sudo swapon partition echo echo "Formatage de la 3em partition" sudo mkfs -t -c ext4 /dev/sdb3 -L systeme echo echo "Formatage de la 4em partition" sudo mkfs -t -c ext4 /dev/sdb4 -L home exit 0
Merci.
A voir également:
- Script bash pour partionner & formater plusieur DD
- Formater clé usb - Guide
- Formater son pc - Guide
- Script vidéo youtube - Guide
- Formater un pc bloqué par administrateur - Guide
- Mas script - Accueil - Windows
1 réponse
Bonjour,
Ça a l'air de tenir la route, je m'interroge juste sur l'utilité de la partition en FAT32 (tu veux faire une installation EFI + secure boot ?).
Autre stratégie, vu que les disques sont tous identiques : tu fais une installation normale sur un des disques (e.g.
Attention cependant : quelle que soit la stratégie retenu, il faut faire attention à mettre les bons identifiants de devices ! Par exemple si quelqu'un lance ton script en ayant branché une clé USB en plus du disque à préparer, il serait dommage d'altérer la clé !
Bonne chance
Ça a l'air de tenir la route, je m'interroge juste sur l'utilité de la partition en FAT32 (tu veux faire une installation EFI + secure boot ?).
Autre stratégie, vu que les disques sont tous identiques : tu fais une installation normale sur un des disques (e.g.
/dev/sdb). Puis tu branches un disque à préparer (e.g.
/dev/sdc) et tu copies bit à bit (
dd if=/dev/sdb of=/dev/sdc).
Attention cependant : quelle que soit la stratégie retenu, il faut faire attention à mettre les bons identifiants de devices ! Par exemple si quelqu'un lance ton script en ayant branché une clé USB en plus du disque à préparer, il serait dommage d'altérer la clé !
Bonne chance