如何建構客製化Linux作業系統的ISO,以便我可以使用ISO安裝在其他系統上?

如何建構客製化Linux作業系統的ISO,以便我可以使用ISO安裝在其他系統上?

我已經在 U 盤上安裝了 CentOS6.7 的最小版本,複製/安裝了一些應用程式/軟體包並進行了相應的自訂。

現在我想為我的定製作業系統建立 ISO,並希望使用 ISO 安裝在其他系統上。

那可能嗎?

提前致謝。

答案1

與 Microsoft Windows 等不同,檔案系統上的任何檔案都沒有什麼神奇或特別之處,如果它們與系統首次安裝時位於磁碟的不同磁區,則係統不會崩潰。這意味著您只需將整個檔案系統從一個磁碟複製到另一個磁碟即可正常運作。

了解這一點,您可以:

  • tar cfxz mysystem.tar.gz /

如果 /boot、/home、/usr 或 /var 位於不同的檔案系統上,則需要在 tar 命令列上列出它們。此-x選項防止下降到已安裝的檔案系統以排除/proc, 和/sys。例如,如果它們都是單獨安裝的檔案系統:

tar cfxz mysystem.tar.gz / /boot /home /usr /var

調整以適合您的安裝。

  • 創建一個包含以下內容的 USB 記憶棒gparted
  • 安裝它
  • 複製mysystem.tar.gz到它。
  • 卸載它。

  • 將 USB 記憶棒(或其副本)發送給需要安裝它的任何人,並附有說明:

    1. 啟動它
    2. 使用 gparted 建立分割區(rootfs、swap、任何其他分割區)
    3. 啟動 root shell
    4. 將分區掛載到 /target 下。例如,如果 /dev/sda1 和 /dev/sda2 上有 / 和 /boot:

    mkdir -p /target mount /dev/sda1 /target mkdir -p /target/boot mount /dev/sda2 /boot

    1. 提取mysystem.tar.gz/target

    tar xfz /mysystem.tar.gz -C /target

    1. 根據需要進行編輯/target/etc/fstab,使其與新系統上的檔案系統相符。

    2. 如果/target/etc/udev/rules/70-persistent-net.rules存在,則將其刪除。

    3. 準備 chroot 到 /target 以便運行grub-install

    for i in proc dev sys dev/pts ; do mount -o bind /$i /target/$i ; done

    1. chroot /target
    2. install-grub /dev/sda
    3. exit
    4. for i in proc dev sys dev/pts boot /; do umount /target/$i ; done
    5. 重啟。您的系統應該被複製到新磁碟上。

如果您建立包含兩者的可啟動 CD 或 DVDgparted以及mysystem.tar.gz.

答案2

您可以使用dd以下命令來製作 iso:

sudo dd if=/dev/sda of=/path/to/new/iso.iso

(相應地更改if(輸入文件)和of(輸出文件)。)

並將其安裝到您想要安裝的每個磁碟上:

sudo dd if=/path/to/iso.iso of=/dev/sdb

(相應地更改if(輸入文件)和of(輸出文件)。)

相關內容