Ubuntu Server(Raspberry Pi)配置与关闭无线网络自动连接指南

在使用 Ubuntu Server(特别是安装在 Raspberry Pi 等设备上的版本)时,很多人希望无线网络在开机后不要自动连接,以便在特定场景下进行手动控制。本文介绍了从启用 Wi-Fi 到关闭自动联网的完整流程,适用于 Ubuntu Server 20.04–24.04 版本。 一、确认无线网卡状态 系统中无线网卡的识别名称通常为 wlan0。可通过以下命令确认: 若输出类似: 说明无线网卡已被系统识别,只是未启用。此时可手动激活: 二、编辑 Netplan 配置文件 Ubuntu Server 采用 Netplan 管理网络,配置文件一般位于: 使用编辑器打开(以 vim 为例): 默认内容通常如下: 这段配置仅启用了有线网络 eth0,需要手动添加 Wi-Fi 配置。 三、添加 Wi-Fi 并启用自动连接(可选) 若希望无线网络在开机时自动连接,可在文件中追加以下内容: 保存后应用: 此时系统会自动通过 DHCP 获取 IP 地址,若成功连接,可通过以下命令查看: 出现 inet 192.168.x.x/24 即表示连接成功。 四、关闭无线网络的自动连接 如果希望设备在启动时不自动连接 Wi-Fi,可以通过修改 …

在 Arch Linux 上使用整块磁盘创建 LVM 卷组与逻辑卷

在 Linux 系统中,逻辑卷管理(LVM)能够为存储提供灵活的分配与扩展方式。以下示例演示了如何在 Arch Linux 环境中,将一整块硬盘初始化为 LVM,并在其上创建卷组(VG)、逻辑卷(LV),最后格式化为 ext4 文件系统并挂载。 环境准备 磁盘清理 若目标磁盘已经存在分区表,pvcreate 会报错。需要先清理分区表: ⚠️ 此操作会彻底清除该磁盘上的所有分区和数据,请谨慎确认目标磁盘。 创建 LVM 结构 格式化与挂载 开机自动挂载 为了在系统启动时自动挂载,可在 /etc/fstab 添加: 总结 通过以上步骤,可以在 Arch Linux 上将一整块磁盘完全交由 LVM 管理,并在其上创建逻辑卷。逻辑卷被格式化为 ext4 文件系统并挂载到指定目录,后续可以根据需要扩展和管理,提供比传统分区更高的灵活性。

系统更新后的一次日志解读:从软件包到内核重启

最近一次系统更新完成后,系统输出了一系列日志内容。记录显示,共有 265 个软件包进行了更新,包括 VLC 播放器、图形相关组件(如 vulkan、webkit2gtk)、Zoom、yt-dlp、Zotero 等常用软件。其中,VLC 增加了一些新的可选插件支持,如字幕渲染(vlc-plugin-freetype)、系统通知(vlc-plugin-notify)以及对 .srt 字幕文件的支持(vlc-plugin-srt)。 除了软件包升级之外,系统还自动执行了一系列 “post-transaction hooks”(事务后处理脚本),确保更新后的系统稳定运行。这些操作包括: 其中一个关键步骤是 DKMS(动态内核模块支持)模块的安装。日志中显示,安装了两个模块: 这两个模块都针对内核版本 6.15.9-arch1-1 进行了编译,随后使用 depmod 更新模块依赖信息。 接下来的步骤是构建内核启动镜像(initramfs): 完成所有任务后,系统显示当前内核版本为 6.15.7-arch1-1,而不是新安装的 6.15.9-arch1-1。 这表明虽然新内核和所有更新已经完成,但系统还没有重启。因此,新的内核和驱动模块尚未生效。 建议操作 执行以下命令以启用新内核并使驱动生效: 重启完成后,可以通过以下命令验证当前使用的内核: 预期输出应为: 这代表系统已经成功切换到新内核,并启用了最新的驱动和更新配置。

观察 Timeshift 清理快照的系统行为

