无法在14.04.03中安装Steam(依赖性问题?)(这也应该有助于15.04中的问题)

刚拿到我的新电脑并安装了14.04.03。

安装期间没有错误。

Nvidiavideo卡与道具。 司机(geforce gts 970-版本346和352尝试的驱动程序)

安装steam-launcher并单击它以安装Steam后,将弹出一个终端窗口,其中包含以下内容

 Steam needs to install these additional packages: libgl1-mesa-dri:i386, libgl1-mesa-glx:i386, libc6:i386 

输入密码后我得到以下“

  Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 10.1.3-0ubuntu0.4) unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed Depends: libcheese7 (>= 3.0.1) but it is not going to be installed E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages. Press return to continue: 

我可以找到同一个问题的唯一问题是安装Steam的依赖问题接受的答案是sudo apt-get -s install libgl1-mesa-glx-lts-utopic:i386然后在测试工作时运行它。 我的测试给了我

 Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: gnome-session-bin : Depends: libgl1-mesa-glx or libgl1 libcheese-gtk23 : Depends: libcheese7 (>= 3.4.0) but it is not going to be installed Depends: libclutter-1.0-0 (>= 1.13.2) but it is not going to be installed Depends: libclutter-gtk-1.0-0 (>= 0.91.8) but it is not going to be installed Depends: libcogl15 (>= 1.15.8) but it is not going to be installed libgl1-mesa-glx-lts-utopic:i386 : Depends: libglapi-mesa-lts-utopic:i386 (= 10.3.2-0ubuntu1~trusty2) but it is not going to be installed Depends: libgl1-mesa-dri-lts-utopic:i386 (= 10.3.2-0ubuntu1~trusty2) but it is not going to be installed libgnome-desktop-3-7 : Depends: libgl1-mesa-glx or libgl1 libqt5gui5 : Depends: libgl1-mesa-glx or libgl1 libqt5multimedia5-plugins : Depends: libqgsttools-p1 (>= 5.2.1-0ubuntu5) but it is not going to be installed libqt5quick5 : Depends: libgl1-mesa-glx or libgl1 libwebkitgtk-3.0-0 : Depends: libgl1-mesa-glx or libgl1 E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages. 

我正在使用新的图形驱动程序ppa https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa所以那里的libs会导致这个吗?

如果没有人知道如何解决这个问题,我升级计算机的全部原因是为了在游戏中获得更好的性能,所以这是一个真正的耳光…..


编辑:删除ppa无效。 似乎问题出在libgl1-mesa-dri:i386如果你尝试用apt-get安装它,你会得到关于unity-control-center错误。 Synaptic甚至找不到它们,如果您尝试使用软件中心,您会收到警告:

在此处输入图像描述


更新#2 Steam现在将启动,但仍会弹出想要安装上面三个库的终端窗口。 如果您关闭窗口,Steam将启动并且似乎正常工作。 到目前为止,我能够恢复我的游戏并推出了一款游戏。

请求不认为这解决了。 我希望每次开始时都不会被窗口所困扰,我想知道它突然发生了什么可能发生,我不记得安装任何库,只是尝试手动安装上面的库。 如果我不得不重新安装,我需要知道如何解决它,其他反复尝试安装,拉出我的头发从桌面上砸下然后重复……

原始答案

我使用Synaptic并安装了steam:i386解决了这个问题steam:i386不是蒸汽发射器(Synaptic找不到)


通过问题OP编辑以添加说明和更多信息

使用上面答案中的命令,Steam安装很顺利,但它有一些怪癖:

第一部分背景:我最初使用软件中心的“重新安装以前的购买function”安装了Steam。这个安装的steam-launcher在Synaptic找不到上面的答案。这是因为Synaptic只找到已经在回购中的程序但Steam启动器在它自己的ppa。软件中心可以看到“购买”应用程序,这是Steam最初发布的。“对于购买”这里并不一定意味着你必须花钱,这个function的function是允许你安装仅在他们自己的ppa中可用的应用程序。安装它是添加ppa以及程序。


