一:获取rpm:
1.修改yum的配置文件,将yum下载的安装包保存起来
#vim /etc/yum.conf
修改keepcache=1 (1为保存,0为不保存,默认是0)
修改后使用yum安装的包会保存在“/var/cache/yum/”下。
2.通过yum指令的--downloadonly可以只下载安装包,不进行安装
#yum -y install --downloadonly --downloaddir=/root/test/
例如ftp
该指令我会将安装的包统一放在/root/test/目录下,yum update同样可以使用该方法,这样定制后的ISO中RPM包都是最新版本的。
===========================================================
二,添加到版本中:
我们在此只做一个增加base组的yum安装包,增加到minimal的ISO中供大家参考首先下载base的yum包(此处制作ISO的系统一定是要新安装的,否则会有包下载不全的情况出现):
yum -y --downloadonly --downloaddir=/opt/centosnew/Packages groupinstall base
然后将系统安装时的自动应答文件拷贝至/opt/centosnew/isolinux/文件夹下:
cp /root/anaconda-ks.cfg /opt/centosnew/isolinux/base-ks.cfg
编辑base-ks.cfg文件:
#version=RHEL7 # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom # Run the Setup Agent on first boot firstboot --enable
ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information network --bootproto=dhcp --device=eth0 --ipv6=auto --activate
network --hostname=localhost.localdomain # Root password rootpw --iscrypted $6$evKW0uI7XvLXV0dG$ELbcO4R6c9qq.Qd5m0iJPDJsZM9wOWq9jlbL7ztsgZxaly8FcWX5lAEQULr8EF1uevenUAmHrhQbOYsEVjiE90 # System timezone timezone Asia/Shanghai --isUtc --nontp
user --groups=wheel --name=cloud --password=$6$aOxLlKnnDm4ol9yv$xQmkbHctQDkvtkQMubZRkJVAIifoYThaxvO1.fn1zkDZnqHaIYtm8ypfshkUBmT6VEYpO/5kqM73JUGMtkYFo0 --iscrypted --gecos="cloud" # System bootloader configuration bootloader --location=mbr --boot-drive=sda
autopart --type=lvm # Partition clearing information clearpart --none --initlabel %packages @core @base #添加base group包 %end
此时已经完成base包的添加,在package的部分增加@base的部分,用户如果想添加其他的rpm包可以将rpm包放到Package中,然后在ks文件中添加对应的包名即可,非group安装的时候不用在前边加@修饰符,下面是%package的一个例子:
%packages @base @core @console-internet
tree
policycoreutils-python %end
增加base的group list到资源库的XML中
由于minimal的安装中没有base的组安装信息,我们在repo的xml中增加base的组信息
修改/opt/centosnew/repodata/中以xml结尾的文件,在core的group结束标签后增加如下内容:
base Base false false rubygem-abrt abrt-addon-ccpp abrt-addon-python abrt-cli abrt-console-notification bash-completion blktrace bridge-utils bzip2 chrony cryptsetup dmraid dosfstools ethtool fprintd-pam gnupg2 hunspell-en hunspell kpatch ledmon libaio libreport-plugin-mailx libstoragemgmt lvm2 man-pages-overrides man-pages mdadm mlocate mtr nano ntpdate pinfo plymouth pm-utils rdate rfkill rng-tools rsync scl-utils setuptool smartmontools sos sssd-client strace sysstat systemtap-runtime tcpdump tcsh teamd time unzip usbutils vim-enhanced virt-what wget which words xfsdump xz yum-langpacks yum-plugin-security yum-utils zip acl at attr authconfig bc bind-utils cpio crda crontabs cyrus-sasl-plain dbus ed file firewalld logrotate lsof man-db net-tools ntsysv pciutils psacct quota centos-indexhtml setserial traceroute usb_modeswitch acpid audispd-plugins brltty cryptsetup-reencrypt device-mapper-persistent-data dos2unix dumpet genisoimage gpm i2c-tools kabi-yum-plugins libatomic libcgroup libcgroup-tools libitm libstoragemgmt-netapp-plugin libstoragemgmt-nstor-plugin libstoragemgmt-smis-plugin libstoragemgmt-targetd-plugin libstoragemgmt-udev linuxptp logwatch mkbootdisk mtools ncurses-term ntp oddjob pax prelink PyPAM python-volume_key redhat-lsb-core redhat-upgrade-dracut redhat-upgrade-tool rsyslog-gnutls rsyslog-gssapi rsyslog-relp sgpio sox squashfs-tools star tmpwatch udftools uuidd volume_key wodim x86info yum-plugin-aliases yum-plugin-changelog yum-plugin-tmprepo yum-plugin-verify yum-plugin-versionlock zsh
并在grouplist中添加base:
core base
=========================================================================================================================================================
修改rpm包并createrepo
在repodata目录下会看到一个xml文件,该文件主要定制了安装模式,以及每一种模式下需要安装的rpm包。
如果要定制自己的ISO,主要就是在这里进行修改。
复制原来的c30db98d87c9664d3e52acad6596f6968b4a2c6974c80d119137a804c15cdf86-c7-minimal-x86_64-comps.xml
为c7-x86_64-comps.xml,然后创建仓库
rm repodata/*comps.xml.gz -rf
mv repodata/*c7-x86_64-comps.xml repodata/c7-x86_64-comps.xml
如果需要修改安装包
需要在c7-x86_64-comps.xml中做修改
比如下图中,在core这个group中增加了相应的包(放在core中是为了使得默认安装,不用交互,新建group也行)
拷贝所需的rpm包到/home/myiso/Packages目录下(包含安装包和所有依赖的包)
创建本地仓库
createrepo -g repodata/c7-x86_64-comps.xml ./
修改.treeinfo中的对应校验值使用sha256sum
sha256sum repodata/repomd.xml
====================================================
阅读(1563) | 评论(0) | 转发(0) |