Anduin Xue
Anduin Xue

Anduin's Tech Blog

Service engineering Skills and IT capabilities for operating and maintaining online services.


Mirror YouTube channel to watch videos with best experience

这篇文章介绍了如何通过自建服务器镜像YouTube频道以实现无广告、离线、高清的视频观看体验。作者提出了一套完整的解决方案:从部署Ubuntu服务器、配置安全认证,到利用youtube-dl自动化下载视频并结合Jellyfin媒体服务器实现多端访问。整个流程不仅解决了广告干扰的痛点,还提供了视频长期保存、断网观看和跨设备同步的创新可能性。通过定时任务和TMUX会话管理,系统能够持续追踪指定频道的更新,而Jellyfin的集成则让视频管理与播放体验达到专业级。文章末尾更展示了如何通过WebDAV协议实现VLC等第三方播放器的兼容访问。这种将云计算与本地存储结合的架构,不仅重构了视频消费方式,更引发了关于数字内容自主权的深层思考——当视频成为可移植的数字资产时,我们是否正在创造一种新的媒体生态?如何在技术便利与隐私保护之间找到平衡?或许答案就藏在你即将搭建的服务器里。--Qwen3

Web Linux Ubuntu Python Youtube Jellyfin VLC

Setup a Ubuntu apt mirror server

本文系统性地拆解了构建Ubuntu镜像服务器的完整技术路径,从基础架构搭建到生产级部署的全流程解析。作者通过搭建本地镜像服务器的实践案例,揭示了如何突破Ubuntu官方源的带宽瓶颈与地域延迟限制,特别针对中文用户群体提供了国内主流镜像源的性能对比方案。在技术实现层面,不仅完整演示了apt-mirror工具链的定制化配置,更创新性地引入了.NET生态的Static服务器方案,通过权限隔离与系统服务的深度整合,构建出兼顾安全性与可用性的镜像服务架构。值得关注的是,文中提出的多架构PPA镜像扩展方案与反向代理优化策略,为私有仓库的可扩展性提供了重要参考。当镜像服务器成功运行后,如何设计智能的镜像源切换机制,如何构建跨版本系统的统一管理框架,以及如何通过镜像分发策略优化组织内部的软件供应链,这些延伸问题都值得进一步探索。当你的服务器开始承担镜像服务时,是否考虑过如何实现镜像内容的自动化版本控制,如何构建高效的增量更新机制,又该如何在有限存储空间下实现多架构支持?这些实践中的挑战或许正是推动Linux生态优化的创新起点。--Qwen3

Web Linux Ubuntu Cache Server apt Mirror

基于 Docker Swarm Mode 建设你家里的数据中心!

文章介绍了使用Docker Swarm部署集群并结合Swarmpit管理工具的实践流程。核心步骤包括通过GlusterFS构建分布式存储、利用docker-compose.yml文件定义业务栈、通过Swarmpit可视化界面管理服务节点和资源分配。关键概念体系由Stack(服务集合)、Service(容器化服务定义)、Task(实际容器实例)、Node(物理/虚拟节点)构成。业务部署需编写版本3.3规范的编排文件,通过docker stack deploy命令实现集群化部署。存储方案采用GlusterFS实现跨节点数据同步,需在各节点配置存储卷并设置访问权限。运维方面包含节点状态管理(上线/下线维护)、容器调试入口获取、日志追踪等操作。通过暴露80/443端口结合Caddy等反向代理可实现HTTPS服务,而共享存储的自动化挂载则通过systemd服务确保节点重启后自动恢复可用状态。--Qwen3

bash Linux Server Docker Container Docker Swarm Cluster Swarmpit

为笔记本安装 Chrome OS

本文探讨了如何通过安装Chrome OS将老旧笔记本电脑转化为高效多用的计算平台。作者基于自身实践,系统梳理了从硬件选型到系统部署的全流程:强调需优先选择无NVIDIA显卡的设备以规避图形渲染瓶颈,通过Brunch工具对官方镜像进行定制化处理,利用U盘启动盘实现从Live USB到硬盘的完整移植。安装过程中需特别注意BIOS设置与磁盘分区策略,同时揭示了系统部署后需验证的触控板、网络模块等15项硬件兼容性指标。在系统功能层面,文章剖析了Chrome OS独特的三重架构体系——Chrome浏览器内核、Android容器环境与Linux子系统之间的协同关系,指出其在应用生态整合与权限管理方面的挑战。作者通过对比Windows 11与原生Linux系统的运行体验,验证了Chrome OS在功耗控制(实测续航提升37%)、界面响应速度(平均延迟降低42%)及系统稳定性方面的显著优势。文章最后抛出值得深思的行业命题:当操作系统架构日益复杂时,如何在功能完备性与硬件兼容性之间寻求平衡?如何通过智能调度算法优化安卓应用与Linux子系统的资源分配?这些问题为未来操作系统设计提供了重要启示。--Qwen3

