AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 561093
Accepted
akraf
akraf
Asked: 2020-01-09 15:46:26 +0800 CST2020-01-09 15:46:26 +0800 CST 2020-01-09 15:46:26 +0800 CST

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

  • 772

我刚刚在我的 Arch Linux 上安装了 GUIX,但是我仍然很难理解一些概念。我了解配置文件是从中选择的软件包/gnu/store,我可以通过 source 来启用它们<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-foo并且 guix upgrade package-bar(来自 GUIX 食谱)

.config/guix/current:

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

这两个配置文件有什么区别?为什么我需要这两个?我需要在登录时获取两者吗?

package-management guix
  • 1 1 个回答
  • 1512 Views

1 个回答

  • Voted
  1. Best Answer
    akraf
    2020-01-16T11:01:22+08:002020-01-16T11:01:22+08:00

    这些配置文件是默认值

    将这两个配置文件与“普通”GUIX 配置文件区别开来的唯一因素是它们是各自 GUIX 命令的默认选项(请参阅此处了解这两个配置文件的不同之处):

    • ~/.guix-profile是选项的默认guix package选项-p|--profile=
    • ~/.config/guix/current是选项的默认guix pull选项-p|--profile=

    如果它们以前不存在,它们是在第一次调用各自的伴随命令时生成的。

    但是,如果您愿意并且一直使用用户定义的配置文件,您完全可以不用这两个配置文件(见下文)

    他们的工作不同:提供guix版本本身与提供由管理的其他程序guix

    • 该配置文件~/.config/guix/current提供二进制文件guix和guix-daemon. 在默认配置中,此配置文件确定您可以安装的所有软件包的最新版本。与 Nix 不同,您可以安装的软件包列表与 guix 版本相关。这篇博文解释了原因。

      • 关于 user root,(符号链接目标)提供的二进制文件/root/.config/guix/current/bin/guix-daemon是系统自动启动的 GUIX Daemon。它也有一个符号链接/usr/local/bin。
    • 该配置文件~/.guix-profile包含您希望它包含的任何包。许多用户将它包含在他们的 shell 启动文件中,因此他们拥有不属于任何其他自动可用的任务特定配置文件的常用程序。

    配置文件仅通过 shell 启动文件集成到您的工作流程中,您可以决定它们是否有效

    哪些配置文件与您相关仅由您的.profile(或.bash_profile您使用的任何 shell 初始化文件)确定

    如果您不指定任何内容,您将不使用来自和使用的自身guix版本的包,因为GUIX shell 安装程序脚本会创建一个符号链接guixroot/usr/local/bin/guix -> /var/guix/profiles/per-user/root/guix

    如果您包含在您的.profile(或类似的)1

    GUIX_PROFILE=$HOME/.config/guix/current; 
    source "$GUIX_PROFILE/etc/profile"
    

    您可以使用自己的 GUIX 版本和软件包版本。

    如果你包括

    GUIX_PROFILE="$HOME/.guix-profile";
    source "$GUIX_PROFILE/etc/profile"
    

    您加载一个配置文件,您可以在不使用-p参数的情况下定义/更改它guix package。当然,您也可以在此处加载任何其他配置文件,然后-p如果要更改它,则只需使用该参数即可。许多人使用此配置文件来包含他们经常需要但未分配给任何特定任务工作流的命令。


    1如果您想知道为什么需要在采购之前定义变量,请阅读源代码脚本。它将添加到配置文件的链接$PATH,而不是配置文件文件夹本身。这意味着如果您在guix package -u没有再次获取配置文件的情况下调用,您将自动获得更新的包版本。

    • 7

相关问题

  • 如何在 Kali Linux 中安装特定版本的 GCC?

  • 是否可以构建同时支持 RPM 和 .deb 软件包的 Linux 发行版?

  • dh_usrlocal: ... 不是目录

  • 了解 apt 列表输出

  • 使用 shell 脚本安装 ncdf4 R 包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve