mkisofs

mkisofs 用来制作光盘镜像。其实这个命令也叫genisoimage。

查看其man帮助,会发现里面其实是用genisoimage来描述的。用ll /usr/bin/mkisofs 可看到其链接到/etc/alternatives/mkisofs。再ll /etc/alternatives/mkisofs可以看到其链接到/usr/bin/genisoimage。

-r 这个选项能够将文件的uid,gid设为0,因为uid与gid只在制作镜像者本身系统上有效,在其它电脑上没有对应的用户,所以留着也只是无效用户;将所有文件设置为可读。如果文件有可执行的权限的话,将继续保持其可执行的权限。去掉所有文件及文件夹可写权限,因为挂载的光盘镜像本身也就为只读系统,可写权限无意义。其它特殊权限都将被清空。

-m 排除指定的文件或文件夹。可以用通配符?*来排除一类。如-m‘*.img’即表示将所有的Img文件排除在外,不添加到镜像文件中。

-o 指定被创建的镜像文件位置和名称

-V 指定光盘标签,就像windows下面挂载系统盘时会显示系统盘的名字一样。

-v 显示详细的输出过程。如果用两个-v的话,还会显示debug信息。

 [root@centos6 sjb]# mkisofs -r -v -o /root/root.img -m id_rsa.pub  -graft-point /root=/root /sjb=/home/sunjiebin/
[root@centos6 ~]# umount /media/
[root@centos6 ~]# mount -o loop root.img  /media/
[root@centos6 ~]# ll /media/
总用量 14
dr-xr-xr-x. 28 root root 6144 10月 10 03:42 root
dr-xr-xr-x.  4 root root 2048 10月 16 09:56 rr_moved
dr-xr-xr-x. 26 root root 6144  9月 27 17:35 sjb

显示所属用户为root,所有的用户都被替换为root,其实sjb原本是属于sunjiebin用户的。而且文件夹权限也被去掉了写权限。
[sunjiebin@centos6 ~]$ ls /home/sunjiebin/
DenyHosts-2.6         公共的  视频  文档  音乐
DenyHosts-2.6.tar.gz  模板    图片  下载  桌面
[sunjiebin@centos6 ~]$ mkisofs -r -v -o home.img -m 下载 -graft-point /home=/home/sunjiebin/
[sunjiebin@centos6 ~]$ ls /home/sunjiebin/
DenyHosts-2.6         home.img  模板  图片  下载  桌面
DenyHosts-2.6.tar.gz  公共的    视频  文档  音乐
[root@centos6 ~]# umount /media/
[root@centos6 ~]# mount -o loop /home/sunjiebin/home.img /media/
[root@centos6 ~]# ls /media/home/
DenyHosts-2.6  DenyHosts-2.6.tar.gz  公共的  模板  视频  图片  文档  音乐  桌面
可以看到没有“下载”这个文件夹在里面。因为-m选项中排除了。

注意:-graft-point 一直写在最后,后面不要再加参数。如将-m写在最后的话,会将-m当做文件来处理。提示如下错误:
genisoimage: No such file or directory. Invalid node - '-m'.
 

你可能感兴趣的:(职场,休闲,mkisofs)