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
    • 最新
    • 标签
主页 / server / 问题 / 1152676
Accepted
cdauth
cdauth
Asked: 2024-02-01 01:01:28 +0800 CST2024-02-01 01:01:28 +0800 CST 2024-02-01 01:01:28 +0800 CST

systemctl --enable 启用套接字而不是服务

  • 772

正如常见的那样,lxd提供了两个 systemd 单元:lxd.socket和lxd.service。lxd.socket启动时,lxd.service只要任何应用程序(例如lxc)尝试访问 lxd 守护程序,它就会启动。

我想lxd在启动时启动,而无需运行任何命令。但是,当我尝试启用 时lxd.service,它会启用lxd.socket:

# systemctl enable lxd.service
Created symlink /etc/systemd/system/sockets.target.wants/lxd.socket → /usr/lib/systemd/system/lxd.socket.

这里发生了什么?我怎样才能启用lxd.service?


系统运行的是 Fedora 39。这些是单元文件:

/usr/lib/systemd/system/lxd.service:

[Unit]
Description=LXD - main daemon
After=network-online.target openvswitch-switch.service lxcfs.service lxd.socket
Requires=network-online.target lxcfs.service lxd.socket
Documentation=man:lxd(1)

[Service]
Environment=LXD_DOCUMENTATION=/usr/share/doc/lxd-doc/html
Environment=LXD_OVMF_PATH=/usr/share/edk2/ovmf
Environment=LXD_UI=/usr/share/lxd-ui/ui
ExecStart=/usr/bin/lxd --group lxd
ExecStartPost=/usr/bin/lxd waitready --timeout=600
KillMode=process
TimeoutStartSec=600s
TimeoutStopSec=30s
Restart=on-failure
LimitNOFILE=1048576
LimitNPROC=infinity
TasksMax=infinity

[Install]
Also=lxd-containers.service lxd.socket

/usr/lib/systemd/system/lxd.socket:

[Unit]
Description=LXD - unix socket
Documentation=man:lxd(1)

[Socket]
ListenStream=/var/lib/lxd/unix.socket
SocketGroup=lxd
SocketMode=0660
Service=lxd.service

[Install]
WantedBy=sockets.target
systemd
  • 1 1 个回答
  • 34 Views

1 个回答

  • Voted
  1. Best Answer
    larsks
    2024-02-01T10:04:11+08:002024-02-01T10:04:11+08:00

    您看到的行为是由Also服务单元中的关键字驱动的,您可以在此处阅读有关内容。

    由于服务单元未在该部分中指定WantedBy(或RequiredBy) 指令[Install],因此这Also实际上意味着“相反”:当您systemctl enable lxd.service, 相反 启用lxd-containers.service和 时lxd.socket。

    您可以尝试简单地添加WantedBy=default.target到该[Install]部分,以便该lxd服务在启动时自动启动。不要忘记systemctl daemon-reload在编辑单元后(或创建插入配置后)。

    • 1

相关问题

  • After= 选项在 systemd 服务文件中不起作用

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve