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


76

我已经设置了Lucid Server(10.04),我想将镜像从美国(或任何其他国家)更改为Main Ubuntu Mirror。

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

deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted

在桌面环境中,我将选择主镜像,如下所示:

软件来源

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

Answers:


95

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

sudo nano /etc/apt/sources.list

找到文本http://us.archive.ubuntu.com/ubuntu并用替换http://archive.ubuntu.com/ubuntu


我认为这可以解决问题,但是当我按照您的建议进行操作时,它给存储库带来了404错误。我现在再次检查了,看来还可以。我的网络连接似乎有问题。非常感谢您的回答。
Sorin-Mihai Oprea'2

有没有像GUI这样的安全方式。我的意思是,不要手动替换它,避免输入错误或其他任何错误。
注销


1
apt-get update随后还要运行,以便APT可以更新其软件包。最初我收到一条Package X has no installation candidate消息是因为APT尚未扫描新存储库中的软件包。
NS du Toit

要在脚本中使用它,sed可以使用以下命令sed -E -i 's#http://[^\s]*archive\.ubuntu\.com/ubuntu#http://be.archive.ubuntu.com/ubuntu#g' /etc/apt/sources.list'/etc/apt/sources.list将nl替换为您的国家/地区代码。
曼迪

55

此命令应达到目的:

sudo sed -i 's|http://us.|http://|g' /etc/apt/sources.list

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

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

命令的深入说明:

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

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

  • 然后的|的regexp |置换| G' š指定搜索和替换命令。

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

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


1
尝试再解释一下该命令,它有什么作用?
伊万德罗·席尔瓦

1
要从我们转到镜像,请执行以下操作:sudo sed -i 's/http:\/\/us./http:\/\/de./g' /etc/apt/sources.list'
Christian

这里发布的方法是正确的,但是顶部发布的代码是错误的[code]“ sudo sed -i's / http:\ / \ / us./http:\/\//g'/ etc / apt / sources.list“ [/ code]底部的sed cmd哪里有意义?
SAGAR Nair

非常感谢您提供无需人工文本编辑的一线工具。通过使用sudo sed -i 's|http://us.|http://ch.|g' /etc/apt/sources.list(我在瑞士),我的下载速度从几kB / s升至10 MB / s 。我正在使用osboxes映像,在这方面它们显然配置不当...
masterxilo

4

纠正sed用法,以将国家/地区代码“ us”从source.list删除/更改为“ au”之类的其他命令,命令如下:

sed -i 's/http:\/\/us./http:\/\/au./g' /etc/apt/sources.list

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

sed -i 's/http:\/\/in./http:\/\//g' /etc/apt/sources.list

3

vim

mv /etc/apt/sources.list{,.bak}   # you may want to make a backup
vim /etc/apt/source.list

键入:(需要按住Shift)进入命令输入模式,然后键入:

%s/http:\/\/us\./http:\/\//g

击中 Enter

点击Esc以确保您已经退出命令行模式并进入普通模式。现在,您可以用键盘移动密钥的文件滚动左右(如果你想),以确保所有出现我们的镜子已被编辑。

最后,通过进入命令行模式(类型:wq!退出并保存并进入保存并退出vim


在搜索正则表达式%s / http:\ / \ / us \ ./ http:\ / \ // g中;“。” (点)不是定界符,因此不需要使用反斜杠对其进行转义。
SAGAR Nair

@SAGARBHOOSHAN .本身就是“除换行符外的任何字符”。反斜杠是为了确保仅与文字点匹配。
Chai T. Rex
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.