我尝试使用另一个用户的软件包安装 g++。离线...但出现错误。连接到网络后,我尝试使用进行安装sudo apt-get install g++
,但出现以下输出:
gstreamer0.10-alsa is already the newest version.
qtdeclarative5-ubuntu-ui-extras-browser-plugin is already the newest version.
python-gconf is already the newest version.
gstreamer0.10-tools is already the newest version.
libglib2.0-0 is already the newest version.
gir1.2-peas-1.0 is already the newest version.
libatk-bridge2.0-0 is already the newest version.
gnome-session-bin is already the newest version.
libgomp1 is already the newest version.
libmessaging-menu0 is already the newest version.
usb-creator-gtk is already the newest version.
libgnome-desktop-3-7 is already the newest version.
software-properties-gtk is already the newest version.
gnome-control-center-shared-data is already the newest version.
unity-scope-gourmet is already the newest version.
libcupsimage2 is already the newest version.
growisofs is already the newest version.
libjson-glib-1.0-common is already the newest version.
activity-log-manager is already the newest version.
libio-string-perl is already the newest version.
qtdeclarative5-qtfeedback-plugin is already the newest version.
gnome-power-manager is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
还有更多这样的行......但 g++ 仍然没有安装
答案1
显然apt-get
不知道gcc
。
如果apt-get
知道一个名为 的包g++
,它不会尝试将其解释g++
为除单个包的名称之外的任何内容。(相反,我可以通过尝试安装名称相似的不存在的包 来重现您所看到的行为q++
。)
不了解apt-get
克++包裹:
g++
未配置要使用的软件源提供包。- 已配置提供软件源
g++
以供使用,但可供安装的软件包信息尚未更新。
如果是第二个原因,那你就跑吧sudo apt-get update
。但我觉得第一个原因更可能。
确保主要功能已启用。
g++
是假如在主存储库组件。该功能应该始终处于启用状态,但也可能并非如此。
Ubuntu 系统运行所需的许多软件包由主要组件提供(这是由 Canonical 直接维护的软件,而不是由更大的社区维护,它主要由许多 Ubuntu 系统的重要核心软件组成)。此外,一些apt-get
列为已安装的软件包(例如python-gconf
)位于主要组件中。
所以我认为发生的事情是主程序最近被禁用了,可能是意外。apt-get
知道当前安装的主程序中的软件,因为它可以看到它已安装。但如果主程序被禁用,它apt-get
就不知道您没有的主程序中的任何软件。
要检查主程序是否已启用,如果未启用则重新启用,请打开“软件和更新”(在以前的 Ubuntu 版本中称为“软件源”)。打开它的一种方法是单击软件更新程序(在旧版本的 Ubuntu 中称为“更新管理器”)中的“设置...”按钮。
然后确保选中标有“Canonical 支持的免费和开源软件(主要)”的框。
如果已经是,那么很可能我猜错了问题的原因。如果尚未选中,请选中该框(您可能需要输入密码)并单击“关闭”。系统会提示您“可用软件的信息已过期”;单击“重新加载”按钮。
- 如果这是 Ubuntu Server 安装或其他没有 GUI 的系统,请参阅袋鼠的回答到我如何启用“Universe”存储库?(仅启用主要功能而不是宇宙功能)。
然后尝试g++
再次安装。
尝试不同的 APT 镜像。
如果主要组件已启用,也许您使用的 APT 镜像有问题。特别是如果您没有使用官方镜像之一(us.archive.ubuntu.com
,us
用您的“国家代码”替换),我建议尝试其他镜像,如果可能的话,最好是官方镜像。
您也可以在“软件和更新”中设置 APT 镜像。只需在标有“下载自”的下拉菜单中更改它即可。
和启用软件源一样,更换下载服务器后退出“Software & Updates”会提示软件信息过期,点击“Reload”,再看能否g++
安装。
- 如果这是 Ubuntu Server 安装或其他没有 GUI 的系统,请参阅如何将 Ubuntu Server 中的镜像从区域镜像更改为主镜像?
进一步排除故障。
如果仍然无法安装,那么您应该编辑您的问题并提供更多信息来帮助解决问题。
- 提供 的内容
/etc/apt/sources.list
。一种方法是复制命令的完整输出cat /etc/apt/sources.list
并将其粘贴到您的问题中。选择它并按Ctrl+K以正确格式化它。 - 或者,您可能想看看是否可以找到并安装克++软件中心的软件包。如果可以,那就太好了!更有可能的是,这样做可能会揭示一些有助于找出问题所在。