问题标签 [systemd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
29666 浏览

linux - 启动期间自动挂载单独分区时 systemd/udev 依赖失败

编辑:当我尝试使用带有任何挂载点的单独分区时会发生这种情况,而不仅仅是/var.

我正在使用 Buildroot 构建嵌入式 linux 系统。我正在尝试为 /var 使用单独的分区,但这会发生在任何挂载点上。我的 init 系统是 systemd,udev 用于设备管理。我已将我的 fstab 编辑为:

系统启动后,我收到一条消息“ Expecting device dev-mmcblk0p4.device... ”,最后是:

"等待设备 dev-mmcblk0p4.device 超时。 "

/var 的依赖失败。

本地文件系统的依赖失败。


如果我使用/var2或其他任何东西作为挂载点而不是/var. 一旦启动失败,它将进入紧急模式,然后将成功安装。然后我可以退出系统维护,一切都按预期工作。是什么导致这个延迟安装?我错过了一步吗?

输出截图:

系统启动

0 投票
1 回答
598 浏览

c - 检测 systemd 的可靠方法

这是检测守护进程是否从 systemd 启动的可靠方法吗?

0 投票
3 回答
14622 浏览

systemd - 系统字符串转义

如果我运行这个命令

我从 etcd 得到我期望的结果 {"host":"1", "port":49155}

但是如果我把它放在一个 systemd 文件中

我回来了 {host:1, port:49155}

知道为什么文件内部的转义不同吗?我该如何解决?谢谢!!

0 投票
1 回答
7459 浏览

systemd - 将 systemd journalctl 设置为忽略进程

journalctl的到处都是gnome-session警告。我已将问题追溯到谷歌浏览器,警告相对无害。但是,它淹没了我的日记输出,坦率地说,如果我确实需要检查它,我将无法找到我需要的东西。

May 30 12:13:49 hostname gnome-session[1347]: Window manager warning: meta_window_activate called by a pager with a 0 timestamp; the pager needs to be fixed.

坦率地说,这是一个 Chrome 问题,我会留在那里。但是有没有办法让journalctl命令抑制某个进程的输出?我想gnome-session完全禁用日志记录。

0 投票
0 回答
5209 浏览

linux - 从 Busybox 启动 Linux(pivot_root 或 switch_root,或?)

在 beaglebone 硬件上,我想从一个带有极简busybox系统(/dev/mmcblk0p2)的分区开始,对包含更完整Linux系统(Angström)的其他2个分区(/dev/mmcblk0p5和/dev/mmcblk0p6)运行一些检查),然后根据这些测试在 2 个 Linux 系统中的一个或另一个上启动。

问题是我找不到如何从busybox正确启动另一个系统。

我做了什么:

从(完美工作的)busybox系统:

然后我尝试了两种方法:

  1. 枢轴根

    这给出了以下错误:

    然后它会启动一个新的 Angström 登录提示,但登录后,任何对“init”的调用都会返回上述错误,并且系统无法工作(例如,如果我调用“rebo​​ot”,它会失败;如果我调用“killall busybox”,它会触发重启)。

    我尝试不使用“./usr/sbin/chroot .”,它给出了相同的结果。

  2. switch_root

    这给了我一个新的busybox登录提示,我还在busybox分区上

知道我做错了什么吗?我错过了一步吗?我忘记考虑的任何参数或任何方法可以查看有关问题的更多详细信息?

0 投票
3 回答
7936 浏览

cross-compiling - 交叉编译systemd:未找到cap_init

我正在尝试为 ARM 交叉编译 systemd-213 并且在configure

我已经交叉编译了 libcap 并将包含生成的库的目录添加到使用LDFLAGS之前调用.-Lecho $LDFLAGSconfigure

错误来自以下行configure.ac

我检查了 libcap.a 和 libcap.soobjdump -t并找到了 cap_init 的条目

我对 autoconf 没有太多经验,但我不明白为什么cap_init找不到。

我想我已经发布了相关信息,但如果需要我可以提供更多信息。

