NixOS Linux:先配置后安裝的Linux
配置是成功安裝 NixOS 的關(guān)鍵。
我用 Linux 有些年頭了。在這些年里我很有幸見證了開源的發(fā)展。各色各樣的發(fā)行版在安裝方面的努力,也是其中的一個(gè)比較獨(dú)特的部分。以前,安裝 Linux 是個(gè)***讓有技術(shù)的人來干的任務(wù)?,F(xiàn)在,只要你會(huì)裝軟件,你就會(huì)安裝 Linux。簡(jiǎn)單,并且,不是我吹,在吸引新用戶方面效果拔群。事實(shí)上安裝整個(gè) Linux 操作系統(tǒng)都要比 Windows 用戶安裝個(gè)更新看起來要快一點(diǎn)。
但每一次,我都喜歡看到一些不同的東西——那些可以讓我體驗(yàn)新鮮的東西。NixOS 在這方面就做的別具一格。講真,我原來也就把它當(dāng)作另一個(gè)提供標(biāo)準(zhǔn)特性和 KDE Plasma 5 界面的 Linux 發(fā)行版。
好像也沒什么不對(duì)。
下載 ISO 映像后,我啟動(dòng)了 VirtualBox 并用下載的鏡像創(chuàng)建了個(gè)新的虛擬機(jī)。VM 啟動(dòng)后,出來的是 Bash 的登錄界面,界面上指導(dǎo)我用空密碼去登錄 root 賬號(hào),以及我該如何啟動(dòng) GUI 顯示管理器(圖 1)。
圖 1: 與 NixOS 的初次接觸可能不是太和諧。
“好吧”我這樣想著,“打開看看吧!”
GUI 啟動(dòng)和運(yùn)行時(shí)(KDE Plasma 5),我沒找到喜聞樂見的“安裝”按鈕。原來,NixOS 是一個(gè)在安裝前需要你配置的發(fā)行版,真有趣。那就讓我們瞧瞧它是如何做到的吧!
安裝前配置
你需要做的***件事是建分區(qū)。由于 NixOS 安裝程序不包含分區(qū)工具,你得用自帶的 GParted (圖 2)來創(chuàng)建一個(gè) EXT4 分區(qū)。
圖 2: 安裝前對(duì)磁盤分區(qū)。
創(chuàng)建好分區(qū),然后用命令 mount /dev/sdX /mnt 掛載。(請(qǐng)自行替換 sdX 為你新創(chuàng)建的分區(qū))。
你現(xiàn)在需要?jiǎng)?chuàng)建一個(gè)配置文件。命令如下:
- nixos-generate-config --root /mnt
上面的命令會(huì)創(chuàng)建兩個(gè)文件(存放在目錄 /mnt/etc/nixos 中):
- configuration.nix — 默認(rèn)配置文件。
- hardware-configuration.nix — 硬件配置(無法編輯)
通過命令 nano /mnt/etc/nixos/configuration.nix 打開文件。其中有一些需要編輯的地方得注意。***個(gè)改動(dòng)便是設(shè)置啟動(dòng)選項(xiàng)。找到行:
- # boot.loader.grub.device = "/dev/sda"; # 或 efi 時(shí)用 "nodev"
刪除行首的 # 使該選項(xiàng)生效(確保 /dev/sda 與你新建的分區(qū))。
通過配置文件,你可以設(shè)置時(shí)區(qū)和追加要安裝的軟件包。來看一個(gè)被注釋掉的安裝包的示例:
- # List packages installed in system profile. To search by name, run:
- # nix-env -aqP | grep wget
- # environment.systemPackages = with pkgs; [
- # wget vim
- # ];
如果你想要添加軟件包,并在安裝時(shí)安裝它們,那就取消掉這段注釋,并添加你需要的軟件包。舉個(gè)例子,比方說你要把 LibreOffice 加進(jìn)去。示例詳見下方:
- # List packages installed in system profile. To search by name, run:
- nix-env -aqP | grep wget
- environment.systemPackages = with pkgs; [
- libreoffice wget vim
- ];
你可以通過輸入命令 nix-env -aqP | grep PACKAGENAME 來尋找確切的包名(PACKAGENAME 為你想要找的軟件包)。如果你不想輸命令,你也可以檢索 NixOS 的軟件包數(shù)據(jù)庫。
在你把所有的軟件包都添加完后,你還有件事兒需要做(如果你想要登錄到桌面的話,我覺得你還得折騰下 KDE Plasma 5 桌面)。翻到配置文件的末尾并在***的 } 符號(hào)前,追加如下內(nèi)容:
- services.xserver = {
- enable = true;
- displayManager.sddm.enable = true;
- desktopManager.plasma5.enable = true;
- };
在 NixOS 官方文件 中,你能找到配置文件中更多的選項(xiàng)。保存并關(guān)掉配置文件。
安裝
在你按照自己的需求完善好配置之后,使用命令(需要 root 權(quán)限) nixos-install。完成安裝所需要的時(shí)間,會(huì)隨著你加入的軟件包多少有所區(qū)別。安裝結(jié)束后,你可以使用命令重啟系統(tǒng),(重啟之后)迎接你的就是 KDE Plasma 5 的登錄管理界面了(圖 3)。
圖 3: KDE Plasma 5 登錄管理界面
安裝后
你要首先要做的兩件事之一便是給 root 用戶設(shè)個(gè)密碼(通過輸入命令 passwd 來修改默認(rèn)的密碼),以及添加一個(gè)標(biāo)準(zhǔn)用戶。做法和其它的 Linux 發(fā)行版無二。用 root 用戶登錄,然后在終端輸入命令:
- useradd -m USER
將 USER 替換成你想要添加的用戶名。然后通過下面的命令給用戶設(shè)上密碼:
- passwd USER
同樣的將 USER 替換成你添加的用戶。
然后會(huì)有提示引導(dǎo)你填寫并驗(yàn)證新密碼。然后,你就能用標(biāo)準(zhǔn)用戶登錄 NixOS 啦。
NixOS 在你安裝并運(yùn)行后,你可以為系統(tǒng)添加新的軟件包,但并非通過尋常的方式。如果你發(fā)現(xiàn)你需要安裝些新東西,你得回到配置文件(位置就是 /etc/nixos/ ),找到之前安裝時(shí)添加軟件包的位置,運(yùn)行以下命令(需要 root 權(quán)限):
- nixos-rebuild switch
命令執(zhí)行結(jié)束后,你就能使用新安裝的軟件包了。
Enjoy NixOS
現(xiàn)在,NixOS 已經(jīng)帶著所有你想安裝的軟件和 KDE Plasma 5 桌面運(yùn)行起來了。要知道,你所做的不僅僅只是安裝了個(gè) Linux 發(fā)行版,關(guān)鍵是你自定義出來的發(fā)行版非常符合你的需求。所以好好享受你的 NixOS 吧!