我是否接受了 ttf-mscorefonts-installer EULA?

Ama*_*nda 10 apt

有关缺少视频编解码器的问题的一般答案是安装ubuntu-restricted-extras。但该元软件包还包括ttf-mscorefonts-installer,它需要接受 EULA 才能完成。不是每个人都想签署 EULA,但没有明显的方法来拒绝 EULA。请参阅如何在使用 apt 安装软件包时拒绝 EULA?

第1步第2步

在我似乎继续前进之前,我来回走了几次——我认为单击 Fwd,Fwd 没有接受 EULA 工作,但现在安装了该软件包,因此没有取消该软件包的安装。

这是否意味着我确实接受了 EULA?有什么地方可以查看是否记录或存储了该接受?

dpkg-query 清楚地显示已安装的软件包:

amanda@mona:~$ dpkg-query -l ttf-mscorefonts-installer
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  ttf-mscorefont 3.4+nmu1ubun all          Installer for Microsoft TrueType 
Run Code Online (Sandbox Code Playgroud)

ger*_*ijk 14

不,您没有接受 EULA。不,您没有安装字体,但是是的,您已经安装了软件包。

我明白这很令人困惑。让我解释一下。

实际接受/拒绝值写入 debconf 数据库。它独立于软件包安装。包的安装后脚本负责要安装的字体,如果您不接受 EULA,则会阻止它。

要检查 debconf 数据库中的值,请安装debconf-utils安装 debconf-utils, 然后做

$ sudo debconf-get-selections | grep 'msttcorefonts/accepted-mscorefonts-eula'
ttf-mscorefonts-installer       msttcorefonts/accepted-mscorefonts-eula boolean true
Run Code Online (Sandbox Code Playgroud)

这是true给我的机器的,因为我确实接受了它。对你来说,这应该是可能的false

即使您安装了软件包但不接受 EULA,也不会安装字体。为什么?因为包中不包含字体文件。由于分发中的许可限制,它从外部网站下载字体。要证明,请查看包的内容:

$ dpkg -L ttf-mscorefonts-installer 
/.
/var
/var/lib
/var/lib/msttcorefonts
/usr
/usr/share
/usr/share/fonts
/usr/share/fonts/truetype
/usr/share/package-data-downloads
/usr/share/package-data-downloads/ttf-mscorefonts-installer
/usr/share/doc
/usr/share/doc/ttf-mscorefonts-installer
/usr/share/doc/ttf-mscorefonts-installer/README.Debian                                                                                                                        
/usr/share/doc/ttf-mscorefonts-installer/copyright                                                                                                                            
/usr/share/doc/ttf-mscorefonts-installer/changelog.gz                                                                                                                         
/usr/share/lintian                                                                                                                                                            
/usr/share/lintian/overrides                                                                                                                                                  
/usr/share/lintian/overrides/ttf-mscorefonts-installer                                                                                                                        
/usr/lib                                                                                                                                                                      
/usr/lib/msttcorefonts                                                                                                                                                        
/usr/lib/msttcorefonts/update-ms-fonts
Run Code Online (Sandbox Code Playgroud)

这就是为什么它被称为安装程序。这是丑陋且完全非标准的包装。由于上述许可限制,开发人员被迫这样做。已经为 Flash 开发了类似的解决方法,打包为flashplugin-installer安装 flashplugin-installer.

安装包后,位于 的安装后脚本/var/lib/dpkg/info/ttf-mscorefonts-installer.postinst将下载并安装字体,前提是许可被接受(在预安装脚本中询问)。它使用/usr/lib/msttcorefonts/update-ms-fonts应用程序(它包的一部分)来执行实际的下载和安装。自己看看脚本;它们根本不是火箭科学。

  • 你意识到这条线有多神秘,是吗?“如果不安装,预安装脚本会阻止安装” (2认同)

Tak*_*kat 6

安装ubuntu-restricted-extras 安装 ubuntu-restricted-extras您还将安装包ttf-mscorefonts-installer 安装 ttf-mscorefonts-installer. 这个包负责安装受限制的 MS 字体。

每当我们不接受 Microsoft EULA 而不同意它时,它就不会安装这些字体。我们可以通过搜索所有已安装的字体包来轻松检查这一点:

fc-list
Run Code Online (Sandbox Code Playgroud)

Arial在我们没有同意 EULA(并且我们没有通过其他方式手动安装 MS 字体)后,不会列出Microsoft 字体(例如)。

如果我们还想删除字体安装程序,我们可以安全地这样做

sudo apt-get purge ttf-mscorefonts-installer
Run Code Online (Sandbox Code Playgroud)

注意依赖于 mscorefonts 的包,然后也可能被删除。