Comment récupérer l'espace libre d'un clé usb contenant une image iso

Salut
sur un clé usb de 3,8 G j’ai copié une image iso Buster.

Disque /dev/sdb : 3,8 GiB, 4009754624 octets, 7831552 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x34d20db9

Périphérique Amorçage Début     Fin Secteurs Taille Id Type
/dev/sdb1    *            0 5086847  5086848   2,4G  0 Vide
/dev/sdb2              1556    2387      832   416K ef EFI (FAT-12/16/32)
root@debian:/# 

Donc en bout de clé il me reste 1 G que je voudrais récupérer pour en faire une partition de données.

Mais gparted n’identifie pas la pseudo partition sdb1 qui est l’image iso.

Comment tromper gparted, il veut toujours créer la partition sdb1


et ça détruit tout

Disque /dev/sdb : 3,8 GiB, 4009754624 octets, 7831552 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x34d20db9

Périphérique Amorçage   Début     Fin Secteurs Taille Id Type
/dev/sdb1             5642240 7831551  2189312     1G  5 Étendue
/dev/sdb2                1556    2387      832   416K ef EFI (FAT-12/16/32)

La table de partition des images ISO hybrides de Debian est invalide et Gparted ou parted ne savent pas la gérer correctement. Tu peux utiliser fdisk qui ne fera pas de difficulté pour créer une partition dans l’espace non alloué, ou peut-être cfdisk mais jamais essayé avec ce type d’image.

ok je vais continuer l’expérimentation

vu de la session live ça donne ça

user@debian:~$ sudo fdisk -l
Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00038c4c

Device     Boot    Start       End   Sectors   Size Id Type
/dev/sda1  *        2048  40011775  40009728  19.1G 83 Linux
/dev/sda2       40011776 625142447 585130672   279G  5 Extended
/dev/sda5       40013824  55717887  15704064   7.5G 82 Linux swap / Solaris
/dev/sda6       55719936 625141759 569421824 271.5G 83 Linux


Disk /dev/sdb: 3.8 GiB, 4009754624 bytes, 7831552 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x34d20db9

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1  *        0 5086847 5086848  2.4G  0 Empty
/dev/sdb2        1556    2387     832  416K ef EFI (FAT-12/16/32)


Disk /dev/loop0: 2.2 GiB, 2368778240 bytes, 4626520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

