Sagar Sharma 发布的文章

有多个关于同一主题的 PDF,现在你想将它们合并成一个 PDF?

或者你可能需要上传由不同文件组成的单个文件?许多政府和学术门户网站都要求这样做。

作为 Linux 用户,如果你遇到需要合并 PDF 的情况,本教程将帮助你。

在本教程中,我将分享三种合并多个 PDF 文件的方法:

  • 使用 PDF Tricks GUI 工具
  • 使用 LibreOffice(允许你选择页面)
  • 使用 ImageMagick 命令行工具(Linux 教程会没有终端方法就结束么?)

你可以全部了解一下并选择最适合你的。

方法 1:使用 PDF Tricks GUI 工具在 Linux 中合并 PDF

在试用了多种 GUI 工具后,我发现 PDF Tricks 使用简单且易于导航。

此外,除了合并 PDF 文件之外,它还包括其他功能,包括:

  • 压缩 PDF。
  • 拆分 PDF。
  • 将 PDF 转换为 JPG、PNG 和文本格式。

它以 Flatpak 的形式提供。请 确保你的 Linux 系统启用了 Flatpak 支持

我分享的是在 Ubuntu 上启用 Flatpak 的步骤:

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

现在,使用以下命令在你的系统中安装 PDF Tricks:

flatpak install flathub com.github.muriloventuroso.pdftricks

完成安装后,从系统菜单中打开 PDF Tricks 应用。

第一次运行时,你会得到一个可以使用此工具执行的操作列表。显然,要合并 PDF 文件,请使用第三个选项。

merge pdf files using in ubuntu

在下一步中,单击 “ 添加文件 Add file ” 并选择要合并的文件:

choose files to merge

选择文件后,单击 “ 合并 Merge ” 按钮:

click on merge button

它将打开系统的默认文件管理器。你可以在此处选择要保存合并文件的位置以及应命名的文件:

locate and name the merged pdf file

就是这样。合并后的 PDF 已保存。

如果你正在寻找,我们提供了一份 可用于阅读和编辑 PDF 文件的最佳 PDF 阅读器 列表。

方法 2:使用 LibreOffice 合并 PDF 文件

很棒的 LibreOffice 能够处理许多与 PDF 相关的任务。你甚至可以 使用 LibreOffice Draw 工具编辑 PDF 文件 来添加数字签名、添加文本等。

好处是你不需要安装其他应用。LibreOffice 已经安装在大多数发行版上,如果不是全部的话。

打开文件管理器并选择要合并的 PDF 文件。

右键单击选定的文件 > 使用其他应用打开 Open With Other Application > LibreOffice Draw,它将打开选定的 PDF 文件。

它将在单独的 LibreOffice Draw 实例中打开你选择的每个 PDF 文件:

open pdf file in libreoffice

现在,你必须从左侧预览栏选择单个页面或整个 PDF 文件(使用 Ctrl + A)并将其拖放到要合并的文件的预览栏:

拖放后,单击左上角的第 5 个选项,提示是 直接导出为 PDF Export Directly as PDF

export directly as pdf in libreoffice

将打开一个文件管理器,你可以从中定位并命名文件:

save merged file from libreoffice

这就完成了!

更多技巧:在命令行中合并 PDF (对于高级用户)

如果我不包括命令行方法,那算什么 Linux 教程?要在命令行中合并 PDF 文件,你可以使用 ImageMagick。

ImageMagick 其实是一个图像相关的工具。PDF 文件本质上是图像,这就是 ImageMagick 可以处理它们的原因。

你可能甚至不需要单独 安装 ImageMagick,因为它已经默认安装在大多数发行版中。

例如,我将添加 3 个名为 pdf-1.pdf、pdf-2.pdf 和 pdf-3.pdf 的 PDF 文件,并将最终合并的 PDF 文件输出命名为 MergedFile.pdf(多么聪明):

convert pdf-1.pdf pdf-2.pdf pdf-3.pdf MergedFile.pdf

“no images defined” 故障排除

如果你看到这样的策略错误:

这个问题很容易解决。你只需在 ImageMagick 策略文件中进行少量更改。

打开策略文件进行编辑:

sudo nano /etc/ImageMagick-6/policy.xml

并查找以下行:

<policy domain="coder" rights="none" pattern="PDF" />

现在,你需要将 rights="none" 更改为 rights=read|write

<policy domain="coder" rights="read|write" pattern="PDF" />

change policy in imagemagick to merge pdf files

保存更改,现在你可以使用 ImageMagick 轻松合并文件:

merge pdf files using imagemagick in linux terminal

总结

现在你知道了在 Linux 中合并 PDF 文件的几种方法。合并后的 PDF 文件可能很大。如果你需要在有大小限制的门户上传合并的 PDF 文件,你可以 压缩 PDF 文件

