잘못된 커널 헤더를 구축하여 ZFS를 위험에 빠뜨리고 있습니까?

잘못된 커널 헤더를 구축하여 ZFS를 위험에 빠뜨리고 있습니까?

OpenZFS는 현재 Fedora 33의 최신 5.12 버전에서 사용할 수 없는 것으로 나타났습니다 yum update.

나는 사용했다코지검색어로핵심최신 5.11 커널로 되돌리기 위해 필요한 종속성을 다운로드 및 설치하고 문제 없이 ZFS를 재부팅하고 다시 빌드했습니다.

kernel-headers그러나 최신 커널에서 패키지를 제거할 때 for 만이 여전히 설치되어 있는 것을 발견했습니다 5.12.9-200( kernel-headers-5.12.9-200.fc33.x86_64구체적으로).

그러다가 내가 선택한 패키지에 Koji가 나열된 패키지가 있다는 것을 깨달았습니다.5.11포함되지 않았 kernel-headers으며 ZFS를 재구축하기 전에 복원을 무시했습니다.

모든 것이 잘 돌아가는 것 같지만, 실수로 시스템이나 ZFS를 정의되지 않은 위험한 상태에 빠뜨린 적이 있습니까?

바오 annobin,,, boost-devel다 믿음직스러운데 perl-ExtUtils-CBuilder그게 제일 걱정이에요 zfs.kernel headerszfs

올바른 커널 헤더를 설치하고 패키지를 다시 빌드할 계획이지만 먼저 여기에 조언을 구하고 싶었습니다.

그리고 왜 kernel-headersKoji 페이지에는 나와 있지 않나요?선택됨핵심? 헤더가 항상 실제 커널 버전을 추적하는 것은 아니기 때문에 5.11의 마지막 버전을 수동으로 찾아야 합니다.5.11.20-200. 저는 Koji가 이 정보를 다른 커널 패키지와 직접 연결하는 것을 선호합니다. 수동으로 추적하면 오류가 발생할 수 있기 때문입니다.

답변1

당신은 오해하지 kernel-headers않았죠 kernel-devel?

kernel-headers싱글톤이므로 한 가지 버전만 설치할 수 있습니다. 무엇이든 컴파일하려면 하나가 있어야 합니다. 왜냐하면 그것이 요구 사항이기 때문 glibc-devel입니다 gcc. 다음 명령을 시도해 보세요 /usr/include.rpm -ql kernel-headers

반면에 kernel-devels 및 s처럼 여러 버전이 설치되어 있을 수 있으며 s 및 s kernel처럼 커널 모듈을 컴파일해야 합니다 . 그리고 생성된 모듈은 정확히 동일한 버전의 커널에서만 실행될 수 있습니다.dkmskmod

dkms그런데, 커널에 특정한 ZFS를 가질 필요는 없습니다 . 대신 각 커널에 대해 새 버전이 컴파일됩니다 kmod. dkms특히, 컴파일러 비 호환성 utils으로 인해 zfs를 업그레이드할 수 없습니다 . dkms. 일반적으로 저는 github에서 직접 ZFS 마스터를 따르는 경향이 있습니다.fc34dkmsfc33

관련 정보