我已经成功构建了本地存储库。当我apt-get
针对此本地存储库执行此操作时,一切正常。示例输出-
Hit http://192.168.1.142 precise InRelease
Hit http://192.168.1.142 precise/contrib amd64 Packages
Ign http://192.168.1.142 precise/contrib TranslationIndex
Ign http://192.168.1.142 precise/contrib Translation-en
检查一切正常后,我将存储库复制到生产服务器。现在我收到以下错误消息:
Err http://www.DOMAIN.com precise/contrib Translation-en
Error reading from server. Remote end closed connection [IP: A.B.C.D 80]
为什么apt-get
尝试从一台服务器下载翻译文件(如果找不到就会出错)但不能从其他服务器下载?
我检查了 HTTP 标头,发现两个服务器都在发送Content-Type: text/html;charset=UTF-8
答案1
控制是否下载语言文件的 Apt 配置变量是Acquire::Languages
。您可以更改此变量以防止 Apt 不检查语言文件。
要做到这一点:
Ctrl使用+ Alt+打开终端T
在具有管理员权限的
99-mysettings
目录中创建一个命名的文件。/etc/apt/apt.conf.d
gksu gedit /etc/apt/apt.conf.d/99-mysettings
然后在文件中写入以下行并保存。关闭 gedit。
Acquire::Languages "none";
现在,apt-get
不应该检查语言文件。
你可以在终端中用一行代码做同样的事情
echo 'Acquire::Languages "none";' | sudo tee -a /etc/apt/apt.conf.d/99mysettings
希望这会有所帮助。现在用 重试sudo apt-get update
。