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가 패킷을 찾았습니다. 내 저장소에서 다운로드할 tarball이 존재하는지 확인했고 모든 것이 괜찮아 보입니다. 또한 문제가 있는 임베디드 시스템 중 하나가 같은 날 설치된 다른 시스템과 같은 건물에서 실행되고 있습니다(따라서 동일한 이미지, 동일한 컴파일...). 나는 원격으로 패키지를 업데이트하기 위해 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