如何使用 znx 安裝 Nitrux OS?
我想查看Nitrux,它可以使用(how-to here) “部署” 。
znx
znx
在 Fedora 中似乎無法正確打開,所以我想使用終端進行部署。操作方法說我應該將它安裝在至少 4 GB 的分區上。我的電腦上有一個大的空閒分區,大約 200 GB。如果我將 Nitrux 部署在那個分區上,你知道它是否會使用整個分區嗎?還是會
znx
分配 4 GB 的那個分區,讓我使用其餘的?
注意:以下資訊僅適用於包含或支持 znx 的 ISO 映像,與使用 Calamares 等傳統安裝程序的 ISO 文件無關。
我想查看 Nitrux,您可以使用 znx 部署它(如何在此處)。
你可以用不同的方式來解決這個問題。您可以使用整個磁碟或重用現有的根分區(只要文件系統是 Btrfs)。分區是空的還是已經被後者使用並不重要。
假設您決定使用整個磁碟。在這種情況下,您可以下載 ISO,將其快閃記憶體到 USB(不要將其刻錄到光學介質),啟動 Live USB,然後使用 znx 初始化並將分發部署到內部或外部設備。ISO已經包含 znx。
如果您決定重用現有分區,您可以查看我們的教程“將 znx 與現有作業系統集成”以了解詳細步驟。在這種情況下,您需要下載 znx。
但是,我要強調的是,您閱讀了常見問題解答以了解總體分發目標。有關 znx 的具體資訊,您可以在我們的部落格上閱讀這些文章。
由於您的電腦上已經安裝了一個發行版,在您的情況下,Fedora,您需要下載 znx AppImage 文件並按照**集成教程**中的步驟進行操作。
我們將 znx 作為AppImage分發,因此不涉及安裝(即,使用包管理器)。Nitrux 也沒有涉及“安裝”(在這種情況下,正確的術語是部署;我們在常見問題解答中解釋了差異)。
引用常見問題解答:
在我們的例子中部署作業系統意味著您將ISO 文件作為單個文件複製到儲存設備,並使用 OverlayFS 在儲存設備上啟用持久性,而不是**提取其內容並在儲存設備上創建標準目錄樹;這就是為什麼我們更願意說 Nitrux 不進行標準安裝的原因。
換句話說,Nitrux 進行了節儉的安裝(作業系統文件僅儲存在目錄中的幾個文件中,而不是分散在驅動器分區上)。
“節儉的安裝只佔用一個分區中的一個文件夾,分區的其餘部分可以用於其他任何東西。例如,其他 Linux 發行版。” 同時,傳統的 Linux 發行版會進行完整安裝,“完整安裝是 Linux 佔據整個分區,在該分區中您將看到文件夾 /bin、/sbin、/opt、/etc/、/sys、/proc、 /tmp、/dev、/usr、/run、/lib 等等。”
安裝程序,例如 Ubiquity、Calamares (KPM Core)、Anaconda 和所有其他安裝程序
$$ … $$提取 ISO 內的 SquashFS 文件的內容並將內容放在儲存設備的分區上。 這就是為什麼我們不提到 znx“安裝”作業系統的原因。相反,我們使用部署這個詞。因為 znx 沒有從 ISO 中提取 SquashFS 文件,它直接引導 ISO,並且使用 OverlayFS 將數據保存在儲存設備上。
下載 AppImage 後,您必須使其可執行;然後,您可以使用
sudo
.sudo chmod +x znx.AppImage
- 或者,您可以將其移動到,
/usr/bin/
這樣您就不必鍵入./
即可執行 AppImage,並且您可以在任何地方使用它。sudo mv znx.AppImage /usr/bin/znx
了解 znx 是一個 CLI 程序很重要。它沒有圖形界面,因此點擊 AppImage 文件不會打開視窗。
- 一旦它成為執行檔,您就可以使用它
sudo znx --help
來顯示幫助。- 您需要使用正確的語法鍵入 znx 的命令和參數,如幫助顯示中的範例。
Usage: znx [options] <command> [command_args] Options: -h, --help Print this help. -v, --version Print the commit hash that generated this binary. -d, --debug Enable debugging messages. -y, --no-confirm Autoconfirm dangerous operations. Conventions: <device>: A block device file name. e.g.: /dev/sdxN, /dev/sdb. <image>: Must match the regular expression: '^\w+/\w+$'. This means that letters, numbers and underscores are allowed on both sides of a slash. No other characters are allowed. <origin>: Can be a URL or a path pointing to an ISO image, or a directory path. The latter may be useful for deploying images from within a live session. Commands: init <device> Initialize <device>. fix-esp <device> Restore the ESP (EFI System Partition) of <device>. deploy [-k] <device> <image> <origin> Deploy <image> on <device> from <origin>. The '-k' flag serves to bypass SSL certificate checking. rename <device> <old_name> <new_name> Rename image <old_name> to <new_name>. update <device> <image> Update <image>. check-update <device> <image> Check if an update for <image> is available. rollback <device> <image> Revert an update. reset <device> <image> Delete all user data on <image>. clean <device> <image> Remove the backup that is created during an update. remove <device> <image> Remove <image> and all associated data from <device>. status <device> <image> Show information about <image>. list <device> List the deployed images on <device>.
集成教程的要點如下。
您需要下載並解壓 znx AppImage。
/usr/lib/grub/x86_64-efi/btrfs.mod
您需要在 Fedora 中安裝包含該文件的軟體包,即grub2-efi-x64-modules
.您需要創建或刪除目錄的內容
/boot/efi/boot/grub
。您需要將文件
grub.cfg
和目錄themes
從 AppImage 複製到/boot/efi/boot/grub
.您需要將目錄重命名
/boot/efi/EFI/BOOT
為/boot/efi/EFI/boot
並刪除其內容。您需要將文件
bootx64.efi
從 AppImage 複製到/boot/efi/EFI/boot
.您需要添加一個 EFI 引導條目(不是 GRUB 引導條目)來載入 znx 引導載入程序文件。
/dev/sdx
用您的 ESP 分區的設備替換(例如/dev/sdc
)。
efibootmgr -c -d /dev/sdx -p 1 -L "znx" -l "\EFI\boot\bootx64.efi"
您需要更改 ESP 和根分區的分區標籤。您可以從終端或使用 GParted(或類似工具)執行此操作。
替換
/dev/sdxN
為您的分區(例如/dev/sdc1
)。
fatlabel /dev/sdxN ZNX_BOOT
btrfs filesystem label /dev/sdxN ZNX_DATA
您可以部署ISO 並測試 znx 的功能。znx 支持本地和遠端文件,我們將使用遠端文件。
- 用您的根分區
/dev/sdx
的設備替換(例如/dev/sdc
)。[deployment_name]
可以是字母數字字元的任意組合,即 abc/123、ABC/123、123/ABC、1A2B/3C4D 等。請確保不要使用空格或連字元。sudo znx /dev/sdx [deployment_name] http://updates.nxos.org/nitrux-OTA-latest-amd64.iso
如教程中所述,要啟動到使用 znx 部署的 ISO,您必須使用 EFI 啟動菜單而不是GRUB 菜單。了解其中的區別很重要。
另一方面,請按照以下步驟使用整個磁碟。
- 無論您選擇將 ISO 快閃記憶體到 USB 還是從另一個發行版(已安裝或未安裝)執行 znx 並想使用另一個磁碟,步驟都是相同的。
首先,初始化設備。這將擦除設備,因為 znx 將創建一個新的分區表和分區。在本例中,此任務的命令語法為
znx [command] [path_to_target_device]
.
更換
/dev/sdx
設備(例如/dev/sda
)。
- 注意:SATA 和 USB 儲存設備命名為
/dev/sdx
,NVME 設備命名為/dev/nvmeXnY
,其中 X 為埠,Y 為設備。sudo znx init /dev/sdx
然後,繼續部署 Nitrux。在本例中,此任務的命令語法為
znx [command] [path_to_target_device] [deployment_name] [path_to_file]
. znx 支持本地和遠端文件。我們將使用遠端文件。
[deployment_name]
可以是字母數字字元的任意組合,即 abc/123、ABC/123、123/ABC、1A2B/3C4D 等。請確保不要使用空格或連字元。sudo znx deploy /dev/sdx nitrux/release http://updates.nxos.org/nitrux-OTA-latest-amd64.iso
就是這樣。重新啟動並選擇要啟動到 Nitrux 的驅動器。
不,Nitrux 不會使用整個分區:
要使用 znx,您必須做的第一件事是初始化設備。znx 將擦除設備並在其上創建一個新的 GPT 分區表,其中包含兩個分區。其中一個分區儲存引導載入程序數據,而另一個儲存使用者數據(包括圖像)。然後,這些分區分別使用 FAT32 和 BTRFS 文件系統進行格式化。之後,znx 在兩個分區上創建一些目錄,並將一些文件複製到引導分區。完成這些操作後,設備就被視為已初始化。
此外…
圖像儲存在數據分區的 /boot_images 目錄中。在該目錄中,將創建與圖像名稱匹配的子目錄層次結構。因此,例如,當您部署 your_distro/rolling 時,會在數據分區中創建目錄 /boot_images/your_distro/rolling。然後,圖像儲存在該目錄中。
Nitrux 推薦的 4G 不是針對分區,而是針對整個設備;這個非常重要。
znx
基本上接管了整個磁碟,如上面第一個引用中所述。也許你可以讓它與你的 200GB 分區一起工作,但這不是 znx 文件描述它的方式。您可以在 znx Wiki中閱讀詳細內容。