Linux发行版的U盘IMG文件是如何制作的
Linux发行版的通常有ISO光盘安装文件(刻录光盘用), USB安装的IMG文件等...
我们知道IMG可以通过 dd 命令从一个U盘创建, 不过这种情况下往往创建的文件与设备的实际数据一致(比如被删除的文件的实际数据也可能存在硬盘的数据区), 用这个方法无法创造一个'干净'的IMG文件.
那么, 各个Linux发行版是如何创建干净的IMG, 给成千上万的用户下载的?
Stries
11 years, 4 months ago
Answers
记得不清楚,定性回答。
.IMG用得真是不多了。我记得目前的Fedora、Ubuntu等发行版,用的是一种叫做Bundled iso的混合格式ISO,文件内容中既有ISO CDFS的文件系统,又有可直接写入U盘使用的引导扇区。
这样做,CDFS和启动扇区肯定是可以单独构建的,组合到一起就可以。
.IMG也一样。以Raspbian为例,先构造出一个4G的空白文件(填零),然后把这个文件视作/dev/sdx一样的磁盘设备,让操作系统的构建命令都把那里当作一个文件系统写进去文件,一切就都搞定了。反正初始化时候填的0,最后的空白空间一定没问题。——这只是个想象,不过可行性100%无误。
dd只是最粗糙最底层的磁盘备份工具。.IMG文件的产生,未必非要通过dd备份得来的。甚至于dd作为系统的备份都太过于原始,不值得推荐。
以树莓派为例(不限于Raspbian),我现在备份都是在Linux环境下,插上卡一个
tar zcvf
,把Ext4文件系统的内容打个
.tar.gz
包搞定还顺带压缩。我才懒得用dd或Win32DiskImager或USBImageTool,白白浪费时间空间,备份也费劲还原也费劲。
上个号密码忘了
answered 11 years, 4 months ago