2、系统管理
Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。
2.1 systemctl
systemctl是Systemd的主命令,用于管理系统
# 重启系统 $ sudo systemctl reboot # 关闭系统,切断电源 $ sudo systemctl poweroff # CPU停止工作 $ sudo systemctl halt # 暂停系统 $ sudo systemctl suspend # 让系统进入冬眠状态 $ sudo systemctl hibernate # 让系统进入交互式休眠状态 $ sudo systemctl hybrid-sleep # 启动进入救援状态(单用户状态) $ sudo systemctl rescue
2.2 systemd-analyze
systemd-analyze命令用于查看启动耗时
# 查看启动耗时 $ systemd-analyze
# 查看每个服务的启动耗时 $ systemd-analyze blame
# 显示瀑布状的启动过程流 $ systemd-analyze critical-chain
# 显示指定服务的启动流 $ systemd-analyze critical-chain docker.service
2.3 hostnamectl
hostnamectl命令用于查看当前主机的信息
# 显示当前主机的信息 $ hostnamectl # 设置主机名。 $ sudo hostnamectl set-hostname ishells
2.4
localectl命令用于查看本地化设置
# 查看本地化设置 $ localectl # 设置本地化参数。 $ sudo localectl set-locale LANG=en_GB.utf8 $ sudo localectl set-keymap en_GB
2.5 timedatectl
timedatectl命令用于查看当前时区设置
# 查看当前时区设置 $ timedatectl # 显示所有可用的时区 $ timedatectl list-timezones # 设置当前时区 $ sudo timedatectl set-timezone America/New_York $ sudo timedatectl set-time YYYY-MM-DD $ sudo timedatectl set-time HH:MM:SS
2.6 loginctl
loginctl命令用于查看当前登录的用户
# 列出当前session $ loginctl list-sessions # 列出当前登录用户 $ loginctl list-users # 列出显示指定用户的信息 $ loginctl show-user root
3、Unit
3.1 概念
Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。Unit 一共分成 12 种。
systemctl list-units命令可以查看当前系统的所有 Unit
# 列出正在运行的 Unit $ systemctl list-units
# 列出所有Unit,包括没有找到配置文件的或者启动失败的 $ systemctl list-units --all # 列出所有没有运行的 Unit $ systemctl list-units --all --state=inactive
# 列出所有加载失败的 Unit $ systemctl list-units --failed
# 列出所有正在运行的、类型为 service 的 Unit $ systemctl list-units --type=service
3.2 Unit 的状态
systemctl status命令用于查看系统状态和单个 Unit 的状态
# 显示系统状态 $ systemctl status # 显示单个 Unit 的状态 $ sysystemctl status docker # 显示远程主机的某个 Unit 的状态 $ systemctl -H root@ishells status docker
除了status命令,systemctl还提供了三个查询状态的简单方法,主要供脚本内部的判断语句使用
# 显示某个 Unit 是否正在运行 $ systemctl is-active docker
# 显示某个 Unit 是否处于启动失败状态 $ systemctl is-failed docker
# 显示某个 Unit 服务是否建立了启动链接 $ systemctl is-enabled docker
3.3 Unit 管理
日常使用中,最熟悉的就是以下这些命令了应该
# 立即启动一个服务 $ sudo systemctl start docker .service # 立即停止一个服务 $ sudo systemctl stop docker .service # 重启一个服务 $ sudo systemctl restart docker.service # 杀死一个服务的所有子进程 $ sudo systemctl kill docker.service # 重新加载一个服务的配置文件 $ sudo systemctl reload docker.service # 重载所有修改过的配置文件 $ sudo systemctl daemon-reload # 显示某个 Unit 的所有底层参数 $ systemctl show httpd.service # 显示某个 Unit 的指定属性的值 $ systemctl show -p CPUShares httpd.service # 设置某个 Unit 的指定属性 $ sudo systemctl set-property httpd.service CPUShares=500
3.4 Unit依赖关系
相互依赖关系主要分为三种:socket依赖、D-Bus(进程间通信)依赖、文件系统依赖。在systemd初始化系统机制中,不管程序的依赖关系如何,全部可以并行启动,若调用的服务程序存在依赖关系,则自动激活其他程序。
systemctl list-dependencies命令列出一个 Unit 的所有依赖
systemctl list-dependencies docker.service
上图显示的结果中,Target类型(下文)的依赖默认不会展开显示,如果要展开Target,就需使用--all参数
systemctl list-dependencies --all docker
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 企业微信和后台管理系统的结合管理(1)---各个系统之间的关系和协同。
- EleWeb v1.4.0 旗舰版发布,新增系统配置管理模块,统一管理系统配置信息
- TS 酒店管理系统 1.4.0 发布:一款针对中小型酒店的管理系统
- 若依管理系统 1.0.2 发布,新增部门管理
- 若依管理系统 1.0.3 发布,新增用户管理
- 若依管理系统 1.0.4 发布,新增角色管理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。