TranslateProject/published/202303/20230313.2 ⭐️⭐️ NixOS Series 4 Things To Do After Installing NixOS.md

354 lines
10 KiB
Markdown
Raw Normal View History

[#]: subject: "NixOS Series #4: Things To Do After Installing NixOS"
[#]: via: "https://itsfoss.com/things-to-do-after-installing-nixos/"
[#]: author: "Sagar Sharma https://itsfoss.com/author/sagar/"
[#]: collector: "lkxed"
[#]: translator: "wxy"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15663-1.html"
NixOS 系列 #4:安装 NixOS 后要做的事
======
![][0]
安装之后,你会发现 NixOS 与通用的 Linux 发行版有很大的不同。
当然,作为 [高级 Linux 发行版][1]之一,大多数新用户对它并不熟悉。
如果你不知道 [为什么你应该使用 NixOS][2],并且出于好奇而尝试它,那么在继续进行之前,知道它是为谁准备的至关重要。
虽然我假设你已经安装了这个发行版,但如果你是第一次使用,我建议先 [在虚拟机上安装 NixOS][3]。
### 1、更新软件包
即使你使用最新的 ISO 进行安装,也总是会有更新的。那么为什么不从更新软件包开始呢?
要升级软件包,首先,你必须在添加的频道中检查是否有更新:
```
nix-channel --update
```
然后,使用下面的命令来安装这些更新(如果有的话):
```
sudo nixos-rebuild switch --upgrade
```
这就行了!它将处理其余的事情。
### 2、在 NixOS 中改变主机名
如果你尝试用传统的方法 [改变主机名][4](使用 `hostnamectl` 命令),会出现以下错误:
![在 NixOS 中改变主机名的错误][5]
在 NixOS 中,你可以用它的主配置文件轻松地改变主机名。使用如下命令:
```
sudo nano /etc/nixos/configuration.nix
```
在这个配置文件中,寻找以下一行:
```
networking.hostName = "nixos"
```
然后把它改成:
```
networking.hostName = "Your_Hostname"
```
例如,我把我的主机名改为 `itsFOSS`
```
networking.hostName = "itsFOSS"
```
![在 NixOS 中改变主机名][6]
现在,[保存更改并退出 nano][7] 文本编辑器。
为了使你对主机名的修改生效,执行以下命令:
```
sudo nixos-rebuild switch
```
最后,重新打开终端,主机名的变化应该反映出来。
### 3、设置 Flatpak
我知道你可能在想什么。Nix 软件包管理器已经提供了大量的软件包。那么,为什么你需要 Flatpak 呢?
安装你所需要的东西对于第一次使用的人来说可能有点费时。所以Flatpak 应该能给你带来方便。
[设置 Flatpak][8] 与你在 Ubuntu 上做的不一样。
要设置 Flatpak你必须对 `configuration.nix` 文件进行修改,可以通过以下方式访问该文件:
```
sudo nano /etc/nixos/configuration.nix
```
[在 nano 中移动到最后一行][9],在 `}` 前添加以下一行:
```
services.flatpak.enable = true
```
![在 NixOS 上设置 Flatpak][10]
`Ctrl + O` 保存更改,按回车键,按 `Ctrl + X` 退出。
接下来,使用以下命令重建并切换到新的配置文件:
```
sudo nixos-rebuild switch
```
最后,使用下面的命令将 Flathub 软件库添加到系统中:
```
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
```
想知道到底什么是 Flatpak 包吗?你可以参考我们关于它的文章:
> **[什么是 Flatpak你需要知道的关于这个通用包装系统的一切重要信息][23]**
### 4、启用垃圾收集
NixOS 以其不可改变性而闻名,这是有充分理由的。
每当你升级一个软件包时,旧的软件包不会被删除。只是指向旧包的符号链接将被指向最新的版本。
而这样做,你的系统中会积累下不必要的垃圾。
但是,删除每一个旧世代将违背 NixOS 的初衷。
所以,在这种情况下,你可以将你的系统配置为每周删除垃圾包。
要做到这一点,首先,打开 NixOS 配置文件:
```
sudo nano /etc/nixos/configuration.nix
```
并在配置文件末尾的 `}` 前添加以下一行:
```
# Automatic Garbage Collection
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
```
![在 NixOS 中启用自动垃圾收集][11]
保存修改并退出 nano 文本编辑器。
为了激活垃圾收集,重建并切换到新的配置文件:
```
sudo nixos-rebuild switch
```
如果你不确定垃圾收集器是否在后台正常运行,你可以用以下命令列出活动的计时器:
```
systemctl list-timers
```
![][12]
正如你所看到的Nix 垃圾收集器正在如期运行,并显示距离下次清理还有 5 天。
### 5、安装你喜欢的软件
我是说这是我们使用电脑的唯一原因 —— “为了使用我们最喜欢的软件”,如果还不是,我们就把它变成现实!
寻找软件包的最好地方是 [Nix 软件包搜索][13],可以使用你喜欢的任何浏览器访问。
- 搜索软件包
- 选择软件包
- 点击 “nix-env” 并复制给定的 NixOS 的命令
- 执行该命令,就可以了
你可以查看我们的 [NixOS 软件包管理][14] 指南,了解所有的细节。
让我在这里给你一个简单的回顾。例如,在这里,我想安装 Librewolf所以我采用了以下方法
![搜索 NixOS 的软件包][15]
**但如果你想安装 SSH 或 Plex 等服务,上述方法就不能用了**。
为此,你得查看位于页面顶部的 “<ruby>NixOS 选项<rt>NixOS options</rt></ruby>”。
因此,假设我想安装 OpenSSH那么我必须按照给定的步骤进行
- 进入 “NixOS 选项”。
- 搜索服务的名称
- 获取服务的名称并将其粘贴到 `configuration.nix` 中,将其值改为 `true`
![搜索 NixOS 的服务][16]
```
services.openssh.enable = true
```
![在 NixOS 上启用 OpenSSH][17]
在配置文件中加入这一行后,重建服务:
```
sudo nixos-rebuild switch
```
### 6、在 NixOS 中启用自动更新(可选)
一些用户喜欢启用自动更新功能,而另一些用户则可以在他们方便的时候更新软件包。
所以这完全取决于你。
**要启用自动更新**,首先打开 `configuration.nix` 文件:
```
sudo nano /etc/nixos/configuration.nix
```
接下来,在配置文件的末尾,在 `}` 之前添加以下一行:
```
# Auto system update
system.autoUpgrade = {
enable = true
};
```
![在 NixOS 中启用自动系统更新][18]
保存修改并退出 nano。
要启用自动更新,你必须用以下方法重建并切换到该文件:
```
sudo nixos-rebuild switch
```
你也可以用下面的命令检查 NixOS 的升级定时器:
```
systemctl list-timers
```
![NixOS 的自动升级定时器][19]
正如你所看到的,`nixos-upgrade.service` 正在后台如期运行!
### 7、减少交换度
如果你正在利用交换分区,你可能想减少交换度。
交换度只不过是你想要多积极地使用交换分区(或内存)的数值,其范围从 0 到 100。
交换度越小你的系统就会越多地使用物理内存RAM而交换分区只不过是你的存储驱动器的一部分而已。
另外,存储驱动器的速度相对比内存慢,所以如果可能的话,你应该减少交换度。
要检查你的系统的默认交换度,请使用以下方法:
```
cat /proc/sys/vm/swappiness
```
![检查 Linux 系统的交换度][20]
而对于大多数 Linux 发行版,它被设置为 `60`
我建议你把这个值降低到 `10`
要做到这一点,首先,用以下命令打开配置文件:
```
sudo nano /etc/nixos/hardware-configuration.nix
```
并在 `}` 之前的行末添加以下一行:
```
boot.kernel.sysctl = { "vm.swappiness" = 10;}
```
![减少 NixOS 中的交换度][21]
保存修改并退出文本编辑器。
现在,重建配置并使用下面的方法切换到它:
```
sudo nixos-rebuild switch
```
现在,你可以再次检查交换度,它应该反映出变化:
```
cat /proc/sys/vm/swappiness
```
![减少 NixOS 中的交换度][22]
就这些了。
### 总结
如果你在第一次安装 NixOS 后马上遵循这些要点,你应该得到一个良好的用户体验。
当然,根据你的要求,还可以有一些其他的东西。但是,我认为上面提到的事情是最基本或最常见的事情。
在本系列的下一部分,我将讨论在 NixOS 上设置家庭管理器,这对有多个用户的系统应该是有帮助的。
💬 安装NixOS后你首先做什么让我知道你的想法。
--------------------------------------------------------------------------------
via: https://itsfoss.com/things-to-do-after-installing-nixos/
作者:[Sagar Sharma][a]
选题:[lkxed][b]
译者:[wxy](https://github.com/wxy)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/sagar/
[b]: https://github.com/lkxed/
[1]: https://itsfoss.com/advanced-linux-distros/
[2]: https://linux.cn/article-15606-1.html
[3]: https://linux.cn/article-15624-1.html
[4]: https://itsfoss.com/change-hostname-ubuntu/
[5]: https://itsfoss.com/content/images/2023/02/error-changing-hostname-in-nixos.png
[6]: https://itsfoss.com/content/images/2023/02/change-hostname-in-NixOS.png
[7]: https://linuxhandbook.com/nano-save-exit/?ref=its-foss
[8]: https://itsfoss.com/flatpak-guide/
[9]: https://linuxhandbook.com/beginning-end-file-nano/?ref=its-foss
[10]: https://itsfoss.com/content/images/2023/02/setup-flatpak-on-nixos.png
[11]: https://itsfoss.com/content/images/2023/02/enable-automatic-garbage-collection-in-NixOS.png
[12]: https://itsfoss.com/content/images/2023/02/list-active-timers-in-nixos.png
[13]: https://search.nixos.org/packages?ref=its-foss
[14]: https://linux.cn/article-15645-1.html
[15]: https://itsfoss.com/content/images/2023/02/search-packages-for-nixos.png
[16]: https://itsfoss.com/content/images/2023/02/Search-the-service-for-nixos.png
[17]: https://itsfoss.com/content/images/2023/02/enable-openssh-on-nixos.png
[18]: https://itsfoss.com/content/images/2023/02/enable-auto-system-update-in-nixos.png
[19]: https://itsfoss.com/content/images/2023/02/auto-upgrade-timer-in-nixos.png
[20]: https://itsfoss.com/content/images/2023/02/check-swapiness-of-linux-system.png
[21]: https://itsfoss.com/content/images/2023/02/reduce-swapiness-in-nixos.png
[22]: https://itsfoss.com/content/images/2023/02/reduce-swapiness-in-NixOS.png
[23]: https://itsfoss.com/what-is-flatpak/
[0]: https://img.linux.net.cn/data/attachment/album/202303/26/142500uzc095szl064s9xx.jpg