apt 操作可以删除/修改退出用户主页中的文件吗?

tkr*_*use 1 packaging apt home-directory

我总是假设当我运行像 apt-get install、remove、purge 这样的命令时,最多 apt 可能会将配置点文件文件添加到我现有的本地主页(甚至不确定),但永远不要修改或删除任何文件那里(没有备份)。

是否有任何此类限制或至少是指导方针?

Pan*_*her 5

有两个问题:

  1. Debian 政策规定了如何管理和正确打包主目录。 deb 不应修改用户主目录中的任何内容。

9.2.3. 不存在的主目录规范的不存在的主目录是 /nonexistent。不应拥有主目录的用户应将其主目录设置为该值。

Debian 自动构建器将 HOME 设置为 /nonexistent,这样尝​​试写入主目录的软件包将无法构建。

10.7.5. 用户配置文件(“dotfiles”) /etc/skel 中的文件将被 adduser 自动复制到新的用户帐户中。其他程序不应引用 /etc/skel 中的文件。

因此,如果一个程序需要一个 dotfile 预先存在于 $HOME 中才能正常工作,那么该 dotfile 应该安装在 /etc/skel 中并作为配置文件对待。

然而,需要点文件才能合理运行的程序是一件坏事,除非它们自己自动创建点文件。

此外,程序应该由 Debian 默认安装配置为尽可能接近上游默认行为。

因此,如果 Debian 软件包中的程序需要以某种方式进行配置才能合理地运行,则应该使用放置在 /etc 中的站点范围的配置文件来完成。只有当程序不支持站点范围的默认配置并且包维护者没有时间添加它时,才可以将每个用户的默认文件放置在 /etc/skel.conf 中。

/etc/skel 应该尽可能地为空。尤其如此,因为没有简单(或必然需要)的机制来确保在安装软件包时将适当的点文件复制到现有用户的帐户中。

请参阅:https://www.debian.org/doc/debian-policy/详细信息


然而 .....

  1. 安装 .deb 需要 root 授权,并且软件包可以运行安装前和安装后脚本,这些脚本会违反 debian 政策修改主目录中的文件,或者打包 .deb 的人可能会选择忽略 debian 政策。

因此 .deb 可能会违反 debian 策略并更改用户主目录中的文件。

这是从 Ubuntu 存储库外部安装 .deb 时应该非常小心的许多考虑因素或原因之一。