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?
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:
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.
7z
wydaje 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.
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 -x
wycią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 ...
Znalazłem nowy najlepszy sposób: używanie xorriso
!
Nie musisz mieć dostępu do roota. Próbowałem 7z
i file-roller
oba 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.iso
i extracted_path
sprawić, by działał w twoim systemie.
Polecono: https://blog.sleeplessbeastie.eu/2014/08/26/how-to-extract-an-iso-image/
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
Jeśli możesz zamontować systemy plików FUSE, FuseISO jest opcją montażu obrazu.
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
7za
(CentOS);7za
nie obsługuje archiwów ISO. Obsługiwane formaty można sprawdzić za pomocą7za i
.