source.list에서 중복 항목을 확인하는 방법

source.list에서 중복 항목을 확인하는 방법

시간이 지나면서 내 콘텐츠가 /etc/apt/sources.list늘어나서 이제 100개 행을 포함하게 되었습니다 /etc/apt/sources.list.d. apt가 인식하지 못하는 중복 항목이 있는 것 같습니다. 명백하지만 허구적인 예를 들면 다음과 같습니다.

deb http://ftp.am.debian.org/debian buster main contrib
deb http://ftp.au.debian.org/debian buster main contrib

사용 가능한 모든 신뢰할 수 있는 패키지를 포함하고 싶습니다.더반(소홀히 하다비공식 패키지, 내 혼란은 이것으로만 증가할 것입니다...) 내 것을 가능한 한 짧게 sources.list유지하면서 .sources.list

sources.list또한 이미 많은 노력을 기울였기 때문에 다시 시작하고 싶지 않습니다(예를 들어 설명하겠습니다 ). 수동으로 정렬하는 것(예: 하나씩 주석을 달고 번호를 변경하지 않고 항목을 제거하는 것)은 항목 수가 많기 때문에 실제로 바람직하지 않습니다.

다음 단계에는 '반공식' 또는비공식 패키지유익 할 것 /etc/apt/sources.list.d입니다.

말할 필요도 없이, 나는 내 컴퓨터 아키텍처에 적합한 모든 패키지를 포함하는 공식적으로 나열된 가까운 이미지를 선택하고 싶었습니다.

sources.list또한 가능하다면 파일의 명확성을 높이기 위해 가능한 한 적은 수의 도메인을 사용하고 싶습니다 .

답변1

시행착오 없이 중복 항목을 제거하는 가장 쉬운 방법은 apt policy액세스 가능한 각 저장소(및 제품군 및 아키텍처)에 대한 apt policy저장소 설명자를 살펴보는 것입니다.

예를 들어, 질문에 나열한 저장소의 경우 apt policy다음과 같습니다 .

 500 http://ftp.am.debian.org/debian buster/main amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin ftp.am.debian.org
 500 http://ftp.au.debian.org/debian buster/main amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin ftp.au.debian.org
 500 http://ftp.am.debian.org/debian buster/contrib amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64
     origin ftp.am.debian.org
 500 http://ftp.au.debian.org/debian buster/contrib amd64 Packages
     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64
     origin ftp.au.debian.org

각 항목의 두 번째 줄은 위 예에서 중복 제거가 필요한 줄입니다.

     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64

그리고

     release v=10.0,o=Debian,a=stable,n=buster,l=Debian,c=contrib,b=amd64

유지할 항목을 선택할 때 가장 쉬운 옵션은 하나의 deb.debian.org항목을 유지하는 것입니다(매번 리디렉션을 사용하여 가까운 미러를 제공함).

관련 정보