/etc/yum.repos.d
사용에서 해당 파일을 제거하여 저장소를 삭제 했습니다 rm -rf
. 그런 다음 동일한 저장소를 설치하려고 시도했지만 dnf install
표시되지 /etc/yum.repos.d
않거나 dnf repolist
.
dnf
패키지가 여전히 캐시 에 기억되어 있을 가능성이 있다고 생각하여 다음을 입력하여 캐시를 지워 보았습니다.
dnf clean expire-cache
--refresh
옵션을 전달했지만 저장소 dnf install
가 여전히 표시되지 않습니다.
저장소를 수동으로 삭제한 후 어떻게 설치하나요?
답변1
어떤 저장소를 삭제하고 명령을 사용하여 다시 설치하려고 했는지는 확실하지 않지만 dnf install ...
다음 작업을 시도했다고 가정할 수 있습니다.
$ sudo dnf install -y http://download1.rpmfusion.org/free/fedora/releases/28/Everything/x86_64/os/Packages/r/rpmfusion-free-release-28-1.noarch.rpm
Fedora 28 - x86_64 411 kB/s | 60 MB 02:30
Last metadata expiration check: 0:00:00 ago on Mon 23 Jul 2018 02:06:48 AM UTC.
rpmfusion-free-release-28-1.noarch.rpm 40 kB/s | 20 kB 00:00
Dependencies resolved.
...
...
Preparing : 1/1
Installing : rpmfusion-free-release-28-1.noarch 1/1
Verifying : rpmfusion-free-release-28-1.noarch 1/1
Installed:
rpmfusion-free-release.noarch 28-1
Complete!
그런 다음 아래와 같이 .repo 파일을 삭제합니다.
$ sudo rm /etc/yum.repos.d/rpmfusion-free-updates.repo
그런 다음 다시 설치해 보세요.
$ sudo dnf install -y http://download1.rpmfusion.org/free/fedora/releases/28/Everything/x86_64/os/Packages/r/rpmfusion-free-release-28-1.noarch.rpm
RPM Fusion for Fedora 28 - Free 1.3 MB/s | 754 kB 00:00
Last metadata expiration check: 0:00:00 ago on Mon 23 Jul 2018 02:11:12 AM UTC.
rpmfusion-free-release-28-1.noarch.rpm 57 kB/s | 20 kB 00:00
Package rpmfusion-free-release-28-1.noarch is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
해결책
상황을 정상으로 되돌리려면 reinstall
대신 이 RPM을 실행해야 합니다 install
.
$ sudo dnf reinstall -y http://download1.rpmfusion.org/free/fedora/releases/28/Everything/x86_64/os/Packages/r/rpmfusion-free-release-28-1.noarch.rpm
Last metadata expiration check: 0:03:11 ago on Mon 23 Jul 2018 02:11:12 AM UTC.
rpmfusion-free-release-28-1.noarch.rpm 44 kB/s | 20 kB 00:00
Dependencies resolved.
...
...
Preparing : 1/1
Reinstalling : rpmfusion-free-release-28-1.noarch 1/2
Erasing : rpmfusion-free-release-28-1.noarch 2/2
Verifying : rpmfusion-free-release-28-1.noarch 1/2
Verifying : rpmfusion-free-release-28-1.noarch 2/2
Reinstalled:
rpmfusion-free-release.noarch 28-1
Complete!
확인해보면,삭제됨.repo 파일이 돌아왔습니다:
$ ls -l /etc/yum.repos.d/rpmfusion-free-updates.repo
-rw-r--r--. 1 root root 1264 Apr 24 11:27 /etc/yum.repos.d/rpmfusion-free-updates.repo
URL이 없나요?
원한다면 이 저장소를 설정/설치하는 데 사용된 원본 RPM의 URL을 몰라도 이 작업을 수행할 수 있습니다.
RPM 이름을 확인하세요.
$ rpm -qa|grep rpmfus
rpmfusion-free-release-28-1.noarch
dnf reinstall ...
그런 다음 RPM 이름만 사용하여 이 작업을 수행합니다.
$ sudo dnf reinstall -y rpmfusion-free-release
Last metadata expiration check: 0:10:00 ago on Mon 23 Jul 2018 02:11:12 AM UTC.
Dependencies resolved.
...
...
Preparing : 1/1
Reinstalling : rpmfusion-free-release-28-1.noarch 1/2
Erasing : rpmfusion-free-release-28-1.noarch 2/2
Verifying : rpmfusion-free-release-28-1.noarch 1/2
Verifying : rpmfusion-free-release-28-1.noarch 2/2
Reinstalled:
rpmfusion-free-release.noarch 28-1
Complete!
그리고 파일이 복구되었는지 확인하세요.
$ ls -l /etc/yum.repos.d/rpmfusion-free-updates.repo
-rw-r--r--. 1 root root 1264 Apr 24 11:27 /etc/yum.repos.d/rpmfusion-free-updates.repo
RPM 이름을 모르면 어떻게 하나요?
재설치에 사용할 RPM을 파악하거나 기억할 수 없는 이상한 상황에 처해 있는 경우에도 완전히 운이 없는 것은 아닙니다.
명령에서 제거된 파일을 확인한 history
후 이 rpm
명령을 실행하여 RPM이 제공하는 파일을 확인할 수 있습니다.
$ rpm -qf /etc/yum.repos.d/rpmfusion-free-updates.repo
rpmfusion-free-release-28-1.noarch
그런 다음 위에서 설명한 대로 RPM 이름을 사용하여 다시 설치하십시오.
RPM이 DNF 또는 YUM을 통해 설치되지 않은 경우에는 어떻게 됩니까?
특정 경우에 언급한 RPM은 다음과 같습니다.geogebra-classic-6.0.477.0-201807062103.i386.rpm는 YUM .repo 파일을 포함하는 RPM이 아닙니다.
$ rpm -qpl geogebra-classic-6.0.477.0-201807062103.i386.rpm | grep yum
$
이 경우 어느 쪽도 이 RPM을 다시 설치/다운로드할 URL을 모르기 때문에 도움을 줄 dnf
수 없습니다. yum
이는 처음에는 RPM을 직접 다운로드하여 설치할 수 있기 때문입니다.
이런 방식으로 RPM을 설치할 때 dnf
& yum
는 URL을 인식하지 못하고 로컬 HDD의 파일을 통해 실행하도록 지시한 RPM을 설치하기만 하면 됩니다.
이 경우 유일한 방법은 문제가 되는 RPM을 다시 다운로드하여 사용 dnf
하거나 yum
수동으로 다시 설치하는 것입니다 rpm
.