Questions tagged «systemd»

systemd是Linux的SystemV和Upstart初始化守护程序的替代方法。它旨在提供一个更好的框架来表达服务的依赖性,允许在系统启动时并行完成更多工作,并减少Shell开销。

1
如何从另一个系统检查系统化的system.journal
我在设备上无法使用Arch Linux。该设备没有任何屏幕,也没有响应网络。因此,我拿了它的SD卡,将其插入ubuntu桌面,在那里看到一个新的system.journal,然后...如何查看里面有什么? 从Arch Linux文档中,我知道我可以做到: strings /mnt/arch/var/log/journal/.../system.journal | grep -i message 但这真的很基础。问题是: 有没有比使用字符串更方便的方法来从另一个系统检查system.journal ?例如,我可以指定要为journalctl读取的文件吗?

1
什么使systemd与其他init系统区分开?
它不是很正式,但是好像systemd即将进入Debian,在阅读了有关该决定的一些热门邮件列表讨论之后,我对Linux用户中systemd的两极化性质感到好奇。我运行Debian(sysvinit)和Gentoo(OpenRC)系统,但对systemd却一无所知,尽管看起来它正在以我的方式出现。 我已经看到了这个相关的问题,询问了systemd vs upstart的优缺点,但是距该问题发布已经三年了,我敢肯定那段时间情况已经改变。 我的问题是:systemd与其他init系统相比如何? 是什么让它与众不同-其他init系统无法做什么? 从另一个init系统切换到它有什么损失吗? 管理systemd与其他系统相比如何?

1
一个systemctl命令来启动和启用
使用一个命令来启动和启用受systemctl管软件对于在一些脚本中节省几行很有用,这使它们更具美感(这不是一个问题,而是一件不错的事情)。 systemctl两者都有一个命令,start并且enable有一个受其控制的程序systemctl吗?

2
与systemd单位文件中的ExecStartPre条目混淆
我有一个systemd服务,需要在中创建目录/run,但要以非root用户身份运行。从一个博客示例中,我得出了以下解决方案: [Unit] Description=Startup Thing [Service] Type=oneshot ExecStart=/usr/bin/python3 -u /opt/thing/doStartup WorkingDirectory=/opt/thing StandardOutput=journal User=thingUser # Make sure the /run/thing directory exists PermissionsStartOnly=true ExecStartPre=-/bin/mkdir -p /run/thing ExecStartPre=/bin/chmod -R 777 /run/thing [Install] WantedBy=multi-user.target 神奇之处在于注释后的3行。显然,ExecStartPre的将以root身份运行,但是ExecStart将会以指定的用户身份运行。 但是,这导致了三个问题: -前面做什么/bin/mkdir?我不知道为什么它在那里或做什么。 当ExecStartPre一个单位文件中有多个时,它们是否只是按照在单位文件中找到的顺序依次运行?还是其他方法? 这实际上是实现我创建运行目录的目标的最佳技术,以便非root用户可以使用它吗?
23 systemd 

3
调试systemd中订购周期的通用方法
我知道下面的线程,并且应该是它的答案。除了答案,不是一般意义上的答案。它说明了在一种特定情况下但不是一般情况下的问题。 我的问题是:有没有一种通用的调试订购周期的方法?例如:是否有一个描述循环的命令以及将一个单元链接到另一个单元的命令? 例如,我有以下内容journalctl -b(请忽略日期,我的系统没有RTC与之同步时间): Jan 01 00:00:07 host0 systemd[1]: Found ordering cycle on sysinit.target/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on local-fs.target/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on cvol.service/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on basic.target/start Jan 01 00:00:07 host0 systemd[1]: Found dependency on sockets.target/start …
23 systemd 



2
journalctl --verify报告损坏
我只是注意到此verify选项,journalctl并决定尝试一下,它显示出损坏,可能是什么原因导致的?那我该怎么办呢?我应该进一步调查吗? journalctl --verify PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1000.journal Invalid object contents at 3733856░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0% File corruption detected at /var/log/journal/19184893a1d645c7a43729e79b10a876/system.journal:3733856 (of 91734016, 4%). FAIL: /var/log/journal/19184893a1d645c7a43729e79b10a876/system.journal (Bad message) Invalid object contents at 21575496░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 45% File corruption detected at /var/log/journal/19184893a1d645c7a43729e79b10a876/system@60e058db556e4de4b256d0b1ff176aa4-0000000000000001-0004e0b436d20aa1.journal:21575496 (of 44052480, 48%). FAIL: /var/log/journal/19184893a1d645c7a43729e79b10a876/system@60e058db556e4de4b256d0b1ff176aa4-0000000000000001-0004e0b436d20aa1.journal (Bad message) PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1000@60e058db556e4de4b256d0b1ff176aa4-0000000000000a91-0004e0b4ff9a949a.journal PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1001.journal

