zoukankan      html  css  js  c++  java
  • linuxcfg.sh

    背景介绍:

    今天跟导师聊了很多,感触颇深,差距颇大,收获颇多~

    对基线和版本的控制有了更深入的了解。

    -----------------------------------------------------------------------------------

    每个人都有自己使用linux的环境,这些环境可以提升自己的工作效率,在岁月长河中,慢慢去完善这些“习惯”。

      1 #!/bin/bash
      2 
      3 yesnoinput()
      4 {
      5     while :
      6     do
      7         read ANSWER
      8         case $ANSWER in
      9         "yes"|"YES")
     10             return 0
     11             ;;
     12         "no"|"NO")
     13             return 1
     14             ;;
     15         *)
     16             echo -n "[WARNING] Unknown input. "
     17             ;;
     18         esac
     19         printf "Please input [yes..no]: "
     20     done
     21 }
     22 
     23 iptablesconfig()
     24 {
     25     iptables -P INPUT ACCEPT
     26     iptables -P FORWARD ACCEPT
     27     iptables -P OUTPUT ACCEPT
     28 
     29     iptables -F
     30     iptables -X
     31     iptables -Z
     32 
     33     iptables-save >/etc/sysconfig/iptables
     34     
     35     touch /etc/rc.d/rc.local
     36     chmod 755 /etc/rc.d/rc.local
     37     sed -i /iptables/d /etc/rc.d/rc.local
     38     echo "iptables-restore < /etc/sysconfig/iptables" >>/etc/rc.d/rc.local
     39     
     40     sed -i 's/SELINUX=.*$/SELINUX=disabled/g' /etc/sysconfig/selinux &>/dev/null    #centos7
     41     sed -i 's/SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config &>/dev/null        #centos6
     42     
     43     setenforce 0 &>/dev/null
     44     systemctl stop firewalld &>/dev/null
     45     systemctl disable firewalld &>/dev/null
     46 }
     47 
     48 systemconfig()
     49 {
     50     #修改系统语言 需要为英文
     51     sed -i 's/^LANG=.*$/LANG="en_US.UTF-8"/g' /etc/locale.conf
     52     
     53     #修改时区相差八小时问题
     54     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
     55     
     56     #ssh登陆慢
     57     sed -i '/^UseDNS/d' /etc/ssh/sshd_config
     58     sed -i '/^#UseDNS/aUseDNS no' /etc/ssh/sshd_config
     59     sed -i '/^GSSAPIAuthentication/d' /etc/ssh/sshd_config
     60     sed -i '/^#GSSAPIAuthentication/aGSSAPIAuthentication no' /etc/ssh/sshd_config
     61     systemctl restart sshd
     62     
     63     #配置DNS服务器
     64     echo "nameserver 114.114.114.114"  >/etc/resolv.conf
     65     
     66     #修改history相关属性
     67     mkdir -p /etc/profile.d
     68     
     69     echo "
     70 PS1='[33[01;35m][u@h w]\$ [33[00m]'
     71 HISTSIZE=1000000
     72 
     73 mkdir -p /root/.history
     74 HISTFILE=/root/.history/history_\`echo $SSH_CLIENT | cut -d' ' -f1\`
     75 HISTTIMEFORMAT="[%F %T] "
     76 export HISTTIMEFORMAT
     77 export PROMPT_COMMAND="history -a"
     78 
     79 export LANG=en_US.UTF-8
     80 export LESSCHARSET=UTF-8
     81 
     82 " >/etc/profile.d/private.sh
     83 
     84     source /etc/profile.d/private.sh
     85     
     86 }
     87 
     88 vimconfig()
     89 {
     90     touch ~/.vimrc
     91     
     92     echo "
     93 set nocompatible
     94 set backspace=indent,eol,start
     95 ""set backup
     96 syntax on
     97 set hlsearch
     98 filetype plugin on
     99 set ruler
    100 set ts=4
    101 set sw=4
    102 set shiftwidth=4
    103 set softtabstop=4
    104 set nu
    105 set autoindent
    106 ""set textwidth=200
    107 set noexpandtab
    108 set encoding=utf-8
    109 set fileencoding=utf-8
    110 set fileencodings=ucs-bom,utf-8,chinese
    111 set modeline
    112 set t_vb=
    113 " > ~/.vimrc
    114 
    115 }
    116 
    117 gitconfig()
    118 {
    119     touch ~/.gitconfig
    120     
    121     echo "
    122 [user] 
    123     name = 
    124     email = 
    125 [credential]
    126     helper = store
    127 [http]
    128     sslVerify = false
    129 [i18n]
    130     logOutputEncoding = UTF-8
    131     commitEncoding = UTF-8
    132 [core]
    133     editor = vim
    134     autocrlf = input
    135     quotepath = false
    136 [push]
    137     default = current
    138 [alias]
    139     lg = log --graph --format=format:'%C(cyan)[%ai]%C(reset) %C(bold blue)%h%C(reset) %C(bold green)(%ar)%C(reset) %C(bold red)%an%C(reset) %C(white)%s%C(reset) %C(bold yellow)%d%C(reset)'
    140     st = status 
    141     ls = log --graph --format=format:'%C(cyan)[%ai]%C(reset) %C(bold blue)%h%C(reset) %C(bold green)(%ar)%C(reset) %C(bold red)%an%C(reset) %C(white)%s%C(reset) %C(bold yellow)%d%C(reset)' --stat
    142     so = show
    143     cl = clean -xd
    144 [color]
    145     ui = auto
    146 [color "branch"]
    147     current = yellow reverse bold
    148     local = yellow bold
    149     remote = green bold
    150 [color "status"]
    151     added = yellow bold
    152     changed  = red bold
    153     untracked = green bold
    154 [color "diff"]
    155     meta = yellow bold
    156     frag = magenta bold
    157     commit = yellow bold
    158     old = red bold
    159     new = green bold
    160     whitespace = red reverse
    161 [color "diff-highlight"]
    162     oldNormal = red bold
    163     oldHighlight = red bold 52
    164     newNormal = green bold
    165     newHighlight = green bold 22
    166 " > ~/.gitconfig
    167 }
    168 
    169 yumconfig()
    170 {
    171     sed -i 's!cachedir=.*$!cachedir=/opt/yum/!g' /etc/yum.conf
    172     sed -i 's/^keepcache=.*$/keepcache=1/g' /etc/yum.conf
    173     sed -i 's/^gpgcheck=.*$/gpgcheck=0/g' /etc/yum.conf
    174     sed -i 's/^plugins=.*$/plugins=0/g' /etc/yum.conf
    175     sed -i 's/^enabled=.*$/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf
    176     
    177     mkdir -p /etc/yum.repos.d/
    178     rm -rf /etc/yum.repos.d/*
    179 
    180     echo "
    181 [base]
    182 name=Base
    183 baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
    184 enabled=1
    185 
    186 [epel]
    187 name=epel
    188 baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
    189 enabled=1
    190 
    191 [extra]
    192 name=extra
    193 baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
    194 enabled=0
    195 
    196 [docker]
    197 name=docker
    198 baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/
    199 enabled=0
    200 
    201 [svn]
    202 name=svn
    203 baseurl=http://opensource.wandisco.com/centos/7/svn-1.11/RPMS/
    204 enabled=0
    205 
    206 [gitlab]
    207 name=gitlab-ee
    208 baseurl=https://packages.gitlab.com/gitlab/gitlab-ee/el/7/x86_64/
    209 enabled=0
    210 
    211 [intel]
    212 name=intel
    213 baseurl=https://download.01.org/QAT/repo
    214 enabled=0
    215 " >/etc/yum.repos.d/CentOS-Base.repo
    216     
    217     yum clean all && yum makecache
    218     
    219     # yum -y install vim git wget mlocate net-tools doxygen tree zip bzip2 file screen lrzsz
    220     # yum -y install autoconf libtool automake gcc gcc-c++ 
    221     
    222     # centos5.4 mirrors
    223     # http://mirrors.aliyun.com/centos-vault/5.4/os/x86_64/
    224     # http://archives.fedoraproject.org/pub/archive/epel/5/x86_64/
    225     # http://mirrors.aliyun.com/centos-vault/5.4/extras/x86_64/
    226     # http://mirrors.aliyun.com/centos-vault/5.4/centosplus/x86_64/
    227     # http://mirrors.aliyun.com/centos-vault/5.4/updates/x86_64/
    228     # http://opensource.wandisco.com/centos/5/svn-1.9/RPMS/
    229 }
    230 
    231 echo -n "[INFO] Are you sure to excute this script now?[yes/no]: "
    232 yesnoinput
    233 
    234 if [ "$?" -ne 0 ]; then
    235     echo "Exit script!"
    236     exit 1
    237 fi
    238 
    239 iptablesconfig
    240 systemconfig
    241 vimconfig
    242 gitconfig
    243 yumconfig
  • 相关阅读:
    作业五:团队项目——项目启动及需求分析
    结对编程项目---四则运算
    PSP记录个人项目耗时情况
    代码复查
    是否需要有代码规范?
    编写一个能自动生成小学四则运算题目的程序。
    目前流行的源程序版本管理软件和项目管理软件的优缺点
    在Github注册账户
    浏览完整部教材,列出不懂的5-10个问题
    FZU 1683 纪念SlingShot(矩阵水)
  • 原文地址:https://www.cnblogs.com/chenshengkai/p/13823953.html
Copyright © 2011-2022 走看看