如何将 Ubuntu Server 中的镜像从区域更改为主?

Sor*_*rea 106 server command-line software-sources apt-mirror

我设置了一个 Lucid Server (10.04),我想将镜像从美国(或任何其他国家/地区)更改为主 Ubuntu 镜像。

例如,我在 sources.list 中的两个第一个条目是:

deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
Run Code Online (Sandbox Code Playgroud)

在桌面环境中,我会像这样选择主镜像:

软件来源

但是我如何从终端执行此操作,因为我没有安装图形环境!

Jak*_*kob 137

sources.list使用您喜欢的文本编辑器打开您的文件,例如

sudo nano /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

找到文本http://us.archive.ubuntu.com/ubuntu并将其替换为http://archive.ubuntu.com/ubuntu。

  • 随后还要运行“apt-get update”,以便 APT 可以更新其软件包。最初,我收到一条“Package X has no Installation Candidate”消息,因为 APT 尚未扫描新存储库中的软件包。 (2认同)

Pol*_*res 69

这个命令应该可以解决问题:

sudo sed -i 's|http://us.|http://|g' /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

它将删除“我们”。每个地址中的前缀以将它们转换为主服务器的地址。

当然,用您正在使用的任何其他镜像替换“我们”。

命令的深入解释:

sed - 用于过滤和转换文本的流编辑器。

  • 该-i参数是在地方编辑文件。

  • 然后's|regexp|replacement|g',s指定搜索和替换命令。

  • 最后的g是“全局”搜索的参数。

  • 结论:替换所有出现的http://us。在文件/etc/apt/sources.list 中使用http://。

  • 要从 us 切换到 de 镜像,请执行以下操作: `sudo sed -i 's/http:\/\/us./http:\/\/de./g' /etc/apt/sources.list'` (3认同)

SAG*_*air 5

正确使用 sed 将国家代码“us”从 source.list 中删除/更改为“au”之类的其他内容,命令如下:

sed -i 's/http:\/\/us./http:\/\/au./g' /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

或者只是单独删除“我们”而不是将其更改为某些内容,请使用以下代码:

sed -i 's/http:\/\/in./http:\/\//g' /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)