Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

使用 OPKG 安装并管理开发板软件包

$
0
0

OPKG 实用程序是一种轻型软件包管理器,用于从本地或互联网的软件包资源库中下载和安装 OpenWrt 软件包。正如后文所讨论的,OPKG 可以用来更新您的开发板软件包。

软件包处理

更新

更新可用软件包列表。
它仅仅检索这样的文件:如用于 OpenWrt 安装的文件,并将它存储在 /tmp/opkg-lists/snapshots 下面的 RAM 分区。目前它占用约 1.3 MB 空间。OPKG 需要该文件内容来安装或升级软件包或打印关于软件包的信息。该文件内容需表示资源库中的当前可用软件包。您可随时安全删除该文件以释放一些 RAM,但在安装软件包前不要忘记再获取一次该文件。

升级 <pkgs>

升级软件包。
可借助 opkg 列表可升级命令获取可升级的软件包列表。
如欲升级一组软件包,请运行opkg upgrade packagename1 packagename2。
对大多数用户而言,通常不推荐升级软件包,因为典型的 OpenWrt 系统将基本系统存储在只读 SquashFS 分区中。升级进程工作正常时,相比于默认安装,它会使用更多空间,因为在基本 SquashFS 分区和用户 JFFS2 分区中基本软件包都进行了复制。所以,我们推荐的是使用较新的固件映像刷新 OpenWrt,而不是升级。当然,升级后来安装的软件包则不会有此弊端。不过请注意,对于 OpenWrt 版本而言,大多数情况下不可进行升级,因为不更改软件包资源库就没有内容可升级,而 OpenWrt 版本的软件包资源库通常不会更新。然而,trunk snapshot 中的软件包资源库通常由 build bot 更新至最新版本,因为这是软件包得到更新的地方,如 OpenWrt 会自行构建。请注意,更新对于内核包而言是有风险的,因为如果 trunk build 内核与最新升级的内核包不兼容,有可能会导致设备无法使用。所以您只应升级非内核包。

安装<pkgs|FQDN>

安装软件包
示例:

opkg install hiawatha

opkg install http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/hiawatha_7.7-2_ar71xx.ipk

opkg install /tmp/hiawatha_7.7-2_ar71xx.ipk

配置 <pkgs>

配置未解压的软件包

移除 <pkgs|globp>

移除软件包

标记 <pkgs> <flag>

标记一个或多个软件包。每个调用只允许使用一个标记。可用标记:hold • noprune • user • ok • installed • unpacked

OPKG utility 的多种选项位于 http://wiki.openwrt.org/doc/techref/opkg.

如欲安装软件包,请运行以下命令。可用软件包列表在重启时丢失,所以请确保在安装软件包前对列表进行更新。

opkg update opkg install <package>

搜索:

  • opkg list will display only Package name — Version — Description
  • opkg info will display all available information

配置

调整资源库

唯一的配置文件是 /etc/opkg.conf。如下所示:

src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages dest root / dest ram /tmp lists_dir ext /var/opkg-lists option overlay_root /overlay

可以添加 src 位置来寻找软件包信息以进行更新。对 opkg.conf 的修改将支持多个目的地址。

安装目的地址

目的地址行的格式仅仅是关键词 dest,其后紧跟此目的地址的名称(可以为任何名称),再跟随文件系统地址。可在 opkg 命令行中对任一经过如此配置的目的地址进行指定,如下所示:

opkg install somepackage -d destination_name


Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>