spring basic

spring basic Spring Shell Spring Shell 是一个用于构建交互式命令行应用程序的 Spring 框架,让开发者能够快速创建功能丰富的 CLI 工具。 核心特性: 注解驱动 - 使用 @ShellComponent 和 @ShellMethod 定义命令 自动补全 - Tab 键补全命令和参数 命令历史 - 支持历史命令记录和回溯 内置帮助 - 自动生成帮助文档 Spring Boot 集成 - 无缝集成 Spring Boot 生态 典型使用场景: 管理工具(部署、监控) 数据库客户端 DevOps 工具 微服务管理控制台 简单示例: @ShellComponent public class MyCommands { @ShellMethod("Say hello") public String hello(@ShellOption String name) { return "Hello " + name + "!"; } } 运行后可在交互式 shell 中执行: ...

2026-01-05 · 1 min · 75 words · -

SQLite

SQLite version: 3.44.0 SQLite 通过文件来保存数据库,一个文件就是一个数据库 commands # archlinux install sqlite sudo pacman -S sqlite # ubuntu sudo apt install sqlite3 # 打开一个已经存在的数据库 sqlite3 /var/lib/enx-api/enx.db # 启动 sqlite sqlite3 # 列出数据库文件和名字 .databases # query schema, 列出所有的表 .table # 查看表结构, 注意, 表名后面没有分号 .schema table0 # 创建数据库 sqlite3 /data/rssx/rssx.db # insert data insert into table_0 (name) values ('foo'); CREATE TABLE if not exists table_1 (name varchar(50) collate nocase PRIMARY KEY, create_time timestamp DEFAULT NULL); insert into table_1 (name) values ('foo'); insert into table_1 (name) values ('Foo'); -- Runtime error: UNIQUE constraint failed: table_1.name (19) # help .help # show tables .tables # insert # alter table, rename alter table feed rename to feeds; -- query that returns the size of a table in a SQLite database -- 空表的 size 是 4096 select sum("pgsize") from "dbstat" where name='table0'; -- drop table drop table table0; SQLite,是一种轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它, 它占用资源非常地低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix 等等主流的操作系统, 同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起 MySQL、PostgreSQL 这两款开源世界著名的数据库管理系统来讲, 它的处理速度比他们都快。SQLite 第一个Alpha 版本诞生于2000年5月。 至今已经有12个年头,SQLite 也迎来了一个版本 SQLite 3 已经发布。 ...

2026-01-05 · 4 min · 669 words · -

archlinux AUR Helper, yay, paru

archlinux AUR Helper yay https://github.com/Jguer/yay yay 是一个 AUR 助手。它使用 Go 语言写成, 宗旨是提供最少化用户输入的 pacman 界面、yaourt 式的搜索, 而几乎没有任何依赖软件。 yay 安装 pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si # 如果遇到 sudo 权限问题,可以分两步执行: # 1. 构建包(普通用户) makepkg # 2. 安装包(需要 root 权限) su -c "pacman -U yay-*.pkg.tar.zst" # 或者 sudo pacman -U yay-*.pkg.tar.zst pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si Binary If you do not want to compile yay yourself you can use the builds generated by GitHub Actions. ...

2026-01-01 · 2 min · 383 words · -

Python 3.14 新特性探索

Python 3.14 概述 Python 3.14 于 2025 年 10 月 7 日正式发布(当前最新版本:3.14.2,2025年12月5日),带来多项重大改进和新特性。这是 Python 发展历程中的重要里程碑,包括注解系统的重大变革、模板字符串、多解释器支持等令人期待的功能。 核心新特性 PEP 649 & PEP 749: 延迟注解求值 Python 3.14 最重大的变化! 注解不再立即求值,而是存储在特殊的注解函数中,仅在需要时才求值。 关键改进: 大幅提升运行时性能(注解定义成本最小化) 不再需要使用字符串包裹前向引用 新增 annotationlib 模块用于处理注解 三种注解格式: from annotationlib import get_annotations, Format def func(arg: Undefined): pass # VALUE 格式:求值为运行时值 try: get_annotations(func, format=Format.VALUE) except NameError: print("会抛出 NameError") # FORWARDREF 格式:未定义的名称替换为特殊标记 print(get_annotations(func, format=Format.FORWARDREF)) # {'arg': ForwardRef('Undefined', owner=<function func>)} # STRING 格式:以字符串形式返回 print(get_annotations(func, format=Format.STRING)) # {'arg': 'Undefined'} PEP 734: 标准库中的多解释器支持 突破性功能! 在同一进程中运行多个独立 Python 解释器的能力现已暴露给 Python 层。 ...

