Difference between revisions of "Utiliser udisksctl pour monter un fichier image ISO (sans utiliser root)"

From Le Wiki de debian-fr.xyz
Jump to navigation Jump to search
[checked revision][checked revision]
m (une lettre en trop)
m (suppression ajout compte utilisateur au groupe disk qui n'était pas nécessaire)
 
Line 1: Line 1:
 
== Monter un fichier image ISO… ==
 
== Monter un fichier image ISO… ==
 
…en utilisant un '''simple compte utilisateur non privilégié (=> pas besoin du compte root)'''<br />
 
…en utilisant un '''simple compte utilisateur non privilégié (=> pas besoin du compte root)'''<br />
si vous êtes dans la liste des utilisateurs du groupe '''disk'''<br/>
 
 
et avec seulement '''3 petites lignes de commande'''.
 
et avec seulement '''3 petites lignes de commande'''.
 
Si besoin, mettez votre compte utilisateur dans la liste des utilisateurs du groupe '''disk'''
 
<syntaxhighlight lang="bash">su -c "adduser ${USER} disk"</syntaxhighlight>
 
ou bien, si vous utilisez '''sudo''' :
 
<syntaxhighlight lang="bash">sudo adduser ${USER} disk</syntaxhighlight>
 
Pour faire prendre en compte la modification précédente,<br/>
 
Déconnectez et reconnectez-vous à votre compte utilisateur.
 
  
 
Dans mon répertoire personnel, j'ai un '''fichier image ISO''' nommé '''mini.iso'''
 
Dans mon répertoire personnel, j'ai un '''fichier image ISO''' nommé '''mini.iso'''

Latest revision as of 13:06, 14 February 2020

Monter un fichier image ISO…

…en utilisant un simple compte utilisateur non privilégié (=> pas besoin du compte root)
et avec seulement 3 petites lignes de commande.

Dans mon répertoire personnel, j'ai un fichier image ISO nommé mini.iso

$ udisksctl loop-setup --file mini.iso --read-only
Mapped file mini.iso as /dev/loop0.

Ok! Il a créé un fichier de périphérique loop que je vais pouvoir utiliser pour pouvoir accéder au contenu du système de fichiers de ce fichier image ISO :


NOTE : Ce fichier image ISO est un peu spécial car il n'est pas partitionné, sinon, un point de mountage aurait été créé et utilisé.
S'il avait été partitionné, il m'aurait fallu d'abord lister les fichiers de périphérique associés à des partitions contenues avec ls /dev/loop0p*
ce qui aurait donné : /dev/loop0p1 /dev/loop0p2 etc. (le p indiquant qu'il s'agit d'une partition)
et pour chacun des fichiers de périphérique trouvés, j'aurai fait ce qui suit :

$ udisksctl mount --block-device /dev/loop0
Mounted /dev/loop0 at /media/michel/CDROM.

Et voilà un extrait de la liste des fichiers contenus :

$ ls -l /media/michel/CDROM
total 43781
-r--r--r-- 1 michel michel      340 avril 20 16:01 adtxt.cfg
dr-xr-xr-x 3 michel michel     2048 avril 20 16:01 boot
…
-r--r--r-- 1 michel michel      319 avril 20 16:01 txt.cfg
-r--r--r-- 1 michel michel    26724 avril 20 16:01 vesamenu.c32

Veuillez laisser ce système de fichiers aussi propre que vous l'avez trouvé.

Je démonte le fichier de périphérique loop :

$ udisksctl unmount --block-device /dev/loop0
Unmounted /dev/loop0.

Le système de fichiers de cette image iso a été démonté, et udev a ensuite automatiquement détruit le fichier de périphérique loop et le point de montage qui avait été automatiquement créé.


NOTE : Si des partitions avaient été trouvées, utilisées puis démontées, il faudra aussi penser à libérer le loop device avec :

$ udisksctl loop-delete --block-device /dev/loop0

Si la commande ne retourne rien, c'est que tout s'est bien passé => Les fichiers de périphérique associés aux partitions auront été supprimés.