NixOS Linux: 先配置后安装的 Linux
创始人
2024-03-01 20:51:43
0

配置是成功安装 NixOS 的关键。

我用 Linux 有些年头了。在这些年里我很有幸见证了开源的发展。各色各样的发行版在安装方面的努力,也是其中的一个比较独特的部分。以前,安装 Linux 是个最好让有技术的人来干的任务。现在,只要你会装软件,你就会安装 Linux。简单,并且,不是我吹,在吸引新用户方面效果拔群。事实上安装整个 Linux 操作系统都要比 Windows 用户安装个更新看起来要快一点。

但每一次,我都喜欢看到一些不同的东西——那些可以让我体验新鲜的东西。NixOS 在这方面就做的别具一格。讲真,我原来也就把它当作另一个提供标准特性和 KDE Plasma 5 界面的 Linux 发行版。

好像也没什么不对。

下载 ISO 映像后,我启动了 VirtualBox 并用下载的镜像创建了个新的虚拟机。VM 启动后,出来的是 Bash 的登录界面,界面上指导我用空密码去登录 root 账号,以及我该如何启动 GUI 显示管理器(图 1)。

First contact

图 1: 与 NixOS 的初次接触可能不是太和谐。

“好吧”我这样想着,“打开看看吧!”

GUI 启动和运行时(KDE Plasma 5),我没找到喜闻乐见的“安装”按钮。原来,NixOS 是一个在安装前需要你配置的发行版,真有趣。那就让我们瞧瞧它是如何做到的吧!

安装前配置

你需要做的第一件事是建分区。由于 NixOS 安装程序不包含分区工具,你得用自带的 GParted (图 2)来创建一个 EXT4 分区。

图 2: 安装前对磁盘分区。

创建好分区,然后用命令 mount /dev/sdX /mnt 挂载。(请自行替换 sdX 为你新创建的分区)。

你现在需要创建一个配置文件。命令如下:

nixos-generate-config --root /mnt

上面的命令会创建两个文件(存放在目录 /mnt/etc/nixos 中):

  • configuration.nix — 默认配置文件。
  • hardware-configuration.nix — 硬件配置(无法编辑)

通过命令 nano /mnt/etc/nixos/configuration.nix 打开文件。其中有一些需要编辑的地方得注意。第一个改动便是设置启动选项。找到行:

# boot.loader.grub.device = "/dev/sda"; # 或 efi 时用 "nodev"

删除行首的 # 使该选项生效(确保 /dev/sda 与你新建的分区)。

通过配置文件,你可以设置时区和追加要安装的软件包。来看一个被注释掉的安装包的示例:

# List packages installed in system profile. To search by name, run:
# nix-env -aqP | grep wget
# environment.systemPackages = with pkgs; [
#     wget vim
# ];

如果你想要添加软件包,并在安装时安装它们,那就取消掉这段注释,并添加你需要的软件包。举个例子,比方说你要把 LibreOffice 加进去。示例详见下方:

# 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 的软件包数据库

在你把所有的软件包都添加完后,你还有件事儿需要做(如果你想要登录到桌面的话,我觉得你还得折腾下 KDE Plasma 5 桌面)。翻到配置文件的末尾并在最后的 } 符号前,追加如下内容:

services.xserver = {
    enable = true;
    displayManager.sddm.enable = true;
    desktopManager.plasma5.enable = true;
};

NixOS 官方文件 中,你能找到配置文件中更多的选项。保存并关掉配置文件。

安装

在你按照自己的需求完善好配置之后,使用命令(需要 root 权限) nixos-install。完成安装所需要的时间,会随着你加入的软件包多少有所区别。安装结束后,你可以使用命令重启系统,(重启之后)迎接你的就是 KDE Plasma 5 的登录管理界面了(图 3)。

KDE Plasma 5

图 3: KDE Plasma 5 登录管理界面

安装后

你要首先要做的两件事之一便是给 root 用户设个密码(通过输入命令 passwd 来修改默认的密码),以及添加一个标准用户。做法和其它的 Linux 发行版无二。用 root 用户登录,然后在终端输入命令:

useradd -m USER

USER 替换成你想要添加的用户名。然后通过下面的命令给用户设上密码:

passwd USER

同样的将 USER 替换成你添加的用户。

然后会有提示引导你填写并验证新密码。然后,你就能用标准用户登录 NixOS 啦。

NixOS 在你安装并运行后,你可以为系统添加新的软件包,但并非通过寻常的方式。如果你发现你需要安装些新东西,你得回到配置文件(位置就是 /etc/nixos/ ),找到之前安装时添加软件包的位置,运行以下命令(需要 root 权限):

nixos-rebuild switch

命令执行结束后,你就能使用新安装的软件包了。

Enjoy NixOS

现在,NixOS 已经带着所有你想安装的软件和 KDE Plasma 5 桌面运行起来了。要知道,你所做的不仅仅只是安装了个 Linux 发行版,关键是你自定义出来的发行版非常符合你的需求。所以好好享受你的 NixOS 吧!


via: https://www.linux.com/learn/intro-to-linux/2017/10/nixos-linux-lets-you-configure-your-os-installing

作者:JACK WALLEN 译者:martin2011qi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

asdf-vm在NixOS...
如果在NixOS上使用asdf-vm时遇到无法执行或安装软件的问题...
2024-11-11 08:01:48
在 Ubuntu 等非 N...
Nix 软件包管理器可以安装在任何 Linux 发行版上。具体方法...
2024-03-02 17:43:22
NixOS 系列 #5:如...
在发表这篇文章之前,我解释了如何为一个单用户系统 在 NixOS ...
2024-03-02 15:02:20
NixOS 系列 #4:安...
安装之后,你会发现 NixOS 与通用的 Linux 发行版有很大...
2024-03-02 14:54:01
NixOS 系列 #3:在...
NixOS 中的打包系统是它最强大的地方。Nix 软件包管理器使用...
2024-03-02 14:50:47
NixOS 系列 #2:如...
如果你可以在任何 Linux 发行版上使用 Nix 包管理器,为什...
2024-03-02 14:45:15

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...