安装ttf-mscorefonts-installer后,“无法下载额外的数据文件”

在安装12.04并更新apt和系统重启后,每次重新启动后我总是会收到这个令人烦恼的消息:

无法下载额外的数据文件

以下软件包在安装后请求了额外的数据下载,但是数据无法下载或无法处理。

ttf-mscorefonts-installer

将尝试稍后再次下载,或者您可以现在尝试重新下载。运行此命令需要活动的互联网连接。

但是,如果我现在尝试,它会显示闪烁的终端窗口,好像什么也没有发生。当我重新启动系统时,它会再次发生。

我发现有人也遇到了this problem,但他还没有回复。

  • 我是一个新手,请帮忙。

如果有人正在寻找14.04 LTS(Trusty Tahr)此问题的解决方案,请查看该版本的第一条和最后一条消息文本:“无法下载某些软件包的数据文件”和“这是一种永久性故障,使这些软件包在您的系统上无法使用。 您可能需要修复您的互联网连接,然后删除并重新安装软件包以解决此问题。” - Walter Tross
如上所述,当前的工作解决方案已经被提出(适用于Ubuntu 16.04和16.10)。对于Ubuntu 12.04来说应该是相同的。 - Xiaodong Qi
11个回答

解决方案1:

连接到互联网并运行以下命令,以修复错误

sudo apt-get install --reinstall ttf-mscorefonts-installer  

这将重新安装该软件包,并下载配置该软件包所需的数据文件。请等待一段时间以完成下载。下载大小约为4MB。

解决方案2:

  1. 连接到互联网,访问this sourceforge link并下载除wd97vwr32.exe文件以外的所有.exe文件。
  2. 将这些文件复制到您的主目录中。
  3. 运行以下命令配置软件包:
    sudo dpkg-reconfigure ttf-mscorefonts-installer
    
    • 这会询问您是否已经下载了微软字体。使用Tab键选择"OK",然后按下Enter键。
    • 然后再次要求您输入下载文件的目录名称,请输入您的主目录位置,并使用Tab键选择OK,然后按下Enter键。 例如,如果您的登录名是anwar,则位置将为/home/anwar,因为我已将下载的文件复制到那里。

完成了!您已成功配置和设置该软件包。

注意:如果由于404错误无法下载文件,请检查“无法下载?”部分

问题的原因是什么?

此软件包ttf-mscorefonts-installer用于从互联网上下载微软的字体文件(这些文件由微软免费提供)并安装它们。由于您必须接受微软的最终用户许可协议才能使用这些字体文件,所以这些字体不能像其他自由软件包一样包含在软件包中。

问题是,在下载这些文件之前,您不知何故与互联网断开连接。因此,该消息要求您下载更多数据文件。

无法下载?

如果由于404错误而无法下载文件,则我已准备了一个tar.gz归档文件,其中包含已下载的内容。您可以从此dropbox链接下载并将其提取到文件夹中。如果您将其提取到/tmp/中,则在解决方案2中的dpkg-reconfigure命令之后键入该目录。

