> Ubuntu >

Ubuntu 12.04不能使用chkconfig管理服务

今天在虚拟机里做DRBD实验,使用chkconfig管理服务的时候,出现了问题。 

  1. root@node2:/root# chkconfig --list | grep drbd 
  2. drbd                      0:off  1:off  2:off  3:off  4:off  5:off  6:off 
  3. root@node2:/root# chkconfig drbd on 
  4. /sbin/insserv: No such file or directory 

这是Ubuntu 12.04的一个BUG,使用以下方法可以解决 


  1. root@node2:/root# whereis insserv 
  2. insserv: /etc/insserv /etc/insserv.conf /usr/lib/insserv /usr/share/insserv /usr/share/man/man8/insserv.8.gz 

把上面找到的目录,一个一个的看一遍,发现文件在/usr/lib/里面 


  1. root@node2:/root# ls -l /usr/lib/insserv/ 
  2. total 56 
  3. -rwxr-xr-x 1 root root 56368 Apr  9 19:07 insserv 

然后我就做了个连接过去 


  1. root@node2:/root# ln -s /usr/lib/insserv /sbin/insserv 
  2. root@node2:/root# chkconfig drbd on 
  3. /sbin/insserv: Permission denied 

从上面看出,报了一个权限不允许,很郁闷 


  1. root@node2:/root# ls -l /sbin/insserv
  2. lrwxrwxrwx 1 root root 16 Jun 21 04:27 /sbin/insserv -> /usr/lib/insserv 
  3. root@node2:/root# ls -l /usr/lib/insserv 
  4. total 56 
  5. -rwxr-xr-x 1 root root 56368 Apr  9 19:07 insserv 

从上面看出,有权限的啊,好郁闷,最后发现 /usr/lib/insserv竟然是一个目录


  1. root@node2:~# cd /usr/lib/insserv/ 
  2. root@node2:/usr/lib/insserv# pwd
  3. /usr/lib/insserv 
  4. root@node2:/usr/lib/insserv# ls 
  5. insserv 

然后就好解决了 


  1. root@node2:/usr/lib/insserv# rm -rf /sbin/insserv 
  2. root@node2:/usr/lib/insserv# ln -s /usr/lib/insserv/insserv /sbin/insserv 
  3. root@node2:/usr/lib/insserv# chkconfig drbd on 
  4. The script you are attempting to invoke has been converted to an Upstart 
  5. job, but lsb-header is not supported for Upstart jobs. 
  6. insserv: warning: script 'friendly-recovery' missing LSB tags and overrides 
  7. insserv: Default-Start undefined, assuming empty start runlevel(s) for script `friendly-recovery' 
  8. insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `friendly-recovery' 

报了一堆的其它错误,先不管吧,看看服务OK没 


  1. root@node2:/usr/lib/insserv# chkconfig --list | grep drbd 
  2. drbd                      0:off  1:off  2:on   3:on   4:on   5:on   6:off 
  3. root@node2:/usr/lib/insserv#  

OK,现在看到服务已经搞定了。Ubuntu还是有Bug的,呵呵,好像还挺多。以前总是玩RedHat,没发现类似的问题。

 

(责任编辑:IT)