centos6和centos7的区别和常用配置对比

时间:2021-06-16 14:17 作者:IIS7 admin

    第一部分: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