我有一个使用 Yocto/Poky 在分支上构建的自定义 Linux 发行版。我使用 opkg 作为软件来管理嵌入式系统上的软件包更新。我有数百个系统正在运行,并且想要升级它们上的一个重要软件包 ( my-custom-package
)。在绝大多数系统上,一切都很顺利,但在 4 个系统上我遇到了这些错误:
root@hostname:~# opkg -v
opkg version 0.3.6 (libsolv 0.6.35)
root@hostname:~# opkg upgrade my-custom-package -V 2
opkg_conf_parse_file: Loading conf file /etc/opkg/arch.conf.
opkg_conf_parse_file: Supported arch all priority (1)
opkg_conf_parse_file: Supported arch any priority (6)
opkg_conf_parse_file: Supported arch noarch priority (11)
opkg_conf_parse_file: Supported arch armv5hf-vfp priority (16)
opkg_conf_parse_file: Supported arch armv5thf-vfp priority (21)
opkg_conf_parse_file: Supported arch armv5ehf-vfp priority (26)
opkg_conf_parse_file: Supported arch armv5tehf-vfp priority (31)
opkg_conf_parse_file: Supported arch armv6hf-vfp priority (36)
opkg_conf_parse_file: Supported arch armv6thf-vfp priority (41)
opkg_conf_parse_file: Supported arch armv7ahf-vfp priority (46)
opkg_conf_parse_file: Supported arch armv7at2hf-vfp priority (51)
opkg_conf_parse_file: Supported arch armv7ahf-neon priority (56)
opkg_conf_parse_file: Supported arch armv7at2hf-neon priority (61)
opkg_conf_parse_file: Supported arch cortexa9hf-vfp priority (66)
opkg_conf_parse_file: Supported arch cortexa9hf-neon priority (71)
opkg_conf_parse_file: Supported arch cortexa9t2hf-vfp priority (76)
opkg_conf_parse_file: Supported arch cortexa9t2hf-neon priority (81)
opkg_conf_parse_file: Supported arch cortexa9t2hf-neon-mx6sx priority (86)
opkg_conf_parse_file: Supported arch cortexa9hf-neon-mx6sx priority (91)
opkg_conf_parse_file: Supported arch udooneo priority (96)
opkg_conf_parse_file: Loading conf file /etc/opkg/opkg.conf.
pkg_hash_load_feeds:
pkg_hash_load_status_files:
pkg_info_preinstall_check: Updating file owner list.
opkg_configure_packages: Configuring unpacked packages.
opkg_configure_packages: Reordering packages before configuring them...
Collected errors:
* Solver encountered 3 problem(s):
* Problem 1/3:
* - nothing provides requested python3-core
*
* Solution 1:
* - do not ask to install a package providing python3-core
* Problem 2/3:
* - nothing provides requested python3-ctypes
*
* Solution 1:
* - do not ask to install a package providing python3-ctypes
* Problem 3/3:
* - nothing provides requested python3-mime
*
* Solution 1:
* - do not ask to install a package providing python3-mime
root@hostname:~# opkg info my-custom-package
Package: my-custom-package
Version: 3.2-r3
Depends: python3-core, python3-fcntl, python3-inotify-simple, python3-psutil, python3-pymonocypher, python3-pythonping, python3-requests, python3-simplejson, python3-websocket-client
Recommends: ca-certificates, gsm-tools, iw, update-rc.d
Status: unknown ok not-installed
Section: base
Architecture: cortexa9t2hf-neon
Maintainer:
MD5Sum: 883ef1ca5659cdd77a7947662daaa115
Size: 22252
Filename: my-custom-package_3.2-r3_cortexa9t2hf-neon.ipk
Source: my-custom-package_3.2.bb
Description: my-custom-package version 3.2-r3
Package: my-custom-package
Version: 2.1-r9
Depends: python-core, python-logging, python-psutil, python-requests, python-simplejson, python-subprocess, python-websocket-client
Recommends: ca-certificates, gsm-tools, iw, update-rc.d
Status: install ok installed
Architecture: cortexa9t2hf-neon
Installed-Size: 33328
Installed-Time: 1573829351
root@hostname:~# opkg install python3-core -V2
opkg_conf_parse_file: Loading conf file /etc/opkg/arch.conf.
opkg_conf_parse_file: Supported arch all priority (1)
opkg_conf_parse_file: Supported arch any priority (6)
opkg_conf_parse_file: Supported arch noarch priority (11)
opkg_conf_parse_file: Supported arch armv5hf-vfp priority (16)
opkg_conf_parse_file: Supported arch armv5thf-vfp priority (21)
opkg_conf_parse_file: Supported arch armv5ehf-vfp priority (26)
opkg_conf_parse_file: Supported arch armv5tehf-vfp priority (31)
opkg_conf_parse_file: Supported arch armv6hf-vfp priority (36)
opkg_conf_parse_file: Supported arch armv6thf-vfp priority (41)
opkg_conf_parse_file: Supported arch armv7ahf-vfp priority (46)
opkg_conf_parse_file: Supported arch armv7at2hf-vfp priority (51)
opkg_conf_parse_file: Supported arch armv7ahf-neon priority (56)
opkg_conf_parse_file: Supported arch armv7at2hf-neon priority (61)
opkg_conf_parse_file: Supported arch cortexa9hf-vfp priority (66)
opkg_conf_parse_file: Supported arch cortexa9hf-neon priority (71)
opkg_conf_parse_file: Supported arch cortexa9t2hf-vfp priority (76)
opkg_conf_parse_file: Supported arch cortexa9t2hf-neon priority (81)
opkg_conf_parse_file: Supported arch cortexa9t2hf-neon-mx6sx priority (86)
opkg_conf_parse_file: Supported arch cortexa9hf-neon-mx6sx priority (91)
opkg_conf_parse_file: Supported arch udooneo priority (96)
opkg_conf_parse_file: Loading conf file /etc/opkg/opkg.conf.
pkg_hash_load_feeds:
pkg_hash_load_status_files:
pkg_info_preinstall_check: Updating file owner list.
opkg_configure_packages: Configuring unpacked packages.
opkg_configure_packages: Reordering packages before configuring them...
Collected errors:
* Solver encountered 3 problem(s):
* Problem 1/3:
* - nothing provides requested python3-core
*
* Solution 1:
* - do not ask to install a package providing python3-core
* Problem 2/3:
* - nothing provides requested python3-ctypes
*
* Solution 1:
* - do not ask to install a package providing python3-ctypes
* Problem 3/3:
* - nothing provides requested python3-mime
*
* Solution 1:
* - do not ask to install a package providing python3-mime
root@hostname:~# opkg info python3-core
Package: python3-core
Version: 3.5.6-r1.0
Depends: libc6 (>= 2.28), libpython3.5m1.0 (>= 3.5.6), libreadline7 (>= 7.0), libz1 (>= 1.2.11)
Status: install ok not-installed
Section: devel/python
Architecture: cortexa9t2hf-neon
Maintainer:
MD5Sum: 6f56b22b7993c0cf351559a944abe0df
Size: 1027792
Filename: python3-core_3.5.6-r1.0_cortexa9t2hf-neon.ipk
Source: python3_3.5.6.bb
Description: Python interpreter and core modules
root@hostname:~# opkg info python3-mime
Package: python3-mime
Version: 3.5.6-r1.0
Depends: python3-core
Status: install ok not-installed
Section: devel/python
Architecture: cortexa9t2hf-neon
Maintainer:
MD5Sum: f9254dc437295edfa828ab8d68d9d5f8
Size: 10074
Filename: python3-mime_3.5.6-r1.0_cortexa9t2hf-neon.ipk
Source: python3_3.5.6.bb
Description: Python MIME handling APIs
root@hostname:~# opkg info python3-ctypes
Package: python3-ctypes
Version: 3.5.6-r1.0
Depends: libc6 (>= 2.28), libffi6 (>= 3.2.1), libpython3.5m1.0 (>= 3.5.6), python3-core
Status: install ok not-installed
Section: devel/python
Architecture: cortexa9t2hf-neon
Maintainer:
MD5Sum: 2667c24b23434635208177d03d6efcc6
Size: 67912
Filename: python3-ctypes_3.5.6-r1.0_cortexa9t2hf-neon.ipk
Source: python3_3.5.6.bb
Description: Python C types support
所以my-custom-package
有几个Python依赖项,opkg似乎无法找到它们。但是当我运行opkg info <pkg>
依赖项时,我得到结果并且 opkg 找到了数据包。我在我的存储库中验证了要下载的压缩包是否存在,并且一切似乎都很好。另外,我的一个有问题的嵌入式系统与同一天安装的其他系统在同一栋建筑中运行(因此来自相同的图像,相同的编译,...)。我习惯使用 opkg 从远程更新软件包。大约 6 个月前,我在单个系统上只遇到过一次此类问题,但由于它是非关键软件包的升级,因此我忽略了该问题。
我尝试过opkg clean
但没有成功。我已阅读手册页以查找一些帮助命令,但似乎没有任何效果。
编辑:另一个有趣的事情:
root@hostname:~# opkg download python3-core
Downloading https://my-repository/ipks/v2/cortexa9t2hf-neon/python3-core_3.5.6-r1.0_cortexa9t2hf-neon.ipk.
Downloaded python3-core as python3-core_3.5.6-r1.0_cortexa9t2hf-neon.ipk.
因此,如果我尝试下载 opkg 找不到的软件包之一,它就会起作用......
此外,简单的opkg list-upgradable
返回同样类型的错误:
root@hostname:~# opkg list-upgradable
Collected errors:
* Solver encountered 3 problem(s):
* Problem 1/3:
* - nothing provides requested python3-core
*
* Solution 1:
* - do not ask to install a package providing python3-core
* Problem 2/3:
* - nothing provides requested python3-ctypes
*
* Solution 1:
* - do not ask to install a package providing python3-ctypes
* Problem 3/3:
* - nothing provides requested python3-mime
*
* Solution 1:
* - do not ask to install a package providing python3-mime
答案1
当我尝试时,我在 yocto 系统上遇到了同样的问题
opkg install libfreetype6
我尝试了所有可能的开关,并且 --force-reinstall 开关有效!
opkg install libfreetype6 --force-reinstall