centos6和centos7的区别和常用的简单配置优化

第一部分:centos6和centos7的对比
第二部分:centos的简单配置

1.对比文件系统

    centos6.: EXT4
        EXT4的单个文件系统的容量达到1EB,单个文件大小则达到16TB。
    centos7.:XFS
        XFS默认支持8EB减掉1字节的单个文件系统,最大支持的文件大小为9EB,最大文件系统支持18EB。

2.对比防火墙,内核版本,默认数据库

    centos6:
        防火墙:iptables
        内核版本:2.6.x-x
        默认数据库:MySQL
    centos7:
        防火墙:firewalld (也可以使用iptables)
        内核版本:3.10.x-x (可以更好的支持docker)
        默认数据库:MariaDB (也可以用MySQL)

3.对比时间同步,修改时区,修改语言

    centos6:
        时间同步:ntpq -p 
        修改时区:/etc/sysconfig/clock
        修改语言: /etc/sysconfig/i18n
    centos7:
        时间同步:chronyc sources
        修改时区:timedatectl set-timezone Asia/Shanghai
        修改语言: localectl set-locale LANG=zh_CN.UTF-8
但是我基本不用,记住修改后需要重启。我常用:

# locale -a |grep CN 先查看有没有zh_CN.utf-8 没有就安装 
# yum install kde-l10n-Chinese -y ; yum groupinstall "fonts" -y
# vim /etc/locale.conf
#LANG="en_US.UTF-8"  #英文
    LANG="zh_CN.UTF-8"   #修改后的中文
# source /etc/locale.conf

4.对比主机名

    centos6.:
        配置文件在/etc/sysconfig/network 这里永久设置主机名字
    centos7.:
        配置文件在/etc/hostname (永久设置)
        hostnamectl set-hostname liych

5.对比网络服务管理

    centos6:
    service 服务名 状态
        状态:
            status
            start
            stop
            --status-all
    chkconfig:
            on 
            off
            --list

    centos7: 
    systemctl 服务名 状态
        状态:
            status
            start
            stop
            list-units
            enable
            disable
            list-units-files

6.对比网络设置

  centos6:
        网卡名字是:eth0
    centos7:
        网卡名字是:ens33 ... enp4s0f0 ... eno1 ... eno167....

7.对比网络配置的命令

   centos6:
        ifconfig 、setup 
    centos7:
        ip 、nmtui

8.对比网络的服务

    centos6:
        network
    centos7:
        networkmanager

第二部分:

1.修改centos7为eth0的网卡名字

# cd /etc/sysconfig/network-scripts/
# cp -a ifcfg-ens33 ifcfg-eth0
将网卡名字修改
    NAME=eth0
    DEVICE=eth0
修改grub配置文件
# vim /etc/defaule/grub
修改grub文件  在GRUB_CMDLINE_LINUX原有的参数后面加上"net.ifnames=0 biosdevname=0"
# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot

2.本节常用命令

    whoami #查看当前用户是谁
    su -   # 加-表示 带环境变量切换
    su root

3.添加一个普通的用户

    #useradd liych
    #passwd liych

4.centos更换yum源

    镜像源:
    搜狐:http://mirrors.sohu.com
    网易:http://mirrors.163.com
    阿里云:https://opsx.alibaba.com/mirror
    淘宝:http://npm.taobao.org

    阿里云镜像站:https://opsx.alibaba.com/mirror (这里使用阿里云提供的源,在做yum本地仓库的是也推荐使用阿里源)

使用阿里云源: CentOS 1、备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 或者 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3、之后运行yum makecache生成缓存 4、其他 非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。 用户也可自行修改相关配置: sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

5.安装必要的软件包

 yum install tree telnet dos2unix sysstat lrzsz -y

6.开机优化启动项

 将不常用的服务关闭掉:
        # systemctl list-unit-files|egrep "^ab|^aud|^kdump|vm|^md|^mic|^post|lvm"  |awk '{print $1}'|sed -r 's#(.*)#systemctl disable &#g'|bash

7.设置静态地址

    dhcp的地址总是变化,需要设置静态地址,可以不变,方便连接使用。
    配置文件路径:cd /etc/sysconfig/network-scripts/

        TYPE=Ethernet
        BOOTPROTO=none               #取消dhcp
        NAME=eth0
        DEVICE=eth0
        ONBOOT=yes                   #设置开机启动
        IPADDR=172.16.0.5            #IP地址
        NETMASK=255.255.255.0        #子网掩码
        GATEWAY=172.16.0.254         #网关
        DNS1=114.114.114.114         #DNS

8.关闭防火墙和selinux

    配置服务实验环境,建议不启用这些,必要时候需要配置防火墙。
        关闭防护墙:
            # systemctl stop firewalld
            # systemctl disable firewalld.service
            # systemctl status firewalld
        关闭selinux:
            # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
            # sestatus

9.优化VMware的SSH使其连接时候更快的连接

    当时有CRT或Xshell连接虚拟机的时候,连接的速度很慢,会卡顿。
    关闭登陆的时候客户端需要对服务器端的IP地址进行反解析。
    但是测试的是发现GSSAPIAuthentication是默认关闭的,所以可以只设置UseDNS no 就可以加速连接。