2025-12-24 · 3 min · 631 words · -

linux 网络监控, NetHogs

linux 网络监控, NetHogs 推荐工具: bandwhich - 进程级网络监控,显示连接详情(推荐) btop++ - 全能系统监控(含网络) bottom - 轻量级系统监控 nethogs - 经典进程带宽监控 按功能分类: 监控总体带宽使用 - nload、bmon、slurm、bwm-ng、cbm、speedometer、netload 监控总体带宽使用(批量式输出)- vnstat、ifstat、dstat、collectl 每个套接字连接的带宽使用 - iftop、iptraf、tcptrack、pktstat、netwatch、trafshow 每个进程的带宽使用 - bandwhich、nethogs 全面系统监控(含网络)- btop++、bottom nethogs sudo pacman -S nethogs # 刷新频率 5 秒 nethogs -d 5 网络监控工具推荐 bandwhich - 专注网络的监控工具 最推荐用于网络流量监控 - 使用 Rust 编写,2019 年开始开发 核心特点: 🚀 现代化的终端 UI,彩色交互界面 📊 实时显示每个进程、连接、远程地址的网络使用情况 🎯 可同时查看进程级和连接级的流量详情 💡 显示目标主机名(DNS 解析)、端口、协议 ⚡ 性能优秀,资源占用低 🔍 支持排序和过滤功能 适用场景: 排查哪个程序在占用网络带宽 监控异常网络连接和流量去向 查看具体的远程地址和端口信息 # 安装(Arch Linux) sudo pacman -S bandwhich # 使用(需要 root 权限) sudo bandwhich 与 nethogs 对比: ...

2025-12-24 · 5 min · 992 words · -

fcitx

fcitx https://wiki.archlinux.org/title/Fcitx5 archlinux KDE 安装 fcitx https://blog.csdn.net/GaaraZ/article/details/128618441 https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma # include 1) fcitx5 2) fcitx5-configtool 3) fcitx5-gtk 4) fcitx5-qt sudo pacman -S fcitx5-im sudo pacman -S fcitx5-chinese-addons # disable fcitx5 desktop file after install fcitx5 in kde sudo mv /etc/xdg/autostart/org.fcitx.Fcitx5.desktop/org.fcitx.Fcitx5.desktop /etc/xdg/autostart/org.fcitx.Fcitx5.desktop/org.fcitx.Fcitx5.desktop.bak #--- sudo pacman -S fcitx-table-extra # kcm-fcitx5 包的实际内容是 fcitx5-configtool # fcitx-table-extra: 输入法模块-五笔, 可能需要重启 # fcitx-configtool: gtk3 config tool, optional chrome application launcher> right click chrome> command line arguments: –ozone-platform=wayland ...

2025-12-22 · 3 min · 620 words · -

nerdctl

nerdctl nerdctl 是 containerd 的命令行客户端工具,它提供了与 Docker CLI 兼容的用户体验。 什么是 nerdctl containerd 的 CLI 工具:nerdctl 全称是 “non-enterprise control”(或 containerd ctl) Docker 兼容:命令语法与 docker 命令高度兼容,降低学习成本 CNCF 项目:由 containerd 社区开发和维护 功能丰富:支持 Docker 不支持的一些高级功能 主要特性 1. Docker 兼容性 nerdctl 的命令与 docker 几乎完全兼容,可以无缝切换: # Docker 命令 docker run -d -p 80:80 nginx docker ps docker images docker build -t myapp . # nerdctl 命令(完全相同) nerdctl run -d -p 80:80 nginx nerdctl ps nerdctl images nerdctl build -t myapp . 2. 增强功能 nerdctl 支持一些 Docker 不支持的高级特性: ...