user@debian:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.8G     0  1.8G   0% /dev
tmpfs           370M  6.0M  364M   2% /run
/dev/sdb1       2.5G  2.5G     0 100% /lib/live/mount/medium
/dev/loop0      2.3G  2.3G     0 100% /lib/live/mount/rootfs/filesystem.squashfs
tmpfs           1.9G     0  1.9G   0% /lib/live/mount/overlay
overlay         1.9G   11M  1.8G   1% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           1.9G  4.0K  1.9G   1% /tmp
tmpfs           370M   40K  370M   1% /run/user/1000
/dev/sda6       268G  216G   39G  85% /media/user/data
user@debian:~$ 
```

dev/sda6       268G  216G   39G  85% /media/user/data m'a permis de sauvegarder les infos de la session live car en fait c'est le /home du disque dur

Ca me parait nickel

  • 1ère passe avec fdisk pour créer une partition étendue sdb3 en bout de clé
 fdisk /dev/sdb

Bienvenue dans fdisk (util-linux 2.30.2).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.


Commande (m pour l'aide) : n
Type de partition
   p   primaire (2 primaire, 0 étendue, 2 libre)
   e   étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : e
Numéro de partition (3,4, 3 par défaut) : 
Premier secteur (5086848-7831551, 5087232 par défaut) : 
Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (5087232-7831551, 7831551 par défaut) : 

Une nouvelle partition 3 de type « Extended » et de taille 1,3 GiB a été créée.

Commande (m pour l'aide) : p
Disque /dev/sdb : 3,8 GiB, 4009754624 octets, 7831552 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x34d20db9

Périphérique Amorçage   Début     Fin Secteurs Taille Id Type
/dev/sdb1    *              0 5086847  5086848   2,4G  0 Vide
/dev/sdb2                1556    2387      832   416K ef EFI (FAT-12/16/32)
/dev/sdb3             5087232 7831551  2744320   1,3G  5 Étendue

Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Échec de relecture de la table de partitions.: Périphérique ou ressource occupé

Le noyau continue à utiliser l'ancienne table. La nouvelle sera utilisée lors du prochain démarrage ou après avoir exécuté partprobe(8) ou kpartx(8).
  • ici éjection et rebranchement de la clé
root@debian:/# fdisk -l /dev/sdb
Disque /dev/sdb : 3,8 GiB, 4009754624 octets, 7831552 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x34d20db9

Périphérique Amorçage   Début     Fin Secteurs Taille Id Type
/dev/sdb1    *              0 5086847  5086848   2,4G  0 Vide
/dev/sdb2                1556    2387      832   416K ef EFI (FAT-12/16/32)
/dev/sdb3             5087232 7831551  2744320   1,3G  5 Étendue

  • Utilisation de gparted pour créer la partition ext4 dans la partition étendue sdb3

  • Résultat final

 fdisk -l /dev/sdb
Disque /dev/sdb : 3,8 GiB, 4009754624 octets, 7831552 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x34d20db9

Périphérique Amorçage   Début     Fin Secteurs Taille Id Type
/dev/sdb1    *              0 5086847  5086848   2,4G  0 Vide
/dev/sdb2                1556    2387      832   416K ef EFI (FAT-12/16/32)
/dev/sdb3             5087232 7831551  2744320   1,3G  5 Étendue
/dev/sdb5             5089280 7831551  2742272   1,3G 83 Linux

Il n’y a que moi qui sait que le “vide” est une image iso bootable :grinning:

Pourquoi créer une partition étendue et une partition logique plutôt qu’une partition principale, et pourquoi absolument vouloir créer la partition logique avec gparted ?

Une partition étendue ne devrait être créée que lorqu’elle est indispensable, pour pouvoir créer plus de 4 partitions dans un disque au format DOS. Pour trois partitions, c’est parfaitement superflu.

je suis un visuel plus a l’aise en mode graphique donc gparted

j’ai d’abord créé une étendue car fdisk indique ça
p primaire (2 primaire, 0 étendue, 2 libre)

et je pensais que sdb1 et sdb2 etaient vues comme des primaires

La table de partition DOS peut contenir 4 partitions primaires, c’est le sens de “2 libres”.

Bon, toujours est il que je suis arrivé à mon but :sunglasses:

  • j’ai un clé usb bootable ( Debian Buster Cinnamon en l’occurrence)
  • En session live j’ai un espace de stockage disponible en bout de clé.
  • je peux y écrire avec le gedit de la session live user , moyennant un petit changement de droits
 user@debian:~$ setxkbmap fr
 user@debian:~$ sudo fdisk -l
Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00038c4c

Device     Boot    Start       End   Sectors   Size Id Type
/dev/sda1  *        2048  40011775  40009728  19.1G 83 Linux
/dev/sda2       40011776 625142447 585130672   279G  5 Extended
/dev/sda5       40013824  55717887  15704064   7.5G 82 Linux swap / Solaris
/dev/sda6       55719936 625141759 569421824 271.5G 83 Linux




Disk /dev/sdb: 3.8 GiB, 4009754624 bytes, 7831552 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x34d20db9

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *          0 5086847 5086848  2.4G  0 Empty
/dev/sdb2          1556    2387     832  416K ef EFI (FAT-12/16/32)
/dev/sdb3       5087232 7831551 2744320  1.3G  5 Extended
/dev/sdb5       5089280 7831551 2742272  1.3G 83 Linux


Disk /dev/loop0: 2.2 GiB, 2368778240 bytes, 4626520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

user@debian:~$df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.8G     0  1.8G   0% /dev
tmpfs           370M  6.0M  364M   2% /run
/dev/sdb1       2.5G  2.5G     0 100% /lib/live/mount/medium
/dev/loop0      2.3G  2.3G     0 100% /lib/live/mount/rootfs/filesystem.squashfs
tmpfs           1.9G     0  1.9G   0% /lib/live/mount/overlay
overlay         1.9G   11M  1.8G   1% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           1.9G  4.0K  1.9G   1% /tmp
tmpfs           370M   40K  370M   1% /run/user/1000
/dev/sdb5       1.3G  4.0M  1.2G   1% /media/user/LesDatas
/dev/sda6       268G  216G   39G  85% /media/user/data


user@debian:~$ ls -alrt  /media/user/LesDatas
total 20
drwx------  2 root root 16384 Oct 25 12:10 lost+found
drwxr-xr-x  3 root root  4096 Oct 25 12:10 .
drwxr-x---+ 4 root root    80 Oct 25 12:36 ..


user@debian:~$ sudo chmod 777  /media/user/LesDatas 

user@debian:~$ ls -alrt  /media/user/LesDatas
total 24
drwx------  2 root root 16384 Oct 25 12:10 lost+found
drwxr-x---+ 4 root root    80 Oct 25 12:36 ..
-rw-r--r--  1 user user  2615 Oct 25 12:45 cinnamon.txt
drwxrwxrwx  3 root root  4096 Oct 25 12:45 .

un point que je ne comprends pas, en live session , la partition sbd5 est bien montée conformémént à son label

/dev/sdb5 1.3G 4.4M 1.2G 1% /media/user/LesDatas

mais les droits sont ceux de l’utilisateur 1001 qui n’existe pas

user@debian:~$ ls -alrt /media/user/
total 4
drwxrwxrwx  4 1001 1001 4096 Oct 25 19:03 LesDatas
drwxr-xr-x  1 root root   60 Oct 25 19:31 ..
drwxr-x---+ 3 root root   60 Oct 25 19:31 .
user@debian:~$ id 1001
id: ‘1001’: no such user

je dois donc faire

user@debian:~$ sudo -i
root@debian:~# chown 1000:1000 -R /media/user/LesDatas
root@debian:~# 
root@debian:~# ls -alrt /media/user/
total 4
drwxrwxrwx  4 user user 4096 Oct 25 19:03 LesDatas
drwxr-xr-x  1 root root   60 Oct 25 19:31 ..
drwxr-x---+ 3 root root   60 Oct 25 19:31 .
root@debian:~# id
uid=0(root) gid=0(root) groups=0(root)

root@debian:~# id 1000
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),115(bluetooth),118(scanner)
root@debian:~# 


L’UID et le GID visibles sont ceux de la racine du système de fichiers monté.
Tu as dû les changer depuis un système où l’utilisateur 1001 existe.

j’ai modifié la clé et maintenant la zone de données est une partition primaire en fat32

root@debian:/# fdisk -l /dev/sdb
Disque /dev/sdb : 3,8 GiB, 4009754624 octets, 7831552 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x34d20db9

Périphérique Amorçage   Début     Fin Secteurs Taille Id Type
/dev/sdb1    *              0 5086847  5086848   2,4G  0 Vide
/dev/sdb2                1556    2387      832   416K ef EFI (FAT-12/16/32)
/dev/sdb3             5087232 7831551  2744320   1,3G  b W95 FAT32
root@debian:/# 

Le montage se fait bien avec l’utilisateur en cours

/dev/sdb3 on /media/guy/LESDATAS type vfat (rw,nosuid,nodev,relatime,uid=1001,gid=1001,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

idem en session live

/dev/sdb3 on /media/user/LESDATAS type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

root@debian:~# id 1000
uid=1000(user) gid=1000(user) groupes=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),115(bluetooth),118(scanner)
root@debian:~# 

Quand elle etait en partition secondaire ext4 elle montait comme ça

/dev/sdb5 on /media/guy/LesDatas type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)

Pas de uid, gid
Est-ce une facétie de l’ext4?

Non, plutôt une particularité de FAT.

Ext4 est un type de système de fichier natif de Linux qui implémente les droits Unix standard. Il enregistre donc les UID et GID propriétaires et les permissions pour chaque fichier et répertoire, y compris la racine, et Linux les utilise lorsque le système de fichiers est monté. L’UID et le GID par défaut de la racine sont ceux de l’utilisateur effectif ayant créé le système de fichiers, généralement root puisque par défaut il est le seul à pouvoir écrire dans une partition.

A l’inverse FAT ne gère aucun droit sur les fichiers et répertoires. Tel quel, il est impropre à l’utilisation par Linux. Aussi lors du montage on doit spécifier des UID, GID et permissions factices qui vont être utilisées par Linux tant que le système de fichiers est monté mais ne seront pas enregistrées.

ok je comprends mieux mes soucis en ext4
finalement si je comprends bien c’est le dernier qui à fait des chown et chmod qui s’approprie la clé
quand je suis en mode Debian installé ( sur /dev/sda)

id root
uid=0(root) gid=0(root) groupes=0(root)

et 1001 c’est l’id de mon utilisateur ordinaire en mode Debian installé qui n’existe donc pas en mode Debian live puis que le user y est 1000

je ne sais plus pourquoi il y a un décalage et que mon utilisateur est 1001 mais en tout cas ça m’a permis de comprendre quelque chose :grinning:

Oui. Et ce sont les UID/GID numériques qui sont enregistrés, pas les noms d’utilisateur et de groupe.
Les droits d’accès ne sont donc cohérents que sur le système qui les a créés, ou un système qui utilise la même base de comptes dans un environnement centralisé. C’est rarement le cas entre des machines indépendantes.

Lors de l’installation tu avais probablement créé un autre utilisateur qui a eu l’UID 1000. Il en reste peut-être des traces dans /home ou dans /etc/passwd.