Brook Shiliew Cheap Zhi Meeting Nan mitmproxy client Network Activity Monitor iOS Old App Downloader SSH Terminal Subtitle 菜根谭 Socks5 Configurator IPvBar File Link Markdown Editor IP AI nami joker brook ipio nico z zoro hancock mad httpserver google hosts

Nami: 一个干净整洁的去中心化包管理器

Updated at: 2023-11-01

背景

从历史讲,Linux 上一开始软件分发普遍是使用发邮件的方式,一来那时软件的文件数也不多,不像如今动不动一大堆目录,几十行就单独拆分文件。而那时 C 语言是号称跨平台的,这个跨平台的定义是指代码跨平台,由于 libc6 静态编译的不方便,以及对硬盘大小的考虑,所以都是拿到代码自己编译。软件升级也习惯用邮件发送 patch。

后来各个 Linux 发行版社区,开始维护中心化的软件仓库,根据不同系统版本对软件进行预编译或现编译。因为软件作者往往不是软件包维护者,毕竟只写软件就已经够累了,还要去维护各个发行版的软件包就直接 ICU 吧。所以往往会有志愿者去专门维护软件包,当软件作者发新版本时,包维护者也将软件包进行维护升级,所以大家经常会遇到从中心化仓库下载的包是过时的。

Nami: 一个干净整洁的包管理器

于是 Nami 诞生了,一个干净的整洁的去中心化的包管理器。

  • 她只从各个软件作者提供的官方渠道下载软件
  • 她不进行编译,让用户回归使用者角色,而不必去研究只有作者才能懂的编译错误和依赖错误
  • 她偏爱独立的无依赖的静态可执行文件,也就是安装时只保留独立的二进制文件,抛弃其他杂七杂八的文件,比如 7z
  • 她也支持归档方式的软件,比如有些软件会同时需要保留一些库文件,比如 go
  • 软件包维护脚本只需编写一次,后续软件作者对软件升级,脚本无需更新
  • 软件包维护脚本编写起来简单灵活,懂 Linux 命令就可以编写脚本,tengo 和 jb 让编写脚本更方便

开始吧

GitHub 上获取


评论

© TxThinking, Inc. All Rights Reserved.