前言
ipk
文件的本质上是tgz
文件,这里直接将其重名名为tgz
文件。解压后可得到control.tar.gz data.tar.gz debian-binary
三个文件
-
control.tar.gz
中是一些系统信息
其中control
文件中存在一些包的相关信息
postinst
为安装完执行prerm
为卸载后执行
-
data.tar.gz
为一些目标文件
1.1 工作原理
1.1.1 OPKG
的功能
- 软件包的管理
- 软件包的查询
1.1.2 OPKG
的原理
OPKG
命令的执行会读取下面3部分信息:
- 配置文件,默认位置为
/etc/opkg.conf
。此文件保存了OPKG
的全局配置信息 - 已安装软件包状态信息,保存在
/usr/lib/opkg
下。相当与windows
下的注册表 - 软件仓库的软件包信息,保存在
/var/opkg-lists
目录下。包含所有软件列表及其依赖关系的清单
1.2 OPKG命令
1.2.1 软件包的管理
opkg update
更新可以安装的软件包列表opkg install
安装软件包。入参为软件包的名称。opkg remove
卸载软件包。入参为软件包的名称。opkg upgrade
升级软件包
1.2.2 查询信息
-
opkg list
列出所有可使用的软件包 -
opkg list-installed
列出所有已经安装的软件包 -
opkg list-changed-conffiles
列出用户修改过的配置文件 -
opkg search <file>
列出提供<file>
文件的软件包。需要文件的绝对路径 -
opkg info [pkg]
显示已经安装的软件包的信息 -
opkg download <pkg>
下载软件包到当前目录 -
opkg print-architecture
列出安装包的架构 -
opkg whatdepends -[A] [pkg]
列出所有依赖这个软件包的软件包
1.3 选项
-
-A
所有的软件包 -
-d <dest_name>
使用<dest_name>
作为软件包的安装根目录 -
--nodeps
不按照依赖来安装,只安装软件包自己。可能会缺少依赖导致无法执行 -
--force-reinstall
强制重新安装软件包
1.4 OPKG包结构
实际上OPKG
安装包(ipk
文件)就是一个tar.gz
文件。
使用tar
解压后会出现三个文件
-
debina-binary
纯文本文件 -
data.tar.gz
安装时需要复制到对应目录下的文件 -
control.tar.gz
软件包的相关信息