2025-12-18 · 6 min · 1227 words · -

Ubuntu 显示器分辨率问题修复:手动加载 EDID 固件

问题描述 在使用 Ubuntu(特别是 AMD GPU + 多显示器环境)时,可能遇到显示器无法识别正确分辨率的问题: 显示器只能使用低分辨率(如 1024x768) xrandr 显示物理尺寸为 0mm x 0mm 内核日志出现 EDID block 0 is all zeroes 错误 休眠恢复后显示器被错误识别 TL;DR 快速解决 # 1. 创建 EDID 固件目录 sudo mkdir -p /lib/firmware/edid # 2. 生成 EDID 文件(以 1920x1200 显示器为例) # 见下文 Python 脚本,生成后复制到 /lib/firmware/edid/ # 3. 配置 GRUB(替换 DP-X 为实际接口) sudo vim /etc/default/grub # 添加:drm.edid_firmware=DP-9:edid/dell_u2412m.bin # 4. 更新并重启 sudo update-grub && sudo reboot 诊断问题 检查显示器状态 # 查看当前显示器配置 xrandr # 查看物理尺寸(有问题的显示器会显示 0mm x 0mm) xrandr | grep -E "connected|mm" 检查内核日志 # 查看显卡信息 lspci | grep -i vga lspci -k | grep -A 3 -i vga # 检查内核日志中的 EDID 错误 sudo dmesg | grep -i "drm\|amdgpu\|edid" | tail -30 如果看到以下错误,说明 EDID 读取失败: ...

2025-12-12 · 5 min · 1037 words · -

apt-get, apt basic command

apt-get, apt basic command, apt command apt upgrade 后是否需要重启 需要重启的包类型 包类型 示例 原因 内核 linux-image-* 内核在启动时加载,更新后需重启才能使用新内核 C 标准库 libc6 (glibc) 几乎所有程序都依赖它,热更新风险高 systemd systemd, systemd-sysv 系统初始化和服务管理的核心 D-Bus dbus, libdbus-1-3 系统进程间通信的基础设施 图形驱动 nvidia-*, mesa-* 需要重新加载驱动模块 系统会提示需要重启吗? 会的! Ubuntu/Debian 有专门的机制: # 检查是否需要重启 cat /var/run/reboot-required # 查看哪些包导致需要重启 cat /var/run/reboot-required.pkgs 示例输出: *** System restart required *** 其他提示方式 apt 升级时的提示 - 更新关键包后会显示提示信息 MOTD (登录提示) - SSH 登录时会显示 “System restart required” 图形界面 - Ubuntu Desktop 会弹出重启提示通知 快速检查命令 # 一行命令检查 [ -f /var/run/reboot-required ] && echo "⚠️ 需要重启" || echo "✅ 不需要重启" 不重启会怎样? 旧内核继续运行,新内核下次启动才生效 旧版本的库可能还在内存中被进程使用 安全补丁可能未完全生效 简单原则: ...

2025-12-12 · 5 min · 906 words · -

containerd

containerd containerd: 2.2.0-1 runc: 1.4.0-1 nerdctl: 2.2.0-1 cni-plugins: 1.9.0-1 archlinux install containerd # archlinux install containerd pacman -S containerd runc nerdctl cni-plugins # containerd config sudo mkdir /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml sudo systemctl daemon-reload sudo systemctl enable --now containerd # containerd 内存占用 47MB # containerd、runc、nerdctl 都是用户空间的程序, 不是内核模块,不需要重新加载内核, 不需要重启系统, 只需要运行守护进程即可, 安装完成就可以使用 sudo nerdctl pull hello-world sudo nerdctl run --rm hello-world # 如果需要编译镜像 sudo pacman -S buildkit sudo systemctl enable --now buildkit # build image, 需要在有 Dockerfile 的目录下运行 nerdctl build -t foo:v1.0.0 . sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml sudo systemctl restart containerd ubuntu install containerd https://gist.github.com/Faheetah/4baf1e413691bc4e7784fad16d6275a9 https://www.techrepublic.com/article/install-containerd-ubuntu/ ...

