製作Ubuntu系統做成LiveCD iso

2021-07-11 19:06:50 字數 3791 閱讀 5883

製作livecd包的工具有不少,其中比較出名的就是uck和reconstructor。但是這兩個工具都不能把當前的作業系統製成livecd,備份當前作業系統,並製成livecd的工具也有,比如國人編寫的工具uclone,它的使用說明在

這裡我要介紹另外一種方法,可以將當前的作業系統打包,並製成livecd。

製作livecd包,需要與當前ubuntu版本相同的desktopd iso安裝包,我這裡用到的是ubuntu-10.10-desktop-i386.iso,這個iso檔案實際上就是乙個現成的livecd,我們只要利用它的結構,就可以方便快捷的生成自己的最小系統livecd了。這裡主要做的事情是首先,將已安裝作業系統上的檔案備份成乙個squashfs歸檔檔案,然後將ubuntu-10.10-desktop-i386.iso裡的內容拷貝出來,用新的 squashfs檔案替換掉裡面已有的檔案,再調整一些配置,然後將其生成新的iso檔案,再將其燒錄成cd或者製成usb引導盤,這個過程就算大功告成了。

但是如果當前的作業系統比較大,比如8、9個g會出什麼結果,我並沒測試,所以也不能保證這樣的livecd就一定能夠很好的執行。

將lub拷貝到/home下,$sudo chmod 777 /home/lub 然後執行$sudo /home/lub -b,然後按e或c來選擇是英文提示,還是中文提示。第一次執行時,可能會提示需要安裝lupin-casper和squashfs-tools,其中 lupin-casper可以忽略,而squashfs-tools必須安裝,執行$sudo apt-get install squashfs-tools即可。

之後再次執行$sudo /home/lub -b,依提示執行,就能在使用者資料夾下生成乙個backup-2011.01.05的目錄了,其中有的backup-2011.01.05.squashfs檔案就是我們想要的。

2.再將ubuntu-10.10-desktop-i386.iso拷貝到使用者目錄下,比如/home/jxg/下,

執行$sudo mkdir /home/jxg/mnt 建立乙個目錄,

然後執行$sudo mount -o loop /home/jxg/ubuntu-10.10-desktop-i386.iso /home/jxg/mnt,將iso掛載到/home/jxg/mnt下,然後用執行$sudo mkdri /home/jxg/livecd 建立乙個livecd的工作目錄

再用 $sudo rsync --exclude=/home/jxg/mnt/casper/filesystem.squashfs -a /home/jxg/mnt/ /home/jxg/livecd  將/home/jxg/mnt下的內容除了casper/filesystem.squashfs,同步到了/home/jxg/livecd目錄下

伺服器安裝盤在/home/jxg/mnt/install/目錄下

下面,我們要對/home/jxg/livecd/casper/目錄下的filesystem.squashfs、 filesystem.manifest、filesystem.manifest-desktop這三個檔案進行操作,由於它們只有讀許可權,所以先執行$sudo chmod o+w /home/jxg/livecd/casper/filesystem.*

將剛才lub生成的那個backup-2011.01.05.squashfs檔案,拷貝成/home/jxg/livecd/casper/filesystem.squashfs

執行: $sudo cp /home/jxg/backup-2011.01.05/backup2011.01.05.squashfs /home/jxg/livecd/casper/filesystem.squashfs

此外,還要更新/home/jxg/livecd/casper/目錄下的filesystem.manifest和filesystem.manifest-desktop,這兩個檔案實際上是系統所裝包的列表,通過以下方式更新

$sudo dpkg -l | grep ii | awk '' > /home/jxg/livecd/casper/filesystem.manifest

$sudo dpkg -l | grep ii | awk '' > /home/jxg/livecd/casper/filesystem.manifest-desktop

實際上filesystem.manifest-desktop和filesystem.manifest是有所不同的,主要是少了 ubiquity casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4 這幾個包,我們這裡忽略了這些影響。

3.退回的livecd的工作目錄 /home/jxg/livecd 下,

執行$sudo rm md5sum.txt

再執行$find -type f -print0 | sudo xargs -0 md5sum | grep -v ./isolinux/ | grep -v ./md5sum.txt | sudo tee md5sum.txt

更新原來的md5sum

4.將工作目錄下的內容打包成iso

先執行$sudo apt-get install mkisofs 安裝iso打包工具,

執行$sudo mkisofs -d -r -v "$image_name" -cache-inodes -j -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-jxg-test.iso .

這個一定要在工作目錄的跟下執行,並且命令最後的 . 一定不要忘記。命令完成後,就可以在上一級的目錄下發現ubuntu-jxg-test.iso檔案了。

伺服器版 製作過程

unzip lub.zip

./lub  -b

apt-get install lupin-casper

mkdir /home/jxg

mkdir /home/jxg/mnt

mount -o loop /home/uftp/ubuntu-14.04.4-server-i386.iso /home/jxg/mnt/

mkdir /home/jxg/livecd

rsync  --exclude= /home/jxg/mnt/install/filesystem.squashfs -a /home/jxg/mnt/ /home/jxg/livecd/

cp /home/root/backup2016.05.03.squashfs /home/jxg/livecd/install/filesystem.squashfs

dpkg -l | grep ii | awk '' > /home/jxg/livecd/casper/filesystem.manifest

dpkg -l | grep ii | awk '' > /home/jxg/livecd/install/filesystem.manifest

cd ../jxg/livecd/

lsrm md5sum.txt

find -type f -print0 | sudo xargs -0 md5sum | grep -v ./isolinux/ | grep -v ./md5sum.txt | sudo tee md5sum.txt

apt-get install mkisofs

mkisofs -d -r -v "$image_name" -cache-inodes -j -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-jxg-test.iso .

將現有Ubuntu系統做成LiveCD

製作livecd包的工具有不少,其中比較出名的就是uck和reconstructor。但是這兩個工具都不能把當前的作業系統製成livecd,備份當前作業系統,並製成livecd的工具也有,比如國人編寫的工具uclone,它的使用說明在http upc.gg.blog.163.com blog sta...

把當前ubuntu系統做成映象

systemback是乙個很好的備份還原軟體。用它還可以生成自己的linux系統映象檔案,所以我們這裡使用systemback來製作ubuntu的映象檔案。在開始之前我們先update以下自己的ubuntu,確保沒啥問題 sudo apt get update接下來安裝systemback sudo...

ubuntu製作nfs檔案系統

ubuntu 1.關閉防火牆 sudo ufw disable 2.涉及檔案 portmap hosts.deny hosts.allow 涉及操作 按順序如下 sudo etc init.d portmap restart sudo etc init.d nfs common restart su...