Anduin Xue
Anduin Xue

Anduin's Tech Blog

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


If a Ubuntu server should run apt upgrade automatically?

在管理大量Ubuntu服务器时是否应该启用apt upgrade自动更新?这既是一场效率与风险的博弈也是对运维哲学的深刻思考。当服务器数量庞大时手动执行update和upgrade再重启的重复操作确实会消耗大量时间而自动更新看似能完美解决这个问题尤其在安全补丁及时性和系统稳定性方面展现出明显优势。但这种看似完美的方案却暗藏玄机:当服务器需要排查历史问题时自动更新可能抹去关键调试线索;对航空控制系统这类零容忍变更的场景自动更新简直是灾难性的;更不用说功能更新可能引入新bug导致业务中断而强制重启对游戏服务器等系统可能直接中断正在进行的赛事。尽管作者给出了每周日凌晨执行脚本的配置方案却在最后提出了令人警醒的条件清单——只有当系统不重要能容忍可用性下降且具备完美快照和互联网连通性时才适合启用自动更新。这引发我们思考:在自动化浪潮中我们是否正在失去对系统演进过程的掌控?当安全更新与业务连续性产生矛盾时该如何在风险与收益间找到平衡点?或许真正的智慧不在于选择自动或手动而在于建立对系统生命周期的深度认知。--Qwen3

bash Linux Ubuntu Upgrade Crontab Update

Install Cockpit on Ubuntu 22.04

