如何将Alpine Linux 3.11升级到3.12
如何将Alpine Linux v3.10升级到Alpine Linux v3.12?
如何将Alpine Linux v3.11升级到Alpine Linux v3.12?
在执行以下任何命令之前,请确保在继续更新系统之前已对重要数据进行了备份。
保持系统的完整备份很重要。
Alpine Linux是围绕musl libc和busybox构建的。
与传统的GNU/Linux发行版相比,它更小且资源效率更高。
一个容器所需的空间不超过8 MB,而最小安装到磁盘所需的存储空间约为130 MB。
您不仅可以获得成熟的Linux环境,还可以从存储库中获得大量的软件包。
升级Alpine Linux硬盘安装
Alpine Linux在设计时考虑了安全性。
内核使用grsecurity/PaX的非官方端口进行了修补,并且所有用户级二进制文件都被编译为具有堆栈粉碎保护功能的位置独立可执行文件(PIE)。
这些主动安全功能可防止利用零日漏洞和其他漏洞的整个类别。
将Alpine Linux安装到硬盘驱动器或作为LXD VM时,升级到较新的稳定版本非常简单。
如何升级Alpine Linux
将Alpine Linux安装到硬盘驱动器或云服务器时,升级到较新的稳定版本很容易:
- 编辑/etc/apk/repositories文件,运行:
vi/etc/apk/repositories
- 手动更改版本号。例如,高山3.11至3.12
- 保存并关闭文件
- 通过运行" apk update"获取最新索引
- 升级所有Alpine Linux软件包:
apk upgrade --available && sync
- 重新启动系统,运行:
reboot
让我们详细查看所有命令和示例。
备份您的LXD容器
执行以下命令来创建容器快照:
$ lxc snapshot alpine-www01 "JUN052020"
验证一下:
$ lxc info alpine-www01
输出示例:
Name: alpine-www01 Remote: unix:// Architecture: x86_64 Created: 2019/01/04 06:25 UTC Status: Running Type: persistent Profiles: default Pid: 28917 Ips: lo: inet 127.0.0.1 lo: inet6 ::1 eth0: inet 10.105.28.45 vethJ4APTV eth0: inet6 fe80::216:3eff:fee6:6afa vethJ4APTV Resources: Processes: 34 CPU usage: CPU usage (in seconds): 3 Memory usage: Memory (current): 201.15MB Memory (peak): 203.21MB Network usage: eth0: Bytes received: 87.31kB Bytes sent: 435.99kB Packets received: 384 Packets sent: 333 lo: Bytes received: 17.74kB Bytes sent: 17.74kB Packets received: 30 Packets sent: 30 Snapshots: Feb-03-2019 (taken at 2019/02/02 18:38 UTC) (stateless) mar-04-2019 (taken at 2019/03/04 16:23 UTC) (stateless) may-04-2019 (taken at 2019/05/03 21:56 UTC) (stateless) June-21-2019 (taken at 2019/06/20 19:58 UTC) (stateless) June-24-2019 (taken at 2019/06/23 20:29 UTC) (stateless) DEC232019 (taken at 2019/12/23 18:20 UTC) (stateless) JUN052020 (taken at 2020/06/05 10:45 UTC) (stateless)
现在,使用ssh命令或lxc命令登录到您的Alpine Linux box/LXD VM。
找出您的Alpine Linux版本
执行以下命令:
$ cat /etc/alpine-release `3.11.6`
应用3.11.xx的所有待处理更新
只需运行apk命令:
# apk update # apk upgrade
如何升级到最新版本
编辑/etc/apk/repositories文件,执行:
# vi /etc/apk/repositories
手动更改版本号。
例如," 3.4"的默认条目如下:
http://dl-3.alpinelinux.org/alpine/v3.4/main
要更新到3.5.xx,请执行:
http://dl-3.alpinelinux.org/alpine/v3.5/main
手动更改版本号。
例如," 3.5"的默认条目如下:
http://dl-3.alpinelinux.org/alpine/v3.5/main
要更新到3.5.xx,请执行:
http://dl-3.alpinelinux.org/alpine/v3.6/main
例如,3.11.xx如下:
http://dl-cdn.alpinelinux.org/alpine/v3.11/main
因此,请按照以下步骤进行" 3.12.xx"升级,请执行:
http://dl-cdn.alpinelinux.org/alpine/v3.12/main
保存并关闭文件。
这是我使用cat命令显示的示例配置文件:
# cat /etc/apk/repositories
输出示例:
http://dl-cdn.alpinelinux.org/alpine/v3.12/main http://dl-cdn.alpinelinux.org/alpine/v3.12/community
接下来,使用apk命令获取最新索引:
# apk update
输出示例:
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz v3.12.0-45-g0e4d4e3558 [http://dl-cdn.alpinelinux.org/alpine/v3.12/main] v3.12.0-47-gda1c1b9ae4 [http://dl-cdn.alpinelinux.org/alpine/v3.12/community] OK: 12830 distinct packages available
要升级所有软件包,请运行apk命令:
# apk upgrade --available
或者
# apk upgrade --purge
重新启动服务器/VM容器:
# sync # reboot
验证一下:
$ cat /etc/alpine-release `3.12.0`
另一种选择是查询/etc/issue
:
# cat /etc/issue
Welcome to Alpine Linux 3.12 Kernel \r on an \m (\l)