![如何用自定义包悄悄替换 /root/.bashrc](https://linux22.com/image/1001496/%E5%A6%82%E4%BD%95%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8C%85%E6%82%84%E6%82%84%E6%9B%BF%E6%8D%A2%20%2Froot%2F.bashrc.png)
我已经使用自定义 /root/.bashrc 文件构建了自己的 .deb 包。当我尝试安装此包时,收到以下消息:
配置文件'/root/.bashrc' ==> 由您或脚本在系统上创建的文件。 ==> 文件也位于软件包维护者提供的软件包中。 你想做什么?你的选择是: Y 或 I :安装软件包维护者的版本 N 或 O :保留当前安装的版本 D :显示版本之间的差异 Z :启动 shell 检查情况 默认操作是保留当前版本。 *** .bashrc (Y/I/N/O/D/Z) [默认=N]?
我在 DEBIAN/preinst 中放入了这一行:
导出 DEBIAN_FRONTEND=非交互式
但没什么区别,我仍然收到消息。 .deb 包中是否有任何机制可以禁用此消息? 我需要它来进行自动安装,所以我需要绝对非交互式的安装。
作为一种解决方法,我可以在 apt-get install 之前将导出放在部署脚本中,但我宁愿在包中执行此操作。
提前致谢
更新:我尝试在部署脚本中使用导出功能,但无法正常工作。安装以非交互方式运行,但不会覆盖 .bashrc 文件,因为默认选项是 N(保留当前安装的版本)。
另一个解决方法是从包中删除配置文件本身,而是从 postinst 脚本中“回显”它。但同样,这只是一种解决方法,我想使用包中的一些指令来实现它。