From Fedora Project Wiki

(Initial page creation (copied from https://fedoraproject.org/wiki/Starting_services_by_default): https://fedorahosted.org/fpc/ticket/532)
 
(Writeup of https://fedorahosted.org/fpc/ticket/532)
Line 1: Line 1:
 
== Services which may be enabled by Default ==
 
== Services which may be enabled by Default ==
 +
Only services that meet the criteria below are permitted to be enabled by default on package installation.
  
If a service does not require configuration to be functional and does not listen on a network socket, it may be enabled by default (but is not required to do so).
+
For the purposes of this document, a "service" is defined as one or more of:
 +
* A daemon or process started using a [http://www.freedesktop.org/software/systemd/man/systemd.service.html systemd service unit].
 +
* A daemon or process that is invoked by socket activation, either by using a [http://www.freedesktop.org/software/systemd/man/systemd.socket.html systemd socket unit], [http://standards.freedesktop.org/desktop-entry-spec/1.1/ar01s07.html D-BUS activation] or similar behavior.
 +
* A [http://www.freedesktop.org/software/systemd/man/systemd.timer.html systemd timer unit] that runs periodically.
  
In addition, any service which does not remain persistent on the system (aka, it "runs once then goes away"), does not listen to incoming connections during initialization, and does not require configuration to be functional may be enabled by default (but is not required to do so). An example of "runs once then goes away" service is iptables.
+
=== Locally running services ===
 +
If a service does not require manual configuration to be functional and does not listen on a public network socket, it may be enabled by default (but is not required to do so).
  
Finally, there are some services which are permitted to be enabled by default as specific exceptions. The list is shipped as part of the systemd rpm: [http://pkgs.fedoraproject.org/cgit/systemd.git/plain/90-default.preset 90-default.preset].
+
Example: Local D-BUS services
  
All other services must not be enabled by default. If you think that your package contains a service that should be enabled by default, but does not meet the above criteria, you may request an exception from the FESCo and later [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=systemd&short_desc=PRESETS:+&version=rawhide file a bug against the systemd package].
+
=== Non-persistent services ===
 +
In addition, any service which does not remain persistent on the system (aka, it "runs once then goes away"), does not listen to incoming connections during initialization, and does not require configuration to be functional may be enabled by default (but is not required to do so).
 +
 
 +
Example: iptables
 +
 
 +
=== Approved Exceptions ===
 +
 
 +
Some services which are permitted to be enabled by default as specific exceptions. Services that should be enabled by default throughout all of Fedora must be approved by [https://fedorahosted.org/fesco/newticket FESCo]. Services that should be enabled or disabled by default only on one or more of the Fedora Editions must be approved by those Editions' [https://fedoraproject.org/wiki/Fedora.next#Working_groups Working Groups].
 +
 
 +
Example:
 +
* FESCo approves openssh-server to run by default on Fedora in general.
 +
* Workstation WG approves openssh-server to be disabled by default on the Workstation Edition.
 +
 
 +
 
 +
== Current list of enabled/disabled services ==
 +
* [https://pagure.io/fedora-release/blob/master/f/90-default.preset Fedora general]
 +
* [https://pagure.io/fedora-release/blob/master/f/80-server.preset Fedora Server]
 +
* [https://pagure.io/fedora-release/blob/master/f/80-workstation.preset Fedora Workstation]
 +
 
 +
== How to enable a service by default ==
 +
 
 +
Unit files must correspond to the Fedora Packaging [[Packaging:ScriptletSnippets#Systemd|Guidelines]]. Services are enabled or disabled by default through [http://www.freedesktop.org/software/systemd/man/systemd.preset.html systemd preset files]. Preset files can be overridden by a local administrator, but a set of defaults are provided by Fedora.
 +
 
 +
If the service should be enabled by default, it must be added to one of the distribution presets files (see above).
 +
 
 +
For services which meet one of the conditions listed above, a ticket should be filed against the  
 +
[https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=fedora-release&short_desc=PRESETS:+enable+...+by+default&version=rawhide fedora-release package]. If the preset should be changed for versions other than rawhide, indicate that in the ticket.

Revision as of 19:56, 21 May 2015

Services which may be enabled by Default

Only services that meet the criteria below are permitted to be enabled by default on package installation.

For the purposes of this document, a "service" is defined as one or more of:

Locally running services

If a service does not require manual configuration to be functional and does not listen on a public network socket, it may be enabled by default (but is not required to do so).

Example: Local D-BUS services

Non-persistent services

In addition, any service which does not remain persistent on the system (aka, it "runs once then goes away"), does not listen to incoming connections during initialization, and does not require configuration to be functional may be enabled by default (but is not required to do so).

Example: iptables

Approved Exceptions

Some services which are permitted to be enabled by default as specific exceptions. Services that should be enabled by default throughout all of Fedora must be approved by FESCo. Services that should be enabled or disabled by default only on one or more of the Fedora Editions must be approved by those Editions' Working Groups.

Example:

  • FESCo approves openssh-server to run by default on Fedora in general.
  • Workstation WG approves openssh-server to be disabled by default on the Workstation Edition.


Current list of enabled/disabled services

How to enable a service by default

Unit files must correspond to the Fedora Packaging Guidelines. Services are enabled or disabled by default through systemd preset files. Preset files can be overridden by a local administrator, but a set of defaults are provided by Fedora.

If the service should be enabled by default, it must be added to one of the distribution presets files (see above).

For services which meet one of the conditions listed above, a ticket should be filed against the fedora-release package. If the preset should be changed for versions other than rawhide, indicate that in the ticket.