对Centos的自动安装的补充

上一篇博文:http://www.cnblogs.com/hjc4025/p/6918323.html

这篇文章是对之前博文的一点扩展和补充:

这里主要是在之前的基础上添加了一些自己制作好的程序,还有安装openssh7.5版本,直接全部包含在镜像中,并且设置一些自启动程序、DNS、还有计划任务之类的,都是利用ks.cfg文件的post字段后面定义的脚本实现的,在post的阶段中使用--nochroot 表示可以使用任何目录,而本阶段中的 / (根目录)是会自动挂在到/mnt/sysimage下,下面请看我的ks.cfg文件:

#platform=x86, AMD64, or Intel EM64T
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Root password default is "redhat"
rootpw --iscrypted $1$n5Jfcfwa$//2gZpFMJypdiXEF8ld6O.
# System authorization information
auth  --useshadow  --passalgo=md5
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on –noipv6
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
ignoredisk --only-use=sda
part /boot --fstype="ext4" --size=1032
part swap --size=8300
part / --fstype="ext4" --grow --size=1
%packages
@additional-devel
@base
@compat-libraries
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@desktop-platform-devel
@development
@directory-client
@eclipse
@emacs
@fonts
@general-desktop
@graphical-admin-tools
@graphics
@input-methods
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@php
@performance
@perl-runtime
@print-client
@remote-desktop-clients
@system-management-snmp
@server-platform
@server-platform-devel
@server-policy
@system-admin-tools
@tex
@technical-writing
@virtualization
@virtualization-client
@virtualization-platform
@virtualization-tools
@web-server
@web-servlet
@workstation-policy
@x11
libgcrypt-devel
libXinerama-devel
openmotif-devel
libXmu-devel
xorg-x11-proto-devel
startup-notification-devel
libgnomeui-devel
libbonobo-devel
junit
libXau-devel
libXrandr-devel
popt-devel
gnome-python2-desktop
libdrm-devel
libxslt-devel
libglade2-devel
gnutls-devel
mtools
gdisk
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
systemtap-client
abrt-gui
desktop-file-utils
ant
expect
rpmdevtools
python-six
jpackage-utils
rpmlint
samba-winbind
certmonger
pam_krb5
krb5-workstation
netpbm-progs
dcraw
openmotif
libXmu
libXp
php-odbc
php-pecl-memcache
php-xmlrpc
php-pecl-apc
php-ldap
php-soap
php-mysql
php-pgsql
perl-DBD-SQLite
net-snmp-python
net-snmp-perl
symlinks
rrdtool
pexpect
dtach
mc
xdelta
screen
tree
mgetty
hardlink
lshw
expect
conman
crypto-utils
scrub
rdist
vlock
rear
lsscsi
libvirt-java
perl-Sys-Virt
libguestfs-java
virt-v2v
libguestfs-tools
mod_authnz_pam
mod_auth_mysql
mod_auth_mellon
mod_auth_kerb
squid
mod_nss
mod_auth_pgsql
certmonger
mod_authz_ldap
mod_intercept_form_submit
perl-CGI-Session
perl-CGI
python-memcached
mod_revocator
perl-Cache-Memcached
memcached
mod_lookup_identity
libmemcached
%post --nochroot --log=/mnt/sysimage/root/postinstall_stage1.log
mkdir -p /mnt/source
mount -o loop /dev/cdrom /mnt/source
cp /mnt/source/software/netgainagent_v3.tar.gz /mnt/sysimage/usr/
cp /mnt/source/software/netgainagent_v4.tar.gz /mnt/sysimage/usr/
cp /mnt/source/software/openssh-7.5p1.tar.gz /mnt/sysimage/usr/local
cp /mnt/source/software/cn_node_yum.repo /mnt/sysimage/etc/yum.repos.d/
umount -f /mnt/source
%post --log=/root/postinstall_stage2.log
#agent
cd /usr
tar zxvf netgainagent_v3.tar.gz
echo "==>Uncompress netgainagent ok!\n" >> /root/postinstall_stage2.log
#openssl
rm -rf /etc/ssh/
rm -rf /etc/init.d/sshd
cd /usr/local
tar -xvf openssh-7.5p1.tar.gz
cd /usr/local/openssh-7.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man
make
make install
cp /usr/local/openssh-7.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
chkconfig sshd on
echo "==>Update openssl ok!\n" >> /root/postinstall_stage2.log
#yum.repo.d
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
mv /etc/yum.repos.d/CentOS-Debuginfo.repo /etc/yum.repos.d/CentOS-Debuginfo.repo_bak
mv /etc/yum.repos.d/CentOS-fasttrack.repo /etc/yum.repos.d/CentOS-fasttrack.repo_bak
mv /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/CentOS-Media.repo_bak
mv /etc/yum.repos.d/CentOS-Vault.repo /etc/yum.repos.d/CentOS-Vault.repo_bak
#chkconfig
chkconfig iptables off
chkconfig cgconfig off
chkconfig cgdcbxd off
chkconfig abrtd off
chkconfig ip6tables off
chkconfig xinetd off
chkconfig virt-who off
chkconfig pppoe-server off
chkconfig postfix off
chkconfig lvm2-monitor off
chkconfig libvirtd off
chkconfig libvirt-guests off
chkconfig isdn off
chkconfig iscsid off
chkconfig iscsi off
chkconfig fcoe-target off
chkconfig fcoe off
chkconfig certmonger off
chkconfig bluetooth off
chkconfig NetworkManager off
#set /etc/resolv.conf
cat > /etc/resolv.conf << EOF
nameserver 218.241.99.50
nameserver 218.241.118.144
EOF
echo "==>Set OS DNS ok!\n" >> /root/postinstall_stage2.log
#ntp
cat >> /var/spool/cron/root << EOF
*/3 * * * * /usr/sbin/ntpdate ntp.cnnic.cn && /sbin/hwclock -w
# */3 * * * * /usr/sbin/ntpdate 10.10.1.12 && /sbin/hwclock -w
# */3 * * * * /usr/sbin/ntpdate 10.20.2.53 && /sbin/hwclock -w
EOF
echo "==>Set OS NTP ok!\n" >> /root/postinstall_stage2.log

