我需要 资料来源列表中的存储库列表,以及 来源: list.d/中的存储库列表。
我可以得到这个名单的形式适合建立 另一个主机,所以它监视相同的存储库?
此外,如何确定哪个存储库是 安装或可用的软件包来源?
试试这个:
cat /etc/apt/sources.list
似乎最接近的是:
apt-cache policy
据我所知,你不能问 apt他们目前的来源是什么。但是,您可以使用 shell 工具做您想做的事情。
apt
获取存储库列表:
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 内容。
它是一种适合盲目复制到另一台机器的 没有格式,但是如果用户想知道他们是否已经添加了存储库(就像我一样) ,你可以这样做:
sudo apt update
当 apt更新时,它输出获取的存储库列表。这似乎是显而易见的,但我刚刚意识到什么是 GET的网址,它吐出来。
GET
以下基于 awk的表达式可用于生成 资料来源列表文件:
awk
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
cat /etc/apt/sources.list /etc/apt/sources.list.d/*
由于禁用的存储库是用散列注释掉的,因此应该能够按照预期的方式工作。
我只需要:
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
资料来源: 卡利网络存储库(/etc/apt/sources.list)