Ubuntu 服务器存储库

Ubuntu 服务器存储库

当我安装时,它要求我设置互联网连接,但由于我安装它的 PC 没有 WiFi 卡,而且我的以太网电缆没有插入,所以我没有设置网络。它现在已安装,但当我尝试安装任何东西或当我安装时apt-get update,它不起作用,它只是说

 Failed to fetch: http://...

有人知道我该如何解决这个问题吗?我以为是存储库的问题,所以我查看了它们以添加/更新它们,它们没问题。我的朋友告诉我用以太网电缆重新安装,但除非万不得已,否则我不想这么做。

答案1

当您离线安装时,可能会出现一堆过时的存储库被添加到您的源中的情况。假设您现在已经通过以太网连接,您所要做的就是修复源。删除目录中损坏的内容sources.list.d,先进行备份(并小心输入!)

cd /etc/apt 
sudo cp sources.list.d sources-d-bak
sudo rm sources.list.d/*

现在尝试再次更新。如果仍然有问题,则需要编辑本身sources.list并注释掉有#问题的条目(通过在行首插入

sudo cp sources.list sources-bak
sudoedit sources.list

至少不要注释掉提到主存储库和安全更新存储库的行,而且您很可能还想保留 universe/multiverse 存储库。deb-src如果您不想启用下载源代码,请注释掉这些行。要保留的内容如下所示(取决于您的位置):

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

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

deb http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe

deb http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse

deb http://security.ubuntu.com/ubuntu xenial-security universe
deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse

注释掉任何提及 sourceforge 或其他外部存储库的行,因为这些链接很可能已经过时。保存并退出,您就可以更新了。

或者,@Anwar 根据自己的经验建议,将镜像从区域镜像更改为 Ubuntu 主镜像可以解决问题。

为此,删除中的区域标签sources.list,例如替换为:

http://us.archive.ubuntu.com/ubuntu

有了这个

http://archive.ubuntu.com/ubuntu

一些快速完成此操作的建议:像以前一样制作备份,然后使用 Vim 或 Vi:sudo vi /etc/apt/sources.list并输入(替换us.为您的地区):

:%s/us.//gc

这将删除实例,us.但这是交互式的,因此您可以按y继续或n跳过并移至下一个实例。(完成后,键入:wq保存并退出)

或者如果你愿意的话(先备份!):

sudo sed -i 's/\/us./\//g' /etc/apt/sources.list

这将用 替换所有出现的/us./匹配一个额外的字符,以防us.万一有我们不想删除的地方)

相关内容