# SOME DESCRIPTIVE TITLE. # Copyright (C) 1996, 1997, 1998 Ian Jackson, Christian Schwarz, 1998-2017, # The Debian Policy Mailing List # This file is distributed under the same license as the Debian Policy # Manual package. # FIRST AUTHOR , 2018. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Debian Policy Manual 4.1.6.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-29 11:06-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.6.0\n" #: ../../ch-opersys.rst:2 msgid "The Operating System" msgstr "" #: ../../ch-opersys.rst:7 msgid "File system hierarchy" msgstr "" #: ../../ch-opersys.rst:12 msgid "File System Structure" msgstr "" #: ../../ch-opersys.rst:14 msgid "" "The location of all files and directories must comply with the Filesystem" " Hierarchy Standard (FHS), version 3.0, with the exceptions noted below, " "and except where doing so would violate other terms of Debian Policy. The" " following exceptions to the FHS apply:" msgstr "" #: ../../ch-opersys.rst:19 msgid "" "The FHS requirement that architecture-independent application-specific " "static files be located in ``/usr/share`` is relaxed to a suggestion. In " "particular, a subdirectory of ``/usr/lib`` may be used by a package (or a" " collection of packages) to hold a mixture of architecture-independent " "and architecture-dependent files. However, when a directory is entirely " "composed of architecture-independent files, it should be located in " "``/usr/share``." msgstr "" #: ../../ch-opersys.rst:28 msgid "" "The optional rules related to user specific configuration files for " "applications are stored in the user's home directory are relaxed. It is " "recommended that such files start with the '``.``' character (a \"dot " "file\"), and if an application needs to create more than one dot file " "then the preferred placement is in a subdirectory with a name starting " "with a '.' character, (a \"dot directory\"). In this case it is " "recommended the configuration files not start with the '.' character." msgstr "" #: ../../ch-opersys.rst:37 msgid "" "Only the dynamic linker and libc are allowed to install files in " "``/lib64``." msgstr "" #: ../../ch-opersys.rst:40 msgid "" "The requirement for object files, internal binaries, and libraries, " "including ``libc.so.*``, to be located directly under ``/lib{,32}`` and " "``/usr/lib{,32}`` is amended, permitting files to instead be installed to" " ``/lib/triplet`` and ``/usr/lib/triplet``, where ``triplet`` is the " "value returned by ``dpkg-architecture -qDEB_HOST_MULTIARCH`` for the " "architecture of the package. Packages may *not* install files to any " "triplet path other than the one matching the architecture of that " "package; for instance, an ``Architecture: amd64`` package containing " "32-bit x86 libraries may not install these libraries to ``/usr/lib/i386" "-linux-gnu``. [#]_" msgstr "" #: ../../ch-opersys.rst:51 msgid "" "No package for a 64 bit architecture may install files in ``/usr/lib64/``" " or in a subdirectory of it." msgstr "" #: ../../ch-opersys.rst:54 msgid "" "The requirement for C and C++ headers files to be accessible through the " "search path ``/usr/include/`` is amended, permitting files to be " "accessible through the search path ``/usr/include/triplet`` where " "``triplet`` is as above. [#]_" msgstr "" #: ../../ch-opersys.rst:59 msgid "" "Applications may also use a single subdirectory under " "``/usr/lib/triplet``." msgstr "" #: ../../ch-opersys.rst:62 msgid "" "The execution time linker/loader, ld\\*, must still be made available in " "the existing location under /lib or /lib64 since this is part of the ELF " "ABI for the architecture." msgstr "" #: ../../ch-opersys.rst:66 msgid "" "The requirement that ``/usr/local/share/man`` be \"synonymous\" with " "``/usr/local/man`` is relaxed to a recommendation" msgstr "" #: ../../ch-opersys.rst:69 msgid "" "The requirement that window managers with a single configuration file " "call it ``system.*wmrc`` is removed, as is the restriction that the " "window manager subdirectory be named identically to the window manager " "name itself." msgstr "" #: ../../ch-opersys.rst:74 msgid "" "The requirement that boot manager configuration files live in ``/etc``, " "or at least are symlinked there, is relaxed to a recommendation." msgstr "" #: ../../ch-opersys.rst:78 msgid "" "``/var/run`` is required to be a symbolic link to ``/run``, and " "``/var/lock`` is required to be a symbolic link to ``/run/lock``." msgstr "" #: ../../ch-opersys.rst:81 msgid "The ``/var/www`` directory is additionally allowed." msgstr "" #: ../../ch-opersys.rst:83 msgid "" "The requirement for ``/usr/local/share/color`` to exist if " "``/usr/share/color`` exists is relaxed to a recommendation." msgstr "" #: ../../ch-opersys.rst:86 msgid "" "The requirement for ``/usr/local/libqual`` to exist if ``/libqual`` or " "``/usr/libqual`` exists (where ``libqual`` is a variant of ``lib`` such " "as ``lib32`` or ``lib64``) is removed." msgstr "" #: ../../ch-opersys.rst:90 msgid "" "On GNU/Hurd systems, the following additional directories are allowed in " "the root filesystem: ``/hurd`` and ``/servers``. [#]_" msgstr "" #: ../../ch-opersys.rst:93 msgid "" "As an exception to the requirement for there to be no subdirectories in " "``/usr/bin``, the ``mh`` mail-handling suite may create ``/usr/bin/mh/``," " as was allowed in FHS version 2.3. Other subdirectories are not allowed." msgstr "" #: ../../ch-opersys.rst:98 msgid "" "The version of this document referred here can be found in the ``debian-" "policy`` package or on `FHS (Debian copy) `_ alongside this manual (or, if you have the " "debian-policy installed, you can try `FHS (local copy) " "`_). The latest version, which " "may be a more recent version, may be found on `FHS (upstream) " "`_. Specific questions " "about following the standard may be asked on the ``debian-devel`` mailing" " list, or referred to the FHS mailing list (see the `FHS web site " "`_ for more information)." msgstr "" #: ../../ch-opersys.rst:113 msgid "Site-specific programs" msgstr "" #: ../../ch-opersys.rst:115 msgid "" "As mandated by the FHS, packages must not place any files in " "``/usr/local``, either by putting them in the file system archive to be " "unpacked by ``dpkg`` or by manipulating them in their maintainer scripts." msgstr "" #: ../../ch-opersys.rst:120 msgid "" "However, the package may create empty directories below ``/usr/local`` so" " that the system administrator knows where to place site-specific files. " "These are not directories *in* ``/usr/local``, but are children of " "directories in ``/usr/local``. These directories (``/usr/local/*/dir/``) " "should be removed on package removal if they are empty." msgstr "" #: ../../ch-opersys.rst:127 msgid "" "Note that this applies only to directories *below* ``/usr/local``, not " "*in* ``/usr/local``. Packages must not create sub-directories in the " "directory ``/usr/local`` itself, except those listed in FHS, section 4.9." " However, you may create directories below them as you wish. You must not" " remove any of the directories listed in 4.9, even if you created them." msgstr "" #: ../../ch-opersys.rst:134 msgid "" "If ``/etc/staff-group-for-usr-local`` does not exist, ``/usr/local`` and " "all subdirectories created by packages should have permissions 0755 and " "be owned by ``root:root``. If ``/etc/staff-group-for-usr-local`` exists," " ``/usr/local`` and subdirectories should have permissions 2775 (group-" "writable and set-group-id) and be owned by ``root:staff``." msgstr "" #: ../../ch-opersys.rst:141 msgid "" "Since ``/usr/local`` can be mounted read-only from a remote server, " "``/usr/local/*/dir/`` directories must be created and removed by the " "``postinst`` and ``prerm`` maintainer scripts and not be included in the " "``.deb`` archive. These scripts must not fail if either of these " "operations fail." msgstr "" #: ../../ch-opersys.rst:147 msgid "For example, the ``emacsen-common`` package could contain something like" msgstr "" #: ../../ch-opersys.rst:163 msgid "in its ``postinst`` script, and" msgstr "" #: ../../ch-opersys.rst:170 msgid "" "in the ``prerm`` script. (Note that this form is used to ensure that if " "the script is interrupted, the directory ``/usr/local/share/emacs`` will " "still be removed.)" msgstr "" #: ../../ch-opersys.rst:174 msgid "" "If you do create a directory in ``/usr/local`` for local additions to a " "package, you should ensure that settings in ``/usr/local`` take " "precedence over the equivalents in ``/usr``." msgstr "" #: ../../ch-opersys.rst:178 msgid "" "However, because ``/usr/local`` and its contents are for exclusive use of" " the local administrator, a package must not rely on the presence or " "absence of files or directories in ``/usr/local`` for normal operation." msgstr "" #: ../../ch-opersys.rst:185 msgid "The system-wide mail directory" msgstr "" #: ../../ch-opersys.rst:187 msgid "" "The system-wide mail directory is ``/var/mail``. This directory is part " "of the base system and should not be owned by any particular mail agents." " The use of the old location ``/var/spool/mail`` is deprecated, even " "though the spool may still be physically located there." msgstr "" #: ../../ch-opersys.rst:195 msgid "``/run`` and ``/run/lock``" msgstr "" #: ../../ch-opersys.rst:197 msgid "" "The directory ``/run`` is cleared at boot, normally by being a mount " "point for a temporary file system. Packages therefore must not assume " "that any files or directories under ``/run`` other than ``/run/lock`` " "exist unless the package has arranged to create those files or " "directories since the last reboot. Normally, this is done by the package " "via an init script. See :ref:`s-writing-init` for more information." msgstr "" #: ../../ch-opersys.rst:205 msgid "" "Packages must not include files or directories under ``/run``, or under " "the older ``/var/run`` and ``/var/lock`` paths. The latter paths will " "normally be symlinks or other redirections to ``/run`` for backwards " "compatibility." msgstr "" #: ../../ch-opersys.rst:213 msgid "Users and groups" msgstr "" #: ../../ch-opersys.rst:218 ../../ch-opersys.rst:326 msgid "Introduction" msgstr "" #: ../../ch-opersys.rst:220 msgid "" "The Debian system can be configured to use either plain or shadow " "passwords." msgstr "" #: ../../ch-opersys.rst:223 msgid "" "Some user ids (UIDs) and group ids (GIDs) are reserved globally for use " "by certain packages. Because some packages need to include files which " "are owned by these users or groups, or need the ids compiled into " "binaries, these ids must be used on any Debian system only for the " "purpose for which they are allocated. This is a serious restriction, and " "we should avoid getting in the way of local administration policies. In " "particular, many sites allocate users and/or local system groups starting" " at 100." msgstr "" #: ../../ch-opersys.rst:232 msgid "" "Apart from this we should have dynamically allocated ids, which should by" " default be arranged in some sensible order, but the behavior should be " "configurable." msgstr "" #: ../../ch-opersys.rst:236 msgid "" "Packages other than ``base-passwd`` must not modify ``/etc/passwd``, " "``/etc/shadow``, ``/etc/group`` or ``/etc/gshadow``." msgstr "" #: ../../ch-opersys.rst:242 msgid "UID and GID classes" msgstr "" #: ../../ch-opersys.rst:244 msgid "The UID and GID numbers are divided into classes as follows:" msgstr "" #: ../../ch-opersys.rst:254 msgid "0-99:" msgstr "" #: ../../ch-opersys.rst:247 msgid "" "Globally allocated by the Debian project, the same on every Debian " "system. These ids will appear in the ``passwd`` and ``group`` files of " "all Debian systems, new ids in this range being added automatically as " "the ``base-passwd`` package is updated." msgstr "" #: ../../ch-opersys.rst:252 msgid "" "Packages which need a single statically allocated uid or gid should use " "one of these; their maintainers should ask the ``base-passwd`` maintainer" " for ids." msgstr "" #: ../../ch-opersys.rst:262 msgid "100-999:" msgstr "" #: ../../ch-opersys.rst:257 msgid "" "Dynamically allocated system users and groups. Packages which need a user" " or group, but can have this user or group allocated dynamically and " "differently on each system, should use ``adduser --system`` to create the" " group and/or user. ``adduser`` will check for the existence of the user " "or group, and if necessary choose an unused id based on the ranges " "specified in ``adduser.conf``." msgstr "" #: ../../ch-opersys.rst:267 msgid "1000-59999:" msgstr "" #: ../../ch-opersys.rst:265 msgid "" "Dynamically allocated user accounts. By default ``adduser`` will choose " "UIDs and GIDs for user accounts in this range, though ``adduser.conf`` " "may be used to modify this behavior." msgstr "" #: ../../ch-opersys.rst:279 msgid "60000-64999:" msgstr "" #: ../../ch-opersys.rst:270 msgid "" "Globally allocated by the Debian project, but only created on demand. The" " ids are allocated centrally and statically, but the actual accounts are " "only created on users' systems on demand." msgstr "" #: ../../ch-opersys.rst:274 msgid "" "These ids are for packages which are obscure or which require many " "statically-allocated ids. These packages should check for and create the " "accounts in ``/etc/passwd`` or ``/etc/group`` (using ``adduser`` if it " "has this facility) if necessary. Packages which are likely to require " "further allocations should have a \"hole\" left after them in the " "allocation, to give them room to grow." msgstr "" #: ../../ch-opersys.rst:282 msgid "65000-65533:" msgstr "" #: ../../ch-opersys.rst:282 msgid "Reserved." msgstr "" #: ../../ch-opersys.rst:286 msgid "65534:" msgstr "" #: ../../ch-opersys.rst:285 msgid "User ``nobody``. The corresponding gid refers to the group ``nogroup``." msgstr "" #: ../../ch-opersys.rst:290 msgid "65535:" msgstr "" #: ../../ch-opersys.rst:289 msgid "" "This value *must not* be used, because it was the error return sentinel " "value when ``uid_t`` was 16 bits." msgstr "" #: ../../ch-opersys.rst:295 msgid "65536-4294967293:" msgstr "" #: ../../ch-opersys.rst:293 msgid "" "Dynamically allocated user accounts. By default ``adduser`` will not " "allocate UIDs and GIDs in this range, to ease compatibility with legacy " "systems where ``uid_t`` is still 16 bits." msgstr "" #: ../../ch-opersys.rst:300 msgid "4294967294:" msgstr "" #: ../../ch-opersys.rst:298 msgid "" "``(uid_t)(-2) == (gid_t)(-2)`` *must not* be used, because it is used as " "the anonymous, unauthenticated user by some NFS implementations." msgstr "" #: ../../ch-opersys.rst:304 msgid "4294967295:" msgstr "" #: ../../ch-opersys.rst:303 msgid "" "``(uid_t)(-1) == (gid_t)(-1)`` *must not* be used, because it is the " "error return sentinel value." msgstr "" #: ../../ch-opersys.rst:309 msgid "Non-existent home directories" msgstr "" #: ../../ch-opersys.rst:311 msgid "" "The canonical non-existent home directory is ``/nonexistent``. Users who" " should not have a home directory should have their home directory set to" " this value." msgstr "" #: ../../ch-opersys.rst:315 msgid "" "The Debian autobuilders set HOME to ``/nonexistent`` so that packages " "which try to write to a home directory will fail to build." msgstr "" #: ../../ch-opersys.rst:321 msgid "System run levels and ``init.d`` scripts" msgstr "" #: ../../ch-opersys.rst:328 msgid "" "The ``/etc/init.d`` directory contains the scripts executed by ``init`` " "at boot time and when the init state (or \"runlevel\") is changed (see " "``init(8)``)." msgstr "" #: ../../ch-opersys.rst:332 msgid "" "There are at least two different, yet functionally equivalent, ways of " "handling these scripts. For the sake of simplicity, this document " "describes only the symbolic link method. However, it must not be assumed " "by maintainer scripts that this method is being used, and any automated " "manipulation of the various runlevel behaviors by maintainer scripts must" " be performed using ``update-rc.d`` as described below and not by " "manually installing or removing symlinks. For information on the " "implementation details of the other method, implemented in the ``file-" "rc`` package, please refer to the documentation of that package." msgstr "" #: ../../ch-opersys.rst:342 msgid "" "These scripts are referenced by symbolic links in the ``/etc/rcn.d`` " "directories. When changing runlevels, ``init`` looks in the directory " "``/etc/rcn.d`` for the scripts it should execute, where ``n`` is the " "runlevel that is being changed to, or ``S`` for the boot-up scripts." msgstr "" #: ../../ch-opersys.rst:347 msgid "" "The names of the links all have the form ``Smmscript`` or ``Kmmscript`` " "where mm is a two-digit number and script is the name of the script (this" " should be the same as the name of the actual script in ``/etc/init.d``)." msgstr "" #: ../../ch-opersys.rst:352 msgid "" "When ``init`` changes runlevel first the targets of the links whose names" " start with a ``K`` are executed, each with the single argument ``stop``," " followed by the scripts prefixed with an ``S``, each with the single " "argument ``start``. (The links are those in the ``/etc/rcn.d`` directory " "corresponding to the new runlevel.) The ``K`` links are responsible for " "killing services and the ``S`` link for starting services upon entering " "the runlevel." msgstr "" #: ../../ch-opersys.rst:360 msgid "" "For example, if we are changing from runlevel 2 to runlevel 3, init will " "first execute all of the ``K`` prefixed scripts it finds in " "``/etc/rc3.d``, and then all of the ``S`` prefixed scripts in that " "directory. The links starting with ``K`` will cause the referred-to file " "to be executed with an argument of ``stop``, and the ``S`` links with an " "argument of ``start``." msgstr "" #: ../../ch-opersys.rst:367 msgid "" "The two-digit number mm is used to determine the order in which to run " "the scripts: low-numbered links have their scripts run first. For " "example, the ``K20`` scripts will be executed before the ``K30`` scripts." " This is used when a certain service must be started before another. For " "example, the name server ``bind`` might need to be started before the " "news server ``inn`` so that ``inn`` can set up its access lists. In this " "case, the script that starts ``bind`` would have a lower number than the " "script that starts ``inn`` so that it runs first:" msgstr "" #: ../../ch-opersys.rst:381 msgid "" "The two runlevels 0 (halt) and 6 (reboot) are slightly different. In " "these runlevels, the links with an ``S`` prefix are still called after " "those with a ``K`` prefix, but they too are called with the single " "argument ``stop``." msgstr "" #: ../../ch-opersys.rst:389 msgid "Writing the scripts" msgstr "" #: ../../ch-opersys.rst:391 msgid "" "Packages that include daemons for system services should place scripts in" " ``/etc/init.d`` to start or stop services at boot time or during a " "change of runlevel. These scripts should be named " "``/etc/init.d/package``, and they should accept one argument, saying what" " to do:" msgstr "" #: ../../ch-opersys.rst:398 msgid "``start``" msgstr "" #: ../../ch-opersys.rst:398 msgid "start the service," msgstr "" #: ../../ch-opersys.rst:401 msgid "``stop``" msgstr "" #: ../../ch-opersys.rst:401 msgid "stop the service," msgstr "" #: ../../ch-opersys.rst:405 msgid "``restart``" msgstr "" #: ../../ch-opersys.rst:404 msgid "" "stop and restart the service if it's already running, otherwise start the" " service" msgstr "" #: ../../ch-opersys.rst:409 msgid "``try-restart``" msgstr "" #: ../../ch-opersys.rst:408 msgid "" "restart the service if it's already running, otherwise just report " "success." msgstr "" #: ../../ch-opersys.rst:413 msgid "``reload``" msgstr "" #: ../../ch-opersys.rst:412 msgid "" "cause the configuration of the service to be reloaded without actually " "stopping and restarting the service," msgstr "" #: ../../ch-opersys.rst:417 msgid "``force-reload``" msgstr "" #: ../../ch-opersys.rst:416 msgid "" "cause the configuration to be reloaded if the service supports this, " "otherwise restart the service." msgstr "" #: ../../ch-opersys.rst:420 msgid "``status``" msgstr "" #: ../../ch-opersys.rst:420 msgid "report the current status of the service" msgstr "" #: ../../ch-opersys.rst:422 msgid "" "The ``start``, ``stop``, ``restart``, and ``force-reload`` options should" " be supported by all scripts in ``/etc/init.d``. Supporting ``status`` is" " recommended but not required. The ``reload`` and ``try-restart`` options" " are optional." msgstr "" #: ../../ch-opersys.rst:427 msgid "" "The ``init.d`` scripts must ensure that they will behave sensibly (i.e., " "returning success and not starting multiple copies of a service) if " "invoked with ``start`` when the service is already running, or with " "``stop`` when it isn't, and that they don't kill unfortunately-named user" " processes. The best way to achieve this is usually to use ``start-stop-" "daemon`` with the ``--oknodo`` option." msgstr "" #: ../../ch-opersys.rst:434 msgid "" "Be careful of using ``set -e`` in ``init.d`` scripts. Writing correct " "``init.d`` scripts requires accepting various error exit statuses when " "daemons are already running or already stopped without aborting the " "``init.d`` script, and common ``init.d`` function libraries are not safe " "to call with ``set -e`` in effect. [#]_ For ``init.d`` scripts, it's " "often easier to not use ``set -e`` and instead check the result of each " "command separately." msgstr "" #: ../../ch-opersys.rst:442 msgid "" "If a service reloads its configuration automatically (as in the case of " "``cron``, for example), the ``reload`` option of the ``init.d`` script " "should behave as if the configuration has been reloaded successfully." msgstr "" #: ../../ch-opersys.rst:446 msgid "" "The ``/etc/init.d`` scripts must be treated as configuration files, " "either (if they are present in the package, that is, in the .deb file) by" " marking them as ``conffile``\\ s, or, (if they do not exist in the .deb)" " by managing them correctly in the maintainer scripts (see :ref:`s" "-config-files`). This is important since we want to give the local system" " administrator the chance to adapt the scripts to the local system, e.g.," " to disable a service without de-installing the package, or to specify " "some special command line options when starting a service, while making " "sure their changes aren't lost during the next package upgrade." msgstr "" #: ../../ch-opersys.rst:457 msgid "" "These scripts should not fail obscurely when the configuration files " "remain but the package has been removed, as configuration files remain on" " the system after the package has been removed. Only when ``dpkg`` is " "executed with the ``--purge`` option will configuration files be removed." " In particular, as the ``/etc/init.d/package`` script itself is usually a" " ``conffile``, it will remain on the system if the package is removed but" " not purged. Therefore, you should include a ``test`` statement at the " "top of the script, like this:" msgstr "" #: ../../ch-opersys.rst:470 msgid "" "Often there are some variables in the ``init.d`` scripts whose values " "control the behavior of the scripts, and which a system administrator is " "likely to want to change. As the scripts themselves are frequently " "``conffile``\\ s, modifying them requires that the administrator merge in" " their changes each time the package is upgraded and the ``conffile`` " "changes. To ease the burden on the system administrator, such " "configurable values should not be placed directly in the script. Instead," " they should be placed in a file in ``/etc/default``, which typically " "will have the same base name as the ``init.d`` script. This extra file " "should be sourced by the script when the script runs. It must contain " "only variable settings and comments in POSIX.1-2017 ``sh`` format. It may" " either be a ``conffile`` or a configuration file maintained by the " "package maintainer scripts. See :ref:`s-config-files` for more details." msgstr "" #: ../../ch-opersys.rst:485 msgid "" "To ensure that vital configurable values are always available, the " "``init.d`` script should set default values for each of the shell " "variables it uses, either before sourcing the ``/etc/default/`` file or " "afterwards using something like the ``: ${VAR:=default}`` syntax. Also, " "the ``init.d`` script must behave sensibly and not fail if the " "``/etc/default`` file is deleted." msgstr "" #: ../../ch-opersys.rst:492 msgid "" "Files and directories under ``/run``, including ones referred to via the " "compatibility paths ``/var/run`` and ``/var/lock``, are normally stored " "on a temporary filesystem and are normally not persistent across a " "reboot. The ``init.d`` scripts must handle this correctly. This will " "typically mean creating any required subdirectories dynamically when the " "``init.d`` script is run. See :ref:`s-fhs-run` for more information." msgstr "" #: ../../ch-opersys.rst:503 msgid "Interfacing with init systems" msgstr "" #: ../../ch-opersys.rst:505 msgid "" "Maintainers should use the abstraction layer provided by the ``update-" "rc.d`` and ``invoke-rc.d`` programs to deal with initscripts in their " "packages' scripts such as ``postinst``, ``prerm`` and ``postrm``." msgstr "" #: ../../ch-opersys.rst:509 msgid "" "Directly managing the /etc/rc?.d links and directly invoking the " "``/etc/init.d/`` initscripts should be done only by packages providing " "the initscript subsystem (such as ``sysv-rc`` and ``file-rc``)." msgstr "" #: ../../ch-opersys.rst:516 msgid "Managing the links" msgstr "" #: ../../ch-opersys.rst:518 msgid "" "The program ``update-rc.d`` is provided for package maintainers to " "arrange for the proper creation and removal of ``/etc/rcn.d`` symbolic " "links, or their functional equivalent if another method is being used. " "This may be used by maintainers in their packages' ``postinst`` and " "``postrm`` scripts." msgstr "" #: ../../ch-opersys.rst:524 msgid "" "You must not include any ``/etc/rcn.d`` symbolic links in the actual " "archive or manually create or remove the symbolic links in maintainer " "scripts; you must use the ``update-rc.d`` program instead. (The former " "will fail if an alternative method of maintaining runlevel information is" " being used.) You must not include the ``/etc/rcn.d`` directories " "themselves in the archive either. (Only the ``sysvinit`` package may do " "so.)" msgstr "" #: ../../ch-opersys.rst:532 msgid "" "To get the default behavior for your package, put in your ``postinst`` " "script::" msgstr "" #: ../../ch-opersys.rst:537 msgid "and in your ``postrm``::" msgstr "" #: ../../ch-opersys.rst:543 msgid "" "The default behaviour is to enable autostarting your package's daemon. " "The local administrator can override this using the command ``update-rc.d" " package disable``. If, however, the daemon should not be autostarted " "unless the local administrator has explicitly requested this, instead add" " to your ``postinst`` script::" msgstr "" #: ../../ch-opersys.rst:551 msgid "" "and add a dependency on ``init-system-helpers (>= 1.50)``, which " "introduced the ``defaults-disabled`` option. Then the local " "administrator can enable autostarting the daemon using the command " "``update-rc.d package enable``." msgstr "" #: ../../ch-opersys.rst:556 msgid "" "An older practice, which should not be used, was to include a line like " "``DISABLED=yes`` in the package's ``/etc/default`` file. The package's " "init script would not start the service until the local system " "administrator changed this to ``DISABLED=no``, or similar. The problem " "with this approach was that it hides from the init system whether or not " "the daemon should actually be started, which leads to inconsistent and " "confusing behavior: ``service start`` may return success but " "not start the service; services with a dependency on this service will be" " started even though the service isn't running; and init system status " "commands may incorrectly claim that the service was started." msgstr "" #: ../../ch-opersys.rst:568 msgid "" "Note that if your package changes runlevels or priority, you may have to " "remove and recreate the links, since otherwise the old links may persist." " Refer to the documentation of ``update-rc.d``." msgstr "" #: ../../ch-opersys.rst:572 msgid "" "For more information about using ``update-rc.d``, please consult its man " "page, update-rc.d(8)." msgstr "" #: ../../ch-opersys.rst:575 msgid "" "It is easiest for packages not to call ``update-rc.d`` directly, but " "instead use debhelper programs that add the required ``update-rc.d`` " "calls automatically. See ``dh_installinit``, ``dh_installsystemd``, etc." msgstr "" #: ../../ch-opersys.rst:582 msgid "Running initscripts" msgstr "" #: ../../ch-opersys.rst:584 msgid "" "The program ``invoke-rc.d`` is provided to make it easier for package " "maintainers to properly invoke an initscript, obeying runlevel and other " "locally-defined constraints that might limit a package's right to start, " "stop and otherwise manage services. This program may be used by " "maintainers in their packages' scripts." msgstr "" #: ../../ch-opersys.rst:590 msgid "" "The package maintainer scripts must use ``invoke-rc.d`` to invoke the " "``/etc/init.d/*`` initscripts or equivalent, instead of calling them " "directly." msgstr "" #: ../../ch-opersys.rst:594 msgid "" "By default, ``invoke-rc.d`` will pass any action requests (start, stop, " "reload, restart...) to the ``/etc/init.d`` script, filtering out requests" " to start or restart a service out of its intended runlevels." msgstr "" #: ../../ch-opersys.rst:598 msgid "Most packages will simply use:" msgstr "" #: ../../ch-opersys.rst:604 msgid "in their ``postinst`` and ``prerm`` scripts." msgstr "" #: ../../ch-opersys.rst:606 msgid "" "A package should register its initscript services using ``update-rc.d`` " "before it tries to invoke them using ``invoke-rc.d``. Invocation of " "unregistered services may fail." msgstr "" #: ../../ch-opersys.rst:610 msgid "" "For more information about using ``invoke-rc.d``, please consult its man " "page, invoke-rc.d(8)." msgstr "" #: ../../ch-opersys.rst:613 msgid "" "It is easiest for packages not to call ``invoke-rc.d`` directly, but " "instead use debhelper programs that add the required ``invoke-rc.d`` " "calls automatically. See ``dh_installinit``, ``dh_installsystemd``, etc." msgstr "" #: ../../ch-opersys.rst:620 msgid "Boot-time initialization" msgstr "" #: ../../ch-opersys.rst:622 ../../ch-opersys.rst:638 msgid "This section has been deleted." msgstr "" #: ../../ch-opersys.rst:627 msgid "Example" msgstr "" #: ../../ch-opersys.rst:629 msgid "" "Examples on which you can base your systemd integration on is available " "in the man page systemd.unit(8). An example on which you can base your " "``/etc/init.d`` scripts is available in the man page init-d-script(5)." msgstr "" #: ../../ch-opersys.rst:636 msgid "Console messages from ``init.d`` scripts" msgstr "" #: ../../ch-opersys.rst:643 msgid "Cron jobs" msgstr "" #: ../../ch-opersys.rst:645 msgid "" "Packages must not modify the configuration file ``/etc/crontab``, and " "they must not modify the files in ``/var/spool/cron/crontabs``." msgstr "" #: ../../ch-opersys.rst:648 msgid "" "If a package wants to install a job that has to be executed via cron, it " "should place a file named as specified in :ref:`s-cron-files` into one or" " more of the following directories:" msgstr "" #: ../../ch-opersys.rst:653 msgid "``/etc/cron.hourly``" msgstr "" #: ../../ch-opersys.rst:655 msgid "``/etc/cron.daily``" msgstr "" #: ../../ch-opersys.rst:657 msgid "``/etc/cron.weekly``" msgstr "" #: ../../ch-opersys.rst:659 msgid "``/etc/cron.monthly``" msgstr "" #: ../../ch-opersys.rst:661 msgid "" "As these directory names imply, the files within them are executed on an " "hourly, daily, weekly, or monthly basis, respectively. The exact times " "are listed in ``/etc/crontab``." msgstr "" #: ../../ch-opersys.rst:665 msgid "" "All files installed in any of these directories must be scripts (e.g., " "shell scripts or Perl scripts) so that they can easily be modified by the" " local system administrator. In addition, they must be treated as " "configuration files." msgstr "" #: ../../ch-opersys.rst:670 msgid "" "If a certain job has to be executed at some other frequency or at a " "specific time, the package should install a file in ``/etc/cron.d`` with " "a name as specified in :ref:`s-cron-files`. This file uses the same " "syntax as ``/etc/crontab`` and is processed by ``cron`` automatically. " "The file must also be treated as a configuration file. (Note that entries" " in the ``/etc/cron.d`` directory are not handled by ``anacron``. Thus, " "you should only use this directory for jobs which may be skipped if the " "system is not running.)" msgstr "" #: ../../ch-opersys.rst:679 msgid "" "Unlike ``crontab`` files described in the IEEE Std 1003.1-2008 (POSIX.1) " "available from `The Open Group " "`_, the files in " "``/etc/cron.d`` and the file ``/etc/crontab`` have seven fields; namely:" msgstr "" #: ../../ch-opersys.rst:685 msgid "Minute [0,59]" msgstr "" #: ../../ch-opersys.rst:687 msgid "Hour [0,23]" msgstr "" #: ../../ch-opersys.rst:689 msgid "Day of the month [1,31]" msgstr "" #: ../../ch-opersys.rst:691 msgid "Month of the year [1,12]" msgstr "" #: ../../ch-opersys.rst:693 msgid "Day of the week ([0,6] with 0=Sunday)" msgstr "" #: ../../ch-opersys.rst:695 msgid "Username" msgstr "" #: ../../ch-opersys.rst:697 msgid "Command to be run" msgstr "" #: ../../ch-opersys.rst:699 msgid "" "Ranges of numbers are allowed. Ranges are two numbers separated with a " "hyphen. The specified range is inclusive. Lists are allowed. A list is a " "set of numbers (or ranges) separated by commas. Step values can be used " "in conjunction with ranges." msgstr "" #: ../../ch-opersys.rst:704 msgid "" "The scripts or ``crontab`` entries in these directories should check if " "all necessary programs are installed before they try to execute them. " "Otherwise, problems will arise when a package was removed but not purged " "since configuration files are kept on the system in this situation." msgstr "" #: ../../ch-opersys.rst:709 msgid "" "Any ``cron`` daemon must provide ``/usr/bin/crontab`` and support normal " "``crontab`` entries as specified in POSIX. The daemon must also support " "names for days and months, ranges, and step values. It has to support " "``/etc/crontab``, and correctly execute the scripts in ``/etc/cron.d``. " "The daemon must also correctly execute scripts in " "``/etc/cron.{hourly,daily,weekly,monthly}``." msgstr "" #: ../../ch-opersys.rst:719 msgid "Cron job file names" msgstr "" #: ../../ch-opersys.rst:721 msgid "" "The file name of a cron job file should normally match the name of the " "package from which it comes." msgstr "" #: ../../ch-opersys.rst:724 msgid "" "If a package supplies multiple cron job files files in the same " "directory, the file names should all start with the name of the package " "(possibly modified as described below) followed by a hyphen (``-``) and a" " suitable suffix." msgstr "" #: ../../ch-opersys.rst:729 msgid "" "A cron job file name must not include any period or plus characters " "(``.`` or ``+``) characters as this will cause cron to ignore the file. " "Underscores (``_``) should be used instead of ``.`` and ``+`` characters." msgstr "" #: ../../ch-opersys.rst:737 msgid "Menus" msgstr "" #: ../../ch-opersys.rst:739 msgid "" "Packages shipping applications that comply with minimal requirements " "described below for integration with desktop environments should register" " these applications in the desktop menu, following the *FreeDesktop* " "standard, using text files called *desktop entries*. Their format is " "described in the *Desktop Entry Specification* at " "https://standards.freedesktop.org/desktop-entry-spec/latest/ and " "complementary information can be found in the *Desktop Menu " "Specification* at https://standards.freedesktop.org/menu-spec/latest/." msgstr "" #: ../../ch-opersys.rst:748 msgid "" "The desktop entry files are installed by the packages in the directory " "``/usr/share/applications`` and the FreeDesktop menus are refreshed using" " *dpkg triggers*. It is therefore not necessary to depend on packages " "providing FreeDesktop menu systems." msgstr "" #: ../../ch-opersys.rst:753 msgid "" "Entries displayed in the FreeDesktop menu should conform to the following" " minima for relevance and visual integration." msgstr "" #: ../../ch-opersys.rst:756 msgid "" "Unless hidden by default, the desktop entry must point to a PNG or SVG " "icon with a transparent background, providing at least the 22×22 size, " "and preferably up to 64×64. The icon should be neutral enough to " "integrate well with the default icon themes. It is encouraged to ship the" " icon in the default *hicolor* icon theme directories, or to use an " "existing icon from the *hicolor* theme." msgstr "" #: ../../ch-opersys.rst:763 msgid "" "If the menu entry is not useful in the general case as a standalone " "application, the desktop entry should set the ``NoDisplay`` key to true, " "so that it can be configured to be displayed only by those who need it." msgstr "" #: ../../ch-opersys.rst:768 msgid "" "In doubt, the package maintainer should coordinate with the maintainers " "of menu implementations through the *debian-desktop* mailing list in " "order to avoid problems with categories or bad interactions with other " "icons. Especially for packages which are part of installation tasks, the " "contents of the ``NotShowIn``/``OnlyShowIn`` keys should be validated by " "the maintainers of the relevant environments." msgstr "" #: ../../ch-opersys.rst:776 msgid "" "Since the FreeDesktop menu is a cross-distribution standard, the desktop " "entries written for Debian should be forwarded upstream, where they will " "benefit to other users and are more likely to receive extra contributions" " such as translations." msgstr "" #: ../../ch-opersys.rst:781 msgid "" "If a package installs a FreeDesktop desktop entry, it must not also " "install a Debian menu entry." msgstr "" #: ../../ch-opersys.rst:787 msgid "Multimedia handlers" msgstr "" #: ../../ch-opersys.rst:789 msgid "" "Media types (formerly known as MIME types, Multipurpose Internet Mail " "Extensions, RFCs 2045-2049) is a mechanism for encoding files and data " "streams and providing meta-information about them, in particular their " "type and format (e.g. ``image/png``, ``text/html``, ``audio/ogg``)." msgstr "" #: ../../ch-opersys.rst:794 msgid "" "Registration of media type handlers allows programs like mail user agents" " and web browsers to invoke these handlers to view, edit or display media" " types they don't support directly." msgstr "" #: ../../ch-opersys.rst:798 msgid "" "There are two overlapping systems to associate media types to programs " "which can handle them. The *mailcap* system is found on a large number of" " Unix systems. The *FreeDesktop* system is aimed at Desktop environments." " In Debian, FreeDesktop entries are automatically translated in mailcap " "entries, therefore packages already using desktop entries should not use " "the mailcap system directly." msgstr "" #: ../../ch-opersys.rst:808 msgid "Registration of media type handlers with desktop entries" msgstr "" #: ../../ch-opersys.rst:810 msgid "" "Packages shipping an application able to view, edit or point to files of " "a given media type, or open links with a given URI scheme, should list it" " in the ``MimeType`` key of the application's `desktop entry " "<#s-menus>`_. For URI schemes, the relevant MIME types are ``x-scheme-" "handler/*`` (e.g. ``x-scheme-handler/https``)." msgstr "" #: ../../ch-opersys.rst:819 msgid "Registration of media type handlers with mailcap entries" msgstr "" #: ../../ch-opersys.rst:821 msgid "" "Packages that are not using desktop entries for registration should " "install a file in mailcap(5) format (RFC 1524) in the directory " "``/usr/lib/mime/packages/``. The file name should be the binary package's" " name." msgstr "" #: ../../ch-opersys.rst:826 msgid "" "The mime-support package provides the ``update-mime`` program, which " "integrates these registrations in the ``/etc/mailcap`` file, using dpkg " "triggers. [#]_" msgstr "" #: ../../ch-opersys.rst:830 msgid "" "Packages installing desktop entries should not install mailcap entries " "for the same program, because the mime-support package already reads " "desktop entries." msgstr "" #: ../../ch-opersys.rst:834 msgid "" "Packages using these facilities *should not* depend on, recommend, or " "suggest ``mime-support``." msgstr "" #: ../../ch-opersys.rst:840 msgid "Providing media types to files" msgstr "" #: ../../ch-opersys.rst:842 msgid "" "The media type of a file is discovered by inspecting the file's extension" " or its magic(5) pattern, and interrogating a database associating them " "with media types." msgstr "" #: ../../ch-opersys.rst:846 msgid "" "To support new associations between media types and files, their " "characteristic file extensions and magic patterns should be registered to" " the IANA (Internet Assigned Numbers Authority). See " "https://www.iana.org/assignments/media-types and RFC 6838 for details. " "This information will then propagate to the systems discovering file " "media types in Debian, provided by the shared-mime-info, mime-support and" " file packages. If registration and propagation can not be waited for, " "support can be asked to the maintainers of the packages mentioned above." msgstr "" #: ../../ch-opersys.rst:856 msgid "" "For files that are produced and read by a single application, it is also " "possible to declare this association to the *Shared MIME Info* system by " "installing in the directory ``/usr/share/mime/packages`` a file in the " "XML format specified at https://standards.freedesktop.org/shared-mime-" "info-spec/latest/." msgstr "" #: ../../ch-opersys.rst:865 msgid "Keyboard configuration" msgstr "" #: ../../ch-opersys.rst:867 msgid "" "To achieve a consistent keyboard configuration so that all applications " "interpret a keyboard event the same way, all programs in the Debian " "distribution must be configured to comply with the following guidelines." msgstr "" #: ../../ch-opersys.rst:871 msgid "The following keys must have the specified interpretations:" msgstr "" #: ../../ch-opersys.rst:874 msgid "``<--``" msgstr "" #: ../../ch-opersys.rst:874 msgid "delete the character to the left of the cursor" msgstr "" #: ../../ch-opersys.rst:877 msgid "``Delete``" msgstr "" #: ../../ch-opersys.rst:877 msgid "delete the character to the right of the cursor" msgstr "" #: ../../ch-opersys.rst:880 msgid "``Control+H``" msgstr "" #: ../../ch-opersys.rst:880 msgid "emacs: the help prefix" msgstr "" #: ../../ch-opersys.rst:882 msgid "" "The interpretation of any keyboard events should be independent of the " "terminal that is used, be it a virtual console, an X terminal emulator, " "an rlogin/telnet session, etc." msgstr "" #: ../../ch-opersys.rst:886 msgid "" "The following list explains how the different programs should be set up " "to achieve this:" msgstr "" #: ../../ch-opersys.rst:889 msgid "``<--`` generates ``KB_BackSpace`` in X." msgstr "" #: ../../ch-opersys.rst:891 msgid "``Delete`` generates ``KB_Delete`` in X." msgstr "" #: ../../ch-opersys.rst:893 msgid "" "X translations are set up to make ``KB_Backspace`` generate ASCII DEL, " "and to make ``KB_Delete`` generate ``ESC [ 3 ~`` (this is the vt220 " "escape code for the \"delete character\" key). This must be done by " "loading the X resources using ``xrdb`` on all local X displays, not using" " the application defaults, so that the translation resources used " "correspond to the ``xmodmap`` settings." msgstr "" #: ../../ch-opersys.rst:900 msgid "" "The Linux console is configured to make ``<--`` generate DEL, and " "``Delete`` generate ``ESC [ 3 ~``." msgstr "" #: ../../ch-opersys.rst:903 msgid "" "X applications are configured so that ``<`` deletes left, and ``Delete`` " "deletes right. Motif applications already work like this." msgstr "" #: ../../ch-opersys.rst:906 msgid "Terminals should have ``stty erase ^?`` ." msgstr "" #: ../../ch-opersys.rst:908 msgid "" "The ``xterm`` terminfo entry should have ``ESC [ 3 ~`` for ``kdch1``, " "just as for ``TERM=linux`` and ``TERM=vt220``." msgstr "" #: ../../ch-opersys.rst:911 msgid "" "Emacs is programmed to map ``KB_Backspace`` or the ``stty erase`` " "character to ``delete-backward-char``, and ``KB_Delete`` or ``kdch1`` to " "``delete-forward-char``, and ``^H`` to ``help`` as always." msgstr "" #: ../../ch-opersys.rst:915 msgid "" "Other applications use the ``stty erase`` character and ``kdch1`` for the" " two delete keys, with ASCII DEL being \"delete previous character\" and " "``kdch1`` being \"delete character under cursor\"." msgstr "" #: ../../ch-opersys.rst:919 msgid "This will solve the problem except for the following cases:" msgstr "" #: ../../ch-opersys.rst:921 msgid "" "Some terminals have a ``<--`` key that cannot be made to produce anything" " except ``^H``. On these terminals Emacs help will be unavailable on " "``^H`` (assuming that the ``stty erase`` character takes precedence in " "Emacs, and has been set correctly). ``M-x help`` or ``F1`` (if available)" " can be used instead." msgstr "" #: ../../ch-opersys.rst:926 msgid "" "Some operating systems use ``^H`` for ``stty erase``. However, modern " "telnet versions and all rlogin versions propagate ``stty`` settings, and " "almost all UNIX versions honour ``stty erase``. Where the ``stty`` " "settings are not propagated correctly, things can be made to work by " "using ``stty`` manually." msgstr "" #: ../../ch-opersys.rst:932 msgid "" "Some systems (including previous Debian versions) use ``xmodmap`` to " "arrange for both ``<--`` and ``Delete`` to generate ``KB_Delete``. We can" " change the behavior of their X clients using the same X resources that " "we use to do it for our own clients, or configure our clients using their" " resources when things are the other way around. On displays configured " "like this ``Delete`` will not work, but ``<--`` will." msgstr "" #: ../../ch-opersys.rst:940 msgid "" "Some operating systems have different ``kdch1`` settings in their " "``terminfo`` database for ``xterm`` and others. On these systems the " "``Delete`` key will not work correctly when you log in from a system " "conforming to our policy, but ``<--`` will." msgstr "" #: ../../ch-opersys.rst:948 msgid "Environment variables" msgstr "" #: ../../ch-opersys.rst:950 msgid "" "Programs installed on the system PATH (``/bin``, ``/usr/bin``, ``/sbin``," " ``/usr/sbin``, or similar directories) must not depend on custom " "environment variable settings to get reasonable defaults. This is because" " such environment variables would have to be set in a system-wide " "configuration file such as a file in ``/etc/profile.d``, which is not " "supported by all shells." msgstr "" #: ../../ch-opersys.rst:957 msgid "" "If a program usually depends on environment variables for its " "configuration, the program should be changed to fall back to a reasonable" " default configuration if these environment variables are not present. If" " this cannot be done easily (e.g., if the source code of a non-free " "program is not available), the program must be replaced by a small " "\"wrapper\" shell script that sets the environment variables if they are " "not already defined, and calls the original program." msgstr "" #: ../../ch-opersys.rst:965 msgid "Here is an example of a wrapper script for this purpose:" msgstr "" #: ../../ch-opersys.rst:977 msgid "Registering Documents using doc-base" msgstr "" #: ../../ch-opersys.rst:979 msgid "" "The doc-base package implements a mechanism for handling and presenting " "documentation. Debian packages that provides online documentation (other " "than just manual pages) may register these documents with doc-base by " "installing a doc-base control file in ``/usr/share/doc-base/``." msgstr "" #: ../../ch-opersys.rst:985 msgid "" "Please refer to the documentation that comes with the doc-base package " "for information and details." msgstr "" #: ../../ch-opersys.rst:991 msgid "Alternate init systems" msgstr "" #: ../../ch-opersys.rst:993 msgid "" "A number of other init systems are available now in Debian that can be " "used in place of sysvinit. Alternative init implementations must support " "running SysV init scripts as described at :ref:`s-sysvinit` for " "compatibility." msgstr "" #: ../../ch-opersys.rst:998 msgid "" "Packages may integrate with these replacement init systems by providing " "implementation-specific configuration information about how and when to " "start a service or in what order to run certain tasks at boot time. " "However, any package integrating with other init systems must also be " "backwards-compatible with sysvinit by providing a SysV-style init script " "with the same name as and equivalent functionality to any init-specific " "job, as this is the only start-up configuration method guaranteed to be " "supported by all init implementations. An exception to this rule is " "scripts or jobs provided by the init implementation itself; such jobs may" " be required for an implementation-specific equivalent of the " "``/etc/rcS.d/`` scripts and may not have a one-to-one correspondence with" " the init scripts." msgstr "" #: ../../ch-opersys.rst:1014 msgid "Event-based boot with upstart" msgstr "" #: ../../ch-opersys.rst:1016 msgid "" "The ``upstart`` event-based boot system is no longer maintained in " "Debian, so this section has been removed." msgstr "" #: ../../ch-opersys.rst:1020 msgid "" "This is necessary in order to reserve the directories for use in cross-" "installation of library packages from other architectures, as part of " "``multiarch``." msgstr "" #: ../../ch-opersys.rst:1025 msgid "" "This is necessary for architecture-dependent headers file to coexist in a" " ``multiarch`` setup." msgstr "" #: ../../ch-opersys.rst:1029 msgid "" "These directories are used to store translators and as a set of standard " "names for mount points, respectively." msgstr "" #: ../../ch-opersys.rst:1033 msgid "" "``/lib/lsb/init-functions``, which assists in writing LSB-compliant init " "scripts, may fail if ``set -e`` is in effect and echoing status " "messages to the console fails, for example." msgstr "" #: ../../ch-opersys.rst:1038 msgid "" "Creating, modifying or removing a file in ``/usr/lib/mime/packages/`` " "using maintainer scripts will not activate the trigger. In that case, it " "can be done by calling ``dpkg-trigger --no-await /usr/lib/mime/packages``" " from the maintainer script after creating, modifying, or removing the " "file." msgstr "" #: ../../ch-opersys.rst:1050 msgid "Signaling that a reboot is required" msgstr "" #: ../../ch-opersys.rst:1056 msgid "" "Programs can signal that a reboot is required by ``touch``\\ing ``/run" "/reboot-required``. It is conventional to add the name of the package(s)" " requiring the reboot to ``/run/reboot-required.pkgs``. Programs should " "not add a package name to ``/run/reboot-required.pkgs`` if it is already " "present there." msgstr "" #: ../../ch-opersys.rst:1065 msgid "" "The ``/run/reboot-required`` mechanism is used when a reboot is needed to" " fully apply the changes introduced by package installation or upgrade. " "Typically it is the ``postinst`` maintainer script that touches ``/run" "/reboot-required``, at the end of a successful configuration of the " "package." msgstr "" #: ../../ch-opersys.rst:1071 msgid "" "There are no guarantees provided by the ``/run/reboot-required`` " "convention as to when or whether the requested reboot will occur." msgstr "" #~ msgid "" #~ "Examples on which you can base " #~ "your systemd integration on is available" #~ " in the man page systemd.unit(8). An" #~ " example on which you can base " #~ "your ``/etc/init.d`` scripts is found in" #~ " ``/etc/init.d/skeleton``." #~ msgstr "" #~ msgid "" #~ "Note that this applies only to " #~ "directories *below* ``/usr/local``, not *in*" #~ " ``/usr/local``. Packages must not create" #~ " sub-directories in the directory " #~ "``/usr/local`` itself, except those listed " #~ "in FHS, section 4.5. However, you " #~ "may create directories below them as " #~ "you wish. You must not remove any" #~ " of the directories listed in 4.5," #~ " even if you created them." #~ msgstr "" #~ msgid "" #~ "The doc-base package implements a " #~ "flexible mechanism for handling and " #~ "presenting documentation. The recommended " #~ "practice is for every Debian package " #~ "that provides online documentation (other " #~ "than just manual pages) to register " #~ "these documents with doc-base by " #~ "installing a doc-base control file " #~ "in ``/usr/share/doc-base/``." #~ msgstr ""