安装 ttf-mscorefonts-installer 时出现权限错误/无法删除权限,因为用户“_apt”无法访问文件

Byt*_*der 46 permissions apt software-installation

我想在 16.04 上安装 Microsoft 字体并运行下面的命令,但是有很多错误(或只有警告?)关于用户_apt对下载的.exe文件没有权限。

命令:

sudo apt install ttf-mscorefont-installer
Run Code Online (Sandbox Code Playgroud)

错误消息(对每个下载的字体 exe 重复):

ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/andale32.exe
Get:1 http://downloads.sourceforge.net/corefonts/andale32.exe [198 kB]
Fetched 198 kB in 1s (180 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/andale32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
Run Code Online (Sandbox Code Playgroud)

但是最后还是说安装成功。那么这只是包安装脚本中的一个错误,还是我这边有什么问题?我需要采取任何进一步的行动吗?

完整输出(原始输出与 相同--reinstall):

$ sudo apt install --reinstall ttf-mscorefonts-installer 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 to upgrade, 0 to newly install, 1 reinstalled, 0 to remove and 4 not to upgrade.
Need to get 29,5 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ftp.uni-stuttgart.de/ubuntu xenial/multiverse amd64 ttf-mscorefonts-installer all 3.4+nmu1ubuntu2 [29,5 kB]
Fetched 29,5 kB in 0s (280 kB/s)                     
Preconfiguring packages ...
(Reading database ... 214933 files and directories currently installed.)
Preparing to unpack .../ttf-mscorefonts-installer_3.4+nmu1ubuntu2_all.deb ...
mscorefonts-eula license has already been accepted
Unpacking ttf-mscorefonts-installer (3.4+nmu1ubuntu2) over (3.4+nmu1ubuntu2) ...
Processing triggers for fontconfig (2.11.94-0ubuntu1) ...
Processing triggers for update-notifier-common (3.168) ...
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/andale32.exe
Get:1 http://downloads.sourceforge.net/corefonts/andale32.exe [198 kB]
Fetched 198 kB in 1s (180 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/andale32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/arial32.exe
Get:1 http://downloads.sourceforge.net/corefonts/arial32.exe [554 kB]
Fetched 554 kB in 1s (466 kB/s)                                                             
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/arial32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/arialb32.exe
Get:1 http://downloads.sourceforge.net/corefonts/arialb32.exe [168 kB]
Fetched 168 kB in 0s (169 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/arialb32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/comic32.exe
Get:1 http://downloads.sourceforge.net/corefonts/comic32.exe [246 kB]
Fetched 246 kB in 1s (224 kB/s)                                                             
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/comic32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/courie32.exe
Get:1 http://downloads.sourceforge.net/corefonts/courie32.exe [646 kB]
Fetched 646 kB in 1s (472 kB/s)                                                               
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/courie32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/georgi32.exe
Get:1 http://downloads.sourceforge.net/corefonts/georgi32.exe [392 kB]
Fetched 392 kB in 1s (364 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/georgi32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/impact32.exe
Get:1 http://downloads.sourceforge.net/corefonts/impact32.exe [173 kB]
Fetched 173 kB in 0s (176 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/impact32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/times32.exe
Get:1 http://downloads.sourceforge.net/corefonts/times32.exe [662 kB]
Fetched 662 kB in 2s (235 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/times32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/trebuc32.exe
Get:1 http://downloads.sourceforge.net/corefonts/trebuc32.exe [357 kB]
Fetched 357 kB in 1s (307 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/trebuc32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/verdan32.exe
Get:1 http://downloads.sourceforge.net/corefonts/verdan32.exe [352 kB]
Fetched 352 kB in 4s (85,7 kB/s)                                                             
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/verdan32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
ttf-mscorefonts-installer: downloading http://downloads.sourceforge.net/corefonts/webdin32.exe
Get:1 http://downloads.sourceforge.net/corefonts/webdin32.exe [185 kB]
Fetched 185 kB in 0s (210 kB/s)                                                              
W: Can't drop privileges for downloading as file '/var/lib/update-notifier/package-data-downloads/partial/webdin32.exe' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

These fonts were provided by Microsoft "in the interest of cross-
platform compatibility".  This is no longer the case, but they are
still available from third parties.

You are free to download these fonts and use them for your own use,
but you may not redistribute them in modified form, including changes
to the file name or packaging format.

Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/andale32.exe
  extracting fontinst.inf
  extracting andale.inf
  extracting fontinst.exe
  extracting AndaleMo.TTF
  extracting ADVPACK.DLL
  extracting W95INF32.DLL
  extracting W95INF16.DLL

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/arial32.exe
  extracting FONTINST.EXE
  extracting fontinst.inf
  extracting Ariali.TTF
  extracting Arialbd.TTF
  extracting Arialbi.TTF
  extracting Arial.TTF

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/arialb32.exe
  extracting fontinst.exe
  extracting fontinst.inf
  extracting AriBlk.TTF

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/comic32.exe
  extracting fontinst.inf
  extracting Comicbd.TTF
  extracting Comic.TTF
  extracting fontinst.exe

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/courie32.exe
  extracting cour.ttf
  extracting courbd.ttf
  extracting courbi.ttf
  extracting fontinst.inf
  extracting couri.ttf
  extracting fontinst.exe

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/georgi32.exe
  extracting fontinst.inf
  extracting Georgiaz.TTF
  extracting Georgiab.TTF
  extracting Georgiai.TTF
  extracting Georgia.TTF
  extracting fontinst.exe

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/impact32.exe
  extracting fontinst.exe
  extracting Impact.TTF
  extracting fontinst.inf

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/times32.exe
  extracting fontinst.inf
  extracting Times.TTF
  extracting Timesbd.TTF
  extracting Timesbi.TTF
  extracting Timesi.TTF
  extracting FONTINST.EXE

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/trebuc32.exe
  extracting FONTINST.EXE
  extracting trebuc.ttf
  extracting Trebucbd.ttf
  extracting trebucbi.ttf
  extracting trebucit.ttf
  extracting fontinst.inf

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/verdan32.exe
  extracting fontinst.exe
  extracting fontinst.inf
  extracting Verdanab.TTF
  extracting Verdanai.TTF
  extracting Verdanaz.TTF
  extracting Verdana.TTF

All done, no errors.
Extracting cabinet: /var/lib/update-notifier/package-data-downloads/partial/webdin32.exe
  extracting fontinst.exe
  extracting Webdings.TTF
  extracting fontinst.inf
  extracting Licen.TXT

All done, no errors.
All fonts downloaded and installed.
Setting up ttf-mscorefonts-installer (3.4+nmu1ubuntu2) ...
Run Code Online (Sandbox Code Playgroud)

mpa*_*pag 32

根本问题

无法删除用户“_apt”无法访问文件“/var/lib/update-notifier/package-data-downloads/partial/webdin32.exe”的权限。

这表明_apt用户无权写入/var/lib/update-notifier/package-data-downloads/partial目录或那里的任何现有文件。因此,安装将无法提取字体文件以依次更新(或首次安装)指示的字体。

我认为该软件包因此未正确安装,与当前接受的答案(https://askubuntu.com/a/812152/269638)不同。

你该怎么办?

首先,您需要使用以下命令验证您是否拥有此处_apt建议的用户:

getent passwd _apt
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因您没有_apt用户并且需要安装说明,请转到上面指示的链接

接下来,您需要将指定的目录以及其中包含的所有文件和子目录分配给_apt用户。您需要保留与root超级用户组以及root用户帐户相关联的权限。在重新分配目录所有权后,我们应该执行一些目录清理,然后最终确保包及其依赖项已正确安装。

你需要的命令...

...在验证_apt用户确实存在之后:

sudo chown -R _apt:root /var/lib/update-notifier/package-data-downloads/partial/
sudo rm /var/lib/update-notifier/package-data-downloads/partial/*.FA??ILED
sudo apt install --reinstall update-notifier-common ttf-mscorefonts-installer 
Run Code Online (Sandbox Code Playgroud)


Anw*_*war 19

这是错误#1543280,虽然是一个相当无害的错误。安装成功完成。在W:表示这只是一个警告。

另请注意,这与软件包无关ttf-mscorefonts-installer,而是每当apt访问已下载的文件时,您都会看到此警告。离线存储库也会发生这种情况。我有离线存储库,用于在没有 Internet 的情况下更新软件包,我自己总是在 Xenial (16.04) 中看到这一点。根本不是什么大问题。

为方便起见,我展示了从本地存储库重新安装 xrdp 的输出。

sudo apt-get --reinstall install xrdp 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 398 not upgraded.
Need to get 0 B/215 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 file:/media/Linux/linux_debs_repo/xenial_new  xrdp 0.6.1-2 [215 kB]
(Reading database ... 612447 files and directories currently installed.)
Preparing to unpack ..././debs/xrdp_0.6.1-2_amd64.deb ...
Unpacking xrdp (0.6.1-2) over (0.6.1-2) ...
Processing triggers for systemd (229-4ubuntu6) ...
Processing triggers for ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db (2.7.5-1) ...
Setting up xrdp (0.6.1-2) ...
N: Can't drop privileges for downloading as file '/media/Linux/linux_debs_repo/xenial_new/./debs/xrdp_0.6.1-2_amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
Run Code Online (Sandbox Code Playgroud)

检查有关 Unix 和 Linux SE 中 Apt 状态的问题apt-get update exit status

另一个相关的错误是#1570141

  • 这对我有用,YMMV:$ sudo chown _apt:root /var/lib/update-notifier/package-data-downloads/partial/; $ sudo rm /var/lib/update-notifier/package-data-downloads/partial/*.FAILED; $ sudo apt install --reinstall update-notifier-common (3认同)

M.A*_*pon 6

试试这个它对我有用。

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
Run Code Online (Sandbox Code Playgroud)

  • 我知道这不是真正的 Ubuntu 解决方案,这种方法会毒害发行版安装,但从我的角度来看,如果您知道自己在做什么(在这种情况下它真的很安全),那么这是非常简单且快速的解决方案。 (3认同)
  • 这对于 Xenial 来说似乎是必要的,因为即使根据 @mpag 修复了权限,本机包也会失败如下。ttf-mscorefonts-installer:下载 http://downloads.sourceforge.net/corefonts/andale32.exe Err:1 http://downloads.sourceforge.net/corefonts/andale32.exe 从 https 重定向到 'http://downloads .sourceforge.net/mirrorproblem?failedmirror=vorboss.dl.sourceforge.net' 被禁止 (2认同)