Jak wyodrębnić ISO w systemie Linux bez dostępu do konta root

22

Mam duży plik ISO na serwerze i muszę uzyskać do niego dostęp bez uprawnień roota. Dlatego nie mogę go po prostu zamontować. Co powinienem zrobić, aby móc wyodrębnić ISO na LInux bez dostępu root?

Tamara Wijsman
źródło

Odpowiedzi:

23

Jeśli jest zainstalowany 7zip, ten jest naprawdę łatwy:

7z x Your.iso -oWhere/You/Want/It/Extracted/To

aby wyodrębnić całe ISO.

API-Beast
źródło
3
Ponieważ pytanie OP ma znacznik „linux”, ważne jest, aby stwierdzić, że to nie będzie działać 7za(CentOS); 7zanie obsługuje archiwów ISO. Obsługiwane formaty można sprawdzić za pomocą 7za i.
Jongosi,
FYI 7zwydaje się na tyle sprytny, aby wyodrębnić bezpośrednio od mediów: 7z x /dev/cdrom. Mam bardzo głupi problem, że po zamontowaniu moje pliki pokazują 0 bajtów. Więc wyodrębnienie było obejściem.
akostadinov
17

Wiele narzędzi GUI, takich jak rolownik plików, używa w tle isoinfo .

Możesz wyodrębnić pojedynczy plik z ISO w taki sposób:

isoinfo -i image.iso -x /isolinux/initrd.img> initrd.img

Przekierowanie jest wymagane jako -xwyciągi na standardowe wyjście.

Jeśli chcesz wyświetlić zawartość folderu w ISO:

isoinfo -i image.iso -l

przykładowe dane wyjściowe:

Lista katalogów /
d --------- 0 0 0 2048 0 1900 [26 02].
d --------- 0 0 0 2048 0 1900 [26 02] ..
d --------- 0 0 0 2048 6 lutego 2010 r. [27 02] i386
...
John T.
źródło
Aby użyć isoread do wyodrębnienia wszystkich plików, wypróbuj ten skrypt: github.com/goblinhack/isoread
Neil McGill
@NeilMcGill Nie działa tutaj. Dużo błędów.
MewX
ISO z rozszerzeniami Rock Ridge wymaga wielkich liter z dołączonym na końcu „; 1”. Użyj -Rl, aby wyświetlić listę plików w tym formularzu.
lzap
6

Znalazłem nowy najlepszy sposób: używanie xorriso!

Nie musisz mieć dostępu do roota. Próbowałem 7zi file-rolleroba nie działają tutaj.

xorriso jest programem typu open source, więc możesz pobrać kody źródłowe, jeśli nie masz go domyślnie zainstalowanego.

Jeśli go jeszcze nie zainstalowałeś, pobierz kody źródłowe tutaj: https://www.gnu.org/software/xorriso/

Kroki są następujące:

tar zxvf xorriso-1.4.6.tar.gz
cd xorriso-1.4.6
./configure
make
cd xorriso
pwd

Dodaj katalog wyjściowy do zmiennej środowiskowej PATH.


Następnie możesz go użyć do wyodrębnienia pliku ISO:

xorriso -osirrox on -indev image.iso -extract / extracted_path

Musisz tylko zmodyfikować image.isoi extracted_pathsprawić, by działał w twoim systemie.


Polecono: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/

MewX
źródło
4

Jeśli masz dostęp do GUI, kliknij prawym przyciskiem myszy ISO i wybierz „Otwórz za pomocą Archive Managera ...” lub po prostu uruchom:

file-roller -e /path/to/extract/to /path/to/iso
BloodPhilia
źródło
1

Jeśli masz 7-ziplub unrarzainstalowałeś, możesz użyć do wyodrębnienia plików ISO.

Nifle
źródło
Jaka jest składnia unrar? Myślę, że to tylko dla Winrar
golimar
1

Jeśli możesz zamontować systemy plików FUSE, FuseISO jest opcją montażu obrazu.

Ryan C. Thompson
źródło
1

Większość powyższych rozwiązań powoduje wyodrębnienie zawartości ISO, ale jeśli zawartość jest duża, zajmie to dużo miejsca.

Lepszym rozwiązaniem byłoby wykonanie rzeczywistego montażu obrazu ISO, a dzięki FuseISO jest to możliwe bez dostępu do roota (ale nadal będziesz musiał poprosić administratora, aby zainstalował FuseISO, jeśli nie jest jeszcze zainstalowany, w Ubuntu sudo apt-get install fuseiso)

Po zainstalowaniu FuseISO w maszynie możesz:

# For user to mount an iso file:
mkdir ~/iso
fuseiso ~/my_iso.iso ~/iso
# For user to unmount an iso file:
fusermount -u ~/iso
Antonello
źródło
0

Nie musisz go montować. ISO jest jak każdy inny plik pamięci, na przykład .zip. Istnieje wiele narzędzi specyficznych dla ISO, aby wykonać sztuczkę, którą powinieneś być w stanie skompilować jako użytkownik, ale najprostszym sposobem powinno być:

file-roller -h filename.iso
Jarvin
źródło