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
    • 最新
    • 标签
主页 / user-16287

Daniel's questions

Martin Hope
Daniel
Asked: 2024-11-07 14:26:12 +0800 CST

Guix:如何将一个文件系统设置为另一个文件系统的依赖项?或者在设备映射之前挂载一个设备?

  • 6

假设我有一个 LUKS 分区,它加密了根文件系统,其密钥驻留在另一个文件系统中。

(mapped-devices (list
    (mapped-device
        (type (luks-device-mapping-with-options #:key-file "/early-mount/luks-key"))
        (source "/dev/sda1")
        (target "operating-system")
    )
))

我如何config.scm在 LUKS 解密步骤之前通过文件指示 Guix 挂载第二个文件系统?

尝试#1

我尝试(needed-for-boot? #t)在第二个文件系统上进行设置,但检查生成的 initrd 脚本时,它仍尝试在挂载之前解密。

(file-system
    (mount-point "/early-mount")
    (device (file-system-label "early-mount"))
    (type "ext4")
    (needed-for-boot? #t) ; This doesn't move it to #:pre-mount
)

尝试#2

(filter)还尝试通过和设置根文件系统的依赖关系,(file-system-mount-point-predicate)但出现错误:

错误:文件系统:未绑定变量

这是有道理的,因为它正处于定义之中(file-systems)

(file-systems (cons*
    (file-system ...) ; early-mount definition
    (file-system
        (mount-point "/")
        (device "/dev/mapper/operating-system")
        (type "ext4")
        (dependencies (cons*
            (filter
                (file-system-mount-point-predicate "/early-mount")
                file-systems ; This is currently being defined so it's not available yet
            )
            mapped-devices
        ))
    )
    %base-file-systems
))

尝试#3

尝试为第二个文件系统创建一个局部变量(let),目的是将其插入到(file-systems)以及下,(dependencies)但出现错误:

错误:(let ...):无效的字段说明符

(let
    (
        (early-mount
            (file-system
                (mount-point "/early-mount")
                (device (file-system-label "early-mount"))
                (type "ext4")
                (needed-for-boot? #t)
            )
        )
    )
    (file-systems (cons*
        early-mount
        (file-system
            (mount-point "/")
            (device "/dev/mapper/operating-system")
            (type "ext4")
            (dependencies (cons*
                early-mount
                mapped-devices
            ))
        )
        %base-file-systems
    ))
)

尝试#4

然后尝试重复第二个文件系统(file-system)条目,这实际上允许我部署配置:

(file-systems (cons*
    (file-system ...) ; early-mount definition
    (file-system
        (mount-point "/")
        (device "/dev/mapper/operating-system")
        (type "ext4")
        (dependencies (cons*
            (file-system ...) ; early-mount definition, copy/pasted
            mapped-devices
        ))
    )
    %base-file-systems
))

/early-mount然而,这会在启动期间尝试提示我输入密码,这让我相信在尝试打开 LUKS 之前无法挂载。

boot
  • 1 个回答
  • 25 Views
Martin Hope
Daniel
Asked: 2024-11-06 11:51:58 +0800 CST

将解锁的 LUKS 分区上下文从 GRUB 传递到 Linux?

  • 5

问题

在 GRUB 中可以使用命令cryptomount来挂载 LUKS 分区。

有没有办法将这个解密分区传递给 Linux,使其显示为设备映射器(/dev/mapper/xxx)条目,而无需运行cryptsetup luksOpen?

如果 GRUB 无法实现,是否有其他引导加载程序支持此功能?

笔记

一些发行版支持cryptdevice/cryptkey参数,但是这似乎不是一个标准的 Linux 内核参数(并且不受我使用的发行版支持)。

还有dm-mod.create内核参数,但它似乎只支持明文密码(可从查看/proc/cmdline)或使用 Linux 密钥环条目。

这两种方法都需要再次解密分区,以便 Linux 可以挂载它,对吗?否则他们为什么需要密钥?

encryption
  • 1 个回答
  • 6 Views

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