Not sure if this is a but or not:, but: [root@joshua /root]# head -1 /etc/xinetd.d/telnet # default: on [root@joshua /root]# grep disable /etc/xinetd.d/telnet disable = no [root@joshua /root]# chkconfig --del telnet [root@joshua /root]# grep disable /etc/xinetd.d/telnet disable = no [root@joshua /root]# chkconfig --add telnet [root@joshua /root]# grep disable /etc/xinetd.d/telnet disable = no The man page for chkconfig doesn't mention xinetd services, so I'm not sure if this is a bug or not. I see that "chkconfig telnet on" works, even though using "on" without --level should turn on a service in runlevels 3, 4, and 5. Since --del and --add work with the *defined* run-levels as specified by the " #chkconfig:" lines in /etc/rc.d/init.d/ files, it should (IMHO) work for xinetd services in simlary fashion (as defined by the "# default: on" line).
--add adds the default chkconfig links (i.e, S20foo, K80foo). --del removes them. Since there are no links to add/remove for xinetd services, --add and --del don't do anything for them (similarly, since xinetd doesn't keep track of runlevels, the --level directive is ignored for xinetd services.)