代码之家  ›  专栏  ›  技术社区  ›  Paul Knopf

在本地fs之后直接运行systemd单元。目标和基础之前。目标

  •  2
  • Paul Knopf  · 技术社区  · 7 年前

    我正在创建一个嵌入式系统。嵌入式系统安装了一个分区。在安装分区之后,我需要准备一个加密文件夹(encfs)。我需要这个在任何其他人之前运行 multi-user.target graphical.target

    这是我的单元文件,它自己工作。

    [Unit]
    Description=Mx Encrypted Folder
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/mxmountencrypted
    RemainAfterExit=true
    ExecStop=/usr/bin/mxunmountencrypted
    

    当前,此单位文件没有定义依赖项。

    同样,我需要:

    1. 在装载文件系统后直接运行( local-fs.target )
    2. 在任何之前 多用户。目标 图形化。目标 ,依赖它的服务必须在哪里运行。
    3. 停车前必须完全停车 本地fs。目标 ,因为在systemd可以卸载分区之前,需要卸载一个嵌套装载。

    我考虑使用 systemd.mount 项目,但不支持 encfs .

    1 回复  |  直到 7 年前
        1
  •  3
  •   Brendan    7 年前

    根据您在要求中列出的内容:

    [Unit]
    Description=Mx Encrypted Folder
    Requires=local-fs.target
    After=local-fs.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/mxmountencrypted
    RemainAfterExit=true
    ExecStop=/usr/bin/mxunmountencrypted
    
    [Install]
    WantedBy=multi-user.target
    

    有关systemd单位文件的更多信息,请点击此处: https://www.freedesktop.org/software/systemd/man/systemd.unit.html

    和systemd服务文件: https://www.freedesktop.org/software/systemd/man/systemd.service.html