Summary: | Empty conf.d directories are not created, for configuration files that support it | ||
---|---|---|---|
Product: | systemd | Reporter: | iTanguy <tanguy.person> |
Component: | general | Assignee: | systemd-bugs |
Status: | RESOLVED FIXED | QA Contact: | systemd-bugs |
Severity: | minor | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Adding missing empty directories for conf.d |
I am not convinced this really helps users, it have the suspicion this would just confuse users. I mean, I am pretty sure that editing the .conf files themselves should be the simple solution to changing settings, the .d/ drop-ins are there for more knowledgeable users who understand the reasons why .d/ drop-ins might be better for them thatn just editing config files. But the less knowledgeable users shouldn't be confused by the dirs, and the more knowledgeable users are able to create the dirs on their own. IMHO, it would promote further the use of the .d/ dropins. They are already advocated in the comments of .conf files : # You can override the directives in this file by creating files in # /etc/systemd/logind.conf.d/*.conf. The .d/ drop-ins add complexity to systemd, but it is part of systemd, already available, useful, and it remains an option. If it's too complex and adds confusion, maybe it should be improved. The goal of such a feature is that it e used as widely as possible. In fact, not having these folders by default could block users. Or at least it's happened to me : I was hesitating between a documentation/comment bug, or a feature not finished, or a feature not enabled in my distribution (ArchLinux)... More pragmaticaly : - I don't know which rights, user and group I should set to these folders, for it to work, but also to be secure. - ArchLinux package build system can't create empty folders unless they are created by the upstream project. (In reply to iTanguy from comment #2) > The .d/ drop-ins add complexity to systemd, but it is part of systemd, > already available, useful, and it remains an option. If it's too complex and > adds confusion, maybe it should be improved. The goal of such a feature is > that it e used as widely as possible. Not in this case. /etc/systemd/logind.conf.d/*.conf is a mechanism for packagers to provide configuration snippets without creating conflicts. The administrator should simply modify /etc/systemd/logind.conf. The situation for those configuration files is different than for unit files because by default no configuration is required and there's no downside to using /etc/systemd/logind.conf directly. > They are already advocated in the comments of .conf files : > # You can override the directives in this file by creating files in > # /etc/systemd/logind.conf.d/*.conf. I'll update the comment to deemphasize those directories. http://cgit.freedesktop.org/systemd/systemd/commit/?id=e93549ef29 updates the documentation. There's not enough reason in creating those directories because they are mainly useful for packaged configuration snippets and they would add clutter. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 113928 [details] Adding missing empty directories for conf.d Systemd supports "conf.d" subfolders for several of its configuration files. It helps configuration customization by separating hardware- and user-specific configuration from systemd and/or distribution presets. So It think that it would help end-users and Linux distributions if those directories were created by systemd directly. Especialy when the files provided by systemd mention them. The attached patch is a very naïve one, I am no good developper, in fact it lacks testing, so it probably can't be used as-is. But I hope it helps. It adds the following empty directories : /etc/systemd/bootchart.conf.d/ /etc/systemd/coredump.conf.d/ /etc/systemd/journald.conf.d/ /etc/systemd/logind.conf.d/ /etc/systemd/resolved.conf.d/ /etc/systemd/system.conf.d/ /etc/systemd/timesyncd.conf.d/ /etc/systemd/user.conf.d/