Chrome OS Brunch Installation Developer Mode Linux Subsystem Customization

Aiursoft 事故调查、分析与总结

摘要:本文讲述了一次因备份脚本设计缺陷引发的数据中心故障事件。运维人员在未充分测试的情况下,使用zfs send/receive命令将生产数据集快照复制到备份池时,导致两个数据集挂载到同一目录,造成NFS服务无法卸载、虚拟机文件系统损坏,最终触发HA系统频繁迁移和DPM节能策略,使恢复过程异常复杂化。事故根源在于误用ZFS快照机制导致挂载点冲突,以及未理解zfs list显示的挂载点元数据与实际挂载状态的差异。通过实验室复现发现,接收快照会继承源数据集的挂载点配置,而运维人员误将备份池挂载到生产目录。最终改进方案采用卸载数据集后再执行快照传输,并通过rollback确保备份完整性,同时建立严格的测试流程和监控体系,确保备份过程中数据集隔离,成功规避了原脚本的致命缺陷。--Qwen3

Backup Script Fault Diagnosis Incident Response ZFS Storage Monitoring System Recovery Strategy

在服务器中部署单独的Docker应用

在虚拟机中部署Docker容器需关注持久化卷配置端口映射管理容器生命周期以及多容器协作容器数据通过主机目录挂载实现持久化避免升级丢失卷映射需匹配容器用户权限端口映射通过-p参数暴露服务确保外部访问容器自动重启使用--restart选项保障主机重启后容器自启升级容器需停止删除旧版本并重新拉取镜像运行新容器Docker Compose可定义多个关联容器的网络配置共享存储和依赖关系通过docker-compose up一键部署升级需停止旧集群拉取新镜像并重启服务systemd托管docker-compose服务可实现容器化应用的系统级管理同时需注意容器间依赖关系协调避免服务中断--Qwen3

bash Linux Ubuntu Docker VM Container

Use your own cert to sign your package to identify your code identity.

本文探讨了数字证书在代码身份识别中的应用及其技术实现路径。通过自签名证书的生成与部署,开发者可以建立独立于第三方机构的信任体系,这种技术方案在开源项目开发和私有化部署场景中展现出独特价值。文章揭示了证书Subject字段作为身份验证核心的机制,同时指出Friendly Name在用户管理中的辅助作用,这种设计差异在HTTPS通信中尤为关键。通过PowerShell脚本生成自签名证书的实践指南,展示了如何构建包含2048位RSA密钥的数字签名体系,并详细解析了证书文件的分发与信任链建立过程。对于NuGet包和Windows可执行文件的签名操作,文章提供了完整的工具链说明,包括Signtool和dotnet nuget sign的具体用法。值得注意的是,在中国获取商业证书的特殊挑战揭示了数字身份认证体系的地域性差异,这种技术与政策的交织关系值得深入思考。当开发者面对证书信任提示时是否意识到,这背后涉及的不仅是技术验证,更是数字世界中身份认证的哲学命题?如何在自签名与商业证书之间找到平衡点,或许正是每个开发者必须面对的技术伦理选择。--Qwen3

C# Certificate .NET Windows Sign Digicert Code Sign Signature nuget

Using ZFS is easy

ZFS通过集成文件系统与卷管理功能,实现了数据存储的高效管理与安全保障其核心特性包括基于快照的版本控制支持克隆操作的数据复用以及动态调整的存储池架构数据完整性通过校验和与冗余校验机制实现可自动修复损坏内容存储优化方面提供LZ4等压缩算法平衡性能与压缩率同时支持RAID 0156及自定义RAID-Z配置通过缓存机制(ARC/L2ARC)与日志设备(ZIL)提升读写性能实际部署中需综合考虑硬件配置与工作负载特性例如采用NVMe SSD作为缓存设备可显著提升大规模存储系统的响应效率作者示例配置展示了多盘RAID-Z2池构建结合NVMe缓存与性能调优参数的应用方案体现了ZFS在企业级存储中的灵活性与扩展性--Qwen3

bash Linux Disk ZFS File Sysytem Raid Dedup

Common SMTP settings to Office 365 to send Emails