2025-12-10 · 12 min · 2376 words · -

windows wsl

Windows WSL WSL: Windows Subsystem for Linux 官方文档 微软官方安装文档 WSL 文档 WSL 中文文档 基本命令 以管理员模式打开 PowerShell 或 CMD # 查看已安装的 WSL 发行版 wsl --list --verbose wsl -l -v # 启动指定的发行版 wsl -d archlinux wsl -d archlinux -u wiloon # 指定用户 # 列出可用的发行版 wsl --list --online wsl -l -o # 安装 WSL Ubuntu (默认安装最新 LTS 版本) wsl --install # 安装指定的发行版 (如 ArchLinux) wsl --install -d archlinux # 卸载发行版 wsl --unregister Ubuntu-22.04 # 安装 Windows Terminal winget install Microsoft.WindowsTerminal # 关闭所有 WSL 实例 wsl --shutdown # 强制关闭某一个实例 wsl --terminate Ubuntu wsl -t Ubuntu # 设置默认发行版 wsl --set-default archlinux wsl -s archlinux # 简写形式 # 查看 WSL 状态 wsl --status Ubuntu 基本设置 # 更新系统 sudo apt update && sudo apt upgrade # git 默认已安装 文件共享 Ubuntu 访问 Windows 文件 cd /mnt/c/ ls -l Windows 访问 Ubuntu 文件 在文件资源管理器地址栏输入: ...

2025-12-10 · 11 min · 2144 words · w1100n

drill, dns tool, dig/drill, dnsutils to ldns dig -> dirll

drill, dns tool, dig/drill, dnsutils to ldns dig -> dirll drill if you can, dig if you have to, nslookup if you must https://imdjh.github.io/toolchain/2015/10/07/drill-if-you-can-dig-if-you-have-to.html # install drill ## macOS brew install ldns ## aws linux yum install ldns-utils ## archlinux sudo pacman -S ldns # ubuntu sudo apt install ldnsutils # alpine apk add drill # install dig ## cenos yum install bind-utils # DNS 解析跟踪 dig +trace wiloon.com dirll -T wiloon.com drill -TD wiloon.com drill wiloon.com @192.168.50.1 drill wangyue.dev NS dig,其实是一个缩写,即Domain Information Groper。 ...

2025-12-07 · 1 min · 206 words · -

nodejs basic

nodejs basic version current v14.21.3 latest v21.6.2 Node.js 版本管理工具对比 nvm vs fnm 特性 nvm fnm 性能 较慢 (shell 脚本) 快速 (Rust 编写) 启动时间 明显延迟 (每次启动 shell) 几乎无延迟 自动切换 需手动配置 hook 内置支持 --use-on-cd 配置文件 .nvmrc .nvmrc 或 .node-version 跨平台 macOS/Linux macOS/Linux/Windows Windows 支持 需要 nvm-windows (独立项目) 原生支持 项目隔离 支持 (通过 .nvmrc) 支持 (自动检测) 安装速度 较慢 快速 内存占用 较高 较低 成熟度 非常成熟 (2010年) 较新 (2019年) 社区 庞大 增长中 推荐场景: 使用 nvm: 需要最成熟稳定的方案,或团队已在使用 使用 fnm: 追求性能,需要 Windows 支持,或新项目 nvm, Node Version Manager https://github.com/nvm-sh/nvm ...

2025-12-05 · 3 min · 514 words · -

netcat

netcat check if netcat is installed # check if netcat is available which nc # or try to get the version/help nc -h # or check if it's installed via package manager pacman -Qs netcat check remote UDP port # send UDP packet to remote host and check if port is listening echo "test" | nc -u -w 1 remote_host port # use -v for verbose output, -z for scan mode nc -vuz remote_host port # if port is closed, you may receive ICMP port unreachable response # if port is open but service doesn't respond, it's hard to determine the status 参数说明: ...

