04 opkg
前言
ipk
文件的本质上是tgz
文件,这里直接将其改名为tgz
文件或tar.gz
文件。解压后可得到control.tar.gz data.tar.gz debian-binary
三个文件
control.tar.gz
中是一些系统信息
其中control
文件中存在一些包的相关信息
postinst
为安装完执行
prerm
为卸载后执行
data.tar.gz
为一些目标文件debina-binary
纯文本文件
1.1 工作原理
1.1.1 OPKG
的功能
- 软件包的管理
- 软件包的查询
1.1.2 OPKG
的原理
OPKG
命令的执行会读取下面3部分信息:
- 配置文件,默认位置为
/etc/opkg.conf
。此文件保存了OPKG
的全局配置信息 - 已安装软件包状态信息,保存在
/usr/lib/opkg
下。相当与windows
下的注册表
netifd.control : 为control文件中的信息
netifd.list : 可执行文件
- 软件仓库的软件包信息,保存在
/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
强制重新安装软件包