GNURoot 애플리케이션을 사용하여 ARMv7 프로세서가 탑재된 Android 5.0 장치에 Fedora 22(rootfs 사용)를 설치했습니다. 이것은 잘 작동합니다. rootfs의 모든 명령은 정상적으로 실행됩니다. 그러나 dnf에 문제가 있습니다.
dnf clean all
dnf update
명령이 제대로 작동합니다 . 을 실행하면 dnf search <package name>
제대로 작동합니다. 정확한 검색 결과를 얻었습니다. 을 실행하면 dnf info <package name>
제대로 작동합니다. 그러나 실행하면 dnf install <package name>
다음과 같은 오류가 발생합니다.
Last metadata expiration check performed 1:52:54 ago on Sat Dec 26 11:05:25 2015.
No package <package name> available.
Error: Unable to find a match.
dnf 검색 결과에서 패키지를 사용할 수 있는 경우에도 모든 패키지에 대해 이 오류가 발생합니다.
한 가지 예:
> less
bash: less: command not found
> dnf search less
Last metadata expiration check performed 1:44:08 ago on Sat Dec 26 11:05:25 2015.
================== N/S Matched: less ===================
less.armv7hl : A text file browser similar to more, but
: better
bless-doc.armv7hl : Bless user manual
python-lesscpy.noarch : Lesscss compiler
python3-lesscpy.noarch : Lesscss compiler
..
..
..
> dnf info less
Last metadata expiration check performed 1:44:58 ago on Sat Dec 26 11:05:25 2015.
Available Packages
Name : less
Arch : armv7hl
Epoch : 0
Version : 481
Release : 1.fc22
Size : 143 k
Repo : updates
Summary : A text file browser similar to more, but
: better
URL : http://www.greenwoodsoftware.com/less/
License : GPLv3+ or BSD
Description : The less utility is a text file browser
: that resembles more, but has more
: capabilities. Less allows you to move
: backwards in the file as well as forwards.
: Since less doesn't have to read the
: entire input file before it starts, less
: starts up more quickly than text editors
: (for example, vi).
:
: You should install less because it is a
: basic utility for viewing text files, and
: you'll use it frequently.
> dnf install less
Last metadata expiration check performed 1:50:23 ago on Sat Dec 26 11:05:25 2015.
No package less available.
Error: Unable to find a match.
> dnf install less.armv7hl
Last metadata expiration check performed 1:52:54 ago on Sat Dec 26 11:05:25 2015.
No package less.armv7hl available.
Error: Unable to find a match.
> dnf install less.armv7hl -v
cachedir: /var/cache/dnf
Loaded plugins: migrate
DNF version: 1.1.4
repo: using cache for: fedora
not found deltainfo for: Fedora 22 - armhfp
not found updateinfo for: Fedora 22 - armhfp
repo: using cache for: updates
fedora: using metadata from Sat May 23 09:54:23 2015.
updates: using metadata from Tue Dec 22 00:53:59 2015.
Last metadata expiration check performed 3:51:50 ago on Sat Dec 26 11:05:25 2015.
No package less.armv7hl available.
Error: Unable to find a match.
> dnf search less.armv7hl
Last metadata expiration check performed 0:18:04 ago on Sat Dec 26 15:27:49 2015.
Error: No matches found.
이 오류를 어떻게 해결할 수 있나요?
도움을 주셔서 미리 감사드립니다.
답변1
arm chroot에서 이 파일을 엽니다.
/usr/lib/python3.5/site-packages/dnf/conf/substitutions.py
다음과 같이 기능을 변경합니다 __init__
(효과적으로 작업 아치 이름을 하드코딩함).
def __init__(self):
super(Substitutions, self).__init__()
arch = hawkey.detect_arch()
self['arch'] = arch
self['arch'] = 'armv7hl'
self['basearch'] = dnf.rpm.basearch(arch)
self['basearch'] = 'armhfp'
self._update_from_env()
(유일한 변경 사항은 다음 두 줄을 추가하는 것입니다.
self['arch'] = 'armv7hl'
self['basearch'] = 'armhfp'
)