如何在不冲突的情况下同时安装Google Chrome的所有版本(稳定版/测试版/不稳定版)?

我在我的电脑上安装了稳定版本的谷歌浏览器。但是每次我尝试安装测试版或者不稳定版本时,都遇到同样的问题:
The following packages will be REMOVED
  google-chrome-stable
The following NEW packages will be installed
  google-chrome-beta
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Need to get 34.5 MB of archives.
After this operation, 3,109 kB of additional disk space will be used.
Do you want to continue [Y/n]? 

我需要在安装另一个版本之前删除第一个版本。

我知道不能并排安装现有的软件包。它不需要通过打包系统完成!我不关心它是如何完成的。它同样可以是手工制作的bash脚本或其他任何东西。主要目标是让它们在我的Ubuntu旁边。必须有一种方法..

因此,总结我的问题:如何将所有Google Chrome版本都安装在彼此旁边?


我不确定你想要的是不是可能的。 - user25656
我相信你能做到,如果它在Windows和(尤其是)OSX上运行,那么它也可以在Linux发行版上运行。 - sobi3ch
我并不太确定。至少这不能通过软件包或任何仓库来完成。 - heartsmagic
5个回答

如果其他人遇到同样的问题 - 似乎Chrome软件包维护者在3个发布的软件包中删除了冲突 - google-chrome-stable / -beta / -unstable。这些都安装在不同的目录下,通过/etc/alternatives,/usr/bin/google-chrome软链接到特定版本(默认为google-chrome-stable)。
在Ubuntu 12.04 LTS上进行了测试,使用Chrome 38(稳定版)、39(测试版)和40(不稳定版)。

有可用的Chromium二进制文件,它们不会污染/bin目录,可以直接从任何文件夹运行。
您可以从这里下载这些二进制文件,并将其解压到您选择的任何文件夹中,然后并行运行它们。

你不能这样做。这是因为所有这些版本(稳定版、测试版和不稳定版)彼此之间存在冲突。请参考:
apt-cache show google-chrome-beta | grep Conflict
Conflicts: google-chrome

现在,Google Chrome 是 Linux 发行版的通用名称。
which google-chrome
/usr/bin/google-chrome

我在我的系统上安装了Google Chrome Beta。
dpkg -l | grep google
ii  google-chrome-beta                     22.0.1229.91-r158759                    

dpkg -S /usr/bin/google-chrome
google-chrome-beta: /usr/bin/google-chrome

正如您所见,我的系统上的 google-chrome 二进制文件是由 google-chrome-beta 提供的。如果我安装稳定版本,则将由稳定版本提供。因此,它们彼此冲突。

如果您尝试通过由 Google 分发的 .deb 软件包安装 google-chrome-beta,您会看到相同的效果:

sudo LC_ALL=C dpkg --simulate -i google-chrome-beta_current_i386.deb
Selecting previously unselected package google-chrome-beta.
dpkg: regarding google-chrome-beta_current_i386.deb containing google-chrome-beta:
 google-chrome-beta conflicts with google-chrome
  google-chrome-stable provides google-chrome and is present and installed.
dpkg: error processing google-chrome-beta_current_i386.deb (--install):
 conflicting packages - not installing google-chrome-beta
Errors were encountered while processing:
 google-chrome-beta_current_i386.deb

我已经将google-chrome-stable更改为beta,并尝试通过.deb包进行安装。
但是我不确定如果你能获取chrome的源代码并编译它,然后尝试通过这个编译后的二进制文件运行它会发生什么。也许这对于Chromium可能有效,因为你可以下载它的源代码。

是的,这就是我说的。Chrome只是一个软件,所以肯定有办法解决。不好意思,但你给我看的东西我已经知道了。基本上,你在谈论的是Google .deb软件包的限制。 - sobi3ch
1我试图解释为什么这是不可能的。我无法知道你是否知道或不知道这个。在你的问题中,这一点并不清楚。 - heartsmagic
嘿,我并不想无礼。我只是不喜欢你回答的开头部分:“你不能这样做。”:) 就这样了 - sobi3ch
我之所以说这话是因为“你现在做不到”。如果开发人员或打包者改变了他们的Chrome系统,也许可以,但现在不行。 - heartsmagic
嗯,我“是的,你可以”:)但是,我仍然不同意你的看法,如果某个软件包不存在,并不意味着你就无法使用。可能我们对这个问题有不同的看法。也许我应该换个问题问...无论如何,还是谢谢你的回答。 - sobi3ch
这不是一个“某个包不存在”的问题。这是一个打包问题,你没有理解到这一点。好的,我现在解释为什么是这样的,然后我就走了。 - heartsmagic
好的,我再次升级我的问题,也许这样更清楚。 - sobi3ch

这是可能的,但你可能需要下载包 apt-get download google-chrome-beta 然后你需要提取包文件: dpkg -X google-chrome-beta-xyzabc.deb dir/ 从这里开始,你可能可以正常运行程序,但如果不能, 那么你就需要调整控制文件,弄清楚安装包在做什么以及放置在哪里,并进行编辑,以消除冲突。
这就是你需要花很多时间阅读有关.deb文件的内容,并且你会想要在虚拟机中测试一些东西,以免损坏你的安装。

免责声明:此解决方案目前有效,但不能保证未来适用。
安装稳定版(及其依赖项)的便捷方式如下:
从此处下载一个.deb文件(以下示例使用不稳定版): https://www.chromium.org/getting-involved/dev-channel
mkdir tmp
dpkg-deb -R google-chrome-unstable_current_amd64.deb tmp
sudo cp -r tmp/opt/google/chrome-unstable /opt/google
sudo chmod 4755 /opt/google/chrome-unstable/chrome-sandbox

如果不稳定版本与您安装的版本有任何不同的依赖关系,它很可能无法运行 - 或者您需要手动安装这些库。