在 Debian 12 (Bookworm) 系统中,更新系统非常简单,一般分为 更新软件包索引 和 升级已安装软件 两个步骤。以下是详细方法:


🔹 一、更新系统的软件源索引

先让系统知道有哪些软件包有新版本:

sudo apt update

这一步会连接到 Debian 的软件源服务器,更新本地软件包列表。


🔹 二、升级系统软件

1. 升级已安装的软件(常规更新)

sudo apt upgrade -y

  • 只会升级已有软件,不会删除包,也不会安装需要新依赖的软件。
  • 适合日常更新。

2. 完整升级(推荐)

sudo apt full-upgrade -y

  • 除了更新已有软件,还会自动安装/删除软件,以保证依赖关系正常。
  • 一般推荐每隔一段时间执行一次。

🔹 三、升级系统内核和清理无用包

1. 更新内核(会随着系统更新自动升级)

sudo apt full-upgrade -y

2. 清理不再需要的软件包

sudo apt autoremove -y
sudo apt clean


🔹 四、重启生效(特别是内核升级后)

sudo reboot


🔹 五、一步到位的更新命令

如果你想要 一行命令完成所有更新

sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y


✅ 总结:

  • apt update → 更新软件包索引
  • apt upgrade → 升级已安装软件(不涉及新依赖)
  • apt full-upgrade → 完整升级,可能安装/删除包
  • apt autoremove → 清理不需要的软件

好的 👍 我帮你写一个 Debian 12 自动更新脚本,带日志记录,还可以选配邮件提醒,适合放到 cron 定时任务里。


🔹 自动更新脚本

保存为 /usr/local/bin/auto_update.sh

#!/bin/bash
#
# Debian 12 自动更新脚本
# 日志路径: /var/log/auto_update.log

LOGFILE="/var/log/auto_update.log"
DATE=$(date "+%Y-%m-%d %H:%M:%S")

echo "======================" >> $LOGFILE
echo "$DATE 开始执行系统更新..." >> $LOGFILE

# 更新软件包索引
apt update >> $LOGFILE 2>&1

# 完整升级
apt full-upgrade -y >> $LOGFILE 2>&1

# 自动清理无用包
apt autoremove -y >> $LOGFILE 2>&1
apt clean >> $LOGFILE 2>&1

echo "$DATE 系统更新完成!" >> $LOGFILE
echo "======================" >> $LOGFILE


🔹 给脚本加执行权限

sudo chmod +x /usr/local/bin/auto_update.sh


🔹 设置定时任务(每天凌晨 3 点执行)

编辑 cron

sudo crontab -e

添加:

0 3 * * * /usr/local/bin/auto_update.sh


🔹 (可选)邮件提醒功能

如果你想更新完收到邮件,可以在脚本最后加上:

# 如果安装了 mailutils,则发送邮件通知
if command -v mail >/dev/null 2>&1; then
    tail -n 20 $LOGFILE | mail -s "Debian 12 系统更新完成通知" your_email@example.com
fi

需要先安装:

sudo apt install mailutils -y


✅ 这样你的 Debian 12 就能 自动更新,有日志记录,还可以 发邮件提醒