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

1,先配置网络,check配置为最原始的状态
[root@wgq_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
[root@wgq_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,设置初始化域名
[root@wgq-web-1-50 ~]# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
[root@wgq-web-1-50 ~]#

3,编写初始化安装脚本
[root@wgq_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

[root@wgq_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:
[root@wgq_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

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

  1. linux 安装 加入内核参数,Linux 实现自动安装服务组件以及优化内核参数

    安装好Linux裸机后(安装请参考: http://www.linuxidc.com/Linux/2014-12/111062.htm),还需要在其上安装一些基础组件,一般是手动一个个安装,比较繁复也 ...

  2. PXE实现Linux的自动安装

    转载自:http://hucwuhen.blog.51cto.com/6253667/1266420 PXE实现Linux的自动安装 安装过linux的人都知道,在只对一台机器进行linux的安装,很 ...

  3. 用Kickstart批量安装Linux系统、Kickstart安装,linux批量安装;Linux的Kickstart的 无人值守安装;linux pxe自动安装linux系统...

    用Kickstart批量安装Linux|Kickstart,批量安装:Linux的Kickstart的 无人值守安装:linux pxe自动安装linux系统: KickStart + DHCP + ...

  4. WSL(windows subsystem for linux)安装错误:安装过程中遇到错误,但可以继续安装。组件: ‘WSL 内核‘ 错误代码: 0x80072f78解决方法

    文章目录 问题来源 解决 参考 问题来源 使用管理员身份打开powershell,输入 wsl --install 之后等待安装: 结果,出现如下问题: PS C:\WINDOWS\system32& ...

  5. debian linux 内核 3.14-1 显示器 很暗,Ubuntu 与 Linux Mint 用户安装 Kernel 3.14.1 内核

    Ubuntu 与 Linux Mint 用户安装 Kernel 3.14.1 内核 Mark Do 2014年4月16日 暂无评论 阅读 3,928 次 最新稳定版本的Linux内核 Kernel 3 ...

  6. linux 实现自动安装,基于cobbler 实现自动安装linux系统

    1.安装个组件 yum install epel-rpm-macros.noarch -y #安装epel源 yum install -y cobbler cobbler-web dhcp tftp- ...

  7. Linux shell 自动安装总结

    本文主要针对web项目自动安装shell脚本中常用linux命令总结如下: 1. 将一条命令的执行结果赋值给一个变量: #获取执行脚本的当前路径 zit_script_path=$(cd " ...

  8. Linux脚本自动安装软件,一个快速自动安装Apache及其相关软件的Shell脚本

    一个快速自动安装Apache及其相关软件的Shell脚本 文:王文俊 email:wwj99001@sina.com wwj99001@sohu.com 成文时间:2002年6月1日 Apache是一 ...

  9. Kili Linux系统的安装及组件环境配置

    Kili Linux攻防系统介绍: Kali Linux是一个基于Debian的Linux发行版,包含很多安全和取证方面的相关工具.它主要被设计用于数字取证和渗透测试.KaliLinux预装了许多渗透 ...

最新文章

  1. python3对比python2的更新点
  2. 三角函数在线快速计算机,三角函数计算器
  3. linux代码环境配置,linux下配置环境变量【原创】(示例代码)
  4. json字符串中key值下划线命名转换为驼峰命名
  5. lucene使用3.0.3_Jirasearch 2.0狗粮:使用Lucene查找我们的Jira问题
  6. linux date 常用格式,5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令...
  7. 平滑数据迁移,不影响服务
  8. Python 修改文件内容3种方法(替换文件内容)
  9. explanatory variable(independent vs dependent)、design matrix
  10. 语言程序设计第4版黄洪艺_庞皓计量经济学第4版题库
  11. Oracle用户密码过期的处理方法
  12. Windows11以管理员身份运行命令窗口
  13. Python学习 Day55 多线程下载壁纸 04
  14. 如何恢复计算机永久删除文件,回收站删除文件如何恢复
  15. 16岁的雅虎问答,因“不再受欢迎”将永久关闭
  16. 虚无世界java路_我的世界攻略大全026-虚无世界3全新版介绍(上)
  17. 《Vue插件》瀑布流插件vue-masonry的使用与踩坑记录
  18. 1894 Beckham’s Freekick
  19. 蓝牙(四)LMP协议解析之二
  20. Win10版本那么多怎么区别(2)

热门文章

  1. python用正则获取字幕中的文本
  2. Mongodb创建用户角色
  3. Match Point(赛末点)
  4. Merkle Tree(默克尔树)算法解析
  5. 从摆地摊到开网店,这对小夫妻一年狂赚45万元
  6. 打工四年总结的数据库知识点
  7. 【转】推荐几个好用的vue管理后台框架
  8. java bitmap图片_Bitmap图片的处理
  9. KATE编辑器的使用感受和设置问题
  10. 那些惊艳的算法们(三)—— 时间轮