Как получить список репозиториев apt-get проверяет?

Мне нужен список репозиториев в sources.list, плюс sources.list.d/.

Могу ли я получить этот список в форме, подходящей для настройки другой хост, поэтому он наблюдает за теми же репозициями?

Кроме того, как определить, какое репо является источник пакета, установленный или доступный?

Ответ 1

Кажется, что самое близкое:

apt-cache policy

Ответ 2

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, если вы хотите просмотреть полный список.

Ответ 3

Попробуйте следующее:

cat /etc/apt/sources.list

Ответ 4

Это не формат, подходящий для слепого копирования на другую машину, но пользователи, которые хотят выяснить, добавили ли они репозиторий или нет (как я), вы можете просто сделать:

sudo apt update

Когда apt обновляется, он выводит список репозиториев, которые он выбирает. Это кажется очевидным, но я только что понял, что такое URL GET, что он выплевывает.

Изменить: Следующее выражение awk -based может быть использовано для генерации списка sources.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/*

Поскольку отключенные репозитории закомментированы с помощью хэша, это должно работать как задумано.

Ответ 5

Я пришел сюда за чем-то, но все, что мне было нужно, это:

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