关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » Linux »在Debian上使用systemd工具对系统进行管理的方法

    在Debian上使用systemd工具对系统进行管理的方法

    2007-07-01 17:50:37 出处:ITJS
    分享

    “一个软件只做一件事情”的哲学思想已经被这个新来者彻底颠覆。除了取代了 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 - 产生开机启动过程的时间图表

    2015619174442930.jpg (541×425)

    2015619174505546.jpg (640×473)

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


    复制代码代码如下:# man systemd.index

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

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。