如果你在使用上述方法时遇到任何问题,请告诉我。

(题图:MJ:process docs illustrations in high resolution)


via: https://itsfoss.com/merge-pdf-linux/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

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

在发表这篇文章之前,我解释了如何为一个单用户系统 在 NixOS 中安装和删除软件包

但是,如果你正在供多个用户使用,有一个很好的方法来分别满足每个用户的需求。

在本指南中,我将指导你如何在 NixOS 上设置一个 主目录管理器 Home Manager ,以及如何使用它来安装软件包。

如果你是新读者,本系列中讨论的一些资源包括:

在 NixOS 上设置主目录管理器

在本指南中,我将指导你通过 2 种方式来设置主目录管理器:

  • 独立的主目录管理器(使用单独的配置文件)
  • 作为一个 NixOS 模块(在 configuration.nix 文件中使用它)

那么,让我们从独立方式开始。

独立安装的主目录管理器

如果你使用的是 NixOS 的稳定频道,你可以使用以下命令来配置主目录管理器:

nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

在编写本指南时,稳定版是 22.11

如果你在一个不稳定的频道上,请使用以下命令:

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

无论你使用稳定版还是不稳定版,下面的步骤都是一样的。

一旦完成,更新频道:

nix-channel --update

最后,使用下面的命令来安装主目录管理器:

nix-shell '<home-manager>' -A install

?️ 在安装时,可能会出现以下错误:

安装主目录管理器时出现构建错误

重新启动你的系统并再次使用安装命令,它将开始安装。

一旦完成,它将显示独立安装的主目录管理器的位置:

主目录管理器在NixOS中的位置

将主目录管理器安装为 NixOS 模块

⚠️ 如果你选择将主目录管理器作为 NixOS 模块使用,你将需要 sudo 权限。

如果你在一个稳定的频道上(在写本文的时候,是 22.11),你可以使用下面的命令来添加主目录管理器的稳定频道:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager

如果你使用的是不稳定通道或主通道,则使用以下命令:

sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager

一旦你使用上面的任何一条命令完成了添加频道的工作,就用下面的方法更新频道:

sudo nix-channel --update

接下来,用以下方法打开 configuration.nix 文件:

sudo nano /etc/nixos/configuration.nix

并在 imports [] 中添加以下一行:

<home-manager/nixos>

将主目录管理器安装为 NixOS 模块

现在,跳到该行的末尾,在 } 前添加以下内容:

home-manager.users.{username} = { pkgs, ... }: {
  home.packages = [ ] ;
  };

NixOS 配置文件中的主目录管理器模块的格式

上面这一行是为了方便安装和删除软件包而添加的,我接下来会告诉你。

现在,保存修改并退出 Nano 文本编辑器。

接下来,重建配置,并做一个切换:

sudo nixos-rebuild switch

但如果你使用的是稳定版,并使用上述命令,就会出现以下错误:

?️ 错误: 选项 home-manager.users.user.home.stateVersion 被使用但没有定义:

错误: 选项  已被使用但未被定义。

要解决这个问题,你必须在你的主目录管理器块中添加 home.stateVersion

在写这篇文章时,我正在运行 22.11,所以整个主目录管理器块看起来像这样:

home-manager.users.{username} = { pkgs, ... }: {
  home.stateVersion = "22.11";  
  home.packages = [ ] ;
  };

如何解决  选项被使用但没有定义。

保存修改,按 Ctrl+O,按回车键和 Ctrl+X 退出 Nano 文本编辑器。

现在,试着重建配置并再次进行切换,应该可以解决问题。

如何在 NixOS 上使用主目录管理器安装软件包

现在你已经安装了主目录管理器,如何用它来安装软件包:

使用独立安装的主目录管理器

首先,用下面的方法打开配置文件:

nano /home/$USER/.config/nixpkgs/home.nix

跳到行末,在 } 前添加以下代码块:

home.packages = [];

现在,你所要做的就是在这两个大括号之间写上软件包的名称。

例如,如果我想安装 htop,我将得输入以下内容:

home.packages = [pkgs.htop];

是的,你通常要在软件包的名称后面加上 pkgs.

但是,如果你想在每次安装新包时不使用 pkgs.,可以改变代码块的语法,如图所示:

home.packages = with pkgs; [];

而现在,你不再需要在每次安装时使用 pkgs.

home.packages = with pkgs; [htop];

例如,在这里,我想安装 htopfirefoxlibreoffice,所以我的 home 块会看起来像这样:

在 NixOS 上使用主目录管理器安装多个软件包

一旦你完成了添加你喜欢的软件包,保存配置文件并使用以下命令来安装软件包:

home-manager switch

使用 NixOS 模块方式

首先,用以下命令打开 configuration.nix 文件:

sudo nano /etc/nixos/configuration.nix

在配置部分,我已经添加了主目录管理器块,所以剩下的就是在 home.packages = [ ]; 里面添加软件包的名称,格式如图所示:

home.packages = [ pkgs.package_name ] ;
?我已经在上节提到软件包名称前你可以使用 pkgs.

例如,如果我想 安装 htop、Firefox 和 LibreOffice,那么我将添加:

pkgs.htop pkgs.firefox pkgs.libreoffice

然后我的主目录管理器块会看起来像这样:

作为 NixOS 模块在主目录管理器中安装多个软件包

现在,保存修改并退出文本编辑器。

接下来,重建配置并使用以下命令进行切换:

sudo nixos-rebuild switch

这是这样!软件包将很快被安装。

这就结束了

我认为你应该选择独立安装,因为你不需要使用超级用户的权限。另外,如果你运行一个有多个用户的系统,为不同的用户拥有不同的配置文件是相当方便的。

因此,除非你想用一个文件来实现各种目的,否则我认为没有其他理由使用模块选项。

就这样,我结束了 NixOS 的初学者系列。我希望它能给你一个足够好的平台来熟悉这个独特的 Linux 发行版。

? 你喜欢 NixOS 系列文章吗?对于 NixOS 的初学者,我们还有什么要介绍的吗?请提供你的宝贵意见。


via: https://itsfoss.com/home-manager-nixos/

作者:Sagar Sharma 选题:lkxed 译者:wxy 校对:wxy

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

安装之后,你会发现 NixOS 与通用的 Linux 发行版有很大的不同。

当然,作为 高级 Linux 发行版之一,大多数新用户对它并不熟悉。

如果你不知道 为什么你应该使用 NixOS,并且出于好奇而尝试它,那么在继续进行之前,知道它是为谁准备的至关重要。

虽然我假设你已经安装了这个发行版,但如果你是第一次使用,我建议先 在虚拟机上安装 NixOS

1、更新软件包

即使你使用最新的 ISO 进行安装,也总是会有更新的。那么为什么不从更新软件包开始呢?

要升级软件包,首先,你必须在添加的频道中检查是否有更新:

nix-channel --update

然后,使用下面的命令来安装这些更新(如果有的话):

sudo nixos-rebuild switch --upgrade

这就行了!它将处理其余的事情。

2、在 NixOS 中改变主机名

如果你尝试用传统的方法 改变主机名(使用 hostnamectl 命令),会出现以下错误:

在 NixOS 中改变主机名的错误

在 NixOS 中,你可以用它的主配置文件轻松地改变主机名。使用如下命令:

sudo nano /etc/nixos/configuration.nix

在这个配置文件中,寻找以下一行:

networking.hostName = "nixos";

然后把它改成:

networking.hostName = "Your_Hostname";

例如,我把我的主机名改为 itsFOSS

networking.hostName = "itsFOSS";

在 NixOS 中改变主机名

现在,保存更改并退出 nano 文本编辑器。

为了使你对主机名的修改生效,执行以下命令:

sudo nixos-rebuild switch

最后,重新打开终端,主机名的变化应该反映出来。

3、设置 Flatpak

我知道你可能在想什么。Nix 软件包管理器已经提供了大量的软件包。那么,为什么你需要 Flatpak 呢?

安装你所需要的东西对于第一次使用的人来说可能有点费时。所以,Flatpak 应该能给你带来方便。

设置 Flatpak 与你在 Ubuntu 上做的不一样。

要设置 Flatpak,你必须对 configuration.nix 文件进行修改,可以通过以下方式访问该文件:

sudo nano /etc/nixos/configuration.nix

在 nano 中移动到最后一行,在 } 前添加以下一行:

services.flatpak.enable = true;

在 NixOS 上设置 Flatpak

Ctrl + O 保存更改,按回车键,按 Ctrl + X 退出。

接下来,使用以下命令重建并切换到新的配置文件:

sudo nixos-rebuild switch

最后,使用下面的命令将 Flathub 软件库添加到系统中:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

想知道到底什么是 Flatpak 包吗?你可以参考我们关于它的文章:

什么是 Flatpak?你需要知道的关于这个通用包装系统的一切重要信息

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 中启用自动垃圾收集

保存修改并退出 nano 文本编辑器。

为了激活垃圾收集,重建并切换到新的配置文件:

sudo nixos-rebuild switch

如果你不确定垃圾收集器是否在后台正常运行,你可以用以下命令列出活动的计时器:

systemctl list-timers

正如你所看到的,Nix 垃圾收集器正在如期运行,并显示距离下次清理还有 5 天。

5、安装你喜欢的软件

我是说这是我们使用电脑的唯一原因 —— “为了使用我们最喜欢的软件”,如果还不是,我们就把它变成现实!