3解决方案1在14.04 LTS(Trusty Tahr)上解决了我的问题。按Shift-Tab选择“确定”,然后按Enter键,再次按Enter键即可。 - Walter Tross
为了帮助寻找解决方案的人们,我想补充一点:您可以通过安装Wine来解决这个问题(此页面尚未提及Wine)。 - Walter Tross
4解决方案1对我没有起作用。当它尝试下载字体andale.ttf时,我收到了“哈希类型不匹配”的消息。显然,同样的问题在http://askubuntu.com/questions/543673/mscorefonts-problems中已经被讨论和修复了。 - Michael McGinnis
12解决方案1对我来说失败了,因为出现了一个404错误(文件未找到),涉及到http://downloads.sourceforge.net/corefonts/andale32.exe。解决方案2对我来说也失败了,因为命令`sudo dpkg-reconfigure ttf-mscorefonts-installer`不允许我配置该软件包。(Ubuntu 16.04 LTS) - marianoju
@marianoju 我刚刚点击了链接,字体文件已经成功下载了!而且 sudo dpkg-reconfigure 没有让你配置是因为字体已经被配置好了,或者你没有同意最终用户许可协议。 - Anwar
1@Anwar a) 我很高兴 SourceForge 的链接对你有效,但请看 https://answers.launchpad.net/ubuntu/+question/404484,那里有一个包含多个 404 错误的日志文件,这些错误发生在我尝试重新安装时(不仅涉及 andale32,还包括 comic32 和 arial32)。 b) 如果字体已经被配置,sudo dpkg-reconfigure 不应该允许我重新配置吗? c) 我检查过了,mscorefonts-eula 许可证已经被接受了,所以这不是问题所在。 - marianoju
2b) dpkg-reconfigure如果软件包已经配置好了,它将不会执行任何操作。在这种情况下,我建议使用sudo apt-get purge命令移除该软件包,并重新安装。 - Anwar
@marianoju 我已经将字体链接放在了 Dropbox 上。如果你无法访问,请尝试使用该链接。 - Anwar
如果您正在使用解决方案#2,您可能会发现这个链接很有用,而不是手动下载每个文件。http://stackoverflow.com/a/41040791/773263 - Philip Kirkbride
1解决方案1对我来说失败了,但是解决方案2成功了。没有校验和错误。 - Luchostein
问题是由于从Trusty升级到Xenial导致的权限损坏所引起的,因此重新安装软件包除了显示权限错误之外,不会有任何效果。 - Cerin
@Cerin 主要问题是关于“无法下载额外数据文件”的错误,可以通过以下答案来修复,因此不能因为这个原因被投票否决。如果你有其他错误,请提出另一个问题。 - Anwar
Anwar,我和marianoju处于同样的情况。对我来说,这些方法都没有起作用,也没有任何“这就是为什么会发生这种情况”的解释适用。然而,下面的Debian .deb解决方案却很好地解决了问题。 - Barett
对于任何与Microsoft有关的事情,我只要想到会为Linux而困扰,就感到有点恶心。从我的系统/ apt源中移除"ttf-mscorefonts-installer"会有什么后果? - Todd
1@Todd 不是非常严重。你只会失去一些微软字体。其中包括Arial、Tahoma和Times New Roman等字体。 - Anwar
另请参阅:https://bugs.launchpad.net/ubuntu/+source/msttcorefonts/+bug/1607535 - Mikko Rantalainen
解决方案1在我的系统上失败,错误信息为“协议“http”在libcurl中不受支持或已禁用,完整错误信息如下:“Err:1 http://downloads.sourceforge.net/corefonts/andale32.exe 协议“http”在libcurl中不受支持或已禁用 W: 无法以用户“_apt”的身份下载文件'/var/lib/update-notifier/package-data-downloads/partial/andale32.exe',权限被拒绝 - pkgAcquire::Run (13: Permission denied) E: 无法获取 https://dronedata.dl.sourceforge.net/project/corefonts/the fonts/final/andale32.exe 的内容,协议“http”在libcurl中不受支持或已禁用E: 下载失败。” - Aaron Franke
@AaronFranke 尝试方案2。甚至可以尝试其他答案。 - Anwar
对我来说,解决方案1在执行安装的Python脚本时失败了,出现了FileNotFoundError错误:FileNotFoundError: [Errno 2] No such file or directory: '/var/lib/update-notifier/package-data-downloads/partial/courie32.exe'。看起来其他的一切都正常运行,我不知道字体是否实际下载了,但是缺少的ttf文件仍然给我在其他地方(比如调用ubuntu-support-status时)带来了错误。如果你遇到了这个问题,我建议你也尝试一下@muaad-elsharif的答案,它对我有效。 - Marses
当我运行sudo apt-get install --reinstall ttf-mscorefonts-installer时,我得到了以下错误信息:Err:1 http://downloads.sourceforge.net/corefonts/andale32.exe Redirection from https to 'http://downloads.sourceforge.net/mirrorproblem?failedmirror=netix.dl.sourceforge.net' is forbidden [IP: 87.121.121.2 443] E: Failed to fetch https://netix.dl.sourceforge.net/project/corefonts/the fonts/final/andale32.exe Redirection from https to 'http://downloads.sourceforge.net/mirrorproblem?failedmirror=netix.dl.sourceforge.net' is forbidden [IP: 87.121.121.2 443] E: Download Failed - Viesturs
下载失败 - Andrew

