我不明白 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
)。