2

I'm developing a kiosk like PC so it doesn't need most of the services.

Questions

  1. Why can't we disable some services showed in system-config-service?
  2. Is there any way to disable all (or at least most) of the services that show up in system-config-services?
  • 2
    please only post one question per question. – strugee Jan 6 '14 at 7:42
2

You don't say which services, which is really what's critical to this entire conversation. But I can say this. Not all services can just be disabled. Some services are required by other services, and so you cannot just shut them off without at least turning off the other services that are using them.

          ss of system-config-services

There is not simple way that I've ever seen where you can just disable a group of services without going through and identifying first what they are and second whether they're required by your system or not.

Finding out what each service is, just requires you to go through each one in the service name pane (left) and reading the description in the (right) pane.

You can also get a list of what services are running along with their state from the command line:

$ systemctl list-units -t service --all 
UNIT                                                           LOAD   ACTIVE   SUB     DESCRIPTION
abrt-ccpp.service                                              loaded active   exited  Install ABRT coredump hook
abrt-oops.service                                              loaded active   running ABRT kernel log watcher
abrt-vmcore.service                                            loaded inactive dead    Harvest vmcores for ABRT
abrt-xorg.service                                              loaded active   running ABRT Xorg log watcher
abrtd.service                                                  loaded active   running ABRT Automated Bug Reporting Tool
accounts-daemon.service                                        loaded active   running Accounts Service
alsa-restore.service                                           loaded inactive dead    Restore Sound Card State
alsa-state.service                                             loaded active   running Manage Sound Card State (restore and store)
alsa-store.service                                             loaded inactive dead    Store Sound Card State
atd.service                                                    loaded active   running Job spooling tools
auditd.service                                                 loaded active   running Security Auditing Service
avahi-daemon.service                                           loaded active   running Avahi mDNS/DNS-SD Stack
bluetooth.service                                              loaded active   running Bluetooth service
colord.service                                                 loaded active   running Manage, Install and Generate Color Profiles
crond.service                                                  loaded active   running Command Scheduler
...

You can read more about the command line by taking a look at this Fedora document titled: F.9.5. Getting more from systemd.

|improve this answer|||||
  • I found the answer, thank you slm for the second time you helped me. For example if I want to stop auditd.service I should run this command : checkconfig auditd off and that's it. BTW I didn't know about the command you provided above. so thank you. – Sponge Comrade Jan 6 '14 at 9:16
2

On a system that is using systemd for service control, you can get all the services status with:
systemctl list-unit-files -t service -all.

$ systemctl list-unit-files -t service -all

UNIT FILE                              STATE
alsa-restore.service                   static
alsa-state.service                     static
alsa-utils.service                     masked
apply_noobs_os_config.service          disabled
apt-daily-upgrade.service              static
apt-daily.service                      static
auth-rpcgss-module.service             static
autologin@.service                     disabled
autovt@.service                        enabled
avahi-daemon.service                   enabled
bluealsa.service                       disabled
bluetooth.service                      disabled
bootlogd.service                       masked
bootlogs.service                       masked
bootmisc.service                       masked
...

Here you notice there are 4 types of service states.

  1. static -- Service is started and used by another service
  2. masked -- Service is masked and thus forced to not start
  3. enabled
  4. disabled

For example, the alsa-restore and alsa-state services are pulled in by the basic.target by default. This can be checked by:

$ systemctl show -p WantedBy alsa-restore alsa-state

WantedBy=basic.target

But simply disabling the service doesn't work, so you need to mask it.

$ sudo systemctl mask alsa-restore.service

Created symlink /etc/systemd/system/alsa-restore.service → /dev/null.

$ sudo systemctl daemon-reload

However, as man systemctl states:

Mask one or more units, as specified on the command line. This will link these unit files to /dev/null, making it impossible to start them. This is a stronger version of disable, since it prohibits all kinds of activation of the unit, including enablement and manual activation. Use this option with care. This honors the --runtime option to only mask temporarily until the next reboot of the system. The --now option may be used to ensure that the units are also stopped. This command expects valid unit names only, it does not accept unit file paths.

That should disable it from re-loading on boot.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.