问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在Debian上使用systemd管理系统

发布网友 发布时间:2022-04-23 20:02

我来回答

1个回答

热心网友 时间:2023-10-08 13:33

转载  现在就让我们来看看 systemd 是怎么改变你管理系统的习惯的。在使用 systemd 之前,你得先把 sysvinit 保存起来,以便在 systemd 出错的时候还能用 sysvinit 启动系统。这种方法只有在没安装 systemd-sysv 的情况下才能生效,具体操作方法如下:

  1.# cp -av /sbin/init /sbin/init.sysvinit 在紧急情况下,可以把下面的文本:

  1.init=/sbin/init.sysvinit添加到内核启动参数项那里。

  systemctl 的基本用法systemctl 的功能是替代“/etc/init.d/foo start/stop”这类命令,另外,其实它还能做其他的事情,这点你可以参考 man 文档。

  一些基本用法:

  •systemctl - 列出所有单元(UNIT)以及它们的状态(这里的 UNIT 指的就是系统上的 job 和 service)
  •systemctl list-units - 列出所有 UNIT
  •systemctl start [NAME...] - 启动一项或多项 UNIT
  •systemctl stop [NAME...] - 停止一项或多项 UNIT
  •systemctl disable [NAME...] - 将 UNIT 设置为开机不启动
  •systemctl list-unit-files - 列出所有已安装的 UNIT,以及它们的状态
  •systemctl --failed - 列出开机启动失败的 UNIT
  •systemctl --type=mount - 列出某种类型的 UNIT,类型包含:service, mount, device, socket, target
  •systemctl enable debug-shell.service - 将一个 shell 脚本设置为开机启动,用于调试
  为了更方便处理这些 UNIT,你可以使用 systemd-ui 软件包,你只要输入 systemadm 命令就可以使用这个软件。

  你同样可以使用 systemctl 实现转换运行级别、重启系统和关闭系统的功能:

  •systemctl isolate graphical.target - 切换到运行级别5,就是有桌面的运行级别
  •systemctl isolate multi-user.target - 切换到运行级别3,没有桌面的运行级别
  •systemctl reboot - 重启系统
  •systemctl poweroff - 关机
  所有命令,包括切换到其他运行级别的命令,都可以在普通用户的权限下执行。

  journalctl 的基本用法systemd 不仅提供了比 sysvinit 更快的启动速度,还让日志系统在更早的时候启动起来,可以记录内核初始化阶段、内存初始化阶段、前期启动步骤以及主要的系统执行过程的日志。所以,以前那种需要通过对显示屏拍照或者暂停系统来调试程序的日子已经一去不复返啦。

  systemd 的日志文件都被放在 /var/log 目录。如果你想使用它的日志功能,需要执行一些命令,因为 Debian 没有打开日志功能。命令如下:

  1.# addgroup --system systemd-journal2.# mkdir -p /var/log/journal3.# chown root:systemd-journal /var/log/journal4.# gpasswd -a $user systemd-journal 通过上面的设置,你就可以以普通用户权限使用 journal 软件查看日志。使用 journalctl 查询日志可以获得一些比 syslog 软件更方便的玩法:

  •journalctl --all - 显示系统上所有日志,以及它的用户
  •journalctl -f - 监视系统日志的变化(类似 tail -f /var/log/messages 的效果)
  •journalctl -b - 显示系统启动以后的日志
  •journalctl -k -b -1 - 显示上一次(-b -1)系统启动前产生的内核日志
  •journalctl -b -p err - 显示系统启动后产生的“ERROR”日志
  •journalctl --since=yesterday - 当系统不会经常重启的时候,这条命令能提供比 -b 更短的日志记录
  •journalctl -u cron.service --since='2014-07-06 07:00' --until='2014-07-06 08:23' - 显示 cron 服务在某个时间段内打印出来的日志
  •journalctl -p 2 --since=today - 显示优先级别为2以内的日志,包含 emerg、alert、crit三个级别。所有日志级别有: emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7)
  •journalctl > yourlog.log - 将二进制日志文件复制成文本文件并保存到当前目录
  Journal 和 syslog 可以很好的共存。而另一方面,一旦你习惯了操作 journal,你也可以卸载掉所有 syslog 的软件,比如 rsyslog 或 syslog-ng。

  如果想要得到更详细的日志信息,你可以在内核启动参数上添加“systemd.log_level=debug”,然后运行下面的命令:

  1.# journalctl -alb 你也可以编辑 /etc/systemd/system.conf 文件来修改日志级别。

  利用 systemd 分析系统启动过程systemd 可以让你能更有效地分析和优化你的系统启动过程:

  •systemd-analyze - 显示本次启动系统过程中用户态和内核态所花的时间
  •systemd-analyze blame - 显示每个启动项所花费的时间明细
  •systemd-analyze critical-chain - 按时间顺序打印 UNIT 树
  •systemd-analyze dot | dot -Tsvg > systemd.svg - 为开机启动过程生成向量图(需要安装 graphviz 软件包)
  •systemd-analyze plot > bootplot.svg - 产生开机启动过程的时间图表

  systemd 虽然是个年轻的项目,但已有大量文档。首先要介绍给你的是Lennart Poettering 的 0pointer 系列。这个系列非常详细,非常有技术含量。另外一个是免费桌面信息文档,它包含了最详细的关于 systemd 的链接:发行版特性文件、bug 跟踪系统和说明文档。你可以使用下面的命令来查询 systemd 都提供了哪些文档:

  1.# man systemd.index 不同发行版之间的 systemd 提供的命令基本一样,最大的不同之处就是打包方式。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在excel中输入产品序号如何直接引出相应的信息 excel表格输序号自动出现内容 戏剧教育主要学什么内容 戏剧教育专业就业前景和就业方向怎么样 戏剧教育专业学什么 2025就业前景怎么样 戏剧教育学什么 戏剧教育专业是本科还是专科 戏剧教育专业要读多少年 戏剧教育是什么专业 贵州省合医在浙江省能直接报销吗 翼支付怎么使用啊? centos7安装提示failed to start switch root. see'systemctl status initrd-switch-root.service'for de 怎么用翼支付缴纳水电费? centos安装是进去命令 翼支付怎么用? linux 安装 .tgz 包下没有 configure 文件 只有 configure.ac文件 怎么安装啊 怎么用翼支付卡? ubuntu有systemctl命令吗? 怎么用翼支付业务? 服务器上启动systemctl start crond.service 出现提示错误 Faile 如何安装配置Collectd和Collectd-Web监控服务器资源 如何管理’Systemd’服务和单元在Linux中使用’Systemctl’ systemctl daemon-reload 这个指令是什么意思? centos 7中如何用 yum 安装 firewall-cmd 和 systemctl 命令? 我用minimal安装后找不到这两个命令了。 centos 7中如何用 yum 安装 firewall-cmd 和 systemctl 命令? 如何在网上查询自己有没有买社保 怎样才能在网上查到我有没有办到社保? 怎么在网上查自己有没有买社保 能在网上查询自己有没有办社保吗? 如何在网上查询自己有没有办理社保卡 centos7 安装mysql8.0 systemctl start mysqld 卡住但是服务是起来了... 怎样使用翼支付账户进行消费? 翼支付如何使用? 如何在CentOS 7中安装,配置和安全加固FTP服务 翼支付的功能是什么如何使用? 为什么在centos7中找不到systemctl 如何使用翼支付账户进行消费? 如何在 Kali Linux上安装SSH服务 请问如何使用翼支付“号码转帐”功能? 公交怎么用翼支付? 翼支付卡怎么消费使用? 香港哪些外汇保证金交易商是合法的 请问,在香港做期货或者外汇保证金、黄金保证金交易,是否可以穿仓? 请教有关外汇保证金交易的时间问题 外汇保证金交易的交易 怎样做外汇保证保证金交易 去香港开户外汇保证金必须要亲自去香港才可以办吗?在*可以办理香港的外汇保证金吗? 果汁打好后可以放多久 果汁可以放多久 水果汁可以放多久