• 热门搜索:
  • 装机系统
  • 雨林木风系统
  • 深度系统
  • 电脑公司系统
  • win7装机版
  • 教程分类
    当前位置:主页 > 教程咨询 > Linux教程

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

    来源:装机员┆发布时间:2018-02-11 00:02┆点击:

    装机员为您提供Linux 实现自动安装服务组件以及优化内核参数的文章咨询供您阅读,如何使用Linux 实现自动安装服务组件以及优化内核参数的方法对您有帮助也请您举手之劳分享给您身边的人。

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


    以上就是装机员给大家介绍的如何使用Linux 实现自动安装服务组件以及优化内核参数的方法了,如何使用Linux 实现自动安装服务组件以及优化内核参数的方法到这里也全部结束了相信大家对如何使用Linux 实现自动安装服务组件以及优化内核参数的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击装机员系统官网吧。

    本文来自装机员www.zhuangjiyuan.com如需转载请注明!

    Tag标签| RSS订阅 | 网站地图
    装机员系统之家提供win7装机版xp系统下载win7系统下载、最新Windows10系统下载,专为装机修机员奉上最好的软件、系统、U盘pe、程等平台
    请勿发布违反国家法律法规的内容,会员观点不代表本站立场.本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,
    否则后果自负,请支持购买微软正版软件! 如侵犯到您的权益,请及时通知我们,我们会及时处理。 粤ICP备15116662号