2025-12-05 · 2 min · 383 words · -

ubuntu basic

ubuntu basic 显示器分辨率问题 详细的显示器分辨率问题修复指南已移至专门文档: Ubuntu 显示器分辨率问题修复:手动加载 EDID 固件 该文档包含完整的诊断、修复步骤和故障排除方法。 apt-select # https://pypi.org/project/apt-select/ pip install apt-select apt-select -C JP sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup && sudo mv sources.list /etc/apt/ mirrors http://mirrors.ubuntu.com/ deb, deb-src 不是要看代码或者自己编译的话 deb-src 可以注释掉或者删除 backports proposed security updates 简单的解释: 基础:由于ubuntu是每6个月发行一个新版,当发行后,所有软件包的版本在这六个月内将保持不变,即使是有新版都不更新。除开重要的安全补丁外,所有新功能和非安全性补丁将不会提供给用户更新。 security:仅修复漏洞,并且尽可能少的改变软件包的行为。低风险。 backports:backports 的团队则认为最好的更新策略是 security 策略加上新版本的软件(包括候选版本的)。但不会由Ubuntu security team审查和更新。 update:修复严重但不影响系统安全运行的漏洞,这类补丁在经过QA人员记录和验证后才提供,和security那类一样低风险。 proposed:update类的测试部分,仅建议提供测试和反馈的人进行安装。 个人认为: 1.重要的服务器:用发行版默认的、security 2.当有要较新软件包才行能运作的服务器:用发行版默认的、 security、(backports 还是不适合) 3.一般个人桌面:用发行版默认的、 security、backports、update 4.追求最新、能提供建议和反馈大虾:发行版默认的、 security、backports、update、proposed 全部用上! Ubuntu 22.04 LTS (Jammy Jellyfish) ubuntu mirror aliyun deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse 163 deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse vim /etc/apt/sources.list %s/archive.ubuntu.com/mirrors.163.com/g tsinghua deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse # wsl export DISPLAY=172.18.80.1:0 # windows 里ipconfig看到的连接wsl的ip apt install git-svn apt install openjdk-8-jdk apt install maven # config ~/.m2/settings.xml apt install nautilus sudo apt-get install ttf-wqy-microhei #文泉驿-微米黑 sudo apt-get install ttf-wqy-zenhei #文泉驿-正黑 sudo apt-get install xfonts-wqy #文泉驿-点阵宋体 sudo apt install keepassxc 中文乱码问题 # 安装中文支持包language-pack-zh-hans sudo apt-get install language-pack-zh-hans # 设置语言 vim /etc/environment ## 中文语言环境, 设置后 vim 进入编辑状态屏幕下方会显示中文"插入"的那种 LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh:en_US:en" ## 英文环境 LANG="en_US.UTF-8" LANGUAGE="en_US:en" vim /var/lib/locales/supported.d/local en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_CN.GBK GBK zh_CN GB2312 sudo locale-gen # 中文乱码是空格的情况,安装中文字体解决 sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming https://blog.csdn.net/weixin_39792252/article/details/80415550 ...

2025-12-04 · 5 min · 867 words · -

archlinux kde, config

