Anduin Xue
Anduin Xue

Anduin's Tech Blog

Bash and Linux Some tips about bash and Linux.


Set up a local docker registry mirror

本文介绍了通过自托管Docker registry镜像Docker镜像到本地服务器的完整方案包含三个Python脚本check.py验证镜像是否为最新版delete.py删除损坏镜像mirror.sh自动化镜像流程以及配套的Docker容器化部署方案首先通过docker run启动registry服务编写三个Python脚本实现镜像状态检测和清理编写包含所有目标镜像的mirror.sh脚本使用regctl工具执行镜像拉取和推送操作通过Dockerfile构建包含必要依赖的容器镜像配置定时任务实现每日自动执行镜像任务同时提供本地registry的使用方法包括配置daemon.json信任不安全仓库和镜像推送拉取操作最终形成完整的Docker镜像本地化镜像解决方案--Qwen3

Automation Python Docker Registry Mirroring Scripting

Run docker container with GPU in Docker swarm

本文探讨了在Docker Swarm环境中启用GPU支持的创新方法与潜在挑战。作者通过对比传统docker-compose配置与Swarm模式的限制揭示了一个关键矛盾:Swarm不支持在资源预留中直接声明GPU设备这一设计缺陷迫使开发者寻找替代方案。文章核心贡献在于提出了一种基于嵌套容器的解决方案通过创建可附着的overlay网络将GPU容器与Swarm管理的容器解耦实现跨节点的GPU资源共享。这种方法巧妙利用了docker-in-docker架构在宿主机上启动独立GPU容器的同时确保其他服务可通过自定义网络与其通信。这种架构突破了传统资源分配的桎梏但同时引发新的思考:当容器嵌套层级增加时性能损耗是否可被接受?这种间接访问方式是否会影响系统的可观测性?更重要的是这种工作模式是否暗示了云原生硬件资源调度的新范式?文章通过成功运行Ollama模型的案例证明了方案的可行性但留下的疑问更值得深思:当我们在追求资源隔离与共享的平衡时是否正在重新定义容器化的边界?--Qwen3

Docker Swarm GPU Resource Management Ollama DeepSeek Model Docker Networking Resource Allocation

How to use apt

APT工具用于Ubuntu软件包管理包括安装更新删除清理等基本操作通过apt install apt update apt remove apt clean等命令实现高级功能如版本锁定可通过编辑/etc/apt/preferences.d文件设置Pin-Priority控制版本安装apt-file可查询包内文件内容apt-cache rdepends可查看依赖包添加仓库需先安装software-properties-common后使用add-apt-repository命令设置镜像需参考官方指南同时APT会自动处理依赖关系卸载依赖包时可能连带删除主程序例如删除git-man会同时卸载git并提供详细包信息显示依赖关系和安装要求--Qwen3

Apt Package Management Dependency Queries Repository Setup Package Tools Mirror Configuration Software Installations

在2024年发布一个Linux发行版还难吗

</think> 在2024年打造一个Linux发行版看似简单实则充满挑战。通过ArchLinux的安装指南可以快速构建一个基础系统添加GNOME桌面环境后便能拥有完整的图形界面但这种简易性背后隐藏着复杂的维护难题。社区中流传的"Linux工厂"项目展示了如何通过简单的配置文件快速生成基于Debian的定制发行版然而这种便捷性与滚动更新机制带来的风险形成鲜明对比。当Arch用户面临内核崩溃时往往需要现场调试而普通用户显然无法承受这种技术门槛。文章揭示了发行版开发的双重困境:技术实现的低门槛与长期维护的高成本。开发者既要锁定稳定版本又要持续追踪安全更新还需处理软件包间的依赖冲突与破坏性变更。Redhat等企业通过制定OCI等标准推动生态兼容性解决了这一难题但同时也改变了Docker的市场格局。这引发了一个深层思考:当技术标准由企业主导时是否意味着开源生态正在向商业化集中?如何在保障系统稳定性的同时保持软件生态的创新活力?这些问题或许能引导我们重新审视开源世界的未来走向。--Qwen3

Linux Distribution Package Management Dependency Management OCI Standard Container Technology Red Hat

Run Linux Desktop experience in Docker container

本文介绍了在Docker容器中部署Linux桌面环境的方法重点解析了Ubuntu桌面环境的核心组件及其依赖关系包括GNOME Shell扩展Ubuntu Dock桌面图标管理器等模块的依赖构成其中gnome-core提供核心应用gdm3作为显示管理器ubuntu-desktop-minimal和ubuntu-desktop分别代表最小化及完整版桌面环境详细列出了alsa-basegdm3gnome-shell等关键依赖项并指出Ubuntu默认安装ubuntu-desktop而非gnome-core通过整合GNOME Shell扩展和桌面组件可实现完整的Ubuntu桌面功能该方法为快速体验Linux桌面环境提供了无需本地安装的解决方案--Qwen3

Linux Ubuntu Remote Management Gnome Docker desktop

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

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

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

bash Linux Ubuntu Docker VM Container

快速配置 - 无痛让你的所有 Git Commit 都被 GPG 数字签名

本文系统梳理了通过GPG数字签名保护Git Commit的完整实践路径。在数字身份安全日益重要的当下,作者揭示了一个关键认知:当任意设备通过修改Email即可伪造Commit时,代码协作的安全边界已被彻底打破。GPG签名通过加密哈希值与私钥的绑定机制,构建了不可篡改的数字信任链条。但技术实施远非终点——当私钥随网盘同步扩散风险,当公钥的信任需要人工传递,我们不得不思考:在追求便捷与坚守安全之间是否存在更优解?当GitHub的平台信任机制成为新节点,如何构建去中心化的身份验证网络?更值得探讨的是,当开发者习惯性地将GPG视为安全工具时,是否忽略了代码本身承载的更深层责任?或许每个Commit的签名都该成为一次郑重的承诺,而不仅仅是技术流程的终点。当你的公钥被好友信任时,这个加密世界是否正在形成某种新的协作伦理?--Qwen3

bash git PowerShell SSH Nextcloud Sign GPG