背景故事:我正在使用 CUBIC 尝试创建自己的衍生产品。没有人会对此感兴趣,只是想看看这个过程是如何工作的(到目前为止,我确实学到了一些关于系统组织方式的知识,所以我会称之为成功。这个“衍生产品”与原版 ubuntu 并没有太大不同,但删除了许多默认软件包,添加了几个新软件包,并替换了许多首选项。
现在来谈谈手头的问题:
我不想创建所有 Ubuntu 焦点文件的完整镜像,而是想依靠他们的服务器来获取更新,但与我编辑过的文件有关的更新除外。
例如,我修改过的文件包括这些(文件本身或这些目录中的文件):
/etc/lsb-release /usr/share/glib-2.0/schemas /usr/share/backgrounds
因此,安装按计划进行,但是一旦我执行安装后更新,来自 Ubuntu 源的文件就会覆盖我所做的编辑。
我怎样才能告诉我的电脑从 Ubuntu 下载更新,除了我所做的编辑(或者更确切地说,除了安装我正在编辑的文件的软件包)。
如果有必要,我可以启动一个虚拟机来托管我编辑的文件,只是寻找关于需要做什么的指针,告诉我的计算机 lsb-release 应该来自我的服务器而不是 Ubuntu 的服务器。
有人能帮忙吗?谢谢
答案1
用于apt-mark hold
“阻止”包含您不想更新的文件的软件包。
防止/etc/lsb-release
被更新。
apt-mark hold base-files
注意,我相信base-files
如果你升级你的 Ubuntu 版本,这个软件包也会更新,所以你可能apt-mark unhold base-files
如果您想在将来某个时间点升级,则必须使用。
防止/usr/share/glib-2.0/schemas
被更新。
apt-mark hold <package>
在这种情况下,您需要确定哪个包包含您不想更改的架构文件。<package>
用此包名称替换。
防止文件/usr/share/backgrounds
被更新。
apt-mark hold gnome-backgrounds
apt-mark hold ubuntu-wallpapers-*
apt-mark hold
如果您的系统正在使用另一个提供背景图像的软件包,也请确保该软件包。