满意答案
lix3025
2017.01.14
采纳率:55% 等级:9
已帮助:415人
怎样定制自己的linux系统安装盘1、在VM安装linux系统2、安装定制工具anaconda repodata createrepo mkisofs关联太多采用yum安装//定制过程需要产生comps.xml文件以及生成iso www.dnjsb.com [root@localhost ~]# yum -y install anaconda repodata createrepo mkisofs3、生成packages.list 所安装的RPM包文件清单(由于install.log文件在root目录,所以该操作在root目录进行)[root@localhost ~]# cat install.log | grep Installing | sed 's/Installing //g' > /root/packages.list//生成后,需要仔细看该文件,一般会在某些文件开始部分如1:这样的字符,需要删除
这些字符,否在后面执行copy动作会报错4、建立定制Centos的源目录[root@localhost ~]#mkdir /Disk //定制时要复制RPM包的目录;[root@localhost ~]#mkdir /mnt/cdrom //加载光驱目录[root@localhost ~]#mount -o loop /dev/cdrom www.dnjsb.com /mnt/cdrom //将光盘内容加载到/mnt/cdrom中;[root@localhost ~]#cp –R /mnt/cdrom/. /Disk切记,要把光盘中的.discinfo文件拷贝过来,如果没有拷贝此文件,在用光盘安装时
会提示如下错误:The CentOS CD was not found in any of your CDROM drives.
Please insert the CentOS CD and press OK to retry.[root@localhost ~]#rm –f /Disk/CentOS/*.rpm //先删除所有RPM包5、通过脚本复制系统安装的包(注意一定要Unix格式)[root@localhost ~]#vi copyrpms.sh#!/bin/bashDEBUG=0DVD_CD=/disk/CentOS ALL_RPMS_DIR=/mnt/cdrom/CentOS/ DVD_RPMS_DIR=$DVD_CDpackages_list=/root/packages.listnumber_of_packages=`cat $packages_list | wc -l`i=1 www.dnjsb.com while [ $i -le $number_of_packages ] ; do line=`head -n $i $packages_list | tail -n -1` name=`echo $line | awk '{print $1}'` version=`echo $line | awk '{print $3}' | cut -f 2 -d :` if [ $DEBUG -eq 1 ] ; then echo $i: $line echo $name echo $version fi if [ $DEBUG -eq 1 ] ; then ls $ALL_RPMS_DIR/$name-$version* if [ $? -ne 0 ] ; then echo cp $ALL_RPMS_DIR/$name$version* fi elseecho cp $ALL_RPMS_DIR/$name-$version* $DVD_RPMS_DIR/ cp $ALL_RPMS_DIR/$name$version* $DVD_RPMS_DIR/ # in case the copy failed if [ $? -ne 0 ] ; then echo cp $ALL_RPMS_DIR/$name$version* cp $ALL_RPMS_DIR/$name* $DVD_RPMS_DIR/ fi fi i=`expr $i + 1`done www.dnjsb.com 将以上内容保存为copyrpms.sh[root@localhost ~]#chmod 775 copyrpms.sh[root@localhost ~]#./copyrpms.sh经过一系列的复制就完成了你要定制的RPM包(在/Disk/CentOS/目录下)6、定制安装控制文件ks.cfgks文件主要分为三个部分1、系统安装及配置2、自定义安装准备(%post --nochroot)3、用户自定义安装(%post)系统安装及配置一般写在ks.cfg文件最前面,定义系统安装设置,以%post –nochroot
为结束标志,接着是用户自定义安装准备部分,以%post --nochroot作为开始,以%post
作为结束,自定义安装部分以%post作为开始。一般方便可以直接由root下面的anaconda-ks.cfg修改[root@localhost ~]#cp anaconda-ks.cfg /Disk/ks.cfg样例内容如:# Kickstart file automatically generated by anaconda.install (指定开始全新安装系统)cdrom(系统安装方式,有很多种安装方式:光驱方式:如果是光驱,这里可直接写成cdrom。http方式安装:可以写为url --url http://192.168.12.142/centos/在这个访问路径下,
应该是已经解压的Centos系统的所有文件和目录。硬盘安装方式:这里要写做harddrive --partition=sda1 --dir=/iso,其中sda1是linux
镜像文件所在的硬盘标识,/iso是镜像文件所在目录。) www.dnjsb.com lang en_US.UTF-8 (系统语言设定)keyboard us (键盘设置)xconfig --startxonboot (设置X桌面)#network --device eth0 --bootproto static --ip 192.168.12.133 --netmask 255.255.255.0
--gateway 192.168.12.1 (设置系统的IP地址信息,可以根据情况进行指定)rootpw --iscrypted $1$sXpmDpgD$IOEYOpdpXtxXgw7RmjtZS/ (经过加密的root密码)firewall –disabled (关闭防火墙)authconfig --enableshadow --enablemd5 (系统验证方式,这里启用默认md5加密)selinux –disabled (安装系统时关闭Selinux)timezone Asia/Shanghai(系统时区设置)bootloader --location=mbr(引导选项)# The following is the partition information you requested# Note that any partitions you deleted are not expressed# here so unless you clear all partitions first, this is# not guaranteed to work#clearpart --all --initlabel#part / --fstype ext3 --size=3000#part /boot --fstype ext3 --size=100#part /usr --fstype ext3 --size=2000#part /var --fstype ext3 --size=2000#part /cicro --fstype ext3 --size=100 --grow www.dnjsb.com #part swap --size=1024
clearpart --all --initlabel (全部格式化系统磁盘所有分区,下面开始进行分区设置)part / --bytes-per-inode=4096 --fstype=ext3 --size=15000part /boot --bytes-per-inode=4096 --fstype=ext3 --size=100part /var --bytes-per-inode=4096 --fstype=ext3 --size=5000part /usr --bytes-per-inode=4096 --fstype=ext3 --size=10000part swap --bytes-per-inode=4096 --fstype=swap --size=8096part /cicro --bytes-per-inode=4096 --fstype=ext3 --grow --size=1reboot(这个reboot必须写在系统分区之后)%pre (表示安装之前执行的命令,这个是系统安装前拷贝数据,由于光盘在进行安装系统前,
会首先挂载到系统的/mnt/source目录下,因而下面操作是在这个路径下)echo Installing CWS mkdir /tmp/custom_datacp /mnt/source/cws/cws_3.5.102_linux_fixed.tar.gz /tmp/custom_datalinux系统安装进程在系统安装完成后,会卸载光盘,因此,象复制安装介质中的文件或 RPM
00分享举报