0 投票
4 回答
1263 浏览

logging - Journalctl :将 _SYSTEMD_UNIT 字段添加到日志打印输出中

使用命令:

/usr/bin/journalctl -o 短 -f | ncat {some-ip} {一些端口}

将日志输出转发到一些远程日志跟踪应用程序。

问题是我在打印输出中丢失了 systemd 单元/服务名称,因此很难判断哪个服务产生了哪个日志行。

例如这是一个 nginx 行:

6 月 25 日 07:51:09 localhost bash[497] : 10.23.132.98 - - [25/Jun/2014:07:51:09 +0000] "GET /page.html HTTP/1.1" 200 321 "https:// {ip}" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36"

在日志中有bash[497] - 进程的 PID。如何向日志添加更多数据?例如此 PID 的 docker 容器名称或 systemd 服务/单元名称?

0 投票
1 回答
2416 浏览

mongodb - Docker 不启动 MONGODB,IPAddress 不出现,与其他服务一起启动

我已经在 serverfault.com 上问过这个问题。我也在这里问它,因为我在这两个站点中看到了不同的问题集(看起来它们有不同的数据库)。

我一直在尝试从 Fedora 构建操作系统映像,但未能成功启动以下操作:

  1. 系统
  2. 固态混合硬盘
  3. 兔MQ
  4. MongoDB

我可以让前 3 个(Systemd、SSHD 和 RabbitMQ-Server)工作。我还可以让 MongoDB 在容器中工作。但是,我无法让 MongoDB 与其他 3 项服务一起工作。

此外,当我尝试“dockerize”MongoDB 时,IP 地址不显示。

我在 Dockerfile 中遗漏了什么吗?

这是我的码头文件:

用于构建的 Docker 命令有:

(1)docker build -t rabbitmq_mongo_heisenbug .

(2)docker run --privileged -d -e 'container=docker' -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 29022:22 -p 29672:15672 -p 29017:27017 rabbitmq_mongo_heisenbug

或.. (3)docker run --privileged -ti -e 'container=docker' -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 29022:22 -p 29672:15672 -p 29017:27017 rabbitmq_mongo_heisenbug

0 投票
1 回答
697 浏览

scala - 将 akka 作为系统作业运行

我想运行一个 Akka 应用程序,该应用程序在机器启动时在带有 systemd 的系统上自动运行和重新启动。我一直在尝试使用 apache daemon/jscv 来做到这一点,但我遇到了一些问题。现在我只是想运行这个东西(第一步),但这已经失败了。我下面的代码

我尝试将其打包,sbt assembly然后尝试使用

当我尝试启动它时

sudo jsvc -outfile ~/out.txt -errfile ~/err.txt -cp commons-daemon.jar:akkadaemon.jar Launcher

但似乎不起作用;err.txt包含

我应该怎么做才能让这种方法发挥作用?这至少是一个可行的方向(当我想在它开始工作后编写 systemd 脚本时),还是我看错了?

0 投票
1 回答
185 浏览

mongodb - Haskell:延迟测试连接可用性N次(从scotty到mongodb)

我对以正确顺序开始的 scotty web 应用程序和 mongodb 服务有一个愚蠢的问题。我先使用 systemd 启动 mongodb,然后再启动 scotty web 应用程序。由于某种原因它不起作用。该应用程序从 mongodb 驱动程序中出错,connect: does not exist (Connection refused)这意味着连接尚未准备好。

所以我的问题。如何以 0.5 秒的间隔测试连接可用性 3 次,然后才出错?

这是应用程序的主要功能

尽管应用服务是在 mongodb 服务之后排序的,但在应用启动期间与 mongodb 的连接仍然不可用。所以我得到了上面提到的错误。这是 systemd 服务文件,以避免有关正确服务顺序的问题。

我不知道为什么在正确的服务顺序下无法连接到 mongodb。所以我想用 0.5 秒的延迟用 haskell 代码探测连接可用性三次,然后出错。我该怎么做?

谢谢。