OpenWrt opkg 和apk 命令对比

opkgapk 速查表

这是一个速查表,旨在帮助从之前的 opkg 包管理器无缝过渡到新的 apk 包管理器。

基本信息

opkg 一样,大多数命令都允许指定一个可选的包名称模式(以下命令中用 [P] 表示)。同样地,这些模式是文件通配符,例如,*dns* 匹配名称中包含 dns 的所有包。

命令及说明

命令说明
apk -h显示命令和摘要
apk subcmd -h显示与子命令相关的帮助
apk update强制更新本地索引,与 opkg 一样

添加与移除包

apk 命令opkg 命令说明
apk updateopkg update刷新包源
apk add pkgopkg install pkg安装指定包
apk del pkgopkg remove pkg卸载指定包

注意事项

两种包管理器的安装过程大致相同,但 apk 要求为所有包提供有效的签名,而 opkg 对本地包则不作此要求。因此,如果要安装非标准(自制)的包,需要使用 --allow-untrusted 选项:

$ apk add ./owut_2024.07.01~189b2721-r1.apk
ERROR: ./owut_2024.07.01~189b2721-r1.apk: UNTRUSTED signature

$ apk add --allow-untrusted ./owut_2024.07.01~189b2721-r1.apk
OK: 2313 MiB in 569 packages


有趣的变体

1.使用 --update-cache 选项可以在添加包时同步更新索引,从而用单条 apk 命令替代传统的 opkg 链式命令:

$ opkg update && opkg install dnsmasq-full
$ apk --update-cache add dnsmasq-full

2.使用 --simulate 选项可以进行命令的模拟运行,查看效果而不实际执行:

$ apk del --simulate nmap
(1/1) Purging nmap (7.95-r1)
OK: 47 MiB in 288 packages

列表命令

apk 命令opkg 命令说明
apk listopkg list显示所有可用包
apk list [P]opkg list [P]显示匹配 [P] 的包
apk list --installed [P]opkg list-installed显示所有已安装包或匹配 [P] 的包
apk list --upgradeable [P]opkg list-upgradable显示可升级的包
apk list --providers [P]opkg -A whatprovides P显示提供 [P] 的所有包

特殊用法

  • apk list --installed --manifest:生成“包名 版本”格式的简单列表,可通过 awksed 解析。

  • apk list --orphaned:显示可能被遗留的依赖包(无顶级依赖者)。移除之前请确保它不是系统所需的包。

包信息

apk 命令opkg 命令说明
apk info [P]opkg info [P]显示概要信息
apk info --all [P]无对应命令显示详细信息
apk info --contents [P]opkg files [P]显示包内的文件清单

其他操作

apk 命令opkg 命令说明
apk extract --allow-untrusted [P]tar -xvf [P]提取包的内容


本文章由作者:佐须之男 整理编辑,原文地址: OpenWrt opkg 和apk 命令对比
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