背景我们运行一系列 CentOS 6.5 服务器,每个服务器托管多个用户(约 100 名)通过 X-Window XDMP 从他们的 MS Windows 桌面进入。这些用户不需要启动的默认应用程序主机,如脉冲、音量控制、vino、polkit 等。因此我们希望自定义启动的默认应用程序集。但是,我们会在这些机器上进行例行的yum 更新,并且不希望我们的自定义被覆盖。Yum/rpm 包含一些用于保留对指定配置文件的更改的规定。
问题我们可以通过 1) 删除或 2) 将行“Hidden=true”插入 /etc/xdg/autostart/ 中的适当 .desktop 文件来自定义启动的应用程序集,但是,其中一些 .desktop 文件不是在安装它们的 RPM 包中指定为配置文件(例如 gnome-media、polkit-gnome、policycoreutils、vino)。这意味着如果更新软件包,这些文件可能会被 yum 更新操作覆盖。
建议的解决方案 (1)蛮力:编写一个 yum-update 后脚本,该脚本会重新执行我们所做的更改。要么手动运行它,要么可以自定义 yum 以自动运行它。
建议的解决方案 (2)微妙但冒险:创建我们自己的自定义 RPM 包,以安装带有更改的文件。然后强制安装此 RPM。以后想要更改文件的 RPM 更新将因冲突而停止。这将中断日常的 yum 更新,我们将按照手动程序来保存/恢复定制。
非常欢迎替代解决方案、想法和批评!谢谢。
这是我为蛮力方法#1提出的脚本: