为什么“apt-get install ffmpeg”失败?

为什么“apt-get install ffmpeg”失败?

我不明白 apt-get 安装失败的方式或原因。它提到了 ssmtp,这是一个简单的 smtp,我用它来将邮件从我的服务器发送到我的 Google Apps 帐户。我不明白出了什么问题或如何解决它。

我正在使用 Debian 挤压。

# apt-get install ffmpeg
...
Setting up libswscale0 (4:0.5.2-6) ...
Setting up ffmpeg (4:0.5.2-6) ...
Errors were encountered while processing:
 ssmtp
E: Sub-process /usr/bin/dpkg returned an error code (1)

# sudo apt-get install ffmpeg
sudo: unable to resolve host debian
Reading package lists... Done
Building dependency tree
Reading state information... Done
ffmpeg is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Setting up ssmtp (2.64-4) ...
hostname: Name or service not known
dpkg: error processing ssmtp (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      Errors were encountered while processing:
 ssmtp
E: Sub-process /usr/bin/dpkg returned an error code (1)

答案1

我猜您在设置时将系统的主机名设置为“debian”。安装程序应该已将其添加到 的条目/etc/hosts,但它似乎不再存在了。

如果您还没有看到带有“debian”的行,请添加如下条目:

127.0.0.1    debian

您必须启动文本编辑器才能sudo保存更改。

答案2

失败与 无关ffmpeg,而是由于ssmtp。当您运行时apt-get install ffmpeg,您已经拥有ssmtp处于解压但未完全安装状态的软件包,这在 Debian 术语中称为“已安装但未配置”。那配置阶段主要运行包的postinst脚本,该脚本通常使用适当的服务(共享库、菜单项等)注册包的组件。当apt-get install完成安装(即解压)命令行上指定的包及其依赖项后,它会“配置”每个包(底层 dpkg 命令是dpkg --configure --pending)。

Warren Young 已经解释了ssmtp无法配置的原因。

相关内容