패키지에 대한 특정 소스 적절한 저장소 지정

패키지에 대한 특정 소스 적절한 저장소 지정

Debian에서는 sid웹 서비스를 설치하기 위해 nodejsNodeJS 저장소를 추가하고 패키지를 설치하는 스크립트를 실행했습니다. NodeJS 저장소의 버전 대신 apt패키지의 Debian 버전이 8.11.2~dfsg-1어떤 이유로 포함되지 않았기 때문에 문제가 해결되었습니다 . 누락된 스크립트는 설치 후 예상되는 모양을 엉망으로 만듭니다 .npm8.11.2-1nodesource1npmnodejs

수동으로 문제를 해결했지만 apt install nodejs=8.11.2-1nodesource1일시적인 해결 방법입니다. 버전에 관계없이 특정 저장소를 선호하도록 스크립트에 지정할 수 있는 방법이 있습니까?

편집하다

# apt policy nodejs
nodejs:
  Installed: 8.11.2-1nodesource1
  Candidate: 8.11.2-1nodesource1
  Version table:
 *** 8.11.2-1nodesource1 500
        500 https://deb.nodesource.com/node_8.x sid/main arm64 Packages
        100 /var/lib/dpkg/status
     8.11.2~dfsg-1 990
        990 http://deb.debian.org/debian unstable/main arm64 Packages

답변1

버전에 관계없이 특정 저장소를 선호하도록 스크립트에 지정할 수 있는 방법이 있습니까?

origin이름을 사용하는 대신 "외부 소스"에 높은 우선순위 할당 옵션을 사용하여 외부 소스를 고정해야 합니다 release.

예, g: 다음 줄을 다음 줄에 추가하세요 /etc/apt/preferences.d/preferences.

Package: *
Pin: origin deb.nodesource.com
Pin-Priority: 1001

될거야 apt-cache policy nodejs:

Candidate: 8.11.2-1nodesource1

Version table:
     8.11.2-1nodesource1 1001
       1001 https://deb.nodesource.com/node_8.x sid/main amd64 Packages
     8.11.2~dfsg-1 500
        500 http://deb.debian.org/debian sid/main amd64 Packages

패키지는 다음 위치에서 nodejs설치됩니다 .nodsource.comapt install nodejs

일반적으로 (설치 스크립트를 사용하여) nodejs 소스를 추가하면 전체 패키지 이름을 추가하거나 미리 준비된 방식을 사용하지 않고 nodejs패키지가 설치됩니다 . (이것은 문제가 될 수 있습니다.nodesource.comapt여기에 신고하세요).

패키지를 여러 저장소(debian 저장소 및 외부 저장소)에서 사용할 수 있는 경우 debian 릴리스 태그를 사용하여 패키지를 설치할 수 있습니다.데비안 저장소. nodejs문제가 해결되었다고 가정하면 1001debian Sid에서 패키지를 설치해야 합니다.

apt install nodejs/unstable

적절한 선호도

편집하다

이 패키지는 nodejs990에 고정되어 있으며 debian 저장소에서 설치됩니다. 파일에서 nodejs를 제거 preferences하고 다음을 실행합니다.

apt update
apt install nodejs

nodejs 패키지는 nodesource 저장소에서 설치해야 합니다.

관련 정보