标签: guix

GUIX 和 NixOS 在架构上有区别吗?

(这不是一个“哪种分布更好”的问题!)

GNU GUIXNixOS是两个基于 NixOS 包管理器的 Linux 发行版。

我意识到 GUIX 似乎使用 Guile 来定义包/依赖项或其他元数据用途;我猜 GUIX 中的所有内容都是 GPL 的,而 NixOS 中也许并非所有内容都是……但这些看起来更像是表面上的差异。

我希望了解的是这两个发行版是否存在任何重要的架构差异。

distribution-choice architecture nixos distributions guix

11
推荐指数
1
解决办法
2052
查看次数

在没有 root 权限的情况下安装 Nix 或 Guix?

这个非根包管理器问题的回答建议将 Nix作为解决方案。但是,安装文档说

如果脚本尚不存在,则该脚本将调用sudo以进行创建/nix。如果你没有 sudo,你应该先手动创建/nixroot.

我无权在目标机器上执行任何操作。这是否意味着除非系统管理员同意安装,否则我无法安装并因此使用 Nix?

这同样适用于Guix吗?

not-root-user nix guix

7
推荐指数
1
解决办法
3580
查看次数

Guix 包可以交付到其他发行版吗?

Flatpaksnapd包在其他发行版上可用,因为它们各自的包管理器是为在多个发行版上安装而构建的 [1][2]。Guix 包管理器也是如此吗?

我记得听说 Guix 软件包可以(或将要)安装在 Debian 上,但我找不到参考。

[1] http://flatpak.org/index.html#about

[2] http://arstechnica.com/information-technology/2016/06/goodbye-apt-and-yum-ubuntus-snap-apps-are-coming-to-distros-everywhere/

packaging guix

6
推荐指数
1
解决办法
1700
查看次数

使用 cmake 在 GNU GuixSD 中编译程序

我正在尝试在 GuixSD v1.0.0 和 gcc 8.3.0 上编译Xash3D

如下所示,ld(GNU Linker)给我错误,ctr1.o 和 ctri.o 丢失。这些文件存在于 /gnu/store/{specicProgramName} 内多个目录下的其他位置,但是,令人惊讶的是,我无法建立到其他库所在的 ~/.guix_profile 的符号链接,即使具有 root 访问权限也是如此。它们有多个版本,大小不同,因此我假设它们仅与各自的程序兼容。此外。~/.guix_profile 似乎模拟了 Unix 系统的根目录,但是在 GuixSD 中,根目录和 ~/.guix_profile 都缺少 /usr,所以我不知道在哪里链接 c 对象,即使我有实际文件。

在本质上,ld找不到 crt1.o、crti.o 和 libgcc_s.so,并且很可能就像以前一样,在链接或安装这 2 个 c 对象和 libgcc 后,cmake 将停止,并出现有关其他其他错误的进一步错误依赖关系。

无论如何,这是通过以下命令打印/记录的内容(这是安装 Xash3D 的推荐方法)

sudo cmake -DHL_SDK_DIR=../hlsdk -DXASH_SDL=yes -DXASH_VGUI=yes -DCMAKE_C_FLAGS="-m32" -DCMAKE_CXX_FLAGS="-m32" -DCMAKE_EXE_LINKER_FLAGS="-m32" ../ && sudo make
Run Code Online (Sandbox Code Playgroud)
-- The C compiler identification is GNU 9.1.0
-- The CXX compiler identification is GNU 9.1.0
-- Check for working …
Run Code Online (Sandbox Code Playgroud)

dynamic-linking cmake guix ld guixsd

5
推荐指数
1
解决办法
1403
查看次数

`~/.guix-profile` 和 `~/.config/guix/current` 有什么区别

我刚刚在我的 Arch Linux 上安装了 GUIX,但是,我仍然很难理解一些概念。我知道配置文件是从中选择的包/gnu/store,我可以通过获取<profile-dir>/etc/profile. 但是,我不明白为什么我似乎有两个“默认”配置文件,作为符号链接存储在我的主目录中:

  • ~/.guix-profile -> /var/guix/profiles/per-user/user/guix-profile
  • ~/.config/guix/current -> /var/guix/profiles/per-user/user/current-guix

我能够找到一些信息,但还不够:

.guix-profile

您可以为其分配所需的角色。通常你会安装你想要一直使用的包的清单。

或者,您可以将它保留为“无清单”,用于您将只使用几天以上的一次性包装。这种方式可以方便地运行guix install package-fooguix upgrade package-bar来自 GUIX 说明书

.config/guix/current

运行 guix pull 的结果是一个~/.config/guix/current 包含最新 Guix的配置文件。(“调用guix pull

这两个配置文件有什么区别?为什么我需要这两个?我是否需要在登录时同时提供两者?

package-management guix

4
推荐指数
1
解决办法
934
查看次数

列出所有使用 Guix 安装的软件包

如何列出所有通过 Guix 安装的软件包?在 Ubuntu 上,这将通过dpkg -l.

guix

3
推荐指数
1
解决办法
3150
查看次数