由于某种原因,以上述方式安装不会从vivid堆栈中拉出libs,只有原始的trusty repos和trusty-updates repos。 这会导致我在问题中发布的冲突和依赖性错误。 根据这个答案进行安装可以解决这个问题并从vivid解脱出来。

似乎有几种方法可以获得steam:i386正在使用Synaptic。 另一种图形方式是软件中心, 必须点击窗口左下角的“ 显示[多个]技术项目 ”在我的测试中,这也带来了steam:i386选项。

最后一种方法是使用终端并输入sudo apt-get install steam:i386 (请注意,由于某种原因,使用Tab键自动完成这里不起作用,你必须输入整个steam:i386 out。

使用终端进行模拟,我看到它将从vivid回购中安装库,并且我没有错误。 我继续安装。

如果您通过Synaptic进行检查,您会发现它比steam-launcher安装的更新版本的Steam,它的安装方式略有不同。 这些差异导致了我上面提到的怪癖。


怪癖

Steam现在安装在.steam ,而.steam 曾经只是实际Steam安装位置的链接。 即: .local/share/steam这是我将在下面列出的怪癖的原因。

Steam无法找到旧位置的应用,并且想要重新下载它们。 如果正在拖放您之前保存的Steam应用程序的旧文件夹,则需要进入.steam/steam/steamapps/common (请注意,steamapps不再大写)。 appmanifest文件仍然会进入steamapps文件夹,但不会复制libraryfolders.vdf因为该信息将更改为新位置。 如果你没有保存appminifest文件,那就没什么了; Steam会认为游戏没有安装但是如果你把steamapps文件放在正确的位置,你只需点击Steam中的“安装”按钮,Steam就会启动安装然后发现现有文件并且必须validation它们。 这仍然可以正常工作但需要一些额外的时间,因为你必须为每场比赛做这件事。


最后的想法:

如果像我一样,您在安装Steam之前通过“重新安装以前的购买”function尝试安装Steam,如上所述,您应该删除旧的Steam存储库以避免冲突。 只需从破折号打开“软件和更新”,然后转到“其他软件”选项卡,单击“由软件中心安装… steam repo”选项并点击“删除”按钮。 当您关闭窗口时,在提示中允许“刷新”,然后您可以进行安装。

看起来安装这种方式只能在本地安装Steam,而steam-launcher是在系统范围内安装的。 这实际上只是一个语义问题,因为steam-launcher并没有真正安装任何东西,只是一个链接可以激活所有用户安装Steam的选项。 .desktop文件是在系统范围内安装的,因此其他用户只需单击要安装的图标即可。

在任何一种情况下,Steam本身仅安装到本地用户文件,并且必须为每个用户重新安装。 有一种方法可以链接到每个用户的游戏文件,这样他们就可以共享实际的游戏,而不必多次重新安装同一个游戏,但因为我从来不需要这样做,这超出了我的经验。

看起来你可以通过pt-get安装steam来获得正确版本的蒸汽,至少在我使用steam:i386 sudo apt-get install steam会告诉你“蒸汽:i386已经是最新的版本”使用steam将允许自动完成工作,但由于我不确定它是我测试期间正确的包,我没有机会。

最后,这对我来说完美无缺,但是在我尝试解决这个问题时,我通过sudo dpkg --add-architecture i386添加了1386架构,所以如果你得到错误,那么你可能需要这样做,但是我不需要steam:i386我想你会的。 steam:i386的依赖之一steam:i386multiarch-support ,默认情况下似乎是预先安装的,因此应该使i386架构的添加变得多余。


稍后编辑以包含更多信息

我之后能够直接从Steam安装最新的软件包,并且安装完美,目录文件夹安装在.local之前。 这也将Steam ppa添加到源代码中,因此我也应该更快地获得更新(仅一天左右,但是……)

我将steamapps文件夹移出Steam安装,以便它不会被覆盖,然后sudo apt-get remove steam:i386然后将steamapps文件夹移动到.local/share/steam回答 ,允许文件夹被覆盖,当开始Steam登录我,游戏顺利启动。

我几乎可以肯定,我在尝试安装之前直接从Steam的网站上尝试过这个包并得到了同样的错误。 安装steam:i386正确地拉入了依赖项,并且工作正常,我可以保持原样,但它让我觉得它似乎是“hackey”。 所以你可以安装steam:i386并且可以毫不费力地工作,或者可以移除steam:i386然后直接从Steam安装包并且具有以前的目录(并且大多数用户期望它们,这可以使它将来更容易从社区获得帮助)。

您选择的任何一个都应该为您提供有效的Steam安装

此答案留待历史/信息目的,或者如果接受的答案不适合您。 请尝试接受的答案!

经过多次压力后,我终于发现了一些推荐(大多数)相同解决方案的post。 请注意,这有点hackey但它可以工作,它可能会导致以后的问题,或者可能不是我不知道

我从2013年的旧蒸汽报告中找到了最可靠的答案。阅读线程后,很明显Steam不能很好地处理HWE版本,并尝试从非HWE存储库中提取库,这会导致冲突。

实际上我正在处理的是单独的问题,但它们是相关的


首先是如果您在没有专有驱动程序的情况下安装Steam,则“bug”导致无法找到Lib.so文件
如果您使用专有驱动程序(至少使用Nvidia,不确定Radeon),他们会安装自己的库,而Steam可以找到它们。 没有关闭的驱动程序,你会得到致命的错误,“你错过了以下32位库,Steam可能无法启动Lib.so *”然后Steam崩溃通知会出现。 这导致了上面的混乱,一次Steam失败,下次开始时

如果我理解正确,以下修复将解决与非propitiatary这个问题,但我不是绝对肯定。 __

第二个问题:

仍然与Steam试图拉旧libs有关。 (或者Ubuntu repo还没有更新新版的工作,我还不清楚)

当从关闭的驱动程序开始时,弹出窗口,Steam“需要在上面发布的代码中安装以下内容…”。 (当使用打开的驱动程序时,“lib.so”阶段的Steam崩溃)

如果你试图安装,你得到我上面发布的错误,但如果你刚关闭窗口,Steam将正常启动。

现在修复

我之前提到的错误报告包含了一些最近的评论,这些评论引导我得到相关评论从这里开始的答案。

修复是添加i386架构然后更新

 sudo dpkg --add-architecture i386 sudo apt-get update 

然后安装i386库(这些是来自可信赖的存储库的旧库,正如您可以通过命令看到的那样)

 sudo apt-get install libgl1-mesa-dri-lts-trusty:i386 libgl1-mesa-glx-lts-trusty:i386 libc6:i386 

正如我上面所说的,这可能是一种hackey方式来获取所需的库,但是我尝试的其他方式要么彻底失败,要么让我想到每次启动Steam时想要安装所需的库的超级烦人的窗口。 这些库可能会在以后出现问题,但您似乎可以删除这些命令所安装的所有文件

  sudo apt-get purge libgl1-mesa-dri-lts-trusty:i386 libgl1-mesa-glx-lts-trusty:i386 libc6:i386 

然后删除最后一个文件

 sudo apt-get autoremove 

根据我的测试,它将系统恢复到安装命令之前。 由于您的大多数系统在14.04.03仍然是Trusty和Trusty将支持一段时间; 我认为这些库可以使用,使用此修复程序需要您自担风险
有一点需要注意的是,此修复程序没有从我的系统中删除单个文件,程序或lib(您可能希望使用sudo apt-get install -s进行测试(这里的-s开关意味着模拟)然后检查您的输出终端,以确保它不会在你的)。


如果有更多有经验的用户知道安装这些库可能出现的任何问题,或者知道解决此问题的方法不太快, 在评论中添加信息