为Eclipse的.p2树使用不同的位置(“捆绑池”)

时间:2016-06-16 16:22:50

标签: java eclipse installation ubuntu-16.04 installation-path

我目前正在尝试将Eclipse设置为从/ opt / eclipse运行。

一切都很顺利;我使用Eclipse安装程序将软件解压缩到/ opt / eclipse;我在/ usr / bin目录中建立了一个软链接,所以我可以输入'eclipse'从我的用户终端的任何地方运行它,我认为我已经完成了,直到发生这种情况:

$ eclipse /root/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444:无法打开共享对象文件:权限被拒绝 Gtk-Message:GtkDialog映射没有临时父代。不鼓励这样做。

在/opt/eclipse/eclipse.ini和/opt/eclipse/configuration/config.ini文件中进行一些探索后,我得出的结论是,当我使用安装程序在超级用户权限下安装Eclipse时,它安装了必要的/根目录下的库。

我可以使用'sudo eclipse'并且它有效但每次输入我的密码都变得很麻烦。我正在考虑复制/ usr / lib下的.p2文件以“概括”它并允许从任何pwd访问作为我的用户;这会是一个聪明的想法,还是我应该做其他事情?

5 个答案:

答案 0 :(得分:10)

.p2文件夹是一个共享安装文件夹,由安装程序创建的所有Eclipse实例引用。遗憾的是,我不认为移动现有版本是安全的(我可能错了,但我不确定它被引用了多少次),但你可以创建一个新版本。

安装程序在此处使用的概念称为“捆绑池”,您可以根据需要为其设置多个位置。要打开捆绑包池设置,请在安装程序UI中找到相应的项目。

如果是简单的UI,请按顶部的菜单底部(1),然后选择Bundle pools ...: Bundle Pool setting with simple UI

如果您使用的是高级用户界面,则向导第一页底部会显示一个下拉列表,其中包含现有捆绑包池的列表。通过单击旁边的按钮,您可以访问捆绑池管理器。 Bundle Pool setting with the Advanced UI

在这两种情况下,您都可以在显示的对话框中创建自己的捆绑池,您可以将其放入任何所需的文件夹中,然后将其用作安装源。

最后,如果您已将所有安装移至此新池,则可以安全地删除原始捆绑池文件夹,不再需要它。

答案 1 :(得分:1)

说我是用户long

  • 在安装之前,请使用me更改/opt/eclipse的所有权,以便我可以在没有sudo权限的情况下启动sudo chown -R me:me /etc/eclipse
  • 以简单模式安装到envince-installer/opt/eclipse上没有文件夹被创建。 /root/.p2树已安装到我的主目录中(但如图in the other answer所示,您也可以对其进行自定义)
  • 安装完成后,使用.p2还原/etc/eclipse的所有权。现在,我可以在sudo chown -R root:root /etc/eclipse下启动可执行文件而不需要sudo权限,因为无需访问/opt/eclipse
  • 我在启动器菜单中创建了一个别名甚至是一个项目,以便从桌面环境中启动eclipse。

我的规格:Ubuntu 14.04 LTS,Java SE Runtime Environment build 1.8.0_111-b14,Eclipse Installer 1.6.0 Build 2790,Eclipse Neon

答案 2 :(得分:0)

我遇到了同样的问题(主目录越来越大)并遭到了黑客入侵:

$ mv ~/.p2 /opt/eclipse/p2
$ ln -s /opt/eclipse/p2 ~/.p2

eclipse安装程序(...和eclipse本身)似乎对符号链接感到满意,并且“ pool”信息现在托管在/ opt / eclipse区域中,并占用了那里的磁盘空间。

可能必须先获得一些超级用户权限才能执行第一步,但是它确实可以使用开放权限,并且多个用户可以在同一区域添加符号链接。

答案 3 :(得分:0)

假定 eclipse 是文件夹,您的便携式eclipse安装在以下文件夹中: -关闭日食 -在Eclipse下创建一个文件夹(即 myDATA ) -编辑 eclipse \ eclipse.ini -在条目 -vmargs 下插入: -Duser.home =。\ myDATA   (请注意,稍后会在ini文件中覆盖 -Duser.home !) -重新启动Eclipse

现在您可以将Eclipse复制到任何地方。

答案 4 :(得分:0)

遇到相同类型的问题,我认为应该对实际安装程序进行更多说明。但是,与上述类似,这是我所做的工作,以获取可以由非root用户使用的安装,并将所有“ eclipse”存储在同一位置。

1)清理由初始实验造成的混乱:

  • 从/ root删除这些文件夹:.p2,.eclipse,eclipse
  • 删除解压缩的安装程序
  • 删除/ root /
  • 中安装的任何内容

2)创建以下文件夹:

  • / opt / eclipse
  • / opt / eclipse / installer(在此处解压缩安装程序)
  • / opt / eclipse / pools
  • / opt / eclipse / install

以sudo运行安装程序。 在GUI上选择“高级安装”选项,然后在/ opt / eclipse / pools文件夹中添加新的池代理。 选择安装文件夹为/ opt / eclipse / install。 安装后,删除/ root中所有新创建的文件夹'.p2','。eclipse','eclipse'。

可执行文件现在为/ opt / eclipse / install / eclipse / eclipse,并且可以由非root用户启动。另外,您可以安装新的软件包,例如PyDev为非root用户。