Skip to content

第14章:Linux系统优化

14.1 清理系统缓存、无用软件(释放磁盘空间)

清理系统缓存

  • 清理页面缓存、目录项和inode缓存

    bash
    $ sudo sync
    $ sudo echo 3 > /proc/sys/vm/drop_caches
  • 清理用户缓存

    bash
    $ rm -rf ~/.cache/*
  • 清理浏览器缓存

    • Chrome:~/.cache/google-chrome/
    • Firefox:~/.cache/mozilla/firefox/

清理无用软件

  • Ubuntu/Debian系统

    bash
    # 清理不再需要的依赖包
    $ sudo apt autoremove
    
    # 清理已下载的包文件
    $ sudo apt clean
    
    # 清理部分已下载的包文件
    $ sudo apt autoclean
  • CentOS/RHEL系统

    bash
    # 清理缓存
    $ sudo yum clean all
    
    # 清理无用的包
    $ sudo package-cleanup --oldkernels

清理日志文件

  • 清理旧日志文件

    bash
    $ sudo find /var/log -name "*.log.*" -delete
  • 压缩大日志文件

    bash
    $ sudo gzip /var/log/*.log
  • 限制日志文件大小

    • 编辑 /etc/logrotate.conf 文件配置日志轮转

清理临时文件

  • 清理/tmp目录

    bash
    $ sudo rm -rf /tmp/*
    $ sudo rm -rf /var/tmp/*
  • 设置tmp目录自动清理

    • Ubuntu/Debian:系统会自动清理
    • CentOS/RHEL:配置 /etc/cron.daily/tmpwatch

14.2 关闭无用开机自启服务(提升系统速度)

查看已启用的服务

  • 查看所有已启用的服务

    bash
    $ sudo systemctl list-enabled
  • 查看启动耗时

    bash
    $ systemd-analyze blame

禁用无用服务

  • 禁用不需要的服务
    bash
    # 禁用蓝牙服务
    $ sudo systemctl disable bluetooth
    
    # 禁用打印服务
    $ sudo systemctl disable cups
    
    # 禁用音频服务(服务器)
    $ sudo systemctl disable pulseaudio
    
    # 禁用防火墙(仅测试环境)
    $ sudo systemctl disable firewalld

常见可禁用的服务

服务名称功能适用场景
bluetooth蓝牙服务无蓝牙设备的服务器
cups打印服务无打印机的服务器
pulseaudio音频服务无音频设备的服务器
avahi-daemon网络服务发现不需要网络发现的环境
NetworkManager网络管理静态网络配置的服务器
wpa_supplicantWiFi管理无WiFi的服务器

14.3 防火墙基础配置(firewalld、ufw)

firewalld(CentOS/RHEL)

查看防火墙状态

bash
$ sudo systemctl status firewalld
$ sudo firewall-cmd --state

启动/停止/重启防火墙

bash
$ sudo systemctl start firewalld
$ sudo systemctl stop firewalld
$ sudo systemctl restart firewalld

开放端口

bash
# 开放80端口(HTTP)
$ sudo firewall-cmd --add-port=80/tcp --permanent

# 开放443端口(HTTPS)
$ sudo firewall-cmd --add-port=443/tcp --permanent

# 开放22端口(SSH)
$ sudo firewall-cmd --add-port=22/tcp --permanent

# 重新加载配置
$ sudo firewall-cmd --reload

查看已开放的端口

bash
$ sudo firewall-cmd --list-ports

ufw(Ubuntu/Debian)

查看防火墙状态

bash
$ sudo ufw status

启用/禁用防火墙

bash
$ sudo ufw enable
$ sudo ufw disable

开放端口

bash
# 开放80端口(HTTP)
$ sudo ufw allow 80/tcp

# 开放443端口(HTTPS)
$ sudo ufw allow 443/tcp

# 开放22端口(SSH)
$ sudo ufw allow 22/tcp

查看已开放的规则

bash
$ sudo ufw status verbose

防火墙配置最佳实践

  • 只开放必要的端口:根据服务需求开放相应端口
  • 使用服务名称而非端口号:如 sudo ufw allow ssh
  • 配置默认策略:默认拒绝入站连接,允许出站连接
  • 定期检查防火墙规则:确保规则符合安全要求

实战练习:系统优化

  1. 清理系统缓存:

    bash
    $ sudo sync
    $ sudo echo 3 > /proc/sys/vm/drop_caches
  2. 清理无用软件:

    • Ubuntu/Debian:
      bash
      $ sudo apt autoremove
      $ sudo apt clean
    • CentOS/RHEL:
      bash
      $ sudo yum clean all
  3. 清理临时文件:

    bash
    $ sudo rm -rf /tmp/*
    $ sudo rm -rf /var/tmp/*
  4. 查看已启用的服务:

    bash
    $ sudo systemctl list-enabled
  5. 禁用无用服务:

    bash
    $ sudo systemctl disable bluetooth
    $ sudo systemctl disable cups
  6. 配置防火墙:

    • Ubuntu/Debian:
      bash
      $ sudo ufw enable
      $ sudo ufw allow ssh
      $ sudo ufw allow http
      $ sudo ufw allow https
    • CentOS/RHEL:
      bash
      $ sudo systemctl start firewalld
      $ sudo firewall-cmd --add-port=22/tcp --permanent
      $ sudo firewall-cmd --add-port=80/tcp --permanent
      $ sudo firewall-cmd --add-port=443/tcp --permanent
      $ sudo firewall-cmd --reload
  7. 查看系统启动耗时:

    bash
    $ systemd-analyze blame

通过学习系统优化,你将能够清理系统垃圾,释放磁盘空间,关闭无用服务提升系统速度,配置防火墙提高系统安全性,使Linux系统更加高效、稳定地运行。

© 2026 编程马·菜鸟教程 版权所有