# 小熊猫包管理 (oma) 1.20 更新日志 ![oma-1.20](https://hackmd.io/_uploads/H1oZ2uvOxx.png) > 师傅,您这镜像保千兆吗? 差点追尾 oma 1.19 的 1.20 版来啦!本版更新,我们针对用户需求为 oma 实现了自定义镜像支持、优化了测试源的进入/退出行为,并针对龙架构无 SIMD 移植等项目需求引入了源配置模板功能。 让我们来一起详细了解本版 oma 的新特性和修复吧~ ## 测试指南 安同 OS 可通过如下命令获取 oma 1.20 测试版更新: ```bash oma topics --opt-in oma-preview ``` Debian、Ubuntu 及衍生版,Linux Mint、deepin 及 openKylin 用户可通过如下命令获取 oma(目前暂未区分测试源及稳定源,可直接获取 1.20 版更新): ```bash curl -sSf https://repo.aosc.io/get-oma.sh | sudo sh ``` 如果您在测试 oma 的过程中遇到问题或有任何建议,欢迎您来我社[各聊天群组](https://aosc.io/contact)与我们联系反馈。 ## 镜像管理增强之一:自定义镜像源支持 对于部分进阶用户来说,自己搭建本地或在线镜像源、提高软件包下载速度,是再正常不过的需求了。但是,先前的 oma 镜像源设置界面 (`oma mirror`) 未有自定义镜像源设置支持,让这部分用户无法通过 oma 的内部界面便捷地设置镜像。 oma 1.20 通过新增对[《安同 OS 软件源元数据及源配置模板规范》](https://wiki.aosc.io/zh/developer/packaging/repository-metadata-and-templates/)的支持实现了这一功能,各位有需要的朋友可以自行编写 `/etc/repository-data/mirrors.toml` 新增自定义镜像源,如下例: ```toml [home-mirror] description.default = "Personal mirror at home" description.zh_CN = "家里的本地源" url = "https://localhost:8888/anthon/" ``` 而后直接通过 `oma mirror` 选用自己的镜像源了: ![通过 oma mirror 直接设置自定义镜像源](https://hackmd.io/_uploads/B1uwIFvugx.png) > 通过 oma mirror 直接设置自定义镜像源 ## 镜像管理增强之二:本地化支持 本地化是软件可及性的支柱之一,而目前 oma 尚存几个本地化死角,其中之一便是 `oma mirror` 界面中的各个软件源名称了。随着对上述规范的支持实现,oma 1.20 还加入了对镜像源名称的本地化支持,寻找镜像源变得更方便了。 ![镜像源名称有翻译了!](https://hackmd.io/_uploads/B1dhUKv_ge.png) > 镜像源名称有翻译了! ## 测试源必须只更新测试包 ✍️✍️✍️ 如果您时常关注安同 OS 的更新进展,您一定不会对 `oma topics` 感到陌生。而您也大概也不会对这一场景感到陌生:几天没更新系统,想要测试一个内核更新,却被 oma 逼着更新了 114 甚至 514 个软件包;更有甚者,如果某个测试源中没有包含已经安装的软件包,oma 仍会更新一把系统,甚是迷惑。 从 oma 1.20 开始,oma 会在打开测试源时检查其中包含的软件包,并只对其中的软件包进行更新操作,操作效率更高、行为更清晰。 ## 其他新特性 - 引入软件源配置模板支持,可定义写入软件源配置时的行为:打开什么源、使用什么 GPG 密钥环 (keyring) 检查签名、启用哪个架构等;该功能主要服务龙架构无 SIMD 移植及各类依赖特殊软件包的系统移植 - 引入[《更新主题元数据规范》](https://wiki.aosc.io/zh/developer/packaging/topic-update-manifest/#gui-fan-geng-xin-packages-v2)中定义的 `packages-v2` 字段支持,定义重要更新(尤其是安全更新)波及的软件包范围,并以更新前的软件包作为对比基准,解决用户因错过特定版本软件包更新而收不到更新公告的问题 - 在 `oma refresh`/`oma upgrade` 命令完成后提示被标记为版本锁定的软件包的数量及查看指引 - 在 `oma mirror` 命令完成后提示刷新成功信息