day014-服务管理

发布于:2025-05-14 ⋅ 阅读:(12) ⋅ 点赞:(0)

1. 提问的方式

1.1 注意事项

  • 提问的时候要礼貌,然后直接提出问题
  • 描述问题、截图要截全、把图中关键内容复制出来
  • 提问的时候描述清楚问题就是给别人节约时间,别人更愿意提供帮助
  • 故障解决好后,总结下来,发给你询问过的人

1.2 start法则-提问/面试

star法则 说明
s 什么情况
t 什么目标
a 什么步骤
r 什么结果

2. systemctl 系统服务管理

systemctl管理的服务默认要通过yum/apt或rpm/deb方式安装;

二进制和编译安装默认无法通过systemctl管理,需要手动配置systemctl文件。

2.1 开启和自启动服务sshd

systemctl start sshd
systemctl enable sshd
systemctl enable sshd --now

2.2 关闭和永久禁用防火墙

[root@oldboy99-Kylin ~]# systemctl stop firewalld
[root@oldboy99-Kylin ~]# systemctl disable firewalld
[root@oldboy99-Kylin ~]# systemctl disable firewalld --now 

2.3 查看服务的状态

[root@oldboy99-Kylin ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
# 查看服务是否启动
[root@oldboy99-Kylin ~]# systemctl is-active firewalld.service
inactive
# 查看服务是否自启动
[root@oldboy99-Kylin ~]# systemctl is-enabled firewalld.service
disabled

2.4 重启服务

[root@oldboy99-Kylin ~]# systemctl restart sshd.service 

2.5 sshd重启失败案例

  • 备份sshd的配置文件,在该文件最后添加随机字符,重启动服务
[root@oldboy99-Kylin ~]# echo "skx 12345" >> /etc/ssh/sshd_config
[root@oldboy99-Kylin ~]# systemctl restart sshd.service 
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xe" for details.
  • 根据故障提示查看sshd服务的状态
[root@oldboy99-Kylin ~]# systemctl status sshd.service 
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Wed 2025-05-14 19:18:35 CST; 6s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
# sshd处于自动重启的状态
  • journalctl -xe -u sshd 查看sshd服务的日志
  • journalctl:系统日志管理工具
选项 说明
-x 显示详细日志信息
-e 跳转到日志末尾
-u unit(单元),查看某个服务的日志

在这里插入图片描述

  • 然后修改配置文件,删除错误的配置,重启服务即可。

3. localectl 字符集管理

[root@oldboy99-Kylin ~]# localectl 
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: cn

3.1 临时修改语言

# 修改成英文语言
[root@oldboy99-Kylin ~]# export LANG=en_US.utf8 
  • 重新远程连接就失效

3.2 永久修改语言

[root@oldboy99-Kylin ~]# localectl set-locale LANG=en_US.UTF-8 
[root@oldboy99-Kylin ~]# localectl 
   System Locale: LANG=en_US.UTF-8
       VC Keymap: cn
      X11 Layout: cn
[root@oldboy99-Kylin ~]# cat /etc/locale.conf 
LANG=en_US.UTF-8

3.3 用脚本修改语言

[root@oldboy99-Kylin ~]# cat locale.sh
export LANG=PLANG=en_US.UTF-8
echo 统计cpu信息:
lscpu |grep 'Socket(s)' |awk '{print $2}'

[root@oldboy99-Kylin ~]# bash locale.sh
统计cpu信息:
1

4. 面试题

4.1 Linux的运行级别

运行级别 说明
0 关机
1 rescue,救援模式
2 multi-user,多用户模式、命令行模式、文本模式
3 multi-user,多用户模式、命令行模式、文本模式
4 multi-user,多用户模式、命令行模式、文本模式
5 graphical,桌面模式、图形化模式
6 重启
  • 修改运行级别
# 查看运行级别
[root@oldboy99-Kylin ~]# systemctl get-default 
multi-user.target
# 修改运行级别
[root@oldboy99-Kylin ~]# systemctl set-default multi-user.target 

4.2 Linux启动流程

在这里插入图片描述

5. 踩坑记录

1. sshd服务处于自动重启状态,为啥xshell还能保持连接?

SSH 会话独立于 sshd 主进程

  • sshd 主进程/usr/sbin/sshd)负责 监听端口接受新连接
  • 已建立的 SSH 会话子进程(sshd: user@pts/0 处理,即使主进程崩溃或重启,已连接的会话仍然存活

6. 思维导图

【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX