Linux 패키지 설치를 차단하는 요소를 어떻게 진단합니까?

Linux 패키지 설치를 차단하는 요소를 어떻게 진단합니까?

자세한 답변


firmware-misc-nonfree특정 Linux 설치에 Debian 패키지를 설치하려고 합니다.

╰─○ apt install firmware-misc-nonfree
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package firmware-misc-nonfree is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'firmware-misc-nonfree' has no installation candidate

뭔가 막고 있는 것 같지만 다른 두 시스템에서는 괜찮습니다.

이것은의 출력입니다apt-cache policy

╰─○ apt-cache policy firmware-misc-nonfree
firmware-misc-nonfree:
  Installed: (none)
  Candidate: (none)
  Version table:
     20210315-3 -1
         -1 http://uk.mirrors.clouvider.net/debian bullseye/non-free amd64 Packages

충돌 원인을 자동으로 찾아낼 수 있는 방법이 있나요?

내용은 다음과 같습니다/etc/apt/sources.list

# updated 2023-03-11-1956 for Debian 11 Bullseye

deb http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free
deb-src http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free

deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free

# bullseye-updates, previously known as 'volatile'
deb http://uk.mirrors.clouvider.net/debian/ bullseye-updates main contrib non-free
deb-src http://uk.mirrors.clouvider.net/debian/ bullseye-updates main contrib non-free

# deb http://uk.mirrors.clouvider.net/debian/ bullseye-backports main contrib non-free
# deb-src http://uk.mirrors.clouvider.net/debian/ bullseye-backports main contrib non-free

내가 생각할 수 있는 유일한 것은 이번에 설치가 VirtualBox 시스템이고 가상화가 그것과 관련이 있을 수 있다는 것입니다.

올바른 디렉토리에 없는 일부 바이너리 펌웨어가 필요하지만 다른 시스템에서 부팅 시 로드할 수 있는 올바른 위치로 복사할 수 있습니다.

데비안 패키징 시스템은 한 패키지를 설치하면 다른 패키지가 보존, 제거 또는 차단될 때 실행된 명령 로그를 유지합니까?

나는 몇 가지 제안을 시도했습니다https://askubuntu.com/questions/640986/how-to-get-a-list-of-installed-packages-held-back-from-upgrade그러나 명령은 아무것도 표시하지 않습니다.

답변1

apt-cache policy firmware-misc-nonfree패키지가 사용 가능하고 우선순위가 -1임을 나타냅니다. -1은 여러 후보 중에서 (유일한 후보라도) 후보로 선정되는 것을 방지합니다. ~에서apt_preferences(5):

APT가 우선순위를 해석하는 방법

[...]

P<0

이 버전의 설치 방지

릴리스 후보를 직접 지정하여 이 설정을 재정의할 수 있습니다. 예를 들어 다음은 패키지를 설치해야 합니다.

apt-get install firmware-misc-nonfree=20210315-3

적절한 기본 설정과 관련된 일부 설정이 변경되었을 수 있습니다. 가장 먼저 살펴볼 곳은 /etc/apt/preferencesor 입니다 /etc/apt/preferences.d/.

답변2

소프트웨어 패키지 펌웨어-기타-비무료는 다음 주소에서 다운로드할 수 있습니다:https://packages.debian.org/sid/all/firmware-misc-nonfree/download. 그게 최신이에요. 이전 Bullseye 패키지를 원하면 다음을 사용하세요. https://packages.debian.org/bullseye/all/firmware-misc-nonfree/download.

dpkg -i 명령을 사용하여 설치할 수 있습니다.

apt-file listfirmware-misc-nonfree를 실행하면 패키지의 모든 파일과 /lib/firmware 디렉터리의 해당 위치가 표시됩니다.

/var/log/apt 디렉토리에는 apt 활동 기록이 보관되어 있습니다.

답변3

non-free무슨 일이 일어났는가 하면 데비안이 다양한 비자유 펌웨어를 무시할 수 없는 저장소 트리와 별도로 자체 저장소 트리로 옮겼다는 것입니다 .

다음과 같이 소스를 업데이트하세요.

deb http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free

도착하다

deb http://uk.mirrors.clouvider.net/debian/ bullseye main contrib non-free non-free-firmware

패키지를 다시 확인해야 합니다.

답변4

의 제안을 따른 후선택한 답변해당 디렉토리에 다음 내용의 /etc/apt/preferences.d파일이 있음을 발견했습니다.non_free_policy

Explanation: Disable packages from non-free tree by default
Package: *
Pin: release o=Debian,a=stable,l=Debian,c=non-free
Pin-Priority: -1

데비안 설치 프로그램은 non-free기본적으로 패키지에 대해 이 우선 순위를 설정하는 것 같습니다. 이것이 아마도 과거에 많은 무선 및 Bluetooth 드라이버를 컴파일해야 했던 이유일 것입니다.

지난 몇 년간 얼마나 많은 사용자가 자신도 모르게 이 설정을 위반했는지 궁금합니다.

관련 정보