apt-get이 확인하는 리포지토리 목록을 얻는 방법은 무엇입니까? [닫은]


133

sources.list의 repos 목록과 sources.list.d /의 repos 목록을 원합니다.

다른 호스트를 설정하기에 적합한 형식으로이 목록을 얻을 수 있습니까?

또한 어떤 리포지토리가 설치되었거나 사용 가능한 패키지의 소스인지 어떻게 알 수 있습니까?


답변:


174

가장 가까운 것 같습니다 :

apt-cache policy

3
누군가가 URL을 요약하는 등 출력을 향상시키고 여기에서 그의 명령을 공유하고 싶습니까?
lony

49

AFAIK에는 현재 소스가 무엇인지 물어볼 수 없지만 쉘 도구를 사용하여 원하는 것을 할 수 있습니다.

리포지토리 목록 가져 오기 :

grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/* >> current.repos.list

목록 적용 :

apt-add-repository << current.repos.list

패키지 (설치 또는 사용 가능)에서 저장소를 얻는 것과 관련하여 트릭을 수행합니다.

apt-cache policy package_name |grep -m1 http| awk '{ print $2 " " $3 }'

그러나 해당 패키지에서 사용 가능한 최신 버전의 리포지토리가 표시되므로 이전 버전의 동일한 패키지에 대해 더 많은 리포지토리가있을 수 있습니다. 전체 목록을 보려면 grep / awk 항목을 모두 제거하십시오.


9
간단한 전체 목록apt-cache policy |grep http |awk '{print $2 $3}' |sort -u
shadowbq

공간이 없음apt-cache policy |grep http |awk '{print $2 " " $3}' |sort -u
shadowbq

grep : 명령 줄에서 /etc/apt/sources.list.d/*로 변경해야합니다 /etc/apt/sources.list.d/*.list. 이유에 대해서는 askubuntu.com/questions/82825/…를
Erik

18

이 시도:

cat /etc/apt/sources.list

26
여기에는 /etc/apt/sources.list.d/의 repos가 포함되지 않습니다. IE # apt-add-repository XXX
ktenney의 결과

3
grep -Erh ^deb /etc/apt/sources.list*트릭을해야합니다.
David

1
grep -Erh '^deb ' /etc/apt/sources.list*deb-src줄 을 제외합니다 .
David

8

그건 하지 맹목적으로 다른 컴퓨터에 복사에 적합한 형식,하지만 (내가했던 것처럼) 그들이 아직 여부 저장소를 추가 한 여부를 해결하고자하는 사용자는, 당신은 할 수 있습니다 :

sudo apt update

apt업데이트 할 때 가져온 리포지토리 목록을 출력합니다. 분명해 보이지만 방금 GET뱉어 낸 URL이 무엇인지 깨달았 습니다.

편집 : 다음 awk기반 표현식을 사용하여 source.list를 생성 할 수 있습니다.

 cat /tmp/apt-update.txt | awk '/http/ { gsub("/", " ", $3); gsub("^\s\*$", "main", $3); printf("deb "); if($4 ~ "^[a-z0-9]$") printf("[arch=" $4 "] "); print($2 " " $3) }' | sort | uniq

또는 다른 답변에서 알 수 있듯이 다음 cat과 같은 기존 소스를 모두 사용할 수 있습니다 .

cat /etc/apt/sources.list /etc/apt/sources.list.d/*

비활성화 된 repos는 해시로 주석 처리되므로 의도 한대로 작동합니다.


왜 공감해야합니까? 적어도 답변을 개선 할 수 있도록 댓글을 남겨주세요 .......
starbeamrainbowlabs

의견이있는 하향 투표 (현재로서는) :이 출력을 캡처하여 질문에 대한 답변으로 변환하는 방법을 보여주십시오. 예를 들어, 매번 apt update출력 / 텍스트를 필터링하여이 질문과 관련된 정보를 추출하는 방법은 무엇입니까?
dardisco

2
많이 향상되었습니다! awk필터링 에 사용하기 위해 +1
dardisco

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.