

Linux的Systemd系统管理
source link: https://www.ishells.cn/archives/linux的systemd系统管理
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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
Recommend
-
111
CentOS7中,系统自带的netfilter操作程序由iptables变为firewalld。firewalld引入了zone的概念,一、firewalld中的9个zonefirewalld这个模块zone这个概念指的二、firewalld的应用操作前,我们看下当前系统中应用的是哪种防火墙程序。systemctllist-units--all--typ...
-
102
Linux系统本身包含了很多服务,CentOS6之前系统的服务用SysV控制,CentOS7改为systemd控制一、chkconfig服务管理机制简而言之,chkconfig就是CentOS6以前用来控制系统服务的工具,常用方法举例chkconfig--list#列出所有的系统服务。chkconfig--addhttpd#增加httpd...
-
96
一、系统日志系统日志是我们了解系统状况,服务启动情况,学会阅读日志是我们了解系统运行状况并进行管理的基本技能。(一)/var/log/messages系统中的各种操作都会记录到系统日志中,日志储存在/var/log/目录中,日志会被系统的logrotate程序自动切割,就是日志文...
-
116
理论:1.常见文件系统Linux文件系统:ext2,ext3,ext4,xfs,btrfs,reiserfs,jfs,swap(交换分区)iso9660(光盘)Windows:fat32,ntfsUnix:FFS,UFS,JFS2网络文件系统:NFS,CIFS集群文件系统:GFS2,OCFS2分布式文件系统:ceph,moosefs,mogilefs,GlusterFS,Lustre在centos...
-
95
os, os.path, shutil, sys一瞥...
-
66
本书以CentOS 5为蓝本,分两部分介绍了Linux操作系统的基本使用和系统管理。基础篇介绍了自由软件和开源软件的基础知识、Linux的基础知识、CentOS 5的安装、Linux字符操...
-
43
硬盘是计算的重要组成部件之一,硬盘为操作系统提供持久话存储的功能,在Linux硬盘设备的性能和好坏可能关系到生成线的安全和用户体验等等。熟练的掌握硬盘管理相关的信息能让我们处理起这些问题来得心应手。#Linux中最为重要到的哲学就是一切皆文件,硬盘设备也不...
-
54
本书以CentOS 5为蓝本,分两部分介绍了Linux操作系统的基本使用和系统管理。基础篇介绍了自由软件和开源软件的基础知识、Linux的基础知识、CentOS 5的安装、Linux字符操...
-
4
Linux系统管理技术手册第10章系统实践 浏览:2048次 出处信息 E10.1 保留老日志文件的主要理由是什...
-
5
Linux系统管理手册第二章习题实践 浏览:1620次 出处信息 E2.1 为什么在安装LILO引导加载程序...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK