Alpine Linux系统升级简化过程
说明:本文的重点是把Alpine Linux系统升级到更新的版本,而不仅仅是更新当前版本的所有软件。
注意
虽然Alpine Linux系统升级的过程看起来比Ubuntu要简单不少,但还是要小心。还记得我就是因为Ubuntu升级失败才换成Alpine的!🤡 (见:《对Ubuntu有点忍无可忍了,把Homelab的服务器暂时换成了AlpineLinux》)
官方文章:Upgrading Alpine Linux to a new release branch - Alpine Linux。
总共分为以下几个步骤:
- 更新仓库版本
- 更新索引
- 升级所有包
- 解决冲突
- 重启
更新仓库版本
直接更新文件/etc/apk/repositories 中的版本号即可。比如:从3.23更改为3.24。
1 2 3 |
|
更新索引
直接执行以下常规命令即可:
1
|
|
升级所有包
升级之前最好最好先升级apk命令本身:
1
|
|
然后,升级所有已安装的包:
1
|
|
即便是相同的版本,上述命令也可能重新安装已存在的包。原因是:基础库musl可能有修改。
解决冲突
/etc/文件夹内的文件可能有修改,并且与新版本的默认文件可能有所不同,所以可能需要合并。但上述步骤不会自动覆盖或者解决冲突,需要手动进行。新版本的文件在同目录下,并且文件名多一个.apk-new后缀。
警告
特别注意:千万不要盲目用新版本的文件覆盖旧文件。比如
/etc/passwd大概率有你新创建的用户,如果盲目覆盖,可能导致数据丢失或者无法登录!
可以手动编辑并替换旧文件,或者使用update-conf命令操作。
update-conf -l可以列举所有新、旧版本文件列表。update-conf不带参数执行即可按提示进行冲突解决流程。
重启
上述步骤全部完成,需要重启系统可能才能应用全部的更新,并且建议立即重启。
1 2 |
|