Linux系统

Linux 虚拟机扩容根文件系统:从虚拟硬盘到 ext4 文件系统

在使用 Linux 虚拟机进行开发时,经常会遇到磁盘空间不足的问题。比如编译大型工程、安装大量开发工具、保存源码和构建产物后,根文件系统很容易被占满。 需要注意的是:在 VirtualBox、VMware 等虚拟化软件中扩大虚拟硬盘容量后,Linux 并不会自动扩大根分区和文件系统。 完整的扩容过程

Git Clone 如何指定自定义文件名的 SSH 私钥

在使用 GitHub、Gitea 或自建 Git 服务时,通常推荐使用 SSH Key 进行身份认证。 SSH 私钥并不一定要使用默认的 ~/.ssh/id_rsa 或 ~/.ssh/id_ed25519 文件名。我们完全可以针对不同的 Git 服务生成不同的密钥,例如: ~/.ssh/gitea

Ubuntu 使用 sing-box 将 SOCKS5 转换为 TUN 全局系统代理

在 Linux 下,很多程序支持通过 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY 使用代理,但也有不少程序不会读取这些环境变量。 如果已经有一个 SOCKS5 代理,可以借助 sing-box 的 TUN 模式将其转换为系统级透明代理,让应用程序无需单独配置代理。 本文记录

Ubuntu x86_64 交叉编译 AArch64

Ubuntu x86_64 交叉编译 AArch64:Sysroot、Multiarch 与 GCC 搜索路径详解 在 x86_64 Ubuntu 主机上使用 GCC 交叉编译 AArch64 Linux 程序时,一个常见场景是: 编译器使用 aarch64-none-linux-gnu-gcc 目

自建 n8n 故障排查与修复全记录

1. 背景知识 n8n 是一款强大的开源工作流自动化工具,采用前后端分离的架构。浏览器(客户端 Web UI)与 n8n 后端服务器之间需要保持高频、实时的双向数据通信,用于同步节点执行状态、刷新运行日志。这种实时通信极度依赖 WebSocket 协议(或 Server-Sent Events)。

Netplan 网络配置指南

Netplan 是 Ubuntu 17.10 及以后版本中默认的网络配置工具。它通过读取 YAML 格式的配置文件,并将其渲染(Render)为底层网络服务(如 systemd-networkd 或 NetworkManager)的可执行配置。 1. 理论基础与核心概念 配置目录:主要配置文件位于

Linux 生产环境 C/C++ 内存泄漏排查实战:基于 eBPF 的精准定位

在 Linux 环境下开发 C/C++ 程序时,内存泄漏是开发者最常面临的棘手问题之一。尤其是在对实时性和稳定性要求极高的工业控制场景(如带 RT 补丁的内核、CODESYS 运行时环境)中,传统的重型内存检测工具往往不再适用。 本文将通过一次真实的生产环境排查案例,详细讲解如何结合系统监控命令与现

深入解析 Linux 内核版本信息的获取方案与 C 语言实战

一、 基于虚拟文件系统 (procfs) 的获取方案 理论知识介绍 在 Linux 系统中,procfs 是一个挂载于 /proc 目录下的虚拟文件系统,它驻留在内存中,用于内核向用户态暴露运行状态。/proc/version 是一个动态生成的只读伪文件,读取它时,内核会返回一段包含当前内核版本号、

基于状态机逻辑的 Linux 网络多 IP 监控系统

一、 理论知识介绍:状态机监控与日志抑制策略 在编写生产环境的监控脚本时,最核心的矛盾在于**“监控精度”与“日志冗余”之间的平衡。我们采用状态机(State Machine)**的设计思想来解决这个问题。 分状态策略: **正常态(OK)**:采用“心跳抑制”逻辑。脚本不记录每一次成功的探测,而是

↑