Linux必学|systemd服务全解析,从入门到实操作为Linux运维和开发者,你一定听过systemd这个词——它是Linux系统的大管家,掌控着系统启动、服务管理、日志监控等核心操作。
一、先搞懂:什么是systemd?
systemd 是 Linux 操作系统的系统和服务管理器,简单说,它是系统启动后第一个运行的进程,由内核直接启动,接管后续所有系统服务的启动、维护和停止,相当于Linux系统的总管家。
在systemd出现之前,Linux主要用 SysV init(简称sysv)管理服务,它通过串行执行脚本启动服务,效率低、依赖管理混乱,启动慢且容易出问题。
而systemd的诞生,就是为了解决这些痛点,它的核心优势的是:
并行启动服务,大幅提升系统开机速度;
精准管理服务依赖,避免“服务没启动就调用”的问题;
统一日志管理,排查问题更高效;
支持按需激活服务,节省系统资源;
与传统sysv脚本向后兼容,降低学习成本。
如今,几乎所有主流Linux发行版都默认使用systemd。
二、核心概念:systemd的管理单元——Unit
在systemd的世界里,一切可 ...
ubuntu 环境下的 docker 安装docker 的安装:
1apt install docker.io
一条命令就安装完了,后续是镜像源的配置。如果不想配,就直接使用对方的网址+镜像。比如:
1docker pull 666860.xyz/hello-world
镜像站点的帮助文档:
日常找镜像可以在它的网站上搜:
找到镜像后,使用 pull 拉取镜像即可。如果不想每次pull前都加网站名称,可以将镜像网址写到配置文件中:
1234567891011$ cat /etc/docker/daemon.json{ "registry-mirrors":[ "https://666860.xyz/" ]}$ systemctl daemon-reload$ systemctl stop docker$ systemctl start docker
后续拉取镜像就不用加网址了:
1docker pull ubuntu:20.04
有些镜像国内的同步源没 ...
systemd:从基础到进阶一、概述systemd是一个系统和服务管理器,systemd是Linux系统中一套基本的构建模块,提供了一系列工具的集合,用于管理后台服务、状态查询、日志归档、设备管理、电源管理和定时任务等许多职责。
systemd作为PID为1的进程,是系统中所有其他进程的父进程。
systemctl是一个命令行工具,用于与systemd进行交互。通过systemctl,用户可以启动、停止、重启、查看状态以及管理系统中的服务单元
systemd作为后台服务运行,而systemctl则提供了用户与systemd交互的接口。用户通过systemctl发送指令,systemd执行相应的操作
systemctl的命令实际上是向systemd发送请求,告诉systemd要做什么。
systemd通过单元文件(Unit files)来描述和管理不同的系统资源和服务。Systemd 支持的 12 种 Unit 文件类型。下面就将我们生产环境中常用到的Service单元文件展开讲解。
二、service文件定义软件服务的文件通常是systemd服务单元文件,具有.service后缀,这些 ...
blendOS 是一款基于 Arch Linux 的新型 Linux 发行版,由 Ubuntu Unity 的维护者 Rudra Saraswat 开发。它的目标非常大胆:取代所有 Linux 发行版,通过容器化技术将不同发行版的生态融合在一起,让用户无需频繁“跳槽”,在一个系统中即可享受多种发行版的优势。
🏞️ 界面预览
📜 起源与发展
• 🕰️ 2022 年:blendOS 项目启动,定位为“不可变(Immutable)Linux”。
• 🧑💻 开发理念:结合 Arch 的滚动更新与容器化,解决 Linux 用户频繁更换发行版的痛点。
• 🔄 版本演进:
• v1:初步展示容器化运行多发行版的能力。
• v2:引入更多桌面环境支持。
• v3(代号 Bhatura,2023 年发布):支持 7 种桌面环境、10 个容器发行版、Android 应用运行。
🎯 核心设计理念
• 🛡️ 不可变系统:系统核心只读,更新通过 ISO 镜像重建,安全稳定。
• 🧩 多发行版融合:通过 Distrobox/Podman 容器运行 Fedora、Ubun ...
vim常用命令,linux必备目录
一、前言
二、移动与跳转
三、删除与复制
四、搜索与替换
五、文件操作
六、其他命令
一、前言掌握vim是linux必备技能,当掌握了vim的操作,很多时候比文本编辑器或IDE更高效。
二、移动与跳转
命令
说明
set nu
显示行号;
set nonu
取消显示行号;
0
数字0,移动到行首;
$
移动到行尾;
gg
移动到文档的第一行;与1G一样;
G
移动到文档的最后一行;
nG
n为数字,移动到第n行;
n<回车>
向下移动n行;
Ctrl + f
向下翻页,即Page Down;
Ctrl + b
向上翻页,即Page Up;
Ctrl + d
向下翻半页;
Ctrl + u
向上翻半页;
h
向左;
j
向下;nj表示向下移动n行;
k
向上;
l
向右;
H
移动到屏幕第一行;
M
移动到屏幕中间一行;
L
移动到屏幕最后一行;
+
非空格符的下一行;
-
非空格符的上一行;
三、删除与复制
命令
说明
dd
删除 ...
yum下载某个服务所需的包文件并安装此功能用于服务器不能和外网通信,安装某个服务时需要先在能上外网的主机上下载rpm包,然后进行安装。
12345678910111213141516# 在本机未安装此服务时使用以下指令:$ yum install --downloadonly --downloaddir=/tmp/httpd/ httpd# 仅下载httpd服务所需的rpm包,而不安装# --downloaddir:指定下载的rpm包存放路径# 若本机已安装此服务,则使用reinstall选项即可$ yum reinstall --downloadonly --downloaddir=/tmp/httpd/ httpd# 当rpm包下载后打包到其他主机上,可以使用以下指令安装$ yum -y localinstall /tmp/httpd/*
2024.04.12作
配置更新尝试:2024.05.10
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566##openrestyworker_processes 4worker_connection 102400keepalive_timeout 60client_max_body_size 32Mworker_cpu_affinity 1000 0100 0010 0001;brotli on;brotli_comp_level 6;brotli_static always;brotli_min_length 1k;brotli_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject applicatio ...
lsof如何揭示Linux一切皆文件的终极真相在 Linux 世界里,有一句几乎被奉为真理的话:
一切皆文件(Everything is a file)
但很多工程师只是在概念层面理解它。
直到你真正用好一个工具 —— lsof(List Open Files),你才会意识到:
它不是一句哲学,而是一个可以被“观测”的系统事实。
这篇文章,我们彻底讲清:
lsof 的底层原理
它如何印证“一切皆文件”
生产环境 15+ 高价值使用场景
和 netstat / ss / ps 的区别
排查线上问题的完整思维模型
一、什么是 lsof?lsof 是一个 Unix/Linux 下用于列出进程打开文件的工具。
注意关键词:
不是“普通文件”而是“所有文件描述符”
在 Linux 中,以下对象全部通过 file descriptor (FD) 表示:
对象
是否文件
普通文件
✅
目录
✅
TCP 连接
✅
UDP 连接
✅
Unix Socket
✅
管道 pipe
✅
匿名内存映射
✅
设备文件 / ...
为什么 Linux 要用 tar.gz,很少用 7z 或 zip7z 和 zip 的局限7z 和 zip,这两位压缩界的老大哥,虽然强大,但在 Linux 面前却有个软肋——它们不能保留 Unix 风格的文件权限。这意味着,解压后的文件可能会失去原有的权限设置,需要你手动恢复。
7z 在 Wikipedia 条目有写明:
The 7z format does not store filesystem permissions (such as UNIX owner/group permissions or NTFS ACLs)
7z 格式不会存储文件系统权限(例如 UNIX 的所有者/组权限或 NTFS 的访问控制列表(ACLs))。
参考官方 ZIP 标准:https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.3.5.TXT
tar 的魔法而 tar,这个看似简单的工具,却能完美保留文件的权限。它不仅仅是把文件内容打包,连同文件的权限也一并封装起来。这就像是给每个文件施加了一层保护咒语,确保它们在解压后依然安 ...
一文看懂Linux嵌入式/etc/init.d/目录下的所有启动文件init.d是指包含一系列Shell脚本的目录,这些脚本用于控制服务(也称为守护进程)的生命周期。当系统启动时,init进程会根据预定义的规则执行这些脚本,以确保必要的服务能够正确启动。
/etc/init.d/目录下的所有文件
1[cloud@localhost ~]$ lsS01logging* S30dbus* S50telnet* S90start_userapp.sh* S10udev* S40network* S70vsftpd* socketcand*S13portmap* S50dropbear* S80mount-opt* rcK*S20urandom* S50sshd* S81web.sh* rcS*
fil ...
