如何將Alpine Linux升級到最新版本

本分步指南介紹了如何將Alpine Linux升級到最新的可用穩定版本或滾動發行版本。 信不信由你,升級Alpine Linux非常簡單,快速,簡單。

在繼續更新和升級您的Alpine Linux機器之前, 備份您的重要數據 你承受不起損失。

更新Alpine Linux

讓我們使用以下命令檢查當前安裝的Alpine Linux版本:

$ cat /etc/alpine-release 

樣本輸出:

3.8.5

檢查Alpine Linux版本

如您所見,當前安裝的Alpine Linux版本是 3.8.5。 讓我們將其升級到最新版本。 在撰寫本指南時,最新版本為 3.12

接下來,通過逐個運行以下命令來更新可用軟件包列表,並將已安裝的軟件包升級到最新的可用版本:

$ sudo apk update
$ sudo apk upgrade

或者,您可以將兩個命令合併為一個,如下所示:

$ sudo apk -U upgrade

要麼,

$ sudo apk --update-cache upgrade

好了,我們已經更新了Alpine Linux中所有已安裝的軟件包。 現在該開始升級了!

Alpine Linux有兩個版本, 穩定釋放滾動發布

首先,我們將了解如何將Alpine Linux升級到穩定版本。

1.將Alpine Linux升級到最新的穩定版本

本節說明如何從Alpine 3.xx升級到最新版本。 我假設您當前已安裝3.xx版本。

1.1。 更新Alpine Linux存儲庫

編輯 /etc/apk/repositories 使用命令文件:

$ sudo setup-apkrepos

將為您提供可用鏡子的列表和三個選擇首選鏡子的選項。 第一種選擇是從給定列表中選擇一個鏡像。

第二個選項是從列表中檢測並添加最快的鏡像。

第三種選擇是 /etc/apk/repositories 文件以更新存儲庫列表。

因為我們要升級系統,所以我們需要選擇第三個選項並修改現有存儲庫以指向新版本。

要更新存儲庫,請鍵入 e 並擊中 ENTER 鍵:

Available mirrors:
1) dl-cdn.alpinelinux.org
2) uk.alpinelinux.org
3) dl-2.alpinelinux.org
4) dl-4.alpinelinux.org
5) dl-5.alpinelinux.org
.
.
.
48) tux.rainside.sk
49) alpine.cs.nctu.edu.tw
50) mirror.ihost.md
51) mirror.ette.biz
52) mirror.lagoon.nc
53) alpinelinux.c3sl.ufpr.br

r) Add random from the above list
f) Detect and add fastest mirror from above list
e) Edit /etc/apk/repositories with text editor

Enter mirror number (1-53) or URL to add (or r/f/e/done) [f]: e

更新Alpine Linux存儲庫更新Alpine Linux存儲庫

該文件將在默認的文本編輯器中打開,即 。 如果您設定不同 $EDITOR 在你的 $PATH,它將在該編輯器中打開文件。 我的是 編輯。

這是我的原始內容 /etc/apk/repositories 文件:

https://sjc.edge.kernel.org/alpine/v3.8/main
https://sjc.edge.kernel.org/alpine/v3.8/community

更改版本號 3.8 反映到最新版本 3.12

為此,請按 "i" 進入插入模式並更新版本號(即3.12),最後按 退出 和類型 :wq 保存文件並退出。

更新版本號後,文件應如下所示:

https://sjc.edge.kernel.org/alpine/v3.12/main
https://sjc.edge.kernel.org/alpine/v3.12/community

如果您不知道確切的最新版本號,只需更換 v3.xlatest-stable 如下所示:

https://sjc.edge.kernel.org/alpine/latest-stable/main     
https://sjc.edge.kernel.org/alpine/latest-stable/community

將Alpine Linux存儲庫更改為最新的穩定版本將Alpine Linux存儲庫更改為最新的穩定版本

保存文件並退出。

退出後,存儲庫索引將自動更新。 您也可以使用以下命令手動執行此操作:

$ sudo apk update

樣本輸出:

