$ sudo apt-get install <package>
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package <package>
有人可以帮我吗?
#1 楼
首先,检查软件包是否确实存在:使用Web浏览器转到packages.ubuntu.com。
向下滚动到“搜索软件包目录”
在“关键字”字段中输入要安装的软件包。
启用“仅显示完全匹配:”
将“分发”更改为您正在使用哪个版本的Ubuntu。
如果没有结果,那么您正在寻找的软件包不存在,后续步骤将不起作用。它可能需要第三方PPA或替代的安装方法。
如果找到结果,则说明该软件包存在,您可以继续执行以下步骤:
通过搜索打开软件源(或13.04+中的软件和更新)为此,请在Dash中。
打开“ Ubuntu软件”选项卡。
确保已启用此选项卡上的前4个复选框:
/>
更新软件包列表,然后使用以下命令进行测试:
sudo apt-get update sudo apt-get install <TEST_PACKAGE>
评论
我发现一个简单的sudo apt-get更新足以为我修复它。你的旅费可能会改变。
–爱德华·福克
16 Mar 7 '16 at 23:33
sudo apt-get update在Windows 10的Ubuntu上也对我有用(这很重要,因为该答案后半部分引用的UI在该系统上不存在)。
–詹姆斯
19年1月30日在18:49
该软件和更新截图保存了我!
– Kalpesh Soni
19年2月28日在21:29
别忘了也搜索launchpad.net!
–乔纳森
19-4-13在23:12
我正在从外壳运行服务器,但无法打开GUI。是否可以仅通过命令行解决此问题?
–尤利西斯·阿尔维斯(Ulysses Alves)
19年5月20日在11:42
#2 楼
关于此主题有很多问题。在这里,我提供一个基本/一般性的答案。当
apt-get install
无法找到软件包时,在已添加的存储库(位于/etc/apt/sources.list
和位于/etc/apt/sources.list.d/
下的存储库)中找不到要安装的软件包。 br />以下(一般)过程有助于解决此问题:确保已启用Ubuntu存储库:
要启用所有存储库(
main
,universe
,restricted
,multiverse
),请使用以下命令:sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
访问帮助以获取更多信息。
要查找更多软件包的PPA:
转到到Ubuntu软件包搜索。 (已在此答案中进行了解释)
如果无法找到的程序包来自PPA,请转到PPA并检查该程序包是否可用于您的发行版。
对于外部存储库,请访问Ubuntu更新并通过
按钮进行搜索。或访问
PPA。
或在Launchpad ppa中搜索
根据您的Ubuntu发行版查找合适的ppa。
>
(通过命令行)添加PPA:
使用此命令:
sudo add-apt-repository ppa:<repository-name>
访问Ubuntu社区帮助以获取更多信息。
别忘了更新(注意更改):
更改任何存储库后运行此命令至关重要:
sudo apt-get update
选择最佳的下载服务器可能有助于加快速度更新。
最后安装该软件包:
sudo apt-get install <package>
请参阅命令行的软件包管理。
其他/提示:您可以使用
apt-cache search <package-name>
找到正确的软件包名称(即存储库中的名称)。相关的常见问答:
如何添加PPA后如何解决未满足的依赖关系?
“软件包
apt-get
以外的其他安装过程,例如。从源编译,下载可执行二进制文件等。评论
在Debian / Ubuntu中,当它是libname2时,也可能是用户正在搜索libname。
–saiarcot895
2014年6月10日14:46
首先,取决于包装和您要做出许多假设。首先,假设sai指出了正确的软件包名称,如saiarcot895所指出的。其次,您假设软件包可用。通常,最好先确定问题所在。然后,如果有可能,请从存储库中安装。除非有特殊需要,否则ppa是第二选择。如果软件包不在存储库或ppa中,则可能需要从源代码进行编译。您确实没有足够的信息。
–豹
2014年6月10日15:06
@ saiarcot895 @ bodhi.zazen:提供了apt-cache搜索以从存储库中找到正确的软件包名称的修订答案。
–潘迪亚
2014年9月11日下午13:56
很棒的回答者,你应该是赢家
–梦想
18年6月16日在16:25
我不小心删除了整个内容:这意味着我删除了所有存储库,我可以想象其他人也可能这样做,尤其是如果您对清理回购清单的热情太高
–杰拉德
20 Dec 3'at 12:20
#3 楼
仅从Ubuntu 12.04(精确)开始,xbmc仅在Universe资源库中可用。如果您有旧版的Ubuntu,则需要升级或从其他地方获取xbmc。如果您具有Ubuntu 12.04,请确保已打开Universe信息库。您可以在文件
/etc/apt/sources.list
(和目录/etc/apt/sources.list.d
中的文件)中查看已启用的存储库。检查此文件是否包含deb http://al.archive.ubuntu.com/ubuntu/ precise universe
或
deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted
,没有与
universe
的行,在该行的末尾添加universe
,或者与precise universe
分开的行,如上图所示。 >如果需要修改/etc/apt/sources.list
,请在以后运行sudo apt-get update
,然后尝试再次安装。如果仍然找不到该软件包,请张贴/etc/apt/sources.list
的完整内容和sudo apt-get update
的输出。评论
@EliahKagan我没有想过我的答案可以这样解释,我试图澄清一下。为什么不使用al和zw? (当他们提供线索时,我会尝试为OP选择适当的镜像,但是在这里我不知道。)
–吉尔斯'所以-不再是邪恶的'
2012年7月2日在20:26
#4 楼
在尝试安装文件的情况下:sudo apt-get install libstdc++.so.6
而不是软件包。您收到错误消息:
E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'
,因为您试图安装无法安装的文件
libstdc++.so.6
,因为它位于在debian软件包中。您可以使用
apt-file
搜索包含该文件的软件包。要安装它,请键入:sudo apt-get install apt-file
然后必须更新索引。
sudo apt-file update
之后,您可以搜索包含文件
libstdc++.so.6
的软件包:sudo apt-file find libstdc++.so.6
,然后找到很多包含搜索文件的软件包。对于此示例,我仅粘贴一个搜索结果:
libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6
然后您可以安装所需的软件包
libstdc++6
:sudo apt-get install libstdc++6
#5 楼
我是Ubuntu的新手,但我正在写这篇文章,是因为我发现了一些避免此“无法找到软件包”错误的解决方案。在三种情况下,这种情况可能会发生震惊。要在以后进行软件更新,请确保通过按Alt + F2上的“更新管理器”来关闭所有重要的安全更新/建议的更新。即使更新或清除所有更新,问题一和二仍然可能发生。但永恒的解决方案是:
尝试点1和2,然后键入
sudo apt-get killmanager
,如果不起作用,请继续输入sudo apt-get update
,然后键入sudo apt-get upgrade
。通过终端软件。评论
如果在“ sudo apt-get update”行上仍然出现错误,请尝试使用“ sudo apt-get upgrade”。这将工作..伙计们!由于Linux区分大小写,请确保所有命令都使用小写字母,例如“ sudo”,而不是“ Sudo”
–陕·桑达(Shaan Sundar)
2012-12-25 13:36
#6 楼
全新安装Ubuntu?很多时候只是更新所有存储库和PPA的软件包列表就可以了:
sudo apt-get update
这应该是第一件事。您需要搜索的工作需要搜索包含您要查找的软件包的存储库或PPA,添加它,然后再次运行
sudo apt-get update
。此页面上的其他答案很好地说明了该过程的步骤。
评论
最近出现了很多,因为默认情况下18.04 Server已禁用Universe,multiverse和backport。输入未安装的命令时,是否存在启动板问题以改善给出的有用提示? (仅暗示它在未启用的存储库中会很有帮助)
在构建容器(通常同时使用Docker和Singularity)时,这是我遇到的很多问题。在奇异容器中,您具有不同的BootStrap选项,其中包括debootstrap和docker。出于某种原因,如果我使用debootstrap从基本的Ubuntu映像(例如xenial)开始,则会遇到此错误,在此情况下无法使用apt-get找到某些软件包。解决方案最终是切换到Docker BootStrap,然后再次运行。
这已经停止了我过去几天的进度,这并不是由于wjandrea的建议,是因为宇宙,多重宇宙或反向端口被禁用。
@Jackalope然后,软件包名称可能不正确,或者您需要运行sudo apt update。使用apt-cache搜索,后接搜索词以搜索正确的软件包名称。