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

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

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

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



답변

가장 가까운 것 같습니다 :

apt-cache policy


답변

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 항목을 모두 제거하십시오.


답변

이 시도:

cat /etc/apt/sources.list


답변

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

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는 해시로 주석 처리되므로 의도 한대로 작동합니다.


답변

나는 무언가를 위해 여기에 도착했지만 필요한 것은 다음과 같습니다.

cd /etc/apt
nano source.list
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
apt upgrade && update

출처 :
https://docs.kali.org/general-use/kali-linux-sources-list-repositories


답변