Debian or Ubuntu Linux runlevel configuration tool to start service

Q. Under Red Hat or Cent OS chkconfig command provides a simple command-line tool for maintaining the /etc/rc[0-6].d directory hierarchy by relieving system administrators of the task of directly manipulating the numerous symbolic links in those directories. How do I control (or maintain Ubuntu runlevel) startup service under Debian or Ubuntu Linux with command line tool?

A. chkconfig is Redhat and friends only command. Debian or Ubuntu Linux offers different tools or command for same task.

Task: Command line tool to manage services / Ubuntu runlevel

update-rc.d automatically updates the System V style init script links /etc/rcrunlevel.d/NNname to scripts /etc/init.d/name. These are run by init when changing runlevels and are generally used to start and stop. For example turn on ssh service type the command:
# update-rc.d ssh defaultsOR$ sudo update-rc.d ssh defaults

Task: Remove service

Again use update-rc.d command:
# update-rc.d SERVICE-NAME removeOR$ sudo update-rc.d SERVICE-NAME remove

Task: Use Text based GUI Runlevel configuration tool to add or remove services

rcconf is Debian runlevel configuration tool. Rcconf allows you to control which services are started when the system boots up or reboots. It displays a menu of all the services which could be started at boot. The ones that are configured to do so are marked and you can toggle individual services on and off. If rcconf is not installed use apt-get command:
# apt-get install rcconfOR$ sudo apt-get install rcconf Now run rcconf and just follow on screen instructions:
# rcconf

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 15 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersncdu pydf
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
15 comments… add one
  • nathan Oct 12, 2006 @ 13:07

    small typo should be
    $ sudo apt-get install rcconf
    you are missing the a

  • 🐧 nixCraft Oct 12, 2006 @ 16:41


    Typo is corrected. Thanks for the heads up :)

  • V.Balaviswanathan Apr 27, 2009 @ 14:38

    Thanks a lot for this info.. It worked for me

  • Bob Jun 10, 2009 @ 19:03

    Does all this still work on Ubuntu with their who upstart way of starting services that they use now?

  • Mark Jun 29, 2009 @ 10:23

    Yeah this still works. Ubuntu 9.04 over here and still works. Im not sure for how long given that this functionality is only possible with upstart’s init.d compatibility mode.

  • Jacob Jul 7, 2009 @ 19:40


  • Balaviswanathan.V Sep 9, 2009 @ 18:13


    In Ubuntu 9.04 , you need not have to install this package as we can start the service by

    $ sudo service networking restart

    Thanks and Regards


  • Sean Nov 24, 2009 @ 18:16

    So whats the runlevel change command or is that covered somewhere else.

  • roger May 7, 2010 @ 17:47

    Old post but still helpful and relevant. For new users, they may not notice running rcconf as non root will return a permission denied error, thus not changes. Best to run

    sudo rcconf

  • Jack Nov 14, 2010 @ 12:27

    Coming from a RHEL enviornment, chkconfig was an awesome way to maintain services and their run levels and this post was very helpful for me to find the Ubuntu equivalent (update-rc.d) in my new environment.

    SIDE NOTE: apt-get install chkconfig will install chkconfig for us RHEL admins that can’t/refuse to make the jump to Ubuntu, but have to admin them.

  • Sebastian Colomar Feb 13, 2011 @ 19:48

    Thank you :-)

  • Ali Mar 17, 2011 @ 17:44


    I have a Debian server and I installed a Tomcat on it. I used:
    update-rc.d tomcat defaults
    to install Tomcat as service but my Tomcat only started when I logging to my server with ssh.

    how can I srat this service automatically?


  • Jun 1, 2012 @ 4:11

    it’s work, and thanks

  • titi corp Jun 4, 2012 @ 21:54

    Thanks, this is useful information.

  • Teatro May 24, 2013 @ 17:35

    Interesting, anyway i would like to know more about run levels in debian.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum