制作自动和手动安装的ISO文件

需求和思路:

在我们平时的工作中,偶尔需要装个系统什么的,一般会有通过网络PEX安装或者cobbler安装的,但是万一没网呢?那这时候就需要一个U盘来拯救你啦。

首先我们说一下思路:

(1)选择一个文件夹,把本机上的光盘文件全部拷贝进去(注意别丢了隐藏文件哟)
(2)用sys-config-kickstart命令制作应答文件
(3)修改isolinux下面的isolinux.cfg启动菜单配置
(4)重新创建ISO的元数据
(5)打包那个文件做成
(6)用isohybrid转换一下格式,用于U盘启动

实验过程

1、复制光盘文件并查看

制作自动和手动安装的ISO文件_第1张图片

2、在主机上用system-config-kickstart制作一个应答文件

  • File —>Open File
    制作自动和手动安装的ISO文件_第2张图片
制作自动和手动安装的ISO文件_第3张图片

制作自动和手动安装的ISO文件_第4张图片

这里安装方法选: Perform new installation;安装源选: CD-ROM

制作自动和手动安装的ISO文件_第5张图片

Boot Loader Options中的内容不需要改变

制作自动和手动安装的ISO文件_第6张图片

这一步你可以按照自己的习惯进行分区:

制作自动和手动安装的ISO文件_第7张图片

网卡不变,如果你要装的服务器有多快网卡,可以自己添加:

制作自动和手动安装的ISO文件_第8张图片

不变


制作自动和手动安装的ISO文件_第9张图片

关闭 SElinux防火墙

制作自动和手动安装的ISO文件_第10张图片

不安装图形环境

制作自动和手动安装的ISO文件_第11张图片

这里选着默认的包就可以,如果你需要其它的包也可以自己添加,当然后期改安装文件中也是可以添加

制作自动和手动安装的ISO文件_第12张图片

编写安装后脚本

制作自动和手动安装的ISO文件_第13张图片

File—> Save 另存为另外的文件,这里我保存为wangcentoss.cfg

制作自动和手动安装的ISO文件_第14张图片

我们查看一下应答文件是否生成(红色框内既是):

3、修改引导菜单文件,直接保存会报错,记得用强行保存

[root@centos6 cd]# vim isolinux/isolinux.cfg

修改结果如下:

default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label Desktop
  menu label ^Automatic Desktop Install
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/wangcentos.cfg
label manual
  menu label ^Manual Install
  kernel vmlinuz
  append initrd=initrd.img 
label local
  menu label Boot from ^local drive
  localboot 0xffff

4、查看一下复制过来的iso文件的元数据,并删除了重新生成一次,因为之前的不能用

[root@centos6 repodata]# ls
1cde788f77b08a7eb3dfdba12fa384a5f0214147a717a1e2d4504368037fba90-c6-x86_64-comps.xml.gz
43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml
594889376c2452dc8178bbaed982deba4dff38a42716ac03fc84576c17b1d79b-filelists.sqlite.bz2
92299bd89d0ef9e4030e78d31399a96b41712239f032d0092f2345ba5cb01404-other.xml.gz
9f2ef5087547b18bdccc798b0cad7456047fc69ca17db69d3159b6dd84ed1c11-primary.xml.gz
ad73b7fa76bb45feea7e4cdb2d896279524039545e8764ceaa515665f897a0c5-primary.sqlite.bz2
dc8a406c3cc1c5103ff2e22a1b9d3d0d09a13a6fda831ffecebdd55484bf5146-filelists.xml.gz
f18d3f35ab887f27a5acc563138bd58a0c9b668e8cd79dbb32c4fc610c88e320-other.sqlite.bz2
repomd.xml
TRANS.TBL
[root@centos6 repodata]# cp /root/app/centos6/cd/repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml  /root/
[root@centos6 repodata]# rm -rf /root/app/centos6/cd/repodata/*
[root@centos6 repodata]# ls
[root@centos6 repodata]# createrepo -g /root/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml  /root/app/centos6/cd/
Spawning worker 0 with 3240 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@centos6 repodata]# ls /root/app/centos6/cd/repodata/
1cde788f77b08a7eb3dfdba12fa384a5f0214147a717a1e2d4504368037fba90-c6-x86_64-comps.xml.gz
43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml
7664c720098234abfa168ded92a4b7bc75ca56c558c9061bf8dbae51e2984fe4-filelists.sqlite.bz2
8362258e6fd053124e40ba5c73ed9673082ba782f0f55e289dbd53c2c9067de3-filelists.xml.gz
8e48543ced2ee6dc83741752b0af8308e1b76c5b2b8ceb593aa34aa45977976f-primary.xml.gz
9403e56c612fe4ff82468dafbd5f91b7730d6e326bc1366f8b8ce2ec3316ec4d-primary.sqlite.bz2
da37fb7276652ab09faafaa515adac4545089147f680d0819f0bfe8108c019f5-other.xml.gz
e8ff5e24ecf84d5b50c68be4905e4f53b7d0a803898d9554185dd239b791953e-other.sqlite.bz2
repomd.xml

5、把刚刚做的软件包封装成一个iso文件

[root@centos6 repodata]#mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "wangcentos 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6.iso /root/app/centos6/cd
...............
98.42% done, estimate finish Mon Jul 24 21:41:14 2017
98.68% done, estimate finish Mon Jul 24 21:41:14 2017
98.94% done, estimate finish Mon Jul 24 21:41:17 2017
99.19% done, estimate finish Mon Jul 24 21:41:16 2017
99.45% done, estimate finish Mon Jul 24 21:41:17 2017
99.70% done, estimate finish Mon Jul 24 21:41:17 2017
99.96% done, estimate finish Mon Jul 24 21:41:17 2017
Total translation table size: 821604
Total rockridge attributes bytes: 361467
Total directory bytes: 548864
Path table size(bytes): 112
Done with: The File(s) Block(s) 1955170
Writing: Ending Padblock Start Block 1955656
Done with: Ending Padblock Block(s) 150
Max brk space used 367000
1955806 extents written (3819 MB)

6、做成的ISO文件就已经可以直接使用,如图,就可以直接安装完成

制作自动和手动安装的ISO文件_第15张图片

制作自动和手动安装的ISO文件_第16张图片

制作自动和手动安装的ISO文件_第17张图片

7、需要做给U盘使用的话转换一下就ok

[root@centos6 ~]# isohybrid /root/centos6.iso
isohybrid: Warning: more than 1024 cylinders: 3820
isohybrid: Not all BIOSes will be able to boot this device

[root@centos6 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom /media/CentOS_6.9_Final
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1000M 0 part /boot
├─sda2 8:2 0 97.7G 0 part /
├─sda3 8:3 0 48.8G 0 part /app
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 1G 0 part
├─sda6 8:6 0 2G 0 part [SWAP]
└─sda7 8:7 0 203.9M 0 part
sdb 8:16 1 30G 0 disk
└─sdb1 8:17 1 30G 0 part

[root@centos6 ~]# mount /dev/sdb1 /mnt/
mount: you must specify the filesystem type

[root@centos6 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1970416 inodes, 7872472 blocks
393623 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
241 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, >2654208,
4096000

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override

[root@centos6 ~]# dd if=/root/centos6.iso of=/dev/sdb1
7823360+0 records in
7823360+0 records out
4005560320 bytes (4.0 GB) copied, 448.366 s, 8.9 MB/s
7823360+0 records in
7823360+0 records out
4005560320 bytes (4.0 GB) copied, 448.366 s, 8.9 MB/s

你可能感兴趣的:(制作自动和手动安装的ISO文件)