# sed  -i  '93s@GSSAPIAuthentication yes@GSSAPIAuthentication no@;129s@#UseDNS yes@UseDNS no@' /etc/ssh/sshd_config
为了避免迷惑解释下 93s和129s的示意如下:

[root@liych ~]# cat 1.txt 
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
[root@liych ~]# sed '1s@Don@123@;2s@yes@456@' 1.txt 
# 123't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts 456
[root@liych ~]# sed 's@Don@123@;s@yes@456@' 1.txt   
# 123't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts 456

10.修改主机名

# hostnamectl set-hostname liych

11.host解析

    # vim /etc/hosts
    172.16.0.5 liych

12.更改SSH配置文件


配置文件:
# vim /etc/ssh/sshd_config

虽然是# 注释了,默认的也是22端口。
#Port 22
Port 5127

更改root禁止登录
#PermitRootLogin yes  #表示远程可以Root身份登录,需要改为no,避免了,远程的root连接高风险
PermitRootLogin no

禁止空密码登录
#PermitEmptyPasswords no
PermitEmptyPasswords no

重启生效:
# /etc/init.d/sshd restart

注意这个修改后再生成远程连接的时候,需要修改原配置为新配置即可。
命令集合:

Port 5127
PermitRootLogin no
PermitEmptyPasswords no
GSSAPIAuthentication no
UseDNS no

13.sudo 控制非root用户使用命令visudo


控制普通用户的命令使用权,visudo后续详细解释。
visudo相当于更改、/etc/sudoers

用户     授权角色的权限    命令 
#liych   ALL=(ALL)       NOPASSWD:ALL       #相当于liych拥有root的权限
# 也可以使用%用户组
命令集合:

# visudo
# 添加授权的命令,多个命令用逗号分开
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
liych   ALL=(ALL)       /usr/sbin/useradd   #拥有useradd的权限

#普通用户使用时:
# su liyc
# sudo useradd liych01

14.自定义命令


自定义一个命令,有的时候为了方便执行一个实时运行的状态的脚本,还需要找路径,索性就自建一个命令吧
which 可以查看到命令的路径
命令集合:

[root@liych ~]# mkdir /home/liych
[root@liych ~]# cd /home/liych/
[root@liych liych]# touch 1                             #1代表自定义命令的名字
[root@liych liych]# echo " echo 123" >/home/liych/1     #要执行1命令后的结果是什么
[root@liych liych]# PATH=/home/liych/:$PATH             #加入到环境变量内,原来的环境变量也同时加入;临时生效
[root@liych liych]# 1                                   #执行1命令后,返回命令结果
123
# 以下命名是永久生效,无论是重启后,也会生效;
# 注意使用单引号做引用,强引用。
[root@liych liych]# echo 'PATH="/home/liych/:$PATH"' >> /etc/profile
[root@liych liych]# source /etc/profile
[root@liych liych]# 1                                   #执行1命令后,返回命令结果
123

15.时间同步方法


第一点:需要注意本机网络通
第二点:/var/spool/cron/root #这个root 是必须的,可以使用crontab -l 查看到定时任务添加与否
# ntpdate cn.pool.ntp.org  #(生效)执行这条命令即可,后端的域名要是失效了,百度搜下时间域名即可。

# echo '*/5 * * * * /usr/sbin/ntpdate cn.pool.ntp.org >/dev/null 2>&1' >>/var/spool/cron/root
# crontab -l  #检查定时任务是否添加完成。
centos7的时间服务详见:https://www.cnblogs.com/liych/p/11747551.html

16.加大服务器文件描述符


ulimit -n 查看当前文件描述符。
文件描述符相当于创建一个文件或打开一个新文件,内核向进程返回的一个文件描述符。

# ulimit -HSn 65535  当前生效
永久生效:

[root@liych ~]# echo '* soft nofile 65535' >>/etc/security/limits.conf
[root@liych ~]# echo '* hard nofile 65535' >>/etc/security/limits.conf

17.调整内核参数


两种修改内核参数方法:
1、使用echo value方式直接追加到文件里如echo "1" >/proc/sys/net/ipv4/tcp_syn_retries,但这种方法设备重启后又会恢复为默认值
2、把参数添加到/etc/sysctl.conf中,然后执行sysctl -p使参数生效,永久生效
[root@liych ipv4]# vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000    65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384

#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
net.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max=25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=120

永久更改,重新登录后有效 
查看 tail -1 /etc/security/limits.conf 

18.使用本地yum源

    后续单独出讲

19.其他:


   1.时间:
        查看系统的开机时间:
        systemd-analyze time
        查看具体服务的运行时间:
        systemd-analyze blame 
        输出图形展示:
        # systemd-analyze plot  >system_time.svg
  2.清空版本
  > /etc/issue
  cat /dev/null >/etc/issue


 
原文地址:https://www.cnblogs.com/liych/p/11741632.html