Operation and Maintenance
Linux Operation and Maintenance
How to enable and disable services on boot in Linux
How to enable and disable services on boot in Linux
Most Linux systems use systemd to manage startup services; check with ps -p 1. Use systemctl enable/disable to control boot startup, and systemctl start/stop for immediate action. Older systems use SysVinit tools like update-rc.d or chkconfig. Enable a service at boot with sudo systemctl enable SERVICE_NAME, disable with sudo systemctl disable SERVICE_NAME, and check status with systemctl is-enabled. Use --now flag to enable and start immediately.

Managing services at boot time in Linux depends on the init system your distribution uses. Most modern Linux systems use systemd, while older ones may use SysVinit or Upstart. Below are the common methods for enabling and disabling services during system startup.
Using systemd (Most Modern Distributions)
If your system uses systemd (such as Ubuntu 16.04 , Debian 8 , CentOS 7 , Fedora), use the systemctl command to manage services at boot.
To enable a service on boot:sudo systemctl enable SERVICE_NAME
This creates a symbolic link from the system’s copy of the service file (usually in /etc/systemd/system/) to the appropriate systemd target (like multi-user.target).
To disable a service on boot:sudo systemctl disable SERVICE_NAME
This removes the symbolic link, preventing the service from starting automatically at boot.
To check the current status of a service:-
systemctl is-enabled SERVICE_NAME— returns "enabled", "disabled", or "static"
Examples:
-
sudo systemctl enable nginx— enables Nginx to start at boot -
sudo systemctl disable apache2— disables Apache from starting automatically
Using SysVinit (Older Systems)
On older distributions that use SysVinit, the update-rc.d (Debian/Ubuntu) or chkconfig (RHEL/CentOS) commands are used.
On Debian/Ubuntu (SysVinit):-
sudo update-rc.d SERVICE_NAME defaults— enables service -
sudo update-rc.d SERVICE_NAME remove— disables service
-
sudo chkconfig SERVICE_NAME on— enable service -
sudo chkconfig SERVICE_NAME off— disable service
You can also list current settings with:
chkconfig --list
Immediate Start/Stop vs Boot Behavior
Note that enabling/disabling controls only whether the service starts at boot. To control the service immediately:
-
sudo systemctl start SERVICE_NAME— starts now -
sudo systemctl stop SERVICE_NAME— stops now -
sudo systemctl restart SERVICE_NAME— restarts now
Enabling does not start the service; you need to start it separately unless you use:
-
sudo systemctl enable --now SERVICE_NAME— enables and starts immediately -
sudo systemctl disable --now SERVICE_NAME— disables and stops immediately
Basically, use systemctl on modern systems. Check your system with ps -p 1 — if it shows systemd, you’re using systemd. The commands are simple and consistent once you know which init system is running.
The above is the detailed content of How to enable and disable services on boot in Linux. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20522
7
13634
4
How to setup file sharing using Samba on Linux? (SMB Protocol)
Mar 13, 2026 am 12:33 AM
The main reason why Windows cannot see the Samba share is that the firewall blocks UDP137–139/TCP445 or NetBIOS name resolution fails; it is necessary to confirm that the workgroup is consistent, the interfaces are configured correctly, the file permissions match forceuser/forcegroup, and set doscharset=UTF-8 to solve Chinese garbled characters.
How to extend a Logical Volume (LVM) in Linux without downtime?
Mar 13, 2026 am 12:53 AM
Logical volumes and file systems can be expanded online. You need to expand the LV first and then the file system. It is recommended to use lvextend-r for automatic synchronization adjustment, but you must ensure that the LVM and file system tool versions are compatible.
How to check open ports and listening services in Linux? (Netstat & SS)
Mar 10, 2026 am 01:08 AM
Netstat displays fewer LISTEN ports than ss because it does not display process information by default that non-root users do not have access to; ss can read all listening sockets by default without process names, and sudonetstat-tulpn is required to display them completely.
How to set up SSH key authentication on Linux? (Passwordless Login)
Mar 11, 2026 am 12:46 AM
It is recommended to use ssh-keygen-ted25519 to generate a key pair, because it is faster, more secure, and has a shorter key than the default RSA; it is necessary to strictly set the ~/.ssh directory permissions to 700 and authorized_keys to 600, and use ssh-v to confirm whether the client is Offering public key and whether the server rejects it.
How to format disk partitions using the command line in Linux?
Mar 15, 2026 am 12:01 AM
When fdisk is stuck at the Command prompt, it is normally waiting for input. Enter q to exit safely; you must umount before mkfs, otherwise it may fail silently; partedmkpart does not support the specified file system type, and mkfs needs to be executed separately.
How to configure a static IP address on Linux? (Netplan & NetworkManager)
Mar 14, 2026 am 12:02 AM
Netplan reports "InvalidYAML" when configuring a static IP due to indentation errors, missing spaces after colons, or mixed tabs; gateway4 has been deprecated and routes to:default must be used instead; NetworkManager needs to be modified before down/up takes effect; the renderer field is used to determine the backend during coexistence; incorrect DNS configuration will cause ping to succeed but curl to fail.
How to enable and configure remote desktop access on Linux? (VNC & XRDP)
Mar 16, 2026 am 12:06 AM
The applicable scenarios of VNC and XRDP are different: VNC is suitable for complete graphics, multi-user, and cross-platform. Tigervnc-server is recommended and xstartup and port are correctly configured;
How to change the default SSH port in Linux to prevent attacks?
Mar 16, 2026 am 12:22 AM
ChangingSSHportreducesnoisebutisn’trealsecurity;properauthhardeningisessential.Edit/etc/ssh/sshd_configwithPort2222,updatefirewall/SELinux/cloudrules,andtestincrementallyusingreload—notrestart—toavoidlockout.





