扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、首先在 Linux 系统中打开终端,确认 U 盘路径:
创新互联公司成立于2013年,是专业互联网技术服务公司,拥有项目网站设计制作、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元浮梁做网站,已为上家服务,为浮梁各地企业和个人服务,联系电话:028-86922220
执行完这条命令后会出现若干个盘的信息,其中识别U盘的一个比较直观的方式是看容量大小。假设U盘的路径是 \dev\sdb 。
2、umount U 盘:
3、格式化U盘:
如果U盘是空的可能格式化的过程会比较快,否则可能会比较慢。
4、使用 dd 命令制作系统盘:
该命令一般需要十分钟左右可以完成。
建立软盘镜像:
前面在 Writing x86 PC Bootloader With Free Software 一文中提到了如何制作启动软盘镜像,但是这个软盘镜像仅仅能用来启动电脑,而不能用来存储数据。因为它没有被格式化,所以不能挂载,因此最主要的任务是要将它格式化。
首先,生成空白软盘镜像:
dd if=/dev/zero of=data.img bs=512 count=2880
使用 losetup 命令,将 data.img 作为 loop device 使用:
sudo losetup /dev/loop0 data.img
然后,格式化这个 loop device:
sudo mkfs.msdos /dev/loop0
检查文件系统:
sudo fsck.msdos /dev/loop0
删除 loop device:
sudo losetup -d /dev/loop0
这时候,data.img 已经格式化完成,可以作为一个软盘镜像使用,比如用 sudo mount -o loop data.img mountdir/ 挂载到 mountdir 上。设置一定的权限之后,使用虚拟机打开这个软盘镜像,就可以把这个镜像当作共享目录来使用,虽然很可怜的是这个文件只有 1.44 M 大小,但在某些时候已经能满足需要了。
建立光盘镜像很简单,使用下面命令即可:
genisoimage -o data.iso /data/yourdir/*
这就能直接将 /data/yourdir/ 下的所有文件建立成一个光盘镜像。但是使用光盘镜像唯一一个不足就是,它是只读的,所以文件的共享只能从一个方向进行(如果虚拟机上的系统不支持烧录CD的话 ^_^)。
LINUX
下制作软盘镜像制作流程
1.先生成一个空白软盘镜像:
dd
if=/dev/zero
of=data.img
bs=512
count=2880
2.使用losetup命令,把data.img作为loop
device使用:
sudo
losetup
/dev/loop0
data.img
3.格式化这个loop
device
sudo
mkfs.msdos
/dev/loop0
//如果没有mkfs.msdos
命令,请检查系统是否安装了dosfstools包
4.检查文件系统:
sudo
fsck.msdos
/dev/loop0
5.删除
loop
device:
sudo
losetup
-d
/dev/loop0
6.这时候,data.img已经格式化完成,以可读写选项挂载空白软盘镜像
sudo
mount
-o
loop,rw
data.img
/mnt/floop
7.往软盘所挂载的节点上写入文件,容量不超过
1.44M
就好了!
sudo
cp
file.c
/mnt/floppy
8.卸载软盘
sudo
umount
/mnt/floop
9.但是这样还不可以引导,需要写一个简单的引导程序,
编译后生成
boot
,
大小不能超过512Byte,然后
dd
bs=512
if=boot
of=/dev/loop/0
count=1
把这个引导程序写入软盘镜像的0扇区。
DockerHub 上有很多的镜像,可以满足大部分的需求。这种情况我们就可以直接通过 docker pull ** 从DockerHub上获取对应的镜像。
当然还有一些情况,我们需要的镜像DockerHub上不存在,例如:Linux信创的环境,在DockerHub上就很难知道对应的镜像,如果需要这种镜像的话就需要通过运行的系统来制作镜像了。
/proc 、 /sys 、 /run 、 /dev 这几个目录都是系统启动时自动生成的,虽然也属于文件系统一部分,但是他们每次开机都会有变化,所以打包的时候就应该忽略它们
参数说明:
-c或--create 建立新的备份文件
-f备份文件或--file=备份文件 指定备份文件
-p或--same-permissions 用原来的文件权限还原文件
-v或--verbose 显示指令执行过程
z或--gzip或--ungzip 通过gzip指令处理备份文件
--numeric-owner 以用户识别码及群组识别码取代用户名称和群组名称
tar 命令更多参数可参考:
Linux tar 命令
Linux tar.gz、tar、bz2、zip 等解压缩、压缩命令详解
导入docker之前,最好修改下docker的默认存储路径。
具体修改方法可参考: Linux 下修改Docker默认存储路径
tips: 运行导入的镜像的时候必须带command,否则启动报如下错误. 最后的/bin/bash 不能少
提示: 制作的镜像文件太大,会导致启动容器时候失败: Getting the final child's pid from pipe caused "EOF"
参考文章:
[Docker 镜像导出和导入]
一、下载安装包
可以根据你的系统类型自行去官网下载,由于会有很多依赖关系,条件允许建议者通过网络yum的形式安装(具体操作很多教程有)。
当然如果你是redhat6版本,那么可以直接在下载,我已经上传了,
里面的包已经全部囊括其中,安装命令,有依赖关系的先安装好依赖关系。
二、使用工具备份成镜像
root用户下输入mondoarchive,然后就都是图形操作了,鉴于要截图,所以使用的是远程连接工具,实际图的界面没这么丑。
[root@TIANCOM ~]# mondoarchive
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
选择标记的存放在服务器本地硬盘里面就可以了,点击回车下一步出现让你选择存放路径,直接默认即可,回车下一步。
一般选择gzip作为压缩条件就可以了,随你自行选择吧,回车下一步。
压缩标准,最大压缩率,最小压缩率,一般压缩率,其实选择一般就可以了,最小的话用时会比较久点,这个也根据自己实际情况选择吧,如果你系统需要备份的太多,那么你最好选择最小,因为如果压缩不超出范围,会生成两个盘,相对来说就不好刻录还原了,回车下一步。
这里让你选择镜像文件的大小,一般直接默认dvd的4480M就好了,选择Ok回车下一步。
替你的镜像命名,随意命名即可,如果有多个镜像工具会在后面自行标记1-9来区分,ok下一步。
选择你要备份的目录,一般默认根目录即可,直接下一步。
选择你要排除的文件,一般镜像存放目录肯定排除不需要备份,还有根目录下的临时文件,或者一些其他不用的,具体根据实际情况和网上一些备份情况斟酌,注意在还原的时候你建立这些没有备份的文件。
默认选择下一步。
同上。
问你是否备份并且检测,点击yes下一步。
选择你的系统内核,redhat内核不要改动,其他系统有些需要改动,不用改的直接下一步。
选择yes就进去备份界面了。
该版本存在一个问题(从官网上来看估计是工具的bug),在你备份完系统之后(最好将系统所有软件都停止运行),通过genisoimage命令制作镜像时会报错。
经过查看/var/log/mondoarchive.log日志找到具体的genisoimage命令(通过mkisofs调用,二者之间的关系自行搜索 ),发现工具是想将/home/mondo.scrcath.xxfsca(各人最后的xxfsca不一样)制作成镜像的,但是isolinux.bin存在。于/home/mondo.scrcath.xxfsca/syslinux下,由于genisoimage命令只会在它需要制作的目录/home/mondo.scrcath.xxfsca下搜索,自然找不到啦,那么解决就简单了,直接将syslinux下的文件使用cp命令复制出来即可,然后重试制作(接报错的步骤即可,不需要重头再开始),等待几分钟,系统就会提示你制作成功了,然后到默认路径下查看是否生成iso文件即可。
至此你linux制作镜像就算成功了。
通过软通牒在win上刻录好光盘(如果你有两个iso文件当然刻录两个啦),能刻录的光驱会标记有DVD_RM等字样,刻录成功之后,在另外的机器上试着还原,有四个命令供你选择,一般选择第一个自动恢复(如果你不需要重新分区什么的)。
然后就是等待,十几分钟基本就搞定。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流