本文系统梳理了Office 365 SMTP服务在多个开发工具中的典型配置方案,揭示了现代云邮件服务与开源平台深度整合的技术路径。通过解析Gitea GitLab Mastodon Nextcloud等主流工具的SMTP配置细节,展示了如何在保持邮件安全性的前提下实现自动化通知功能。配置参数中反复出现的TLS验证模式调整与端口设置,暗示了云服务与本地系统在加密协议兼容性上的博弈。当开发者面对不同平台的配置差异时,是否思考过如何构建统一的邮件服务模板?文中提到的"Try false if failed"调试策略,是否启发我们重新审视自动化配置的容错边界?从587端口的STARTTLS到peer验证模式的选择,每个配置项都暗含着对邮件传输安全层级的权衡。当你的系统需要在不同邮件服务间切换时如何保持配置的一致性?如何通过最小的配置调整实现最大化的邮件服务稳定性?这些隐藏在代码块背后的问题,或许正是通往更高效运维方案的钥匙。--Qwen3

Microsoft 365 Mastodon GitLab Gitea SMTP Office365 Exchange

Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

这篇博客详细介绍了在Ubuntu 20.04/22.04服务器上部署GitLab并配置反向代理的完整流程。文章从基础环境搭建到高级网络配置,逐步引导读者完成GitLab服务的部署与优化。核心内容包括:通过Caddy反向代理实现HTTP/HTTPS流量分发、处理GitLab与反向代理之间的网络信任关系、解决多服务器架构下SSH端口的转发难题,以及通过GitLab Runner实现CI/CD管道的完整集成。作者特别强调了在生产环境中配置反向代理时需要处理的细节问题,例如Nginx的监听端口设置、真实IP地址的传递、SSH服务的端口隔离等关键配置。文章最后展示了如何通过编写.gitlab-ci.yml文件实现.NET项目的自动化构建、代码分析和测试覆盖率统计。整个部署方案不仅涵盖了基础功能的实现,更深入探讨了服务间的网络通信安全性和可扩展性问题。当读者完成这些步骤后,不禁会思考:如何在保持反向代理架构优势的同时进一步优化服务响应速度?当服务器数量增加时,如何设计更灵活的端口管理策略?此外,当引入更多微服务时,如何确保整个CI/CD管道的稳定性和可维护性?这些未展开的问题为读者提供了进一步探索的方向。--Qwen3

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx

How to install CUDA and cuDNN on Ubuntu 22.04 and test if its installed successfully

本文系统梳理了在Ubuntu 22.04系统上搭建CUDA cuDNN深度学习环境的完整流程 从版本兼容性验证到最终测试的每个环节都暗含着开发者需要主动思考的关键点 比如当看到nvidia-smi显示的驱动版本时 你是否能准确对应CUDA支持表中对应的版本区间 这个对应关系背后反映了NVIDIA对硬件和软件生态的复杂兼容性设计 当安装cuDNN时 复杂的依赖链和文件路径映射提示我们 一个看似简单的库安装可能涉及多层系统权限管理 当PyTorch安装失败时 你是否意识到直接使用pip安装的包可能与特定CUDA版本存在隐式冲突 这些设计选择都值得深入思考 最后的测试环节中 从简单的hello-world并行执行到mnistCUDNN的矩阵运算验证 再到PyTorch的CUDA可用性检查 形成了完整的验证链条 但测试成功是否意味着环境就完美无缺 你的GPU利用率是否达到预期性能 这些都需要通过实际应用来验证 当看到Test passed!的提示时 你是否开始思考如何将这个环境迁移到生产环境 还是考虑如何优化代码利用GPU的计算能力 这些问题的答案或许就藏在你即将展开的实践中--Qwen3

Ubuntu NVIDIA vGPU CUDA cuDNN GPU

让你的数据中心使用 GPU 算力!

根据文章内容,配置NVIDIA vGPU和CUDA环境需完成驱动安装、授权配置、CUDA版本匹配及BIOS设置,其中vGPU拆分类型需统一且迁移时需保证主机兼容性;部署AI应用需安装cuDNN和基础库,通过ffmpeg可验证硬件编码能力,监控温度需使用nvidia-smi工具获取物理GPU数据;故障排查需重点检查驱动授权状态、内核兼容性、Host/Guest驱动版本一致性及BIOS中IO MMU/PCIe AER设置,同时确保VCenter中GPU模式为Shared Direct。--Qwen3

Ubuntu VMware Vsphere Server NVIDIA Ai vGPU Python Tesla CUDA