安装好Linux裸机后(安装请参考: http://www.linuxidc.com/Linux/2014-12/111062.htm),还需要在其上安装一些基础组件,一般是手动一个个安装,比较繁复也许会遗漏,下面整理了下,做成一个脚本,每次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 <> /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 <> /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 <> /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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-12/111063.htm

TAG:

除非注明,文章均由 Linux系统学习 整理发布,欢迎转载。如有版权争议,请联系删除。

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

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

            安装好Linux裸机后(安装请参考:http://blog.itpub.net/26230597/viewspace-1380155/),还需要在其上安装一些基础组件,一般是手动一个个 ...

  2. u盘启动+linux+ks.cfg,通过ks.cfg文件自动安装系统

    最近需要制作自动安装系统的iso镜像文件,写个笔记以防忘记 第一步.拿到iso原始文件,我用的是rhel7.7的 把rhel7.7文件复制出来到一个目录中 第二步.编写一个名字叫ks.cfg文件内容如 ...

  3. centos6.4 yum装php,CentOS6.x/6.5/6.4/6.3/6.2/7.x 64位安装php5.2(使用YUM自动安装)

    搜索热词 默认情况下,CentOS6 64 bit 已经早已不支持PHP5.2.x ,但是某些PHP程序还需要zend optimizer支持,怎么办呢?目前大部分的yum repos 都已经不支持直 ...

  4. 服务器系统盘安装在sdb,从U盘自动安装centos5.3到服务器

    从U盘自动安装centos5.3到服务器作者:田逸(sery@163.com)from: http://blog.formyz.org前几天,买服务器,供货商赠送1个8G的U盘,于是我就想拿这个U盘来 ...

  5. mysql 5.6.28安装图解_mysql 5.6.28 自动安装shell脚本

    mysql5.6.28自动安装shell脚本,为了包装源码包的可靠性,请自行下载mysql-5.6.28.tar.gz,接着我就不说废话,附上自动安装脚本.#!/bin/bash #author ab ...

  6. Android APK应用安装原理(2)-查找APK并自动安装

    Android每次启动的时候会自动安装位于特定目录下的APK,这个过程会在packageManagerService这个类的构造方法中进行,这里会创建多个目录用于预查找: [java] view pl ...

  7. python cv2模块安装_Python运行脚本前,自动安装需要的模块包

    在服务器上部署Python程序时,往往需要先安装很多需要的模块包.如果一个一个安装就会出现忘记的情况.或者新增加某个新的模块时,也可能会忘记安装. 这里先讲一下怎么通过Python程序自动安装. 以下 ...

  8. windows installer没有正确安装_电脑还可以这样禁止软件自动安装,后悔知道得太晚...

    安装软件的时候,总会无缘无故的出现几个不知名的软件,自行删除又害怕它在电脑系统里面留下病毒,相信很多人都遇到过这种情况,其实这是可以解决的.想要电脑上不被自动安装软件,只要进行简单的设置即可,下面来演 ...

  9. android下载完成不能自动安装失败,android 8.0以上自动安装apk失败的解决问题

    随着android 系统的不断更新和发展,针对应用的权限管理也是越来越严格.这可是坑坏了我们这些搬砖的程序员,因为在一些上架平台,都一一宣布,以后的android应用 targetSdkVersion ...

最新文章

  1. Java反射(详述版)
  2. 实战ALV OO技术实现添加工具条按钮
  3. 全国计算机等级二级证书foxbase,2002年4月全国计算机等级考试二级FOXBASE笔试试题...
  4. python3.6运行界面_Electron+Python界面开发(通过zerorpc)
  5. 多长的企业视频最受欢迎?小于60秒
  6. css样式变 及实际用法
  7. 关于inodes占用100%的问题及解决方法续集如何解决clientmqueue目录文件太多
  8. 我说省略号然后点点点点点点
  9. API文档自动生成,Swagger的配置
  10. quick code ide设置分辨率
  11. STM32开发,使用IAR软件建立工程
  12. 想去掉抖音短视频里的水印,有没有一键去水印的方法?
  13. win7 计算机设置命令,win7系统如何设置自动关机?
  14. 努力不是为了追赶别人,只是为了超越自己
  15. 简述网卡的作用和工作原理_网卡的功能和工作原理(1)
  16. 如何使用网页版Instagram来发布图片
  17. 依分布收敛的定义细节
  18. mysql dos 怎样卸载_MySQL安装与卸载
  19. psid mysql_浅识MySQL
  20. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之【05EC20模组TCP/IP模块AT指令说明】

热门文章

  1. 2021-07-29
  2. GO语言实现RSA 加密和解密的实现
  3. Web前端三剑客之CSS基础
  4. Windows保护模式学习笔记(十三)—— PWTPCD
  5. 160个Crackme037
  6. KVM console 串口连接虚拟机
  7. 13、HTML <meta>标签
  8. 使用 CallableStatement 接口调用存储过程
  9. 二叉查找树(二)之 C++的实现
  10. Spring boot配置Servlet容器