04 opkg


前言

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
    列出提供文件的软件包。需要文件的绝对路径
  • opkg info [pkg]
    显示已经安装的软件包的信息
  • opkg download
    下载软件包到当前目录
  • opkg print-architecture
    列出安装包的架构
  • opkg whatdepends -[A] [pkg]
    列出所有依赖这个软件包的软件包

1.3 选项

  • -A 所有的软件包
  • -d 使用作为软件包的安装根目录
  • --nodeps 不按照依赖来安装,只安装软件包自己。可能会缺少依赖导致无法执行
  • --force-reinstall 强制重新安装软件包

1.4 OPKG包结构

实际上OPKG安装包(ipk文件)就是一个tar.gz文件。
使用tar解压后会出现三个文件

  • debina-binary
    纯文本文件
  • data.tar.gz
    安装时需要复制到对应目录下的文件
  • control.tar.gz
    软件包的相关信息