![dnf: (무언가)를 설치해야 하는데 그렇지 않습니다!](https://linux55.com/image/130384/dnf%3A%20(%EB%AC%B4%EC%96%B8%EA%B0%80)%EB%A5%BC%20%EC%84%A4%EC%B9%98%ED%95%B4%EC%95%BC%20%ED%95%98%EB%8A%94%EB%8D%B0%20%EA%B7%B8%EB%A0%87%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4!.png)
특정 패키지의 모든 곳에서 오류가 발생하는 것을 발견했지만 나에게 적합한 솔루션을 찾지 못했습니다.
dnf install python2-qtconsole python2-jupyter-core
Jupyter를 설치하려고 할 때 python2-urllib3을 설치하려고 할 때 오류가 발생하는 것을 발견했을 때 모든 것이 충돌했습니다. 이제 내가 할 때마다: dnf install python2-urllib3
나는 다음을 얻습니다:
Dependencies resolved.
========================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================
Installing:
python2-urllib3 noarch 1.22-3.fc27 updates 178 k
Transaction Summary
========================================================================================================================================
Install 1 Package
Total download size: 178 k
Installed size: 678 k
Is this ok [y/N]: y
Downloading Packages:
python2-urllib3-1.22-3.fc27.noarch.rpm 78 kB/s | 178 kB 00:02
----------------------------------------------------------------------------------------------------------------------------------------
Total 53 kB/s | 178 kB 00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : python2-urllib3-1.22-3.fc27.noarch 1/1
Error unpacking rpm package python2-urllib3-1.22-3.fc27.noarch
Error unpacking rpm package python2-urllib3-1.22-3.fc27.noarch
error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/urllib3/packages/ssl_match_hostname: cpio: File from package already exists as a directory in system
python2-urllib3-1.22-3.fc27.noarch was supposed to be installed but is not!
Verifying : python2-urllib3-1.22-3.fc27.noarch 1/1
Failed:
python2-urllib3.noarch 1.22-3.fc27
Error: Transaction failed
나는 이것들을 모두 시도했다.
dnf clean all
yum clean all && rpm --rebuilddb
package-cleanup --problems
rpm -e python3-urllib3-1.22-3.fc27.noarch --nodeps
rpm -i python2-urllib3-1.22-3.fc27.noarch.rpm
...그리고 빨리 정신을 잃어가고 있어요...
답변1
문제는 다음과 같습니다
cpio: File from package already exists as a directory in system
테스트를 위해 사용하고 있는 Fedora VM에서 다음 경로는 다음과 같습니다.
/usr/lib/python2.7/site-packages/urllib3/packages/ssl_match_hostname
실제로는 디렉토리이며 설치가 성공적이었습니다. 그래서 내 생각엔 당신이 그 미러에서 손상된 패키지를 가져오고 있다는 것입니다. 나는 Fedora가 다운로드한 패키지를 체크섬했다는 인상을 받았습니다. 그들이 그렇게 했다면 그럴 가능성은 거의 없습니다. 다음을 통해 패키지를 확인할 수 있습니다.
rpm --verify $package_name
몇 가지 아이디어: 미러 /etc/yum.repos.d/fedora-updates.repo
섹션 [updates]
주석을 변경 metalink
하고 baseurl
원하는 미러를 제공하십시오. baseurl
나중에 저장소 파일을 원래 상태로 복원할 수 있도록 해당 행을 복사한 다음 주석 처리를 제거하는 것이 좋습니다.
그 후 다시 dnf clean all
, , 를 실행합니다 dnf check-update
. dnf reinstall ...
유효한 패키지가 있다고 확신하면 dnf가 작업을 수행하지 않으면 몇 가지 추가 옵션을 시도하십시오 rpm --install
. 예를 들어 문제는 python2 버전이 아니라 python3 버전에 있는 것으로 --force
나타났습니다 . 그러나 그것이 문제일 수 있습니다. rpm --erased
오타가 게시되었습니다. 확인하세요 $ history
. 그게 전부입니다. 더 이상 로그가 필요하지 않습니다.