NixOS 24.05 (Uakari) 發布,輕鬆升級指南! NixOS 以其簡便的升級流程而聞名,本教程將逐步指導您如何將NixOS 升級到最新版本,確保系統穩定性和可靠性。
我們將演示如何將NixOS 23.11 (Tapir) 升級到24.05 (Uakari)。我的NixOS 23.11 版本信息如下:
1 | <code>$ cat /etc/os-release BUG_REPORT_URL= "https://github.com/NixOS/nixpkgs/issues" BUILD_ID= "23.11.5541.56528ee42526" DOCUMENTATION_URL= "https://nixos.org/learn.html" HOME_URL= "https://nixos.org/" ID=nixos LOGO= "nix-snowflake" NAME=NixOS PRETTY_NAME= "NixOS 23.11 (Tapir)" SUPPORT_END= "2024-06-30" SUPPORT_URL= "https://nixos.org/community.html" VERSION= "23.11 (Tapir)" VERSION_CODENAME=tapir VERSION_ID= "23.11" </code>
|
登入後複製
![How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]](https://img.php.cn/upload/article/000/000/000/174218185245864.jpg)
目錄
- 數據備份
- 更新NixOS 頻道
- 從NixOS 23.11 升級到24.05
- 升級到NixOS 不穩定版本
- 自動升級
- 總結
數據備份
無論使用什麼操作系統,第一步都是備份重要數據。
更新NixOS 頻道
NixOS 升級的核心是“頻道”的概念。頻道是精心整理的資源庫,分發Nix 表達式及其關聯的二進製文件,經過嚴格測試和構建,以確保無縫體驗。可用的頻道包括:
-
穩定頻道(例如,nixos-24.05):這些頻道接收保守的錯誤修復和軟件包升級,例如從6.1 到6.2 的次要內核更新,確保穩定可靠的體驗。
- 不穩定頻道(nixos-unstable ):對於尋求最新功能的用戶,此頻道反映NixOS 的活躍開發分支,提供最新的尖端功能和更新,但可能存在不穩定性。
-
精簡頻道(例如,nixos-24.05-small):與常規版本相同,但預構建的二進制軟件包較少,這些頻道非常適合服務器環境,在發布關鍵安全補丁時提供更快的更新。
有關Nix 通道用法的更多信息,請查看以下指南:
Nix 包管理器入門
從NixOS 23.11 升級到24.05
首次安裝NixOS(例如23.11)時,您會自動訂閱與安裝源對應的頻道。
要檢查當前頻道,請以root 或sudo 用戶身份運行以下命令:
1 | <code>$ sudo nix-channel --list | grep nixos nixos https:
|
登入後複製
![How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]](/static/imghw/default1.png)
如上所示,我的當前頻道是23.11,表示我使用的是NixOS 23.11。
要切換到最新版本的頻道,只需使用nix-channel --add https://channels.nixos.org/channel-name nixos
。
例如,要切換到穩定的24.05 頻道,我們使用:
1 | <code>$ sudo nix-channel --add https:
|
登入後複製
訂閱所需頻道後,升級只需運行:
1 | <code>$ sudo nixos-rebuild switch --upgrade</code>
|
登入後複製
登入後複製
此命令等效於nix-channel --update nixos; nixos-rebuild switch
,將系統無縫更新到所選頻道中的最新版本。
如果升級成功,您將看到以下輸出:
1 | <code>[...]updating GRUB 2 menu...Warning: os-prober will be executed to detect other bootable partitions.Its output will be used to detect bootable binaries on them and create new boot entries.lsblk: /dev/mapper/no*[0-9]: not a block devicelsblk: /dev/mapper/raid*[0-9]: not a block devicelsblk: /dev/mapper/disks*[0-9]: not a block deviceinstalling the GRUB 2 boot loader on /dev/sda...Installing for i386-pc platform. <strong>Installation finished. No error reported.</strong> [...]</code>
|
登入後複製
重啟您的NixOS 系統。
1 | <code>$ sudo reboot</code>
|
登入後複製
登錄到新升級的系統後,檢查其版本以驗證升級是否成功。
1 | <code>[ostechnix@nixos:~]$ cat /etc/os-release ANSI_COLOR= "1;34" BUG_REPORT_URL= "https://github.com/NixOS/nixpkgs/issues" **BUILD_ID= "24.05.803.b3b2b28c1daa" ** DOCUMENTATION_URL= "https://nixos.org/learn.html" HOME_URL= "https://nixos.org/" ID=nixos IMAGE_ID= "" IMAGE_VERSION= "" LOGO= "nix-snowflake" NAME=NixOS PRETTY_NAME= "NixOS 24.05 (Uakari)" SUPPORT_END= "2024-12-31" SUPPORT_URL= "https://nixos.org/community.html" VERSION= "24.05 (Uakari)" VERSION_CODENAME=uakari **VERSION_ID= "24.05" **</code>
|
登入後複製
![How To Upgrade NixOS 23.11 To 24.05 [Step-by-Step]](/static/imghw/default1.png)
如上輸出所示,我們已成功升級到NixOS 24.05。
升級到NixOS 不穩定版本
如果您想嘗試不穩定版本(最新版本),您可以切換到nixos-unstable
頻道並執行如上所示的升級。以下是將NixOS 升級到最新版本的步驟。
首先,使用以下命令切換到NixOS 不穩定頻道:
1 | <code>$ sudo nix-channel --add https:
|
登入後複製
此命令指示Nix 包管理器添加不穩定頻道的URL( https://channels.nixos.org/nixos-unstable
)並將其與nixos
頻道名稱關聯。
您可以使用以下命令檢查當前訂閱的頻道:
1 | <code>$ sudo nix-channel --list | grep nixos</code>
|
登入後複製
這將顯示與當前NixOS 安裝關聯的頻道URL 和名稱。
添加nixos-unstable
unstable頻道後,您可以通過運行以下命令將NixOS 安裝升級到不穩定頻道中的最新版本:
1 | <code>$ sudo nixos-rebuild switch --upgrade</code>
|
登入後複製
登入後複製
這將從不穩定頻道下載並安裝所有最新的軟件包和更新。
需要注意的是,不穩定頻道(顧名思義)包含來自NixOS 主要開發分支的最新前沿更新和更改。
雖然它提供了對最新功能和軟件包的訪問,但也可能導致不穩定性或故障。因此,通常不建議在生產系統或關鍵任務環境中使用不穩定頻道。
如果您以後想切換回穩定頻道,可以使用類似的nix-channel --add
命令,並使用所需的穩定頻道URL(例如, https://channels.nixos.org/nixos-24.05
用於NixOS 24.05 穩定頻道)。
自動升級
為了獲得最大的便利性,NixOS 提供了自動升級選項。通過將以下幾行添加到您的configuration.nix
中:
1 | <code>{ system.autoUpgrade.enable = true; system.autoUpgrade.allowReboot = true; }</code>
|
登入後複製
您將啟用nixos-upgrade.service
,它會定期檢查並應用來自您已訂閱頻道的更新。
如果allowReboot
設置為true
,則係統將在新版本包含內核、initrd 或內核模塊更改時自動重啟。
您甚至可以指定一個自定義頻道進行自動升級:
1 | <code>{ system.autoUpgrade.channel = "https://channels.nixos.org/nixos-24.05" ; }</code>
|
登入後複製
總結
使用NixOS,升級系統從未如此簡單!無論您偏好最新穩定頻道的穩定性還是不穩定頻道的最新功能,升級過程都非常簡單!
以上是如何將Nixos 23.11升級至24.05 [逐步]的詳細內容。更多資訊請關注PHP中文網其他相關文章!