4.3 软件包管理与计划任务

4.3 Linux 软件包管理与计划任务

一、Linux 软件包管理基础

Linux 通过软件包管理器完成软件安装、升级、卸载与依赖管理。

不同发行版使用不同的软件包格式与工具:

发行版 包格式 管理工具
CentOS / RHEL rpm yum / dnf
Debian / Ubuntu deb apt
openSUSE rpm zypper

二、RPM 系软件包管理

CentOS、Rocky Linux、AlmaLinux、RHEL 等使用 RPM 包管理体系。


2.1 yum 与 dnf

  • yum:CentOS 7 常用
  • dnf:CentOS 8+ 与新版本 RHEL 默认工具

dnf 兼容 yum 命令,依赖处理与性能更好。


2.2 常用软件包命令

搜索软件包

id
1
yum search nginx

查看软件信息

id
1
yum info nginx

安装软件

id
1
yum install nginx -y

更新软件

id
1
2
3
4
5
# 更新指定软件
yum update nginx

# 更新所有软件包
yum update

卸载软件

id
1
yum remove nginx

查看已安装软件

id
1
yum list installed

配合过滤:

id
1
yum list installed | grep nginx

查询文件属于哪个软件包

id
1
yum provides /etc/nginx/nginx.conf

三、APT 软件包管理

Debian 与 Ubuntu 使用 apt


3.1 常用 apt 命令

更新软件索引

id
1
apt update

安装软件

id
1
apt install nginx -y

升级软件

id
1
apt upgrade

卸载软件

id
1
apt remove nginx

搜索软件

id
1
apt search nginx

四、仓库管理

软件仓库(Repository)用于提供软件包来源。


4.1 查看仓库

RPM 系

id
1
yum repolist

仓库配置目录

id
1
ls /etc/yum.repos.d/

4.2 安装 EPEL 仓库

EPEL 提供大量额外软件。

id
1
yum install epel-release -y

4.3 软件源配置说明

常见国内镜像源:

  • 阿里云
  • 清华大学
  • 腾讯云
  • 华为云

更换镜像源通常可提升下载速度。


五、RPM 包管理

除了 yum/dnf,还可以直接使用 rpm。


5.1 安装 RPM 包

id
1
rpm -ivh package.rpm

参数说明:

参数 含义
i 安装
v 显示详细信息
h 显示进度

5.2 查看已安装 RPM

id
1
rpm -qa

5.3 查询软件信息

id
1
rpm -qi nginx

六、源码编译安装

部分软件需要源码编译。

常见流程:

id
1
2
3
4
5
6
7
8
9
10
11
wget http://example.com/software.tar.gz

tar -xzvf software.tar.gz

cd software

./configure --prefix=/usr/local

make

make install

6.1 编译流程说明

命令 作用
configure 检查环境与生成 Makefile
make 编译源码
make install 安装程序

源码安装灵活,但维护成本较高。


七、计划任务 cron

cron 是 Linux 定时任务服务,用于周期性执行命令或脚本。

常见用途:

  • 自动备份
  • 日志清理
  • 定时同步
  • 定时重启服务
  • 自动化运维脚本

八、crontab 基础

8.1 用户级计划任务

编辑任务

id
1
crontab -e

查看任务

id
1
crontab -l

删除任务

id
1
crontab -r

九、cron 时间格式

id
1
分 时 日 月 周 命令

对应:

id
1
0-59 0-23 1-31 1-12 0-7

其中:

  • 07 都表示周日

9.1 常用表达式

表达式 含义
* 任意值
*/5 每 5 次
1,3,5 指定多个值
1-5 范围

十、cron 示例

每天凌晨执行脚本

id
1
30 2 * * * /root/backup.sh

每 10 分钟执行一次

id
1
*/10 * * * * /usr/bin/date

每月清理日志

id
1
0 0 1 * * find /var/log -name "*.log" -mtime +30 -delete

每小时第 5 分钟执行

id
1
5 * * * * command

十一、系统级 cron

Linux 提供系统级计划任务目录。

目录 作用
/etc/crontab 主配置文件
/etc/cron.d/ 额外任务配置
/etc/cron.hourly/ 每小时执行
/etc/cron.daily/ 每天执行
/etc/cron.weekly/ 每周执行
/etc/cron.monthly/ 每月执行

十二、cron 日志查看

查看任务执行日志:

id
1
tail -f /var/log/cron

Ubuntu/Debian 常见日志位置:

id
1
/var/log/syslog

十三、常见运维场景

安装 nginx

CentOS

id
1
yum install nginx -y

Ubuntu

id
1
apt install nginx -y

设置定时备份

id
1
0 2 * * * /root/backup.sh

定时清理日志

id
1
0 0 * * 0 find /var/log -name "*.log" -mtime +30 -delete

十四、总结

模块 核心内容
yum / dnf RPM 系软件管理
apt Debian 系软件管理
rpm 底层 RPM 管理
cron 定时任务系统
crontab 用户计划任务

Linux 软件包管理与计划任务是自动化运维基础,主要用于:

  • 软件部署
  • 系统更新
  • 自动化维护
  • 周期性任务执行
  • 服务器日常运维

4.3 软件包管理与计划任务
https://blog.sh462li.top/2026/05/28/4.3 软件包管理与计划任务/
作者
SHAO
发布于
2026年5月28日
许可协议