Anduin Xue
Anduin Xue

Anduin's Tech Blog

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


How to setup CUDA environment for Docker on Ubuntu?

Setting up a CUDA environment for Docker on Ubuntu involves a structured process to enable GPU acceleration within containers. The journey begins by verifying that the system recognizes the NVIDIA GPU, a critical first step to avoid configuration pitfalls. Installing the correct drivers—whether for desktop or server environments—requires careful selection from available versions, with options for automatic or manual installation ensuring flexibility. Once drivers are in place, Docker must be configured to leverage NVIDIA's container toolkit, a bridge between the host hardware and containerized applications. This integration demands precise repository setup and package installation to ensure compatibility. Testing the setup through commands like `nvidia-smi` within a Docker container confirms successful integration, while stress-testing tools like `gpu-burn` validate the GPU's performance under load. Advanced users can extend this configuration using Docker-Compose to define GPU resourc...--Qwen3

NVIDIA CUDA GPU Docker Nvidia Drivers Docker GPU

Web 应用开发检查单

文章系统性地梳理了从基础设施到应用开发的全方位最佳实践涵盖网络配置、安全策略、运维管理、DevOps流程、容器化部署及应用开发等多个维度。在网络配置方面强调IPv6支持、防火墙规则精简、负载均衡策略优化及CDN加速等技术要点。安全体系构建需包含端到端加密、最小权限原则、多因素认证、入侵检测系统与日志审计机制,同时关注合规性要求如GDPR/CCPA等数据保护法规。运维管理需建立全栈监控体系覆盖资源使用率、登录行为及服务可用性,配合自动化备份、快照机制与弹性扩展能力,确保业务连续性。DevOps实践需集成CI/CD流水线,通过静态代码分析、单元测试、集成测试等环节保障代码质量,结合容器化技术实现快速部署与扩展。应用开发需注重架构设计的高可用性与可扩展性,通过代码审查、安全测试及性能优化消除内存泄漏、死锁、XSS/CSRF等安全隐患,同时满足多设备兼容性、无障碍访问及多语言支持等用户体验要求。合规性层面需全面覆盖开源协议、数据保护及行业标准,确保业务在技术架构与法律规范双重维度的稳健运行。--Qwen3

Web Linux Cloud Server Container Service Development

Ubuntu 22.04 Network Diagnostic Handbook

文章详细介绍了Linux系统中网络诊断与流量监控的工具和方法。通过ifconfig、ip、netstat等命令可查看网络接口和路由信息,结合ping和traceroute进行连通性测试。nmap用于端口扫描和主机发现,tcpdump可捕获分析网络数据包。流量监控方面,nload、iftop、nethogs等工具分别提供可视化流量统计、实时流量分析和按进程划分流量的功能。针对异常流量定位,可通过ss命令查看端口占用,ps命令确认进程信息。安全防护部分,iptables可封堵特定IP或IPv6子网的流量,实现网络访问控制。整个流程涵盖从基础网络检查到高级流量分析及安全防护的完整解决方案。--Qwen3

Linux Ubuntu Network NetworkManager Networkd Netplan

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