Сценарий bash: как войти в систему как пользователь root или извлечь .IFO из образа .ISO без предварительного монтирования - PullRequest
0 голосов
/ 28 декабря 2011

Я написал скрипт bash, который загружает, восстанавливает и восстанавливает файлы через файлы nzb.Чаще всего результатом является папка VIDEO_TS или файл .ISO.Сейчас я расширяю этот скрипт, чтобы он мог кодировать любой из этих результатов, используя mplayer / mencoder.Но если я пытаюсь кодировать .ISO, который содержит субтитры, мне также нужно скопировать файл .IFO из .ISO, или mplayer не будет отображать субтитры должным образом.Mencoder не будет извлекать файлы .IFO, только файлы .SUB и .IDX.

Единственный известный мне способ извлечения файлов из .ISO требует сначала смонтировать его как root.Поскольку этот сценарий занимает несколько часов и требует значительных ресурсов, мне нравится запускать его ночью без присмотра.Поэтому я не могу войти в систему как root, если это необходимо.

Итак, в bash-скрипте возможно ли войти в систему как root полностью внутри скрипта или, альтернативно, можно ли скопироватьфайлы из .ISO без его монтирования?

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Вы также можете использовать isoinfo. Например; isoinfo -l image.iso выведет список всех файлов, а isoinfo -x some/file.txt image.iso извлечет один файл из изображения. В Fedora это часть пакета genisoimage; кажется, что он находится на http://cdrkit.org/ и, вероятно, является частью debburn на Debian?

1 голос
/ 28 декабря 2011

Вы можете использовать fuseiso для монтирования образов ISO как обычного пользователя. Это в Debian и Ubuntu.

Тогда просто выдайте fuseiso iso.img /mount/point.

В качестве альтернативы, просто установите пароль без пароля sudo (с NOPASSWD) для пользователя, выполняющего скрипт, и добавьте к нему привилегированные команды.

...