树莓派 / Debian 安装 OpenMediaVault 后的基础配置记录
树莓派 / Debian 安装 OpenMediaVault 后的基础配置记录这篇记录一下在 Debian / 树莓派环境中安装 OpenMediaVault,也就是 OMV 的过程。 这不是一篇从零讲概念的教程,更像是一份实际安装时整理出来的操作笔记。里面包括系统源、网络、SSH、DNS、OMV 安装、Docker Compose,以及几个常用服务的配置:Jellyfin、qBittorrent、Immich 和 Bazarr。 文里的 IP、磁盘 UUID、密码都建议替换成你自己的环境配置,不要直接照抄。 一、系统环境准备我这次的基础系统是 Debian trixie。安装 OMV 前,先把软件源、系统更新、SSH 和 DNS 这些基础项处理好。 1. 配置 Debian 软件源先备份原来的源配置: 12sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo cp -r /etc/apt/sources.list.d /etc/apt/sources.list.d.bak 编辑传统的 sou...
Windows 服务管理常用命令:sc、Get-Service 和 Restart-Service 怎么用
Windows 服务管理常用命令:sc、Get-Service 和 Restart-Service 怎么用在 Windows 上排查网络、虚拟机、SSH、数据库这类问题时,经常会碰到一句话: 先看一下服务有没有起来。 如果人在图形界面前,打开“服务”管理器当然可以。但如果你是通过 SSH 连到一台 Windows 机器,或者手边只有 CMD / PowerShell,命令行会更省事。 这篇只整理服务管理相关的常用命令。 先判断你现在在哪个 ShellWindows 上常见两种提示符: 1C:\Users\xxx> 这种一般是 CMD。 1PS C:\Users\xxx> 这种一般是 PowerShell。 两个环境都能管理服务,但命令不一样: CMD 里主要用 sc PowerShell 里主要用 Get-Service、Start-Service、Stop-Service、Restart-Service CMD 下查看服务:sc query查看所有服务: 1sc query 只查看正在运行的服务: 1sc query state= runni...
MP4 和字幕怎么封装成 MKV,用 FFmpeg 最省事
MP4 和字幕怎么封装成 MKV,用 FFmpeg 最省事有时候你手里已经有现成的 MP4 视频和 SRT 或 ASS 字幕,需求并不是“压制”,而只是: 把字幕封进视频文件里 生成一个新的 MKV 播放器里可以自由开关字幕 不重新编码,尽量快 这种场景最省事的做法,不是重新导出视频,而是直接做一次封装(remux)。 这篇只讲最短路径。 先说结论如果你只是想把一个 MP4 和一个字幕文件封装成新的 MKV,最常用的命令就是: 1ffmpeg -i input.mp4 -i subtitle.srt -c copy output.mkv 这条命令的关键在 -c copy: 不重新编码视频 不重新编码音频 只是把原有流重新装进 MKV 容器 速度通常很快 一句话理解: 这不是“转码”,而是“换盒子顺手把字幕塞进去”。 为什么更推荐封装成 MKV虽然 MP4 也能处理一部分字幕场景,但如果你要的是更稳妥的字幕兼容性,MKV 通常更省心。 原因很直接: MKV 对字幕格式支持更宽松 内封字幕管理更方便 做多字幕时更顺手 很多播放器对 MKV + SRT/ASS 的支持更成熟...
VS Code 比较文件,先分清你到底要比什么
VS Code 比较文件,先分清你到底要比什么很多人说“想在 VS Code 里比较两个文件”,但这个“比较”其实可能是三件完全不同的事: 看两个文件哪里不一样 找两个文件里共同出现的内容 看同一个文件在 Git 历史里的变化 如果一开始没分清,后面就很容易在错误的工具上浪费时间。 1. 想看差异:直接用 VS Code 内置 Diff这类需求最常见,比如: 两个配置文件有什么不同 两版文案改了哪里 两段代码删了什么、加了什么 用法很直接: 右键第一个文件,选择“Select for Compare” 再右键第二个文件,选择“Compare with Selected” 这时候 VS Code 给你的就是标准的 Diff 视图。 一句话总结: 想看哪里改了,用内置比较就够。 2. 想找共同内容:这不是 Diff,是交集这个场景也很常见,比如: 两批 URL 有没有重复 两份 ID 列表哪些同时存在 两个文本文件里哪些行是一样的 如果文件是“一行一个值”,最省事的办法不是装插件,而是直接跑命令。 macOS / Linux / Git Bash:...
macOS 在访达右键用 VS Code 打开文件或文件夹
macOS 在访达右键用 VS Code 打开文件或文件夹在 Windows 上,右键用编辑器打开文件或文件夹是很常见的操作。到了 macOS,如果你也想在 访达(Finder)里右键直接用 VS Code 打开,最稳的做法不是手写 .workflow 文件,而是直接用 Automator 新建“快速操作”。 这样做有几个好处: 系统原生支持,兼容性更稳 能同时支持 文件 和 文件夹 重装系统或换机器后,照着再配一次也很快 这篇就把完整做法整理一下,后面需要时可以直接照着操作。 最终效果配置完成后,在 Finder 里: 右键某个文件 或右键某个文件夹 你就能在 “快速操作” 或 “服务” 菜单里看到: 1Open in VS Code 点一下,就会直接用 VS Code 打开目标文件或目录。 一、先确认 code 命令可用在 macOS 里,Automator 本质上还是通过命令调用 VS Code,所以第一步要先确认终端里能直接使用 code。 打开 VS Code,按下: 1Cmd + Shift + P 然后搜索并执行: 1Shell Command: I...
OpenClaw Session 清理指南:手动定点删除 vs cleanup 全局维护
OpenClaw Session 清理指南:手动定点删除 vs cleanup 全局维护很多人在清理 OpenClaw 里的旧 session 时,容易把两类操作当成一回事: 手动删除指定 session 运行 openclaw sessions cleanup --all-agents --enforce 但这两者其实差别很大。 前者更像定点手术,后者更像按规则跑一遍系统保洁。 如果你的目标是“我就要把这几个指定 session 立刻删掉,并让它们马上从列表里消失”,那通常不能简单把它等同于 cleanup。 一、这次手动做的到底是什么这次做的是:手动、精确删除指定 session。 核心动作分两步: 先删指定 session 的 transcript 文件 *.jsonl 再删对应 agent 的 sessions.json 里的索引条目 目标很明确: 让这几个指定 session 立刻从列表里消失。 这种方式的特点 按你指定的 session 删 不依赖 OpenClaw 的保留策略 可以删除“规则本来未必会清”的 session 风险也更直接:删错就是删错,...
Hexo中统一图片基础地址的踩坑记录
最近想把博客里大量图片地址统一一下。 原来文章里很多图片都直接写死成了这个前缀: 1https://cdn.jsdelivr.net/gh/gmwzxiaotaiyang/HEXO_img@v1.0.0 这样有两个问题: 后面如果图床地址变化,需要全局替换,维护成本高 文章里反复出现同样的长前缀,可读性也比较差 所以我打算把它抽成一个统一变量,例如: 1{{ IMG_BASE_URL }} 然后在配置里只维护一份真实地址。 没想到这个改动看起来简单,实际踩了两个坑。 目标目标很明确: 在文章里不再直接写完整图片基础地址 改成统一变量: 1{{ IMG_BASE_URL }} 真实地址只在配置文件里保留一份,例如: 1img_base_url: https://cdn.jsdelivr.net/gh/gmwzxiaotaiyang/HEXO_img@v1.0.0 这样后续如果要换图床,只需要改一处。 第一步:批量替换源码中的图片前缀先把 source/**/*.md 里的原始前缀替换...
Thymeleaf使用技巧
Thymeleaf使用技巧1.依赖html添加命名空间 1<html lang="en" xmlns:th="http://www.thymeleaf.org"> maven 依赖 12345<!-- SpringBoot集成thymeleaf模板 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency> js 中使用 th123const user = /*[[${user}]]*/{};const user1 = '[[${user}]]'; user:是一个对象user1:是字符串 html中使用1234<!-- 前 -->t...
微服务技术栈完全指南
本文整理了微服务开发的核心技术栈,包含 SpringCloud、Nacos、Docker、MQ 等技术点。 📑 目录 认识微服务 微服务远程调用 注册中心 负载均衡 配置管理 HTTP 客户端 Feign 统一网关 Gateway Docker 容器化 消息队列 MQ 认识微服务什么是微服务微服务是一种架构风格,将单体应用拆分为多个小型服务,每个服务独立运行、独立部署。 技术选型对比 SpringCloud 生态SpringCloud 是微服务解决方案,提供了一整套微服务技术组件。 📌 版本注意:SpringCloud 与 SpringBoot 版本需要兼容 微服务远程调用基于 RestTemplate1. 注册 RestTemplate Bean 1234@Beanpublic RestTemplate restTemplate() { return new RestTemplate();} 2. 服务远程调用 12String url = "http://user-service/user/" + ord...
会话跟踪技术
会话跟踪技术 会话:用户打开游览器,访问web服务器的资源,回话建立,直到有一方断开连接,回话结束。在一次会话中可以包含多次请求和响应 会话跟踪:一种维护游览器状态的方法,服务器需要识别多次请求是否来自同一游览器,以便在同一次回话的多次请求间共享数据 HTTP协议是无状态的,每次游览器向服务器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现会话内数据共享 实现方式: 客户端会话跟踪技术:Cookie 服务端会话跟踪技术:Session 目录 Cookie基本使用 Cookie原理 Cookie使用细节 Session基本使用 Session原理 Session使用细节 案例 Cookie基本使用 Cookie:客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问 Cookie 基本使用 创建Cookie对象,设置数据 1Cookie cookie = new Cookie("key","value"); 发送Cookie到客户端:使用response对象 1response....









