use*_*879 17 apt dpkg ppa deb gdebi
最近我碰巧将我的 Ubuntu 重新安装到 Lubuntu 15.04。所以我正在寻找 Skype 安装并得到了这个很好的教程。
真的很酷。它从这里下载了skype deb的官方包
由于我还没有gdebi
安装,我使用安装sudo su -c apt-get install gdebi
然后skype-ubuntu-precise_4.3.0.37-1_i386.deb
使用 gdebi 命令安装sudo su -c gdebi skype-ubuntu*4*.deb
哇,gdebi 为我做了一切,如果不使用传统的 Apt PPA 手动链接添加,这可能会破坏我的系统更新/软件安装,这是一件多么轻松的事情..
但是如果我尝试使用安装它 dpkg -i
dpkg -i skype-ubuntu-precise_4.3.0.37-1_i386.deb
Selecting previously unselected package skype.
(Reading database ... 86449 files and directories currently installed.)
Preparing to unpack skype-ubuntu-precise_4.3.0.37-1_i386.deb ...
Unpacking skype (4.3.0.37-1) ...
dpkg: dependency problems prevent configuration of skype:
skype depends on libc6 (>= 2.3.6-6~).
skype depends on libc6 (>= 2.7).
skype depends on libgcc1 (>= 1:4.1.1).
skype depends on libqt4-dbus (>= 4:4.5.3).
skype depends on libqt4-network (>= 4:4.8.0).
skype depends on libqt4-xml (>= 4:4.5.3).
skype depends on libqtcore4 (>= 4:4.7.0~beta1).
skype depends on libqtgui4 (>= 4:4.8.0).
skype depends on libqtwebkit4 (>= 2.2~2011week36).
skype depends on libstdc++6 (>= 4.2.1).
skype depends on libx11-6.
skype depends on libxext6.
skype depends on libxss1.
skype depends on libxv1.
skype depends on libssl1.0.0.
skype depends on libpulse0.
skype depends on libasound2-plugins.
dpkg: error processing package skype (--install):
dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for mime-support (3.55ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu2) ...
Processing triggers for dbus (1.8.8-1ubuntu2.1) ...
Errors were encountered while processing:
skype
Run Code Online (Sandbox Code Playgroud)
这么多的依赖问题。哦,我刚刚用谷歌搜索了 GDebi 和维基百科
GDebi 是一个 APT 工具,可以在命令行和 GUI 中使用。 [44] GDebi 可以像 dpkg 命令一样通过命令行安装本地 .deb 文件,但可以访问存储库以解决依赖关系
我的奇迹是
(1) gdebi 如何在不使用配置文件中手动添加的 Apt PPA 链接的情况下安装 .deb Packages with Dependencies?
(2) 我可以使用相同的 gdebi 命令 ( sudo su -c gdebi my.deb
) 来安装所有其他 .deb 包而不添加 Apt PPA 还是我必须像这样更改格式:sudo su -c my*n*.deb
其中 n 是软件版本等?
请用通俗的语言解释,以便我能理解。
Anw*_*war 13
实际上gdebi
只是一个前端的dpkg
附加功能,它可以检查存储库中的依赖包并可以通过一次操作安装它们,而dpkg -i
需要手动进行两次操作(后来是apt-get -f install
)。
问题 1:
1) gdebi 如何做到这一点?在不使用配置文件中手动添加的 Apt PPA 链接的情况下安装具有依赖项的 .deb 包?
作为dpkg
前端,它可以使用dpkg
. 由于每个.deb
包文件都包含(前提是它们没有损坏)有关该 deb 文件的元数据(如包名称、维护者、依赖项等),因此可以轻松检查此文件的依赖项。
例如,您可以使用以下命令检查 .deb 文件的元数据 dpkg --info package-name.deb
然后它使用这些信息构建依赖关系映射并将本地可用的 .deb 文件标记为已下载并.deb
从 Internet下载其他文件。
请注意,那些需要的额外包必须在系统中配置的至少一个存储库中可用(具有适当的版本)。
然后它继续像正常的 apt 安装一样。不同之处在于它不会重新下载主 .deb 文件
问题2:
(2) 我可以使用相同的 gdebi 命令 (
sudo su -c gdebi my.deb
) 安装所有其他 deb 包而不添加 PPA 吗?还是我必须更改格式sudo su -c myn.deb
,其中 n 是软件版本等?
PPA 的存在是有原因的。主要原因是他们提供最新版本的包。这些更高版本的包通常也依赖于更高版本的子包,这些子包通常也由 PPA 提供,而不是来自标准的 Ubuntu 存储库。
示例场景:
假设,一个包命名为母亲封装具有的最高版本2.0
的标准Ubuntu软件仓库,而这个母亲包取决于包名为儿童安全包装的版本2.还假设,一些PPA提供母亲包的版本,3.0
这就需要对child-package
的3.0
,它们都可以通过该 PPA 存储库获得。
问题是,如果您现在从存储库页面下载mother-package-3.0.deb并尝试使用 安装它gdebi
,您将(或gdebi
)失败。
因为,查看mother-package-3.0.deb文件,gdebi
知道这个mother-package需要version或更高版本的child-package3.0
,但它只知道version的位置2.0
。它不知道从哪里获取版本3.0
的儿童安全包装的。这是意料之中的,因为你没有告诉系统你从哪里得到这个最新的Mother-package。换句话说,您没有将存储库列表配置为包含该 PPA。
所以,这个问题的明显答案是它取决于。如果可以在已经配置的存储库中找到必要的依赖项,则安装将成功。但如果没有,那么它将无法安装这个更高版本的软件包。这就是为什么您仍然需要 PPA,这是无需手动执行所有这些操作的最简单方法。
第二个问题的第二部分对我来说没有意义。
我在几个应用程序中遇到了同样的问题,Skype 就是其中之一,这些应用程序依赖于需要手动安装的外部包或库文件。
要解决我使用的问题:
sudo dpkg -i skype.deb
Run Code Online (Sandbox Code Playgroud)
然后在被提示输入您在输出中所拥有的外部库之后,我输入了:
sudo apt-get install -f
Run Code Online (Sandbox Code Playgroud)
这下载了所需的软件包并自行安装了Skype。
归档时间: |
|
查看次数: |
22554 次 |
最近记录: |