{"id":128,"date":"2011-07-06T14:00:50","date_gmt":"2011-07-06T17:00:50","guid":{"rendered":"http:\/\/blog.abratel.com.br\/2011\/07\/06\/update-rcd-no-debian-60-no-way-initd-debian-6-mudou\/"},"modified":"2011-07-06T14:00:50","modified_gmt":"2011-07-06T17:00:50","slug":"update-rcd-no-debian-60-no-way-initd-debian-6-mudou","status":"publish","type":"post","link":"https:\/\/blog.abratel.com.br\/?p=128","title":{"rendered":"Update-rc.d no Debian 6.0? No way! init.d Debian 6 mudou!"},"content":{"rendered":"<p>No Debian 6.0 todos os scripts de inicializa\u00e7\u00e3o &#8220;\/etc\/init.d\/&#8221; foram convertidos para ordenar a sequencia de boot baseado em um padr\u00e3o especificado na Base Standard de Linux (LSB). Com o aderimento a esse padr\u00e3o agora existe um cabe\u00e7alho em todos os scripts de inicializa\u00e7\u00e3o onde s\u00e3o indicadas as depend\u00eancias que ele necessita para poder ser executa, fazendo com que o script inicie s\u00f3 depois de tais depend\u00eancias.<\/p>\n<p>Esta funcionalidade \u00e9 ativada pelo insserv que ordena os scripts init.d baseando-se nas suas depend\u00eancias declaradas nos cabe\u00e7alhos.<\/p>\n<p>Ou seja, para adicionar\/remover servi\u00e7os da inicializa\u00e7\u00e3o no Debian 6.0 n\u00e3o se usa mais o &#8220;update-rc.d&#8221; e sim o &#8220;insserv&#8221;!<\/p>\n<p>Vamos a pratica!<\/p>\n<p>Removendo o cron ta inicializa\u00e7\u00e3o do sistema:<\/p>\n<p>root@fw:~# insserv -rv cron<br \/>\ninsserv: remove service \/etc\/init.d\/..\/rc2.d\/S03cron<br \/>\ninsserv: remove service \/etc\/init.d\/..\/rc3.d\/S03cron<br \/>\ninsserv: remove service \/etc\/init.d\/..\/rc4.d\/S03cron<br \/>\ninsserv: remove service \/etc\/init.d\/..\/rc5.d\/S03cron<br \/>\ninsserv: creating .depend.boot<br \/>\ninsserv: creating .depend.start<br \/>\ninsserv: creating .depend.stop<\/p>\n<p>Adicionando o cron na inicializa\u00e7\u00e3o do sistema:<\/p>\n<p>root@fw:~# insserv -v cron<br \/>\ninsserv: enable service ..\/init.d\/cron -> \/etc\/init.d\/..\/rc2.d\/S03cron<br \/>\ninsserv: enable service ..\/init.d\/cron -> \/etc\/init.d\/..\/rc3.d\/S03cron<br \/>\ninsserv: enable service ..\/init.d\/cron -> \/etc\/init.d\/..\/rc4.d\/S03cron<br \/>\ninsserv: enable service ..\/init.d\/cron -> \/etc\/init.d\/..\/rc5.d\/S03cron<br \/>\ninsserv: creating .depend.boot<br \/>\ninsserv: creating .depend.start<br \/>\ninsserv: creating .depend.stop<\/p>\n<p>Beleza! Mas onde s\u00e3o definidos em quais runlevels ele ser\u00e1 inicializado por padr\u00e3o? O insserv se baseia no cabe\u00e7alho declarado dentro do \/etc\/ini.t\/cron, veja:<\/p>\n<p>root@fw:~# cat \/etc\/init.d\/cron<br \/>\n#!\/bin\/sh<br \/>\n# Start\/stop the cron daemon.<br \/>\n#<br \/>\n### BEGIN INIT INFO<br \/>\n# Provides:          cron<br \/>\n# Required-Start:    $remote_fs $syslog $time<br \/>\n# Required-Stop:     $remote_fs $syslog $time<br \/>\n# Should-Start:      $named slapd autofs ypbind nscd nslcd<br \/>\n# Should-Stop:       $named slapd autofs ypbind nscd nslcd<br \/>\n# Default-Start:     2 3 4 5<br \/>\n# Default-Stop:<br \/>\n# Short-Description: Regular background program processing daemon<br \/>\n# Description:       cron is a standard UNIX program that runs user-specified<br \/>\n#                    programs at periodic scheduled times. vixie cron adds a<br \/>\n#                    number of features to the basic UNIX cron, including better<br \/>\n#                    security and more powerful configuration options.<br \/>\n### END INIT INFO<\/p>\n<p>No campo &#8220;Default-Start:&#8221; \u00e9 passado em quais runlevels ele ser\u00e1 iniciado por padr\u00e3o.<\/p>\n<p>Legal! E de onde o insserv tira a prioridade de rodar os scripts, exemplo do cron (&#8220;\/etc\/init.d\/..\/rc2.d\/S03cron&#8221;) iniciando com prioridade 03? A\u00ed que est\u00e1 a grande novidade, voc\u00ea n\u00e3o ira mais editar essa prioridade na m\u00e3o, o insserv vai calcular a prioridade de acordo com o tal cabe\u00e7alho verificando quais os scripts devem ser iniciados antes para que o script seja executado. Exemplo:<\/p>\n<p>root@fw:~# cat \/etc\/init.d\/cron<br \/>\n#!\/bin\/sh<br \/>\n# Start\/stop the cron daemon.<br \/>\n#<br \/>\n### BEGIN INIT INFO<br \/>\n# Provides:          cron<br \/>\n# Required-Start:    $remote_fs $syslog $time<br \/>\n# Required-Stop:     $remote_fs $syslog $time<br \/>\n# Should-Start:      $named slapd autofs ypbind nscd nslcd<br \/>\n# Should-Stop:       $named slapd autofs ypbind nscd nslcd<br \/>\n# Default-Start:     2 3 4 5<br \/>\n# Default-Stop:<br \/>\n# Short-Description: Regular background program processing daemon<br \/>\n# Description:       cron is a standard UNIX program that runs user-specified<br \/>\n#                    programs at periodic scheduled times. vixie cron adds a<br \/>\n#                    number of features to the basic UNIX cron, including better<br \/>\n#                    security and more powerful configuration options.<br \/>\n### END INIT INFO<\/p>\n<p>No campo &#8220;Should-Start:&#8221; s\u00e3o definidos os scripts que dever\u00e3o ser iniciados antes do script em quest\u00e3o, no caso o cron. De acordo com o cabe\u00e7alho dele, ele ira rodar s\u00f3 depois que &#8220;$named slapd autofs ypbind nscd nslcd&#8221; rodarem. Ent\u00e3o \u00e9 por isso que o insserv deu a prioridade 03.<\/p>\n<p>Essa foi uma pincelada sobre esse novo modelo de gerenciamento de scripts do init.d.<\/p>\n<p>Para voc\u00ea entender melhor outros par\u00e2metros, como $remote_fs $syslog $time, que s\u00e3o passados nesses campos, de uma conferida no wiki oficial do Debian: http:\/\/wiki.debian.org\/LSBInitScripts<\/p>\n<p>Para conferir oficialmente as mudan\u00e7as registradas segue os links:<\/p>\n<p>http:\/\/wiki.debian.org\/LSBInitScripts\/DependencyBasedBoot<\/p>\n<p>http:\/\/www.debian.org\/releases\/stable\/i386\/release-notes\/ch-whats-new.pt.html#dependency-boot<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No Debian 6.0 todos os scripts de inicializa\u00e7\u00e3o &#8220;\/etc\/init.d\/&#8221; foram convertidos para ordenar a sequencia de boot baseado em um padr\u00e3o especificado na Base Standard de Linux (LSB). Com o aderimento a esse padr\u00e3o agora existe um cabe\u00e7alho em todos os scripts de inicializa\u00e7\u00e3o onde&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/128"}],"collection":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=128"}],"version-history":[{"count":0,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=\/wp\/v2\/posts\/128\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.abratel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}