寻找软件包的最好地方是 Nix 软件包搜索,可以使用你喜欢的任何浏览器访问。

  • 搜索软件包
  • 选择软件包
  • 点击 “nix-env” 并复制给定的 NixOS 的命令
  • 执行该命令,就可以了

你可以查看我们的 NixOS 软件包管理 指南,了解所有的细节。

让我在这里给你一个简单的回顾。例如,在这里,我想安装 Librewolf,所以我采用了以下方法:

搜索 NixOS 的软件包

但如果你想安装 SSH 或 Plex 等服务,上述方法就不能用了

为此,你得查看位于页面顶部的 “ NixOS 选项 NixOS options ”。

因此,假设我想安装 OpenSSH,那么我必须按照给定的步骤进行:

  • 进入 “NixOS 选项”。
  • 搜索服务的名称
  • 获取服务的名称并将其粘贴到 configuration.nix 中,将其值改为 true

搜索 NixOS 的服务

services.openssh.enable = true

在 NixOS 上启用 OpenSSH

在配置文件中加入这一行后,重建服务:

sudo nixos-rebuild switch

6、在 NixOS 中启用自动更新(可选)

一些用户喜欢启用自动更新功能,而另一些用户则可以在他们方便的时候更新软件包。

所以这完全取决于你。

要启用自动更新,首先打开 configuration.nix 文件:

sudo nano /etc/nixos/configuration.nix

接下来,在配置文件的末尾,在 } 之前添加以下一行:

# Auto system update
system.autoUpgrade = {
      enable = true;
};

在 NixOS 中启用自动系统更新

保存修改并退出 nano。

要启用自动更新,你必须用以下方法重建并切换到该文件:

sudo nixos-rebuild switch

你也可以用下面的命令检查 NixOS 的升级定时器:

systemctl list-timers

NixOS 的自动升级定时器

正如你所看到的,nixos-upgrade.service 正在后台如期运行!

7、减少交换度

如果你正在利用交换分区,你可能想减少交换度。

交换度只不过是你想要多积极地使用交换分区(或内存)的数值,其范围从 0 到 100。

交换度越小,你的系统就会越多地使用物理内存(RAM),而交换分区只不过是你的存储驱动器的一部分而已。

另外,存储驱动器的速度相对比内存慢,所以如果可能的话,你应该减少交换度。

要检查你的系统的默认交换度,请使用以下方法:

cat /proc/sys/vm/swappiness

检查 Linux 系统的交换度

而对于大多数 Linux 发行版,它被设置为 60

我建议你把这个值降低到 10

要做到这一点,首先,用以下命令打开配置文件:

sudo nano /etc/nixos/hardware-configuration.nix

并在 } 之前的行末添加以下一行:

boot.kernel.sysctl = { "vm.swappiness" = 10;};

减少 NixOS 中的交换度

保存修改并退出文本编辑器。

现在,重建配置并使用下面的方法切换到它:

sudo nixos-rebuild switch

现在,你可以再次检查交换度,它应该反映出变化:

cat /proc/sys/vm/swappiness

减少 NixOS 中的交换度

就这些了。

总结

如果你在第一次安装 NixOS 后马上遵循这些要点,你应该得到一个良好的用户体验。

当然,根据你的要求,还可以有一些其他的东西。但是,我认为上面提到的事情是最基本或最常见的事情。

在本系列的下一部分,我将讨论在 NixOS 上设置家庭管理器,这对有多个用户的系统应该是有帮助的。

? 安装NixOS后,你首先做什么?让我知道你的想法。


via: https://itsfoss.com/things-to-do-after-installing-nixos/

作者:Sagar Sharma 选题:lkxed 译者:wxy 校对:wxy

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

NixOS 中的打包系统是它最强大的地方。Nix 软件包管理器使用的语法与 aptdnf 和其他软件包管理器大不相同。

这也是 人们应该尝试使用 NixOS 的原因之一

在本指南中,我将分享两种在 NixOS 上安装和删除软件包的方法:

  • 使用 Nix 软件包管理器
  • 使用 configuration.nix 配置文件
⚠️ 使用 Nix 软件包管理器,你只能安装软件包,而不能安装 OpenSSH 或 Plex 服务器等服务。对于服务的安装,你必须使用 Nix 配置文件。

要安装任何软件包,必须知道它的确切名称,为此,我将从如何在 NixOS 中搜索软件包开始。

搜索软件包

要寻找软件包,你可以使用它的 网页搜索

你可以使用如下步骤:

  • 在搜索栏中输入软件包的名称
  • 选择适当的软件包(从给出的描述中决定)
  • 点击 “nix-env” 标签页
  • 复制 NixOS 命令(第一条)

例如,如果我想要 librewolf 包,我将执行以下操作:

