Linux系统优化(以CentOS7.9为例)
CentOS7.9Linux系统安装完毕后,需要优化系统以方便后续使用。
1.添加网卡(虚拟机设置方式)
初学阶段,在Vmware中多台服务器之间需要互相通信,可以了解如何配置网卡。
<1.1>

<1.2>

2.修改配置网卡(linux系统内添加或修改方式)
linux系统中网卡存在路径 /etc/sysconfig/network-scripts/目录下
1)进入到该路径下
[root@huidou ~]# cd /etc/sysconfig/network-scripts/
2)编辑ifcfg-eth1文件
[root@huidou /etc/sysconfig/network-scripts]# vi ifcfg-eth1

3)查看
[root@huidou /etc/sysconfig/network-scripts]# ll
说明:编辑完之后该路径下会存在一个ifcfg-eth1文件

4)重启网卡生效
[root@huidou ~]# systemctl restart network
3.关闭防火墙
1)关闭防火墙
[root@huidou ~]# systemctl stop firewalld
2)关闭防火墙自启动
[root@huidou ~]# systemctl disable firewalld
4.关闭selinux
1)将关闭selinux选项写入系统配置文件中
[root@huidou ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
2)参数设置
[root@huidou ~]# setenforce 0
说明:setenforce 0 用于临时将 SELinux 切换到 Permissive(宽容)模式,在此模式下,SELinux 不会阻止违反安全策略的行为,但会记录日志,便于调试和解决权限问题(如服务启动失败)。
3)验证
[root@huidou ~]# getenforce

说明:getenforce 是 Linux 系统中用于查看 SELinux 当前执行模式的命令,返回结果为 Enforcing(强制模式)、Permissive(宽容模式)或 Disabled(禁用模式)。结果只要不是enforcing就表示关闭了。
5.配置yum源
1)防止意外,可以先备份一份yum源文件
[root@huidou ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2)将阿里云镜像站提供的针对 CentOS 7 的仓库配置文件写入系统默认存放 yum 仓库内
[root@huidou ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
说明:/etc/yum.repos.d/CentOS-Base.repo 是系统默认存放 yum 仓库配置文件的路径和文件名,这里指定的文件将被下载的内容覆盖/创建。
https://mirrors.aliyun.com/repo/Centos-7.repo 是源文件的下载地址,指向阿里云镜像站提供的针对 CentOS 7 的仓库配置文件。
3)增加epel源
[root@huidou ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
说明:EPEL源是由Fedora项目维护的第三方软件仓库,专为RHEL(Red Hat Enterprise Linux)及其衍生版(如CentOS、Scientific Linux)提供额外的开源软件包。与上面安装的yum源区别在于:EPEL源主要提供RHEL/CentOS官方仓库中未包含的软件包(如桌面工具、开发工具等),而YUM源则提供与官方发行版兼容的官方软件包。
4)查看yum源
[root@huidou ~]# yum repolist

说明:yum repolist 是 YUM 包管理器的核心命令,用于列出当前系统中所有已配置的软件仓库。列出所有已启用(enabled)和禁用(disabled)的仓库,包括官方源、第三方源(如 EPEL)和本地源。通过查看仓库状态,确认软件源是否正确配置、是否启用、是否来自阿里云镜像等。
6.安装常用工具
1)根据额外需求软件,自行删除或增加调整安装命令
[root@huidou ~]# yum install -y vim tree wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect
说明:
"vim": "文本编辑器,功能强大",
"tree": "以树状图显示目录结构",
"wget": "命令行文件下载工具",
"bash-completion": "Bash命令自动补全工具",
"bash-completion-extras": "扩展的Bash命令自动补全",
"lrzsz": "Zmodem协议的文件传输工具",
"net-tools": "网络管理工具包",
"sysstat": "系统性能监控工具",
"iotop": "实时显示进程I/O使用情况",
"iftop": "实时监控网络流量",
"htop": "交互式进程查看器",
"unzip": "文件解压工具",
"nc": "网络工具,类似telnet",
"nmap": "网络扫描工具",
"telnet": "远程登录协议",
"bc": "命令行计算器",
"psmisc": "包含pstree等系统工具",
"httpd-tools": "Apache HTTP服务器工具",
"bind-utils": "DNS工具集",
"nethogs": "按进程显示网络流量",
"expect": "自动交互式命令工具"。
7.优化ssh连接速度
1)sed命令实现SSH配置注释功能,将配置文件中一些内容注释掉,不使用。
[root@huidou ~]# sed -i '/^GSSAPIAuthentication/s@^@#@g' /etc/ssh/sshd_config
说明:快速禁用GSSAPI认证,提升SSH安全性(需重启sshd服务生效)。-i:直接修改原文件(无备份)。
2)SSH配置文件追加脚本 (由于格式问题,此处采用代码段显示)
[root@huidou ~]# cat >>/etc/ssh/sshd_config<<EOF
UseDNS no #禁用DNS解析
GSSAPIAuthentication no #关闭GSS认证
EOF
说明:通过cat命令追加配置到/etc/ssh/sshd_config,禁用DNS解析和GSSAPI认证。快速优化SSH登录性能(禁用DNS)和安全性(关闭GSSAPI)。
3)检查配置文件内容是否按预期修改正确
[root@huidou ~]# egrep '^(GSSAPIAuthentication|UseDNS)' /etc/ssh/sshd_config

