Comment remplacer un fichier dans un fichier ISO sans avoir besoin de root depuis la ligne de commande

13

J'ai un fichier ISO et je souhaite modifier le contenu de l'un des fichiers qu'il contient à partir de la ligne de commande. Je sais que je peux utiliser

sudo mount -o loop <etc...>
rsync -ra a b
edit b/file
mkisofs <options>

mais j'ai besoin d'une solution qui ne nécessite pas de droits root.

martinhans
la source
2
Cela vous dira comment et plus: unix.stackexchange.com/questions/96625/… Techniquement pas une question sur Ubuntu mais sur Linux donc notre site soeur aura plus de hits à ce sujet;)
Rinzwind
Merci, mais j'espérais trouver un moyen de faire le déballage d'une manière qui évite le montage tous ensemble. L'ISO est juste un fichier contenant d'autres fichiers, après tout.
martinhans
Merci pour le pointeur vers unix.stackexchange.com, mais je suppose qu'il est trop tard pour le déplacer maintenant. meta.stackexchange.com/questions/64068/…
martinhans
Un ISO est un système de fichiers. Il ressemble plus à un disque dur qu'à un fichier (d'où la nécessité de le monter;)) Le déplacement n'est pas nécessaire; il sera répondu et / ou fermé à temps;)
Rinzwind
1
Vous pouvez extraire le contenu d'un ISO directement à l'aide de 7zip.
Andrew Medico

Réponses:

22

J'ai finalement réussi à trouver une réponse moi-même. Je peux utiliser fuse pour monter le fichier ISO, il y a même un outil pour cela dans les référentiels Ubuntu:

sudo apt-get install fuseiso

Ensuite, je peux faire:

fuseiso -p file.iso mounted_iso/
rsync -ra mounted_iso/ copy/
fusermount -u mounted_iso

chmod -R +w copy/
edit copy/file

mkisofs <many options> -o remastered.iso copy/
martinhans
la source
N'oubliez pas de voter et d'accepter. Voici un +1 de ma part :)
Rinzwind
Il semble juste que d'autres aient deux jours pour essayer de trouver une solution encore meilleure. Par exemple, il se pourrait que quelqu'un puisse trouver une solution qui ne nécessite même pas de fusible.
kasperd