小编Wim*_*eka的帖子

/proc/kmsg 和 /dev/kmsg 有什么区别?

我正在学习journaldrsyslog阅读时我看到可以rsyslog/dev/kmsg和 中journald读取/dev/kmsg/proc/ksmg

我知道这些都是内核日志,但是/proc/kmsg和之间有什么区别/dev/kmsg?为什么一个看起来是一个进程而另一个看起来是一个设备?

logs kernel

11
推荐指数
1
解决办法
2821
查看次数

systemd 之前和之后的声明

man for systemd unit 的定义有点不清楚:https : //www.freedesktop.org/software/systemd/man/systemd.unit.html

如果一个单元foo.service包含一个设置Before=bar.service并且两个单元都在启动,则bar.service的启动将延迟到 foo.service启动。[...] After=是 的倒数Before=,即 whileAfter=确保在列出的单元完成启动后启动已配置的单元, Before=确保相反,在启动列出的单元之前已配置的单元完全启动。

可以说我有a.serviceb.service。我想a.service之前完全启动,b.service因为b.service取决于a.service.

阅读上述手册页后,我找不到任何关于是否的结论性解释:

  • 需要Before=b.servicea.service单元文件中指定
  • 需要After=a.serviceb.service单元文件中指定
  • 您需要 After=a.serviceb.service单位的文件,并 Before=b.servicea.service单元文件

我需要为 systemd 单元文件声明哪些依赖项?有关系吗?

dependencies systemd services

9
推荐指数
1
解决办法
2万
查看次数

创建 debian 包时放置 systemd 服务 EnvironmentFile 的位置

我目前正在重写作业upstart以使用systemd,我想知道:

“默认”位置在哪里 EnvironmentFile哪里?

它可能会进入 /etc/environment

它可能包含 中的所有其他服务文件/etc/systemd/service/run/systemd/system或者/lib/systemd/system但我EnvironmentFile在这些位置没有看到任何其他sService

我也讨论过 /etc/default//etc/<PACKAGE_NAME>

没有记录在案的“常规”位置可以放置它。我见过的许多示例似乎都在使用/tmp/<FILE_NAME>,这/tmp在重新启动时被擦除是没有意义的,并且这些文件需要保留,以便在Service启动或重新启动时可以引用它们。


背景:我EnvironmentFile在安装 debian 软件包之前生成预安装时间(使用维护者脚本),并且我知道每次启动/重新启动服务时该文件都必须可用。

environment-variables systemd files

8
推荐指数
1
解决办法
9731
查看次数

dh_auto_install 的 prefix 和 destdir 参数之间有什么区别?

我想制作自己的 debian 软件包,并将其安装在/opt/A/B/C.

当覆盖dh_auto_install文档显示您可以使用 params--destdir=-- prefix=.

如果我想安装我的 debian 内容,/opt/A/B/C我可以通过以下方式指定:

override_dh_auto_install:
    dh_auto_install -- prefix=/opt/A/B/C
Run Code Online (Sandbox Code Playgroud)

或者

override_dh_auto_install:
    dh_auto_install --destdir=/opt/A/B/C
Run Code Online (Sandbox Code Playgroud)

注意:我计划将 deb 安装到 Ubuntu 14.04 系统上。

packaging deb

6
推荐指数
2
解决办法
3310
查看次数

postinst 维护者脚本阻止 systemd 单元文件在安装时自动启动

我正在创建一个小的 Debian 包来安装 systemd 单元文件,特别是*.service文件。

我的包裹看起来像:

myservice
      | 
      |--debian
            |- comapat
            |- preinst
            |- postinst
            |- rules
            |- myservice.service
Run Code Online (Sandbox Code Playgroud)

当我安装我的软件包时,systemd 服务会自动禁用并且不会启动。

安装后立即systemctl status myservice显示

root@ubuntu-xenial:~# systemctl status myservice
  ? myservice.service - My Service - echos output and says when it started
  Loaded: loaded (/lib/systemd/system/myservice.service; disabled; vendor preset: enabled)
  Active: inactive (dead)
Run Code Online (Sandbox Code Playgroud)

但是,当我在没有postinst脚本的情况下安装我的包时,systemd 服务会自动启用,并且它们会在安装后启动。

root@ubuntu-xenial:~# systemctl status myservice
? myservice.service - MyService - echos output and says when it started
Loaded: loaded (/lib/systemd/system/myservice.service; …
Run Code Online (Sandbox Code Playgroud)

ubuntu debian systemd

1
推荐指数
1
解决办法
1666
查看次数