← Back
System update
Refreshes package sources, upgrades installed packages and drops unused dependencies. Warns about a pending reboot instead of taking one.
Root required
One-line run
curl -fsSL https://www.moiu.cn/scripts/system-update.sh | bashSource
#!/usr/bin/env bash
# 系统更新
#
# 刷新软件源、升级已安装的包、清掉不再需要的依赖。
# ❗ 不自动重启 —— 需要重启时只提示,把决定权留给人。
set -e
# 需要 root:下面的系统级改动都直接执行,不再逐条 sudo
if [ "$(id -u)" -ne 0 ]; then
echo '[!] 这个脚本需要 root 权限,请用 sudo 重新运行:'
echo ' curl -fsSL 脚本地址 | sudo bash'
echo ' 或已经下载到本地:sudo bash 本文件'
exit 1
fi
echo '====== 系统更新 ======'
if command -v apt-get >/dev/null 2>&1; then
echo '[*] apt-get update / upgrade ...'
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y
apt-get autoremove -y
apt-get clean
elif command -v dnf >/dev/null 2>&1; then
echo '[*] dnf upgrade ...'
dnf -y upgrade
dnf -y autoremove
elif command -v yum >/dev/null 2>&1; then
echo '[*] yum update ...'
yum -y update
else
echo '[!] 认不出包管理器(只支持 apt / dnf / yum)'
exit 1
fi
echo ''
echo '====== 完成 ======'
if [ -f /var/run/reboot-required ]; then
echo ' [!] 系统提示需要重启才能完成更新'
else
echo ' [√] 不需要重启'
fi