我去了Debian's site,下载了ttf-mscorefonts-installer_3.6,并使用Gdeb进行安装,安装成功。
命令行示例:
wget http://httpredir.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb

没有其他在这里发布的解决方案对我起作用。

10应该是被接受的答案 ;) - blong
2工作得很好,不过有没有https链接呢? - Mark
@Mark 在Zanna编辑答案之前,我已经找到了。给你链接: https://packages.debian.org/sid/all/ttf-mscorefonts-installer/download - Muaad ElSharif
3+1 这个工作得非常好 :) 但是为什么这个版本还没有进入Ubuntu的软件仓库呢.. - retrixe
@angulared 老实说,我不知道,但我很高兴它对每个人都有效 :) - Muaad ElSharif
2我使用gdebi安装了这个软件,而且它还能正常运行! - eri0o
2真正的原因是错误 https://bugs.launchpad.net/ubuntu/+source/msttcorefonts/+bug/1607535 - 由于某种原因,它可能在Ubuntu中修复,因为回溯太耗时间了。 - Mikko Rantalainen
1+1。谢谢。这在我的Ubuntu 16.04上有效。 - rayryeng
1在Ubuntu 18.04上对我有效。 - Bitclaw

我遇到了同样的问题...所以,这是我解决它的方法:
sudo apt-get remove --purge ttf-mscorefonts-installer
cd /var/lib/update-notifier/package-data-downloads
sudo rm partial/*
sudo rmdir partial
sudo mkdir partial
sudo chmod 777 partial
sudo apt-get --purge --reinstall install ttf-mscorefonts-installer
sudo rm partial/*
sudo rmdir partial
sudo mkdir partial
sudo chmod 744 partial

谢谢,我在Ubuntu 16.04和16.10上遇到了这个问题,大部分解决方案都没有帮助到我。但是这个解决方法似乎立即修复了它,使得Times New Roman在Libre Office Writer中正常工作,并且在Firefox中文字也能正确显示。非常有帮助。 - Alex
就像之前的评论一样,在其他版本无法运行时,这个对我来说在16.04上起作用了。谢谢 :) - Teknogrebo
1这个方法曾经对我有用,但现在我收到了 E: Failed to fetch https://iweb.dl.sourceforge.net/project/corefonts/the fonts/final/arialb32.exe 404 Not Found 的错误信息。看起来 Sourceforge 正在删除必要的文件。 - Cerin

如果你遇到以下问题:
获取:1 http://downloads.sourceforge.net/corefonts/andale32.exe [969 B] 错误:1 http://downloads.sourceforge.net/corefonts/andale32.exe 哈希校验和不匹配 在1秒内获取了969 B (660 B/s) W: 无法以用户'_apt'的身份下载文件 '/var/lib/update-notifier/package-data-downloads/partial/andale32.exe' - pkgAcquire::Run (13: 权限被拒绝) E: 获取失败 http://downloads.sourceforge.net/mir...ourceforge.net 哈希校验和不匹配
E: 下载失败
请尝试以下方法:
sudo rm -rf /var/lib/update-notifier/package-data-downloads/partial/*

接下来是:

sudo apt-get --purge --reinstall install ttf-mscorefonts-installer

请参阅更多详细信息,请点击此帖子

1刚刚尝试了一下,但现在我遇到了一个Arial的问题: 错误:1 http://downloads.sourceforge.net/corefonts/arial32.exe 哈希总和不匹配 - JohnnyBizzle
在Lubuntu 16.04上运行良好!谢谢! - Uilian
apt特权错误再次出现,但这次好得多。我看到字体一个接一个地安装。没有错误,只有警告。现在字体出现在LibreOffice中。 - Satya Prakash

我的方法是重新安装它(在这里找到了命令,试了一下,然后就好了。哈哈)
卸载命令
sudo apt-get remove --purge ttf-mscorefonts-installer

安装命令
sudo apt-get install --reinstall ttf-mscorefonts-installer  

这个答案对我有用,不像被接受的那个。在重新安装之前进行清理是关键。 - Yuri Gor
下载失败:`Err:1 http://downloads.sourceforge.net/corefonts/arialb32.exe 从https重定向到'http://downloads.sourceforge.net/mirrorproblem?failedmirror=vorboss.dl.sourceforge.net'被禁止 [IP: 5.10.152.194 443] E: 无法获取 https://vorboss.dl.sourceforge.net/project/corefonts/the fonts/final/arialb32.exe 从https重定向到'http://downloads.sourceforge.net/mirrorproblem?failedmirror=vorboss.dl.sourceforge.net'被禁止 [IP: 5.10.152.194 443] E: 下载失败 - Serge Stroobandt
我也是 @SergeStroobandt - FabianoLothor
1@FabianoLothor 试试我的答案吧! - Serge Stroobandt

停止唠叨,安装并刷新字体缓存。
要停止关于“无法下载额外数据文件”的唠叨,请首先删除部分下载文件。
$ sudo rm -R /var/lib/update-notifier/package-data-downloads/partial/

然后,下载并安装此软件包的Debian版本。
$ wget http://httpredir.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
$ sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb
$ rm ttf-mscorefonts-installer_3.6_all.deb

最后,抓住这个机会来更新字体缓存:
$ sudo fc-cache -f -v

对于Ansible自动化
- name: 'Removing buggy MicroSoft™ core fonts installer.'
  apt:
    pkg: ttf-mscorefonts-installer
    state: absent

- name: 'Removing partial download of MicroSoft™ core fonts.'
  file:
    path: '/var/lib/update-notifier/package-data-downloads/partial/'
    state: absent

- name: 'Installing Debian MicroSoft™ core fonts installer.'
  # https://askubuntu.com/a/1127190/164341
  apt:
      deb: 'http://httpredir.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb'

卸载软件包ttf-mscorefonts-installer,然后安装ubuntu-restricted-extras
连接到互联网并运行此命令:
sudo apt-get remove --purge ttf-mscorefonts-installer
sudo apt-get install ubuntu-restricted-extras

在您的系统下一次启动后,该消息将会消失。
(我遇到了同样的问题,但是消息中还有一个额外的软件包:flashplugin-installer) 这是我每次启动时收到的烦人消息: enter image description here 整个消息非常长,请右键点击下载: this is the annoying message i get every start 也许您需要在安装ubuntu-restricted-extras之前重新启动系统。

为什么他要卸载tff-mscorefonts-installer这个软件包呢?有什么原因吗?请注意,ubuntu-restricted-extras也会作为依赖安装它。那么,有什么意义呢? - Anwar
是的,有一个原因,因为它有效! - rubo77
1听起来真的很奇怪,但我猜apt-get里肯定有个bug:因为即使你使用purge命令删除ttf-mscorefonts-installer,重启后还是会显示它缺失的消息!这真是一种奇怪的行为,但唯一的解决办法就是卸载与该bug相关的所有内容,并在重启后重新安装ubuntu-restricted-extras。我已经在两台机器上遇到了这种奇怪的行为。 - rubo77
@rubo77 我不能真正确认这个... - nanofarad
只是因为我的电脑上安装了gksudo,所以它才起作用。我添加了一个新的答案,应该也适用于全新安装的Kubuntu。 - rubo77


上述问题与另一个问题有关。
对于这两个问题提供的解决方案都没有起作用。因此,我决定:
手动安装TrueType字体
以下是您需要按照的10个步骤,以便手动安装Microsoft核心TrueType字体。除非另有说明,否则所有命令都必须在shell终端窗口中执行。在大多数Ubuntu发行版中,Ctrl Alt T键组合(键盘快捷方式)是打开新的shell终端窗口的一种方式。
清除ttf-mscorefonts-installer软件包并清理APT缓存的DEB软件包: sudo apt-get purge ttf-mscorefonts-installer -y; sudo apt-get update; sudo apt-get check; sudo apt-get clean; sudo apt-get autoremove -y
安装/更新Thunar文件管理器(稍后需要用它来重命名所有下载的TrueType字体): sudo add-apt-repository ppa:yuri-sucupira/thunar1.6.10-fix; sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv AF8C7F18; sudo apt-get update; sudo apt-get check; sudo apt-get install thunar --reinstall -y; sudo apt-get dist-upgrade -y
安装/更新7z文件压缩程序(这是一个文件压缩和解压缩工具,用于从EXE文件中提取TrueType字体): sudo apt-get install p7zip p7zip-full --reinstall -y
通过运行以下Shell命令创建一个临时的fonts文件夹: mkdir /tmp/fonts
启动一个网络浏览器(如Mozilla Firefox、Google Chrome或其他任何你可能使用的),然后访问https://sourceforge.net/projects/corefonts/files/the%20fonts/final/并下载所有EXE文件,除了wd97vwr32.exe(因为wd97vwr32.exe是Word 97 Viewer而不是TrueType字体文件)。所有下载的EXE文件都必须放在/tmp/fonts目录下。
更改目录(CD)到该临时文件夹中: cd /tmp/fonts
提取所有下载的EXE文件的内容: 7z e andale32.exe; 7z e arial32.exe; 7z e arialb32.exe; 7z e comic32.exe; 7z e courie32.exe; 7z e georgi32.exe; 7z e impact32.exe; 7z e times32.exe; 7z e trebuc32.exe; 7z e verdan32.exe; 7z e webdin32.exe 将所有TTF(TrueType字体)文件复制到系统的Microsoft TrueType字体文件夹中: sudo cp /tmp/fonts/*.TTF /usr/share/fonts/truetype/msttcorefonts/
注意:如果/usr/share/fonts/truetype/msttcorefonts/目录不存在,请通过运行以下Shell命令进行创建:sudo mkdir /usr/share/fonts/truetype/msttcorefonts/
以超级用户模式在Microsoft TrueType字体文件夹中启动Thunar: sudo thunar /usr/share/fonts/truetype/msttcorefonts/
现在,在新的Thunar窗口(路径:/usr/share/fonts/truetype/msttcorefonts/)中,转到Thunar菜单,然后选择“编辑”选项,然后点击“全选文件”。然后按下F2键(或转到编辑菜单选项并点击“重命名…”,或在选择文件的区域上右键单击并选择“重命名…”选项),将左侧的第一个字段更改为“大写/小写”(如果需要示例,请参考this picture),然后将右侧字段更改为“名称和后缀”。最后,在“转换为:”字段中,将其参数更改为“小写”,然后点击“重命名文件”按钮。
...就是这样!
如果你按照这里的说明做了一切,现在你应该已经安装了所有的微软核心TrueType字体。打开例如LibreOffice Writer并检查是否有Arial和Comic Sans等字体可用。如果有,那么字体已经正确添加到你的系统中。
附注:下一个系统(重新)启动时,/tmp/fonts中的剩余文件将被清除。因此,你不需要担心它们。

寻找文件gksudo
which gksudo

对于kdesudo

which kdesudo

自从我使用Kubuntu以来,当自动脚本尝试下载缺失的文件时,gksudo就不见了。
这就是个bug!!
解决方法: 我用符号链接解决了这个问题:
ln -s /usr/bin/kdesudo /usr/bin/gksudo
sudo apt-get remove --purge ubuntu-restricted-extras ttf-mscorefonts-installer flashplugin-installer
sudo restart

重启后:
sudo apt-get install ubuntu-restricted-extras flashplugin-installer

稍后你可以使用以下命令删除那个丑陋的临时解决方案符号链接:
sudo rm -i /usr/bin/gksudo

相当独特的方法,但确实有效。

请看一下这个问题 - Registered User
我猜,当所有问题解决后,你可以卸载ubuntu-restricted-extrasflashplugin-installer - rubo77