1.1 背景说明 对于Linux新手,或者普通用户而言,在对Linux不熟悉的情况下,可能更多的是直接部署相关应用(业务)。 但缺乏后期维护的情况下,通常部署过程,或者运行过程中出现各种莫名其妙的问题。 通常绝大多数问题又往往的基础环境的某些配置问题,因此基于此考虑,结合本人多年Linux的经验,以及结合公有云中常见的Linux系统优化(初始化)脚本,整理了此文。 经过主要的优化过程后,Linux完成了基础环境的配置,将完成优化后的Linux当做Linux Base基线,在此之上再部署相关应用会大大奖励业务的故障性、部署的困难性。 1.2 优化说明 本文在每一项优化前新增了优化说明、优化用途等。 其主要的优化项有: 修改网卡名称 网卡配置 设置语言及主机名 创建常用目录 关闭SELinux及防火墙 优化ssh速度 关闭firewall防火墙 配置yum源 升级CentOS8内核 升级CentOS7内核 CentOS8安装常用软件 CentOS7安装常用软件 安装其他软件 配置vim环境 配置时钟同步 配置bash别名环境 CentOS7升级openssl 安装Python 3.9 配置国内pip源 pip自动补全 清理所有残留 注意: 1:本文所有优化,本人已写成脚本,自动化实现,本文拆解说明仅供学习分析交流之用。 2:优化不分先后,每一项均独立; 3:主要基于CentOS7实现。 优化 2.1 修改网卡名称 通常CentOS7、CentOS8的网卡名为ensXXX命名,而历史过往习惯为ethX,为符合经验和习惯,可通过如下方式修改: # cp -brpf /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak # rm -rf /etc/udev/rules.d/*-persistent-*.rules # # cp -brpf /etc/default/grub /etc/default/grub.bak # sed -i 's/GRUB_CMDLINE_LINUX=\"/GRUB_CMDLINE_LINUX=\"net.ifnames=0 biosdevname=0 /g' /etc/default/grub # grub2-mkconfig -o /boot/grub2/grub.cfg > /dev/null # systemctl restart NetworkManager # systemctl enable NetworkManager 2.2 配置静态IP 2.2.1 CentOS6配置静态IP 对于CentOS6配置静态IP,可直接vi修改网卡配置文件,主要配置参数如下: # vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=172.24.8.134 PREFIX=24 GATEWAY=172.24.8.2 DNS1=223.5.5.5 DNS2=223.6.6.6 DEFROUTE=yes #IPV4_FAILURE_FATAL=no #IPV6INIT=yes #IPV6_AUTOCONF=yes #IPV6_DEFROUTE=yes #IPV6_FAILURE_FATAL=no #IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth1 DEVICE=eth1 ONBOOT=yes 2.2.2 CentOS7配置静态IP 对于CentOS7配置静态IP,不推荐直接修改if-eth0网卡配置文件参数,最佳实践为使用nmcli命令进行配置: # nmcli connection add connection.autoconnect yes autoconnect yes ipv4.method manual con-name eth0 ifname eth0 ipv4.addresses 172.16.10.172/24 ipv4.dns 223.5.5.5 type ethernet mtu 1452 ipv4.gateway 172.16.10.1 # nmcli c reload eth0 # nmcli c up eth0 2.3 设置语言及主机名 在有时候需要设置主机名及系统语言。 # hostnamectl set-hostname imxhy #设置主机名 # localectl set-locale LANG=zh_CN.utf8 #设置为中文 # localectl set-locale LANG=en_US.UTF-8 #设置为英文 2.4 创建常用目录 部分目录系统不自带,但为了后续维护和管理方便,建议独立创建进行区分。 # mkdir -p /etc/yum.repos.d/backup # mkdir -p /mnt/cdrom # mkdir -p /media/cdrom 2.5 关闭SELinux及防火墙 关闭SELinux加强及防火墙。 # cp -brpf /etc/selinux/config /etc/selinux/config.bak # sed -i 's/=enforcing/=disabled/g' /etc/selinux/config # # systemctl disable firewalld --now 提示:我个人其实喜欢保留防火墙以及SELinux,但不得不说为了研究SELinux,确实需要极大的精力。 2.6 优化ssh访问速度 对于某些情况,ssh登录Linux的时候,会尝试解析为DNS name,需要花费时间,可进行关闭。 # sed -i 's/^UseDNS.*/UseDNS no/' /etc/ssh/sshd_config # sed -i 's/^#UseDNS.*/UseDNS no/' /etc/ssh/sshd_config 2.7 优化yum源 这一项非常重要,通常默认的CentOS其yum源在国外,可如下修改为国内的yum源,此yum源文件为本人自行收录在个人站点上。 # mv -b /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup # mv -b /etc/yum.repos.d/*.rpmnew /etc/yum.repos.d/backup # # wget -P /etc/yum.repos.d/ # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/epel7-aliyun-ustc.repo # # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/CentOS8-Base-aliyun-ustc.repo # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/epel8-aliyun-ustc-modular.repo # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/epel8-aliyun-ustc-playground.repo # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/epel8-aliyun-ustc-testing-modular.repo # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/epel8-aliyun-ustc-testing.repo # wget -P /etc/yum.repos.d/ 提示:所有国内外常见的yum站点统计参考:常见Linux镜像站站点大全 2.8 升级内核 对于部分应用,需要升级CentOS内核,比如docker,可通过如下方式升级内核。 2.8.1 升级CentOS7内核 # rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # yum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # mv -b /etc/yum.repos.d/elrepo.repo /etc/yum.repos.d/backup # # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/elrepo7.repo # yum --disablerepo="*" --enablerepo="elrepo-kernel" install -y kernel-ml # # grub2-set-default 0 2.8.2 升级CentOS8内核 # rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # rpm --import http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-Official # yum -y install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm # mv -b /etc/yum.repos.d/elrepo.repo /etc/yum.repos.d/backup # # wget -P /etc/yum.repos.d/ http://down.linuxsb.com/myoptions/elrepo8.repo # yum --disablerepo="*" --enablerepo="elrepo-kernel" install -y kernel-ml # # grub2-set-default 0 提示:更多升级内核操作参考:CentOS升级内核 。 2.9 安装常用软件 强烈建议安装系统的时候采用Minimal方式安装,然后需要什么软件安装什么软件,如下为本人根据经验收录的常用软件,建议根据自行需要安装,各个软件的作用不再额外解释。 2.9.1 CentOS7常用软件安装 # yum -y install tar bzip2 git gcc gcc-c++ make wget openssl-devel openssh-clients bash-completion net-tools vim ntp screen lrzsz bash-completion-extras epel-release openssl tree jq curl lvm2 yum-utils zlib zlib-devel libffi-devel --skip-broken 2.9.2 CentOS8常用软件安装 # rpm --import http://mirrors.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-Official # rpm --import https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-8 # # dnf -y install tar bzip2 git gcc gcc-c++ make wget openssl-devel openssh-clients bash-completion net-tools vim chrony screen lrzsz epel-release tree jq curl lvm2 yum-utils zlib zlib-devel libffi-devel perl-Pod-Html xz unzip --skip-broken 2.10 安装其他软件 建议安装额外运维小命令,如tcping、fping命令。 # mkdir -p /usr/local/tcping/sbin # # cd /tmp # wget http://down.linuxsb.com/software/tcping-1.3.5-4-x86_64.tar.gz # tar -zxvf tcping-1.3.5-4-x86_64.tar.gz # mv usr/bin/tcping /usr/local/tcping/sbin/ # # wget http://down.linuxsb.com/software/fping-5.0.tar.gz # tar -zxvf fping-5.0.tar.gz |
标签: Python openssl 配置 log var usr etc yum repos linuxsb 出处: https://www.moonsec.com/7398.html |