本文通过分步指南解析了在Ubuntu 22.04系统上部署Cockpit的完整流程并揭示了其背后的技术逻辑。安装过程从基础命令切入却巧妙融入了权限管理的底层思考——为何要避免root用户直接操作?当网络异常导致PackageKit缓存刷新失败时解决方案通过Netplan配置迁移与NetworkManager渲染器调整既解决了表层问题更暗示了系统服务间依赖关系的复杂性。插件安装环节通过自动化脚本实现版本追踪与动态下载展现了现代DevOps中CI/CD的实践思维而Caddy反向代理的配置则抛出了安全与便捷的永恒命题:如何在TLS证书验证与服务可达性之间取得平衡?当浏览器地址栏中的9090端口打破传统Web服务的80/443端口惯例时是否预示着更多非标准服务的崛起?最后通过反向代理实现HTTPS的方案既解决了证书信任链问题又引发了对自动化证书管理(如Let's Encrypt)与手动配置安全性的对比思考——当技术方案面临选择时我们究竟应该追求极致安全还是适度妥协?--Qwen3

bash Linux Ubuntu Remote Management Cockpit NetworkManager

CaddyV2 tips and examples (How to correctly get user's IP address after a reverse proxy)

Caddy V2作为现代反向代理工具展现了极强的可定制性与场景适配能力文章通过编译带有Proxy Protocol插件的自定义Caddy版本揭示了如何在FRP等隧道代理后精准获取用户真实IP地址这一核心难题同时展示了从静态文件托管到动态负载均衡的12种典型配置方案包括如何通过header操作实现安全加固如何结合IP白名单与路径匹配进行精细化访问控制以及如何利用基础认证与健康检查构建多层防护体系值得注意的是当反向代理链涉及多层嵌套时配置的允许规则与超时参数往往成为系统稳定性的关键变量文章尤其值得关注的创新点在于将Caddy的模块化特性与实际网络拓扑深度结合例如通过cookie-based负载均衡策略实现会话保持或在HTTPS跳转时自动移除潜在风险头字段这种将协议细节与安全策略有机融合的实践思路值得深入思考当面对混合云环境或混合网络架构时如何设计既能满足性能要求又能保证可观测性的反向代理方案或许正是本文抛砖引玉的价值所在--Qwen3

Reverse Proxy Linux Ubuntu Proxy FRP Caddy CaddyV2 IP Address Proxy Protocol

Build a new NFS server with WinServer or Ubuntu and mount it

本文详细介绍了如何在Windows Server和Ubuntu系统上搭建NFS服务器并实现跨平台挂载的过程。通过分步解析的方式,文章展示了Windows Server中通过图形界面安装NFS角色并配置共享目录的便捷操作,同时对比了Ubuntu系统中使用命令行安装服务、设置共享路径及权限的标准化流程。在挂载环节则分别演示了Windows客户端通过PowerShell和CMD实现匿名挂载的技术要点,Ubuntu系统使用mount命令与fstab配置的差异性方案,以及VMware ESXI环境通过VCenter添加网络存储的可视化操作路径。文章通过技术细节的对比揭示了不同操作系统在NFS协议实现层面的兼容性特征,并通过实际配置过程中的端口开放、权限继承等关键环节,引发了关于跨平台资源共享安全性与性能优化的深层思考。当NFS服务器在异构系统间架起数据通道时,如何平衡便捷性与安全防护?在容器化和云原生趋势下,传统NFS存储方案如何适应动态扩展需求?这些问题或许正是理解现代存储架构演进的关键切入点。--Qwen3

Linux Ubuntu File Windows Server Share NFS VMware ESXI Vsphere NAS

Mount Windows SMB folder to Ubuntu

本文通过简洁的步骤解析了如何在Ubuntu系统中挂载Windows SMB共享文件夹,并延伸探讨了跨平台协作的技术可能性。文章从安装cifs-utils工具包切入,演示了通过命令行创建挂载点、输入认证参数实现远程目录本地化的完整流程,特别展示了交互式密码输入和挂载后文件访问的实操场景,同时提供了开机自动挂载的配置方案。这种将网络存储无缝集成到本地文件系统的技术,不仅打破了操作系统的边界,更引发了关于数据访问权限管理、跨平台协作效率以及自动化运维方案的深层思考——当远程文件如同本地磁盘般可读写时,我们是否重新定义了“文件”的存在形式?在享受技术便利的同时,如何平衡自动化配置与安全性需求?当SMB协议成为连接异构系统的桥梁,我们是否能想象出更多跨平台协作的创新应用场景?--Qwen3

bash Linux Ubuntu Windows Server SMB Share

Install Nextcloud on a Ubuntu 20.04\22.04 server

文章详细介绍了Nextcloud服务器的部署与优化流程涵盖从基础安装到高级配置的17个步骤。核心内容包括:安装LAMP环境后通过APT部署Nextcloud,配置外部存储通过挂载大容量硬盘修改数据目录,设置邮件服务与默认区域,优化预览功能;引入Redis缓存通过修改配置文件与权限组提升性能,编写自动化备份脚本结合rsync和mysqldump实现数据与数据库的定期备份;部署反向代理时配置信任代理IP并使用Caddy进行反向代理;针对GPU加速场景提供CUDA与cuDNN的安装指引。全文重点强调配置文件的修改细节包括config.php中数据目录、缓存机制、信任域等参数调整,以及权限管理、服务重启等关键操作,最终通过分层架构实现可扩展的云存储解决方案。--Qwen3

Web Linux Ubuntu IT Apache2 PHP MySQL Certbot Nextcloud Storage

Make and prepare your own Windows image and deploy with the OOBE experience

本篇文章深入解析了如何通过`sysprep`与`dism`工具构建自定义Windows镜像并实现OOBE(开箱即用体验)部署的完整流程。文章揭示了Windows系统镜像定制的核心逻辑:通过`sysprep`擦除设备数据并进入OOBE模式,配合`dism`捕获系统镜像形成通用的`wim`文件,最终实现快速部署与个性化配置。这一技术路径既解决了预装系统未激活、缺少驱动等常见痛点,又为批量部署和设备交付提供了标准化方案。 文章通过审计模式与OOBE模式的切换机制,展示了如何在临时配置阶段安装驱动和软件,同时保持系统通用性。值得注意的是,`sysprep /generalize`参数的使用场景区分了镜像捕获与单机部署的不同需求,而`dism`的优化功能则进一步提升了系统启动效率。当需要扩展定制时,文章展示了如何通过审计模式注入驱动、添加软件,并保留重新进入OOBE的灵活性。这种动态调整能力为系统镜像的持续迭代提供了技术基础。 文章最后抛出关键思考:如何在镜像定制中平衡通用性与个性化需求?当面对不同硬件平台时,驱动注入策略应如何动态适配?对于需要长期维护的镜像,如何设计自动化的更新机制?这些问题的答案或许就隐藏在系统镜像的分层结构与OOBE流程的深度定制中,等待读者通过实践探索。--Qwen3

Windows Customization DISM Tool Driver Injection System Deployment Audit Mode Windows RE Preparation

Use you local server to replace the cloud with FRP.

通过FRP技术将本地服务器暴露至公网替代部分云服务以降低每月数百美元的云服务器成本成为可能。文章展示了如何利用家中旧电脑结合FRP工具构建替代方案,通过将本地设备端口映射到互联网,使内网服务具备公网可访问性。该方案核心依赖FRP的反向代理原理——服务端部署于云服务器(如Azure或Vultr),客户端运行于本地设备,利用TCP/UDP协议建立连接通道,无需设备拥有公网IP即可实现服务暴露。具体实施步骤涵盖云服务器采购与FRP服务端配置、本地设备FRP客户端部署、网络策略调整及自动化更新机制搭建。成本测算表明:一次性投入300美元购买硬件后,每月仅需支付20美元云服务器费用和10-20美元网络带宽成本,相较传统云方案每月150美元的支出节省超过90%。文章引发思考:当家庭宽带带宽与云服务器性能差距逐渐缩小时,是否意味着企业级应用可更多采用边缘计算架构?如何平衡数据安全性与成本优化目标?是否应重新评估传统数据中心的部署模式?这些值得每个云计算从业者深思的问题,或许正推动着IT基础设施的下一次范式变革。--Qwen3

IP bash Linux Windows Server Cloud FRP Network Port Firewall

Setup Minecraft perfect game experience

This article walks through a structured approach to enhance Minecraft Java Edition through custom configuration offering a polished gameplay experience. Starting with Java installation via Winget or official sources the guide transitions into acquiring the Java Edition launcher emphasizing the distinction from Bedrock. It then details the transition to Fabric mod loader enabling a modular ecosystem for performance and visual enhancements including Sodium for optimized rendering Iris for shader support and Complementary Shaders to transform environmental aesthetics. The workflow extends to essential utility mods like Xaero's maps for navigation and a curated list of quality-of-life improvements ranging from inventory management to advanced combat indicators. For server operators the text proposes PaperMC as a foundation alongside data packs that expand world generation and structural diversity while suggesting configuration tweaks to balance challenge and creativity. The narrative invit...--Qwen3

Configuration Minecraft Game Java Minecraft Optimization Mod Installation

Install WinGet on Windows Server

这篇博客通过PowerShell脚本实现了在Windows Server上安装WinGet的自动化方案,揭示了微软商店应用在服务器系统中的部署难题。文章展示了通过正则表达式解析微软商店API、动态处理软件包依赖关系的智能安装逻辑,同时提供了手动安装的备选方案。值得注意的是脚本设计中引入的重试机制和版本对比功能,这种对依赖关系不确定性的应对策略,暗示着服务器环境软件包管理的复杂性。当自动安装失败时作者引导读者思考如何通过GitHub Releases手动下载安装包,这种从自动化到手动的过渡策略启发我们思考:在服务器系统中如何建立更稳健的软件部署流程?而安装后可直接使用的Windows Terminal等现代工具的安装示例,则引发了一个更深层次的疑问——在传统服务器架构中引入桌面级应用是否会对系统稳定性产生潜在影响?最后文章对wsreset命令的特殊说明,恰如其分地提醒我们注意不同Windows版本的兼容性边界,这不禁让人思考:在服务器系统中使用微软商店生态的长期可行性究竟如何?--Qwen3

PowerShell Windows Server Install Winget Microsoft Store Automation

Install Windows 11 on Vultr cloud machine

该文章详细介绍了如何在云服务器上部署Windows 11系统的完整流程。首先需要选择带Windows Server系统和远程桌面功能的云服务器并创建快照,随后通过下载ISO镜像、配置BCD引导项、应用映像文件等步骤完成系统解压和启动配置。在OOBE初始化阶段需通过VNC连接完成本地账户创建和RDP服务启用,最终通过删除旧系统、修改远程端口和创建快照完成云PC部署。整个过程涉及分区格式化、驱动兼容性处理、系统镜像应用、启动项设置及安全配置等核心操作,最终实现可远程访问的Windows 11云桌面环境。--Qwen3

PowerShell Windows Server Cloud Windows Windows 11 DISM Bcdedit Vultr Cloud PC