Nami: 一个干净整洁的去中心化包管理器
Updated at: 2023-11-01
背景
从历史讲,Linux 上一开始软件分发普遍是使用发邮件的方式,一来那时软件的文件数也不多,不像如今动不动一大堆目录,几十行就单独拆分文件。而那时 C 语言是号称跨平台的,这个跨平台的定义是指代码跨平台,由于 libc6 静态编译的不方便,以及对硬盘大小的考虑,所以都是拿到代码自己编译。软件升级也习惯用邮件发送 patch。
后来各个 Linux 发行版社区,开始维护中心化的软件仓库,根据不同系统版本对软件进行预编译或现编译。因为软件作者往往不是软件包维护者,毕竟只写软件就已经够累了,还要去维护各个发行版的软件包就直接 ICU 吧。所以往往会有志愿者去专门维护软件包,当软件作者发新版本时,包维护者也将软件包进行维护升级,所以大家经常会遇到从中心化仓库下载的包是过时的。
Nami: 一个干净整洁的包管理器
于是 Nami 诞生了,一个干净的整洁的去中心化的包管理器。
- 她只从各个软件作者提供的官方渠道下载软件
- 她不进行编译,让用户回归使用者角色,而不必去研究只有作者才能懂的编译错误和依赖错误
- 她偏爱独立的无依赖的静态可执行文件,也就是安装时只保留独立的二进制文件,抛弃其他杂七杂八的文件,比如 7z
- 她也支持归档方式的软件,比如有些软件会同时需要保留一些库文件,比如 go
- 软件包维护脚本只需编写一次,后续软件作者对软件升级,脚本无需更新
- 软件包维护脚本编写起来简单灵活,懂 Linux 命令就可以编写脚本,tengo 和 jb 让编写脚本更方便
开始吧
在 GitHub 上获取