在 Debian 中安装 build-essential 时出现问题

在 Debian 中安装 build-essential 时出现问题

我一直在尝试在 Debian 中安装一些程序,这是我第一次使用 Linux,所以遇到了一些麻烦。当我尝试安装build-essential时:

sudo apt-get install build-essential

或其他类似的命令,它表示没有“安装候选者”

我在类似这个问题的其他问题中寻找答案,但找不到解决方案。

答案1

以下错误意味着您的计算机上E: Package 'build-essential' has no installation candidate没有该存储库mainsources.list

build-essential软件包可在main存储库。

首先,你应该编辑你的sources.list

sudo apt edit-sources

添加以下行(示例sources.listmaincontrib成分):

deb http://httpredir.debian.org/debian jessie main contrib
deb-src http://httpredir.debian.org/debian jessie main contrib

deb http://httpredir.debian.org/debian jessie-updates main contrib
deb-src http://httpredir.debian.org/debian jessie-updates main contrib

deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib 

保存并运行以下命令来安装build-essential包:

sudo apt update
sudo apt upgrade
sudo apt install build-essential

答案2

为了让 Apt 了解可用的软件包,它需要有效的配置/etc/apt/sources.list(通常在安装发行版时正确初始化),并且需要Packages从配置的网络位置成功下载文件。常见的错误场景包括

  • 过时的配置。如果您尝试使用不再受支持的发行版,则曾经正确的 URL 将/etc/apt/sources.list不再有效。如果整个服务器消失,症状是“找不到文件”错误或“没有到主机的路由”。
  • 防火墙问题阻止 Apt 下载Packages文件,具有类似的症状。如果您能够从其他地方连接到 Apt 配置的位置,也许您需要使用代理?
  • 暂时性服务器错误通常会在几分钟或几小时后自行消失。
  • 运行失败apt-get update。如果文件的本地副本Packages太旧,它们将指向服务器上的存档中不再存在的包版本。

不太常见但可以想象的问题原因可能是错误地切换配置文件(从备份恢复?在您的问题中包含足够的信息,以便我们可以告诉您发行版的常见默认值?),物理连接问题(接口已启动,您正在运行)能够连接到例如Googlecurl或类似的?)和本地磁盘问题(Packages文件损坏?磁盘安装为只读?)。如果您从 DVD 安装,则 Apt 中也可能仅将 DVD 配置为软件包源。

为了更详细地进行故障排除,任何错误消息或其他症状都有助于识别错误,但了解此级别的系统通常足以自行诊断。

一个小烦恼是,配置 URL 从常规 Apt 输出中无法清晰可见。配置看起来像

deb http://example.net/path distribution section another

PackagesApt 本身会填充一些部分来构造服务器上一个或多个文件的完整 URL 路径。通过该--print-uris选项,您可以看到它到底试图获取什么。

相关内容