/etc/yum.repos.d에서 저장소를 삭제한 후 다시 설치할 수 없는 이유는 무엇입니까?

/etc/yum.repos.d에서 저장소를 삭제한 후 다시 설치할 수 없는 이유는 무엇입니까?

/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.

인용하다

관련 정보