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?

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.


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
...

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/


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

1

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


Jaka jest składnia unrar? Myślę, że to tylko dla Winrar
golimar


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.