简单定制一个适合自己用的CentOS系统

简介:

实验环境:VMware + CentOS5.6(64bit)

根据自己的习惯,将CentOS重新打包成一个新ISO,可以自动分区、选择原件包,快速安装系统。

先用虚拟机按照正常的流程安装一个CentOS系统,接下来在这系统上去建立我们的定制系统:

1、挂载光驱

mount /dev/cdrom /mnt

2、创建临时目录

mkdir  -p /root/iso/CentOS

3、提取需要的RPM包,正常安装好操作系统在/root目录下会有install.log文件,这个就是操作系统安装RPM包的记录,我们从这些记录中,将所需的RPM包从/mnt/CentOS中复制到/root/iso/CentOS里面去

#!/bin/bash
cd /root
awk '/Installing/{print $2}' install.log | sed 's/^[0-9]*://g' >package.txt
DVD='/mnt/CentOS'    
PACKDIR='/root/package.txt'     
NEW_DVD='/root/iso/CentOS/'   
while read LINE
do
cp ${DVD}/${LINE}*.rpm  /${NEW_DVD} || echo "$LINE don't cp......."
done < package.txt
rm -f package.txt

4、把原镜像除了CentOS目录外的文件全部复制至/root/iso目录下

cd /mnt 
ls | grep -v CentOS | xargs -i cp -Rp {} /home/test/

5、把/root目录下的anaconda-ks.cfg复制至/root/iso目录下,并根据自己实际需要修改安装要求

 # Kickstart file automatically generated by anaconda.

install
cdrom
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
rootpw --iscrypted $1$fupKhGiH$sx2TexUjriSyu..IZUwT9.
firewall --disabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
# 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 --linux
part /boot --fstype ext3 --size=100
part swap --size=512
part / --fstype ext3 --size=100 --grow

%packages
@base
@core
@development-tools
@dialup
@editors
@text-internet
keyutils
openCryptoki
libhbaapi
brltty
dmraid-events-logwatch
libhbalinux
aide
kexec-tools
nfs4-acl-tools
tpm-tools
iscsi-initiator-utils
trousers
bridge-utils
authd
fipscheck
squashfs-tools
star
sssd
hardlink
freeipmi
x86info
device-mapper-multipath
hfsutils
fcoe-utils
edac-utils
hesinfo
fuse-libs
convmv
fuse
cpufreq-utils
openswan
freeipmi
gcc44-c++
gcc44-gfortran
pexpect
dejagnu
imake
java-1.6.0-openjdk-devel
gcc-objc
ElectricFence
memtest86+
gcc-gnat
libgfortran44
gcc44
expect
java-1.6.0-openjdk
unifdef
nasm

%post
# Disable unused service
chkconfig NetworkManager off
chkconfig acpid off
chkconfig anacron off
chkconfig atd off
chkconfig auditd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig avahi-dnsconfd off
chkconfig bluetooth off
chkconfig capi off
chkconfig conman off
chkconfig cpuspeed off
chkconfig dnsmasq off
chkconfig dund off
chkconfig edac off
chkconfig fcoe off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig ip6tables off
chkconfig ipsec off
chkconfig iptables off
chkconfig irda off
chkconfig iscsi off
chkconfig iscsid off
chkconfig isdn off
chkconfig kdump off
chkconfig kudzu off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig mdmpd off
chkconfig messagebus off
chkconfig multipathd off
chkconfig netconsole off
chkconfig netfs off
chkconfig netplugd off
chkconfig nfs off
chkconfig nfslock off
chkconfig nscd off
chkconfig oddjobd off
chkconfig pand off
chkconfig pcscd off
chkconfig portmap off
chkconfig psacct off
chkconfig rawdevices off
chkconfig rdisc off
chkconfig readahead_early off
chkconfig readahead_later off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig rpcsvcgssd off
chkconfig saslauthd off
chkconfig sendmail off
chkconfig smartd off
chkconfig sssd off
chkconfig svnserve off
chkconfig tcsd off
chkconfig wpa_supplicant off
chkconfig xfs off
chkconfig xinetd off
chkconfig ypbind off
chkconfig yum-updatesd off

6、让ISO按照anaconda-ks.cfg文件来执行安装

 vi /root/iso/isolinux/isolinux.cfg

Default  linux   修改成default linux  ks=cdrom:/anaconda-ks.cfg

7、生成comps.xml文件

yum -y install createrepo mkisofs
cd /root/iso
createrepo -g repodata/*comps.xml /root/iso/

8、制作ISO

mkisofs -o MyCentOS.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4  -boot-info-table -R -J -v -T /root/iso/

然后下次需要重装系统的时候就直接使用这个ISO啦,方便快捷!有个缺点就是密码是按照anaconda-ks.cfg中设定的执行,再研究一下看看能不能设定密码跟用户交互的模式。

参考文章:

http://luyafei.blog.51cto.com/1092421/738762

http://m114.org/system/linux/%e5%ae%9a%e5%88%b6centos5-6-servercd%e7%b3%bb%e7%bb%9f%e5%ae%89%e8%a3%85%e7%9b%98.html

本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/742659如需转载请自行联系原作者


lihuipeng

相关文章
|
22天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
182 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
11天前
|
Linux 开发工具 Windows
CentOS8 64位系统 搭建内网穿透frp
【10月更文挑战第23天】本文介绍了如何在Linux系统上搭建frp内网穿透服务,并配置Windows客户端进行访问。首先,通过系统信息检查和软件下载,完成frp服务端的安装与配置。接着,在Windows客户端下载并配置frpc,实现通过域名访问内网地址。最后,通过创建systemd服务,实现frp服务的开机自动启动。
46 14
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
69 1
Linux系统之Centos7安装cockpit图形管理界面
|
12天前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
13 2
|
4月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
2月前
|
网络协议 Linux Shell
CentOS7系统命令学习笔记(一)
CentOS7系统命令学习笔记(一)
|
2月前
|
Linux
CentOS7系统命令学习笔记(二)
CentOS7系统命令学习笔记(二)
|
2月前
|
Linux Shell API
CentOS7系统命令学习笔记(三)
CentOS7系统命令学习笔记(三)
|
3月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
85 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
6月前
|
关系型数据库 MySQL Linux
一次虚拟机centos7系统崩溃恢复记录
一次虚拟机centos7系统崩溃恢复记录
396 0