[opensuse-packaging] Re: RFC: configuration files in /etc
Hi, to come back to this, original email as reference below. Looks like Lennart Poettering wants to do something similar with Fedora for systemd.volatile, /etc should only contain the user modified files, everything distribution provided should be located in /usr. I only don't like to fill up /usr/lib with even more stuff people will not find anymore afterwards. The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc Starting doing the changes and moving the stuff around is simple, we only need to agree on a location. What's the opinion here? Thorsten On Mon, Jun 03, Thorsten Kukuk wrote:
Hi,
for this, who don't want to read a lot of text, there is a video of my talk about this topic from openSUSE Conference: https://youtu.be/ony0ajC0PWA
The slides can be found here: https://github.com/thkukuk/atomic-updates_and_etc/tree/master/Slides
and the full, detailed abstract can be found here: https://github.com/thkukuk/atomic-updates_and_etc/blob/master/README.md
What is this about?
RPM has a really very simple configuration file handling: overwrite the config, move it away and write the new config or write the new config in a different file (*.rpmsave and *.rpmnew). If the rpm contains a configuration file marked as %config, and the packager fixes a typo in a comment, RPM will move the by the admin modified and adjusted configuration file away and put's the default configuration file there, which means, your service will not work until you merge the configuration files.
This is already bad, but it's getting really worse if you think about atomic updates (transactional-updates on openSUSE): - admin modifies configuration files - admin starts an transactional update, the configuration file will be modified - admin makes changes to the configuration file - admin reboots to active the changes -> admin needs to find out which changes where done by whom and needs to merge them all to get the service working again
While this shouldn't happen very often, more really seldom, if it happens, it's really bad. Especially, if you think about big clusters with many machines and not only a few workstations.
So I started looking into different solutions. The first thing is: we are not alone with the problem, every distribution with atomic updates has it, but every distribution has their own solution. Which reminds me on the pre-FHS times, when you had to learn for every distribution again where the configuration files and other tools could be found. So we need something, which helps everybody and is good enough specified, that people will use this solution.
The second thing is: people want to have the configuration files in one place, so that it is easy to find.
And at least, no, there is not the perfect solution solving everything, for some I even have no idea, but for others we make big improvements compared to today.
The goal is to provide a concept working for all Linux Distributors (like the FHS, preferred is to get this into the FHS). Short to midterm, it should solve the problems with atomic updates. Midterm to longterm, the result should be, that no package installs anything in /etc, it should only contain changes made by the system administrator or configuration files managed by the system administrator.
The current proposals are: https://github.com/thkukuk/atomic-updates_and_etc/blob/master/README.md#prop...
A short summary:
Application configuration files: Do something similar to what systemd is already doing today (See https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Examples, "Overriding vendor settings"). Put the default, by a Linux distributor shipped configuration files somewhere below /usr, and /etc only contains the overwrite.
This sounds like a lot of work, but in reality, many applications we have on openSUSE Tumbleweed alredy support different locations for configuration files and overwrite of them, like sysctl, dracut, PAM and many more. For this, this is only a packaging exercise and rpmlint checks.
System databases: This are files in /etc like rpc, services and protocols. We can put them somewhere below /usr, and /etc/ only contains the changes. A glibc NSS module could merge them automatcially, different implementations do exist already today for this.
/etc/passwd, /etc/group and /etc/shadow: This is the big, open problem. We looked at many possible solutions, but didn't found the real, generic one.
So, what is the expected outcome of this mail? 1. We need to agree, if we want to solve the problem or not In my opinion, there is no real choice, if we don't do it coordinated as Linux distributor, this will happen in a chaotic way. 2. We need to agree on the goal, so for me, this would be: - short term: solve the problem for packages on openSUSE MicroOS - mid term: solve the problem for openSUSE Tumbleweed - long term: /etc/ only contains admin created files, a Linux Distribution does not install there anything 3. We need to agree on a path below /usr for the default configuration files 4. We need to agree on how we want to solve it.
Your comments and feedback?
Thanks, Thorsten
-- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
-- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Friday, 26 July 2019 14:18 Thorsten Kukuk wrote:
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
All three make good sense to me - and definitely way more sense than /usr/lib. Personally, I would pick /usr/etc for consistency. Michal Kubecek -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, On Fri, Jul 26, Michal Kubecek wrote:
On Friday, 26 July 2019 14:18 Thorsten Kukuk wrote:
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
All three make good sense to me - and definitely way more sense than /usr/lib. Personally, I would pick /usr/etc for consistency.
Something I was made aware of: /usr/etc is used on other Linux and Non-Linux distributions with a different meaning then we would use it. This could confuse people and could prevent other distributions from joining/following us. And it looks like nobody likes /usr/sysconfig because of /etc/sysconfig. So /usr/config? Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Friday, 26 July 2019 15:02 Thorsten Kukuk wrote:
On Fri, Jul 26, Michal Kubecek wrote:
On Friday, 26 July 2019 14:18 Thorsten Kukuk wrote:
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
All three make good sense to me - and definitely way more sense than /usr/lib. Personally, I would pick /usr/etc for consistency.
Something I was made aware of: /usr/etc is used on other Linux and Non-Linux distributions with a different meaning then we would use it. This could confuse people and could prevent other distributions from joining/following us.
And it looks like nobody likes /usr/sysconfig because of /etc/sysconfig. So /usr/config?
As I said, all three sound good to me. I agree that /usr/sysconfig could be a bit confusing (because of /etc/sysconfig) and if /usr/etc could be confusing for some users too (I don't know what others use /usr/etc for), /usr/config seems to be the best option. Michal -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am Freitag, 26. Juli 2019, 15:02:40 CEST schrieb Thorsten Kukuk:
Hi,
On Fri, Jul 26, Michal Kubecek wrote:
All three make good sense to me - and definitely way more sense than /usr/lib. Personally, I would pick /usr/etc for consistency.
Something I was made aware of: /usr/etc is used on other Linux and Non-Linux distributions with a different meaning then we would use it. This could confuse people and could prevent other distributions from joining/following us.
Hmm, do you have any pointer on such distributions and their usage pattern of /usr/etc? I wasn't able to find something, that really matters in this regard. For consistency and efficiency reasons, I still prefer /usr/etc. Why? Because all of us grep /etc from time to time, and prefixing this with / usr is less work. Also, for educational reasons, it's much easier to communicate: distributed (read only) configuration is in /usr/etc, local config is in /etc. instead of adding *yet* *another* exception in naming. So in my humble opinion, we should examine the current usage patterns of /usr/ etc and decide based on that result, if it's worth to create some hassle for them, relative to our packaging, or if it's even neglectable. Cheers, Pete -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Sat, Jul 27, Hans-Peter Jansen wrote:
Hmm, do you have any pointer on such distributions and their usage pattern of /usr/etc? I wasn't able to find something, that really matters in this regard.
OSTree is using /usr/etc to store data for their three-way-diff-merge of configuration files. On *BSD, users have to edit the files in /usr/etc, while in our case, this should be "read-only", and user have to create the changes in /etc. There are distributions who did the "UsrMerge" by moving /etc to /usr/etc and makeing /etc a symlink to /usr
For consistency and efficiency reasons, I still prefer /usr/etc.
In general I fully agree, but if people from other distributions tell me, they would not be able to follow us for this reasons, then /usr/etc is for me a no-go. It doesn't make sense to create something, which only openSUSE will do and everybody else is not able to do.
So in my humble opinion, we should examine the current usage patterns of /usr/ etc and decide based on that result, if it's worth to create some hassle for them, relative to our packaging, or if it's even neglectable.
What would happen if we choose /usr/etc and other distributions cannot follow us? 1. we are the only one who are doing, and will always be different 2. The others will come up with another standard, and either we are alone/different, or have to do the work a second time. I don't like any of this options. Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
* Kyrill Detinov <lazy.kent@opensuse.org> [07-28-19 06:33]:
On Sun, 28 Jul 2019 10:38:07 +0200 Thorsten Kukuk wrote:
On *BSD, users have to edit the files in /usr/etc
/usr/local/etc
+1 especially since it is already utilized -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.org openSUSE Community Member facebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet freenode -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
[Sorry for not correctly addressing both lists before..] Am Sonntag, 28. Juli 2019, 10:38:07 CEST schrieb Thorsten Kukuk:
On Sat, Jul 27, Hans-Peter Jansen wrote:
What would happen if we choose /usr/etc and other distributions cannot follow us? 1. we are the only one who are doing, and will always be different 2. The others will come up with another standard, and either we are alone/different, or have to do the work a second time.
I don't like any of this options.
Neither me. Do you see chances, that distributions *will* follow us, when taking the /usr/config path? Do we have somebody influential on the Debian side of things, who can comment on this? Cheers, Pete -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Sun, Jul 28, Hans-Peter Jansen wrote:
[Sorry for not correctly addressing both lists before..]
Am Sonntag, 28. Juli 2019, 10:38:07 CEST schrieb Thorsten Kukuk:
On Sat, Jul 27, Hans-Peter Jansen wrote:
What would happen if we choose /usr/etc and other distributions cannot follow us? 1. we are the only one who are doing, and will always be different 2. The others will come up with another standard, and either we are alone/different, or have to do the work a second time.
I don't like any of this options.
Neither me. Do you see chances, that distributions *will* follow us, when taking the /usr/config path? Do we have somebody influential on the Debian side of things, who can comment on this?
I'm not aware of anybody from Debian. There are many people who say this is the right thing to do, but beside somebody who will create a change request for Fedora, no commitments to do it yet. Everybody is waiting for somebody else. Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
* Thorsten Kukuk <kukuk@suse.de> [07-28-19 04:39]:
On Sat, Jul 27, Hans-Peter Jansen wrote:
Hmm, do you have any pointer on such distributions and their usage pattern of /usr/etc? I wasn't able to find something, that really matters in this regard.
OSTree is using /usr/etc to store data for their three-way-diff-merge of configuration files. On *BSD, users have to edit the files in /usr/etc, while in our case, this should be "read-only", and user have to create the changes in /etc. There are distributions who did the "UsrMerge" by moving /etc to /usr/etc and makeing /etc a symlink to /usr
For consistency and efficiency reasons, I still prefer /usr/etc.
what about /usr/local/etc
In general I fully agree, but if people from other distributions tell me, they would not be able to follow us for this reasons, then /usr/etc is for me a no-go. It doesn't make sense to create something, which only openSUSE will do and everybody else is not able to do.
So in my humble opinion, we should examine the current usage patterns of /usr/ etc and decide based on that result, if it's worth to create some hassle for them, relative to our packaging, or if it's even neglectable.
What would happen if we choose /usr/etc and other distributions cannot follow us? 1. we are the only one who are doing, and will always be different 2. The others will come up with another standard, and either we are alone/different, or have to do the work a second time.
I don't like any of this options.
Thorsten
-- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
-- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.org openSUSE Community Member facebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet freenode -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Sun, Jul 28, Patrick Shanahan wrote:
For consistency and efficiency reasons, I still prefer /usr/etc.
what about /usr/local/etc
/usr/local is for local software installed by the systemadministrator, distribuors are not allowed to install there something. -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am Sonntag, 28. Juli 2019, 13:40:26 CEST schrieb Thorsten Kukuk:
On Sun, Jul 28, Patrick Shanahan wrote:
For consistency and efficiency reasons, I still prefer /usr/etc.
what about /usr/local/etc
/usr/local is for local software installed by the systemadministrator, distribuors are not allowed to install there something.
If I'm introduced to a new system to administrate, that contains files under / usr/local, I consider that system broken! Cheers, Pete -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Sun, 28 Jul 2019 13:40:26 +0200 Thorsten Kukuk wrote:
what about /usr/local/etc
/usr/local is for local software installed by the systemadministrator, distribuors are not allowed to install there something.
In FreeBSD (at least) _every_ software, installed from packages / ports, is located in /usr/local following the same hierarchy. % ls -1 /usr/local bin etc include lib libdata libexec man openssl sbin share www
Something I was made aware of: /usr/etc is used on other Linux and Non-Linux distributions
(In FreeBSD) The Base System is located in / and /usr. % file /usr/etc /usr/etc: cannot open `/usr/etc' (No such file or directory) % file /etc /etc: directory -- WBR Kyrill
On 7/26/19 2:18 PM, Thorsten Kukuk wrote:
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
I'd prefer /usr/etc/. For example /usr/sysconfig/ looks too much like being directly related to /etc/sysconfig/. Ciao, Michael.
V Fri, 26 Jul 2019 14:18:59 +0200 Thorsten Kukuk <kukuk@suse.de> napsáno:
Hi,
to come back to this, original email as reference below. Looks like Lennart Poettering wants to do something similar with Fedora for systemd.volatile, /etc should only contain the user modified files, everything distribution provided should be located in /usr.
I only don't like to fill up /usr/lib with even more stuff people will not find anymore afterwards.
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
Hi, for me the best one is /usr/config. /usr/etc sounds like another round of moving /bin to /usr/bin /usr/sysconfig sounds too much related to /etc/sysconfig. So winner from selection is clear for me. Josef -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Fri, Jul 26, Josef Reidinger wrote:
Hi, for me the best one is /usr/config.
/usr/etc sounds like another round of moving /bin to /usr/bin
But exactly this is what we will do: move the stuff from /etc to /usr/... and change the meaning of /etc a little.
/usr/sysconfig sounds too much related to /etc/sysconfig.
That's my problem with it, too.
So winner from selection is clear for me.
Josef -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
-- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 7/26/19 2:18 PM, Thorsten Kukuk wrote:
to come back to this, original email as reference below. Looks like Lennart Poettering wants to do something similar with Fedora for systemd.volatile, /etc should only contain the user modified files, everything distribution provided should be located in /usr.
I only don't like to fill up /usr/lib with even more stuff people will not find anymore afterwards.
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
If we do want to follow Poettering and Fedora, then to me it would sound logical to at least go the same direction (together with Fedora?). BTW: is there a list of affected packages available? That can't be too long, is it? Have a nice day, Berny -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Fri, Jul 26, Bernhard Voelker wrote:
On 7/26/19 2:18 PM, Thorsten Kukuk wrote:
to come back to this, original email as reference below. Looks like Lennart Poettering wants to do something similar with Fedora for systemd.volatile, /etc should only contain the user modified files, everything distribution provided should be located in /usr.
I only don't like to fill up /usr/lib with even more stuff people will not find anymore afterwards.
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
If we do want to follow Poettering and Fedora, then to me it would sound logical to at least go the same direction (together with Fedora?).
No, we don't want to follow Poettering and Fedora, especially not, if they move everything to /usr/lib. While we share the same idea, but to solve complelty different problems, we hope we can convience them to follow us and put the configuration files in an own directory. /usr/lib is already overcrowded and you cannot really search/grep there for something. The clear feedback I got until now, especially at the openSUSE Conference, was, please make sure that the configuration files are back in one, or at least two locations and not in several hundred ones.
BTW: is there a list of affected packages available? That can't be too long, is it?
rpm -qf /etc/* /etc/*/* | sort -u The list is long, some of them are low hanging fuits, others will be next to impossible to solve. That's why I'm interested in what Lennart is planing, it could save us quite some work. Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
TL:DR; = I do not like the idea. Long version below. OK, let's pretend we do it, and have the distro-supplied defaults in /usr/etc and only local changes in /etc. let's also pretend there is an app that has one file that used to sit in /etc/ and is named /etc/apprc. It would be simple enough to patch the app to read /usr/etc/apprc instead of / etc/apprc, but what about those local changes? We'd have to patch the app to read /etc/apprc and only if that doesn't work read /usr/etc/apprc, right? what about this scenario: /usr/etc/apprc defines several variables, let's say foo and bar. local admin wants to change only one of them, so he creates /etc/ apprc and put "foo=123" in it. ...how would the app get the value for bar? So actually, we would have to patch the app to **first** read /usr/etc/apprc and then read /etc/apprc if it exists and overwrite all variables found therein with the values therein... or in other words: app startup takes longer, worst case: twice as long. Now imagine it is not a "userspace" app but a service that gets started on demand, for example each time something connects to ... lets say port 21. doen't sound all that good to me anymore. Cheers MH Am Freitag, 26. Juli 2019, 19:39:57 CEST schrieb Thorsten Kukuk:
On Fri, Jul 26, Bernhard Voelker wrote:
On 7/26/19 2:18 PM, Thorsten Kukuk wrote:
to come back to this, original email as reference below. Looks like Lennart Poettering wants to do something similar with Fedora for systemd.volatile, /etc should only contain the user modified files, everything distribution provided should be located in /usr.
I only don't like to fill up /usr/lib with even more stuff people will not find anymore afterwards.
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
If we do want to follow Poettering and Fedora, then to me it would sound logical to at least go the same direction (together with Fedora?).
No, we don't want to follow Poettering and Fedora, especially not, if they move everything to /usr/lib. While we share the same idea, but to solve complelty different problems, we hope we can convience them to follow us and put the configuration files in an own directory.
/usr/lib is already overcrowded and you cannot really search/grep there for something. The clear feedback I got until now, especially at the openSUSE Conference, was, please make sure that the configuration files are back in one, or at least two locations and not in several hundred ones.
BTW: is there a list of affected packages available? That can't be too long, is it?
rpm -qf /etc/* /etc/*/* | sort -u
The list is long, some of them are low hanging fuits, others will be next to impossible to solve. That's why I'm interested in what Lennart is planing, it could save us quite some work.
Thorsten
*Mathias Homann* Senior Systems Engineer, IT Consultant. IT Trainer Mathias.Homann@eregion.de[1] LinkedIn: http://de.linkedin.com/in/mathiashomann/[2] *gpg key fingerprint: 8029 2240 F4DD 7776 E7D2 C042 6B8E 029E 13F2 C102* -------- [1] mailto:Mathias.Homann@eregion.de [2] http://de.linkedin.com/in/mathiashomann/ -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi, On Sat, Jul 27, Mathias Homann wrote:
OK, let's pretend we do it, and have the distro-supplied defaults in /usr/etc and only local changes in /etc.
Today we have distro-supplied defaults below /usr/lib and the local changes for this apps in /etc.
let's also pretend there is an app that has one file that used to sit in /etc/ and is named /etc/apprc.
It would be simple enough to patch the app to read /usr/etc/apprc instead of / etc/apprc, but what about those local changes?
We'd have to patch the app to read /etc/apprc and only if that doesn't work read /usr/etc/apprc, right?
Depends on how this app reads the configuration files.
what about this scenario: /usr/etc/apprc defines several variables, let's say foo and bar. local admin wants to change only one of them, so he creates /etc/ apprc and put "foo=123" in it.
...how would the app get the value for bar?
Like all the applications who are doing this today already? And there are many. Only look in /usr/lib for all this configuration files nobody ever finds ...
So actually, we would have to patch the app to **first** read /usr/etc/apprc and then read /etc/apprc if it exists and overwrite all variables found therein with the values therein... or in other words: app startup takes longer, worst case: twice as long.
Nobody ever noticed this with all the apps doing this already today.
Now imagine it is not a "userspace" app but a service that gets started on demand, for example each time something connects to ... lets say port 21.
Nobody ever noticed this with all the apps doing this already today.
doen't sound all that good to me anymore.
You would be right if we would introduce something new. But as you can read in my document, many apps are doing this already today, including systemd, PAM, sysctl, module loading and many, many more. There are also libraries which do this more or less transparent for the app. In many cases, we only need to make use of it. And: this will come. The systemd people want this, too, and are creating bug reports to upstream projects that they should change their code. So the only question is: do we want that this happens in a chaotic way, and people have to search in 200 places for the configuration files, as every application uses it's own solution, or do we want to drive this in a more consistent and planned way? Thorsten
Am Freitag, 26. Juli 2019, 19:39:57 CEST schrieb Thorsten Kukuk:
On Fri, Jul 26, Bernhard Voelker wrote:
On 7/26/19 2:18 PM, Thorsten Kukuk wrote:
to come back to this, original email as reference below. Looks like Lennart Poettering wants to do something similar with Fedora for systemd.volatile, /etc should only contain the user modified files, everything distribution provided should be located in /usr.
I only don't like to fill up /usr/lib with even more stuff people will not find anymore afterwards.
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Starting doing the changes and moving the stuff around is simple, we only need to agree on a location.
What's the opinion here?
If we do want to follow Poettering and Fedora, then to me it would sound logical to at least go the same direction (together with Fedora?).
No, we don't want to follow Poettering and Fedora, especially not, if they move everything to /usr/lib. While we share the same idea, but to solve complelty different problems, we hope we can convience them to follow us and put the configuration files in an own directory.
/usr/lib is already overcrowded and you cannot really search/grep there for something. The clear feedback I got until now, especially at the openSUSE Conference, was, please make sure that the configuration files are back in one, or at least two locations and not in several hundred ones.
BTW: is there a list of affected packages available? That can't be too long, is it?
rpm -qf /etc/* /etc/*/* | sort -u
The list is long, some of them are low hanging fuits, others will be next to impossible to solve. That's why I'm interested in what Lennart is planing, it could save us quite some work.
Thorsten
*Mathias Homann* Senior Systems Engineer, IT Consultant. IT Trainer Mathias.Homann@eregion.de[1] LinkedIn: http://de.linkedin.com/in/mathiashomann/[2] *gpg key fingerprint: 8029 2240 F4DD 7776 E7D2 C042 6B8E 029E 13F2 C102*
-------- [1] mailto:Mathias.Homann@eregion.de [2] http://de.linkedin.com/in/mathiashomann/
-- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
-- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
And another round ... On Fri, Jul 26, Thorsten Kukuk wrote:
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Since the feedback clearly shows, that nearly everybody preferes /usr/etc, we re-evaluated this and thinks we can take the risks, choosing something nearly everybody preferes is also important. Additional, as every important directory should only have three letters, /usr/cfg was thrown in the discussion. /usr/sysconfig is clearly out, looks like nearly nobody likes that. So we currently have: /usr/etc /usr/cfg /usr/config Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, Jul 29, 2019 at 12:18 PM Thorsten Kukuk <kukuk@suse.de> wrote:
And another round ...
On Fri, Jul 26, Thorsten Kukuk wrote:
The discussions on the FHS mailing list were mixed, but in the end: FHS will not specify anything, we should just do it. The most promising suggestions were: - /usr/sysconfig - /usr/config - /usr/etc
Since the feedback clearly shows, that nearly everybody preferes /usr/etc, we re-evaluated this and thinks we can take the risks, choosing something nearly everybody preferes is also important. Additional, as every important directory should only have three letters, /usr/cfg was thrown in the discussion. /usr/sysconfig is clearly out, looks like nearly nobody likes that.
So we currently have:
/usr/etc /usr/cfg /usr/config
I'd prefer /usr/config or /usr/cfg over /usr/etc. Aside from the collision in usage, "etc" is a terrible name for the configuration directory ("etc" was a catch-all directory originally, which is why so many executable shell scripts were in there...), and we can do better than that in 2019. -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (10)
-
Bernhard Voelker
-
Hans-Peter Jansen
-
Josef Reidinger
-
Kyrill Detinov
-
Mathias Homann
-
Michael Ströder
-
Michal Kubecek
-
Neal Gompa
-
Patrick Shanahan
-
Thorsten Kukuk