相关疑难解决方法(0)

如何从systemctl状态服务查看完整日志?

我用 来检查服务状态systemctl status service-name

默认情况下,我只看到几行,所以我添加-n50以查看更多。

有时,我想从头开始查看完整日志。它可能有 1000 行。
现在,我检查它,-n10000但这看起来不是很好的解决方案。

是否有类似于less命令的选项来检查完整的 systemd 服务日志?

logs systemd

683
推荐指数
6
解决办法
96万
查看次数

我在哪里放置我的 systemd 单元文件?

读到单元文件有两个文件夹(不在用户模式下)。

/usr/lib/systemd/system/: units provided by installed packages
/etc/systemd/system/: units installed by the system administrator
Run Code Online (Sandbox Code Playgroud)

与这种理解相冲突的是这个问题的答案:如何为 Systemd 编写启动脚本。有人可以填写缺失的信息以便我了解发生了什么吗?(更新:答案已更新,我的理解不再与之冲突。

此外,脚本似乎组织在文件夹内的子/etc/systemd/system/文件夹中:

getty.target.wants
multi-user.target.wants
Run Code Online (Sandbox Code Playgroud)

在另一个位置,我读到还有其他位置。这些似乎是针对用户特定的服务。

/usr/lib/systemd/user/ where services provided by installed packages go.
/etc/systemd/user/ where system-wide user services are placed by the system administrator.
~/.config/systemd/user/ where the user puts its own services.
Run Code Online (Sandbox Code Playgroud)

2015-08-31 更新:

为了其他人,这里是我最近问的一个相关问题的链接:我在哪里放置由 systemd 单元执行的脚本?

directory-structure systemd

132
推荐指数
4
解决办法
13万
查看次数

关机前执行命令

我想在计算机关闭之前执行一个简单的命令(时间不是必需的)。

对于启动,我可以使用/etc/rc.local;关闭有类似的东西吗?

请注意,我仍然想使用菜单中的集成关机按钮;即我不想每次通过终端关闭时都使用自定义脚本 - 它需要是自动的。

shutdown shell-script linux-mint

60
推荐指数
3
解决办法
11万
查看次数

在引导/启动期间运行脚本;init.d 与 cron @reboot

我目前正在尝试了解在系统启动/引导时运行脚本的init.dcron 和 cron之间的区别@reboot

使用的@reboot(这种方法中提到的这个论坛hs.chandra)是一些什么比较简单,通过简单地进入crontab -e并创建一个@reboot /some_directory/to_your/script/your_script.txt,然后your_script.txt,应在每次系统启动时执行。的深入解释@reboothere

或者通过嵌入/etc/init.d/your_script.txt到脚本的第二行,即:

#!/bin/bash
# /etc/init.d/your_script.txt
Run Code Online (Sandbox Code Playgroud)

您可以运行,chmod +x /etc/init.d/your_script.txt并且your_script.txt每次系统启动时也应该运行。

Q1:两者的主要区别是什么?
Q2:哪个更健壮?
Q3:两者中是否有更好的一个?
Q4:这是嵌入脚本以在启动期间运行的正确方法吗?

我将合并一个 bash .sh 文件以在启动期间运行。

startup scripting cron init-script sysvinit

55
推荐指数
2
解决办法
14万
查看次数

一个用于启动和启用的 systemctl 命令

使用一个命令来启动和启用systemctl托管软件将有助于在几个脚本中节省几行,使它们更美观(不是真正的问题,而是一件好事)。

是否有一个systemctl命令startenable一个由 控制的程序systemctl

startup shell-script systemd systemctl

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

systemctl - 服务退出代码和状态信息说明

通过以下方式检查服务状态时 systemctl

systemctl status docker
Run Code Online (Sandbox Code Playgroud)

输出是这样的

? docker.service - Docker 应用容器引擎
  已加载:已加载(/lib/systemd/system/docker.service;已启用;供应商预设:已启用)
  活动:自 2018-03-19 星期一 13:52:21 CST 起不活动(死)(结果:退出代码);4 分 32 秒前
  文档:https://docs.docker.com
  进程:6001 ExecStart=/usr/bin/dockerd -H fd://(代码=退出,状态=205/LIMITS)
  主 PID: 6001 ( code=exited, status=205/LIMITS )

问题是关于粗体部分:主进程退出代码和状态信息。
是否有所有代码和状态及其解释的列表?


我知道大多数时候它是不言自明的(我知道这里问题的答案)但最近我们在工作中经常遇到这个问题(有些人通过谷歌搜索但找不到它,其他人打开systemd.service手册页,搜索例如代码203并没有找到它......)所以我想我不妨把它放在这里,这样人们通过谷歌更容易找到答案。

systemd

22
推荐指数
1
解决办法
5万
查看次数

如何在用户登录 linux 之前执行命令

这是我在几个 Linux 版本中多次看到的问题,所以让我们尽量详尽无遗。
在用户登录其桌面会话之前和之后执行脚本/命令/程序的方法是什么?

gdm lightdm lxdm

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

如何在 CentOS 中永久删除 eth0.x

我正在尝试删除 eth0.x 并保留 eth0。虽然ifconfig列出了 eth0.1 和 eth0.500,但我没有找到它们的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0.x

我试过了ifconfig eth0.1 down,它奏效了。但是重新启动网络后,eth0.1 和 eth0.500 都回来了。

有没有办法永久删除这两个接口?

networking ethernet network-interface ifconfig

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