mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
354 lines
10 KiB
Markdown
354 lines
10 KiB
Markdown
[#]: 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 |