制作LiveCD包的工具有不少,其中比较出名的就是UCK和Reconstructor。但是这两个工具都不能把当前的操作系统制成LiveCD,备份当前操作系统,并制成LiveCD的工具也有,比如国人编写的工具UClone,它的使用说明在http://www.linuxidc.com/Linux/2011-04/34098.htm。这里我要介绍另外一种方法,可以将当前的操作系统打包,并制成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就一定能够很好的运行。

1.将当前操作系统备份成squashfs归档文件,有很多工具,其中最简便的就数Live Ubuntu Backup V2.2了,尤其是它还支持中文提示,在http://www.linuxidc.com/Linux/2011-04/34096.htm  可以下载,并且还有使用说明。这是一个shell脚本写成的Ubuntu备份工具,直接运行即可。

将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/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 '{print $2,$3}' > /home/jxg/livecd/casper/filesystem.manifest

$sudo dpkg -l | grep ii | awk '{print $2,$3}' > /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文件了。

livecd linux 原理,将现有Ubuntu系统做成LiveCD相关推荐

  1. [详细教程] 在现有Ubuntu系统上安装Windows 10 (双系统)

    文章目录 前言 一些说明 1.创建NTFS主分区 [1] 1.1 方法一:Unetbootin (官方不推荐) 1.2 方法二:Tuxboot 1.3 利用gparted启动盘创建新的NTFS分区 2 ...

  2. 当前linux环境做出镜像,把当前ubuntu系统做成镜像

    Systemback是一个很好的备份还原软件.用它还可以生成自己的linux系统镜像文件,所以我们这里使用Systemback来制作UBuntu的镜像文件. 1 安装Systemback 在开始之前我 ...

  3. 安装Linux 乌班图 Ubuntu 系统

    首先 下载系统文件 http://mirrors.yun-idc.com/ubuntu-releases/18.04.1/ubuntu-18.04.1-desktop-amd64.iso 之后下载U盘 ...

  4. 【 Linux学习】解决Ubuntu系统发送邮件失败,报错:send-mail: fatal: open /etc/postfix/main.cf: No such file or directory

    一.问题描述 今天在Ubuntu系统上,使用mail命令发送邮件的时候,失败了,报错send-mail: fatal: open /etc/postfix/main.cf: No such file ...

  5. 把当前自己使用的ubuntu系统做成镜像

    转载自: https://blog.csdn.net/github_34965845/article/details/80734400 原文地址: http://community.bwbot.org ...

  6. 夏普linux掌上电脑,夏普展示Ubuntu系统NetWalker PC-Z1[图文]

    夏普采用Ubuntu系统的NetWalker PC-Z1/图1 近日夏普展示了其最新产品采用Ubuntu系统NetWalker PC-Z1 ,该产品采用5寸 1024 x600 触摸屏,配备ARM C ...

  7. linux 取消utc时间,ubuntu系统下禁用utc时间的设置方法

    前言 大家在安装双系统以后,发现进入win7和ubuntu系统以后,显示的时间不一致,后来发现是两个系统对硬件时间的看法不一致 原因如下 1.Windows会认为BIOS时间就是你的本地时间 2.ub ...

  8. 如何把linux生成镜像,如何把当前ubuntu系统做成镜像

    1 安装Systemback 在开始之前我们先update以下自己的ubuntu,确保没啥问题: sudo apt-get update 接下来安装Systemback: sudo add-apt-r ...

  9. Linux如何查看当前Ubuntu系统的版本

    ​ 害,用Ubuntu差不多快两三个月了,系统是按照老师的要求装的,老师突然提到当前作业要在Ubuntu18.04以上才能运,我才发现...具体怎么看当前版本还不知道,下面分享一下查看当前Linux系 ...

最新文章

  1. Java深入研究_Java深入研究【1、object类】
  2. 使有用计算机不注意卫生,对您有用的与电脑清洁相关的知识
  3. 查询数据库中的表结构信息
  4. {面试题49} 把字符串转换成整数
  5. Elasticsearch 实例管理在京东的使用场景及演进之路
  6. Django从理论到实战(part51)--User模型
  7. 万方数据知识平台 TFHpple +Xpath解析
  8. 【系统设计】统一过程的类抽取
  9. centos打开mysql数据库_Linux、Centos下操作mysql数据库开启远程访问
  10. ftp 501错误_分享,HTTP协议错误代码大全
  11. qq飞车手游微信新服务器失败,关于QQ飞车手游部分玩家更新失败的问题说明
  12. html5如何将4张照片排列,如何将多张图片排列在一张图片呢?学会这两种技巧,轻松搞定...
  13. c# 安装和卸载服务(window service)
  14. 网页自动调入软键盘输入中文
  15. 小牛叔讲Python第1章: 编程界的瑞士军刀Python
  16. 判断SuperView
  17. 数据库全栈工程师(DevDBOps)低首付、高回报,先就业后付款
  18. 能力与素养恬阔与平时,欣赏与 Offer 展露在未来!
  19. 2022年证券从业资格投资顾问考试多选题专练及答案
  20. Binary Knapsack (BKP) Problem 是什么

热门文章

  1. MySQL 统计上一周从周一到周日的用户
  2. 解决 卸载Mysql后,服务还在的问题
  3. ssm栾城五中的图书管理毕业设计源码171727
  4. 博士申请 | 香港中文大学(深圳)张瑞茂老师组招收计算机视觉博士/硕士/RA
  5. 五洲制冷中央空调西门子S7-200 PLC控制系统程序 PLC和屏程序
  6. 机器学习(十六)推荐系统
  7. 微信MAC最新版3.1.0支持发朋友圈了
  8. 明翰计算机基础知识V0.4(持续更新)
  9. Qt显示PDF之四pdfium封装
  10. SQL如何构建多条件组合查询,而且不降低效率