Anduin Xue
Anduin Xue

Anduin's Tech Blog

All Posts in 2024.7


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

应用商店、包管理……每天都会使用的东西有什么开发难度?

包管理是软件工程中的核心问题传统包管理器如apt通过集中存储解决依赖但存在冲突和环境不一致问题Nix采用函数式模型以不可变包和确定性构建为核心通过哈希路径实现包隔离和共享并支持二进制缓存和原子操作NuGet结合Monolithic与动态链接策略在项目内打包依赖同时全局存储多版本包以缓解冲突Monolithic方法通过打包所有依赖确保一致性但牺牲空间效率Docker等分治策略将服务单体化配合简单依赖管理成为主流然而包管理领域仍缺乏万能方案Nix虽技术先进但因反直觉应用有限业界普遍依赖Monolithic与虚拟化结合的折中方案包管理的复杂性远超表面呈现的商店化体验现代软件工程通过抽象简化了用户操作但开发者仍需直面依赖问题的本质挑战--Qwen3

Store nuget apt package manager Application Nix

在 2024 年学习汇编还有必要吗

文章探讨了操作系统与应用程序的相互关系及其底层抽象机制。通过定义和实现ABI(应用二进制接口)作为软件与硬件交互的标准,操作系统和应用程序可以同时诞生并依此共生。ABI明确了程序入口、资源管理、调用约定等规范,成为二者交互的桥梁,例如鸿蒙兼容Linux ABI使跨系统运行成为可能。学习汇编与操作系统课程有助于理解计算机底层机制,包括内存管理、进程调度、死锁处理等核心概念,这些知识对编译器开发、嵌入式系统设计及网络安全至关重要。文章指出,应用程序并不必然依赖操作系统存在,早期计算机和实时系统可直接在硬件上运行代码,而现代裸机编程和自制操作系统实验也证明了应用软件与操作系统的独立性。通过插件系统设计的案例,展示了抽象接口(如ImageFilter)如何实现系统扩展性,而操作系统本质是ABI的执行者与管理者。最终结论强调,理解ABI和底层原理是突破高级语言抽象的必要途径,计算机科学教育应重视基础理论而非仅关注应用层面。--Qwen3

Abstraction Assembly Language Memory Management Function Pointers Deadlock Detection Embedded Systems

开放性问题 Windows 和 Linux 哪个更加安全?

Windows与Linux的安全性对比始终是一个开放性问题,其答案取决于使用场景与用户需求。Windows通过硬件到软件的全链路信任体系构建了默认开启的多重防护——TPM固件验证、BitLocker加密、Secure Boot签名机制、VBS虚拟化安全等技术形成闭环,而Linux则凭借开源特性允许用户深度定制安全策略,但需主动配置完整性检查、内核签名及白名单机制。值得注意的是,普通用户往往因性能或便利性关闭Windows的安全功能,而开发者却可能因Linux的灵活性实现更高级的防护。当游戏主机用户为提升帧率关闭VBS时,其风险可能低于服务器管理员因代码漏洞导致的攻击面扩大。这种场景依赖性揭示了安全性的本质:它既非绝对标准,也非系统属性,而是用户行为与防御策略的综合体现。当讨论Windows与Linux哪个更安全时,或许更该思考——你的使用场景中,技术选择与安全投入的平衡点究竟在哪里?你的答案是什么?--Qwen3

Security VBS Operating Systems BitLocker User Experience Use Cases

在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