Anduin Xue
Anduin Xue

Anduin's Tech Blog

Ubuntu


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

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应用

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

bash Linux Ubuntu Docker VM Container

Make Gnome looks like Windows 11

本文记录了一场以Gnome桌面环境为画布的视觉重构实验通过安装定制扩展工具和主题将Linux系统打造成Windows 11风格的界面过程揭示了开源系统高度可塑性的本质。作者通过一系列操作链——从基础依赖包的安装到用户主题扩展的激活从图标风格的替换到任务栏模块的重组——逐步解构并重建了桌面交互逻辑最终呈现出一个既保留Gnome底层架构又具备Windows 11视觉特征的混合形态。这种跨系统的美学移植不仅考验技术适配的精确度更引发对操作系统设计边界的新思考:当文件管理器的图标可以拥有动态光效任务栏能模拟Windows的流体设计甚至开始菜单能完美复刻微软的Fluent Design语言时我们是否正在见证数字界面的去平台化趋势?文章通过具体改造案例暗示了一个更深层的命题当操作系统的外壳可以像换皮肤般随意更换时用户对系统本身的身份认同又将如何演变?而那些被保留的Gnome底层特性与被重构的Windows表层符号之间又是否存在某种隐喻关系?这些未解的疑问或许正是打开未来人机交互想象空间的钥匙。--Qwen3

Ubuntu Windows 11 Gnome Customization ArcMenu User Interface

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

MySQL allow remote connection (For root and other users)

本文围绕MySQL数据库实现远程访问的核心配置展开剖析从防火墙策略调整到用户权限管理的完整流程为读者揭示了如何在保障安全前提下打通数据库的远程连接通道。文章首先指出检查mysql.user与mysql.db数据表是理解当前访问权限的关键起点随后通过开放3306端口与修改bind-address配置的组合操作为远程访问扫清网络障碍。针对root账户的远程授权设计了双步骤方案——通过GRANT语句与直接修改host字段的互补机制既保证了权限的即时生效又确保了配置的可靠性。对于普通用户的远程访问需求则提供了创建新用户与修改现有用户的差异化解决方案其中包含数据库与用户权限的精确绑定策略。值得注意的是文中多次强调的host字段设置为'%'的深层含义——这既是权限开放的开关也是潜在安全风险的源头。当远程访问的便利性与本地访问的封闭性产生碰撞时我们该如何在安全策略中寻找平衡点?当配置完成后如何验证远程连接的有效性?面对多用户场景时权限隔离的最佳实践又是什么?这些看似简单的配置背后实际上蕴含着对数据库安全架构的深层思考。当您完成这些配置操作时是否已经准备好在开放访问的同时守护数据库的安全?--Qwen3

bash Database Linux Ubuntu Remote Management MySQL

Ubuntu resize an ext4 partition without LVM

在Ubuntu系统中扩展已挂载的ext4文件系统需通过调整分区大小并更新文件系统。首先确认磁盘分区表类型(MBR或GPT),使用fdisk(MBR)或gdisk/parted(GPT)调整目标分区大小,删除原有分区后重新创建并覆盖完整空间,保留原有文件系统签名。执行resize2fs命令自动扩展文件系统至新分区大小,无需卸载可在线操作。验证df -Th输出确认容量变化,注意操作前需备份数据,且仅适用于未加密的文件系统。--Qwen3

Linux Ubuntu Disk ext4 fdisk Partition

If a Ubuntu server should run apt upgrade automatically?

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

bash Linux Ubuntu Upgrade Crontab Update