我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在Debian上使用systemd工具对系统进行管理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在Debian上使用systemd工具对系统进行管理

本篇内容介绍了“如何在Debian上使用systemd工具对系统进行管理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

“一个软件只做一件事情”的哲学思想已经被这个新来者彻底颠覆。除了取代了 sysvinit 成为新的系统初始化工具外,systemd 还是一个系统管理工具。目前为止,由于 systemd-sysv 这个软件包提供的兼容性,那些我们使用惯了的工具还能继续工作。但是当 Debian 将 systemd 升级到214版本后,这种兼容性就不复存在了。升级措施预计会在 Debian 8 "Jessie" 的稳定分支上进行。从此以后用户必须使用新的命令来管理系统、执行任务、变换运行级别、查询系统日志等等。不过这里有一个应对方案,那就是在 .bashrc 文件里面添加一些别名。

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

   

代码如下:

# cp -av /sbin/init /sbin/init.sysvinit

在紧急情况下,可以把下面的文本:

   

代码如下:

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 没有打开日志功能。命令如下:

   

代码如下:

# addgroup --system systemd-journal
   # mkdir -p /var/log/journal
   # chown root:systemd-journal /var/log/journal
   # 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”,然后运行下面的命令:

   

代码如下:

# 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 - 产生开机启动过程的时间图表
如何在Debian上使用systemd工具对系统进行管理

如何在Debian上使用systemd工具对系统进行管理

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

代码如下:

# man systemd.index

不同发行版之间的 systemd 提供的命令基本一样,最大的不同之处就是打包方式。

“如何在Debian上使用systemd工具对系统进行管理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在Debian上使用systemd工具对系统进行管理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在Debian上使用systemd工具对系统进行管理

本篇内容介绍了“如何在Debian上使用systemd工具对系统进行管理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!“一个软件只做一件事情
2023-06-13

如何使用Systemd进程管理工具

这期内容当中小编将会给大家带来有关如何使用Systemd进程管理工具,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 1. systemd介绍systemd是目前Linux系统上主要的系统守护进程管理工具,
2023-06-15

如何查看Linux系统中的进程管理工具SystemD

这篇文章主要介绍“如何查看Linux系统中的进程管理工具SystemD”,在日常操作中,相信很多人在如何查看Linux系统中的进程管理工具SystemD问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何查看L
2023-06-12

如何在Linux系统中使用Systemd管理Crontab任务

要在Linux系统中使用Systemd管理Crontab任务,需要执行以下步骤:1. 创建一个新的Systemd服务单元文件,可以使用任何文本编辑器来创建一个以.service为后缀的文件,比如mycron.service。```sudo
2023-10-09

如何进行Linux系统上数据库管理和开发工具DBeaver使用安装

这篇文章给大家介绍如何进行Linux系统上数据库管理和开发工具DBeaver使用安装,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。简介在Windows上,有很多的MySQL客户端,但是在Linux上的好用的、兼容性好的
2023-06-28

如何在Linux平台上使用Python脚本进行系统管理

如何在Linux平台上使用Python脚本进行系统管理摘要:Linux是一种强大的开源操作系统,而Python是一种功能强大的编程语言。本文将介绍如何使用Python脚本在Linux平台上进行系统管理,包括文件管理、进程管理、系统监控等方面
2023-10-22

如何使用PHP脚本进行Linux系统管理

在Linux系统管理中使用PHP脚本可以极大地简化管理操作,提高效率。PHP语言具有良好的兼容性和强大的功能,可以轻松实现对Linux系统的管理任务。本文将介绍如何使用PHP脚本进行Linux系统管理,并提供具体代码示例。一、使用PHP执行
2023-10-21

如何在java中使用DateUtils工具类对时间进行转换

本文章向大家介绍如何在java中使用DateUtils工具类对时间进行转换,主要包括如何在java中使用DateUtils工具类对时间进行转换的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。J
2023-05-30

如何在麒麟操作系统上进行文件管理和备份

在麒麟操作系统上进行文件管理和备份,可以使用以下方法:1. 文件管理: - 打开文件管理器:可以在桌面或者应用菜单中找到“文件管理器”图标,点击打开。 - 创建文件夹:在文件管理器中,右键点击空白区域,选择“新建文件夹”,输入文件夹
2023-10-12

如何使用Python中的模块管理工具进行软件开发

如何使用Python中的模块管理工具进行软件开发在Python的世界里,有许多优秀的第三方模块可以帮助我们更高效地开发软件。然而,当项目规模逐渐增大时,引入的模块也会越来越多,这就需要一个良好的模块管理工具来管理这些模块之间的依赖关系。Py
2023-10-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录