Linux 实现自动安装服务组件以及优化内核参数

        安装好Linux裸机后(安装请参考:http://blog.itpub.net/26230597/viewspace-1380155/),还需要在其上安装一些基础组件,一般是手动一个个安装,比较繁复也许会遗漏,下面整理了下,做成一个脚本,每次run下这个脚本就完成了基础组件的安装了,并且附带优化了Linux的内核参数。

1,先配置网络,check配置为最原始的状态
[[email protected]_idc_web_1_50 ~]# more ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
UUID=de8199bd-d18e-45d4-85a0-7cbeb1d693f2
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp
HWADDR=00:0C:29:BF:E2:AB
[[email protected]_idc_web_1_50 ~]#
手动配置网络服务:
ifconfig eth0 1xx.2xx.1.50 netmask 255.255.255.0
route add default gw 1xx.2xx.1.1
service network restart

2,设置初始化域名
[[email protected] ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
[[email protected] ~]#

3,编写初始化安装脚本
[[email protected]_idc_web_1_50 ~]# vim init_app_shell.sh
#!/bin/bash
#IP GATEWAY parameters
if [ $# != 3 ]
  then
    echo "USAGE: $0 IPADDR GATEWAY HostName"
    echo "eg: $0 1xx.2xx.1.12 1xx.2xx.1.1 wgq_idc_mon_1_12"
exit 1
fi

#hostname configuration,注意sed后面带变量的话,不能用‘符号,因为会解析不了$3变量值。
hostname $3
sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=$3/g" /etc/sysconfig/network

#chkconfig 
yum install -y chkconfig

#stop services
chkconfig --list |grep ":on" |awk ‘{print $1}‘ > /tmp/allonservice.txt
for i in `cat /tmp/allonservice.txt`
  do
    chkconfig $i off
  done

for k in NetworkManager crond messagebus network rsyslog sshd 
  do
    chkconfig $k on
  done

#network configuration
grep "DNS1" /etc/sysconfig/network-scripts/ifcfg-eth0
if [ $? != 0 ]
 then
cat <<EOF>> /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=$1
NETMASK=255.255.255.0
GATEWAY=$2
DNS1=2xx.1xx.136.10
EOF
fi

sed -i ‘s/ONBOOT=no/ONBOOT=yes/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i ‘s/BOOTPROTO=dhcp/BOOTPROTO=static/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart

#set nameserver
cat <<EOF>> /etc/resolv.conf
nameserver $4
EOF

#selinux disabled
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/sysconfig/selinux
sed -i ‘s/id:5:initdefault:/id:3:initdefault:/g‘ /etc/inittab

#kernel optimization
grep "net.ipv4.tcp_keepalive_time = 30" /etc/sysctl.conf
if [ $? != 0 ]
  then
cat <<EOF>> /etc/sysctl.conf
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
EOF

sed -i ‘s/net.bridge.bridge-nf-call-ip6tables = 0/#net.bridge.bridge-nf-call-ip6tables = 0/g‘ /etc/sysctl.conf
sed -i ‘s/net.bridge.bridge-nf-call-iptables = 0/#net.bridge.bridge-nf-call-iptables = 0/g‘ /etc/sysctl.conf
sed -i ‘s/net.bridge.bridge-nf-call-arptables = 0/#net.bridge.bridge-nf-call-arptables = 0/g‘ /etc/sysctl.conf
fi

sysctl -p

#epel yum source configuration
if [ ! -d /soft ]
  then 
    mkdir /soft
fi 
cd /soft 
rpm -ivh epel-release-6-8.noarch.rpm && rm -rf epel-release-6-8.noarch.rpm
sed -i ‘s/#baseurl=/baseurl=/g‘ /etc/yum.repos.d/epel.repo
sed -i ‘s/irrorlist=/#irrorlist=/g‘ /etc/yum.repos.d/epel.repo
yum clean all 
yum makecache

#system basic lib package install
yum install gcc gcc-c++ ncurses-devel.x86_64 cmake.x86_64 libaio.x86_64 bison.x86_64 gcc-c++.x86_64 bind-utils wget curl curl-devel perl openssh-clients setuptool sysstat -y

# restart the linux server 
reboot

[[email protected]_idc_web_1_50 ~]#

4,环境准备
(1),去http://pan.baidu.com/s/1qWodCQg下载epel-release-6-8.noarch.rpm(对应centos下载相应的安装包),放到/soft/目录
(2),注意域名是初始化的,如果手动修改过了,建议改成原始的localhost.localdomain。

5,运行脚本开始初始化安装
开始运行,4个参数,P1:虚拟机ip地址;P2
sh init_app_shell.sh 1xx.2xx.1.50 1xx.2xx.1.1 wgq_idc_web_1_50 202.xxx.xxx.64

6,调试中一些报错信息记录
(1),yum install gcc*报错:
PYCURL ERROR - "Couldn‘t resolve host ‘mirrorlist.centos.org‘"
Error: Cannot find a valid baseurl for repo:base
需要添加路由
route add default gw 192.168.180.255
或者
route add add  -net 0.0.0.0 gw 1xx.2xx.1.1

(2),yum安装报错 :
Error Downloading Packages:
  grep-2.6.3-6.el6.x86_64: failure: Packages/grep-2.6.3-6.el6.x86_64.rpm from base: [Errno 256] No more mirrors to try.
缺少dns,添加dns:
[[email protected]_idc_squid_1_11 ~]# vim /etc/resolv.conf
nameserver 2xx.1xx.136.10
重启服务
ifconfig eth0 1xx.2xx.1.50 netmask 255.255.255.0
route add default gw 1xx.2xx.1.1
service network restart

(3),Error: Cannot find a valid baseurl for repo:base
需要安装
yum install chkconfig
yum install greo -y

----------------------------------------------------------------------------------------------------------------
<版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!>
原博客地址: http://blog.itpub.net/26230597/viewspace-1384144/
原作者:黄杉 (mchdba)
----------------------------------------------------------------------------------------------------------------

时间: 2024-08-01 14:31:46

Linux 实现自动安装服务组件以及优化内核参数的相关文章

Linux 实现自动安装服务组件以及优化内核参数 (转)

安装好Linux裸机后(安装请参考:http://blog.itpub.net/26230597/viewspace-1380155/),还需要在其上安装一些基础组件,一般是手动一个个安装,比较繁复也许会遗漏,下面整理了下,做成一个脚本,每次run下这个脚本就完成了基础组件的安装了,并且附带优化了Linux的内核参数.1,先配置网络,check配置为最原始的状态[[email protected]_idc_web_1_50 ~]# more ifcfg-eth0 DEVICE=eth0TYPE=

Tip:Exchange DAG部署的时候自动安装群集组件

我们在启用DAG高可用性组的时候,不需要手动先去安装failover cluster组件,在启用DAG的时候会自动安装该组件,如图. 该组件自动安装后,再继续配置DAG. ==============================================

linux cobbler 自动安装centos6与centos7系统

1.1 Cobbler介绍 Cobbler 是一个免费开源系统安装部署软件,用于自动化网络安装操作系统. Cobbler 集成了 DNS, DHCP, 软件包更新,带外管理以及配置管理,方便操作系统安装自动化. Cobbler 可以支持PXE启动, 操作系统重新安装,以及虚拟化客户机创建,包括Xen, KVM or VMware.  Cobbler 透过koan程序以支持虚拟化客户机安装. Cobbler 可以支持管理复杂网路环境,如建立在链路聚合以太网的桥接环境. 1.2 cobbler 服务

linux下编译安装的Apache安全优化方案

上节我们学习了Linux的系统优化解决方案,我个人总结为18项,当然还有别的,例如系统内核裁剪这些我没讲到,为什么呢?大家不用太关心了,要记得我们学习的目的是能够胜任工作即可.我们对一个知识点不要讲的太深,避免钻进死胡同了,那就不好啦. 今天我们讲解下lamp架构安全优化中的Apache服务的安全优化.在讲这节内容之前我说下,静态web请求的流程: 当客户端访问一个静态网站的时候,网站上的Apache服务就会给他发送html文档给客户端浏览器,客户端浏览器会进行解析,然后就是我们看到的内容了.

Linux PXE远程安装服务 并实现KIckstart无人值守安装

工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址 实验目标:部署PXE远程安装服务 .并实现KIckstart无人值守安装 server_args = -s /var/lib/tftpboot -c (指定存储路径 -c:允许上传)disable = no (开启tftp)安装dhcp并且复制模板ddns-update-style none; //支持DNS动态更新,一般选择关闭/next

Linux中自动安装脚本

如何让你的主机自动的完成安装,自动的回答系统提出的问题,编写自动安装脚本即可实现,如下将详细解释自动脚本安装方法. systemd-config-kickstart  ##自动应答脚本制作工具 安装成功,在安装过程中systemd-config-kickstart 将做出脚本应答 进行选择语言选择 (1)Basic Configuration 安装过程的必须一致时区选择(可不选,在脚本中都有写到,这里做一个解释) Root passwd 填写Root密码,并确认,两次输入密码 Advanced

linux kickstart 自动安装

最近很多业务系统都是linux lnmp平台安装,反复的安装让人觉得很苦恼,仔细钻研了下kickstart .这里环境是red hat linux 5.8 32位,系统盘中的软件包里包含有kickstart. 1.安装kickstart #rpm -ivh py-* #rpm -ivh system-config-kickstart 2.创建应答文件 #platform=x86, AMD64, 鎴?Intel EM64T# System authorization informationauth

C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe

不得不说,.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载. 今天给大家提供一种方式,直接使用我们的程序来安装/卸载服务,并且可以让一个exe即能直接运行也行安装为windows服务 首先我们创建一个Windows应用程序,(我创建的是控制台程序,WinForm也一样) 接下来在项目中添加一个Windows服务类 然后双击"MainService.cs",在上面点右键"打开代码" 这里面写服务的具

Linux无人值守自动安装详细配置流程

以下配置流程均在CentOS 6.7实现 实验环境: PXE + httpd + dhcp + tftp-server + kickstart 实现环境: PXE+httpd + dhcp + tftp-server + kickstart 简单介绍相关概念: PXE:是一种安装方式,支持通过网络引导,访问服务器的文件来安装系统,需要网卡支持 http:文件服务器,存放系统ISO文件 dhcp:实现客户机地址分配 tftp:存放PXE相关的文件的服务器 kickstart:是安装程序anacon