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

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

是否有任何此类限制或至少是指南?

有两个问题:

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

9.2.3。 不存在的主目录规范不存在的主目录是/不存在的。 不应具有主目录的用户应将其主目录设置为此值。

Debian autobuilders将HOME设置为/不存在,以便尝试写入主目录的包将无法构建。

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

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

但是,需要dotfiles以便合理操作的程序是件坏事,除非他们自动创建dotfiles。

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

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

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

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


但是……

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

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

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

没有apt安装,更新,删除等应该修改用户主目录中的文件。 甚至没有dotfiles。

您的主目录中的文件只能由您在帐户下运行的软件修改。

这有以下原因:

  1. 主目录由FHS标准指定为受个人用户控制的目录,而不是系统。

  2. 安装/更新/删除脚本没有理由知道或关心系统上存在哪些用户,也没有理由对任何特定用户执行任何特定操作。

  3. 任何软件的任何系统范围配置都将进入系统目录(即/etc )。 用户帐户中的Dotfiles仅用于特定用户进行的配置更改。

  4. 更新特定于用户的配置不是系统的责任。 如果某个软件需要对其配置方式进行更改,则软件在以该用户身份运行时需要进行迁移,而不是在安装或更新时。