J'ai un gros fichier ISO sur un serveur et je dois y accéder sans avoir un accès root. Ainsi, je ne peux pas simplement le monter. Que dois-je faire pour pouvoir extraire un ISO sur LInux sans accès root?
J'ai un gros fichier ISO sur un serveur et je dois y accéder sans avoir un accès root. Ainsi, je ne peux pas simplement le monter. Que dois-je faire pour pouvoir extraire un ISO sur LInux sans accès root?
Réponses:
Si 7zip est installé, celui-ci est vraiment simple:
7z x Your.iso -oWhere/You/Want/It/Extracted/To
pour extraire l'ensemble de l'iso.
7z
semble assez intelligent pour extraire directement sur les médias: 7z x /dev/cdrom
. J'ai un problème très stupide, que mes fichiers affichent 0 octet lorsqu'ils sont montés. L'extraction était donc une solution de contournement.
De nombreux outils de l'interface graphique comme le rouleau de fichiers utiliseront isoinfo en arrière-plan.
Vous pouvez extraire un seul fichier d'une image ISO comme ceci:
isoinfo -i image.iso -x /isolinux/initrd.img> initrd.img
La redirection est requise en tant -x
qu'extraits vers stdout.
Si vous souhaitez lister le contenu d'un dossier dans l'ISO:
isoinfo -i image.iso -l
exemple de sortie:
Liste des répertoires de / d --------- 0 0 0 2048 0 1900 [26 02]. d --------- 0 0 0 2048 0 1900 [26 02] .. d --------- 0 0 0 2048 6 février 2010 [27 02] i386 ...
J'ai trouvé un nouveau meilleur moyen: utiliser xorriso
!
Pas besoin d'avoir un accès root. J'ai essayé 7z
et file-roller
, les deux ne fonctionnent pas ici.
xorriso
est un programme open source, vous pouvez donc télécharger les codes source si vous ne l'avez pas installé par défaut.
Si vous ne l'avez pas installé, veuillez télécharger les codes sources ici: https://www.gnu.org/software/xorriso/
Les étapes sont les suivantes:
tar zxvf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
./configure
make
cd xorriso
pwd
Ajoutez le répertoire de sortie dans la variable d'environnement PATH
.
Ensuite, vous pouvez l'utiliser pour extraire un fichier iso:
xorriso -osirrox on -indev image.iso -extract / extracted_path
Il vous suffit de le modifier image.iso
et extracted_path
de le faire fonctionner sur votre système.
Référé: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/
Si vous avez un accès à l'interface graphique, cliquez avec le bouton droit sur l'iso et choisissez "Ouvrir avec Archive Manager ..." ou exécutez simplement:
file-roller -e /path/to/extract/to /path/to/iso
Si vous pouvez monter des systèmes de fichiers FUSE, FuseISO est une option pour monter l'image.
La plupart des solutions ci-dessus vous font extraire le contenu iso, mais si le contenu est volumineux, cela prendra beaucoup d'espace.
Une meilleure solution serait de faire le montage réel de l'image iso, et grâce à FuseISO qui est possible sans accès root (mais vous devrez toujours demander à l'administrateur d'installer FuseISO s'il n'est pas déjà installé, dans ubuntu sudo apt-get install fuseiso
)
Une fois FuseISO installé sur la machine, vous pouvez:
# For user to mount an iso file:
mkdir ~/iso
fuseiso ~/my_iso.iso ~/iso
# For user to unmount an iso file:
fusermount -u ~/iso
Vous n'avez pas besoin de le monter. ISO est comme tout autre fichier de stockage, comme un .zip. Il existe de nombreux outils spécifiques aux iso pour faire l'astuce que vous devriez être en mesure de compiler en tant qu'utilisateur, mais la façon la plus simple devrait être de le faire:
file-roller -h filename.iso
7za
(CentOS);7za
ne prend pas en charge les archives ISO. Vous pouvez vérifier les formats pris en charge avec7za i
.