apt update 必须先运行以更新本地软件源索引,否则 apt install 可能失败或安装旧版本;它只下载元数据不修改系统,而 apt upgrade 才执行实际升级。

apt update 为什么总要先跑一遍?
不跑 apt update 就直接 apt install,大概率装不上新包、或装成旧版本——因为本地的软件源索引还是上周甚至上个月的。apt 不像 pip 那样每次查远程,它依赖本地缓存的 Packages 文件,而这个文件只在 apt update 时刷新。
- 常见错误现象:
E: Unable to locate package xxx,但其实源里早就有,只是你没更新索引 - 不是所有场景都必须立刻
apt update:比如刚重装系统、或确定源没变过,可跳过;但 CI 脚本、Dockerfile 里建议始终加上,避免环境漂移 -
apt update不改系统,只下载元数据;apt upgrade才真正安装更新,两者别混淆 - 国内用户如果用默认源,可能卡在
Hit: https://archive.ubuntu.com/... Release半小时不动——换清华、阿里云源能明显提速
apt install 时怎么避免“顺手升级一堆无关包”?
apt install 默认会自动解决依赖,并可能把已有包也一并升级(尤其当依赖要求更高版本时)。这不是 bug,是设计行为,但容易在生产机上引发意外变更。
51shop 由 PHP 语言开发, 使用快速的 MySQL 数据库保存数据 ,为中小型网站实现网上电子商务提供一个完美的解决方案.一、用户模块1. 用户注册:用户信息包括:用户ID、用户名、用户密码、性别、邮箱、省份、城市、 联系电话等信息,用户注册后不能立即使用,需由管理员激活账号,才可使用(此功能管理员可设置)2. 登录功能3. 资料修改:用户可修改除账号以后的所有资料4. 忘记密码:要求用
- 加
--no-upgrade参数可禁止升级已安装包,只装目标及其未满足的依赖 - 想彻底锁死环境?用
apt install --no-install-recommends xxx,跳过推荐包(比如装nginx时不顺带装geoip-database) - 注意
apt install和apt-get install在参数支持上略有差异:--no-upgrade在较新 apt(2.0+)才稳定,老系统建议用apt-get+-o APT::Get::Upgrade-Only=true - 误操作后想回退?
apt list --upgradable查出哪些被标记升级了,再用apt install xxx=old_version锁定版本
遇到 “dpkg was interrupted” 错误怎么办?
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 这个错误不是 apt 坏了,而是上次安装/卸载被强制中断(比如 Ctrl+C、断电、SSH 断连),导致 dpkg 的状态文件残留锁。
- 直接按提示跑
sudo dpkg --configure -a,90% 情况下就能继续 - 如果报
dpkg: error processing package xxx (--configure),说明某个包配置脚本失败;先看日志:cat /var/log/dpkg.log | tail -20,重点找error或failed - 别急着删
/var/lib/dpkg/updates/下的临时文件——那是 dpkg 自己管理的,乱删会导致包数据库损坏 - 极端情况(比如磁盘满导致中断),先清理空间再重试,否则
dpkg --configure -a仍会失败
如何安全地降级一个已安装的包?
Ubuntu/Debian 默认不鼓励降级,因为依赖关系可能断裂。但调试兼容性问题时,有时真得退回旧版 curl 或 openssl。
- 先查可用版本:
apt list -a curl(注意输出里的installed和all标记) - 确认来源:
apt policy curl看当前安装源和候选版本,避免从不同源混装引发冲突 - 执行降级:
sudo apt install curl=7.68.0-1ubuntu2.20(版本号必须完全匹配apt list -a输出) - 关键一步:锁定版本,防止下次
apt upgrade又升回去:sudo apt-mark hold curl - 降级后如果依赖其他包也得跟着倒退,
apt会明确提示;这时要么一起降,要么考虑用dpkg -i xxx.deb手动装(风险更高,需自行处理依赖)
apt-mark hold ——这三处出问题,往往比装错包更难排查。









