yum과 elrepo를 사용하는 데 큰 문제가 있습니다. 처음부터 시작하겠습니다. CentOS 7이 설치된 로컬 머신을 보유하세요.
$ uname -a
Linux vt001.localdomain 3.10.0-327.36.3.el7.xppsl_1.4.3.3482.x86_64 #1 SMP Fri Nov 18 10:03:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
커널을 현재 버전(현재 4.18.8)으로 업데이트하고 싶습니다. 이를 위해 아래 지침을 따랐습니다.https://server.etutsplus.com/centos-7-how-to-update-kernel-to-the-latest-mainline-stable/(일본어로 되어 있어서 죄송합니다. 하지만 Google 번역은 잘 작동하며 지금까지 찾은 지침 중 가장 자세한 지침입니다.)
주요 문제는 elrepo를 설치한 후 yum이 커널 관련 패키지를 볼 수 없다는 것입니다.
$ yum list available --disablerepo='*' --enablerepo=elrepo-kernel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* elrepo-kernel: ftp.ne.jp
Available Packages
perf.x86_64 4.18.9-1.el7.elrepo elrepo-kernel
python-perf.x86_64 4.18.9-1.el7.elrepo elrepo-kernel
보시다시피 저장소의 마지막 두 패키지는 인식되지만 다른 모든 패키지는 존재하지 않습니다. Repo 내용을 확인했습니다 (링크를 통해)http://www.ftp.ne.jp/Linux/RPMS/elrepo/kernel/el7/x86_64/RPMS/) 그리고 내가 찾고 있는 kernel-ml을 포함하여 여러 패키지가 있습니다. 또한 목록에 있는 다른 두 개의 저장소도 시도했습니다(https://elrepo.org/tiki/다운로드), 그러나 결과는 항상 동일합니다. elrepo-kernel 저장소에서는 마지막 두 패키지만 사용할 수 있습니다. 그런데 다른 엘레포 브런치들도 맛있어 보이는 것 같아요.
이야기가 진행되면서 rpm에서 직접 kernel-ml을 설치하기로 결정했습니다. 그것은 성공적이었습니다:
$ yum info kernel-ml
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.jaist.ac.jp
* elrepo: ftp.ne.jp
* extras: ftp.jaist.ac.jp
* updates: ftp.jaist.ac.jp
Installed Packages
Name : kernel-ml
Arch : x86_64
Version : 4.18.8
Release : 1.el7.elrepo
Size : 203 M
Repo : installed
해당 커널을 사용하여 재부팅할 수도 있지만 커널 관련 패키지(kernel-headers, kernel-tools, kernel-tools-libs 및 kernel-devel)를 교체해야 합니다. 문제는 이러한 패키지가 elrepo-kernel에 있는데 이에 액세스할 수 없다는 것입니다. 경험이 부족해서 수동으로 작업하는 것이 조금 두렵습니다. 없이 이 작업을 수행하는 방법 yum swap
이나 로컬 rpm 패키지를 사용하는 방법을 모르겠습니다 yum swap
(elrepo-kernel에서 모두 다운로드했습니다).
흥미롭게도 저는 createrepo를 사용하여 특정 디렉터리에 .rpm 파일이 포함된 자체 로컬 저장소를 생성해 보았습니다. /etc/yum.repos.d/에 .repo 파일을 작성하고 해당 저장소를 yum에 추가하면 repolist에 이상하게 보이는 내용이 표시됩니다.
$ yum repolist
...
repo id repo name status
...
!my-kernel2 Downloaded kernel rpms 2+7
(2+7)이 무엇을 의미하는지 알고 싶습니다. 사용 가능한 패키지를 보려면 다음 두 가지만 존재하기 때문입니다.
$ yum list available --disablerepo='*' —enablerepo=my-kernel2
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Error: No matching Packages to list
또는
$ sudo yum repo-pkgs my-kernel2 list
...
Available Packages
perf.x86_64 4.18.8-1.el7.elrepo my-kernel2
python-perf.x86_64 4.18.8-1.el7.elrepo my-kernel2
my-kernel2 저장소의 RPMS 폴더에 다음이 있지만:
$ ls -l RPMS/
total 69776
-rw-r--r-- 1 ivan ivan 46M Sep 25 12:22 kernel-ml-4.18.8-1.el7.elrepo.x86_64.rpm
-rw-r--r-- 1 ivan ivan 12M Sep 25 12:22 kernel-ml-devel-4.18.8-1.el7.elrepo.x86_64.rpm
-rw-r--r-- 1 ivan ivan 7.4M Sep 25 12:22 kernel-ml-doc-4.18.8-1.el7.elrepo.noarch.rpm
-rw-r--r-- 1 ivan ivan 1.3M Sep 25 12:22 kernel-ml-headers-4.18.8-1.el7.elrepo.x86_64.rpm
-rw-r--r-- 1 ivan ivan 164K Sep 25 12:22 kernel-ml-tools-4.18.8-1.el7.elrepo.x86_64.rpm
-rw-r--r-- 1 ivan ivan 66K Sep 25 12:22 kernel-ml-tools-libs-4.18.8-1.el7.elrepo.x86_64.rpm
-rw-r--r-- 1 ivan ivan 47K Sep 25 12:22 kernel-ml-tools-libs-devel-4.18.8-1.el7.elrepo.x86_64.rpm
-rw-r--r-- 1 ivan ivan 1.9M Sep 25 12:22 perf-4.18.8-1.el7.elrepo.x86_64.rpm
-rw-r--r-- 1 ivan ivan 481K Sep 25 12:22 python-perf-4.18.8-1.el7.elrepo.x86_64.rpm
그래서 나는 완전히 길을 잃었습니다. 기본적으로 두 가지 질문을 할 수 있습니다.
- 로컬 .rpm 파일에 yum 스왑을 사용할 수 있나요?
- 저장소에 있지만 yum에는 표시되지 않는 패키지에 대한 미스터리는 무엇입니까? ? ?
편집하다
GracefulRestart의 의견과 답변 덕분에 yum.config에서 제외된 패키지를 찾았습니다.
제외=커널* centos* ibutils-libs*
나는 그 줄이 구성에 어떻게 나타나는지 (세상에서) 전혀 모르지만, 그것이 없으면 yum은 내가 필요한 모든 것을 볼 수 있습니다.
답변1
YUM 저장소에 대한 두 가지 간단한 설명과 두 가지 주요 질문에 답변해 드리겠습니다.
로컬 저장소에 더 많은 패키지가 추가될 때마다 로컬 저장소를 업데이트해야 합니다.
또한 /etc/yum.conf
제외된 패키지가 있는지 확인하시기 바랍니다.
실제 질문은 다음과 같습니다.
YUM은 모든 로컬 RPM 파일을 사용할 수 있어야 합니다. 올바른 경로(예: yum install ./RPMS/kernel-ml-*.rpm
.
나는 유령 패키지와 귀하의 비밀스러운 2+7
상태가 제외된 패키지와 관련이 있다고 생각합니다(예: YUM은 귀하에게 표시된 두 개의 패키지를 찾았고 귀하의 쿼리와 일치하지만 어떤 이유로 외부에서 제외된 7개의 숨겨진 패키지가 있었습니다).