您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

CentOS7 定制ISO镜像

时间:2020-08-12 15:38:42  来源:  作者:

centos7官方的ISO镜像太大且安装时间太久,线上应用往往只需要使用部分的包,定制化可以有效精简镜像和减少安装时间,通过定制化的KS文件更是可以进行操作系统的初始化配置

一、获取官方ISO镜像

CentOS7的官方ISO镜像自行下载,下载后挂载到自己的虚拟并将ISO文件拷贝出来

mount /dev/cdrom /media
mkdir centos ; cd centos ; cp -ra /media/* .

二、安装镜像制作工具

yum -y install createrepo mkisofs

三、KS文件制作

3.1 KS文件的语法自行学习,可以从一台已经安装好的服务器的/root/anaconda-ks.cfg拷下来修改并放到镜像文件里的isolinux目录。

cp /root/anaconda-ks.cfg /root/centos/isolinux/ks.cfg
install
cdrom	# Use CDROM installation media
text	# Use text install
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc

# SELinux configuration
selinux --disabled
# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=yes --ipv6=no --no-activate
network  --hostname=localhost.localdomain

# System authorization information
auth --enableshadow --passalgo=sha512
# user password
rootpw --iscrypted $6$z4ecbtnCwYNRgJVy$F.vv.twuNIfJQZF6tcEbyJ7Dcyw2ZYt4X0zwFG6nf0FRGVIEYJtDTpr4qmblRjZSd7UTt9XUUlp2S7LQDM9Fs/
user --name=Apps --password=$6$gAIUkrddD/qYdtb1$utKAaA6T/8qWcI/79SrP3xcVvMuA6/8SjHOrJzuSv5tKIwrzVBggkuUL7hLbPUPJNHfbs90jJIUH2NnKDCULm1 --iscrypted --gecos="apps"



# Run the Setup Agent on first boot
firstboot --disabled
# Clear the Master Boot Record
zerombr   
ignoredisk --only-use=sda
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Disk partitioning information
part / --asprimary --fstype="ext4" --size=51200
part /boot --asprimary --fstype="ext4" --size=1024
part swap --fstype="swap"--size=8192
part /home --fstype="ext4" --grow --size=1

%packages
@base
@compat-libraries
@core
kexec-tools
vim
lrzsz
%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%post
mv /bin/vi /bin/vi.bak && ln -s /bin/vim /bin/vi
systemctl disable NetworkManager
systemctl stop NetworkManager

# SSH
sed -i "s@#Port 22@Port 8222@g" /etc/ssh/sshd_config
sed -i "s@#PermitRootLogin yes@PermitRootLogin no@g" /etc/ssh/sshd_config
sed -i "s@GSSAPIAuthentication yes@GSSAPIAuthentication no@g" /etc/ssh/sshd_config

# 系统优化
echo -e "* soft nofile 262144n* hard nofile 262144n* soft nproc 65535n* hard nproc 65535" >>/etc/security/limits.conf
sed -i "s@*@#*@g" /etc/security/limits.d/20-nproc.conf
sed -i "s@root@#root@g" /etc/security/limits.d/20-nproc.conf

cat > /etc/sysctl.conf << EOF
# TCP 
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 3600
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_max_tw_buckets  = 20480
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_orphan_retries = 3
net.ipv4.tcp_max_orphans = 65536
net.ipv4.ip_forward = 1
net.ipv4.ip_local_port_range = 1024  65535
net.core.netdev_max_backlog = 30000
net.core.somaxconn = 65535
fs.file-max = 262144

# TCP memory
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
net.ipv4.tcp_mem = 786432 2097152 3145728
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

# ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
EOF

%end

# Reboot after installation
reboot

3.2 修改引导加载程序

cd /root/centos/isolinux;	vi isolinux.cfg

label linux
  menu label ^Install CentOS 7
  menu default
  kernel vmlinuz
  #在quit后面添加inst.ks=cdrom:/isolinux/ks.cfg net.ifnames=0 bIOSdevname=0
  #LABEL=CentOS7与下面生成镜像指定的保持一致
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS7 quiet inst.ks=cdrom:/isolinux/ks.cfg net.ifnames=0 biosdevname=0

四、精简安装包

4.1 进入Packages目录 下,根据自己的实际情况精简不需要用的安装包。

cd /root/centos/Packages

4.2 制作comps文件,将repodata目录下除“*-comps.xml”的所有文件删除,并将“*-comps.xml”文件改为comps.xml

cd /root/centos/repodata; rm -rf *.bz2 *.gz repomd.xml TRANS.TBL 
mv cca56f*-comps.xml comps.xml

4.3 重新生成repodata目录和文件

cd /root/centos; createrepo -g repodata/comps.xml .

四、生成ISO镜像

cd /root/centos
genisoimage -joliet-long -V CentOS7 -o /root/CentOS7-v1-x86_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /root/centos

至此、精简镜像的工作就完成了,我这里精简后的镜像还有1.1G。



Tags:ISO镜像   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
ISO文件也就是光盘镜像文件,我们可以在光盘上安装虚拟光驱软件来挂载打开ISO镜像文件,也可以利用解压缩软件来打开ISO镜像文件。下面来具体说说win10iso文件如何打开。1、首先...【详细内容】
2021-08-18  Tags: ISO镜像  点击:(119)  评论:(0)  加入收藏
CentOS7官方的ISO镜像太大且安装时间太久,线上应用往往只需要使用部分的包,定制化可以有效精简镜像和减少安装时间,通过定制化的KS文件更是可以进行操作系统的初始化配置。一、...【详细内容】
2020-08-12  Tags: ISO镜像  点击:(573)  评论:(0)  加入收藏
我们在重装Win10系统时需要用到ISO镜像,并且微软官网也有专门的“下载 Windows 10”页面,但问题是,你打开该页面后会发现,微软并没有直接提供Win10 ISO镜像下载,而是提供了《微软...【详细内容】
2020-06-12  Tags: ISO镜像  点击:(143)  评论:(0)  加入收藏
微软官方发布的“媒体创建工具”英文名为Media Creation Tool,软件运行时显示的名称则为“Windows10安装程序”(如图 2 )。“媒体创建工具”可以实现如上功能: 升级安装Windows1...【详细内容】
2020-05-11  Tags: ISO镜像  点击:(279)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条