6
当我登录时,它挂起,直到完成crng init
当我在运行Debian Unstable的笔记本电脑上使用LightDM登录时,它最近开始挂起约2分钟,直到journalctl显示消息kernel: random: crng init done。当我挂起键盘时按随机键时,它的登录速度更快(约10秒)。在没有这个问题之前,有什么办法可以解决? 编辑:使用linux-image-4.15.0-3-amd64代替linux-image-4.16.0-1-amd64工程,但我不想使用旧的内核。

2
清理coredumpctl列表
我正在寻找一种方法来删除任何旧的coredumps coredumpctl list。目前,它列出了从2014年12月14日开始的核心转储-从那时到现在,我如此频繁地更新软件,我怀疑那些旧的核心转储现在可以帮助我调试任何问题。不幸的是,/var/lib/systemd/coredump仅从中删除文件会使coredumpctls输出的“ PRESENT”列中的星号消失。 我找不到任何方法可以删除手册页或coredumpctl的帮助输出中有关coredumps的所有信息。

1
是什么使systemd-nspawn仍然“不适合安全容器设置”?
这在systemd-nspawn的手册页中有所说明 请注意,即使采取了这些安全预防措施,systemd-nspawn也不适用于安全的容器设置。许多安全功能可能会被规避,因此主要用于避免容器对主机系统的意外更改。该程序的预期用途是调试和测试,以及构建与引导和系统管理有关的软件包,发行版和软件。 随后在2011年的邮件列表中提出了这个问题,但答案似乎已经过时了。 systemd-nspawn包含现在CLONE_NEWNET使用该--private-network选项执行的代码。这似乎涵盖了私有AF_UNIX名称空间问题,我想提到了CAP_NET_RAW和CAP_NET_BIND问题。 此时仍存在哪些问题,例如LXC除了systemd-nspawn当前可以做什么以外还做什么?
21 security  systemd  lxc 

2
最小的systemd引导在虚拟控制台上启动getty需要什么?
对于SysV的init,我需要/etc/inittab重生的getty项目中,/sbin/init二进制,二进制文件和共享库的外壳,login的getty,的PAM /安全性/阴影的东西,和一些设备文件。 因为upstart我需要几乎相同的要求,但不是,而是在下面/etc/inittab有几个*.conf文件/etc/init:一个* .conf,start on startup它使用来设置运行级别telinit,以及每个* .conf,用于getty在适当的运行级别上在该tty上启动/重生的每个tty 。 我需要什么配置和二进制文件systemd init? 我发现所有文档似乎都集中在如何使用已安装的系统启动和停止服务上。 从正在运行的Arch或fedora安装中复制文件的最小清单(内核/ initrd除外)就可以了,但是我似乎找不到关于的那种信息systemd。 我想知道的是,systemd在initramfs switch_root调用后,要启动登录shell,需要哪些文件以及必须包含什么文件systemd /sbin/init。 upstart,二进制文件和两个*.conf文件的示例: 档案/etc/init/whatever.conf: 开始启动 发出运行级别 任务 脚本 telinit 2 结束脚本 档案/etc/init/tty1.conf: 从运行级别开始[12345] 重生 exec / sbin / agetty -8 --noclear 38400 tty1 linux 的示例sysvinit,二进制文件和名为1的conf文件/etc/inittab: id:2:initdefault: c1:12345:respawn:/ sbin / agetty 38400 tty1 linux 现在,我追求systemd同等水平。 我假设*.service某处至少需要1个文件,且其中[Service]包含ExecStart=-/sbin/agetty --noclear …
21 boot  systemd 

1
是否可以出于测试目的手动执行单个systemd计时器配对的服务单元?
我有一个计时器/服务单元集,应在--user条件下每天运行一次。它显示systemctl --user status并记录在日记中,但是命令的一部分失败了。 似乎命令中的某些内容未正确解释。我想使用单元文件来运行该服务,检查日志等以调试问题;但是,编辑计时器以触发将来的一分钟,等待并检查日志非常繁琐。 可以做一些像systemctl --user execute xxxxxx.service计时器触发一样运行dang的事情吗?
21 systemd 

5
如何从systemctl服务日志中查看最新的x行
我正在寻找一种方法,可以简单地从Debian中的systemctl服务打印最后X行。我想将此代码安装到脚本中,该脚本使用打印的和最新的日志条目。我找到了这篇文章,但出于我的目的我无法对其进行修改。 当前,我正在使用此代码,这只是给我一小段日志文件: journalctl --unit=my.service --since "1 hour ago" -p err 要给出结果的外观示例,只需在上面的命令中键入任何服务,然后滚动到日志末尾即可。然后从底部开始复制最后300行。 我的想法是使用egrep ex。egrep -m 700 .但是从那以后我再也没有运气了


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.