Linux系统优化(以CentOS7.9为例)

CentOS7.9Linux系统安装完毕后,需要优化系统以方便后续使用。


1.添加网卡(虚拟机设置方式)

初学阶段,在Vmware中多台服务器之间需要互相通信,可以了解如何配置网卡。

<1.1>

image

<1.2>

image


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

image

3)查看

[root@huidou /etc/sysconfig/network-scripts]# ll

说明:编辑完之后该路径下会存在一个ifcfg-eth1文件

image

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

image

说明: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

image

说明: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

image

4)重启 sshd 服务

[root@huidou ~]# systemctl restart sshd

说明:重新加载配置文件并启动服务


8.时间同步

1)查看系统时间

[root@huidou ~]# timedatectl status

image

说明
‌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复制进去并保存文件。

image

说明:考虑到安全和稳定性,建议使用更现代的 NTP 客户端如 chrony 替代 ntpdate 和 ntpd 请自行了解。

6)查询系统已有定时任务

[root@huidou ~]# crontab -l

image


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\]]\$ '

image

3)重新加载配置文件使其生效

[root@huidou ~]# source /etc/profile

4)效果展示

image

说明:如果只想对自己生效修改 则 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

image

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

posted @ 2026-01-10 14:31  茴豆  阅读(17)  评论(0)    收藏  举报