如何将Ubuntu Server中的镜像从区域更改为主?
我有一个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
在桌面环境中,我会像这样选择主镜像:
但是我如何从终端这样做,因为我没有安装图形环境!
使用您喜欢的文本编辑器打开您的sources.list
文件,例如
sudo nano /etc/apt/sources.list
找到文本http://us.archive.ubuntu.com/ubuntu
并将其替换为http://archive.ubuntu.com/ubuntu
。
这个命令可以做到这一点:
sudo sed -i 's|http://us.|http://|g' /etc/apt/sources.list
它将删除’我们’。 每个地址中的前缀将它们转换为主服务器的地址。
当然,用你正在使用的任何其他镜子替换“我们”。
深入解释命令:
sed – 用于过滤和转换文本的流编辑器。
-
-i参数是在适当的位置编辑文件。
-
然后‘s | regexp | replacement | g’ , s指定搜索和替换命令。
-
最后的g是“全局”搜索的参数。
-
结论:替换所有出现的http:// us 。 在文件/etc/apt/sources.list中使用http:// 。
用vim
:
mv /etc/apt/sources.list{,.bak} # you may want to make a backup vim /etc/apt/source.list
键入🙁您需要按住Shift键 )进入命令-nine模式,然后键入:
%s/http:\/\/us\./http:\/\//g
按Enter键
点击Esc以确保您已退出命令行模式并进入正常模式。 现在,您可以使用键盘移动键(如果需要)滚动文件,以确保编辑了所有出现的镜像。
最后,通过进入命令行模式(类型wq!
退出并输入wq!
保存并退出vim
。
更正sed用法以从source.list删除/更改国家/地区代码“us”到“au”之类的其他内容,命令如下:
sed -i 's/http:\/\/us./http:\/\/au./g' /etc/apt/sources.list
或者只是单独删除“我们”而不是将其更改为某些内容,请使用以下代码:
sed -i 's/http:\/\/in./http:\/\//g' /etc/apt/sources.list