Commit 8921e32f authored by Lorenzo Faletra's avatar Lorenzo Faletra

Import Debian version 1.54+parrot1

init-system-helpers (1.54+parrot1) testing; urgency=medium

  * Import new Debian release.

init-system-helpers (1.54) unstable; urgency=medium

  * Revert "Drop fallback for old versions of systemd that didn't have
    is-enabled"
    If a package ships both init script and systemd service file, the
    systemd unit will not be enabled by the time invoke-rc.d is called
    (with current debhelper sequence). This would make systemctl is-enabled
    report the wrong status, and then the service would not be started.
    Add a comment noting this to avoid removing again in the future.
    This reverts commit 6f95680ffc9b1605841eb7d3d8eb92c790e6c73a.
    (Closes: #906421, #906051)

init-system-helpers (1.53) unstable; urgency=medium

  * tests: only load Linux::Clone if not testing on real system
    'use' directive is evaluated at compile time, so having it inside an 'if'
    statement does not have the expected effect. Use the 'use if' directive instead.
    This fixes running the autopkgtests in clean systems without Linux::Clone module

init-system-helpers (1.52) unstable; urgency=medium

  [ Felipe Sateler ]
  * Change Vcs-* urls to point to the new salsa service
  * Drop fallback for old versions of systemd that didn't have is-enabled.
    This reverts commit 0e43de3196a68e59d8a543d1cf7f5b4bfbb27451
  * invoke-rc.d: add option to do nothing for native systemd units.
    It is useful to simplify maintainer scripts, since it allows executing
    this command for sysvinit/openrc
    systems, and deb-systemd-invoke for systemd systems
  * Update Standards-Version
  * deb-systemd-*: Invoke perl interpreter directly in /usr/bin.
    Do not go through PATH, and avoid possibly using a user-installed
    interpreter
  * Bump debhelper compat level to 11
  * Fix manpage references in d/copyright.
    They were not updated when the manpages were converted to rst
  * Replace usage of dpkg-parsechangelog with pkg-info.mk provided by dpkg-dev

  [ Daniele Nicolodi ]
  * deb-systemd-helper: Fix typo in man page
  * d/rules: Fix man pages header and footer.
    Pass options to pod2mn to get correct header and footer content.
  * deb-systemd-helper: Add comment explaining why 'systemctl preset' is used
  * tests: Move common setup code and test functions to a new helpers.pm module
  * tests: Fix setup when TEST_ON_REAL_SYSTEM is not set
  * tests: Do not require Linux::Clone Perl module if TEST_ON_REAL_SYSTEM is
    set.
    If the TEST_ON_REAL_SYSTEM environment variable is set, the bind
    mounting of empty directories not top of system difrectoried affected
    by the tests is skipt. Therefore, there is no need to isolate the
    tests in a mount namespace.
  * tests: Make sure that the tests do not clutter the host system.
    In the mount namespace created for the tests, remount the root
    filesystem read-only. To be able to create temporary files and
    directories, mount a tmpfs on /tmp.
  * autopkgtests: Drop seteup steps that are not required anymore
  * deb-systemd-helper: Implement user instance's service handling
  * tests: Add tests for user instance's service handling
  * tests: Make calling 'deb-systemd-helper' in tests less verbose.
    Removing the shell interposition in the system() calls avoids edge
    cases in parameters handling (there were places where the randomly
    generated unit names were not correctly quoted) and speeds up tests
    execution.
  * tests: Check that the root filesystemd has been marked private
parent f35e7dfe
init-system-helpers (1.54+parrot1) testing; urgency=medium
* Import new Debian release.
-- Lorenzo "Palinuro" Faletra <palinuro@parrotsec.org> Wed, 05 Sep 2018 14:35:17 +0200
init-system-helpers (1.54) unstable; urgency=medium
* Revert "Drop fallback for old versions of systemd that didn't have
is-enabled"
If a package ships both init script and systemd service file, the
systemd unit will not be enabled by the time invoke-rc.d is called
(with current debhelper sequence). This would make systemctl is-enabled
report the wrong status, and then the service would not be started.
Add a comment noting this to avoid removing again in the future.
This reverts commit 6f95680ffc9b1605841eb7d3d8eb92c790e6c73a.
(Closes: #906421, #906051)
-- Felipe Sateler <fsateler@debian.org> Fri, 17 Aug 2018 10:33:08 -0300
init-system-helpers (1.53) unstable; urgency=medium
* tests: only load Linux::Clone if not testing on real system
'use' directive is evaluated at compile time, so having it inside an 'if'
statement does not have the expected effect. Use the 'use if' directive instead.
This fixes running the autopkgtests in clean systems without Linux::Clone module
-- Felipe Sateler <fsateler@debian.org> Wed, 15 Aug 2018 23:52:53 -0300
init-system-helpers (1.52) unstable; urgency=medium
[ Felipe Sateler ]
* Change Vcs-* urls to point to the new salsa service
* Drop fallback for old versions of systemd that didn't have is-enabled.
This reverts commit 0e43de3196a68e59d8a543d1cf7f5b4bfbb27451
* invoke-rc.d: add option to do nothing for native systemd units.
It is useful to simplify maintainer scripts, since it allows executing
this command for sysvinit/openrc
systems, and deb-systemd-invoke for systemd systems
* Update Standards-Version
* deb-systemd-*: Invoke perl interpreter directly in /usr/bin.
Do not go through PATH, and avoid possibly using a user-installed
interpreter
* Bump debhelper compat level to 11
* Fix manpage references in d/copyright.
They were not updated when the manpages were converted to rst
* Replace usage of dpkg-parsechangelog with pkg-info.mk provided by dpkg-dev
[ Daniele Nicolodi ]
* deb-systemd-helper: Fix typo in man page
* d/rules: Fix man pages header and footer.
Pass options to pod2mn to get correct header and footer content.
* deb-systemd-helper: Add comment explaining why 'systemctl preset' is used
* tests: Move common setup code and test functions to a new helpers.pm module
* tests: Fix setup when TEST_ON_REAL_SYSTEM is not set
* tests: Do not require Linux::Clone Perl module if TEST_ON_REAL_SYSTEM is
set.
If the TEST_ON_REAL_SYSTEM environment variable is set, the bind
mounting of empty directories not top of system difrectoried affected
by the tests is skipt. Therefore, there is no need to isolate the
tests in a mount namespace.
* tests: Make sure that the tests do not clutter the host system.
In the mount namespace created for the tests, remount the root
filesystem read-only. To be able to create temporary files and
directories, mount a tmpfs on /tmp.
* autopkgtests: Drop seteup steps that are not required anymore
* deb-systemd-helper: Implement user instance's service handling
* tests: Add tests for user instance's service handling
* tests: Make calling 'deb-systemd-helper' in tests less verbose.
Removing the shell interposition in the system() calls avoids edge
cases in parameters handling (there were places where the randomly
generated unit names were not correctly quoted) and speeds up tests
execution.
* tests: Check that the root filesystemd has been marked private
-- Felipe Sateler <fsateler@debian.org> Sun, 12 Aug 2018 10:19:38 -0300
init-system-helpers (1.51+parrot1) testing; urgency=medium
* Add new services to blacklist.
......
......@@ -5,12 +5,12 @@ Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.deb
Uploaders: Michael Biebl <biebl@debian.org>,
Martin Pitt <mpitt@debian.org>,
Felipe Sateler <fsateler@debian.org>
Build-Depends: debhelper (>= 10),
Build-Depends: debhelper (>= 11),
perl:any,
python3-docutils
Standards-Version: 4.0.0
Vcs-Git: https://anonscm.debian.org/git/collab-maint/init-system-helpers.git
Vcs-Browser: https://anonscm.debian.org/git/collab-maint/init-system-helpers.git
Standards-Version: 4.2.0
Vcs-Git: https://salsa.debian.org/debian/init-system-helpers.git
Vcs-Browser: https://salsa.debian.org/debian/init-system-helpers
Package: init-system-helpers
Architecture: all
......
......@@ -13,11 +13,11 @@ Copyright: 2006 Red Hat, Inc
2008 Canonical Ltd
License: GPL-2+
Files: script/invoke-rc.d man8/invoke-rc.d.8
Files: script/invoke-rc.d man8/invoke-rc.d.8.rst
Copyright: 2000,2001 Henrique de Moraes Holschuh <hmh@debian.org>
License: GPL-2+
Files: script/update-rc.d man8/update-rc.d.8
Files: script/update-rc.d man8/update-rc.d.8.rst
Copyright: 1997-2005 Miquel van Smoorenburg <miquels@cistron.nl>
Members of the pkg-sysvinit project
License: GPL-2+
......
......@@ -9,7 +9,7 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
VERSION = $(shell dpkg-parsechangelog -S Version)
include /usr/share/dpkg/pkg-info.mk
override_dh_perl:
dh_perl -d --package=init-system-helpers
......@@ -19,7 +19,7 @@ override_dh_auto_build:
dh_auto_build
set -e ; \
for file in script/deb-*; do \
pod2man --section=1p --utf8 $$file $$file.1p; \
pod2man --section=1p --utf8 --center="init-system-helpers" --release=$(DEB_VERSION) $$file $$file.1p; \
done
set -e ; \
for file in man8/*.rst ; do \
......@@ -31,7 +31,7 @@ override_dh_install-indep:
dh_install
mv $(SBIN)/update-rc.d $(SBIN)/debian-update-rc.d
cp script/parrot-update-rc.d $(SBIN)/update-rc.d
[ ! -d debian/init-system-helpers ] || sed -i 's/__VERSION__/$(VERSION)/' debian/init-system-helpers/usr/sbin/service
[ ! -d debian/init-system-helpers ] || sed -i 's/__VERSION__/$(DEB_VERSION)/' debian/init-system-helpers/usr/sbin/service
override_dh_gencontrol:
......
Tests: t
Depends: @,
cpanminus,
build-essential
Restrictions: needs-root, breaks-testbed, allow-stderr, isolation-container
#!/bin/sh
set -eu
mount --make-rprivate /
cpanm Linux::Clone
export TEST_ON_REAL_SYSTEM=1
for test in t/*.t; do
......
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\" Authors: Ian Jackson
.\" (c) 2003 Software in the Public Interest
.\" Traductor: Rubén Porras (nahoo@inicia.es)
.\" Revisado por : Javier Fernández-Sanguino Peńa (jfs@debian.org)
.\" Esteban Manchado Velázquez (zoso@demiurgo.org)
.\" Está basada en la página de manual original:
.\" versión 1.2 del CVS de /cvs/debian-doc/manpages/english/sysvinit/update-rc.d.8
.TH UPDATE\-RC.D 8 "23 de Diciembre de 2003" "Proyecto Debian" "sysv-rc"
.SH NOMBRE
update\-rc.d \- crea y borra los enlaces a los scripts init de tipo
System V
.SH SINOPSIS
.B update\-rc.d
.RI [ -n ]
.RI [ -f ]
.IB nombre " remove"
.HP
.B update-rc.d
.RI [ -n ]
.IB nombre " defaults"
.RI [ NN " | " NN-start " " NN-stop ]
.HP
.B update-rc.d
.RI [ -n ]
.I nombre
.BR start | stop
.IR "NN nivel_de_ejecución nivel_de_ejecución " ...
.B .
.BR start | stop
.IR "NN nivel_de_ejecución nivel_de_ejecución " ...
.BR . " ..."
.SH DESCRIPCI\['O]N
.B update-rc.d
actualiza automáticamente los enlaces a los scripts de init tipo
System V que se encuentran en
.BI /etc/rc[nivel_de_ejecución].d/NNnombre
y que apuntan a los script
.BI /etc/init.d/nombre\fR.
Estos son ejecutados por
.B init
cuando se cambia de nivel de ejecución y se usan generalmente para
arrancar y parar servicios del sistema (por ejemplo, demonios).
.I nivel_de_ejecución
es uno de los soportados por
.BR init ", " 0123456789S ,
y
.I NN
es el código de secuencia de dos dígitos usado por
.B init
para decidir en que orden se ejecutan los scripts.
Esta página del manual documenta sólo el modo de uso y comportamiento de
.BR update-rc.d .
Para una explicación más detallada sobre la administración de los
scripts de init estilo System V, por favor, lea
.BR init (8)
y el
.IR "Manual de normativa de Debian" .
.SH CREACI\['O]N DE ENLACES A LOS SCRIPTS DE INIT
Cuando se ejecuta con una o varias de las opciones
.BR defaults ", " start ", o " stop ,
.B update-rc.d
crea los enlaces
.BI /etc/rc[nivel_de_ejecución].d/[SK]NNnombre
apuntando al script
.BI /etc/init.d/nombre\fR.
Si ya existe algún fichero con el nombre
.BI /etc/rc[nivel_de_ejecución].d/[SK]??
entonces
.B update-rc.d
no hace nada. Esto es así para que el administrador del sistema pueda
reorganizar los enlaces ( teniendo en cuenta que debe dejar al
menos un enlace si los quiere eliminar ) sin que se sobreescriba su
configuración.
Si se usa la opción
.B defaults
entonces
.B update-rc.d
creará enlaces para arrancar los servicios en los niveles de ejecución
.B 2345
y parar los servicios en los niveles de ejecución
.BR 016 .
Por omisión todos los enlaces tendrán el código de secuencia 20, pero
esto puede cambiarse especificando uno o dos argumentos
.I NN.
Un argumento cambia el valor por omisión del código de secuencia tanto
para los enlaces de arranque como para los de parada, y si se
proporcionan dos argumentos el primero cambia el código de los enlaces
de arranque y el segundo el de los enlaces de parada.
En vez de usar
.B defaults
, los niveles de ejecución en los que se arranca o se para un servicio
pueden ser especificados explícitamente mediante un conjunto de
argumentos:
Cada uno de estos conjuntos empieza con un argumento
.BR start " o " stop
para especificar cuándo se van a crear enlaces para arrancar o parar
el servicio.
Luego les sigue
.IR NN ,
el código de secuencia para todos los enlaces del conjunto, y uno o
más números de nivel de ejecución, cada uno como un solo argumento. El
conjunto se termina con el argumento
.B '.'
(un punto).
Cuando se especifican explícitamente los niveles de ejecución,
normalmente habrá un conjunto
.B start
y otro
.B stop .
Si son necesarios diferentes códigos de secuencia para los
distintos niveles de ejecución, entonces es necesario especificar
varios conjuntos
.B start
y
.B stop .
El script
.BI /etc/init.d/nombre
debe existir antes de ejecutar
.B update-rc.d
para crear los enlaces.
.SH BORRADO DE LOS SCRIPTS
Cuando se ejecuta con la opción
.I remove
, update-rc.d borra todos los enlaces dentro del directorio
.BI /etc/rc[nivel_de_ejecución].d
que apunten al script
.BI /etc/init.d/nombre\fR .
El script debe haber sido borrado previamente (
.B update-rc.d
lo comprueba ).
Normalmente los scripts post-eliminación de los paquetes ejecutan
.B update-rc.d
cuando detectan que su primer argumento es
.BR purge
, dado que esto indica que el administrador ha pedido explícitamente
que se borren los scripts de configuración proporcionados por el paquete.
Cualquier fichero en los directorios
.BI /etc/rc[nivel_de_ejecución].d
que no sea un enlace simbólico apuntando a un script en
.BI /etc/init.d/nombre
se mantendrá intacto.
.SH OPCIONES
.TP
.I -n
No hacer nada, solamente indicar que hubiera hecho.
.TP
.I -f
Borrar los enlaces incluso si todavía existe el script
.BI /etc/init.d/nombre .
.SH EJEMPLOS
Crear los enlaces usando los parámetros por omisión:
.nf
.B update-rc.d foobar defaults
.fi
Comando equivalente usando explícitamente un conjunto de argumentos:
.nf
.B update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
.fi
.SH FALLOS
No existe aún una forma para que el administrador pueda especificar al menos
los niveles de ejecución que
.B update-rc.d
usará por defecto para arrancar y parar los servicios cuando se
utilice la opción
.B defaults
ni la posibilidad de cambiar otros comportamientos.
.SH FICHEROS
.TP
.B /etc/init.d/
El directorio que contienen los scripts de arranque y parada.
.TP
.B /etc/rc?.d/
Los directorios que contienen los enlaces usados por
.BR init
y administrados por
.BR update-rc.d .
.TP
.B /etc/init.d/skeleton
Un modelo a usar por los que escriban scripts de
.B init.d .
.SH VER ADEM\['A]S
.IR "Manual de normativa de Debian"
, modelo a usar por los que escriban scripts de
.B init.d .
.BR /etc/init.d/skeleton
,
.br
.BR init (8) .
.SH TRADUCTOR
Traducción de Rubén Porras Campo <debian-l10n-spanish@lists.debian.org>
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\" Authors: Ian Jackson
.\" Traduction de la révision CVS 1.4
.TH UPDATE\-RC.D 8 "23 décembre 2003" "Projet Debian " "Utilitaires de dpkg"
.SH NOM
update\-rc.d \- Pour installer ou supprimer les liens vers les scripts
d'initialisation de type System-V
.SH SYNOPSIS
.B update\-rc.d
.RI [ -n ]
.RI [ -f ]
.IB nom " remove"
.HP
.B update-rc.d
.RI [ -n ]
.IB nom " defaults"
.RI [ NN " | " NN-start " " NN-stop ]
.HP
.B update-rc.d
.RI [ -n ]
.I nom
.BR start | stop
.IR "NN runlevel runlevel " ...
.B .
.BR start | stop
.IR "NN runlevel runlevel " ...
.BR . " ..."
.SH DESCRIPTION
.B update-rc.d
met à jour automatiquement les liens vers les scripts d'initialisation de type
System-V dont le nom est
.BI /etc/rc runlevel .d/ NNnom
vers les scripts
.BI /etc/init.d/ name \fR.
Ils sont lancés par
.B init
quand on change de niveau de fonctionnement et ils sont généralement utilisés
pour démarrer ou arrêter des services tels que les démons.
.I runlevel
est l'un des niveaux de fonctionnement autorisés par
.BR init ", " 0123456789S ,
et
.I NN
est le code à deux chiffres utilisé par
.B init
pour décider de l'ordre d'exécution des scripts.
Cette page de manuel documente seulement le comportement de
.BR update-rc.d
et son utilisation.
Pour une discussion sur la préparation des scripts pour l'initialisation de type System-V voyez
.BR init (8)
et la
.IR "charte Debian" .
.SH L'INSTALLATION DES LIENS DES SCRIPTS D'INITIALISATION
Quand update-rc.d est lancé avec les options
.BR defaults ", " start ", ou " stop,
il crée les liens
.BI /etc/rc runlevel .d/[SK] NNname
qui pointent vers le script
.BI /etc/init.d/ name\fR.
Quand des fichiers
.BI /etc/rc runlevel .d/[SK]?? name
existent déjà,
.B update-rc.d
ne fait rien. C'est ainsi pour que l'administrateur système puisse
réarranger les liens -- à condition qu'il en reste au moins un -- sans
que sa configuration ne soit réécrite.
Quand l'option
.B defaults
est utilisée,
.B update-rc.d
crée des liens pour démarrer un service dans les niveaux de fonctionnement
.B 2345
et des liens pour arrêter un service dans les niveaux
.BR 016 .
Par défaut, tous les liens ont un code égal à 20, mais on peut le changer en
donnant un ou deux arguments
.I NN ;
quand un seul argument est donné, il remplace le code à la fois pour les
liens de démarrage (start) et pour les liens d'arrêt (stop) ; quand deux
arguments sont donnés, le premier remplace le code pour les liens de
démarrage (start) et le second remplace le code pour les liens d'arrêt (stop).
Au lieu de
.B defaults,
on peut indiquer les niveaux de fonctionnement dans lesquels lancer ou
arrêter les services en utilisant une suite explicite d'ensembles d'arguments :
Chacun de ces ensembles commence par un argument
.BR start " ou " stop
de manière à indiquer s'il faut créer des liens de démarrage ou d'arrêt.
Ensuite vient le nombre du code
.IR NN ,
pour tous les liens de cet ensemble, puis un ou plusieurs nombres indiquant
le niveau de fonctionnement, un seul argument pour chacun. l'ensemble se
termine par un argument
.B .
(un simple point).
Quand, plutôt que
.BR defaults,
on utilise une détermination explicite, il faut habituellement un ensemble de
démarrage
.B start,
et un ensemble d'arrêt
.B stop.
Quand on veut différents codes dans les différents niveaux de fonctionnement,
on peut spécifier différents ensembles de démarrage
.B start
ou différents ensembles d'arrêt
.B stop.
Le script
.BI /etc/init.d/ name
doit exister avant de lancer
.B update-rc.d
pour créer les liens.
.SH LA SUPPRESSION DES SCRIPTS
Quand on appelle update-rc.d avec l'option
.I remove
les liens dans les répertoires
.BI /etc/rc runlevel .d
qui pointent vers le script
.BI /etc/init.d/ name\fR.
sont supprimés.
Ce script doit déjà avoir été supprimé --
.B update-rc.d
vérifie cela.
On appelle habituellement
.B update-rc.d
dans le script « post-removal » d'un paquet et quand ce script a détecté que
son premier argument était
.BR purge ;
Cela indique que l'utilisateur a demandé le suppression de la configuration de
ce paquet.
Tout fichier dans les répertoires
.BI /etc/rc runlevel .d
qui n'est pas un lien symbolique vers le script
.BI /etc/init.d/ name
est préservé.
.SH OPTIONS
.TP
.I -n
Ne fait rien, montre seulement ce qui pourrait être fait.
.TP
.I -f
Force la suppression des liens même si
.BI /etc/init.d/ name
existe encore.
.SH EXEMPLES
Insère des liens avec l'option « defaults » :
.nf
.B " update-rc.d foobar defaults"
.fi
La męme commande, avec une détermination explicite utilisant les ensembles
d'arguments :
.nf
.B " update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 ."
.fi
.SH BOGUES
Il devrait y avoir un moyen pour l'administrateur système d'indiquer à
l'option
.B defaults
au moins les niveaux de fonctionnement par défaut à utiliser pour le
démarrage et l'arrêt des services ; l'administrateur systàme devrait sans
doute aussi pouvoir changer d'autres choses.
.SH FICHIERS
.TP
.B /etc/init.d/
Le répertoire qui contient en fait les scripts d'initialisation.
.TP
.B /etc/rc?.d/
Le répertoire qui contient les liens utilisés par
.BR init
et gérés par
.BR update-rc.d.
.TP
.B /etc/init.d/skeleton
Modàle pour l'écriture des scripts de
.B init.d.
.SH VOIR AUSSI
.IR "la charte Debian" ,
.br
.BR /etc/init.d/skeleton ,
.br
.BR init (8).
.SH TRADUCTION
Philippe Batailler. Dec 2000.
......@@ -101,6 +101,12 @@ OPTIONS
this is usually a very bad idea for any actions other
than start.
*--skip-systemd-native*
Exits before doing anything if a systemd environment is detected
and the requested service is a native systemd unit.
This is useful for maintainer scripts that want to defer systemd
actions to ``deb-systemd-invoke``\(1p\)
STATUS CODES
============
......
.\" Hey, Emacs! This is an -*- nroff -*- source file.
.\" Authors: Ian Jackson
.\" Original manpage cvs revision 1.4
.TH UPDATE\-RC.D 8 "2 March 1998" "Debian Project" "dpkg utilities"
.SH 名前
update\-rc.d \- System-V スタイルの init スクリプト用のリンクをインストール、削除する
.SH 書式
.B update\-rc.d
.RI [ -n ]
.RI [ -f ]
.IB name " remove"
.HP
.B update-rc.d
.RI [ -n ]
.RI [ -f ]
.IB name " defaults"
.RI [ NN " | " NN-start " " NN-stop ]
.HP
.B update-rc.d
.RI [ -n ]
.RI [ -f ]
.I name
.BR start | stop
.IR "NN runlevel runlevel " ...
.B .
.BR start | stop
.IR "NN runlevel runlevel " ...
.BR . " ..."
.SH 説明
.B update-rc.d
は、
スクリプト
.BI /etc/init.d/ name \fR
へのリンクである
.BI /etc/rc runlevel .d/ NNname
を自動的に作成する。
.BI /etc/rc runlevel .d/ NNname
は System V スタイルの init スクリプト用のリンクであり、
ランレベルを変更する際に
.B init
によって実行され、一般にデーモンのようなシステムサービスの起動、
停止に使用される。
.I runlevel
には
.BR init
がサポートするランレベル数
.BR 0123456789S
のうちのひとつを指定する。
.I NN
は 2 桁の数字であり、
.B init
がスクリプトを実行する順序を決めるために使用する。
このマニュアルは
.BR update-rc.d
の使用法とその動作についてのみ言及する。
System V スタイルの init スクリプトの配置についての議論には、
.BR init (8)
.IR "dpkg programmers' manual"
を参照すること。
.SH INIT スクリプト用のリンクをインストールする
.BR defaults ", " start ", " stop
オプションのいずれかを使って実行した場合、
update-rc.d は
.BI /etc/rc runlevel .d/[SK] NNname
をスクリプト
.BI /etc/init.d/ name\fR
にリンクする。
ファイル
.BI /etc/rc runlevel .d/[SK]?? name
がすでに存在する場合には、
.B update-rc.d
は何もしない。これは、システム管理者がひとつでもリンクを残していた
場合に、その設定を上書きされることがなく、別の場所に移動させること
ができるようにするためである。
.B defaults
が使用された場合、
.B update-rc.d
はランレベル
.B 2345
にサービスの起動用リンクを、ランレベル
.BR 016
にサービスの停止用リンクを作成する。デフォルトでは、リンクはすべて
のシーケンスコード 20 を持つが、引数
.I NN
をひとつ、又はふたつ与えることで変更することができる。引数がひとつ
の場合、起動用リンクと停止用リンクの両方のシーケンスコードを変更す
る。一方、引数がふたつ与えられた場合、ひとつめが起動用リンクのシー
ケンスコードを、ふたつめが停止用リンクのシーケンスコードを変更す
る。
.B defaults
を使用する代わりに、引数セットを与えることで
サービスを起動、停止するランレベルを明示的に指定することができる。
引数セットはそれぞれ引数
.BR start " または " stop
で始まり、これにより起動用リンクまたは停止用リンクのどちらを作成す
るか指定する。次に、引数セットのリンクすべてに対するシーケンスコー
ド番号
.IR NN
を指定し、更にひとつ以上のランレベル数をそれぞれひとつの引数として
与える。引数セットは引数
.B .
(ピリオド)により終了する。
.BR defaults
を使用せず明示的に指定した場合、通常
.B start
セットと
.B stop
セットがひとつずつ存在する。
ランレベルごとに異なるシーケンスコードが必要な場合は、
.B start
セットや
.B stop
セットを複数指定する。
.B update-rc.d
がリンクを作成する前に、
スクリプト
.BI /etc/init.d/ name
が存在していなくてはならない。
.SH リンク削除用のスクリプト
.I remove
オプションを引数に与えると、
.BI /etc/rc runlevel .d
ディレクトリにあるスクリプト
.BI /etc/init.d/ name\fR
へのリンクをすべて削除する。
スクリプトはあらかじめ削除されていなくてはならない。
.B update-rc.d
はこれをチェックする。通常、
.B update-rc.d
はパッケージの postrm スクリプトから呼び出される。
これが実行されるのは、postrm スクリプトの第1引数として
.BR purge
が与えられた場合であり、これはユーザがパッケージの設定を削除
することを要求していることを表す。
.BI /etc/rc runlevel .d
ディレクトリにあるがスクリプト
.BI /etc/init.d/ name
にシンボリックリンクされていないファイルは削除されずに残される。
.SH オプション
.TP
.I -n
実際の動作を表示するだけで、何もしない。
.TP
.I -f
.BI /etc/init.d/ name
が存在しいても、強制的にシンボリックリンクを削除する。
.SH 使用例
defaults を使用したリンクの作成
.nf
.B " update-rc.d foobar defaults"
.fi
引数セットを明示した同等のコマンド
.nf
.B " update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 ."
.fi
.SH バグ
システム管理者のために少なくとも
.B defaults
でどのランレベルを start または stop にするかを指定できる方法が必要である。
また、可能ならば
.B defaults
以外のオプションでも管理者の指定を優先する方法が必要。
.SH ファイル
.TP
.B /etc/init.d/
init スクリプトが実際に置いてあるディレクトリ
.TP
.B /etc/rc?.d/
.BR update-rc.d
が取り扱うリンクを含んだディレクトリ。
.BR init
により使用される。
.TP
.B /etc/init.d/skeleton
.B init.d
スクリプトを書くために使用する雛型
.SH 関連項目
.IR "dpkg programmers manual" ,
.br
.BR /etc/init.d/skeleton ,
.br
.BR init (8).
.SH 翻訳者
鍋谷 栄展 <nabetani@kern.phys.sci.osaka-u.ac.jp>
#!/usr/bin/env perl
#!/usr/bin/perl
# vim:ts=4:sw=4:expandtab