我們裝Linux或windows系統時,首先都會下載對應的系統鏡像文件,這些文件都是以.iso結尾。ISO是一種什麼格式的文件呢?
ISO文件(通常稱為 ISO 鏡像)是一種存檔文件,是光盤(如 CD 或 DVD)上數據的完整複制(或鏡像)。 ISO文件通常用于備份光盤,或用于分發旨在刻錄到光盤的大型文件集。下面是下載的Ubuntu22.04系統安裝ISO文件。
ubuntu 鏡像文件
ISO文件介紹ISO 名稱取自光盤使用的文件系統名稱,通常是 ISO 9660,也被稱為CDFS。ISO鏡像是物理光盤(如 CD、DVD 或藍光光盤)上包括文件系統本身的所有内容的無壓縮完整副本。ISO 鏡像背後的想法是,可以存檔光盤的精确數字副本,然後使用該鏡像刻錄新光盤,該光盤又是原始光盤的精确副本。大多數操作系統(和許多實用程序)可以把 ISO 鏡像挂載為虛拟光盤,在這種情況下,應用程序視其為插入了真正的光盤。
雖然許多人确實使用 ISO 鏡像來創建光盤備份,但如今 ISO 鏡像主要用于分發大型程序和操作系統。因為它允許所有文件都包含在一個易于下載的文件中。 然後,人們可以決定是要挂載該鏡像還是使用它來刻錄光盤。包括 Windows 和各種 Linux 發行版的大多數可以下載的操作系統,都是使用 ISO 鏡像分發。
下面介紹下如何在Linux上挂載、制作ISO文件
linux上如何挂載ISO文件使用mount指令挂載ISO文件到指定目錄。
wq@wq-VirtualBox:~/Downloads/iso % ll
total 3.5G
-rwxr-x--- 1 wq wq 3.5G 6月 11 11:38 ubuntu-22.04-desktop-amd64.iso
wq@wq-VirtualBox:~/Downloads/iso % sudo mkdir -p /iso
wq@wq-VirtualBox:~/Downloads/iso % sudo mount -o loop ubuntu-22.04-desktop-amd64.iso /iso
mount: /iso: WARNING: device write-protected, mounted read-only.
wq@wq-VirtualBox:~/Downloads/iso % ll /iso
total 42K
dr-xr-xr-x 1 root root 2.0K 4月 16 06:08 boot
-r--r--r-- 1 root root 2.0K 4月 19 18:23 boot.catalog
dr-xr-xr-x 1 root root 2.0K 4月 19 18:21 casper
dr-xr-xr-x 1 root root 2.0K 4月 19 18:19 dists
dr-xr-xr-x 1 root root 2.0K 4月 16 06:08 EFI
dr-xr-xr-x 1 root root 2.0K 4月 19 18:19 install
-r--r--r-- 1 root root 26K 4月 19 18:23 md5sum.txt
dr-xr-xr-x 1 root root 2.0K 4月 19 18:19 pool
dr-xr-xr-x 1 root root 2.0K 4月 19 18:19 preseed
lr-xr-xr-x 1 root root 1 4月 19 18:19 ubuntu -> .
把Ubuntu系統安裝鏡像挂載到/iso目錄,查看目錄下的文件,發現文件權限都是隻讀的,原因是ISO 9660(CDFS)文件系統是一個隻讀文件系統,即使root 用戶也無法修改。下面用root用戶删除/iso下一個文件做下實驗
root@wq-VirtualBox:/iso# rm -f boot.catalog
rm: cannot remove 'boot.catalog': Read-only file system
root@wq-VirtualBox:/iso#
使用mkisofs 命令制作ISO文件。下面對此命令做一個簡單的示例。
首先制作一個100M大文件。
wq@wq-VirtualBox:~/Downloads/test % dd if=/dev/zero of=test bs=1M count=100
100 0 records in
100 0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.112925 s, 929 MB/s
wq@wq-VirtualBox:~/Downloads/test % ll
total 100M
-rw-rw-r-- 1 wq wq 100M 6月 12 08:20 test
使用mkisofs把此文件封裝到ISO,可以看到封裝後的ISO文件大小為100M,沒有做任何壓縮。
wq@wq-VirtualBox:~/Downloads/test % sudo mkisofs -o test.iso ~/Downloads/test
[sudo] password for wq:
I: -input-charset not specified, using utf-8 (detected in locale settings)
9.73% done, estimate finish Sun Jun 12 08:32:40 2022
19.48% done, estimate finish Sun Jun 12 08:32:40 2022
29.20% done, estimate finish Sun Jun 12 08:32:40 2022
38.95% done, estimate finish Sun Jun 12 08:32:40 2022
48.66% done, estimate finish Sun Jun 12 08:32:40 2022
58.41% done, estimate finish Sun Jun 12 08:32:40 2022
68.13% done, estimate finish Sun Jun 12 08:32:40 2022
77.88% done, estimate finish Sun Jun 12 08:32:40 2022
87.59% done, estimate finish Sun Jun 12 08:32:40 2022
97.34% done, estimate finish Sun Jun 12 08:32:40 2022
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
51374 extents written (100 MB)
wq@wq-VirtualBox:~/Downloads/test % ll test.iso
-rw-r--r-- 1 root root 101M 6月 12 08:32 test.iso
使用mount指令把test.iso挂載到/iso目錄, 可以看到先前制作的100M大文件
wq@wq-VirtualBox:~/Downloads/test % sudo mount -o loop test.iso /iso
mount: /iso: WARNING: device write-protected, mounted read-only.
wq@wq-VirtualBox:~/Downloads/test % ll /iso
total 100M
-r-xr-xr-x 1 root root 100M 6月 12 08:22 test
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!