fetch https://sjc.edge.kernel.org/alpine/latest-stable/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/latest-stable/community/x86_64/APKINDEX.tar.gz
v3.12.3-13-ga43a0bc1d0 [https://sjc.edge.kernel.org/alpine/latest-stable/main]
v3.12.3-15-ge843fbbe95 [https://sjc.edge.kernel.org/alpine/latest-stable/community]
OK: 12823 distinct packages available

1.2。 開始Alpine Linux升級

現在,運行以下命令將Alpine Linux升級到最新的可用穩定版本:

$ sudo apk upgrade --available

在這裡 --available 標誌用於強制所有軟件包升級,即使它們具有相同的版本號也是如此。

樣本輸出:

Upgrading critical system libraries and apk-tools:
(1/3) Installing libcrypto1.1 (1.1.1i-r0)
(2/3) Installing libssl1.1 (1.1.1i-r0)
(3/3) Upgrading apk-tools (2.10.1-r0 -> 2.10.5-r1)
Executing busybox-1.28.4-r3.trigger
Executing ca-certificates-20191127-r2.trigger
Continuing the upgrade transaction with new apk-tools:
(1/85) Upgrading musl (1.1.19-r11 -> 1.1.24-r10)
(2/85) Replacing acct (6.6.4-r0 -> 6.6.4-r0)
(3/85) Upgrading busybox (1.28.4-r3 -> 1.31.1-r19)
Executing busybox-1.31.1-r19.post-upgrade
(4/85) Upgrading alpine-baselayout (3.1.0-r0 -> 3.2.0-r7)
Executing alpine-baselayout-3.2.0-r7.pre-upgrade
Executing alpine-baselayout-3.2.0-r7.post-upgrade
(5/85) Upgrading openrc (0.35.5-r5 -> 0.42.1-r11)
Executing openrc-0.42.1-r11.post-upgrade
.
.
.
(80/85) Installing libidn2 (2.3.0-r0)
(81/85) Upgrading wget (1.20.3-r0 -> 1.20.3-r1)
(82/85) Purging libressl2.7-libtls (2.7.5-r0)
(83/85) Purging libssh2 (1.9.0-r1)
(84/85) Purging libressl2.7-libssl (2.7.5-r0)
(85/85) Purging libressl2.7-libcrypto (2.7.5-r0)
Executing busybox-1.31.1-r19.trigger
Executing ca-certificates-20191127-r4.trigger
Executing kmod-27-r0.trigger
Executing mkinitfs-3.4.5-r3.trigger
==> initramfs: creating /boot/initramfs-virt
Executing syslinux-6.04_pre1-r6.trigger
/boot is device /dev/sda1
OK: 165 MiB in 85 packages

將Alpine Linux升級到最新版本將Alpine Linux升級到最新版本

最後,通過運行以下命令來重新啟動所有已升級的服務並重新引導系統:

$ sudo sync
$ sudo reboot

登錄系統後,檢查Alpine Linux是否已升級到最新版本:

$ cat /etc/alpine-release 
3.12.3

檢查正在運行的內核版本:

$ uname -r
5.4.84-0-virt

顯示Alpine Linux版本和內核詳細信息顯示Alpine Linux版本和內核詳細信息

是的! 如您在以上屏幕截圖中所見,我正在運行Alpine Linux 3.12.3 內核穩定發布 5.4.84 版。

2.將Alpine Linux穩定版轉換為滾動版本

你們中有些人可能希望將Alpine Linux穩定版轉換為滾動開發版,稱為 邊緣

為此,請編輯 /etc/apk/repositories 使用命令文件:

$ sudo setup-apkrepos

類型 "e" 然後按 輸入 編輯存儲庫文件。

將版本號更改為 邊緣

https://sjc.edge.kernel.org/alpine/edge/main         
https://sjc.edge.kernel.org/alpine/edge/community   

保存文件並退出。

通過運行以下命令,更新存儲庫索引並開始從Alpine Linux穩定版本升級到滾動發布版本:

$ sudo apk upgrade --update-cache --available

要麼,

$ sudo apk upgrade -U --available

升級任務完成後,重新引導系統:

$ sudo sync
$ sudo reboot

檢查Alpine Linux版本和內核:

顯示Alpine Linux滾動發行版本和內核詳細信息顯示Alpine Linux滾動發行版本和內核詳細信息

從上面的輸出中可以看到,在編寫本指南時,最新的滾動發行版本是 3.13.0_alpha20201218 而最新的內核版本是 5.10.1

您還可以使用以下命令來檢查當前的Alpine Linux版本:

檢查Alpine Linux版本檢查Alpine Linux版本

3.從Alpine Linux 2.x升級到Alpine Linux 3.x

你們中有些人可能仍在運行Alpine Linux 2.xx版。如果是,則本部分說明如何從Alpine Linux 2.x升級到3.x最新版本。

首先,更新存儲庫並升級Alpine系統中所有已安裝的軟件包:

$ sudo apk update
$ sudo apk upgrade

下一步安裝靜態鏈接版本 busyboxapk-tools。 您應該在更新系統之前執行此操作,因為舊的 musl 版本將在 libc 更改。

$ sudo apk add busybox-static apk-tools-static

樣本輸出:

fetch https://sjc.edge.kernel.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch https://sjc.edge.kernel.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/2) Installing apk-tools-static (2.10.1-r0)
(2/2) Installing busybox-static (1.28.4-r3)
Executing busybox-1.28.4-r3.trigger
OK: 148 MiB in 80 packages

接下來修改存儲庫,如下所示 1.1。 更新Alpine Linux存儲庫 部分。

在進行實際升級之前,建議模擬升級過程以事先發現問題:

$ sudo apk.static upgrade --no-self-upgrade --available --simulate

如果沒有錯誤,請運行以下命令將Alpine Linux 2.x升級到3.x版本:

$ sudo apk.static upgrade --no-self-upgrade --available

升級過程完成後,重新啟動所有已升級的服務並重新引導系統:

$ sudo sync
$ sudo reboot

希望這可以幫助。

資源:

相關閱讀:

  • 向Alpine Linux中的用戶添加,刪除和授予Sudo特權

Alpine LinuxLinuxLinux管理Linux命令升級Alpine Linux

Sidebar