Як замінити файл у файлі ISO, не потребуючи кореня з командного рядка


13

У мене є ISO файл, і я хочу змінити вміст одного з файлів у ньому з командного рядка. Я знаю, що можу використовувати

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

але мені потрібно рішення, яке не потребує кореневих прав.


2
Це розповість як і багато іншого: unix.stackexchange.com/questions/96625/… Технічно не питання про Ubuntu, а про Linux, тому наш сестринський сайт матиме більше звернень щодо цього;)
Rinzwind

Дякую, але я сподівався знайти спосіб розпакування таким чином, щоб уникнути монтажу всіх разом. Зрештою, ISO - це лише файл, що містить інші файли.
martinhans

Дякую за покажчик на unix.stackexchange.com, але, мабуть, зараз уже пізно переміщувати його. meta.stackexchange.com/questions/64068/…
мартінхани

ISO - це файлова система. Він більше схожий на жорсткий диск, ніж на файл (звідси необхідність його монтажу;)) Переміщення не потрібно; він відповість та / або закриється вчасно;)
Rinzwind

1
Ви можете витягнути вміст ISO безпосередньо за допомогою 7zip.
ніхто

Відповіді:


22

Нарешті мені вдалося знайти собі відповідь. Я можу використовувати запобіжник для монтажу файлу ISO, у сховищах Ubuntu є навіть інструмент для цього:

sudo apt-get install fuseiso

Тоді я можу зробити:

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/

Не забудьте проголосувати і прийняти. Ось +1 від мене :)
Rinzwind

Здається справедливим, що інші отримують два дні, щоб спробувати прийти до ще кращого рішення. Наприклад, можливо, хтось може придумати рішення, яке навіть не вимагатиме запобіжника.
kasperd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.