- 博客(34)
- 收藏
- 关注
原创 你真的理解了硬链接和软链接吗?
特性硬链接软链接是否新 inode❌ 共享原 inode✅ 新建 inode内容存储无(仅目录项)存储目标路径字符串跨文件系统❌ 不支持✅ 支持指向目录❌ 不允许✅ 允许目标删除后仍可访问(只要 link count > 0)悬空,无法访问链接计数影响增加原 inode 的 link count不影响目标 inode 的 link count。
2025-11-28 19:19:23
709
原创 Docker原理之一的Namespace详解
Docker容器基于以上六种namespace,实现了一个容器与外界的进程ID,用户ID,主机名,文件名,网络和进程间通信等资源的隔离。
2025-11-26 22:14:54
506
原创 容器的生命周期以及容器常用的操作命令
容器是一个基于镜像创建的可运行实例,并且单独存在。一个镜像可以创建出多个容器。以上便是一个容器的组成,运行一个容器时,实际上是在容器化的环境里创建该文件系统的读写副本,这样就添加了一个容器层,这一层可以修改整个镜像的整个副本。
2025-11-22 20:13:36
871
原创 镜像的一些基本操作以及镜像的实现原理
简答:镜像是一个只读的docker容器模板,其包含了启动一个容器的所需要的所有文件系统结构和内容。镜像不包含任何动态数据,镜像内容在构建之后不会被改变。
2025-11-22 17:02:48
661
原创 Docker容器技术原理概述
要了解容器技术,我们就要先了解chroot技术。什么是chroot呢?通俗来说,其就是用来改变某一个进程的根目录,使得这个进程不能访问该新的根目录之外的其他目录,容器技术则就需要达到这样的一个效果。以上操作就是将busybox镜像中的目录导出到了该rootfs目录之下。然后,我们用以上操作,启动一个sh进程,并且把 /root/rootfs作为了 sh 进程的根目录。在这个经进程下,我们会发现根目录已经变成了新的/root/rootfs,访问不了主机上其他的目录了。这样就实现了容器的目录的隔离机制。
2025-11-22 15:25:17
341
原创 排查网络问题的一些工具的作用和常用使用方法
核心原理便是通过发送 ICMP(Internet 控制消息协议)回声请求包到目标主机,若目标主机可达且响应,会返回 ICMP 回声应答包,以此判断网络链路是否通畅。常见用法如下64bytes:是数据包的大小seq:是数据包的序列号ttl:生存时间(可大致判断目标主机类型,Linux 通常默认 64,Windows 通常 128)time:往返延迟(RTT),数值越小,网络链路越通畅。
2025-11-12 21:00:05
890
原创 在Linux系统中,top命令的显示参数详解
能动态显示进程的 CPU 占用、内存使用、运行状态等核心信息,帮助排查系统负载高、响应慢等问题。僵尸进程数(进程已结束,但父进程未回收其资源,长期 > 0 需排查,避免内存泄漏)第一行:系统时间、运行时间、登录用户数、系统负载。是 Linux/Unix 系统中最常用的。第二行:进程统计(总进程数及状态分布)第五行:交换内存(Swap)使用情况。第四行:物理内存(RAM)使用情况。第三行:CPU 资源使用情况。
2025-11-01 19:13:53
711
原创 解决Jenkins在构建前端任务时报错error minimatch@10.0.3:……的记录
在遇到这个问题时可以有以下的解决方法:1,条件允许的情况下,可以更新nodejs的版本2,使用resolutions字段强制锁定子依赖版本。
2025-10-27 16:53:18
430
原创 解决同一个宿主机的两个容器无法端口互通报错“No route to host“的问题记录
因为我把gitlab容器的4433端口映射到了宿主机的4433,22端口映射到了宿主机的222。为此,我查询了大量文档,说是docker容器网络要改成主机模式,什么容器内部没有安装git客户端啥的,公钥私钥配置错误之类的,自己反复检查了几遍也发现根本就不是这些问题,问AI也只会重新大改容器,而不解释如何排查出真正的原因。在他的指导下,大概意思就是,我的服务器在最开始启动容器之前便一直在开启着Firewalld服务,然后在启动docker容器的同时,docker会自动添加对应的iptables的规则。
2025-10-26 11:15:33
388
原创 如何在Linux服务器上部署jenkins?
Java8、java11、java17(JRE或者 JDK都可以),从 Jenkins2.357(于2022年6月28日发布)和2.361.1LTS版本开始,Jenkins需要Java11或更高版本。此外,从Jenkins2.355(2022年6月14日发布和Jenkins2.346,1LTS(2022年6月22日发布)开始,Jenkins支持Java 17。一般我们推荐使用包管理器来进行安装,我这里使用的是的系统,在这里给以下步骤做参考。在这里我们就安装好了Java。然后就是。
2025-10-12 19:17:40
484
原创 k8s学习(二)——kubernetes整体架构及组件解析
k8s集群一般由一至多个master节点和若干个node节点组成,而每个Master节点Node节点都有着不同的组成,本文章在此讲述k8s集群的整体架构和组件的解析。
2025-10-05 21:46:21
836
2
原创 k8s学习(一)——kubernetes重要基础概念概述
Kubernetes(k8s)是Google开源的容器集群管理系统。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。Kubernetes最主要的设计思想是,从更宏观的角度,以统一的方式来定义任务之间的各种关系,并且为将来支持更多种类的任务留足余地。Kubernetes所擅长的,是按照用户的意愿和整个系统的规则,完全自动化地处理好容器之间的各种关系。这种功能,就是我们经常听到的一个概念:编排。
2025-10-03 17:21:38
859
原创 Linux学习——管理网络安全(二十一)
1,防火墙(firewalld)通过区域和规则控制网络流量进出,是第一道防线;2,SELinux 通过端口标记限制服务可使用的端口,是第二道强制访问控制防线。
2025-09-09 19:44:35
1301
3
原创 Linux学习——逻辑卷管理(二十)
LVM通过抽象物理存储设备,解决了传统分区“大小固定、调整困难”的问题。其核心组件包括:物理卷(PV):经过LVM初始化的物理存储设备(如硬盘`/dev/sdb`、分区`/dev/sdc1`),是LVM的最底层存储单元。卷组(VG):由一个或多个PV组成的“存储池”,可视为一块“虚拟硬盘”,为逻辑卷提供存储空间。逻辑卷(LV):从VG中划分的“虚拟分区”,可直接格式化并挂载使用,支持动态调整大小。物理扩展(PE):VG的最小分配单元(默认4MB),LV的大小必须是PE的整数倍。
2025-09-08 13:39:51
393
原创 Linux学习——使用NFS来访问网络附加存储(十九)
在运维场景中,通过 NFS(Network File System)让多台 Linux 设备访问 “服务器上的共享存储” 是常见需求 —— 比如将服务器作为 “小型 NAS”,让笔记本、开发机通过网络读写服务器上的文件。
2025-09-05 11:28:45
771
原创 Linux学习——管理基本存储(十八)
交换文件(Swap File)是 Linux 系统中通过普通文件模拟的 “虚拟内存载体” —— 它本质是一个存储在硬盘上的普通文件(如 /swapfile),但经过专门的格式化(mkswap 命令)后,被系统识别为 “交换空间”,用于在物理内存(RAM)不足时,暂存不常用的进程数据,释放物理内存给活跃进程。:执行 fdisk/parted 前,务必通过 lsblk 确认硬盘设备名(如 /dev/sdb//dev/sdc),误操作 /dev/sda(系统盘)会导致系统崩溃;
2025-09-03 15:55:40
1108
原创 Linux学习——管理SELinux安全性(十七)
SELinux是一套基于 “最小权限原则” 的强制访问控制(MAC)机制,能从内核层面限制进程对资源的访问,大幅降低系统被入侵后的风险。
2025-09-02 15:12:18
1074
原创 Linux学习——调优系统性能(十六)
tuned(如内核参数、CPU 频率调控策略、IO 调度器等),无需手动修改等复杂配置文件。常见的调优配置集如下balancedpowersave。
2025-09-01 15:25:27
987
原创 Linux学习——归档和传输文件(十五)
tar命令是归档压缩的核心工具 —— 它既能将多个文件 / 目录 “打包” 成单一归档文件(解决多文件管理问题),又能结合不同压缩算法(gzip、bzip2、xz)实现 打包和压缩的结合完成。
2025-08-28 19:24:16
1153
原创 为什么在部署k8s集群时要关闭Swap交换分区?
Swap 分区是 Linux 系统预留的一块磁盘空间,当节点物理内存(RAM)不足时,系统会将部分 “暂时不用的内存数据” 写入 Swap 分区(相当于 “把磁盘当内存用”)。但磁盘的读写速度(毫秒级)远慢于物理内存(纳秒级),二者性能差距达10 万倍以上—— 这是 Swap 与 k8s 核心需求冲突的根源。
2025-08-26 17:07:58
1059
原创 Linux学习——分析和存储日志(十四)
RHEL 的日志系统由多个组件协同工作,共同完成日志的收集、存储、轮转和查询。理解其架构是高效使用日志的基础。。
2025-08-19 17:25:19
674
原创 Linux学习——调度未来任务(十三)
当系统重启后,anacron会检查并执行错过的周期性任务(如每日任务)。系统级周期性任务(如日志轮转、系统更新检查)通常由 root 用户管理,通过/etc/cron.d/目录或特定系统文件配置,与用户级crontab相比,系统级任务需要指定执行用户。临时文件(通常存放在/tmp和/var/tmp)若长期积累会占用磁盘空间,红帽系统提供了systemd-tmpfiles和tmpwatch工具实现自动化管理。执行at命令后,系统会进入交互模式,输入需要执行的命令(支持多行),按Ctrl+D结束输入即可。
2025-08-14 18:03:09
881
原创 Linux学习——shell脚本以及正则表达式(十二)
正则表达式是一种用于描述字符串模式的工具,它由一系列字符和特殊符号组成,可以用来匹配、查找、替换符合特定模式的字符串。它就像一个模板,能够帮助我们在大量的文本中快速找到具有某种特征的内容。正则表达式中的特殊符号有很多,比如^表示匹配字符串的开始,$表示匹配字符串的结束,.表示匹配任意单个字符,*表示匹配前面的字符零次或多次等。例如,^a.*b$这个正则表达式表示匹配以 “a” 开头、以 “b” 结尾,中间包含任意字符的字符串。以下为正则表达式的语法大全。
2025-08-11 18:03:21
885
原创 Linux学习——访问Linux文件系统(十一)
存储设备(如硬盘、SSD、U 盘)是数据的物理载体,而文件系统则是组织这些数据的 “规则体系”。块设备是按 “固定大小的数据块”(如 4KB)读写的存储设备,支持随机访问,是文件系统的底层依赖。基于 1000 进制(1GB=1000MB),按需选择。在 Linux 中,SATA 设备的分区命名遵循。基于 1024 进制(1GB=1024MB),Linux 以 “单根目录树”(为根)管理所有文件,需确保挂载点目录(如。
2025-08-08 17:56:22
703
原创 Linux学习——安装和更新软件包(十)
Linux 软件包是将程序文件、配置文件、依赖库等打包在一起的压缩文件,通常以.deb(Debian 系)或.rpm(RedHat 系)为扩展名。包管理器通过解析软件包中的元数据(如依赖关系、版本信息),自动处理安装过程中的各种依赖问题,避免了手动编译安装的繁琐。
2025-08-05 16:33:06
460
原创 Linux学习——网络管理(九)
若三轮下来还是没有查询到,那么接下来就会将请求发送给主机配置好了的DNS服务器,然后DNS服务器会将请求发送给根域名服务器,由此查询到目标的顶级域名服务器,在顶级域名服务器查询到结果返回之后,再查询权威域名服务器再获得结果,最终获得我们输入的域名所对应IP地址。例如,在浏览器输入相应的域名之后,会先在浏览器缓存中寻找相应的域名映射,如果没有,则会去该主机操作系统中的DNS缓存或者是Hosts文件中去查询,若还是没有,则会去本地路由器的DNS缓存中进行查询。否则需通过网关转发。
2025-07-31 18:01:14
1034
原创 Linux学习——配置和保护SSH(八)
SSH(Secure Shell)是一种加密的网络传输协议,主要用于在不安全的网络环境中建立安全的远程连接。它通过端到端加密技术,确保用户在远程登录服务器、执行命令、传输文件(如通过 SCP、SFTP)时的数据不被窃听或篡改。这其实是 SSH 的主机密钥验证机制在起作用。
2025-07-29 13:21:35
1247
原创 Linux学习——控制服务和守护进程(七)
守护进程(Daemon)是一类运行在后台的特殊进程,主要负责执行系统服务,像网络服务、定时任务等都依赖于守护进程。它们具有独立于用户交互的特性,会在系统开机时自动启动,并在关机时有序停止,通常以 “d” 为后缀命名,例如 sshd、httpd。而 systemd 是当前主流 Linux 发行版(如 CentOS 7+、Ubuntu 16.04+)所采用的系统和服务管理器,它替代了传统的 SysV init,成为管理守护进程的核心工具。其主要功能包括:。
2025-07-22 17:54:35
630
原创 Linux学习——进程的管理与监控(六)
进程(Process)是程序的一次动态执行过程,包含程序代码、数据、系统资源(如 CPU 时间、内存、文件描述符)及运行状态。简单来说,程序是静态的文件(如/bin/ls),而进程是程序运行时的动态实例。
2025-07-20 17:46:07
1009
原创 Linux学习——文件访问的控制(五)
其工作原理是将用户分为三类:文件所有者(owner)、所属组(group)、其他用户(others),每类用户可拥有读(r)、写(w)、执行(x)三种权限。文件系统权限是 Linux 系统中用于控制不同用户(或组)对文件和目录进行访问操作的规则,它通过划分用户类别、定义操作权限,确保文件资源的安全性和有序性。umask 用于设置用户创建文件和目录时的默认权限掩码,它通过从最大权限中减去 umask 值,得到新创建文件和目录的默认权限。数值法中,r、w、x 分别对应数值 4、2、1,权限组合为对应数值之和。
2025-07-19 20:31:44
913
原创 Linux学习——用户与组的管理(四)
因为每个用户必须属于至少一个组(主要组),删除主组会导致用户 "无所属组",违反 Linux 用户管理规则。例如:alice:x:1000:1000:Alice Smith:/home/alice:/bin/bash。用户名:加密密码:最后修改时间:最小密码期限:最大密码期限:警告期:过期宽限期:失效时间:保留字段。(如让 "dev 组" 成员共同拥有某项目文件夹的读写权限),避免对每个用户单独授权的繁琐。用户名:密码占位符:UID:GID:用户描述:家目录:默认shell。
2025-07-19 17:18:07
745
原创 Linux学习——文本文件的创建,查看和编辑(三)
本文介绍了Linux系统中重定向、管道、vim工具和环境变量的使用方法。重定向部分讲解了标准输出(>、>>)和错误输出(2>、2>>)的重定向方式,以及输入重定向(<)和同时重定向输出与错误(&>)。管道部分演示了如何通过"|"连接命令,并介绍了tee命令的T型分流功能。vim工具部分总结了常用命令如保存退出、搜索替换、删除撤销等操作。环境变量部分区分了局部变量和环境变量,说明了变量作用域及永久生效的配置方法,还介绍了别名的创建、查
2025-07-16 19:39:19
1077
原创 Linux学习——浅入文件管理(二)
在Linux中,文件系统可以被看作是一颗颠倒的树,树根在顶部,下方为各级文件目录及子目录的分支。整个文件系统的起点,所有其他目录均挂载在其下。例如,硬盘分区、USB设备等通过挂载到/mnt或media等子目录接入系统其他重要目录如下开始启动过程所需的文件供系统用于访问硬件的特殊设备文件特定于系统的配置文件供普通用户存储其个人数据和配置文件的主目录管理超级用户root的主目录主要用来存放系统运行时产生的数据供临时文件使用的全局可写空间,10天内未访问,更改或者修改的文件将自动从该目录中删除。
2025-03-30 22:51:57
963
原创 Linux学习——shell访问命令行的初步探索(一)
终端是一个基于文本的界面,可以向计算机系统输入命令以及显示计算机系统的输出。Shell 是用户与操作系统内核交互的接口,它既是一种命令语言(用户通过输入指令操作计算机),也是一种程序设计语言(支持编写自动化脚本)。终端负责处理输入输出,shell负责解析命令,终端是一个界面工具,shell是命令处理器。二者相辅相成,不可或缺。
2025-03-30 01:16:21
798
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