使用 Nix 软件包管理器的网络搜索寻找软件包

你也可以通过终端做同样的事情。

要使用终端搜索软件包,你可以按照给定的命令语法进行:

nix-env -qaP --description [软件包名称]

例如,在这里,我搜索了 librewolf

使用终端搜索 NixOS 中的软件包

你必须复制输出的第一行,因为那是你需要安装的软件包的名称。

在这里它是 nixos.librewolf

是的,它听起来可能没有像使用 APT 或 DNF 时软件包名字那么方便。但是,我认为这并不是大问题。

一些妥协或许会换来一些好处?

在 NixOS 中安装一个软件包

要安装一个软件包,你所要做的就是使用以下命令语法:

nix-env -iA [软件包名称]

而且,如果你使用网络搜索来寻找软件包,你就已经有了安装所需的确切命令。

所以,假设我想安装 `librewolf',我将使用以下命令:

nix-env -iA nixos.librewolf

如果你想进行全系统的安装(让每个用户都能使用这个包),用 sudo 执行安装命令:

sudo nix-env -iA nixos.librewolf

就是这样!你将很快安装好你喜欢的软件包。

在 NixOS 中卸载一个软件包

要删除一个软件包,你可以参考下面的命令语法:

nix-env --uninstall [软件包名称]

因此,如果我必须删除 librewolf 包,我必须使用以下命令:

nix-env --uninstall librewolf

如果你仔细注意,我使用了 librewolf 而不是 nixos.librewolf 来安装。

这意味着你在删除软件包时要跳过 nixos 部分,这使事情变得简单而快速。

在 NixOS 中安装服务

正如我前面提到的,你不能使用 Nix 软件包管理器来安装像 OpenSSH、Plex 服务器、Flatpak 等服务。

从搜索服务到安装过程,都与你上面看到的不同。

所以让我先说说如何 搜索服务

  • 要搜索服务,请前往 Nix 软件包搜索 网页
  • 选择 “ NixOS 选项 NixOS options ”(页面顶部菜单行的第三个选项)
  • 输入你要找的服务的名称
  • 复制服务的名称

例如,在这里,我正在搜索 OpenSSH 服务。

搜索 NixOS 中的 OpenSSH 服务

一旦你找到了这个名字,用下面的命令打开 configuration.nix 文件:

sudo nano /etc/nixos/configuration.nix

并在行末添加服务的名称(在 } 之前),如下:

[service_name] = true;

由于 我想启用 OpenSSH,我将添加以下内容:

services.openssh.enable = true;

在 NixOS 上启用 OpenSSH

一旦你在配置文件中添加了服务,保存修改并退出 Nano 文本编辑器。

要启用该服务,请重建配置文件,并使用以下命令切换到所做的更改:

sudo nixos-rebuild switch

这就行了,你已经启用了该服务。

从 NixOS 卸载服务

要卸载一个服务,你所要做的就是在 configuration.nix 文件中删除或注释该服务的一行。

因此,首先,用以下命令打开配置文件:

sudo nano /etc/nixos/configuration.nix

寻找服务,并删除这一行或用 # 注释掉:

从 NixOS 删除服务

通过添加注释 #,我忽略了 OpenSSH 服务的加载,因为我不再需要它在我的系统上。

保存修改并退出文本编辑器。

最后,重建配置文件并进行切换:

sudo nixos-rebuild switch

使用 Nix 配置文件安装软件包

配置文件可以让你 方便地一次性管理软件包

要使用 Nix 配置文件安装软件包,你必须在配置文件中输入软件包的名称、重建,然后切换到配置文件,就可以了。

首先,打开 configuration.nix 文件。

sudo nano /etc/nixos/configuration.nix

如果你想 为一个特定的登录用户安装软件包,将软件包的名称添加到用户的配置文件中。

用户配置文件看起来像这样:

users.users.sagar = {
    isNormalUser = true;
    description = "Sagar";
    extraGroups = [ "networkmanager" "wheel" ];
    packages = with pkgs; [
      firefox
    ];
  };

当然,它将显示你的用户名而不是 sagar

你应该使用如下语法来添加软件包的名称:

packages = with pkgs; [
  软件包名称
  ]; 

所以我们假设我也想安装 Thunderbird,那么我将添加它的名字,如下所示:

使用 Nix 配置文件在 NixOS 中安装一个包

你必须在方括号内添加所有的软件包名称,不要用逗号。它必须像截图中描述的那样一个软件一个新的行。

但是如果你想在整个系统中安装这个包,那么你必须在 environment.systemPackages 下添加包的名字,比如:

environment.systemPackages = with pkgs; [
  软件包名称
];

使用 Nix 配置文件在 NixOS 中全系统安装软件包

一旦你完成了在系统配置文件或用户配置文件,甚至两者中添加所需软件包的名称,你将需要按照同样的命令来完成安装:

sudo nixos-rebuild switch

这样就可以了!

使用 Nix 配置文件删除软件包

要删除软件包,你所要做的就是按照给定的简单步骤进行:

  • 打开 Nix 配置文件
  • 删除或注释掉软件包的名称
  • 重新构建配置并进行切换

所以,让我们从第一步开始(打开配置文件):

sudo nano /etc/nixos/configuration.nix

接下来,注释掉用户配置文件或系统配置文件中的包的名称:

在 NixOS 上使用 Nix 配置文件删除包

保存更改并退出配置文件。

最后,重建配置文件,并做一个切换来删除包:

sudo nixos-rebuild switch

这是这样!

? 目前,还没有官方的 GUI 工具来帮助你安装/删除软件包。你可能会发现一些由社区开发的项目,如 nix-guinix42b,但它们不再被维护或仅仅处于早期开发阶段。

接下来...

我希望你喜欢阅读 NixOS 系列,就像我写它一样。

在下一篇中,我将强调一些在你安装 NixOS 后需要马上做的重要事情。

如果你认为我遗漏了什么或有其他建议,请在评论中告诉我。


via: https://itsfoss.com/nixos-package-management/

作者:Sagar Sharma 选题:lkxed 译者:wxy 校对:wxy

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

Windows 有其著名的任务管理器。Linux 有几个 GUI 和 命令行的系统监视器。每个 Linux 系统都都有几个这样的监视器。

在命令行中,top 命令可能是用于快速检查系统资源使用情况的最佳命令。

除了查看进程之外,使用 top 命令 可能会很麻烦。而这就是 htop 的优势所在。抛开双关语不谈,htop 是一个类似于 top 的实用程序,但具有更好的、用户友好的界面。

在本指南中,我将向你展示如何在 Linux 中安装和使用 htop

在 Linux 中安装 htop 实用程序

在大多数的 Linux 发行版中你不会找到预安装的 htop,但作为最流行的实用程序之一,你会在几乎每个 Linux 发行版的默认存储库中找到 htop

因此,如果你的机器是基于 Debian/Ubuntu 驱动的,则以下命令应该可以完成你的工作:

sudo apt install htop

类似的,如果你使用的是 Fedora,则可以使用以下的命令:

sudo dnf install htop

如果你想避免从源代码构建包,还有一个 Snap 包可用:

sudo snap install htop

如果你使用的是其它的发行版或者想从源代码构建,你可以随时参考 htop 的 GitHub 页面以获得详细说明。

完成安装后,你只需在终端中使用 htop 命令,它将反映系统中所有正在运行的进程:

htop

安装和使用 htop

htop 中,每个部分都使用颜色标识,所以让我们看看使用 htop 时每种颜色表示什么。

htop 中不同的颜色和统计信息表示什么

让我们从 CPU 使用率栏开始,因为它使用的颜色最缤纷多彩。

CPU 使用率栏

htop 中的 cpu 进程

  • 绿色:用户进程消耗的资源。
  • 蓝色:表示低优先级线程。
  • 红色:系统(内核)进程使用的 CPU 资源。
  • 水蓝色:表示虚拟化进程。

内存使用率栏

htop 中的内存栏

  • 绿色:系统进程正在使用的内存。
  • 蓝色:缓冲页面使用的内存。
  • 橙色:分配给缓存页面的内存。

统计数据

htop 中的任务统计

  • 1.86 是最后 1 分钟的平均负载。
  • 1.75 是最后 4 分钟的平均负载。
  • 1.47 是最后 15 分钟的平均负载。
  • Tasks: 166 表示一共有 166 个正在运行的进程。
  • 1249 thr 表示这 166 个进程由 1249 个线程处理。
  • 1 running 表示在这 166 个进程中,只有一个进程处于运行中。
  • The load average 表示一段时间内的平均系统负载。由于我的系统是 Hexa-Core,所以 6.0 以下的是没问题的。这个数字可能会超过,比如 6.1,所以即将要运行的进程必须等待正在进行的任务完成。
  • Uptime 表示你登录后运行的时长。

现在,让我们跳到实际的实现部分。

如何在 Linux 中使用 htop

由于 htop 主要用于检查系统资源,让我们看看如何根据资源消耗对进程进行排序。

根据资源消耗对进程进行排序

根据 CPU 和内存使用情况对进程进行排序最简单的方法是使用鼠标指针。将光标悬停在 CPU 或内存部分上,然后单击其中任何一个。

在那里你会看到一个三角形的图标 ,你可以根据它从最高到最低的资源消耗对进程进行排序:

但是,如果你正在处理远程服务器,你可能无法使用鼠标,在这种情况下,你可以使用键盘快捷键。

F6,它将显示每个可用的选项来对正在进行的进程进行排序:

使用键盘快捷键对 htop 中的进程进行排序

你可以使用方向键选择一个首选的排序选项,然后按回车键,结果应该会如预期的那样反映出来。

搜索特定进程

如果你想查找一个特定的进程及其资源消耗,你可以按 F3,它会给你一个搜索提示,如下所示:

在 htop 中搜索进程

例如,我搜索 htop,它用浅橙色高亮显示了进程。你可以按 F3 获得下一个结果。

过滤正在运行的进程

虽然搜索可能会让你获得预期的结果,但我发现使用关键字的过滤过程更加有效,因为它提供了一个过程列表。

要过滤进程,你必须按 F4 并输入进程的名称。例如,我过滤了与 gnome-boxes 相关的进程:

在 htop 中过滤进程

杀死进程

一旦找到最耗资源和不必要的进程,你只需按 F9,它就会向你显示终止信号:

在 htop 中杀死进程

我无法介绍所有的 15 个终止信号,我们有一个关于 不同终止信息 的单独指南,因此如果你想了解更多信息,可以参考该指南。

但我会建议你首先使用 SIGTERM,因为它是终止进程的最有效和友好的方式。

自定义 htop

在这里,我的目标是添加日期和时间并将配色方案更改为单色。

首先,按 F2,它会出现设置提示,允许用户更改 htop 的外观:

在 ubuntu 中自定义 htop

首先,将鼠标悬停在各个 Colors 部分并按回车键,这将允许我们更改配色方案。从那里,选择 Monochromatic 选项并按回车键保存更改:

在 Linux 中更改 htop 颜色

现在,返回到设置选项,然后使用向左方向键探索可用的指标:

探索 htop 中可用的指标

因为我打算添加日期和时间,所以我必须在找到它的选项后按回车键。

在这里,它允许你将日期和时间放置在左右两列中,你可以使用向上和向下的方向键更改列的顺序。

所以我将日期和时间指标放在最后一个样式选项中(你可以使用空格键更改样式):

在 htop 中添加日期和时间

完成日期和时间指标的对齐后,按回车键保存更改,然后按 F10 关闭设置提示。

总结

在本指南中,我解释了如何在不同的 Linux 发行版中安装 htop 实用程序,以及如何使用 htop 的一些基本功能来有效的管理系统资源。

但是 htop 可以做更多的事情,要了解更多信息,你可以随时参考它的手册页,我们有一个详细的指南,告诉你如何 在 Linux 中充分利用手册页


via: https://itsfoss.com/use-htop/

作者:Sagar Sharma 选题:lkxed 译者:perfiffer 校对:wxy

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

如果你可以在任何 Linux 发行版上使用 Nix 包管理器,为什么还要安装 NixOS?

在使用 NixOS 几天之前,我经常想知道同样的事情。

当我意识到这些好处后,我就写了这篇文章来帮助你了解 为什么你要考虑使用 NixOS。如果你已经阅读了本系列的第一篇文章,那么你已经知道自己想要什么了。

那么,如何开始呢?考虑到它对许多人来说可能是一种新体验,你应该用它替换日常使用的系统还是将其安装为虚拟机?

我建议在你想要将其替换为你的主要操作系统之前在虚拟机上使用 NixOS。这适用于你想尝试的任何新事物,特别是 先进的 Linux 发行版,例如 NixOS。

使用 VirtualBox 在 VM 中安装 NixOS

在本教程中,我将使用 VirtualBox。

如果你使用的是 Ubuntu 并且不关心是否拥有最新版本,那么可以使用一个命令安装 VirtualBox:

sudo apt install virtualbox

想要安装最新版本?你可以参考下面的指南:

如何在 Ubuntu 上安装 VirtualBox(初学者教程)

如果你使用 Ubuntu 以外的任何发行版,你可以 按照其官方下载页面的下载说明进行操作

成功安装 VirtualBox 后,让我们从第一步开始。

步骤 1:获 取NixOS 的 ISO 镜像

你需要前往 NixOS 官方下载页面

在 “NixOS: the Linux distribution” 部分,你会找到带有 GNOME 和 KDE 桌面的 ISO。

当然,也有最小化 ISO,但我建议使用两者之一(GNOME 和 KDE):

下载 NixOS ISO 文件

对于本教程,我将使用 GNOME。

请记住,你可以选择 GNOME 和 KDE 两种 立付桌面环境 Live Desktop

而在安装过程中,你可以选择自己喜欢的桌面环境,包括 Xfce、Pantheon、Cinnamon、MATE 等等!

步骤 2:在 VirtualBox 中创建虚拟机

打开 VirtualBox 并单击 “ 新建 New ” 按钮添加新的虚拟机:

截图显示了如何点击新建按钮来添加新的虚拟机

它将打开一个提示,要求你添加有关要添加的虚拟机的信息。

你可以先命名虚拟机:

  • 为你的虚拟机命名,以便你可以识别它是 NixOS 系统。所以我将其命名为 “NixOS”。
  • 选择你刚刚下载的 ISO 镜像。
  • 选择 “Linux” ISO 类型。
  • 并在版本选择 “ 其它 Linux(64 位) Other Linux (64-bit) ”。

选择所有内容后,单击 “ 下一步 Next ” 按钮。

接下来,系统会要求你选择基本内存(RAM)、要分配给此虚拟机的处理器以及存储空间。

虽然 NixOS 没有提到官方要求,但我建议你为此安装至少拥有 4GB RAM2-4 个处理器内核30GB 空间

选择 NixOS 虚拟机的硬件

最后,它会显示你为此虚拟机所做选择的摘要:

NixOS 虚拟机 安装摘要

如果一切正常,请单击 “ 完成 Finish ” 按钮,它将为你创建一个 NixOS 虚拟机。

步骤 3:安装 NixOS

创建完虚拟机后,你为 NixOS 虚拟机指定的名称应该显示在 VirtualBox 的虚拟机列表中。

选择 “NixOS” 虚拟机并单击“开始”按钮:

开始 NixOS 虚拟机

它将启动 NixOS 立付桌面环境 Live Desktop ,以便你可以试用 Linux 发行版。

选择安装语言

启动进入 NixOS 后,安装程序将启动并要求你设置安装程序的首选语言:

选择安装时的首选语言

选择地区和时区

接下来,选择你所在的地区和区域。如果你不知道这一点,你可以从地图上选择你的国家,它会为你设置。

选择区域和区域后,它还会选择系统的首选语言、数字和日期区域设置。

当然,你可以根据需要进行更改,但对于大多数用户而言,选定的选项就可以正常工作:

选择地区和时区

选择键盘布局

接下来,你将必须设置键盘布局。对于大多数用户来说,默认设置的 “English (US)” 应该可以正常工作。

如果你要进行其他操作,则可以在继续之前测试你的键盘配置。

选择键盘格式

之后,系统会要求你创建一个用户并为该用户设置密码。

你可以选择为虚拟机保留一个强密码或任何随机密码。

创建用户

选择你喜欢的桌面环境

使用 NixOS,你可以选择以下桌面环境:

  • GNOME
  • KDE(定制的最佳选择)
  • Xfce
  • Pantheon(ElementaryOS 附带的桌面环境)
  • Cinnamon
  • Enlightenment
  • LXQt

选择桌面环境

在 NixOS 上使用非自由软件

NixOS 遵循与 Fedora 类似的方法,你必须选择是否需要非自由软件。

我建议你启用非自由包:

启用非自由软件包

分区部分

由于这是一个虚拟机指南,我建议你使用自动对磁盘进行分区的 “ 擦除磁盘 Erase disk ” 选项!

自动分区

完成后,它将为你提供你所做选择的摘要:

安装选择摘要

如果一切正常,请单击 “ 安装 Install ” 按钮,它将开始安装。

不要重启而是关闭虚拟机

安装完成后,你可以选择重新启动虚拟机。

如果你这样做,它将再次加载安装程序

要解决此问题,你必须更改引导顺序。

为此,请在安装完成后关闭虚拟机。

要关闭虚拟机,请从“ 文件 File ”菜单中选择 “ 关闭 Close ” 选项,然后选择 “ 关闭虚拟机电源 Power off the machine ” 选项:

更改 VirtualBox 中的启动顺序

要更改 NixOS 虚拟机 中的启动顺序,请打开该虚拟机的设置:

在设置中,选择 “ 系统 System ”,你将找到启动顺序。

在这里,选择 “ 硬盘 Hard Disk ” 并使用选项旁边的向上箭头图标并将其设为启动的第一个选项:

改变启动顺序

按下 “ 确定 OK ”,它将保存你所做的更改。

或者,你可以移除我们添加的用于启动安装的光盘(ISO 镜像)。

步骤 4:从 NixOS 安装启动

现在,启动你的 NixOS 虚拟机,你将看到一个 GRUB 屏幕:

NixOS grub

选择默认选项,它将带你进入带有 GNOME 桌面的全新 NixOS 安装。

运行 NixOS

就是这些了!请继续探索 NixOS!

总结

这是关于如何在 VirtualBox 上安装 NixOS 的快速指南。

对于 NixOS 教程系列的下一部分,我将分享有关安装和删除包的建议。

? 敬请期待本系列的下一部分。在那之前,请随时分享你对 NixOS 的看法或在遵循指南时遇到任何问题!


via: https://itsfoss.com/install-nixos-vm/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

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