在 Linux 系统中,Timeshift 常用于系统快照的备份与恢复。某些环境下,Timeshift 被配置为每小时执行一次快照清理任务。为了更好地了解该过程的具体行为,对其中一个自动执行的删除操作进行了系统调用级别的追踪,以下是相关分析与记录。 系统环境概述 通过以下命令观察当前运行的 Timeshift 相关进程: 输出内容显示,Timeshift 正在执行 –check –scripted,并调用 rm -rfv 删除某一旧快照目录,例如: -v 参数指明删除过程中应输出详细信息,但由于进程在后台运行,终端中无法直接查看这些输出。 使用 strace 实时追踪删除行为 为了监控实际被删除的文件,使用 strace 对目标 rm 进程进行追踪: 执行后,会实时输出每个文件或目录的删除调用。例如: 这些系统调用清楚表明了: 整个追踪过程涵盖了多个 Python 包构建文件、配置文件、用户目录内容等。 删除任务完成的标志 追踪结束时,可以观察到如下信息: 表示整个快照目录已被删除,进程以退出码 0 正常结束。 应用建议 示例追踪脚本 该脚本自动查找正在运行的 Timeshift 删除任务并将其行为保存至日志。 总结 通过系统调用追踪工具如 strace,可以清晰地掌握 Timeshift 删除快照的全过程,包括具体文件、删除顺序及执行结果。这种方式为系统维护提供了更高的可见性,也有助于后期审计和排障。

删除 Timeshift 异常快照的一次实践

在日常使用 Timeshift 管理 Linux 系统备份的过程中,可能会遇到某次快照因中断或系统异常而未能正常完成,导致该快照在软件界面中无法显示,但在文件系统中依然占据空间。这种情况下,如何安全地手动删除该快照,并确认不会影响其他快照,是很多用户关心的问题。 Timeshift 快照原理简介 Timeshift 的 RSYNC 模式使用硬链接机制来存储多个快照之间相同的文件。这意味着: 硬链接的一个核心特点是:没有“原始文件”和“链接文件”的区分,所有链接对等。因此,删除某个快照中的文件,不会影响其他快照中的相同文件。 删除未完成快照的实际操作 通过命令行查看 Timeshift 快照目录: 若发现某些目录未出现在 Timeshift GUI 中,如: 可以判断这些为未完成或异常的快照。此时,可以安全地使用以下命令手动删除它们: 虽然其中大部分是硬链接文件,系统仍需处理所有目录项,因此删除过程可能较慢。尤其在文件数量极多(如含 Flatpak 或 Python 包)时,即使数据不大,系统也要逐个清理路径与 inode 引用,导致删除过程可能持续几分钟。 删除过程中断的情况分析 若删除过程中重启了系统,有可能终端未显示删除完成,但重启后快照目录已经消失。这种情况通常有两个可能: 此时,只需检查 /timeshift/snapshots/ 目录,确认目标目录是否确实已消失。若目录不在,说明已删除干净,无需额外操作。 小结 如需进一步优化批量清理或自动化处理,可以编写简单脚本实现更高效的快照管理。

Steam 上 Linux 用户占比小幅增长,这意味着什么?

最近,Valve 公布了 2025 年 7 月的 Steam 硬件与软件调查数据,其中一项引起了许多技术爱好者的关注: Linux 系统在 Steam 用户中的占比达到了 2.89%,接近 3% 的历史高点。 这个消息看上去振奋人心,似乎预示着 Linux 作为游戏平台的份额正在稳步上升。但深入分析之后我们发现,这并不一定意味着传统 PC 上的 Linux 用户数量真的在增长。为什么这么说?我们来逐步拆解一下。 数据背后的真相 根据 Valve 公布的数据: 也就是说,Linux 玩家数量创新高,主要是因为越来越多的人在使用 Steam Deck,而不是主动在 PC 上安装 Linux 玩游戏。 Steam Deck 用户真的在“用 Linux”吗? 这是一个很有意思的问题。Steam Deck 使用的是基于 Arch Linux 的 SteamOS 3.0,但对于大多数用户来说: 因此,我们可以说: 这些用户虽然技术上是 Linux 用户,但他们行为上并不是我们传统意义上的 …

Linux 中如何按修改时间列出所有文件和目录