删除和重新安装 KDE 删除 KDE # 连接到远程主机 ssh root@192.168.50.19 # 1. 停止并禁用 SDDM 显示管理器 systemctl stop sddm systemctl disable sddm # 2. 查看已安装的 KDE 相关包 pacman -Qq | grep -E 'plasma|kde' # 3. 删除 KDE Plasma 桌面环境及相关包 # 删除 plasma 元包和所有依赖 sudo pacman -Rns plasma-desktop plasma-wayland-session # 删除其他 KDE 应用(根据需要) sudo pacman -Rns konsole dolphin kate kwalletmanager # 删除 KDE 主题和附加组件 sudo pacman -Rns breeze-gtk breeze kde-gtk-config kdeplasma-addons # 删除 SDDM(如果不再需要) sudo pacman -Rns sddm # 4. 清理孤立的依赖包 sudo pacman -Rns $(pacman -Qtdq) # 5. 清理配置文件(可选) # 删除系统级配置 rm -rf /etc/sddm.conf.d/ rm -rf /usr/share/sddm/ # 删除用户配置(谨慎操作,会删除个人设置) rm -rf ~/.config/plasma* rm -rf ~/.config/kde* rm -rf ~/.local/share/plasma* rm -rf ~/.local/share/kwalletd/ rm -rf ~/.kde4/ # 6. 清理缓存 rm -rf ~/.cache/plasma* rm -rf ~/.cache/kde* 重新安装 KDE # 1. 更新系统 sudo pacman -Syu # 2. 安装 KDE Plasma plasma-meta(元包/包组) sudo pacman -S plasma-meta # 3. 安装常用的 KDE 应用 sudo pacman -S konsole dolphin kate # 4. 安装 SDDM 显示管理器 sudo pacman -S sddm # 5. 启用 SDDM systemctl enable sddm systemctl start sddm # 6. 安装 Wayland 支持(可选) # 注意:plasma-wayland-session 已集成到 plasma-workspace 中 # 如果已安装 plasma-desktop,Wayland 会话支持已经包含 # 只需安装 XWayland 相关组件即可 sudo pacman -S xorg-xwayland # 7. 安装 GTK 主题支持(可选) sudo pacman -S breeze-gtk breeze kde-gtk-config # 8. 安装 KDE 附加组件(可选) sudo pacman -S kdeplasma-addons # 9. 安装钱包管理器(可选) sudo pacman -S kwalletmanager # 10. 重启系统 reboot 选择性安装 - X11 或 Wayland 纯 Wayland 会话(推荐) 如果只想使用 Wayland 模式,仍需安装少量 X11 组件以支持 XWayland 兼容层: ...

2025-12-03 · 3 min · 504 words · -

ubuntu archlinux dual boot

ubuntu archlinux dual boot 因为某种原因, ubuntu 安装的时候选了 luks + lvm, 只能格掉整个硬盘安装 ubuntu ubuntu 安装之后再手动的给分区缩容, 然后再安装 archlinux 分区缩容的过程在这里 wiloon.com/disk/resize 双系统分区配置 主硬盘 nvme0n1 的完整分区布局(四个分区): 1. nvme0n1p1 - EFI 分区(共享) 文件系统:vfat (FAT32) 大小:1.1GB 挂载点: Ubuntu: /boot/efi Arch Linux: /efi 使用率:1% UUID:FF07-C6C8 说明:双系统共享的 UEFI 引导分区 2. nvme0n1p2 - Ubuntu Boot 分区 文件系统:ext4 大小:2.0GB 挂载点:/boot (Ubuntu) 使用率:12% UUID:a45ac700-f127-447d-880d-8a8d51d37f49 说明:Ubuntu 的 boot 分区,存储内核和 initramfs 3. nvme0n1p3 - Ubuntu 加密根分区 类型:crypto_LUKS (LUKS2 加密) 加密 UUID:4bb8683a-8706-44e1-ad3b-0388d44759cb 内含 LVM 配置: 卷组:ubuntu-vg 逻辑卷:ubuntu-lv (492GB, ext4) 挂载点:/ (Ubuntu 根目录) 使用情况:198GB 已用 / 269GB 可用 (43%) 文件系统 UUID:e3ad7c01-acec-4afc-9915-2203badc5e11 说明:Ubuntu 的加密根分区,使用 LUKS + LVM 4. nvme0n1p4 - Arch Linux 根分区 文件系统:ext4 大小:约 353GB 挂载点:/ (Archlinux 根目录) 使用情况:90GB 已用 / 245GB 可用 (27%) UUID:63c2c764-83b9-4b1b-99f3-db52c03f0109 说明:Archlinux 的根分区,无加密 查看分区信息的命令 # 查看所有块设备及其文件系统类型 lsblk -f # 查看磁盘空间使用情况 df -h # 查看详细分区信息 sudo parted /dev/nvme0n1 print # 查看文件系统挂载配置 cat /etc/fstab 又因为要开 secure boot, 需要在 ubuntu 的 grub 里引导 archlinux 的内核, 所以不能用 archinstall, 因为 archinstall 会安装自己的 grub ...