这个里面包括使用了最新的openssh 7.5 版本,里面也有一些走过的坑。。不过最终还是做出来了

时间: 2024-10-20 02:00:17

对Centos的自动安装的补充的相关文章

安装centos时候自动安装vm tool,导致无法继续安装centos的解决办法

我原先安装centos 的时候装的是CD版的,也是到这一步就卡住了,然后我在"虚拟机->取消安装vmare tool" 点击“取消安装vmare tool”,然后他就可以进行下去了,就正常安装好了,但现在我安装的是centos的mini版,我发现在“虚拟机->安装Vmare Tool"也就是这时候的选项不是正在安装vmare tool,这时就不是这个问题了,我就不知道该怎么办了. 然后去百度知道上问了,在google上查关键字也没找到答案,主要还是不知道以什么关键

Centos 7 自动安装系统-pxe

一.简介 PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,

CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

通过ks文件 实现 CentOS 6 自动安装系统 环境: VMware 14.0 Pro版 光盘镜像: CentOS-6.9-x86_64-minimal.iso ks文件生成器: kickstart 偶然接触一个kickstart, 通过马哥的网络直播上学到的自动安装系统, 先看一下原理: CentOS在VMware安装流程: 新建虚拟机 --> 挂载光盘镜像 --> 开始安装 --> 配置(包括地区, 语言, 时区, 键盘类型, root密码等等) --> 完成安装 --&g

引导镜像实现CentOS半自动化安装

本实验在生产环境中现在已经用不到了,因为已经有更高级的自动化安装软件来取代了本次实验,所以只是为了能从低层更了解Linux的安装,从而做了本次实验,加深与理解当前所学的知识. 先看一下拓扑图吧! 简单的解释一下拓扑图,先在服务器端开启http服务,在http默认目录下创建两个目录分别是ks.x86_64,并把光盘镜像挂载至/var/www/html/x86_64目录下,把已经制作好的ks.cfg文件复制至/var/www/html/ks目录中:在服务器端制作isolinux用于引导启动客户端(其

Linux C/C++程序员CentOS 6.5安装YouCompleteMe使用vim语法自动补全

标题: Linux C/C++程序员CentOS 6.5安装YouCompleteMe使用vim语法自动补全 Ubuntu/Debian/Fedora比较好安装,各种软件包都比较新 CentOS6系列很难装,各种软件包版本太低了 新手不要尝试在CentOS6系上安装,会有一种挫败感! 步骤: 1, 安装操作系统 2, 文件下载 3, 更新vim 4, 安装ycm 和 Vundle 5, 编译clang 6, 编译ycm_core 7, 效果图 8, 清理工作 1, 安装操作系统: CentOS-

CentOS 7 DHCP+PXE+Apache+Kickstart 自动安装

关闭selinux,关闭防火墙,配置网络 getenforce setenforce 0 vi /etc/selinux/config systemctl stop firewalld.service systemctl disable firewalld.serivce 挂载光盘,备份文件,创建repo文件,清除和重建缓存 mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom mkdir /etc/yum.repos.d/backup/ mv /etc/yu

使用kickstart自动安装CentOS 6.6系统

1. anaconda centos系统安装是通过anaconda程序完成的.那anaconda是如何启动的呢?anaconda如果是运行在硬件上,bootloader直接将其加载就完事了.但如果是这样那anaconda就要具备内核的所有功能.所以anaconda只能是运行在操作系统上,但是此时操作系统还没有安装,那它怎么运行呢?我们一般使用光盘安装系统,光盘可以模拟成磁盘,里面也有0磁道0扇区以及bootloader. bootloader用于加载位于光盘某个目录下的已经编译好的内核,再加载r

CentOS 7.2 自动安装光盘实验全过程记录

实验过程: 本文在一台RHEL6.5机器上,通过向原生CentOS7.2 iso中添加kickstart启动脚本ks.cfg和读取脚本的开机选项,再对该iso镜像重新封装的方式,完成CentOS7.2自动安装光盘的制作,并新建一台虚拟机挂载该光盘,来验证操作系统的自动安装. 所需工具: 1. 一台RHEL6.5主机(虚拟机也可以,但本文涉及要在该主机上新建虚拟机,因此建议该主机应支持KVM或别的虚拟机技术) 2. virt-manager 可视化的虚拟机管理工具 3. virt-install

Pex自动安装Centos

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包