在 Linux 系统中,有时我们需要查看哪些文件或目录最近被修改过,或者按照修改时间排序全盘文件来排查系统变更、跟踪配置、或制定备份策略。 本文将介绍如何使用 find、sort 和 awk 等命令,将文件及目录按修改时间排序,并以人类可读格式输出。可用于审计、日志分析、系统管理等场景。 🛠 需求背景 假设你想: ✅ 推荐命令:可读时间 + 排序 + 显示目录和文件 find /your/path -printf ‘%T@|%p\n’ 2>/dev/null | sort -nr | awk -F’|’ ‘{ cmd=”date -d @”$1″ \”+%Y-%m-%d %H:%M:%S\””; cmd | getline time; close(cmd); print time, $2 }’ 将 /your/path 替换为你要检查的目录路径(如 /home、/var/log 等)。 📌 输出示例: …

在 Linux 中按时间顺序排列文件和目录的方法

在日常使用 Linux 的过程中,我们经常需要查看某个目录下的文件或子目录,并根据它们的时间顺序进行排序。比如你可能想要找出最早创建的日志文件,或者按照文件修改时间梳理一个项目的更新轨迹。 本文将介绍如何在 Linux 系统中 按照时间顺序从早到晚排列文件和目录,以及如何根据不同需求(例如修改时间、创建时间等)做出相应调整。 一、最常用方法:ls -ltr 最简单、最常用的命令就是: ls -ltr 这条命令会列出当前目录下的所有文件和子目录,并按 最后修改时间从早到晚 排列。 参数解析: 示例: $ ls -ltr-rw-r–r– 1 user user 0 2024-06-01 10:00 old_file.txt-rw-r–r– 1 user user 0 2024-07-01 12:00 middle_file.txt-rw-r–r– 1 user user 0 2025-08-01 09:00 new_file.txt 二、将目录排在前面:–group-directories-first 如果你希望把目录列在最前面,其余按时间排序,可以加上 –group-directories-first: ls -ltr –group-directories-first 这样输出会先列出目录,再列出文件,依然保持时间从早到晚的排序。 三、只列出文件并按时间排序:使用 find …

在 Arch Linux 上安装 OpenBoard:开源交互式白板软件详解

随着数字教学工具的普及,越来越多的教师和讲师开始寻找一款既稳定、易用又开源的电子白板工具。OpenBoard 正是这样一个优秀的选择。本文将简要介绍 OpenBoard 的功能特点,并提供在 Arch Linux 上的完整安装指南。 什么是 OpenBoard? OpenBoard 是一款开源的交互式白板软件,专为教学设计,支持 Windows、macOS 和 Linux 平台。它最初由瑞士日内瓦大学基于 Uniboard 项目开发,旨在提供一个功能完整、稳定且免费的教学辅助工具。 OpenBoard 的核心功能 在 Arch Linux 上安装 OpenBoard Arch Linux 用户可通过 AUR(Arch User Repository)安装 OpenBoard,有两种主要方式。 方法一:使用 AUR 助手 yay(推荐) 如果系统已安装 yay: yay -S openboard 该命令将自动下载、构建并安装 OpenBoard。 方法二:手动从 AUR 构建 适用于不使用 yay 的用户。 启动 OpenBoard …

在 Arch Linux 上安装与管理多个 Java 版本

在 Arch Linux 或其衍生发行版中(如 Manjaro),开发者和用户常常需要在多个 Java 版本之间切换,以满足不同软件对 JDK 的依赖要求。本文将介绍如何在 Arch 系统中并行安装多个 Java 版本,并使用 archlinux-java 工具进行版本管理和切换。 一、查看已安装的 Java 版本 可以使用以下命令列出系统中当前可用的 Java 环境: archlinux-java status 输出示例: Available Java environments: java-11-openjdk java-17-openjdk java-24-openjdk java-8-openjdk/jre (default) 括号中标注 (default) 的版本即当前系统默认使用的 Java 版本。 二、安装所需的 Java 版本 Arch 的官方仓库提供多个 OpenJDK 版本,常见安装命令如下: # 安装 Java 8sudo pacman -S …