Score:0

Question about a Derivative that uses Ubuntu Repositories

in flag

Backstory: I'm using CUBIC to try to create my own derivative. Nothing that anyone will be interested in, just seeing how the process works (and I've definitely learned a few things about how the system is organized so far, so I'd call it a success. Mostly this "derivative" isnt' all that different from the stock ubuntu, but a lot of default packages are removed, a couple new packages have been added, and a lot of preferences have been replaced.

Now the to the problem at hand:

Not wanting to create a full mirror of all of Ubuntu's focal files, I'd like to rely on their servers for getting updates, except where those updates pertain to files i've edited.

For instance files that i've modified include these (either files themselves or files within these directories):

/etc/lsb-release /usr/share/glib-2.0/schemas /usr/share/backgrounds

So, installation goes as planned, but once i perform post-install updates, the files from Ubuntu's sources override the edits I've made.

How can I tell my computer to pull down updates from Ubuntu EXCEPT for the edits i've made (or rather, except for the packages that install the files I'm editing).

I can spin up a VM to host my edited files if that's whats necessary, just looking for pointers about what needs to happen to tell my computer that lsb-release should come from my server and not Ubuntu's servers.

Can anyone help? Thanks

user535733 avatar
cn flag
Your description suggests that you are replacing a package with your own similarly-named package. Apt assumes that all packages that share the same name are interchangeable. Use a different package name.
Score:1
us flag

Use apt-mark hold to "hold back" packages that contain the files you you do not want updated.

Prevent /etc/lsb-release from being updated.

apt-mark hold base-files

Note, I believe the base-files package is updated if you upgrade your Ubuntu release, so you may have to use apt-mark unhold base-files if you want to upgrade at some point in the future.

Prevent /usr/share/glib-2.0/schemas from being updated.

apt-mark hold <package>

In this case, you will need to identify which package contains the schema fie you do not want to change. Replace <package> with this package name.

Prevent files in /usr/share/backgrounds from being updated.

apt-mark hold gnome-backgrounds
apt-mark hold ubuntu-wallpapers-*

If your system is using another package that provides background images, be sure to apt-mark hold that package as well.

in flag
Thank you. I've got a follow up question to this. Can two deb's affect the same files? For instance, could i keep Ubuntu's lsb-release deb , bur then create my own (lsb-release-overlay) which runs after their's and just installs a new /etc/lsb-release file? I suppose i could test this, but seemed simpler to ask, rather than figure out how to create deb packages if I can't use them for this purpose
us flag
AskUbuntu is a [question answer site](https://askubuntu.com/tour), so only one question is allowed per post. You should post a separate question. Also, note that non-official Ubuntu derivatives are out of scope, which is why some folks voted to close your question. I interpreted your question differently: I see that you are simply updating Ubuntu and not really creating a new unofficial distro; in my opinion, what you are doing is no different than adding/removing/modifying packages on an official Ubuntu release. I suggest avoiding the word "derivative" in your next question. Good luck!
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.