2025-12-03 · 3 min · 512 words · -

devpi

什么是 devpi? devpi 是一个强大的 Python 包服务器,提供以下核心功能: PyPI 镜像缓存 - 缓存从 PyPI 下载的包,加速后续安装 私有包仓库 - 托管私有仓库的包 多源聚合 - 统一访问多个上游源(官方 PyPI、私有仓库) 离线使用 - 缓存后即使网络断开也能安装包 Web 管理界面 - 提供友好的 Web 界面,方便浏览包列表、查看索引配置、管理用户等操作 devpi 默认运行在 http://localhost:3141,可以通过浏览器访问 Web 界面进行可视化管理。 快速开始 如果你只想快速体验 devpi 的缓存功能,执行以下最简步骤: # 1. 启动 devpi 容器 sudo nerdctl run -d --name devpi --restart unless-stopped \ --network host docker.io/devpi/devpi-server:latest # 2. 配置 pip 使用 devpi(使用默认索引) pip config set global.index-url http://localhost:3141/root/pypi/+simple/ pip config set global.trusted-host localhost # 3. 测试安装包(第一次会从 PyPI 下载并缓存) pip install requests # 4. 再次安装体验缓存加速 pip uninstall -y requests && pip install requests 说明:这个配置使用 devpi 默认的 root/pypi 索引,自动缓存官方 PyPI 的包。数据存储在容器内部,适合快速测试。生产环境建议使用下文的完整配置。 ...

2025-12-02 · 9 min · 1766 words · -

linux desktop

Linux 桌面环境 Linux 桌面环境(Desktop Environment,简称 DE)是运行在 Linux 操作系统上的图形用户界面,提供窗口管理、文件管理、系统设置等功能。 流行的 Linux 桌面环境 GNOME 官网:https://www.gnome.org/ 特点:现代化设计,简洁优雅,注重工作流程 默认用于:Fedora、Ubuntu(自 17.10 起)、Debian 技术栈:GTK KDE Plasma 官网:https://kde.org/plasma-desktop/ 特点:高度可定制,功能丰富,类似 Windows 的操作体验 默认用于:Kubuntu、openSUSE、KDE neon 技术栈:Qt Xfce 官网:https://xfce.org/ 特点:轻量级,资源占用低,适合老旧硬件 默认用于:Xubuntu、Manjaro Xfce 技术栈:GTK 桌面环境对比 桌面环境 资源占用 可定制性 适合人群 GNOME 中高 中 追求现代化体验的用户 KDE Plasma 中 高 喜欢定制的高级用户 Xfce 低 中 老旧硬件用户 GTK 与 Qt 技术栈 Linux 桌面应用主要基于两种 GUI 工具包: 技术栈 使用的桌面环境 代表应用 GTK GNOME、Xfce、Cinnamon、MATE Firefox、GIMP、Thunar Qt KDE Plasma Dolphin、Konsole、VLC 跨技术栈运行 GTK 应用可以在 Qt 桌面(如 KDE)运行,反之亦然。应用程序只需安装一次,所有桌面环境共享。 ...

2025-11-29 · 4 min · 699 words · -

英语词汇辨析

本文汇总了英语中容易混淆或相似词汇的辨析。 upgrade 和 update 的区别 upgrade 一般是指比较重要的升级,或者说是主要的、独立版本的升级,其中软件改变很大。比如从 Windows XP 系统 upgrade 到 Windows 7 系统。 update 一般是指比较次要的升级或更新,软件改变比较小或者只是修复一些 bug。比如从 Windows 7 系统 update 到 Windows 7 SP1。 总结:upgrade 一般指质的变化,而 update 一般指量的变化。 参考: https://www.cnblogs.com/ini_always/archive/2011/08/29/2158895.html duration ,interval 隔一分钟打一次雷,每次雷持续响半分钟。 一分钟就是interval,半分钟就是duration http://zhidao.baidu.com/question/174688836.html

2025-11-29 · 1 min · 37 words · -