使用命令行获取更新服务器名称

使用命令行获取更新服务器名称

如何使用命令行获取更新服务器名称?

我知道我可以从源列表文件中读取它,例如:

cat /etc/apt/sources.list

给出:

deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted multiverse

那我就用美国服务器。

但是我怎样才能更有效地做到这一点?

答案1

这实际上只是对您的方法的微调:

cat /etc/apt/sources.list | grep deb | cut -d' ' -f2

cut -d' ' -f2部分从包含单词 的行中剪切出第二列deb

答案2

您可以使用以下--print-uris选项apt-get

$ sudo apt-get --print-uris update||grep Packages.bz2|awk '{print $2}'|sed -e 's/_ubuntu_dists_vivid\(-\|_\)\?/ /' -e 's/_binary-.*_Packages//'|sort -u

将不会更新软件包列表

答案3

我从 meskobalazs 的回答中得到了这个想法。

您可以尝试在终端中运行此命令

server=$(cat /etc/apt/sources.list | grep -m 1 deb\ h) ; echo ${server:11:2}

grep -m 1仅返回第一个匹配项。${server:11:2}返回之后的前两个字母deb http://

当我运行该命令时,输出被sg切断deb http://sg.archive.ubuntu.com/ubuntu/ trusty main restricted

相关内容