題 在CLI上將ISO文件解壓縮為非root用戶


我有一個ISO文件,我應該在一個相當準確的服務器上提取。 然而:

  • 我不是root用戶,我沒有任何類似sudo的可能性,所以沒有安裝
  • 我不是在Ubuntu(而不是ArchLinux),所以沒有像文件滾輪等花哨的東西
  • 我無法訪問GUI,根據我的知識,沒有安裝任何GUI工具
  • 不幸的是,為了讓事情變得更糟,我注意到7-Zip也沒有安裝...:((unrar是,但顯然它也無法提取iso文件)

所以,我知道這是一個相當無望的問題,我怎樣才能提取這個iso的文件?當然有些神奇 dd-like命令可以用於此目的?


6
2018-06-04 23:30


起源


可能重複此問題: superuser.com/questions/180744/... - Bora


答案:


將p7zip安裝到您自己的帳戶中不應該需要任何額外的權限。 從這裡下載p7zip二進制tarball,提取它,並從其包含的bin目錄運行7z。

從我的Ubuntu系統,我沒有使用root權限:

user@host:~/Inbox/p7zip_9.20.1/bin$ ./7z

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
...
  -y: assume Yes on all queries
user@host:~/Inbox/p7zip_9.20.1/bin$ 

完整的Debian安裝示例,以防萬一(使用 7z不是 7za):

renfro@itchy:~$ ls
debian-6.0.4-amd64-netinst.iso  p7zip.tar.bz2
renfro@itchy:~$ tar -jxf p7zip.tar.bz2
renfro@itchy:~$ ls
debian-6.0.4-amd64-netinst.iso  p7zip_9.20.1  p7zip.tar.bz2
renfro@itchy:~$ p7zip_9.20.1/bin/7z x debian-6.0.4-amd64-netinst.iso

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,1 CPU)

Processing archive: debian-6.0.4-amd64-netinst.iso

Extracting  .disk
Extracting  .disk/base_components
Extracting  .disk/base_installable
Extracting  .disk/cd_type
Extracting  .disk/info
Extracting  .disk/mkisofs
Extracting  .disk/udeb_include
Extracting  README.html
Extracting  README.mirrors.html

...

Extracting  tools/loadlin.txt
Extracting  win32-loader.ini
Extracting  [BOOT]/Bootable_NoEmulation.img

Everything is Ok

Folders: 282
Files: 520
Size:       174877270
Compressed: 176160768
renfro@itchy:~$

7
2018-06-04 23:45



我希望有些人 dd 魔法會存在......但我想我真的沒有選擇,只能建立我自己的解壓縮器或禮貌地詢問系統管理員:(無論如何謝謝你:D - Deatzo Seol
請重讀我的解決方案 - 我這樣做了 無特權 具有對其自己的主目錄的寫訪問權限的帳戶。 p7zip不必由root用戶安裝,你可以自己動手。 - Mike Renfro
我想你誤解了我的評論: 或 請系統管理員自己提取iso,或者為我安裝它; 要么 自己建7z ......但是你是對的,我應該讓它更清楚:) - Deatzo Seol
不需要編譯/構建。該tarball包含Linux可執行文件。只需從中提取文件即可。 - Mike Renfro
7za似乎沒有提取ISO。但OR不是用於安裝軟件,而是用於將ISO安裝為環回設備。基本上,如果他找不到可以執行此操作的軟件,或編寫可以執行此操作的軟件,則可以使用管理員幫助安裝環回。 - bobpaul