一、OPKG简介:
OPKG(Open/OpenWrt Package)是一个轻量快速的软件包管理系统,是 IPKG 的克隆, 目前已成为开源嵌入式系统领域的事实标准。OPKG 常用于路由、交换机等嵌入式设备中, 用来管理软件包的下载、安装、升级、卸载和查询等,并处理软件包的依赖关系。功能和 桌面 Linux 操作系统 Ubuntu 中的 apt-get、Redhat 中的 yum 类似。
OPKG 是一个针对根文件系统全功能的软件包管理器。它不仅仅是在独立的目录安装软件,还可以用于安装内核模块和驱动等。OPKG 在安装时会自动解决安装软件时的包依赖关系,如果遇见错误,就中止安装。
二、OPKG的工作原理
OPKG命令执行会读取以下3部分的信息:
文件或者目录 | 说明 |
---|---|
/etc/opkg.conf | 配置文件默认位置 |
/etc/opkg/ | 配置文件默认位置 |
/etc/opkg/customfeeds.conf | 自定义feeds配置 |
/etc/opkg/distfeeds.conf | feeds配置 |
/etc/opkg/keys/ | key相关的文件 |
/usr/lib/opkg/ | 已安装软件包状态信息 |
/usr/lib/opkg/info/ | 已安装软件包信息 |
/usr/lib/opkg/lists/ | 空 |
/usr/lib/opkg/status | 已安装软件包状态信息 |
/var/opkg-lists | 软件仓库的软件包信息 |
/etc/opkg.conf文件内容:
$ cat /etc/opkg.conf
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
/usr/lib/opkg/status文件内容(因内容太长,节选):
Package: ppp-mod-pppoe
Version: 2.4.9.git-2021-01-04-6
Depends: libc, kmod-pppoe
Status: install user installed
Architecture: aarch64_cortex-a72
Installed-Time: 1678323167
三、OPKG命令列表
$ opkg
opkg must have one sub-command argument
usage: opkg [options...] sub-command [arguments...]
where sub-command is one of:
Package Manipulation:
update Update list of available packages
upgrade <pkgs> Upgrade packages
install <pkgs> Install package(s)
configure <pkgs> Configure unpacked package(s)
remove <pkgs|regexp> Remove package(s)
flag <flag> <pkgs> Flag package(s)
<flag>=hold|noprune|user|ok|installed|unpacked (one per invocation