4)重启 sshd 服务
[root@huidou ~]# systemctl restart sshd
说明:重新加载配置文件并启动服务
8.时间同步
1)查看系统时间
[root@huidou ~]# timedatectl status

说明:
Local time:显示的是本地时间。
Universal time:显示的是协调世界时(UTC)。
RTC time:显示的是实时时钟(RTC)的时间。
Time zone:显示的是当前时区。
Network time on:显示是否启用了网络时间同步。
NTP synchronized:显示系统时间是否与NTP服务器同步。
RTC in local TZ:显示RTC是否设置为本地时区。
DST active:显示是否启用了夏令时(Daylight Saving Time)。
2)修改时区 (如果时区正确无需执行该命令)
[root@huidou ~]# timedatectl set-timezone Asia/Shanghai
3)安装ntpdate工具
[root@huidou ~]# yum install -y ntpdate
说明:ntpdate 是一个用于从网络时间协议(NTP)服务器同步系统时间的工具。注意,ntpdate 在较新的系统中可能会被标记为过时(deprecated),并被推荐使用 chrony 或 systemd-timesyncd 等更现代的替代方案。
4)定时任务同步时间
[root@huidou ~]# crontab -e
5)进入编辑模式 (每2分钟运行一次)
*/2 * * * * /sbin/ntpdate ntp1.aliyun.com &>/dev/null复制进去并保存文件。

说明:考虑到安全和稳定性,建议使用更现代的 NTP 客户端如 chrony 替代 ntpdate 和 ntpd 请自行了解。
6)查询系统已有定时任务
[root@huidou ~]# crontab -l

9.设置命令行颜色
1)修改/etc/profile文件
[root@huidou ~]# vim /etc/profile
2)进入编辑模式,最后一行追加写入
export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$ '

3)重新加载配置文件使其生效
[root@huidou ~]# source /etc/profile
4)效果展示

说明:如果只想对自己生效修改 则 vim ~/.bashrc 或 vim ~/.bash_profile
[root@huidou ~]# vim ~/.bash_profile
10.主机名与hosts文件
1)修改hosts文件
cat >>/etc/hosts <<EOF
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.10 web04
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01
172.16.1.61 m01
EOF
说明:hosts解析(方便使用主机名进行互相访问) 如果想修改主机名
sudo hostnamectl set-hostname 新主机名
2)一键修改主机名和ip地址的脚本
2.1)注意,先创建存放脚本的目录
[root@huidou ~]# mkdir /server/scripts/
2.2)编写脚本文件
[root@huidou ~]# vim /server/scripts/change.sh
##/bin/bash
#author: huidou
#desc: change ip and hostname
#version: v7.0
#升级一些判断
#判断参数格式是否为2
[ $# -ne 2 ] && {
echo "脚本用法有误"
echo "正确姿势:$0 主机名 ip地址"
exit 1
}
#获取当前主机ip地址
ip=`hostname -I |awk '{print $1}'|sed 's#.*\.##g'`
#新的ip
ip_new=`echo $2 |sed 's#^.*\.##g'`
#新的主机名
hostname=$1
#修改ip
sed -i "s#10.0.0.$ip#10.0.0.$ip_new#g"
/etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s#172.16.1.$ip#172.16.1.$ip_new#g"
/etc/sysconfig/network-scripts/ifcfg-eth1
#重启网卡
systemctl restart network
#修改主机名
hostnamectl set-hostname $hostname

3)使用脚本修改主机名和ip
[root@huidou ~]# sh /server/scripts/change.sh 目标主机名 目标ip
[root@huidou ~]# sh /server/scripts/change.sh huidou-z 10.0.0.210
linux系统优化内容可参考其他博主贡献:
1.https://www.cnblogs.com/Johny-zhao/p/18903955
2.https://cloud.tencent.com/developer/article/2272100
时间同步优化可参考其他博主贡献:
1.https://blog.csdn.net/weixin_47897106/article/details/146604622
本文来自博客园,作者:茴豆,转载请注明原文链接:https://www.cnblogs.com/huidou-z/p/19465450

浙公网安备 33010602011771号