在主目录中安装.deb软件包


31

是否可以将.deb软件包完全安装在debian的主目录下?


您可以构建一个deb软件包,该软件包可以安装在任何地方。但是为什么要呢?应该将软件包安装到系统中。
Faheem Mitha

5
@Faheem Mitha-我们都没有root权限来访问我们的Unix机器,我当然不在我工作的地方。如果我们需要一个软件包(在我的情况下为RPM)来使用某些软件,那么如果我们可以将其安装在用户空间中,而不必与IT部门交谈并让他们为我们在系统上安装该软件包,那将是很好的选择。
Mark Booth,

@FaheemMitha另一件事是测试软件包的新版本。如果只想让一个用户可以使用特定的软件包,则不要在系统范围内安装它。
Erathiel

@Erathiel好吧,这确实是虚拟机的用例。
Faheem Mitha 2015年

@FaheemMitha也许可以;也许不是;)我的用例是一台开发机器,有多个用户充当开发环境。我只需要为一个特定用户将软件包升级到新版本,就可以测试新版本的行为。但是服务器本身就是一台虚拟机,所以您部分正确;)
Erathiel 2015年

Answers:


19

这取决于您所说的“安装”。可以使用来提取.deb文件的文件内容dpkg-deb -x <filename.deb>,但是在本地提取之后是否真正可以使用该软件取决于其编写方式。许多Linux软件将期望在编译时指定的标准位置中找到其资源文件,例如/usr/share/usr/lib,如果未在通常位置安装该软件,则该文件将失败。同样.desktop,如果安装在错误的位置,则该软件包安装的所有系统范围的配置文件(例如在“开始”菜单中创建条目的文件)都将无法正常运行。


3
应该dpkg-deb -x app.deb /path/to/target/dir/
QED

或只是dpkg -x app.deb / path / to / target / dir /
Erik Aronesty,2015年

5

感谢您的所有评论和答案。这是一个自包装的软件,我想对包装是否正确进行一些基本检查。我是计算机的超级用户,但不想在那里进行真正的安装,也不想暂时使用虚拟映像。我想出了以下解决方案:https : //serverfault.com/questions/23734/is-there-any-way-to-get-apt-to-install-packages-to-my-home-directory完美适用我atm


5
@Ivogel问:“您链接到的页面上有很多帖子,我无法确定哪个是最适合您的解决方案。您能否指定?
drs 2014年

4

请注意,使用Debian软件包系统需要root访问。因此,在用户主目录中安装deb软件包需要root访问权限。如果您具有root用户访问权限,那么按通常的方式安装到系统中就更有意义了。

如果您没有root用户访问权限,则不能使用Debian打包系统。您当然可以将deb文件解压缩到其组成部分中,并将其粘贴在主目录中,但是这样做对imo毫无意义。我建议您进行本地安装。根据要安装的软件,该软件可能会使用某种内部软件包管理系统。


我不知道是否在创建此答案后添加了它,但是dpkg具有--force-non-root选项,可用于解决此问题。
Bruce Adams

@BruceAdams我的手册页上没有列出此选项。你能提供参考吗?
法赫姆·米莎

如果您运行dpkg --help,则会提及--force-thing。如果运行dpkg --force-help,它将提供更多详细信息。例如见askubuntu.com/questions/193695/...
布鲁斯·亚当斯

@BruceAdams好的,我知道了,但是我不知道它是如何工作的:not-root Try to (de)install things even when not root
Faheem Mitha

看到我的问题stackoverflow.com/questions/47099045/…但是,在撰写本文时,它还没有答案。所以我也不知道。
布鲁斯·亚当斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.