CentOS镜像制作
一、环境准备与工具安装
1 系统需求
操作系统:CentOS 7或更高版本
内存:至少4GB,建议8GB或以上
存储空间:至少有20GB的可用空间
CPU:双核或以上,推荐四核
2 工具安装
在开始制作镜像之前,需要确保系统中安装了以下必要的软件包:
yum
包管理器
anaconda
或createrepo
mkisofs
可以通过以下命令安装这些工具:
sudo yum install y anaconda createrepo mkisofs
3 创建目录结构
为即将制作的镜像创建一个工作目录,并设置所需的目录结构:
mkdir p ~/centos_image/{iso,Packages,repodata}
二、配置和准备基础系统
1 安装基础系统
使用CentOS的安装介质(如ISO文件)来安装系统,可以选择最小化安装,以减少不必要的软件占用空间。
2 安装基本软件包
通过yum
安装一些基本的软件包,这些包在运行CentOS时必需:
sudo yum groupinstall y "Basic System" "Minimal Install"
3 创建初始用户和配置SSHD服务
为了安全性,建议创建一个普通用户并配置SSHD服务:
sudo adduser newuser sudo passwd newuser sudo usermod aG wheel newuser
编辑SSHD配置文件以启用密码认证:
sudo vim /etc/ssh/sshd_config
确保文件中有以下内容:
PasswordAuthentication yes ChallengeResponseAuthentication no UsePAM yes
启动并设置SSHD服务开机自启:
sudo systemctl enable sshd sudo systemctl start sshd
4 关闭SELinux和防火墙
为避免潜在的权限问题,建议关闭SELinux和防火墙:
sudo setenforce 0 sudo systemctl stop firewalld sudo systemctl disable firewalld
三、定制和优化系统
1 安装定制软件包
根据实际需求安装所需的软件包,安装Apache HTTP服务器:
sudo yum install y httpd
配置服务开机启动并启动服务:
sudo systemctl enable httpd sudo systemctl start httpd
2 调整系统配置
优化系统配置以提升性能和安全性,调整sysctl
设置:
sudo vim /etc/sysctl.conf
添加或修改如下参数:
vm.swappiness = 10 net.ipv4.ip_local_port_range = 9000 65500
使更改生效:
sudo sysctl p
3 清理和精简系统
移除不必要的软件包和缓存,以减小镜像体积:
sudo yum autoremove y sudo pkgclean y sudo rm rf /var/cache/yum
四、创建和打包镜像
1 安装createrepo工具
如果还没有安装createrepo
工具,可以使用以下命令进行安装:
sudo yum install y createrepo
2 挂载ISO文件系统
将CentOS的ISO文件挂载到系统上,以便提取文件:
sudo mount /dev/cdrom /mnt
挂载后,可以查看ISO中的文件结构。
3 复制文件到工作目录
将ISO中的文件复制到之前创建的工作目录中:
sudo rsync av /mnt/ /root/centos_image/iso/
注意排除某些目录,以避免冲突:
sudo rsync av exclude='/lost+found' /mnt/ /root/centos_image/iso/
4 生成comps.xml文件
comps.xml
文件用于定义镜像的内容和软件包依赖关系,使用createrepo
工具生成该文件:
cd /root/centos_image/iso/repodata/ createrepo .
5 创建ISO镜像文件
使用mkisofs
工具创建最终的ISO镜像文件:
sudo mkisofs o /root/centos_image/centos.iso /root/centos_image/iso/
五、验证和使用镜像
1 验证ISO文件
在烧录或使用新创建的ISO文件之前,建议使用虚拟机或测试环境验证其可用性,确保系统能够正常引导,并且所有配置和安装的软件包都正常工作。
2 烧录镜像到光盘或USB设备
可以使用以下命令将ISO文件烧录到USB设备(假设设备路径为/dev/sdb
):
sudo dd if=/root/centos_image/centos.iso of=/dev/sdb bs=4M && sync
或者使用图形界面的工具如Brasero或Etcher进行烧录。
3 使用镜像进行系统部署
完成烧录后,可以在物理服务器或虚拟机上使用该镜像进行系统部署,在启动时选择从光盘或USB设备引导,然后按照屏幕提示完成系统安装。