Import Upstream version 245.4

This commit is contained in:
openKylinBot 2022-05-14 02:56:24 +08:00
commit f11fee333a
3677 changed files with 1328380 additions and 0 deletions

1
.ctags Normal file
View File

@ -0,0 +1 @@
--links=no

28
.dir-locals.el Normal file
View File

@ -0,0 +1,28 @@
; Sets emacs variables based on mode.
; A list of (major-mode . ((var1 . value1) (var2 . value2)))
; Mode can be nil, which gives default values.
; Note that we set a line width of 109 for .c and XML files, but for everything
; else (such as journal catalog files, unit files, README files) we stick to a
; more conservative 79 characters.
; NOTE: If you update this file make sure to update .vimrc and .editorconfig,
; too.
((c-mode . ((fill-column . 109)
(c-basic-offset . 8)
(eval . (c-set-offset 'substatement-open 0))
(eval . (c-set-offset 'statement-case-open 0))
(eval . (c-set-offset 'case-label 0))
(eval . (c-set-offset 'arglist-intro '++))
(eval . (c-set-offset 'arglist-close 0))
(eval . (c-set-offset 'arglist-cont-nonempty '(c-lineup-gcc-asm-reg c-lineup-arglist)))))
(nxml-mode . ((nxml-child-indent . 2)
(fill-column . 109)))
(meson-mode . ((meson-indent-basic . 8)))
(sh-mode . ((sh-basic-offset . 4)
(sh-indentation . 4)))
(awk-mode . ((c-basic-offset . 8)))
(nil . ((indent-tabs-mode . nil)
(tab-width . 8)
(fill-column . 79))) )

28
.editorconfig Normal file
View File

@ -0,0 +1,28 @@
# EditorConfig configuration for systemd
# http://EditorConfig.org
# NOTE: If you update this file make sure to update .dir-locals.el and .vimrc,
# too.
# Top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file, utf-8 charset
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
# Match config files, set indent to spaces with width of eight
[*.{c,h}]
indent_style = space
indent_size = 8
[*.sh]
indent_style = space
indent_size = 4
[meson.build]
indent_style = space
indent_size = 8

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.[ch] whitespace=tab-in-indent,trailing-space

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
custom: ['https://spi-inc.org/projects/systemd/']

22
.github/ISSUE_TEMPLATE/Bug_report.md vendored Normal file
View File

@ -0,0 +1,22 @@
---
name: Bug report
about: A report of an error in a recent systemd version
---
**systemd version the issue has been seen with**
> ...
<!-- **NOTE:** Do not submit bug reports about anything but the two most recently released systemd versions upstream! -->
<!-- For older version please use distribution trackers (see https://systemd.io/CONTRIBUTING#filing-issues). -->
**Used distribution**
> …
**Expected behaviour you didn't see**
> …
**Unexpected behaviour you saw**
> …
**Steps to reproduce the problem**

View File

@ -0,0 +1,14 @@
---
name: Feature request
about: Suggest an improvement
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

37
.gitignore vendored Normal file
View File

@ -0,0 +1,37 @@
*.a
*.cache
*.gch
*.log
*.o
*.plist
*.py[co]
*.stamp
*.swp
*.trs
*~
.config.args
.gdb_history
.deps/
/*.gcda
/*.gcno
/*.tar.bz2
/*.tar.gz
/*.tar.xz
/GPATH
/GRTAGS
/GSYMS
/GTAGS
/TAGS
/ID
/build*
/coverage/
/image.raw
/.#image.raw.lck
/image.raw.cache-pre-dev
/image.raw.cache-pre-inst
/install-tree
/.mkosi-*
/mkosi.builddir/
/mkosi.output/
/tags
__pycache__/

14
.lgtm.yml Normal file
View File

@ -0,0 +1,14 @@
---
# vi: ts=2 sw=2 et:
extraction:
cpp:
prepare:
packages:
- libpwquality-dev
- libfdisk-dev
- libp11-kit-dev
- libssl-dev
python:
python_setup:
version: 3

View File

@ -0,0 +1,54 @@
/**
* @name Use of potentially dangerous function
* @description Certain standard library functions are dangerous to call.
* @kind problem
* @problem.severity error
* @precision high
* @id cpp/potentially-dangerous-function
* @tags reliability
* security
*
* Borrowed from
* https://github.com/Semmle/ql/blob/master/cpp/ql/src/Security/CWE/CWE-676/PotentiallyDangerousFunction.ql
*/
import cpp
predicate potentiallyDangerousFunction(Function f, string message) {
(
f.getQualifiedName() = "fgets" and
message = "Call to fgets() is potentially dangerous. Use read_line() instead."
) or (
f.getQualifiedName() = "strtok" and
message = "Call to strtok() is potentially dangerous. Use extract_first_word() instead."
) or (
f.getQualifiedName() = "strsep" and
message = "Call to strsep() is potentially dangerous. Use extract_first_word() instead."
) or (
f.getQualifiedName() = "dup" and
message = "Call to dup() is potentially dangerous. Use fcntl(fd, FD_DUPFD_CLOEXEC, 3) instead."
) or (
f.getQualifiedName() = "htonl" and
message = "Call to htonl() is confusing. Use htobe32() instead."
) or (
f.getQualifiedName() = "htons" and
message = "Call to htons() is confusing. Use htobe16() instead."
) or (
f.getQualifiedName() = "ntohl" and
message = "Call to ntohl() is confusing. Use be32toh() instead."
) or (
f.getQualifiedName() = "ntohs" and
message = "Call to ntohs() is confusing. Use be16toh() instead."
) or (
f.getQualifiedName() = "strerror" and
message = "Call to strerror() is not thread-safe. Use strerror_r() or printf()'s %m format string instead."
) or (
f.getQualifiedName() = "accept" and
message = "Call to accept() is not O_CLOEXEC-safe. Use accept4() instead."
)
}
from FunctionCall call, Function target, string message
where
call.getTarget() = target and
potentiallyDangerousFunction(target, message)
select call, message

208
.mailmap Normal file
View File

@ -0,0 +1,208 @@
Alan Jenkins <alan.christopher.jenkins@googlemail.com>
Alan Jenkins <alan.christopher.jenkins@googlemail.com> <alan-jenkins@tuffmail.co.uk>
Alan Robertson <aroberts@zen.iomart.com> <alanjrobertson@gmail.com>
Alexander Kochetkov <al.kochet@gmail.com>
Alexander Kuleshov <kuleshovmail@gmail.com> <0xAX@users.noreply.github.com>
Alexander Kurtz <alexander@kurtz.be>
Alexandros Frantzis <alexandros.frantzis@canonical.com>
Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Ananth N Mavinakayanahalli <ananth@in.ibm.com> <ananthmg@rediffmail.com>
Andreas Henriksson <andreas@fatal.se>
Anthony Parsons <flussence@users.noreply.github.com>
Antoine Eiche <lewo@abesis.fr>
Arnd Bergmann <arnd@arndb.de>
Atul Sabharwal <atul.sabharwal@intel.com>
Bart Rulon <barron@lexmark.com>
Bastien Nocera <hadess@hadess.net> <hadess@users.noreply.github.com>
Baybal Ni <nikulinpi@gmail.com>
Beniamino Galvani <bgalvani@redhat.com> <bengal@users.noreply.github.com>
Bill Yodlowsky <bill@redhat.com> <itsbill@users.noreply.github.com>
Brian Boylston <brian.boylston@hpe.com>
Charles (Chas) Williams <ciwillia@brocade.com>
Chen Qi <Qi.Chen@windriver.com> <40684930+ChenQi1989@users.noreply.github.com>
Christophe Varoqui <christophe.varoqui@free.fr>
Colin Guthrie <ColinGuthrie@web>
Daniel Elstner <daniel.kitta@gmail.com> <danielk@openismus.com>
Daniel Gorbea <danielgorbea@hotmail.com>
Daniel J Walsh <dwalsh@redhat.com>
Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Machon <Danielmachon@live.dk>
Daniel Rusek <mail@asciiwolf.com>
Daniel Stekloff <dsteklof@us.ibm.com>
Daniel Șerbănescu <dasj19@users.noreply.github.com>
Dann Frazier <dann.frazier@canonical.com>
Dave Reisner <dreisner@archlinux.org> <d@falconindy.com>
David Zeuthen <david@fubar.dk>
David Zeuthen <david@fubar.dk> <davidz@redhat.com>
David Zeuthen <david@fubar.dk> <zeuthen@gmail.com>
Davide Cavalca <dcavalca@fb.com> <davide125@tiscali.it>
Dennis Wassenberg <dennis.wassenberg@secunet.com>
Diego Elio Pettenò <flameeyes@gmail.com>
Dmitriy Geels <dmitriy.geels@gmail.com>
Dmitry Khlebnikov <dmitry.khlebnikov@rea-group.com> <galaxy4public@users.noreply.github.com>
Douglas Christman <DouglasChristman@gmail.com>
Emil Soleyman <emil@soleyman.com>
Eric Cook <llua@users.noreply.github.com>
Evgeny Vereshchagin <evvers@ya.ru>
Fabiano Fidêncio <fabianofidencio@gmail.com> Fabiano Fidencio <fidencio@profusion.mobi>
Faizal Luthfi <zalluth@gmail.com>
Federico Di Pierro <nierro92@gmail.com>
Fionn Cleary <clearyf@tcd.ie>
Frederic Crozat <fcrozat@suse.com> <fcrozat@mandriva.com>
Gautier Husson <admin_github@liberasys.com>
George Gaydarov <git@gg7.io> <gg7@users.noreply.github.com>
Gianluca Boiano <morf3089@gmail.com>
Greg Kroah-Hartman <greg@kroah.com>
Greg Kroah-Hartman <greg@kroah.com> <greg@bucket.kroah.org>
Greg Kroah-Hartman <greg@kroah.com> <greg@kroah.com>
Greg Kroah-Hartman <greg@kroah.com> <greg@press.(none)>
Greg Kroah-Hartman <greg@kroah.com> <gregkh@linuxfoundation.org>
Greg Kroah-Hartman <greg@kroah.com> <gregkh@suse.de>
Gwendal Grignou <gwendal@chromium.org>
Hannes Reinecke <hare@suse.de>
Harald Hoyer <harald@redhat.com>
Harald Hoyer <harald@redhat.com> <harald@hoyer.xyz>
Heikki Kemppainen <heikki.kemppainen@nokia.com>
Hendrik Brueckner <hbrueckner@users.noreply.github.com>
Hendrik Westerberg <hendrik@gestorf.com>
Ian Campbell <ijc@hellion.org.uk> <Ian.Campbell@citrix.com>
Insun Pyo <insun.pyo@samsung.com>
Insun Pyo <insun.pyo@samsung.com> <iplayinsun@gmail.com>
Jerone Young <jyoung@redhat.com> <jerone.young@canonical.com>
Jiuyang Liu <liujiuyang1994@gmail.com>
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> <glaubitz@suse.com>
Jon Ringle <jringle@gridpoint.com> <ringlej@users.noreply.github.com>
Jonas Dorel <jonas.dorel@laposte.net>
Josef Andersson <josef.andersson@fripost.org>
Josef Andersson <l10nl18nsweja@gmail.com>
José Bollo <jose.bollo@iot.bzh> <jobol@nonadev.net>
Jun Bo Bi <jambonmcyeah@gmail.com>
Justin Capella <justincapella@gmail.com> <b1tninja@users.noreply.github.com>
Jérémy Rosen <jeremy.rosen@enst-bretagne.fr>
Jürg Billeter <j@bitron.ch>
Karl Kraus <karl.kraus@tum.de> <laqueray@gmail.com>
Kay Sievers <kay@vrfy.org>
Kay Sievers <kay@vrfy.org> <kay.sievers@suse.de>
Kay Sievers <kay@vrfy.org> <kay.sievers@vrfy.org>
Kay Sievers <kay@vrfy.org> <kay@pim.off.vrfy.org>
Kay Sievers <kay@vrfy.org> <kay@pim>
Kay Sievers <kay@vrfy.org> <kay@yik.fritz.box>
Kevin Becker <kevin@kevinbecker.org>
Krzysztof Jackiewicz <k.jackiewicz@samsung.com> <kjackiewicz@users.noreply.github.com>
Larry Bernstone <lbernstone@gmail.com>
Lennart Poettering <lennart@poettering.net> <LennartPoettering@web>
Lennart Poettering <lennart@poettering.net> <lennart@bf9bc1cc-28ce-0310-abfb-9041aa761afb>
Lennart Poettering <lennart@poettering.net> <mzninuv@0pointer.de>
Leonard König <leonard.r.koenig@googlemail.com>
Luis Felipe Strano Moraes <luis.strano@gmail.com> <lfelipe@profusion.mobi>
Lukáš Nykrýn <lnykryn@redhat.com>
Lukáš Říha <cedel@centrum.cz>
Mao Huang <littlecvr@gmail.com>
Marco d'Itri <md@linux.it> <md@Linux.IT>
Marcus Cooper <marcusc@axis.com> <codekipper@gmail.com>
Mario Limonciello <mario_limonciello@dell.com> <Mario_Limonciello@dell.com>
Martin Pitt <martin@piware.de> <martinpitt@users.noreply.github.com>
Martin Pitt <martinpitt@gnome.org>
Martin Pitt <martinpitt@gnome.org> <martin.pitt@ubuntu.com>
Martin Steuer <martinsteuer@gmx.de>
Marty Plummer <ntzrmtthihu777@gmail.com>
Matthew Leeds <matthew.leeds@endlessm.com> <mwl458@gmail.com>
Matthew McGinn <mamcgi@gmail.com> <xginn8@users.noreply.github.com>
Matthias Clasen <mclasen@redhat.com> <matthias.clasen@gmail.com>
Matthias-Christian Ott <ott@mirix.org> <ott@users.noreply.github.com>
Michael Biebl <biebl@debian.org> <mbiebl@gmail.com>
Michael Buesch <mbuesch@freenet.de>
Michael Hoy <rimmington@gmail.com>
Michael Olbrich <m.olbrich@pengutronix.de>
Michal Soltys <soltys@ziu.info> <nozo@ziu.info>
Michal Suchanek <msuchanek@suse.de>
Michal Suchanek <msuchanek@suse.de> <hramrach@gmail.com>
Michał Szczepański <skrzatu@hotmail.com> <skrzatu@gmail.com>
Michel Kraus <github@demonsphere.de> <27o@users.noreply.github.com>
Miklos Vajna <vmiklos@frugalware.org> <vmiklos@gmail.com>
Milan Pässler <me@petabyteboy.de>
Neil Brown <neil@brown.name>
Neil Brown <neilb@suse.com>
Niklas Tibbling <niklasti@axis.com> <45659916+tibbling@users.noreply.github.com>
Nikolas Nyby <nnyby@columbia.edu>
Nogisaka Sadata <ngsksdt@gmail.com>
Olaf Hering <olh@suse.de>
Otto Wallenius <otto_026@hotmail.com>
Pablo Lezaeta Reyes <prflr88@gmail.com>
Paolo Giangrandi <paolo@luccalug.it>
Patrick Mansfield <patmans@us.ibm.com>
Patryk Kocielnik <longer44@gmail.com>
Paul Mundt <lethal@linux-sh.org>
Pavel Hrdina <phrdina@redhat.com>
Peter D'Hoye <peter.dhoye@gmail.com>
Piotr Szydełko <wiertel@users.sourceforge.net>
Piter PUNK <piterpunk@slackware.com> <piterpk@terra.com.br>
Reid Price <reid.price@gmail.com>
Reinhold Mueller <mueller.reinhold@web.de>
Richard Hughes <richard@hughsie.com> <hughsient@gmail.com>
Richard W.M. Jones <rjones@redhat.com>
Robby Workman <rw@rlworkman.net> <rworkman@slackware.com>
Robert Gerus <ar@bash.org.pl> Robert "arachnist" Gerus <ar@bash.org.pl>
Robert Kolchmeyer <rkolchmeyer@google.com> <rkolchmeyer@users.noreply.github.com>
Robert Love <rml@tech9.net>
Roman Stingler <coolx67@gmx.at>
Rubén Suárez Alvarez <rubensa@tluportatil082> <rubensa@gmail.com>
Salvo Tomaselli <ltworf@users.noreply.github.com>
Sandy Carter <bwrsandman@gmail.com>
Scott James Remnant <scott@netsplit.com>
Scott James Remnant <scott@netsplit.com> <scott@ubuntu.com>
Seraphime Kirkovski <kirkseraph@gmail.com>
Shawn Landden <shawnlandden@gmail.com> <shawn@churchofgit.com>
Shawn Landden <slandden@gmail.com> <shawn@git.icu>
Silvio Knizek <killermoehre@gmx.net>
Simon Peeters <peeters.simon@gmail.com>
Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Stanislav Angelovič <angelovic.s@gmail.com>
Stasiek Michalski <hellcp@opensuse.org>
Stefan Pietsch <mail.ipv4v6@gmail.com>
Stefan Schweter <stefan@schweter.it>
Stuart McLaren <stuart.mclaren@hp.com>
Susant Sahani <ssahani@gmail.com> <145210+ssahani@users.noreply.github.com>
Susant Sahani <ssahani@gmail.com> <susant@redhat.com>
Sylvain Plantefeve <sylvain.plantefeve@gmail.com>
Sébastien Bacher <seb128@ubuntu.com>
Tanu Kaskinen <TanuKaskinen@web>
Ted Ts'o <tytso@mit.edu>
Ted Wood <ted.l.wood@gmail.com>
Ted Wood <ted@mailchimp.com>
Thomas Blume <Thomas.Blume@suse.com>
Thomas H. P. Andersen <phomes@gmail.com>
Tiago Levit <liamgliam@gmail.com>
Tibor Nagy <xnagytibor@gmail.com>
Tinu Weber <takeya@bluewin.ch>
Tobias Jungel <tobias.jungel@bisdn.de> Tobias Jungel <Tobias.Jungel@gmail.com>
Tobias Klauser <tklauser@access.unizh.ch>
Tobias Klauser <tklauser@access.unizh.ch> <klauser@access.unizh.ch>
Tobias Klauser <tklauser@access.unizh.ch> <tklauser@access.unizh.chbk>
Tobias Klauser <tklauser@access.unizh.ch> <tklauser@distanz.ch>
Tobias Klauser <tklauser@distanz.ch> <tklauser@nuerscht.ch>
Tom Rini <trini@kernel.crashing.org>
Tom Yan <tom.ty89@gmail.com>
Tomasz Bachorski <tomasz.bachorski@x7f.io> <34866781+nulsoh@users.noreply.github.com>
Tomasz Pala <gotar@polanet.pl>
Torsten Hilbrich <torsten.hilbrich@gmx.net>
Umut Tezduyar Lindskog <umut@tezduyar.com>
Vasilis Liaskovitis <vliaskov@gmail.com>
Vladislav Vishnyakov <split7fire@yandex.ru>
William Jon McCann <jmccann@redhat.com> <william.jon.mccann@gmail.com>
Wim van Mourik <wvanmourik@computest.nl> <githubw@use.startmail.com>
Yann E. Morin <yann.morin.1998@free.fr>
Yin Kangkai <kangkai.yin@intel.com> <kangkai.yin@linux.intel.com>
Zachary Winnerman <33329648+winnerman-pythian@users.noreply.github.com>
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> <you@example.com>
Łukasz Stelmach <l.stelmach@samsung.com> <stlman@poczta.fm>
Jonathon Kowalski <bl0pbl33p@gmail.com>
Diego Canuhe <dcanuhe@gmail.com> <46734128+dcanuhe@users.noreply.github.com>
David Santamaría Rogado <howl.nsp@gmail.com>
Mike Auty <mike.auty@gmail.com>
Roger James <roger@beardandsandals.co.uk>
Stephan Edel <se@se-it.eu>
Andrey Yashkin <38919268+AndreyYashkin@users.noreply.github.com>
Ronald Tschalär <ronald@innovation.ch>

58
.mkosi/mkosi.arch Normal file
View File

@ -0,0 +1,58 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2016 Zeal Jagannatha
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
# Simply invoke "mkosi" in the project directory to build an OS image.
[Distribution]
Distribution=arch
[Output]
Format=raw_btrfs
Bootable=yes
[Partitions]
RootSize=3G
[Packages]
Cache=/var/cache/pacman/pkg/
BuildPackages=
acl
bzip2
cryptsetup
curl
dbus
diffutils
docbook-xsl
elfutils
gcc
git
gnu-efi-libs
gnutls
gperf
inetutils
iptables
kmod
libcap
libgcrypt
libidn2
libmicrohttpd
libseccomp
libtool
libutil-linux
libxkbcommon
libxslt
lz4
m4
meson
pam
pkgconfig
python
python-lxml
qrencode
xz
Packages=
libidn2
qrencode

66
.mkosi/mkosi.debian Normal file
View File

@ -0,0 +1,66 @@
# SPDX-License-Identifier: LGPL-2.1+
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
# Simply invoke "mkosi" in the project directory to build an OS image.
[Distribution]
Distribution=debian
Release=unstable
[Output]
Format=raw_btrfs
Bootable=yes
[Partitions]
RootSize=2G
[Packages]
BuildPackages=
acl
docbook-xml
docbook-xsl
gcc
gettext
git
gnu-efi
gperf
iptables-dev
libacl1-dev
libaudit-dev
libblkid-dev
libbz2-dev
libcap-dev
libcryptsetup-dev
libcurl4-gnutls-dev
libdbus-1-dev
libdw-dev
libfdisk-dev
libgcrypt20-dev
libgnutls28-dev
libidn2-0-dev
libkmod-dev
liblzma-dev
liblz4-dev
liblz4-tool
libmicrohttpd-dev
libmount-dev
libpam0g-dev
libqrencode-dev
libseccomp-dev
libsmartcols-dev
libtool
libxkbcommon-dev
m4
meson
pkg-config
python3
python3-lxml
tree
uuid-dev
xsltproc
xz-utils
Packages=
libqrencode4
locales
libidn2-0

78
.mkosi/mkosi.fedora Normal file
View File

@ -0,0 +1,78 @@
# SPDX-License-Identifier: LGPL-2.1+
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
# Simply invoke "mkosi" in the project directory to build an OS image.
[Distribution]
Distribution=fedora
Release=31
[Output]
Format=gpt_ext4
Bootable=yes
[Partitions]
RootSize=3G
[Packages]
BuildPackages=
audit-libs-devel
bzip2-devel
cryptsetup-devel
dbus-devel
diffutils
docbook-style-xsl
elfutils-devel
gcc
gettext
git
glibc-minimal-langpack
gnu-efi
gnu-efi-devel
gnutls-devel
gperf
hostname
iptables-devel
kmod-devel
libacl-devel
libblkid-devel
libcap-devel
libcurl-devel
libfdisk-devel
libgcrypt-devel
libidn2-devel
libmicrohttpd-devel
libmount-devel
libpwquality-devel
libseccomp-devel
libselinux-devel
libxkbcommon-devel
libxslt
lz4
lz4-devel
m4
meson
openssl-devel
p11-kit-devel
pam-devel
pcre2-devel
pkgconfig
python3-devel
python3-lxml
qrencode-devel
tree
valgrind-devel
xz-devel
Packages=
coreutils
cryptsetup-libs
kmod-libs
e2fsprogs
libidn2
libseccomp
procps-ng
util-linux
BuildDirectory=mkosi.builddir
Cache=mkosi.cache

68
.mkosi/mkosi.ubuntu Normal file
View File

@ -0,0 +1,68 @@
# SPDX-License-Identifier: LGPL-2.1+
# This is a settings file for OS image generation using mkosi (https://github.com/systemd/mkosi).
# Simply invoke "mkosi" in the project directory to build an OS image.
[Distribution]
Distribution=ubuntu
Release=bionic
Repositories=main,universe
[Output]
Format=raw_btrfs
Bootable=no
[Partitions]
RootSize=2G
[Packages]
BuildPackages=
acl
docbook-xml
docbook-xsl
gcc
gettext
git
gnu-efi
gperf
iptables-dev
libacl1-dev
libaudit-dev
libblkid-dev
libbz2-dev
libcap-dev
libcryptsetup-dev
libcurl4-gnutls-dev
libdbus-1-dev
libdw-dev
libfdisk-dev
libgcrypt20-dev
libgnutls28-dev
libidn2-0-dev
libkmod-dev
liblz4-dev
liblz4-tool
liblzma-dev
libmicrohttpd-dev
libmount-dev
libpam0g-dev
libqrencode-dev
libseccomp-dev
libsmartcols-dev
libtool
libxkbcommon-dev
m4
meson
pkg-config
python3
python3-lxml
tree
tzdata
uuid-dev
xsltproc
xz-utils
Packages=
libqrencode3
locales
libidn2-0

158
.travis.yml Normal file
View File

@ -0,0 +1,158 @@
sudo: required
dist: xenial
services:
- docker
env:
global:
- AUTHOR_EMAIL="$(git log -1 $TRAVIS_COMMIT --pretty=\"%aE\")"
- CI_MANAGERS="$TRAVIS_BUILD_DIR/travis-ci/managers"
- CI_TOOLS="$TRAVIS_BUILD_DIR/travis-ci/tools"
- REPO_ROOT="$TRAVIS_BUILD_DIR"
stages:
- name: Build & test
if: type != cron
- name: Fuzzit-Fuzzing
if: type = cron
- name: Fuzzit-Regression
if: type != cron
# Run Coverity periodically instead of for each commit/PR
- name: Coverity
if: type = cron
jobs:
include:
- stage: Build & test
name: Debian Testing
language: bash
env:
- DEBIAN_RELEASE="testing"
- CONT_NAME="systemd-debian-$DEBIAN_RELEASE"
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
before_install:
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
install:
- $CI_MANAGERS/debian.sh SETUP
script:
- set -e
# Build systemd
- $CI_MANAGERS/debian.sh RUN
- set +e
after_script:
- $CI_MANAGERS/debian.sh CLEANUP
- name: Debian Testing (ASan+UBSan)
language: bash
env:
- DEBIAN_RELEASE="testing"
- CONT_NAME="systemd-debian-$DEBIAN_RELEASE"
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
before_install:
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
install:
- $CI_MANAGERS/debian.sh SETUP
script:
- set -e
- $CI_MANAGERS/debian.sh RUN_ASAN
- set +e
after_script:
- $CI_MANAGERS/debian.sh CLEANUP
- name: Debian Testing (clang)
language: bash
env:
- DEBIAN_RELEASE="testing"
- CONT_NAME="systemd-debian-$DEBIAN_RELEASE"
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
before_install:
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
install:
- $CI_MANAGERS/debian.sh SETUP
script:
- set -e
- $CI_MANAGERS/debian.sh RUN_CLANG
- set +e
after_script:
- $CI_MANAGERS/debian.sh CLEANUP
- name: Debian Testing (clang ASan+UBSan)
language: bash
env:
- DEBIAN_RELEASE="testing"
- CONT_NAME="systemd-debian-$DEBIAN_RELEASE"
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
before_install:
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
install:
- $CI_MANAGERS/debian.sh SETUP
script:
- set -e
- $CI_MANAGERS/debian.sh RUN_CLANG_ASAN
- set +e
after_script:
- $CI_MANAGERS/debian.sh CLEANUP
- stage: Fuzzit-Regression
name: Continuous Fuzzing via Fuzzit (regression)
language: bash
script:
- set -e
- $CI_MANAGERS/fuzzit.sh regression
- set +e
- stage: Fuzzit-Fuzzing
name: Continuous Fuzzing via Fuzzit (fuzzing daily)
language: bash
script:
- set -e
- $CI_MANAGERS/fuzzit.sh fuzzing
- set +e
- stage: Coverity
language: bash
env:
- FEDORA_RELEASE="latest"
- CONT_NAME="coverity-fedora-$FEDORA_RELEASE"
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
- TOOL_BASE="/var/tmp/coverity-scan-analysis"
- DOCKER_RUN="docker run -v $TOOL_BASE:$TOOL_BASE:rw --env-file .cov-env"
# Coverity env variables
- PLATFORM="$(uname)"
- TOOL_ARCHIVE="/var/tmp/cov-analysis-$PLATFORM.tgz"
- SCAN_URL="https://scan.coverity.com"
- UPLOAD_URL="https://scan.coverity.com/builds"
- COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG"
- COVERITY_SCAN_NOTIFICATION_EMAIL="${AUTHOR_EMAIL}"
- COVERITY_SCAN_BRANCH_PATTERN="$TRAVIS_BRANCH"
# Encrypted COVERITY_SCAN_TOKEN env variable
# Generated using `travis encrypt -r systemd/systemd COVERITY_SCAN_TOKEN=xxxx`
- secure: "jKSz+Y1Mv8xMpQHh7g5lzW7E6HQGndFz/vKDJQ1CVShwFoyjV3Zu+MFS3UYKlh1236zL0Z4dvsYFx/b3Hq8nxZWCrWeZs2NdXgy/wh8LZhxwzcGYigp3sIA/cYdP5rDjFJO0MasNkl25/rml8+eZWz+8/xQic98UQHjSco/EOWtssoRcg0J0c4eDM7bGLfIQWE73NNY1Q1UtWjKmx1kekVrM8dPmHXJ9aERka7bmcbJAcKd6vabs6DQ5AfWccUPIn/EsRYqIJTRxJrFYU6XizANZ1a7Vwk/DWHZUEn2msxcZw5BbAMDTMx0TbfrNkKSHMHuvQUCu6KCBAq414i+LgkMfmQ2SWwKiIUsud1kxXX3ZPl9bxDv1HkvVdcniC/EM7lNEEVwm4meOnjuhI2lhOyOjmP3FTSlMHGP7xlK8DS2k9fqL58vn0BaSjwWgd+2+HuL2+nJmxcK1eLGzKqaostFxrk2Xs2vPZkUdV2nWY/asUrcWHml6YlWDn2eP83pfwxHYsMiEHY/rTKvxeVY+iirO/AphoO+eaYu7LvjKZU1Yx5Z4u/SnGWAiCH0yhMis0bWmgi7SCbw+sDd2uya+aoiLIGiB2ChW7hXHXCue/dif6/gLU7b+L8R00pQwnWdvKUPoIJCmZJYCluTeib4jpW+EmARB2+nR8wms2K9FGKM="
before_install:
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
- docker --version
install:
# Install Coverity on the host
- $CI_TOOLS/get-coverity.sh
# Export necessary env variables for Coverity
- env | grep -E "TRAVIS|COV|TOOL|URL" > .cov-env
# Pull a Docker image and start a new container
- $CI_MANAGERS/fedora.sh SETUP
script:
- set -e
# Preconfigure with meson to prevent Coverity from capturing meson metadata
- $DOCKER_EXEC meson cov-build -Dman=false
# Run Coverity
- $DOCKER_EXEC tools/coverity.sh build
- $DOCKER_EXEC tools/coverity.sh upload
- set +e
after_script:
- $CI_MANAGERS/fedora.sh CLEANUP

21
.vimrc Normal file
View File

@ -0,0 +1,21 @@
" 'set exrc' in ~/.vimrc will read .vimrc from the current directory
" Warning: Enabling exrc is dangerous! You can do nearly everything from a
" vimrc configuration file, including write operations and shell execution.
" You should consider setting 'set secure' as well, which is highly
" recommended!
" Note that we set a line width of 109 for .c and XML files, but for everything
" else (such as journal catalog files, unit files, README files) we stick to a
" more conservative 79 characters.
" NOTE: If you update this file make sure to update .dir-locals.el and
" .editorconfig, too.
set tabstop=8
set shiftwidth=8
set expandtab
set makeprg=GCC_COLORS=\ make
set tw=79
au BufRead,BufNewFile *.xml set tw=109 shiftwidth=2 smarttab
au FileType sh set tw=80 shiftwidth=4 smarttab
au FileType c set tw=109

250
.ycm_extra_conf.py Normal file
View File

@ -0,0 +1,250 @@
#!/usr/bin/env python
# SPDX-License-Identifier: Unlicense
#
# Based on the template file provided by the 'YCM-Generator' project authored by
# Reuben D'Netto.
# Jiahui Xie has re-reformatted and expanded the original script in accordance
# to the requirements of the PEP 8 style guide and 'systemd' project,
# respectively.
#
# The original license is preserved as it is.
#
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
# binary, for any purpose, commercial or non-commercial, and by any
# means.
#
# In jurisdictions that recognize copyright laws, the author or authors
# of this software dedicate any and all copyright interest in the
# software to the public domain. We make this dedication for the benefit
# of the public at large and to the detriment of our heirs and
# successors. We intend this dedication to be an overt act of
# relinquishment in perpetuity of all present and future rights to this
# software under copyright law.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# For more information, please refer to <http://unlicense.org/>
"""
YouCompleteMe configuration file tailored to support the 'meson' build system
used by the 'systemd' project.
"""
import glob
import os
import ycm_core
SOURCE_EXTENSIONS = (".C", ".cpp", ".cxx", ".cc", ".c", ".m", ".mm")
HEADER_EXTENSIONS = (".H", ".h", ".hxx", ".hpp", ".hh")
def DirectoryOfThisScript():
"""
Return the absolute path of the parent directory containing this
script.
"""
return os.path.dirname(os.path.abspath(__file__))
def GuessBuildDirectory():
"""
Guess the build directory using the following heuristics:
1. Returns the current directory of this script plus 'build'
subdirectory in absolute path if this subdirectory exists.
2. Otherwise, probes whether there exists any directory
containing '.ninja_log' file two levels above the current directory;
returns this single directory only if there is one candidate.
"""
result = os.path.join(DirectoryOfThisScript(), "build")
if os.path.exists(result):
return result
result = glob.glob(os.path.join(DirectoryOfThisScript(),
"..", "..", "*", ".ninja_log"))
if not result:
return ""
if 1 != len(result):
return ""
return os.path.split(result[0])[0]
def TraverseByDepth(root, include_extensions):
"""
Return a set of child directories of the 'root' containing file
extensions specified in 'include_extensions'.
NOTE:
1. The 'root' directory itself is excluded from the result set.
2. No subdirectories would be excluded if 'include_extensions' is left
to 'None'.
3. Each entry in 'include_extensions' must begin with string '.'.
"""
is_root = True
result = set()
# Perform a depth first top down traverse of the given directory tree.
for root_dir, subdirs, file_list in os.walk(root):
if not is_root:
# print("Relative Root: ", root_dir)
# print(subdirs)
if include_extensions:
get_ext = os.path.splitext
subdir_extensions = {
get_ext(f)[-1] for f in file_list if get_ext(f)[-1]
}
if subdir_extensions & include_extensions:
result.add(root_dir)
else:
result.add(root_dir)
else:
is_root = False
return result
_project_src_dir = os.path.join(DirectoryOfThisScript(), "src")
_include_dirs_set = TraverseByDepth(_project_src_dir, frozenset({".h"}))
flags = [
"-x",
"c"
# The following flags are partially redundant due to the existence of
# 'compile_commands.json'.
# '-Wall',
# '-Wextra',
# '-Wfloat-equal',
# '-Wpointer-arith',
# '-Wshadow',
# '-std=gnu99',
]
for include_dir in _include_dirs_set:
flags.append("-I" + include_dir)
# Set this to the absolute path to the folder (NOT the file!) containing the
# compile_commands.json file to use that instead of 'flags'. See here for
# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html
#
# You can get CMake to generate this file for you by adding:
# set( CMAKE_EXPORT_COMPILE_COMMANDS 1 )
# to your CMakeLists.txt file.
#
# Most projects will NOT need to set this to anything; you can just change the
# 'flags' list of compilation flags. Notice that YCM itself uses that approach.
compilation_database_folder = GuessBuildDirectory()
if os.path.exists(compilation_database_folder):
database = ycm_core.CompilationDatabase(compilation_database_folder)
else:
database = None
def MakeRelativePathsInFlagsAbsolute(flags, working_directory):
"""
Iterate through 'flags' and replace the relative paths prefixed by
'-isystem', '-I', '-iquote', '--sysroot=' with absolute paths
start with 'working_directory'.
"""
if not working_directory:
return list(flags)
new_flags = []
make_next_absolute = False
path_flags = ["-isystem", "-I", "-iquote", "--sysroot="]
for flag in flags:
new_flag = flag
if make_next_absolute:
make_next_absolute = False
if not flag.startswith("/"):
new_flag = os.path.join(working_directory, flag)
for path_flag in path_flags:
if flag == path_flag:
make_next_absolute = True
break
if flag.startswith(path_flag):
path = flag[len(path_flag):]
new_flag = path_flag + os.path.join(working_directory, path)
break
if new_flag:
new_flags.append(new_flag)
return new_flags
def IsHeaderFile(filename):
"""
Check whether 'filename' is considered as a header file.
"""
extension = os.path.splitext(filename)[1]
return extension in HEADER_EXTENSIONS
def GetCompilationInfoForFile(filename):
"""
Helper function to look up compilation info of 'filename' in the 'database'.
"""
# The compilation_commands.json file generated by CMake does not have
# entries for header files. So we do our best by asking the db for flags for
# a corresponding source file, if any. If one exists, the flags for that
# file should be good enough.
if not database:
return None
if IsHeaderFile(filename):
basename = os.path.splitext(filename)[0]
for extension in SOURCE_EXTENSIONS:
replacement_file = basename + extension
if os.path.exists(replacement_file):
compilation_info = \
database.GetCompilationInfoForFile(replacement_file)
if compilation_info.compiler_flags_:
return compilation_info
return None
return database.GetCompilationInfoForFile(filename)
def FlagsForFile(filename, **kwargs):
"""
Callback function to be invoked by YouCompleteMe in order to get the
information necessary to compile 'filename'.
It returns a dictionary with a single element 'flags'. This element is a
list of compiler flags to pass to libclang for the file 'filename'.
"""
if database:
# Bear in mind that compilation_info.compiler_flags_ does NOT return a
# python list, but a "list-like" StringVec object
compilation_info = GetCompilationInfoForFile(filename)
if not compilation_info:
return None
final_flags = MakeRelativePathsInFlagsAbsolute(
compilation_info.compiler_flags_,
compilation_info.compiler_working_dir_)
else:
relative_to = DirectoryOfThisScript()
final_flags = MakeRelativePathsInFlagsAbsolute(flags, relative_to)
return {
"flags": final_flags,
"do_cache": True
}

339
LICENSE.GPL2 Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

502
LICENSE.LGPL2.1 Normal file
View File

@ -0,0 +1,502 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

5
Makefile Normal file
View File

@ -0,0 +1,5 @@
all:
ninja -C build
install:
DESTDIR=$(DESTDIR) ninja -C build install

10538
NEWS Normal file

File diff suppressed because it is too large Load Diff

334
README Normal file
View File

@ -0,0 +1,334 @@
systemd System and Service Manager
DETAILS:
http://0pointer.de/blog/projects/systemd.html
WEB SITE:
https://www.freedesktop.org/wiki/Software/systemd
GIT:
git@github.com:systemd/systemd.git
https://github.com/systemd/systemd
MAILING LIST:
https://lists.freedesktop.org/mailman/listinfo/systemd-devel
IRC:
#systemd on irc.freenode.org
BUG REPORTS:
https://github.com/systemd/systemd/issues
AUTHOR:
Lennart Poettering
Kay Sievers
...and many others
LICENSE:
LGPLv2.1+ for all code
- except src/basic/MurmurHash2.c which is Public Domain
- except src/basic/siphash24.c which is CC0 Public Domain
- except src/journal/lookup3.c which is Public Domain
- except src/udev/* which is (currently still) GPLv2, GPLv2+
- except tools/chromiumos/* which is BSD-style
REQUIREMENTS:
Linux kernel >= 3.13
Linux kernel >= 4.2 for unified cgroup hierarchy support
Kernel Config Options:
CONFIG_DEVTMPFS
CONFIG_CGROUPS (it is OK to disable all controllers)
CONFIG_INOTIFY_USER
CONFIG_SIGNALFD
CONFIG_TIMERFD
CONFIG_EPOLL
CONFIG_NET
CONFIG_SYSFS
CONFIG_PROC_FS
CONFIG_FHANDLE (libudev, mount and bind mount handling)
Kernel crypto/hash API
CONFIG_CRYPTO_USER_API_HASH
CONFIG_CRYPTO_HMAC
CONFIG_CRYPTO_SHA256
udev will fail to work with the legacy sysfs layout:
CONFIG_SYSFS_DEPRECATED=n
Legacy hotplug slows down the system and confuses udev:
CONFIG_UEVENT_HELPER_PATH=""
Userspace firmware loading is not supported and should
be disabled in the kernel:
CONFIG_FW_LOADER_USER_HELPER=n
Some udev rules and virtualization detection relies on it:
CONFIG_DMIID
Support for some SCSI devices serial number retrieval, to
create additional symlinks in /dev/disk/ and /dev/tape:
CONFIG_BLK_DEV_BSG
Required for PrivateNetwork= in service units:
CONFIG_NET_NS
Note that systemd-localed.service and other systemd units use
PrivateNetwork so this is effectively required.
Required for PrivateUsers= in service units:
CONFIG_USER_NS
Optional but strongly recommended:
CONFIG_IPV6
CONFIG_AUTOFS4_FS
CONFIG_TMPFS_XATTR
CONFIG_{TMPFS,EXT4_FS,XFS,BTRFS_FS,...}_POSIX_ACL
CONFIG_SECCOMP
CONFIG_SECCOMP_FILTER (required for seccomp support)
CONFIG_CHECKPOINT_RESTORE (for the kcmp() syscall)
Required for CPUShares= in resource control unit settings
CONFIG_CGROUP_SCHED
CONFIG_FAIR_GROUP_SCHED
Required for CPUQuota= in resource control unit settings
CONFIG_CFS_BANDWIDTH
Required for IPAddressDeny= and IPAddressAllow= in resource control
unit settings
CONFIG_CGROUP_BPF
For UEFI systems:
CONFIG_EFIVAR_FS
CONFIG_EFI_PARTITION
We recommend to turn off Real-Time group scheduling in the
kernel when using systemd. RT group scheduling effectively
makes RT scheduling unavailable for most userspace, since it
requires explicit assignment of RT budgets to each unit whose
processes making use of RT. As there's no sensible way to
assign these budgets automatically this cannot really be
fixed, and it's best to disable group scheduling hence.
CONFIG_RT_GROUP_SCHED=n
It's a good idea to disable the implicit creation of networking bonding
devices by the kernel networking bonding module, so that the
automatically created "bond0" interface doesn't conflict with any such
device created by systemd-networkd (or other tools). Ideally there
would be a kernel compile-time option for this, but there currently
isn't. The next best thing is to make this change through a modprobe.d
drop-in. This is shipped by default, see modprobe.d/systemd.conf.
Required for systemd-nspawn:
CONFIG_DEVPTS_MULTIPLE_INSTANCES or Linux kernel >= 4.7
Note that kernel auditing is broken when used with systemd's
container code. When using systemd in conjunction with
containers, please make sure to either turn off auditing at
runtime using the kernel command line option "audit=0", or
turn it off at kernel compile time using:
CONFIG_AUDIT=n
If systemd is compiled with libseccomp support on
architectures which do not use socketcall() and where seccomp
is supported (this effectively means x86-64 and ARM, but
excludes 32-bit x86!), then nspawn will now install a
work-around seccomp filter that makes containers boot even
with audit being enabled. This works correctly only on kernels
3.14 and newer though. TL;DR: turn audit off, still.
glibc >= 2.16
libcap
libmount >= 2.30 (from util-linux)
(util-linux *must* be built without --enable-libmount-support-mtab)
libseccomp >= 2.3.1 (optional)
libblkid >= 2.24 (from util-linux) (optional)
libkmod >= 15 (optional)
PAM >= 1.1.2 (optional)
libcryptsetup (optional)
libaudit (optional)
libacl (optional)
libselinux (optional)
liblzma (optional)
liblz4 >= 1.3.0 / 130 (optional)
libgcrypt (optional)
libqrencode (optional)
libmicrohttpd (optional)
libpython (optional)
libidn2 or libidn (optional)
gnutls >= 3.1.4 (optional, >= 3.6.0 is required to support DNS-over-TLS with gnutls)
openssl >= 1.1.0 (optional, required to support DNS-over-TLS with openssl)
elfutils >= 158 (optional)
polkit (optional)
tzdata >= 2014f (optional)
pkg-config
gperf
docbook-xsl (optional, required for documentation)
xsltproc (optional, required for documentation)
python-lxml (optional, required to build the indices)
python >= 3.5
meson >= 0.46 (>= 0.49 is required to build position-independent executables)
ninja
gcc, awk, sed, grep, m4, and similar tools
During runtime, you need the following additional
dependencies:
util-linux >= v2.27.1 required
dbus >= 1.4.0 (strictly speaking optional, but recommended)
NOTE: If using dbus < 1.9.18, you should override the default
policy directory (--with-dbuspolicydir=/etc/dbus-1/system.d).
dracut (optional)
polkit (optional)
To build in directory build/:
meson build/ && ninja -C build
Any configuration options can be specified as -Darg=value... arguments
to meson. After the build directory is initially configured, meson will
refuse to run again, and options must be changed with:
mesonconf -Darg=value...
mesonconf without any arguments will print out available options and
their current values.
Useful commands:
ninja -v some/target
ninja test
sudo ninja install
DESTDIR=... ninja install
A tarball can be created with:
git archive --format=tar --prefix=systemd-222/ v222 | xz > systemd-222.tar.xz
When systemd-hostnamed is used, it is strongly recommended to
install nss-myhostname to ensure that, in a world of
dynamically changing hostnames, the hostname stays resolvable
under all circumstances. In fact, systemd-hostnamed will warn
if nss-myhostname is not installed.
nss-systemd must be enabled on systemd systems, as that's required for
DynamicUser= to work. Note that we ship services out-of-the-box that
make use of DynamicUser= now, hence enabling nss-systemd is not
optional.
Note that the build prefix for systemd must be /usr. (Moreover,
packages systemd relies on — such as D-Bus — really should use the same
prefix, otherwise you are on your own.) -Dsplit-usr=false (which is the
default and does not need to be specified) is the recommended setting,
and -Dsplit-usr=true should be used on systems which have /usr on a
separate partition.
Additional packages are necessary to run some tests:
- busybox (used by test/TEST-13-NSPAWN-SMOKE)
- nc (used by test/TEST-12-ISSUE-3171)
- python3-pyparsing
- python3-evdev (used by hwdb parsing tests)
- strace (used by test/test-functions)
- capsh (optional, used by test-execute)
USERS AND GROUPS:
Default udev rules use the following standard system group
names, which need to be resolvable by getgrnam() at any time,
even in the very early boot stages, where no other databases
and network are available:
audio, cdrom, dialout, disk, input, kmem, kvm, lp, render, tape, tty, video
During runtime, the journal daemon requires the
"systemd-journal" system group to exist. New journal files will
be readable by this group (but not writable), which may be used
to grant specific users read access. In addition, system
groups "wheel" and "adm" will be given read-only access to
journal files using systemd-tmpfiles.service.
The journal remote daemon requires the
"systemd-journal-remote" system user and group to
exist. During execution this network facing service will drop
privileges and assume this uid/gid for security reasons.
Similarly, the network management daemon requires the
"systemd-network" system user and group to exist.
Similarly, the name resolution daemon requires the
"systemd-resolve" system user and group to exist.
Similarly, the coredump support requires the
"systemd-coredump" system user and group to exist.
NSS:
systemd ships with four glibc NSS modules:
nss-myhostname resolves the local hostname to locally
configured IP addresses, as well as "localhost" to
127.0.0.1/::1.
nss-resolve enables DNS resolution via the systemd-resolved
DNS/LLMNR caching stub resolver "systemd-resolved".
nss-mymachines enables resolution of all local containers registered
with machined to their respective IP addresses. It also maps UID/GIDs
ranges used by containers to useful names.
nss-systemd enables resolution of all dynamically allocated service
users. (See the DynamicUser= setting in unit files.)
To make use of these NSS modules, please add them to the "hosts:",
"passwd:" and "group:" lines in /etc/nsswitch.conf. The "resolve"
module should replace the glibc "dns" module in this file (and don't
worry, it chain-loads the "dns" module if it can't talk to resolved).
The four modules should be used in the following order:
passwd: compat mymachines systemd
group: compat mymachines systemd
hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
SYSV INIT.D SCRIPTS:
When calling "systemctl enable/disable/is-enabled" on a unit which is a
SysV init.d script, it calls /usr/lib/systemd/systemd-sysv-install;
this needs to translate the action into the distribution specific
mechanism such as chkconfig or update-rc.d. Packagers need to provide
this script if you need this functionality (you don't if you disabled
SysV init support).
Please see src/systemctl/systemd-sysv-install.SKELETON for how this
needs to look like, and provide an implementation at the marked places.
WARNINGS:
systemd will warn during early boot if /usr is not already mounted at
this point (that means: either located on the same file system as / or
already mounted in the initrd). While in systemd itself very little
will break if /usr is on a separate, late-mounted partition, many of
its dependencies very likely will break sooner or later in one form or
another. For example, udev rules tend to refer to binaries in /usr,
binaries that link to libraries in /usr or binaries that refer to data
files in /usr. Since these breakages are not always directly visible,
systemd will warn about this, since this kind of file system setup is
not really supported anymore by the basic set of Linux OS components.
systemd requires that the /run mount point exists. systemd also
requires that /var/run is a symlink to /run.
For more information on this issue consult
https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
To run systemd under valgrind, compile with meson option
-Dvalgrind=true and have valgrind development headers installed
(i.e. valgrind-devel or equivalent). Otherwise, false positives will be
triggered by code which violates some rules but is actually safe. Note
that valgrind generates nice output only on exit(), hence on shutdown
we don't execve() systemd-shutdown.
STABLE BRANCHES AND BACKPORTS:
Stable branches with backported patches are available in the
systemd-stable repo at https://github.com/systemd/systemd-stable.
Stable branches are started for certain releases of systemd and named
after them, e.g. v238-stable. Stable branches are managed by
distribution maintainers on an as needed basis. See
https://www.freedesktop.org/wiki/Software/systemd/Backports/ for some
more information and examples.
ENGINEERING AND CONSULTING SERVICES:
Kinvolk (https://kinvolk.io) offers professional engineering
and consulting services for systemd. Please contact Chris Kühl
<chris@kinvolk.io> for more information.

33
README.md Normal file
View File

@ -0,0 +1,33 @@
![Systemd](http://brand.systemd.io/assets/page-logo.png)
System and Service Manager
<a href="https://in.waw.pl/systemd-github-state/systemd-systemd-issues.svg"><img align="right" src="https://in.waw.pl/systemd-github-state/systemd-systemd-issues-small.svg" alt="Count of open issues over time"></a>
<a href="https://in.waw.pl/systemd-github-state/systemd-systemd-pull-requests.svg"><img align="right" src="https://in.waw.pl/systemd-github-state/systemd-systemd-pull-requests-small.svg" alt="Count of open pull requests over time"></a>
[![Semaphore CI Build Status](https://semaphoreci.com/api/v1/projects/28a5a3ca-3c56-4078-8b5e-7ed6ef912e14/443470/shields_badge.svg)](https://semaphoreci.com/systemd/systemd)<br/>
[![Coverity Scan Status](https://scan.coverity.com/projects/350/badge.svg)](https://scan.coverity.com/projects/350)<br/>
[![Fuzzit Status](https://app.fuzzit.dev/badge?org_id=systemd&branch=master)](https://app.fuzzit.dev/orgs/systemd/dashboard)<br/>
[![OSS-Fuzz Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/systemd.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html)<br/>
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1369/badge)](https://bestpractices.coreinfrastructure.org/projects/1369)<br/>
[![Travis CI Build Status](https://travis-ci.org/systemd/systemd.svg?branch=master)](https://travis-ci.org/systemd/systemd)<br/>
[![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/systemd/systemd.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/systemd/systemd/context:cpp)<br/>
[![CentOS CI Build Status](https://ci.centos.org/buildStatus/icon?job=systemd-pr-build)](https://ci.centos.org/job/systemd-pr-build/)<br/>
[![Build Status](https://dev.azure.com/evvers/systemd-systemd/_apis/build/status/systemd.systemd?branchName=master)](https://dev.azure.com/evvers/systemd-systemd/_build/latest?definitionId=1&branchName=master)
## Details
General information about systemd can be found in the [systemd Wiki](https://www.freedesktop.org/wiki/Software/systemd).
Information about build requirements is provided in the [README file](README).
Consult our [NEWS file](NEWS) for information about what's new in the most recent systemd versions.
Please see the [Hacking guide](docs/HACKING.md) for information on how to hack on systemd and test your modifications.
Please see our [Contribution Guidelines](docs/CONTRIBUTING.md) for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our [Coding Style Guidelines](docs/CODING_STYLE.md).
If you are looking for support, please contact our [mailing list](https://lists.freedesktop.org/mailman/listinfo/systemd-devel) or join our [IRC channel](irc://irc.freenode.org/%23systemd).
Stable branches with backported patches are available in the [stable repo](https://github.com/systemd/systemd-stable).

1225
TODO Normal file

File diff suppressed because it is too large Load Diff

15
azure-pipelines.yml Normal file
View File

@ -0,0 +1,15 @@
trigger:
- master
jobs:
- job: FuzzBuzz
displayName: FuzzBuzz
pool:
vmImage: 'ubuntu-latest'
steps:
- script: |
set -e
./travis-ci/managers/fuzzbuzz.sh
displayName: 'This is where it gets darker'

34
catalog/meson.build Normal file
View File

@ -0,0 +1,34 @@
# SPDX-License-Identifier: LGPL-2.1+
in_files = '''
systemd.bg.catalog
systemd.be.catalog
systemd.be@latin.catalog
systemd.de.catalog
systemd.fr.catalog
systemd.it.catalog
systemd.pl.catalog
systemd.pt_BR.catalog
systemd.ru.catalog
systemd.zh_CN.catalog
systemd.zh_TW.catalog
systemd.catalog
'''.split()
support_url = get_option('support-url')
support_sed = 's~%SUPPORT_URL%~@0@~'.format(support_url)
foreach file : in_files
custom_target(
file,
input : file + '.in',
output: file,
command : [sed, support_sed, '@INPUT@'],
capture : true,
install : true,
install_dir : catalogdir)
endforeach
meson.add_install_script('sh', '-c',
'test -n "$DESTDIR" || @0@/journalctl --update-catalog'
.format(rootbindir))

View File

@ -0,0 +1,297 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Message catalog for systemd's own messages
# Belarusian translation
# Фармат каталога апісаны на старонцы
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: Сэрвіс журналявання запусціўся
Defined-By: systemd
Support: %SUPPORT_URL%
Працэс сістэмнага журналявання запусціўся, адкрыў файлы для
запісу і гатовы апрацоўваць запыты.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Сэрвіс журналявання спыніўся
Defined-By: systemd
Support: %SUPPORT_URL%
Працэс сістэмнага журналявання спыніўся і закрыў усе файлы.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Дыскавае месца, занятае часопісам
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) цяпер займае @CURRENT_USE_PRETTY@.
Максімальна дазволены памер складае @MAX_USE_PRETTY@.
Пакідаем вольнымі не меньш за @DISK_KEEP_FREE_PRETTY@ (даступна на дыску
@DISK_AVAILABLE_PRETTY@).
Такім чынам, ліміт складае @LIMIT_PRETTY@, з якіх @AVAILABLE_PRETTY@
даступна.
Ліміты на памер наладжваецца з дапамогай SystemMaxUse=, SystemKeepFree=,
SystemMaxFileSize=, RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= у
файле /etc/systemd/journald.conf. Глядзіце journald.conf(5) для дэталей.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Паведамленні з сэрвісу адкінуты
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Сэрвіс адправіў занадта штат паведамленняў за кароткі прамежак часу.
Частка паведамленняў была адкінута.
Майце на ўвазе, што былі адкінуты паведамлення толькі гэтага сэрвісу.
Паведамленні іншых сэрвісаў засталіся.
Мяжа, пасля якой паведамленні будуць адкінуты, наладжваецца з дапамогай
RateLimitIntervalSec= і RateLimitBurst= у файле /etc/systemd/journald.conf.
Глядзіце journald.conf(5) для дэталей.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Паведамленні страчаны
Defined-By: systemd
Support: %SUPPORT_URL%
Паведамленні ядра былі страчаны, так як сістэма журналявання не паспела
іх апрацаваць.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Працэс @COREDUMP_PID@ (@COREDUMP_COMM@) скінуў дамп памяці
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Працэс @COREDUMP_PID@ (@COREDUMP_COMM@) разбіўся і скінуў дамп памяці.
Звычайна гэта сведчыць аб памылцы ў праграмным кодзе.
Рэкамендуецца паведаміць аб гэтым распрацоўнікам.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Новая сесія № @SESSION_ID@ створана для карыстальніка @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новая сесія з № @SESSION_ID@ створана для карыстальніка @USER_ID@.
Лідар гэтай сесіі пад № @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Сесія № @SESSION_ID@ спынена
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сесія № @SESSION_ID@ спынена.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Даступна новае працоўнае месца № @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новае працоўнае месца № @SEAT_ID@ наладжана і даступна для выкарыстання.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Працоўнае месца № @SEAT_ID@ выдалена
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Працоўнае месца № @SEAT_ID@ выдалена і больш не даступна.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Час зменены
Defined-By: systemd
Support: %SUPPORT_URL%
Сістэмны гадзіннік зменены на @REALTIME@ мікрасекунд ад 1 студзеня 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Часавы пояс зменены на @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Сістэмны часавы пояс зменены на @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Запуск сістэмы завяршыўся
Defined-By: systemd
Support: %SUPPORT_URL%
Усе сістэмныя сэрвісы, неабходныя для загрузкі сістэмы, паспяхова
запусціліся. Майце на ўвазе, што гэта не значыць, што машына нічога не
робіць. Магчыма, некаторыя сэрвісы яшчэ ініцыялізіруюцца.
На запуск ядра спатрэбілася @KERNEL_USEC@ мікрасекунд.
На запуск пачатковага RAM-дыска спатрэбілася @INITRD_USEC@ мікрасекунд.
На запуск сістэмных сэрвісаў спатрэбілася @USERSPACE_USEC@ мікрасекунд.
-- 6bbd95ee977941e497c48be27c254128
Subject: Сістэма перайшла ў стан сну @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Цяпер сістэма перайшла у стан сну @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Сістэма выйшла са стана сну @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Цяпер сістэма выйшла са стана сну @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Сістэма завяршае работу
Defined-By: systemd
Support: %SUPPORT_URL%
Пачаўся працэс выключэння сістэмы.
Спыняюцца ўсе сістэмныя сэрвісы і дэмантуюцца файлавыя сістэмы.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Юніт @UNIT@ запускаецца
Defined-By: systemd
Support: %SUPPORT_URL%
Пачаўся працэс запуску юніта @UNIT@.
-- 39f53479d3a045ac8e11786248231fbf
Subject: Юніт @UNIT@ запусціўся
Defined-By: systemd
Support: %SUPPORT_URL%
Працэс запуску юніта @UNIT@ завершаны.
Вынік: @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Юніт @UNIT@ спыняецца
Defined-By: systemd
Support: %SUPPORT_URL%
Пачаўся працэс спынення юніта @UNIT@.
-- 9d1aaa27d60140bd96365438aad20286
Subject: Юніт @UNIT@ спынены
Defined-By: systemd
Support: %SUPPORT_URL%
Працэс спынення юніта @UNIT@ завершаны.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Збой юніта @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Збой юніта @UNIT@.
Вынік: @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: Юніт @UNIT@ перачытвае сваю канфігурацыю
Defined-By: systemd
Support: %SUPPORT_URL%
Юніт @UNIT@ пачаў перачытваць сваю канфігурацыю.
-- 7b05ebc668384222baa8881179cfda54
Subject: Юніт @UNIT@ перачытаў сваю канфігурацыю
Defined-By: systemd
Support: %SUPPORT_URL%
Юніт @UNIT@ перачытаў сваю канфігурацыю.
Вынік: @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Працэс @EXECUTABLE@ не можа быць выкананы
Defined-By: systemd
Support: %SUPPORT_URL%
Працэс @EXECUTABLE@ не можа быць выкананы ў выніку збою.
Ён вярнуў памылку нумар @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Sibject: Адно ці больш паведамленняў не былі накіраваны ў syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Адно ці больш паведамленняў не былі накіраваны ў syslog сэрвіс, які
выконваецца паралельна з journald. Звычайна гэта значыць, што
рэалізацыя syslog не паспявае апрацаваць паведамленні з неабходнай
хуткасцю.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Кропка мантавання не пустая
Defined-By: systemd
Support: %SUPPORT_URL%
Каталог @WHERE@ указаны як кропка мантавання (другое поле ў /etc/fstab ці
Where= поле ў файле юніта systemd) і не пусты. Гэта не перашкаджае
мантаванню, але існуючыя ў ім файлы будуць недаступны. Для доступу да іх,
калі ласка, змантуйце гэтую файлавую сістэму ў іншае месца.
-- 24d8d4452573402496068381a6312df2
Subject: Віртуальная машына або кантэйнер запусціўся
Defined-By: systemd
Support: %SUPPORT_URL%
Віртуальная машына @NAME@ з лідарам № @LEADER@ запусцілася і
гатова для выкарыстання.
-- 58432bd3bace477cb514b56381b8a758
Subject: Віртуальная машына або кантэйнер спынены
Defined-By: systemd
Support: %SUPPORT_URL%
Віртуальная машына @NAME@ з лідарам № @LEADER@ спынена.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: Механізм DNSSEC адключаны, бо сервер не падтымлівае яго
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Сэрвіс вызначэння імён (systemd-resolved.service) вызначыў, што DNS-сервер
не падтрымлівае механізм DNSSEC. У выніку праверка DNSSEC была адключана.
Гэтая падзея ўзнікае калі наладжаны DNSSEC=allow-downgrade
у файле resolved.conf і DNS-сервер не падтрымлівае механізм DNSSEC.
Звярніце ўвагу, што рэжым allow-downgrade дазваляе правесці атаку
«DNSSEC downgrade», у ходзе якой зламыснік можа адключыць праверку DNSSEC
шляхам падстаноўкі падробленых DNSSEC-адказаў у камунікацыйны канал.
Гэта падзея можа быць прыкметай таго, што DNS-сервер сапраўды несумяшчальны
з DNSSEC або што зламысніку паспяхова атрымалася правесці атаку па
адключэнню DNSSEC.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: Збой пры праверцы DNSSEC
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
DNS-запыт або рэсурсны запіс не прайшоў праверку DNSSEC.
Як правіла, гэта паказвае на знешняе ўздзеянне на канал сувязі.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Давераны ключ DNSSEC быў ануляваны
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Давераны ключ DNSSEC быў ануляваны. Неабходна наладзіць новы давераны ключ
або абнавіць аперацыйную сістэму, каб атрымаць абноўлены давераны ключ
DNSSEC.

View File

@ -0,0 +1,302 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Message catalog for systemd's own messages
# Belarusian Latin translation
# Farmat kataloha apisany na staroncy
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: Servis žurnaliavannia zapusciŭsia
Defined-By: systemd
Support: %SUPPORT_URL%
Praces sistemnaha žurnaliavannia zapusciŭsia, adkryŭ fajly dlia
zapisu i hatovy apracoŭvać zapyty.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Servis žurnaliavannia spyniŭsia
Defined-By: systemd
Support: %SUPPORT_URL%
Praces sistemnaha žurnaliavannia spyniŭsia i zakryŭ usie fajly.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: dyskavaje miesca, zaniataje časopisam
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) ciapier zajmaje @CURRENT_USE_PRETTY@.
Maksimaĺna dazvolieny pamier skladaje @MAX_USE_PRETTY@.
Pakidajem voĺnymi nie mieńš za @DISK_KEEP_FREE_PRETTY@ (dastupna na dysku
@DISK_AVAILABLE_PRETTY@).
Takim čynam, limit skladaje @LIMIT_PRETTY@, z jakich @AVAILABLE_PRETTY@
dastupna.
Limity na pamier naladžvaiecca z dapamohaj SystemMaxUse=, SystemKeepFree=,
SystemMaxFileSize=, RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= u
fajlie /etc/systemd/journald.conf. Hliadzicie journald.conf(5) dlia
detaliej.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Paviedamlienni z servisu adkinuty
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Servis adpraviŭ zanadta štat paviedamlienniaŭ za karotki pramiežak času.
Častka paviedamlienniaŭ byla adkinuta.
Majcie na ŭvazie, što byli adkinuty paviedamliennia toĺki hetaha servisu.
Paviedamlienni inšych servisaŭ zastalisia.
Miaža, paslia jakoj paviedamlienni buduć adkinuty, naladžvajecca z dapamohaj
RateLimitIntervalSec= i RateLimitBurst= u fajlie /etc/systemd/journald.conf.
Hliadzicie journald.conf(5) dlia detaliej.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Paviedamlienni stračany
Defined-By: systemd
Support: %SUPPORT_URL%
Paviedamlienni jadra byli stračany, tak jak sistema žurnaliavannia nie
paspiela ich apracavać.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Praces @COREDUMP_PID@ (@COREDUMP_COMM@) skinuŭ damp pamiaci
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Praces @COREDUMP_PID@ (@COREDUMP_COMM@) razbiŭsia i skinuŭ damp pamiaci.
Zvyčajna heta sviedčyć ab pamylcy ŭ prahramnym kodzie.
Rekamiendujecca paviedamić ab hetym raspracoŭnikam.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Novaja siesija № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Novaja siesija z № @SESSION_ID@ stvorana dlia karystaĺnika @USER_ID@.
Lidar hetaj siesii pad № @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Siesija № @SESSION_ID@ spyniena
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Siesija № @SESSION_ID@ spyniena.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Dastupna novaje pracoŭnaje miesca № @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Novaje pracoŭnaje miesca № @SEAT_ID@ naladžana i dastupna dlia
vykarystannia.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Pracoŭnaje miesca № @SEAT_ID@ vydaliena
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Pracoŭnaje miesca № @SEAT_ID@ vydaliena i boĺš nie dastupna.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Čas zmienieny
Defined-By: systemd
Support: %SUPPORT_URL%
Sistemny hadzinnik zmienieny na @REALTIME@ mikrasiekund ad 1 studzienia
1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Časavy pojas zmienieny na @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Sistemny časavy pojas zmienieny na @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Zapusk sistemy zaviaršyŭsia
Defined-By: systemd
Support: %SUPPORT_URL%
Usie sistemnyja servisy, nieabchodnyja dlia zahruzki sistemy, paspiachova
zapuscilisia. Majcie na ŭvazie, što heta nie značyć, što mašyna ničoha nie
robić. Mahčyma, niekatoryja servisy jašče inicyjalizirujucca.
Na zapusk jadra spatrebilasia @KERNEL_USEC@ mikrasiekund.
Na zapusk pačatkovaha RAM-dyska spatrebilasia @INITRD_USEC@ mikrasiekund.
Na zapusk sistemnych servisaŭ spatrebilasia @USERSPACE_USEC@ mikrasiekund.
-- 6bbd95ee977941e497c48be27c254128
Subject: Sistema pierajšla ŭ stan snu @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Ciapier sistema pierajšla u stan snu @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Sistema vyjšla sa stana snu @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Ciapier sistema vyjšla sa stana snu @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Sistema zaviaršaje rabotu
Defined-By: systemd
Support: %SUPPORT_URL%
Pačaŭsia praces vykliučennia sistemy.
Spyniajucca ŭsie sistemnyja servisy i demantujucca fajlavyja sistemy.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Junit @UNIT@ zapuskajecca
Defined-By: systemd
Support: %SUPPORT_URL%
Pačaŭsia praces zapusku junita @UNIT@.
-- 39f53479d3a045ac8e11786248231fbf
Subject: Junit @UNIT@ zapusciŭsia
Defined-By: systemd
Support: %SUPPORT_URL%
Praces zapusku junita @UNIT@ zavieršany.
Vynik: @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Junit @UNIT@ spyniajecca
Defined-By: systemd
Support: %SUPPORT_URL%
Pačaŭsia praces spyniennia junita @UNIT@.
-- 9d1aaa27d60140bd96365438aad20286
Subject: Junit @UNIT@ spynieny
Defined-By: systemd
Support: %SUPPORT_URL%
Praces spyniennia junita @UNIT@ zavieršany.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Zboj junita @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Zboj junita @UNIT@.
Vynik: @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: Junit @UNIT@ pieračytvaje svaju kanfihuracyju
Defined-By: systemd
Support: %SUPPORT_URL%
Junit @UNIT@ pačaŭ pieračytvać svaju kanfihuracyju.
-- 7b05ebc668384222baa8881179cfda54
Subject: Junit @UNIT@ pieračytaŭ svaju kanfihuracyju
Defined-By: systemd
Support: %SUPPORT_URL%
Junit @UNIT@ pieračytaŭ svaju kanfihuracyju.
Vynik: @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Praces @EXECUTABLE@ nie moža być vykanany
Defined-By: systemd
Support: %SUPPORT_URL%
Praces @EXECUTABLE@ nie moža być vykanany ŭ vyniku zboju.
Jon viarnuŭ pamylku numar @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Sibject: Adno ci boĺš paviedamlienniaŭ nie byli nakiravany ŭ syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Adno ci boĺš paviedamlienniaŭ nie byli nakiravany ŭ syslog servis, jaki
vykonvajecca paralieĺna z journald. Zvyčajna heta značyć, što
realizacyja syslog nie paspiavaje apracavać paviedamlienni z nieabchodnaj
chutkasciu.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Kropka mantavannia nie pustaja
Defined-By: systemd
Support: %SUPPORT_URL%
Kataloh @WHERE@ ukazany jak kropka mantavannia (druhoje polie ŭ /etc/fstab
ci Where= polie ŭ fajlie junita systemd) i nie pusty. Heta nie pieraškadžaje
mantavanniu, alie isnujučyja ŭ im fajly buduć niedastupny. Dlia dostupu da
ich, kali laska, zmantujcie hetuju fajlavuju sistemu ŭ inšaje miesca.
-- 24d8d4452573402496068381a6312df2
Subject: Virtuaĺnaja mašyna abo kantejnier zapusciŭsia
Defined-By: systemd
Support: %SUPPORT_URL%
Virtuaĺnaja mašyna @NAME@ z lidaram № @LEADER@ zapuscilasia i
hatova dlia vykarystannia.
-- 58432bd3bace477cb514b56381b8a758
Subject: Virtuaĺnaja mašyna abo kantejnier spynieny
Defined-By: systemd
Support: %SUPPORT_URL%
Virtuaĺnaja mašyna @NAME@ z lidaram № @LEADER@ spyniena.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: Miechanizm DNSSEC adkliučany, bo siervier nie padtrymlivaje jaho
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Servis vyznačennia imion (systemd-resolved.service) vyznačyŭ, što
DNS-siervier nie padtrymlivaje miechanizm DNSSEC. U vyniku pravierka DNSSEC
byla adkliučana.
Hetaja padzieja ŭznikaje kali naladžany DNSSEC=allow-downgrade
u fajlie resolved.conf i DNS-siervier nie padtrymlivaje miechanizm DNSSEC.
Zviarnicie ŭvahu, što režym allow-downgrade dazvaliaje praviesci ataku
«DNSSEC downgrade», u chodzie jakoj zlamysnik moža adkliučyć pravierku
DNSSEC šliacham padstanoŭki padroblienych DNSSEC-adkazaŭ u kamunikacyjny
kanal.
Heta padzieja moža być prykmietaj taho, što DNS-siervier sapraŭdy
niesumiaščaĺny z DNSSEC abo što zlamysniku paspiachova atrymalasia praviesci
ataku pa adkliučenniu DNSSEC.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: Zboj pry praviercy DNSSEC
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
DNS-zapyt abo resursny zapis nie prajšoŭ pravierku DNSSEC.
Jak pravila, heta pakazvaje na zniešniaje ŭzdziejannie na kanal suviazi.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Davierany kliuč DNSSEC byŭ anuliavany
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Davierany kliuč DNSSEC byŭ anuliavany. Nieabchodna naladzić novy davierany
kliuč abo abnavić apieracyjnuju sistemu, kab atrymać abnoŭlieny davierany
kliuč DNSSEC.

View File

@ -0,0 +1,310 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2016 Alexander Shopov <ash@kambanaria.org>
# Message catalog for systemd's own messages
# The catalog format is documented on
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: Журналният процес е пуснат
Defined-By: systemd
Support: %SUPPORT_URL%
Журналният процес на системата е стартирал, отворил е журналните файлове
за запис и може да приема заявки.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Журналният процес е спрян
Defined-By: systemd
Support: %SUPPORT_URL%
Журналният процес на системата е спрян, затворени са всички отворени
журнални файлове.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Пространството върху диска заето от журналните файлове
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) в момента заема @CURRENT_USE_PRETTY@.
Максималният зададен размер е @MAX_USE_PRETTY@.
Свободни се оставят поне @DISK_KEEP_FREE_PRETTY@ (от текущо наличните @DISK_AVAILABLE_PRETTY@).
Максималният наложен размер е @LIMIT_PRETTY@, от който @AVAILABLE_PRETTY@ са свободни.
Настройките за максималния размер на журнала върху диска се
управляват чрез директивите „SystemMaxUse=“, „SystemKeepFree=“,
„SystemMaxFileSize=“, „RuntimeMaxUse=“, „RuntimeKeepFree=“ и
„RuntimeMaxFileSize=“ във файла „/etc/systemd/journald.conf“.
За повече информация прегледайте „journald.conf(5)“ от ръководството.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Съобщенията от някоя услуга не са допуснати
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Някоя услуга генерира прекалено много съобщения за кратък период.
Част само от нейните съобщения са отхвърляни.
Съобщенията от другите услуги не са засегнати.
Настройките за максималния брой съобщения, които ще се обработят, се
управляват чрез директивите „RateLimitInterval=“ и „RateLimitBurst=“ във
файла „/etc/systemd/journald.conf“. За повече информация прегледайте
„journald.conf(5)“ от ръководството.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Пропуснати журнални съобщения
Defined-By: systemd
Support: %SUPPORT_URL%
Някои от съобщенията на ядрото може и да са пропуснати, защото системата не
смогваше да ги обработи достатъчно бързо.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Процес № @COREDUMP_PID@ (@COREDUMP_COMM@) запази освободената памет
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Процес № @COREDUMP_PID@ (@COREDUMP_COMM@) заби, представянето му в паметта
бе запазено.
Най-често това се дължи на грешка в забилата програма и следва да я
докладвате на създателите на програмата.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Създадена е нова сесия № @SESSION_ID@ за потребителя „@USER_ID@“
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
За потребителя „@USER_ID@“ е създадена нова сесия № @SESSION_ID@.
Водещият процес на сесията е: @LEADER@
-- 3354939424b4456d9802ca8333ed424a
Subject: Сесия № @SESSION_ID@ приключи
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сесия № @SESSION_ID@ приключи работа.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Налично е ново работно място № @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новото работно място № @SEAT_ID@ е настроено и готово за работа.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Работното място № @SEAT_ID@ е премахнато
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Работното място № @SEAT_ID@ вече не е налично.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Смяна на системното време
Defined-By: systemd
Support: %SUPPORT_URL%
Часовникът на системата е сверен да сочи @REALTIME@ микросекунди след
1 януари 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Смяна на часовия пояс да е „@TIMEZONE@“
Defined-By: systemd
Support: %SUPPORT_URL%
Часовият пояс на системата е сменен на „@TIMEZONE@“.
-- b07a249cd024414a82dd00cd181378ff
Subject: Стартирането на системата завърши
Defined-By: systemd
Support: %SUPPORT_URL%
Успешно са стартирали всички услуги, които са посочени за задействане при
стартиране на системата. Това не означава, че системата бездейства, защото
някои от услугите може да извършват специфични действия при стартиране.
Стартирането на ядрото отне @KERNEL_USEC@ микросекунди.
Стартирането на RAM диска за първоначално зареждане отне @INITRD_USEC@
микросекунди.
Стартирането на потребителските програми отне @USERSPACE_USEC@ микросекунди.
-- 6bbd95ee977941e497c48be27c254128
Subject: Системата е приспана на ниво „@SLEEP@“
Defined-By: systemd
Support: %SUPPORT_URL%
Системата премина в състояние на приспиване „@SLEEP@“.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Системата се събуди след приспиване на ниво„@SLEEP@“
Defined-By: systemd
Support: %SUPPORT_URL%
Системата се събуди от състояние на приспиване „@SLEEP@“.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Започна процедура на спиране на системата
Defined-By: systemd
Support: %SUPPORT_URL%
Започна процедурата на Systemd за спиране на системата. Всички процеси и
услуги се спират, всички файлови системи се демонтират.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Модул „@UNIT@“ се стартира
Defined-By: systemd
Support: %SUPPORT_URL%
Модулът „@UNIT@“ се стартира в момента
-- 39f53479d3a045ac8e11786248231fbf
Subject: Модул „@UNIT@“ вече е стартиран
Defined-By: systemd
Support: %SUPPORT_URL%
Стартирането на модул „@UNIT@“ завърши.
Резултатът е: @JOB_RESULT@
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Модул „@UNIT@“ се спира
Defined-By: systemd
Support: %SUPPORT_URL%
Модулът „@UNIT@“ се спира в момента.
-- 9d1aaa27d60140bd96365438aad20286
Subject: Модул „@UNIT@“ вече е спрян
Defined-By: systemd
Support: %SUPPORT_URL%
Спирането на модул „@UNIT@“ завърши.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Модулът „@UNIT@“ не успя да стартира
Defined-By: systemd
Support: %SUPPORT_URL%
Модулът „@UNIT@“ не успя да стартира.
Резултатът е: @JOB_RESULT@
-- d34d037fff1847e6ae669a370e694725
Subject: Модулът „@UNIT@“ започна презареждане на настройките си
Defined-By: systemd
Support: %SUPPORT_URL%
Модулът „@UNIT@“ започна презареждане на настройките си.
-- 7b05ebc668384222baa8881179cfda54
Subject: Модулът „@UNIT@“ завърши презареждането на настройките си
Defined-By: systemd
Support: %SUPPORT_URL%
Модулът „@UNIT@“ завърши презареждането на настройките си.
Резултатът e: @JOB_RESULT@
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Програмата „@EXECUTABLE@“ не успя да се стартира
Defined-By: systemd
Support: %SUPPORT_URL%
Програмата „@EXECUTABLE@“ не успя да се стартира.
Върнатият номер на грешка е: @ERRNO@
-- 0027229ca0644181a76c4e92458afa2e
Subject: Поне едно съобщение не бе препратено към syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Поне едно съобщение не бе препратено към журналната услуга syslog, която
работи успоредно с journald.
Най-често това указва, че тази реализация на syslog не може да поеме текущия
обем съобщения.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Точката за монтиране не е празна
Defined-By: systemd
Support: %SUPPORT_URL%
Директорията „@WHERE@“ не е празна.
Тя е указана като точка за монтиране — или като второ поле във файла
„/etc/fstab“, или чрез директивата „Where=“ в някой от файловете за
модул на Systemd.
Това не пречи на самото монтиране, но вече съществуващите там файлове и
директории няма да се виждат повече, освен ако ръчно не монтирате тази
непразна директория някъде другаде.
-- 24d8d4452573402496068381a6312df2
Subject: Стартирана е виртуална машина или контейнер
Defined-By: systemd
Support: %SUPPORT_URL%
Виртуалната машина „@NAME@“ с идентификатор на водещия процес @LEADER@
е стартирана и готова за работа.
-- 58432bd3bace477cb514b56381b8a758
Subject: Спряна е виртуална машина или контейнер
Defined-By: systemd
Support: %SUPPORT_URL%
Виртуалната машина „@NAME@“ с идентификатор на водещия процес @LEADER@
е спряна.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: Режимът DNSSEC е изключен, защото сървърът не го поддържа
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Локалната услуга за имена (systemd-resolved.service) установи, че
настроения сървър за DNS не поддържа DNSSEC, затова този режим е изключен.
Това се случва, когато директивата „DNSSEC=allow-downgrade“ е включена във
файла „resolved.conf“ и зададеният сървър за DNS не е съвместим с DNSSEC.
Внимавайте, защото това може да позволи атака, при която трета страна ви
връща отговори, които да предизвикат понижаването на сигурността от DNSSEC
до DNS.
Такова събитие означава, че или сървърът за DNS не е съвместим с DNSSEC,
или някой успешно ви е атакувал за понижаване на сигурността на имената.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: Неуспешна проверка на DNSSEC
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Заявка или запис в DNS не издържа проверка с DNSSEC.
Това обикновено показва вмешателство на трета страна в канала ви за връзка.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Анулирана доверена котва в DNSSEC
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Анулирана е доверена котва за DNSSEC и трябва да настроите нова.
Понякога новата идва с обновяване на системата.

414
catalog/systemd.catalog.in Normal file
View File

@ -0,0 +1,414 @@
# SPDX-License-Identifier: LGPL-2.1+
# Message catalog for systemd's own messages
# The catalog format is documented on
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: The journal has been started
Defined-By: systemd
Support: %SUPPORT_URL%
The system journal process has started up, opened the journal
files for writing and is now ready to process requests.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: The journal has been stopped
Defined-By: systemd
Support: %SUPPORT_URL%
The system journal process has shut down and closed all currently
active journal files.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Disk space used by the journal
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) is currently using @CURRENT_USE_PRETTY@.
Maximum allowed usage is set to @MAX_USE_PRETTY@.
Leaving at least @DISK_KEEP_FREE_PRETTY@ free (of currently available @DISK_AVAILABLE_PRETTY@ of disk space).
Enforced usage limit is thus @LIMIT_PRETTY@, of which @AVAILABLE_PRETTY@ are still available.
The limits controlling how much disk space is used by the journal may
be configured with SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=,
RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= settings in
/etc/systemd/journald.conf. See journald.conf(5) for details.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Messages from a service have been suppressed
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
A service has logged too many messages within a time period. Messages
from the service have been dropped.
Note that only messages from the service in question have been
dropped, other services' messages are unaffected.
The limits controlling when messages are dropped may be configured
with RateLimitIntervalSec= and RateLimitBurst= in
/etc/systemd/journald.conf or LogRateLimitIntervalSec= and LogRateLimitBurst=
in the unit file. See journald.conf(5) and systemd.exec(5) for details.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Journal messages have been missed
Defined-By: systemd
Support: %SUPPORT_URL%
Kernel messages have been lost as the journal system has been unable
to process them quickly enough.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Process @COREDUMP_PID@ (@COREDUMP_COMM@) dumped core
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Process @COREDUMP_PID@ (@COREDUMP_COMM@) crashed and dumped core.
This usually indicates a programming error in the crashing program and
should be reported to its vendor as a bug.
-- 5aadd8e954dc4b1a8c954d63fd9e1137
Subject: Core file was truncated to @SIZE_LIMIT@ bytes.
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:coredump.conf(5)
The process had more memory mapped than the configured maximum for processing
and storage by systemd-coredump(8). Only the first @SIZE_LIMIT@ bytes were
saved. This core might still be usable, but various tools like gdb(1) will warn
about the file being truncated.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A new session with the ID @SESSION_ID@ has been created for the user @USER_ID@.
The leading process of the session is @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Session @SESSION_ID@ has been terminated
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A session with the ID @SESSION_ID@ has been terminated.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: A new seat @SEAT_ID@ is now available
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A new seat @SEAT_ID@ has been configured and is now available.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Seat @SEAT_ID@ has now been removed
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A seat @SEAT_ID@ has been removed and is no longer available.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Time change
Defined-By: systemd
Support: %SUPPORT_URL%
The system clock has been changed to @REALTIME@ microseconds after January 1st, 1970.
-- c7a787079b354eaaa9e77b371893cd27 de
Subject: Zeitänderung
Defined-By: systemd
Support: %SUPPORT_URL%
Die System-Zeit wurde geändert auf @REALTIME@ Mikrosekunden nach dem 1. Januar 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Time zone change to @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
The system timezone has been changed to @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: System start-up is now complete
Defined-By: systemd
Support: %SUPPORT_URL%
All system services necessary queued for starting at boot have been
started. Note that this does not mean that the machine is now idle as services
might still be busy with completing start-up.
Kernel start-up required @KERNEL_USEC@ microseconds.
Initial RAM disk start-up required @INITRD_USEC@ microseconds.
Userspace start-up required @USERSPACE_USEC@ microseconds.
-- eed00a68ffd84e31882105fd973abdd1
Subject: User manager start-up is now complete
Defined-By: systemd
Support: %SUPPORT_URL%
The user manager instance for user @_UID@ has been started. All services queued
for starting have been started. Note that other services might still be starting
up or be started at any later time.
Startup of the manager took @USERSPACE_USEC@ microseconds.
-- 6bbd95ee977941e497c48be27c254128
Subject: System sleep state @SLEEP@ entered
Defined-By: systemd
Support: %SUPPORT_URL%
The system has now entered the @SLEEP@ sleep state.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: System sleep state @SLEEP@ left
Defined-By: systemd
Support: %SUPPORT_URL%
The system has now left the @SLEEP@ sleep state.
-- 98268866d1d54a499c4e98921d93bc40
Subject: System shutdown initiated
Defined-By: systemd
Support: %SUPPORT_URL%
System shutdown has been initiated. The shutdown has now begun and
all system services are terminated and all file systems unmounted.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: A start job for unit @UNIT@ has begun execution
Defined-By: systemd
Support: %SUPPORT_URL%
A start job for unit @UNIT@ has begun execution.
The job identifier is @JOB_ID@.
-- 39f53479d3a045ac8e11786248231fbf
Subject: A start job for unit @UNIT@ has finished successfully
Defined-By: systemd
Support: %SUPPORT_URL%
A start job for unit @UNIT@ has finished successfully.
The job identifier is @JOB_ID@.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: A start job for unit @UNIT@ has failed
Defined-By: systemd
Support: %SUPPORT_URL%
A start job for unit @UNIT@ has finished with a failure.
The job identifier is @JOB_ID@ and the job result is @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: A stop job for unit @UNIT@ has begun execution
Defined-By: systemd
Support: %SUPPORT_URL%
A stop job for unit @UNIT@ has begun execution.
The job identifier is @JOB_ID@.
-- 9d1aaa27d60140bd96365438aad20286
Subject: A stop job for unit @UNIT@ has finished
Defined-By: systemd
Support: %SUPPORT_URL%
A stop job for unit @UNIT@ has finished.
The job identifier is @JOB_ID@ and the job result is @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: A reload job for unit @UNIT@ has begun execution
Defined-By: systemd
Support: %SUPPORT_URL%
A reload job for unit @UNIT@ has begun execution.
The job identifier is @JOB_ID@.
-- 7b05ebc668384222baa8881179cfda54
Subject: A reload job for unit @UNIT@ has finished
Defined-By: systemd
Support: %SUPPORT_URL%
A reload job for unit @UNIT@ has finished.
The job identifier is @JOB_ID@ and the job result is @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Process @EXECUTABLE@ could not be executed
Defined-By: systemd
Support: %SUPPORT_URL%
The process @EXECUTABLE@ could not be executed and failed.
The error number returned by this process is @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: One or more messages could not be forwarded to syslog
Defined-By: systemd
Support: %SUPPORT_URL%
One or more messages could not be forwarded to the syslog service
running side-by-side with journald. This usually indicates that the
syslog implementation has not been able to keep up with the speed of
messages queued.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Mount point is not empty
Defined-By: systemd
Support: %SUPPORT_URL%
The directory @WHERE@ is specified as the mount point (second field in
/etc/fstab or Where= field in systemd unit file) and is not empty.
This does not interfere with mounting, but the pre-exisiting files in
this directory become inaccessible. To see those over-mounted files,
please manually mount the underlying file system to a secondary
location.
-- 24d8d4452573402496068381a6312df2
Subject: A virtual machine or container has been started
Defined-By: systemd
Support: %SUPPORT_URL%
The virtual machine @NAME@ with its leader PID @LEADER@ has been
started is now ready to use.
-- 58432bd3bace477cb514b56381b8a758
Subject: A virtual machine or container has been terminated
Defined-By: systemd
Support: %SUPPORT_URL%
The virtual machine @NAME@ with its leader PID @LEADER@ has been
shut down.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: DNSSEC mode has been turned off, as server doesn't support it
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
The resolver service (systemd-resolved.service) has detected that the
configured DNS server does not support DNSSEC, and DNSSEC validation has been
turned off as result.
This event will take place if DNSSEC=allow-downgrade is configured in
resolved.conf and the configured DNS server is incompatible with DNSSEC. Note
that using this mode permits DNSSEC downgrade attacks, as an attacker might be
able turn off DNSSEC validation on the system by inserting DNS replies in the
communication channel that result in a downgrade like this.
This event might be indication that the DNS server is indeed incompatible with
DNSSEC or that an attacker has successfully managed to stage such a downgrade
attack.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: DNSSEC validation failed
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
A DNS query or resource record set failed DNSSEC validation. This is usually
indication that the communication channel used was tampered with.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: A DNSSEC trust anchor has been revoked
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
A DNSSEC trust anchor has been revoked. A new trust anchor has to be
configured, or the operating system needs to be updated, to provide an updated
DNSSEC trust anchor.
-- 5eb03494b6584870a536b337290809b3
Subject: Automatic restarting of a unit has been scheduled
Defined-By: systemd
Support: %SUPPORT_URL%
Automatic restarting of the unit @UNIT@ has been scheduled, as the result for
the configured Restart= setting for the unit.
-- ae8f7b866b0347b9af31fe1c80b127c0
Subject: Resources consumed by unit runtime
Defined-By: systemd
Support: %SUPPORT_URL%
The unit @UNIT@ completed and consumed the indicated resources.
-- 7ad2d189f7e94e70a38c781354912448
Subject: Unit succeeded
Defined-By: systemd
Support: %SUPPORT_URL%
The unit @UNIT@ has successfully entered the 'dead' state.
-- 0e4284a0caca4bfc81c0bb6786972673
Subject: Unit skipped
Defined-By: systemd
Support: %SUPPORT_URL%
The unit @UNIT@ was skipped due to an ExecCondition= command failure, and has
entered the 'dead' state with result '@UNIT_RESULT@'.
-- d9b373ed55a64feb8242e02dbe79a49c
Subject: Unit failed
Defined-By: systemd
Support: %SUPPORT_URL%
The unit @UNIT@ has entered the 'failed' state with result '@UNIT_RESULT@'.
-- 98e322203f7a4ed290d09fe03c09fe15
Subject: Unit process exited
Defined-By: systemd
Support: %SUPPORT_URL%
An @COMMAND@= process belonging to unit @UNIT@ has exited.
The process' exit code is '@EXIT_CODE@' and its exit status is @EXIT_STATUS@.
-- 50876a9db00f4c40bde1a2ad381c3a1b
Subject: The system is configured in a way that might cause problems
Defined-By: systemd
Support: %SUPPORT_URL%
The following "tags" are possible:
- "split-usr" — /usr is a separate file system and was not mounted when systemd
was booted
- "cgroups-missing" — the kernel was compiled without cgroup support or access
to expected interface files is restricted
- "var-run-bad" — /var/run is not a symlink to /run
- "overflowuid-not-65534" — the kernel user ID used for "unknown" users (with
NFS or user namespaces) is not 65534
- "overflowgid-not-65534" — the kernel group ID used for "unknown" users (with
NFS or user namespaces) is not 65534
Current system is tagged as @TAINT@.
-- fe6faa94e7774663a0da52717891d8ef
Subject: A process of @UNIT@ unit has been killed by the OOM killer.
Defined-By: systemd
Support: %SUPPORT_URL%
A process of unit @UNIT has been killed by the Linux kernel out-of-memory (OOM)
killer logic. This usually indicates that the system is low on memory and that
memory needed to be freed. A process associated with @UNIT@ has been determined
as the best process to terminate and has been forcibly terminated by the
kernel.
Note that the memory pressure might or might not have been caused by @UNIT@.

View File

@ -0,0 +1,246 @@
# SPDX-License-Identifier: LGPL-2.1+
# Message catalog for systemd's own messages
# Danish translation
# The catalog format is documented on
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: Journalen er blevet startet
Defined-By: systemd
Support: %SUPPORT_URL%
System-journal processen har startet op, åbnet journal filerne for
tilskrivning og er nu klar til at modtage anmodninger.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Journalen er blevet stoppet
Defined-By: systemd
Support: %SUPPORT_URL%
System-journal processen er stoppet og har lukket alle aktive journal
filer.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Beskeder fra en service er blevet undertrykt
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
En service har logget for mange beskeder inden for en given tidsperiode.
Beskeder fra omtalte service er blevet smidt væk.
Kun beskeder fra omtalte service er smidt væk. Beskeder fra andre
services er ikke påvirket.
Grænsen for hvornår beskeder bliver smidt væk kan konfigureres
med RateLimitIntervalSec= og RateLimitBurst= i
/etc/systemd/journald.conf. Se journald.conf(5) for detaljer herom.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Journal beskeder er gået tabt
Defined-By: systemd
Support: %SUPPORT_URL%
Kernel beskeder er gået tabt da journal systemet ikke har været i stand
til at håndtere dem hurtigt nok.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Fejl-fil genereret for process @COREDUMP_PID@ (@COREDUMP_COMM@)
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Process @COREDUMP_PID@ (@COREDUMP_COMM@) har lukket ned og genereret en
fejl-fil.
Dette indikerer som regel en programmeringsfejl i det nedlukkede program
og burde blive reporteret som en bug til folkene bag
-- 8d45620c1a4348dbb17410da57c60c66
Subject: En ny session @SESSION_ID@ er blevet lavet for bruger @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En ny session med ID @SESSION_ID@ er blevet lavet for brugeren @USER_ID@.
Den ledende process for sessionen er @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Session @SESSION_ID@ er blevet lukket ned
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En session med ID @SESSION_ID@ er blevet lukket ned.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: En ny arbejdsstation $SEAT_ID@ er nu tilgængelig
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En ny arbejdsstation @SEAT_ID@ er blevet konfigureret og er nu tilgængelig.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Arbejdsstation @SEAT_ID@ er nu blevet fjernet
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
En arbejdsstation @SEAT_ID@ er blevet fjernet og er ikke længere tilgængelig.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Tidsændring
Defined-By: systemd
Support: %SUPPORT_URL%
Systemtiden er blevet ændret til @REALTIME@ mikrosekunder efter d. 1. Januar 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Tidszoneændring til @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Tidszonen for systemet er blevet ændret til @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Opstart af systemet er nu fuldført
Defined-By: systemd
Support: %SUPPORT_URL%
Alle system services i kø til at køre ved opstart, er blevet startet
med success. Bemærk at dette ikke betyder at maskinen er i dvale, da
services stadig kan være i gang med at færdiggøre deres opstart.
Opstart af kernel tog @KERNEL_USEC@ mikrosekunder.
Opstart af initrd tog @INITRD_USEC@ mikrosekunder.
Opstart af userspace tog @USERSPACE_USEC@ mikrosekunder.
-- 6bbd95ee977941e497c48be27c254128
Subject: System slumretilstand @SLEEP@ trådt i kraft
Defined-By: systemd
Support: %SUPPORT_URL%
System er nu gået i @SLEEP@ slumretilstand.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: System slumretilstand @SLEEP@ forladt
Defined-By: systemd
Support: %SUPPORT_URL%
Systemet har nu forladt @SLEEP@ slumretilstand.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Systemnedlukning påbegyndt
Defined-By: systemd
Support: %SUPPORT_URL%
Systemnedlukning er blevet påbegyndt. Nedlukningen er nu begyndt og
alle system services er blevet afbrudt og alle filsystemer afmonteret.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Enhed @UNIT@ har påbegyndt opstart
Defined-By: systemd
Support: %SUPPORT_URL%
Enhed @UNIT@ er begyndt at starte op.
-- 39f53479d3a045ac8e11786248231fbf
Subject: Enhed @UNIT har færdiggjort opstart
Defined-By: systemd
Support: %SUPPORT_URL%
Enhed @UNIT@ er færdig med at starte op.
Resultat for opstart er @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Enhed @UNIT@ har påbegyndt nedlukning
Defined-By: systemd
Support: %SUPPORT_URL%
Enhed @UNIT@ har påbegyndt nedlukning.
-- 9d1aaa27d60140bd96365438aad20286
Subject: Enhed @UNIT@ har færdiggjort nedlukning
Defined-By: systemd
Support: %SUPPORT_URL%
Enhed @UNIT@ har færdiggjort nedlukning.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Enhed @UNIT@ har fejlet
Defined-By: systemd
Support: %SUPPORT_URL%
Enhed @UNIT@ har fejlet.
Resultatet er @JOB_RESULT@
-- d34d037fff1847e6ae669a370e694725
Subject: Enhed @UNIT@ har påbegyndt genindlæsning af sin konfiguration
Defined-By: systemd
Support: %SUPPORT_URL%
Enhed @UNIT@ er begyndt at genindlæse sin konfiguration
-- 7b05ebc668384222baa8881179cfda54
Subject: Enhed @UNIT@ har færdiggjort genindlæsning af sin konfiguration
Defined-By: systemd
Support: %SUPPORT_URL%
Enhed @UNIT@ er færdig med at genindlæse sin konfiguration
Resultatet er: @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Process @EXECUTABLE@ kunne ikke eksekveres
Defined-By: systemd
Support: %SUPPORT_URL%
Processen @EXECUTABLE@ kunne ikke eksekveres og fejlede.
Processens returnerede fejlkode er @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Èn eller flere beskeder kunne ikke videresendes til syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Èn eller flere beskeder kunne ikke videresendes til syslog servicen
der kører side-om-side med journald. Dette indikerer typisk at syslog
implementationen ikke har kunnet følge med mængden af ventende beskeder.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Monteringspunkt er ikke tomt
Defined-By: systemd
Support: %SUPPORT_URL%
Folderen @WHERE@ er specificeret som monteringspunkt (andet felt i
/etc/fstab eller Where= feltet i systemd enhedsfil) men er ikke tom.
Dette forstyrrer ikke monteringen, men de pre-eksisterende filer i folderen
bliver utilgængelige. For at se de over-monterede filer; montér det
underlæggende filsystem til en anden lokation.
-- 24d8d4452573402496068381a6312df2
Subject: En virtuel maskine eller container er blevet startet
Defined-By: systemd
Support: %SUPPORT_URL%
Den virtuelle maskine @NAME@ med dens leder PID @LEADER@ er blevet
startet og er klar til brug.
-- 58432bd3bace477cb514b56381b8a758
Subject: En virtuel maskine eller container er blevet afbrudt
Defined-By: systemd
Support: %SUPPORT_URL%
Den virtuelle maskine @NAME@ med dens leder PID @LEADER@ er blevet
nedlukket.

View File

@ -0,0 +1,13 @@
# SPDX-License-Identifier: LGPL-2.1+
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Speicherabbild für Prozess @COREDUMP_PID@ (@COREDUMP_COMM) generiert
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Prozess @COREDUMP_PID@ (@COREDUMP_COMM@) ist abgebrochen worden und
ein Speicherabbild wurde generiert.
Üblicherweise ist dies ein Hinweis auf einen Programmfehler und sollte
als Fehler dem jeweiligen Hersteller gemeldet werden.

View File

@ -0,0 +1,350 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2013-2016 Sylvain Plantefève
# Message catalog for systemd's own messages
# French translation
# Le format du catalogue de messages est décrit (en anglais) içi :
# https://www.freedesktop.org/wiki/Software/systemd/catalog
-- f77379a8490b408bbe5f6940505a777b
Subject: Le journal a été démarré
Defined-By: systemd
Support: %SUPPORT_URL%
Le processus du journal système a démarré, ouvert ses fichiers en écriture
et est prêt à traiter les requêtes.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Le journal a été arrêté
Defined-By: systemd
Support: %SUPPORT_URL%
Le processus du journal système a été arrêté et tous ses fichiers actifs
ont été fermés.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Espace disque utilisé par le journal
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
@JOURNAL_NAME@ (@JOURNAL_PATH@) utilise actuellement @CURRENT_USE_PRETTY@.
Le maximum autorisé est défini à @MAX_USE_PRETTY@.
Au moins @DISK_KEEP_FREE_PRETTY@ doivent être laissés libres
(sur @DISK_AVAILABLE_PRETTY@ d'espace disque actuellement libre).
La limite appliquée est donc @LIMIT_PRETTY@, dont @AVAILABLE_PRETTY@
sont toujours disponibles.
Les limites définissant la quantité d'espace disque que peut utiliser le
journal peuvent être configurées avec les paramètres SystemMaxUse=,
SystemKeepFree=, SystemMaxFileSize=, RuntimeMaxUse=, RuntimeKeepFree=,
RuntimeMaxFileSize= dans le fichier /etc/systemd/journald.conf.
Voir journald.conf(5) pour plus de détails.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Des messages d'un service ont été supprimés
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Un service a essayé d'enregistrer un trop grand nombre de messages sur un
intervalle de temps donné. Des messages de ce service ont été évincés.
Notez que seuls des messages de ce service ont été évincés, les messages des
autres services ne sont pas affectés.
Les limites définissant ce comportement peuvent être configurées avec les
paramètres RateLimitIntervalSec= et RateLimitBurst= dans le fichier
/etc/systemd/journald.conf. Voir journald.conf(5) pour plus de détails.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Des messages du journal ont été manqués
Defined-By: systemd
Support: %SUPPORT_URL%
Des messages du noyau ont été manqués car le journal système n'a pas été
capable de les traiter suffisamment vite.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Le processus @COREDUMP_PID@ (@COREDUMP_COMM@) a généré un fichier « core »
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Le processus @COREDUMP_PID@ (@COREDUMP_COMM@) a planté et généré un fichier « core ».
Cela indique généralement une erreur de programmation dans le programme
incriminé, et cela devrait être notifié à son concepteur comme un défaut (bug).
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Une nouvelle session @SESSION_ID@ a été créée pour l'utilisateur @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Une nouvelle session a été créée pour l'utilisateur @USER_ID@ avec
l'identifiant (ID) @SESSION_ID@.
Le processus maître de la session est @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: La session @SESSION_ID@ s'est terminée
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La session d'identifiant (ID) @SESSION_ID@ s'est terminée.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Un nouveau poste (seat) @SEAT_ID@ est disponible
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Un nouveau poste (seat) @SEAT_ID@ a été configuré et est maintenant
disponible.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Le poste (seat) @SEAT_ID@ a été retiré
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Le poste (seat) @SEAT_ID@ a été retiré et n'est plus disponible.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Changement d'heure
Defined-By: systemd
Support: %SUPPORT_URL%
L'horloge système a été modifiée et positionnée à @REALTIME@ microsecondes
après le 1er janvier 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Fuseau horaire modifié en @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Le fuseau horaire du système a été modifié et positionné à @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Le démarrage du système est terminé
Defined-By: systemd
Support: %SUPPORT_URL%
Tous les services nécessaires au démarrage du système ont été lancés.
Notez que cela ne signifie pas que le système est maintenant au repos,
car des services peuvent encore être en train de terminer leur démarrage.
Le chargement du noyau a nécessité @KERNEL_USEC@ microsecondes.
Le chargement du « RAM disk » initial a nécessité @INITRD_USEC@ microsecondes.
Le chargement de l'espace utilisateur a nécessité @USERSPACE_USEC@ microsecondes.
-- eed00a68ffd84e31882105fd973abdd1
Subject: Le démarrage du gestionnaire utilisateur est terminé
Defined-By: systemd
Support: %SUPPORT_URL%
L'instance du gestionnaire d'utilisateurs pour l'utilisateur @_UID@ a été démarrée.
Tous les services en file d'attente pour démarrer ont été lancés.
Notez que des services peuvent être encore en train de démarrer,
ou d'autres être lancés à tout moment ultérieur.
Le démarrage du gestionnaire a nécéssité @USERSPACE_USEC@ microsecondes.
-- 6bbd95ee977941e497c48be27c254128
Subject: Le système entre dans l'état de repos (sleep state) @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Le système est maintenant à l'état de repos (sleep state) @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Le système sorti de l'état de repos (sleep state) @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Le système est maintenant sorti de l'état de repos (sleep state) @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Arrêt du système amorcé
Defined-By: systemd
Support: %SUPPORT_URL%
L'arrêt du système a été amorcé. L'arrêt a maintenant commencé, tous les
services du système sont terminés et tous les systèmes de fichiers sont
démontés.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: L'unité (unit) @UNIT@ a commencé à démarrer
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ a commencé à démarrer.
-- 39f53479d3a045ac8e11786248231fbf
Subject: L'unité (unit) @UNIT@ a terminé son démarrage
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ a terminé son démarrage, avec le résultat @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: L'unité (unit) @UNIT@ a commencé à s'arrêter
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ a commencé à s'arrêter.
-- 9d1aaa27d60140bd96365438aad20286
Subject: L'unité (unit) @UNIT@ a terminé son arrêt
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ a terminé son arrêt.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: L'unité (unit) @UNIT@ a échoué
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ a échoué, avec le résultat @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: L'unité (unit) @UNIT@ a commencé à recharger sa configuration
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ a commencé à recharger sa configuration.
-- 7b05ebc668384222baa8881179cfda54
Subject: L'unité (unit) @UNIT@ a terminé de recharger configuration
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ a terminé de recharger configuration,
avec le résultat @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Le processus @EXECUTABLE@ n'a pas pu être exécuté
Defined-By: systemd
Support: %SUPPORT_URL%
Le processus @EXECUTABLE@ n'a pas pu être exécuté, et a donc échoué.
Le code d'erreur renvoyé est @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Un ou plusieurs messages n'ont pas pu être transmis à syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Un ou plusieurs messages n'ont pas pu être transmis au service syslog
s'exécutant conjointement avec journald. Cela indique généralement que
l'implémentation de syslog utilisée n'a pas été capable de suivre
la cadence du flux de messages.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Le point de montage n'est pas vide
Defined-By: systemd
Support: %SUPPORT_URL%
Le répertoire @WHERE@ est spécifié comme point de montage (second champ du
fichier /etc/fstab, ou champ Where= dans une unité (unit) systemd) et n'est
pas vide.
Cela ne perturbe pas le montage du système de fichiers, mais les fichiers
préalablement présents dans ce répertoire sont devenus inaccessibles.
Pour atteindre ces fichiers, veuillez monter manuellement le système de
fichiers sous-jacent à un autre emplacement.
-- 24d8d4452573402496068381a6312df2
Subject: Une machine virtuelle ou un conteneur (container) a été démarré
Defined-By: systemd
Support: %SUPPORT_URL%
La machine virtuelle @NAME@ a été démarrée avec le PID maître @LEADER@,
et est maintenant prête à l'emploi.
-- 58432bd3bace477cb514b56381b8a758
Subject: Une machine virtuelle ou un conteneur (container) a été arrêté
Defined-By: systemd
Support: %SUPPORT_URL%
La machine virtuelle @NAME@ avec le PID maître @LEADER@ a été arrêtée.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: Le mode DNSSEC a été désactivé, car il n'est pas supporté par le serveur
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Le service de résolution (systemd-resolved.service) a détecté que le serveur
DNS configuré ne supporte pas DNSSEC, et la validation DNSSEC a donc été
désactivée.
Cet évènement se produit si DNSSEC=allow-downgrade est configuré dans
resolved.conf et que le serveur DNS configuré n'est pas compatible avec
DNSSEC.
Veuillez noter que ce mode permet des attaques de rétrogradation DNSSEC,
car un attaquant peut être capable de désactiver la validation DNSSEC sur
le système en injectant des réponses DNS dans le canal de communication.
Cet évènement indique que le serveur DNS est effectivement incompatible avec
DNSSEC, ou qu'un attaquant a peut-être conduit une telle attaque avec succès.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: La validation DNSSEC a échoué
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Une requête ou une ressource DNS n'a pas passé la validation DNSSEC.
Ceci est généralement une indication que le canal de communication a été
altéré.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Une ancre de confiance DNSSEC a été révoquée
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Une ancre de confiance DNSSEC a été révoquée. Une nouvelle ancre de
confiance doit être configurée, ou le système d'exploitation a besoin
d'être mis à jour, pour fournir une version à jour de l'ancre de confiance.
-- 5eb03494b6584870a536b337290809b3
Subject: Le redémarrage automatique d'une unité (unit) a été planifié
Defined-By: systemd
Support: %SUPPORT_URL%
Le redémarrage automatique de l'unité (unit) @UNIT@ a été planifié, en
raison de sa configuration avec le paramètre Restart=.
-- ae8f7b866b0347b9af31fe1c80b127c0
Subject: Ressources consommées durant l'éxécution de l'unité (unit)
Defined-By: systemd
Support: %SUPPORT_URL%
L'unité (unit) @UNIT@ s'est arrêtée et a consommé les ressources indiquées.
-- 50876a9db00f4c40bde1a2ad381c3a1b
Subject: Le système est configuré d'une manière qui pourrait causer des problèmes
Defined-By: systemd
Support: %SUPPORT_URL%
Les étiquettes suivantes sont possibles :
- "split-usr" — /usr est un système de fichiers séparé et nétait pas
monté quand systemd a été démarré
- "cgroups-missing" — le noyau a été compilé sans le support des groupes
de contrôle (cgroups) ou l'accès aux fichiers d'interface est restreint
- "var-run-bad" — /var/run n'est pas un lien symbolique vers /run
- "overflowuid-not-65534" — l'ID utilisé par le noyau pour l'utilisateur
"unknown" (avec NFS ou l'espace de noms utilisateurs) n'est pas 65534
- "overflowgid-not-65534" — l'ID utilisé par le noyau pour le groupe
"unknown" (avec NFS ou l'espace de noms utilisateurs) n'est pas 65534
Le présent système est étiqueté @TAINT@.

View File

@ -0,0 +1,299 @@
# SPDX-License-Identifier: LGPL-2.1+
# Message catalog for systemd's own messages
# Croatian translation
# Format kataloga je dokumentiran na
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Za pojašnjenje zašto ovo radimo, posjetite https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: journal je pokrenut
Defined-By: systemd
Support: %SUPPORT_URL%
Journal proces sustava se pokrenuo, otvorio je journal
datoteke za upis i spreman je za obradu zahtjeva.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: journal je zaustavljen
Defined-By: systemd
Support: %SUPPORT_URL%
Journal proces sustava je isključio i zatvorio sve trenutno
aktivne journal datoteke.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Diskovni prostor koji koristi journal
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) trenutno koristi @CURRENT_USE_PRETTY@.
Najveća dopuštena upotreba je postavljena na @MAX_USE_PRETTY@.
Ostavljam najmanje @DISK_KEEP_FREE_PRETTY@ slobodno (trenutno dostupno @DISK_AVAILABLE_PRETTY@ diskovnog prostora).
Prisilno ograničenje upotrebe je @LIMIT_PRETTY@, od kojeg je @AVAILABLE_PRETTY@ još dostupno.
Ograničenja kontroliraju koliko diskovnog prostora koristi journal mogu
se podesiti sa SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=,
RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= settings u
/etc/systemd/journald.conf. Pogledajte journald.conf(5) za više pojedinosti.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Poruka iz usluge je potisnuta
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Usluga je prijavila previše poruka u određenom vremenskom razdoblju. Poruke
iz usluge su odbačene.
Zapamtite da samo poruke iz usluge u upitu su
odbačene, ostale poruke usluga nisu zahvaćene.
Ograničenja koja kontroliraju kada je poruka odbačena mogu se podesiti
sa RateLimitIntervalSec= i RateLimitBurst= u
/etc/systemd/journald.conf. Pogledajte journald.conf(5) za više pojedinosti.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Journal poruka je propuštena
Defined-By: systemd
Support: %SUPPORT_URL%
Kernel poruka je izgubljena zato jer ih journal sustav nije mogao
dovoljno brzo obraditi.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Proces @COREDUMP_PID@ (@COREDUMP_COMM@) je izbacio jezgru
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Proces @COREDUMP_PID@ (@COREDUMP_COMM@) se srušio i izbacio jezgru.
Rušenje programa je uobičajeno uzrokovano greškom u programiranju i
trebalo bi se prijaviti razvijatelju kao greška.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Nova sesija @SESSION_ID@ je stvorena za korisnika @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Nova sesija sa ID @SESSION_ID@ je stvorena za korisnika @USER_ID@.
Glavni proces sesije je @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Sesija @SESSION_ID@ je prekinuta
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Sesija sa ID @SESSION_ID@ je prekinuta.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Novo sjedište @SEAT_ID@ je sada dostupno
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Novo sjedište @SEAT_ID@ je podešeno i sada je dostupno.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Sjedište @SEAT_ID@ je sada uklonjeno
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Sjedište @SEAT_ID@ je uklonjeno i više nije dostupno.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Vrijeme promjene
Defined-By: systemd
Support: %SUPPORT_URL%
Sat sustava je promijenjen na @REALTIME@ microsekundi nakon 1. Siječnja, 1970 godine.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Vremenska zona je promijenjena u @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Vremenska zona je promijenjena u @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Pokretanje sustava je sada završeno
Defined-By: systemd
Support: %SUPPORT_URL%
Sve usluge sustava koje su zadane za pokretanje pri pokretanju sustava
su uspješno pokrenute. Zapamtite da ovo ne znači da sada računalo
miruje zato jer se neke usluge još uvijek mogu pokretati.
Pokretanje kernela zahtijeva @KERNEL_USEC@ mikrosekundi.
Pokretanje početnog RAM diska zahtijeva @INITRD_USEC@ mikrosekundi.
Pokretanje prostora korisnika zahtijeva @USERSPACE_USEC@ mikrosekundi.
-- 6bbd95ee977941e497c48be27c254128
Subject: Pokrenuto je stanje spavanja @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Sustav je sada pokrenuo stanje spavanja @SLEEP@
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Završeno je stanje spavanja @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Sustav je sada završio stanje spavanja @SLEEP@
-- 98268866d1d54a499c4e98921d93bc40
Subject: Pokrenuto je isključivanje sustava
Defined-By: systemd
Support: %SUPPORT_URL%
Pokrenuto je isključivanje sustava. Isključivanje je sada pokrenuto,
sve usluge sustava su prekinute i svi datotečni sustavi su odmontirani.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Jedinica @UNIT@ je započela pokretanje
Defined-By: systemd
Support: %SUPPORT_URL%
Jedinica @UNIT@ je započela pokretanje.
-- 39f53479d3a045ac8e11786248231fbf
Subject: Jedinica @UNIT@ je završila pokretanje
Defined-By: systemd
Support: %SUPPORT_URL%
Jedinica @UNIT@ je završila pokretanje.
Rezultat pokretanja je @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Jedinica @UNIT@ je započela isključivanje
Defined-By: systemd
Support: %SUPPORT_URL%
Jedinica @UNIT@ je započela isključivanje.
-- 9d1aaa27d60140bd96365438aad20286
Subject: Jedinica @UNIT@ je završila isključivanje
Defined-By: systemd
Support: %SUPPORT_URL%
Jedinica @UNIT@ je završila isključivanje.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Jedinica @UNIT@ nije uspjela
Defined-By: systemd
Support: %SUPPORT_URL%
Jedinica @UNIT@ nije uspjela.
Rezultat je @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: Jedinica @UNIT@ je započela ponovno učitavati podešavanja
Defined-By: systemd
Support: %SUPPORT_URL%
Jedinica @UNIT@ je započela ponovno učitavati podešavanja
-- 7b05ebc668384222baa8881179cfda54
Subject: Jedinica @UNIT@ je završila ponovno učitavati podešavanja
Defined-By: systemd
Support: %SUPPORT_URL%
Jedinica @UNIT@ je završila ponovno učitavati podešavanja
Rezultat je @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Proces @EXECUTABLE@ se ne može pokrenuti
Defined-By: systemd
Support: %SUPPORT_URL%
Proces @EXECUTABLE@ se ne može pokrenuti i nije uspio.
Broj greške vraćen ovim procesom je @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Jedna ili više poruka se ne mogu proslijediti u dnevnik sustava
Defined-By: systemd
Support: %SUPPORT_URL%
Jedna ili više poruka se ne mogu proslijediti u dnevnik sustava, usluge
su pokrenute istovremeno s journalom. Ovo uobičajeno označava da
implementacija dnevnika sustava ne može slijediti brzinu
zahtjeva poruka.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Točka montiranja nije prazna
Defined-By: systemd
Support: %SUPPORT_URL%
Direktorij @WHERE@ je određen za točku montiranja (drugi redak u
/etc/fstab ili Where= redak u datoteci systemd jedinice) i nije prazan.
To ne utječe na montiranje, ali postojeće datoteke u ovom direktoriju
postaju nedostupne. Kako bi vidjeli datoteke preko kojih je montirano,
ručno montirajte osnovni datotečni sustav na drugu lokaciju.
-- 24d8d4452573402496068381a6312df2
Subject: Virtualni stroj ili spremnik su pokrenuti
Defined-By: systemd
Support: %SUPPORT_URL%
Virtualni stroj @NAME@ sa vodećim @LEADER@ PID-om je
pokrenut i spreman je za korištenje.
-- 58432bd3bace477cb514b56381b8a758
Subject: Virtualni stroj ili spremnik su isključeni
Defined-By: systemd
Support: %SUPPORT_URL%
Virtualni stroj @NAME@ sa vodećim PID-om @LEADER@ je
isključen.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: DNSSEC način je isključen, jer ga poslužitelj ne podržava
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Usluga razrješavanja (systemd-resolved.service) je otkrila da
podešeni DNS poslužitelj ne podržava DNSSEC, i DNSSEC, kao rezultat
provjera je isključena.
Ovaj događaj će zauzeti mjesto ako je DNSSEC=allow-downgrade podešen u
resolved.conf i podešeni DNS poslužitelj je nekompatibilan s DNSSEC. Zapamtite
da korištenje ovog načina dopušta povećanje DNSSEC napada, napadač bi mogao
isključiti DNSSEC provjeru na sustavu umetanjem DNS odgovora u
komunikacijski kanal što rezultira povećanjem napada poput ovog.
Ovaj događaj bi mogao označavati da je DNS poslužitelj uistinu nekompatibilan s
DNSSEC ili da je napadač uspješno izvršio takav napad.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: DNSSEC provjera neuspješna
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
DNS zahtjev ili snimak resursa nije prošao DNSSEC provjeru. To uobičajeno
označava da je komunikacijski kanal mijenjan.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: DNSSEC pouzdano sidrište je opozvano
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
DNSSEC pouzdano sidrište je opozvano. Novo pouzdano sidrište mora biti
podešeno, ili operativni sustav mora biti nadopunjen kako bi omogućio nadopunjeno
DNSSEC pouzdano sidrište.

View File

@ -0,0 +1,248 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2016 Gabor Kelemen
# Message catalog for systemd's own messages
# The catalog format is documented on
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: A napló elindult
Defined-By: systemd
Support: %SUPPORT_URL%
A rendszernapló folyamat elindult, megnyitotta írásra a naplófájlokat,
és most készen áll kérések feldolgozására.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: A napló leállt
Defined-By: systemd
Support: %SUPPORT_URL%
A rendszernapló folyamat leállt, és bezárt minden jelenleg aktív naplófájlt.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Egy szolgáltatás üzenetei elnémítva
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Egy szolgáltatás túl sok üzenetet naplózott adott idő alatt. A
szolgáltatástól származó üzenetek eldobásra kerültek.
Ne feledje, hogy csak a kérdéses szolgáltatás üzenetei kerültek eldobásra,
más szolgáltatások üzeneteit ez nem befolyásolja.
Az üzenetek eldobását vezérlő korlátok az /etc/systemd/journald.conf
RateLimitIntervalSec= és RateLimitBurst= beállításaival adhatók meg.
Részletekért lásd a journald.conf(5) man oldalt.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Naplóüzenetek vesztek el
Defined-By: systemd
Support: %SUPPORT_URL%
Kernelüzenetek vesztek el, mert a naplózó rendszer nem tudta elég gyorsan
feldolgozni azokat.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Egy folyamat összeomlott: @COREDUMP_PID@ (@COREDUMP_COMM@)
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Ez a folyamat: @COREDUMP_PID@ (@COREDUMP_COMM@) összeomlott, és core fájlt
írt ki.
Ez általában programozási hibát jelez az összeomló programban, és
a szállítója felé kell bejelenteni.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Új munkamenet (@SESSION_ID@) létrehozva, felhasználója: @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Létrejött egy új munkamenet @SESSION_ID@ azonosítóval ezen felhasználóhoz:
@USER_ID@.
A munkamenet vezető folyamata: @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Munkamenet (@SESSION_ID@) befejezve
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A következő azonosítójú munkamenet befejeződött: @SESSION_ID@.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Elérhető egy új munkaállomás: @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Beállításra kerül és használható egy új munkaállomás: @SEAT_ID@.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: A munkaállomás eltávolítva: @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
A munkaállomás el lett távolítva, és már nem érhető el: @SEAT_ID@
-- c7a787079b354eaaa9e77b371893cd27
Subject: Időmódosítás
Defined-By: systemd
Support: %SUPPORT_URL%
A rendszeróra beállítva @REALTIME@ ezredmásodpercre 1970. január 1. után.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Időzóna-módosítás erre: @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
A rendszer időzónája módosítva lett erre: @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: A rendszer indítása kész
Defined-By: systemd
Support: %SUPPORT_URL%
A rendszerindításkor szükséges indításhoz sorba állított összes
rendszerszolgáltatás elindult. Ne feledje, hogy ez nem jelenti, hogy a
gép üresjáratban van, mivel egyes szolgáltatások még az indítás
befejezésével lehetnek elfoglalva.
A kernel indítása @KERNEL_USEC@ ezredmásodpercet igényelt.
A kiinduló RAM lemez indítása @INITRD_USEC@ ezredmásodpercet igényelt.
A felhasználói programok indítása @USERSPACE_USEC@ ezredmásodpercet igényelt.
-- 6bbd95ee977941e497c48be27c254128
Subject: A rendszer „@SLEEP@” alvási állapotba lépett
Defined-By: systemd
Support: %SUPPORT_URL%
A rendszer belépett ebbe az alvási állapotba: @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: A rendszer „@SLEEP@” alvási állapotból kilépett
Defined-By: systemd
Support: %SUPPORT_URL%
A rendszer kilépett ebből az alvási állapotból: @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Rendszer leállítása kezdeményezve
Defined-By: systemd
Support: %SUPPORT_URL%
A systemd leállítása kezdeményezve. A leállítás megkezdődött, minden
rendszerszolgáltatás befejeződik, minden fájlrendszer leválasztásra kerül.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: A(z) @UNIT@ egység indítása megkezdődött
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @UNIT@ egység megkezdte az indulást.
-- 39f53479d3a045ac8e11786248231fbf
Subject: A(z) @UNIT@ egység befejezte az indulást
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @UNIT@ egység befejezte az indulást
Az indítás eredménye: @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: A(z) @UNIT@ egység megkezdte a leállást
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @UNIT@ egység megkezdte a leállást.
-- 9d1aaa27d60140bd96365438aad20286
Subject: A(z) @UNIT@ egység befejezte a leállást
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @UNIT@ egység befejezte a leállást.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: A(z) @UNIT@ egység hibát jelzett
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @UNIT@ egység hibát jelzett.
Az eredmény: @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: A(z) @UNIT@ egység megkezdte a beállításainak újratöltését
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @UNIT@ egység megkezdte a beállításainak újratöltését.
-- 7b05ebc668384222baa8881179cfda54
Subject: A(z) @UNIT@ egység befejezte a beállításainak újratöltését
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @UNIT@ egység befejezte a beállításainak újratöltését.
Az eredmény: @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: A folyamat végrehajtása sikertelen: @EXECUTABLE@
Defined-By: systemd
Support: %SUPPORT_URL%
A folyamat végrehajtása sikertelen volt, és hibát jelzett: @EXECUTABLE@.
A folyamat által visszaadott hibaszám: @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Legalább egy üzenet nem továbbítható a rendszernaplónak
Defined-By: systemd
Support: %SUPPORT_URL%
Legalább egy üzenet nem volt továbbítható a journald-vel párhuzamosan futó
syslog szolgáltatásnak. Ez általában azt jelenti, hogy a syslog
megvalósítás nem volt képes lépést tartani a sorba állított
üzenetek sebességével.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: A csatolási pont nem üres
Defined-By: systemd
Support: %SUPPORT_URL%
A csatolási pontként megadott @WHERE@ könyvtár (második mező az /etc/fstab
fájlban, vagy a Where= sor a systemd egységfájlban) nem üres. Ez nem
akadályozza meg a csatolást, de a könyvtárban már meglévő fájlok
elérhetetlenné válnak. A fájlok láthatóvá tételéhez csatolja
az azokat tartalmazó fájlrendszert egy másodlagos helyre.
-- 24d8d4452573402496068381a6312df2
Subject: Egy virtuális gép vagy konténer elindult
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @NAME@ nevű virtuális gép (vezető PID: @LEADER@) elindult, és
használatra kész.
-- 58432bd3bace477cb514b56381b8a758
Subject: Egy virtuális gép vagy konténer befejeződött
Defined-By: systemd
Support: %SUPPORT_URL%
A(z) @NAME@ nevű virtuális gép (vezető PID: @LEADER@) leállt.

View File

@ -0,0 +1,427 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2013-2019 Daniele Medri
# Message catalog for systemd's own messages
# Italian translation
# Il formato dei messaggi di catalogo è descritto (in inglese) qui:
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Subject: The Journal has been started
-- f77379a8490b408bbe5f6940505a777b
Subject: Il registro è stato avviato
Defined-By: systemd
Support: %SUPPORT_URL%
Il processo relativo al registro di sistema è stato avviato, ha aperto i
file in scrittura ed è ora pronto a gestire richieste.
# Subject: The Journal has been stopped
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Il registro è stato terminato
Defined-By: systemd
Support: %SUPPORT_URL%
Il processo relativo al registro di sistema è stato terminato e ha chiuso
tutti i file attivi.
# Subject: Disk space used by the journal
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Spazio disco utilizzato dal journal
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) sta attualmente utilizzando @CURRENT_USE_PRETTY@.
L'utilizzo massimo consentito è impostato a @MAX_USE_PRETTY@.
Si lasciano liberi almeno @DISK_KEEP_FREE_PRETTY@ (attuale spazio libero: @DISK_AVAILABLE_PRETTY@).
Il limite di utilizzo forzato è quindi @LIMIT_PRETTY@, con @AVAILABLE_PRETTY@ ancora disponibili.
I limiti di controllo dello spazio disco utilizzati dal Journal possono
essere configurati con le impostazioni SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=,
RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= nel file di configurazione
/etc/systemd/journald.conf. Guardare journald.conf(5) per i dettagli.
# Subject: Messages from a service have been suppressed
-- a596d6fe7bfa4994828e72309e95d61e
Subject: I messaggi di un servizio sono stati soppressi
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Un servizio ha registrato troppi messaggi in un dato periodo di tempo.
I messaggi del servizio sono stati eliminati.
Solo i messaggi del servizio indicato sono stati
eliminati, i messaggi degli altri servizi rimangono invariati.
I limiti oltre i quali si eliminano i messaggi si configurano
con RateLimitIntervalSec= e RateLimitBurst= in
/etc/systemd/journald.conf. Vedi journald.conf(5) per maggiori informazioni.
# Subject: Journal messages have been missed
-- e9bf28e6e834481bb6f48f548ad13606
Subject: I messaggi di un servizio sono stati perduti
Defined-By: systemd
Support: %SUPPORT_URL%
I messaggi del kernel sono andati persi perché il registro di sistema
non è stato in grado di gestirli abbastanza velocemente.
# Subject: Process @COREDUMP_PID@ (@COREDUMP_COMM@) dumped core
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Il processo @COREDUMP_PID@ (@COREDUMP_COMM@) ha generato un dump.
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Il processo @COREDUMP_PID@ (@COREDUMP_COMM@) si è bloccato generando un dump.
Questo di solito capita per un errore di programmazione nell'applicazione e
dovrebbe essere segnalato come bug al vendor.
# Subject: Core file was truncated to @SIZE_LIMIT@ bytes
-- 5aadd8e954dc4b1a8c954d63fd9e1137
Subject: Il Core file è stato troncato a @SIZE_LIMIT@ bytes.
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:coredump.conf(5)
Il processo ha più memoria mappata del limite massimo configurato da systemd-coredump(8)
per processare e memorizzare. Solo i primi @SIZE_LIMIT@ bytes sono stati salvati.
Il file potrebbe essere ancora utile, ma strumenti come gdb(1) dovrebbero
segnalare la troncatura.
# Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
-- 8d45620c1a4348dbb17410da57c60c66
Subject: La nuova sessione @SESSION_ID@ è stata creata per l'utente @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Una nuova sessione con ID @SESSION_ID@ è stata creata per l'utente @USER_ID@.
Il processo primario della sessione è @LEADER@.
# Subject: A new seat @SEAT_ID@ has been terminated
-- 3354939424b4456d9802ca8333ed424a
Subject: La sessione @SESSION_ID@ è terminata
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La sessione con ID @SESSION_ID@ è terminata.
# Subject: A new seat @SEAT_ID@ is now available
-- fcbefc5da23d428093f97c82a9290f7b
Subject: La nuova postazione @SEAT_ID@ è ora disponibile
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La nuova postazione @SEAT_ID@ è stata configurata ed è ora disponibile.
# Subject: A seat @SEAT_ID@ has been removed
-- e7852bfe46784ed0accde04bc864c2d5
Subject: La postazione @SEAT_ID@ è stata rimossa
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
La postazione @SEAT_ID@ è stata rimossa e non è più disponibile.
# Subject: Time Change
-- c7a787079b354eaaa9e77b371893cd27
Subject: Cambio d'orario
Defined-By: systemd
Support: %SUPPORT_URL%
L'orologio di sistema è cambiato in @REALTIME@ microsecondi dal 1 gennaio, 1970.
# Subject: Time zone change to @TIMEZONE@
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Il fuso orario è cambiato in @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Il fuso orario di sistema è cambiato in @TIMEZONE@.
# Subject: System start-up is now complete
-- b07a249cd024414a82dd00cd181378ff
Subject: Avvio del sistema completato.
Defined-By: systemd
Support: %SUPPORT_URL%
Tutti i servizi di sistema richiesti per la fase di avvio sono stati eseguiti
con successo. La macchina potrebbe ancora attendere i servizi attivati sono
in fase di completamento.
L'avvio del kernel ha richiesto @KERNEL_USEC@ microsecondi.
L'avvio del disco RAM ha richiesto @INITRD_USEC@ microsecondi.
L'avvio dello userspace ha richiesto @USERSPACE_USEC@ microsecondi.
# Subject: User manager start-up is now complete
-- eed00a68ffd84e31882105fd973abdd1
Subject: L'istanza di gestione per l'utente è completata
Defined-By: systemd
Support: %SUPPORT_URL%
L'istanza di gestione per l'utente @_UID@ è stata avviata. Tutti i servizi
interrogati sono stati avviati. Altri servizi potrebbero essere ancora in
fase di avvio o in attesa di essere avviati.
L'avvio dell'istanza ha impiegato @USERSPACE_USEC@ microsecondi.
# Subject: System sleep state @SLEEP@ entered
-- 6bbd95ee977941e497c48be27c254128
Subject: Il sistema è entrato in fase di pausa @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Il sistema è entrato nello stato di pausa @SLEEP@.
# Subject: System sleep state @SLEEP@ left
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Il sistema è uscito dalla fase di pausa @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
Il sistema è uscito dallo stato di pausa @SLEEP@.
# Subject: System shutdown initiated
-- 98268866d1d54a499c4e98921d93bc40
Subject: Il sistema è in fase di spegnimento
Defined-By: systemd
Support: %SUPPORT_URL%
Systemd è in fase di spegnimento. Tutti i servizi di sistema
saranno terminati e tutti i file systems smontati.
# Subject: Unit @UNIT@ has begun with start-up
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: L'unità @UNIT@ inizia la fase di avvio
Defined-By: systemd
Support: %SUPPORT_URL%
L'unità @UNIT@ ha iniziato la fase di avvio.
# Subject: Unit @UNIT@ has finished start-up
-- 39f53479d3a045ac8e11786248231fbf
Subject: L'unità @UNIT@ ha terminato la fase di avvio
Defined-By: systemd
Support: %SUPPORT_URL%
L'unità @UNIT@ ha terminato la fase di avvio.
La fase di avvio è @JOB_RESULT@.
# Subject: Unit @UNIT@ has begun shutting down
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: L'unità @UNIT@ ha iniziato la fase di spegnimento
Defined-By: systemd
Support: %SUPPORT_URL%
L'unità @UNIT@ ha iniziato la fase di spegnimento.
# Subject Unit @UNIT@ has finished shutting down
-- 9d1aaa27d60140bd96365438aad20286
Subject: L'unità @UNIT@ ha terminato la fase di spegnimento
Defined-By: systemd
Support: %SUPPORT_URL%
L'unità @UNIT@ ha terminato la fase di spegnimento.
# Subject: Unit @UNIT@ has failed
-- be02cf6855d2428ba40df7e9d022f03d
Subject: L'unità @UNIT@ è fallita
Defined-By: systemd
Support: %SUPPORT_URL%
L'unità @UNIT@ è fallita.
Il risultato è @JOB_RESULT@.
# Subject: Unit @UNIT@ has begun with reloading its configuration
-- d34d037fff1847e6ae669a370e694725
Subject: L'unità @UNIT@ è iniziata con il ricaricamento della propria configurazione
Defined-By: systemd
Support: %SUPPORT_URL%
L'unità @UNIT@ è iniziata con il ricaricamento della propria configurazione
# Subject: Unit @UNIT@ has finished reloading its configuration
-- 7b05ebc668384222baa8881179cfda54
Subject: L'unità @UNIT@ è terminata con il ricaricamento della propria configurazione
Defined-By: systemd
Support: %SUPPORT_URL%
L'unità @UNIT@ è terminata con il ricaricamento della propria configurazione
Il risultato è @JOB_RESULT@.
# Subject: Process @EXECUTABLE@ could not be executed
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Il processo @EXECUTABLE@ non può essere eseguito
Defined-By: systemd
Support: %SUPPORT_URL%
Il processo @EXECUTABLE@ non può essere eseguito e termina.
Il numero di errore restituito durante l'esecuzione del processo è @ERRNO@.
# Subject: One or more messages could not be forwarded to syslog
-- 0027229ca0644181a76c4e92458afa2e
Subject: Uno o più messaggi non possono essere inoltrati a syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Uno o più messaggi non possono essere inviati al servizio syslog
eseguito in parallelo a journald. Questo di solito capita perché,
l'implementazione di syslog non sta al passo con la
velocità dei messaggi accodati.
# Subject: Mount point is not empty
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Il punto di montaggio non è vuoto
Defined-By: systemd
Support: %SUPPORT_URL%
La directory @WHERE@ è specificata come punto di montaggio (secondo campo
in /etc/fstab o nel campo Where= del file unità di systemd) e non è vuoto.
Questo non interferisce con il montaggio, ma i file pre-esistenti in questa
directory diventano inaccessibili. Per visualizzare i file, si suggerisce
di montare manualmente il file system indicato in una posizione secondaria.
# Subject: A virtual machine or container has been started
-- 24d8d4452573402496068381a6312df2
Subject: Avviata macchina virtuale o container
Defined-By: systemd
Support: %SUPPORT_URL%
La macchina virtuale @NAME@ con PID primario @LEADER@ è stata
avviata ed è pronta all'uso.
# Subject: A virtual machine or container has been terminated
-- 58432bd3bace477cb514b56381b8a758
Subject: Terminata macchina virtuale o container
Defined-By: systemd
Support: %SUPPORT_URL%
La macchina virtuale @NAME@ con PID primario @LEADER@ è stata terminata.
# Subject: DNSSEC mode has been turned off, as server doesn't support it
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: La modalità DNSSEC è stata spenta, il server non la supporta
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Il servizio di risoluzione (systemd-resolved.service) ha rilevato che il
server DNS indicato non supporta DNSSEC e la validazione di quest'ultimo tipo
è stata conseguentemente disabilitata.
Ciò avverrà se DNSSEC=allow-downgrade è configurato nel file
resolved.conf e il server DNS indicato è incompatibile con DNSSEC.
In questo modo ci si espone ad attacchi "DNSSEC downgrade", e un aggressore
potrebbe disabilitare la validazione DNSSEC sul sistema inserendo risposte
DNS nel canale di comunicazione.
Questo evento potrebbe indicare un'incompatibilità del DNS Server con DNSSEC o
che un aggressore è riuscito nel suo intento malevolo.
# Subject: DNSSEC validation failed
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: La validazione DNSSEC è fallita
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Una query DNS o un dato hanno fatto fallire la validazione DNSSEC. Questo è
usualmente un segnale che il canale di comunicazione utilizzato è stato
manomesso.
# Subject: A DNSSEC trust anchor has been revoked
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Un trust anchor DNSSEC è stato revocato
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Un trust anchor DNSSEC è stato revocato. Un nuovo punto di fiducia è stato
riconfigurato o il sistema operativo deve essere aggiornato per fornire un
nuovo ancoraggio.
# Subject: Automatic restarting of a unit has been scheduled
-- 5eb03494b6584870a536b337290809b3
Subject: Il riavvio automatico di un'unità è stato schedulato
Defined-By: systemd
Support: %SUPPORT_URL%
Il riavvio automatico dell'unità @UNIT@ è stato schedulato, come risultato
delle impostazioni configurate in Restart=.
# Subject: Resources consumed by unit runtime
-- ae8f7b866b0347b9af31fe1c80b127c0
Subject: Risorse utilizzate dall'unità in esecuzione
Defined-By: systemd
Support: %SUPPORT_URL%
Unità @UNIT@ terminata consumando le indicate risorse.
# Subject: Unit succeeded
-- 7ad2d189f7e94e70a38c781354912448
Subject: Unità terminata
Defined-By: systemd
Support: %SUPPORT_URL%
Unità @UNIT@ entrata con successo nello stato 'dead' (morto).
# Subject: Unit failed
-- d9b373ed55a64feb8242e02dbe79a49c
Subject: Unit fallita
Defined-By: systemd
Support: %SUPPORT_URL%
Unità @UNIT@ entrata nello stato 'failed' (fallito) con risultato '@UNIT_RESULT@'.
# Subject: Unit process exited
-- 98e322203f7a4ed290d09fe03c09fe15
Subject: Uscito processo unità
Defined-By: systemd
Support: %SUPPORT_URL%
Un processo @COMMAND@ appartenente all'unità @UNIT@ è uscito.
Il codice di uscita del processo è '@EXIT_CODE@' ed è uscito con @EXIT_STATUS@.
# Subject: The system is configured in a way that might cause problems
-- 50876a9db00f4c40bde1a2ad381c3a1b
Subject: Il sistema è configurato in un modo che potrebbe causare problemi
Defined-By: systemd
Support: %SUPPORT_URL%
I seguenti "tags" sono possibili:
- "split-usr" — /usr è un file system separato e non è stato montato all'avvio di systemd
- "cgroups-missing" — il kernel era compilato senza supporto cgroup o l'accesso ai
file attesi è ristretto.
- "var-run-bad" — /var/run non è un link simbolico (symlink) a /run
- "overflowuid-not-65534" — l'ID usato dal kernel per gli utenti "unknown" (tipo
NFS o user namespace) non è 65534
- "overflowgid-not-65534" — l'ID usato dal kernel per il gruppo "unknown" (tipo
NFS o user namespace) non è 65534
L'attuale sistema è taggato come @TAINT@.
# Subject: A process of @UNIT@ unit has been killed by the OOM killer.
-- fe6faa94e7774663a0da52717891d8ef
Subject: Un processo dell'unità @UNIT@ è stato terminato da un OOM killer.
Defined-By: systemd
Support: %SUPPORT_URL%
Un processo dell'unità @UNIT@ è stato terminato dalla logica del kernel Linux per
gestire gli eventi out-of-memory (OOM). In altri termini, il sistema ha
poca memoria e dovrebbe essere liberata. Un processo associato con @UNIT@ è
stato identificato come il processo ideale da terminare e così è stato.
La pressione sulla memoira potrebbe o meno essere causata da @UNIT@.

View File

@ -0,0 +1,306 @@
# SPDX-License-Identifier: LGPL-2.1+
# Message catalog for systemd's own messages
# Korean translation
# The catalog format is documented on
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
#
# Translator :
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2015.
# Dongsu Park <dpark@posteo.net>, 2016.
-- f77379a8490b408bbe5f6940505a777b
Subject: 저널 시작
Defined-By: systemd
Support: %SUPPORT_URL%
시스템 저널 프로세스를 시작했고 기록목적으로 저널 파일을 열었으며,
프로세스 요청을 기다리고 있습니다.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: 저널 멈춤
Defined-By: systemd
Support: %SUPPORT_URL%
시스템 저널 프로세스를 껐고 현재 활성화 중인 저널 파일을 모두
닫았습니다.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: 저널이 디스크 공간을 점유중
Defined-By: systemd
Support: %SUPPORT_URL%
저널 @JOURNAL_NAME@ (@JOURNAL_PATH@)이 현재 @CURRENT_USE_PRETTY@
만큼의 용량을 사용하고 있습니다. 최대 허용 용량은
@MAX_USE_PRETTY@입니다. 최소한 @DISK_KEEP_FREE_PRETTY@의 빈공간을
남겨둡니다. (현재 디스크 전체 용량은 @DISK_AVAILABLE_PRETTY@)
따라서 실제 사용 최대 한도는 @LIMIT_PRETTY@으로 설정되며,
@AVAILABLE_PRETTY@ 만큼의 용량이 계속 비어있습니다.
저널이 차지하는 디스크 공간을 제어하기 위해서는
/etc/systemd/journald.conf 의 SystemMaxUse=, SystemKeepFree=,
SystemMaxFileSize=, RuntimeMaxUse=, RuntimeKeepFree=,
RuntimeMaxFileSize= 변수를 설정합니다. 자세한 내용은
journald.conf(5)을 살펴보십시오.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: 서비스의 메시지를 거절함
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
일정 시간동안 서비스에서 너무 많은 메시지를 기록했습니다.
서비스에서 오는 메시지를 거절했습니다.
의문점이 있는 서비스로부터 오는 메시지만 거절했음을 참고하십시오
다른 서비스의 메시지에는 영향을 주지 않습니다.
메시지 거절 제어 제한 값은 /etc/systemd/journald.conf 의
RateLimitIntervalSec= 변수와 RateLimitBurst= 변수로 설정합니다.
자세한 내용은 journald.conf(5)를 살펴보십시오.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: 저널 메시지 놓침
Defined-By: systemd
Support: %SUPPORT_URL%
저널 시스템에서 커널 메시지를 충분히 빠르게 처리할 수 없어 커널
메시지를 잃었습니다.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: 프로세스 @COREDUMP_PID@번 코어 덤프(@COREDUMP_COMM@) 생성함
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
프로세스 @COREDUMP_PID@번 (@COREDUMP_COMM@)이 비정상적으로 끝나
코어 덤프를 생성했습니다.
보통 비정상 종료 관리 프로그램에서 프로그래밍 오류를 나타내며,
제작자에게 버그로 보고해야합니다.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: @USER_ID@ 사용자의 새 @SESSION_ID@ 세션 만듦
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
@USER_ID@ 사용자의 새 @SESSION_ID@ 세션을 만들었습니다.
이 세션의 관리 프로세스는 @LEADER@ 입니다.
-- 3354939424b4456d9802ca8333ed424a
Subject: @SESSION_ID@ 세션 마침
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
@SESSION_ID@ 세션을 끝냈습니다.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: 새 @SEAT_ID@ 시트 사용할 수 있음
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
새 @SEAT_ID@ 시트를 설정했고 사용할 수 있습니다.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: @SEAT_ID@ 시트 제거함
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
@SEAT_ID@ 시트를 제거했으며 더이상 사용할 수 없습니다.
-- c7a787079b354eaaa9e77b371893cd27
Subject: 시간 바꿈
Defined-By: systemd
Support: %SUPPORT_URL%
시스템 시계를 1970년 1월 1일 이후로 @REALTIME@ 마이크로초 지난 값으로
설정했습니다.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: @TIMEZONE@ 시간대로 시간대 바꿈
Defined-By: systemd
Support: %SUPPORT_URL%
시스템 시간대를 @TIMEZONE@ 시간대로 바꾸었습니다.
-- b07a249cd024414a82dd00cd181378ff
Subject: 시스템 시동 마침
Defined-By: systemd
Support: %SUPPORT_URL%
부팅 과정에 시작하려고 준비한 모든 시스템 서비스를 성공적으로
시작했습니다. 머신이 서비스처럼 대기중이라는 의미는 아니며
지동을 완전히 마칠 때까지 사용중일 수도 있는 점 참고하십시오.
커널 시동에 @KERNEL_USEC@ 마이크로초가 걸립니다.
초기 램 디스크 시동에 @INITRD_USEC@ 마이크로초가 걸립니다.
사용자 영역 시동에 @USERSPACE_USEC@ 마이크로초가 걸립니다.
-- 6bbd95ee977941e497c48be27c254128
Subject: @SLEEP@ 대기 상태 진입
Defined-By: systemd
Support: %SUPPORT_URL%
@SLEEP@ 대기 상태로 진입했습니다.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: @SLEEP@ 대기 상태 마침
Defined-By: systemd
Support: %SUPPORT_URL%
@SLEEP@ 대기 상태를 마쳤습니다.
-- 98268866d1d54a499c4e98921d93bc40
Subject: 컴퓨터 끄기 시작
Defined-By: systemd
Support: %SUPPORT_URL%
컴퓨터 끄기 동작을 시작했습니다. 모든 시스템 동작을 멈추고
모든 파일 시스템의 마운트를 해제합니다.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: @UNIT@ 유닛 시작
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 유닛을 시작했습니다.
-- 39f53479d3a045ac8e11786248231fbf
Subject: @UNIT@ 유닛 시동 마침
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 유닛 시동을 마쳤습니다.
시동 결과는 @JOB_RESULT@ 입니다.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: @UNIT@ 유닛 끝내기 동작 시작
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 유닛 끝내기 동작을 시작했습니다.
-- 9d1aaa27d60140bd96365438aad20286
Subject: @UNIT@ 유닛 끝내기 동작 마침
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 유닛 끝내기 동작을 마쳤습니다.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: @UNIT@ 유닛 동작 실패
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 유닛 동작에 실패했습니다.
결과는 @JOB_RESULT@ 입니다.
-- d34d037fff1847e6ae669a370e694725
Subject: @UNIT@ 유닛 설정 다시 읽기 시작
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 유닛의 설정 다시 읽기를 시작했습니다
-- 7b05ebc668384222baa8881179cfda54
Subject: @UNIT@ 유닛 설정 다시 읽기 완료
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 유닛의 설정 다시 읽기 동작을 끝냈습니다.
결과는 @JOB_RESULT@ 입니다.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: @EXECUTABLE@ 프로세스 시작할 수 없음
Defined-By: systemd
Support: %SUPPORT_URL%
@EXECUTABLE@ 프로세스를 시작할 수 없어 실행에 실패했습니다.
이 프로세스에서 반환한 오류 번호는 @ERRNO@번 입니다.
-- 0027229ca0644181a76c4e92458afa2e
Subject: 하나 이상의 메시지를 syslog에 전달할 수 없음
Defined-By: systemd
Support: %SUPPORT_URL%
journald 서비스와 동시에 실행중인 syslog 서비스에 하나 이상의 메시지를
전달할 수 없습니다. 보통 순차적으로 오는 메시지의 속도를 syslog 구현체가
따라가지 못함을 의미합니다.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: 마운트 지점 비어있지 않음
Defined-By: systemd
Support: %SUPPORT_URL%
@WHERE@ 디렉터리를 마운트 지점으로 지정했으며 (/etc/fstab 파일의
두번째 필드 또는 systemd 유닛 파일의 Where= 필드) 비어있지 않습니다.
마운트 과정에 방해가 되진 않지만 이전에 이 디렉터리에 존재하는 파일에
접근할 수 없게 됩니다. 중복으로 마운트한 파일을 보려면, 근본 파일
시스템을 별도 위치에 직접 마운트하십시오.
-- 24d8d4452573402496068381a6312df2
Subject: 가상 머신 또는 컨테이너 시작
Defined-By: systemd
Support: %SUPPORT_URL%
@LEADER@ 프로세스 ID로 동작하는 @NAME@ 가상 머신을 시작했으며,
이제부터 사용할 수 있습니다.
-- 58432bd3bace477cb514b56381b8a758
Subject: 가상 머신 또는 컨테이너 마침
Defined-By: systemd
Support: %SUPPORT_URL%
@LEADER@ 프로세스 ID로 동작하는 @NAME@ 가상 머신을 껐습니다.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: 서버 미지원으로 인하여 DNSSEC 모드 종료
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
해당 DNS 서버가 DNSSEC을 지원하지 않는다는 것을 리졸버 서비스
(systemd-resolved.service)가 인식했습니다. 따라서 DNSSEC 검증 기능도
꺼집니다.
이 이벤트는 resolved.conf 파일에 DNSSEC=allow-downgrade가 설정되었고, 해당
DNS 서버가 DNSSEC과 비호환일 경우에만 발생합니다. 이 모드를 켤 경우에는
DNSSEC 다운그레이드 공격을 허용할수 있다는 점에 주의하세요. 이는 공격자
역시 다운그레이드가 발생한 통신 채널에 DNS 응답 메시지를 끼워넣는 방식으로
DNSSEC 검증 기능을 꺼버릴수 있기 때문입니다.
이 이벤트가 의미하는 것은, DNS 서버가 실제로 DNSSEC과 비호환이거나, 또는
공격자가 위와 같은 다운그레이드 공격을 수행하는데 성공했다는 뜻입니다.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: DNSSEC 검증 실패
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
DNS 요청 또는 리소스 레코드가 DNSSEC 검증에 실패했습니다. 이것은 보통
해당 통신 채널이 조작되었다는 뜻입니다.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: DNSSEC 신뢰성 시작점 취소
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
DNSSEC 신뢰성 시작점이 취소되었습니다. 새로운 신뢰성 시작점이 설정되거나,
또는 업데이트된 DNSSEC 신뢰성 시작점을 제공하기 위해서 운영체제를 업데이트
해야 합니다.

View File

@ -0,0 +1,413 @@
# SPDX-License-Identifier: LGPL-2.1+
# Message catalog for systemd's own messages
# Polish translation
# The catalog format is documented on
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: Uruchomiono dziennik
Defined-By: systemd
Support: %SUPPORT_URL%
Systemowy proces dziennika został uruchomiony, otworzył pliki dziennika
do zapisu i jest gotowy do przetwarzania żądań.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Zatrzymano dziennik
Defined-By: systemd
Support: %SUPPORT_URL%
Systemowy proces dziennika został wyłączony i zamknął wszystkie obecnie
aktywne pliki dziennika.
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Miejsce na dysku używane przez dziennik
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) obecnie używa @CURRENT_USE_PRETTY@.
Maksymalnie może używać @MAX_USE_PRETTY@.
Zostawianie co najmniej @DISK_KEEP_FREE_PRETTY@ wolnego (z obecnie dostępnego @DISK_AVAILABLE_PRETTY@ miejsca na dysku).
Wymuszone ograniczenie użycia wynosi więc @LIMIT_PRETTY@, z czego @AVAILABLE_PRETTY@ jest nadal dostępne.
Ograniczenia kontrolujące ilość miejsca na dysku używanego przez dziennik
można konfigurować za pomocą ustawień SystemMaxUse=, SystemKeepFree=,
SystemMaxFileSize=, RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize=
w pliku /etc/systemd/journald.conf. Strona journald.conf(5) zawiera więcej
informacji.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Ograniczono komunikaty z usługi
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Usługa zapisała za dużo komunikatów w określonym czasie.
Komunikaty z usługi zostały pominięte.
Proszę zauważyć, że tylko komunikaty z danej usługi zostały pominięte.
Nie ma to wpływu na komunikaty innych usług.
Ograniczenia kontrolujące pomijanie komunikatów mogą być konfigurowane
za pomocą opcji RateLimitIntervalSec= i RateLimitBurst= w pliku
/etc/systemd/journald.conf lub LogRateLimitIntervalSec= i LogRateLimitBurst=
w pliku jednostki. Strony journald.conf(5) i systemd.exec(5) zawierają więcej
informacji.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Utracono komunikaty dziennika
Defined-By: systemd
Support: %SUPPORT_URL%
Komunikaty jądra zostały utracone, ponieważ system dziennika nie mógł
przetworzyć ich odpowiednio szybko.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Proces @COREDUMP_PID@ (@COREDUMP_COMM@) zrzucił plik core
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Proces @COREDUMP_PID@ (@COREDUMP_COMM@) uległ awarii i zrzucił plik core.
Zwykle wskazuje to na błąd programistyczny w danym programie i powinno zostać
zgłoszone jego producentowi jako błąd.
-- 5aadd8e954dc4b1a8c954d63fd9e1137
Subject: Plik core został skrócony do @SIZE_LIMIT@B.
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:coredump.conf(5)
Proces miał więcej zmapowanej pamięci niż maksimum dla przetwarzania i miejsca
skonfigurowane przez systemd-coredump(8). Tylko pierwsze @SIZE_LIMIT@B
zostało zapisanych. Ten plik core może nadal być używalny, ale narzędzia typu
gdb(1) będą ostrzegały o skróceniu pliku.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Utworzono nową sesję @SESSION_ID@ dla użytkownika @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Nowa sesja o identyfikatorze @SESSION_ID@ została utworzona dla użytkownika
@USER_ID@.
Proces prowadzący sesji: @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Zakończono sesję @SESSION_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Sesja o identyfikatorze @SESSION_ID@ została zakończona.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Dostępne jest nowe stanowisko @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Nowe stanowisko @SEAT_ID@ zostało skonfigurowane i jest teraz dostępne.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Usunięto stanowisko @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Stanowisko @SEAT_ID@ zostało usunięte i nie jest już dostępne.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Zmiana czasu
Defined-By: systemd
Support: %SUPPORT_URL%
Zegar systemowy został zmieniony na @REALTIME@μs po 1 stycznia 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Zmiana strefy czasowej na @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Systemowa strefa czasowa została zmieniona na @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Ukończono uruchamianie systemu
Defined-By: systemd
Support: %SUPPORT_URL%
Wszystkie usługi systemowe obowiązkowo zakolejkowane do włączenia podczas
uruchamiania systemu zostały uruchomione. Proszę zauważyć, że nie oznacza
to, że komputer jest bezczynny, jako że usługi mogą wciąż kończyć proces
uruchamiania.
Uruchamianie jądra zajęło @KERNEL_USEC@μs.
Uruchamianie początkowego dysku RAM zajęło @INITRD_USEC@μs.
Uruchamianie przestrzeni użytkownika zajęło @USERSPACE_USEC@μs.
-- eed00a68ffd84e31882105fd973abdd1
Subject: Ukończono uruchamianie menedżera użytkownika
Defined-By: systemd
Support: %SUPPORT_URL%
Wystąpienie menedżera dla użytkownika @_UID@ zostało uruchomione.
Wszystkie usługi zakolejkowane do włączenia zostały uruchomione.
Proszę zauważyć, że inne usługi mogą być nadal uruchamiane
lub zostać uruchomione później.
Uruchamianie menedżera zajęło @USERSPACE_USEC@μs.
-- 6bbd95ee977941e497c48be27c254128
Subject: Przejście do stanu uśpienia @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
System przeszedł do stanu uśpienia @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Wyjście ze stanu uśpienia @SLEEP@
Defined-By: systemd
Support: %SUPPORT_URL%
System wyszedł ze stanu uśpienia @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Zainicjowano wyłączenie systemu
Defined-By: systemd
Support: %SUPPORT_URL%
Zainicjowano wyłączenie systemu. Wyłączenie zostało rozpoczęte i wszystkie
usługi systemowe zostały zakończone, a wszystkie systemy plików odmontowane.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Rozpoczęto wykonywanie zadania uruchamiania dla jednostki @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Rozpoczęto wykonywanie zadania uruchamiania dla jednostki @UNIT@.
Identyfikator zadania: @JOB_ID@.
-- 39f53479d3a045ac8e11786248231fbf
Subject: Pomyślnie ukończono zadanie uruchamiania dla jednostki @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Pomyślnie ukończono zadanie uruchamiania dla jednostki @UNIT@.
Identyfikator zadania: @JOB_ID@.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Zadanie uruchamiania dla jednostki @UNIT@ się nie powiodło
Defined-By: systemd
Support: %SUPPORT_URL%
Zadanie uruchamiania dla jednostki @UNIT@ zostało ukończone z niepowodzeniem.
Identyfikator zadania: @JOB_ID@, wynik zadania: @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Rozpoczęto wykonywanie zadania zatrzymania dla jednostki @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Rozpoczęto wykonywanie zadania zatrzymania dla jednostki @UNIT@.
Identyfikator zadania: @JOB_ID@.
-- 9d1aaa27d60140bd96365438aad20286
Subject: Ukończono zadanie zatrzymania dla jednostki @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Ukończono zadanie zatrzymania dla jednostki @UNIT@.
Identyfikator zadania: @JOB_ID@, wynik zadania: @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: Rozpoczęto wykonywanie zadania ponownego wczytania dla jednostki @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Rozpoczęto wykonywanie zadania ponownego wczytania dla jednostki @UNIT@.
Identyfikator zadania: @JOB_ID@.
-- 7b05ebc668384222baa8881179cfda54
Subject: Ukończono zadanie ponownego wczytania dla jednostki @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Ukończono zadanie ponownego wczytania dla jednostki @UNIT@.
Identyfikator zadania: @JOB_ID@, wynik zadania: @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Nie można wykonać procesu @EXECUTABLE@
Defined-By: systemd
Support: %SUPPORT_URL%
Proces @EXECUTABLE@ nie mógł zostać wykonany i się nie powiódł.
Numer błędu zwrócony przez ten proces: @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Nie można przekazać jednego lub więcej komunikatów do syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Jeden lub więcej komunikatów nie może zostać przekazanych do usługi syslog
uruchomionej obok journald. Zwykle oznacza to, że implementacja syslog nie
jest w stanie nadążyć za prędkością kolejki komunikatów.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Punkt montowania nie jest pusty
Defined-By: systemd
Support: %SUPPORT_URL%
Katalog @WHERE@ został podany jako punkt montowania (drugie pole w pliku
/etc/fstab lub pole Where= w pliku jednostki systemd) i nie jest pusty. Nie
wpływa to na montowanie, ale wcześniej istniejące pliki w tym katalogu stają
się niedostępne. Aby zobaczyć te pliki, proszę ręcznie zamontować system
plików w innym położeniu.
-- 24d8d4452573402496068381a6312df2
Subject: Uruchomiono maszynę wirtualną lub kontener
Defined-By: systemd
Support: %SUPPORT_URL%
Maszyna wirtualna @NAME@ (PID prowadzący @LEADER@) została uruchomiona i jest
gotowa do użycia.
-- 58432bd3bace477cb514b56381b8a758
Subject: Zakończono maszynę wirtualną lub kontener
Defined-By: systemd
Support: %SUPPORT_URL%
Maszyna wirtualna @NAME@ (PID prowadzący @LEADER@) została wyłączona.
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: Wyłączono tryb DNSSEC, ponieważ serwer go nie obsługuje
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Usługa resolver (systemd-resolved.service) wykryła, że skonfigurowany serwer
DNS nie obsługuje DNSSEC, w wyniku czego walidacja DNSSEC została wyłączona.
To zdarzenie będzie miało miejsce, jeśli skonfigurowano DNSSEC=allow-downgrade
w pliku resolved.conf, a skonfigurowany serwer DNS jest niezgodny z DNSSEC.
Proszę zauważyć, że używanie tego trybu umożliwia ataki wyłączające DNSSEC,
ponieważ atakujący będzie mógł wyłączyć walidację DNSSEC na komputerze przez
umieszczenie odpowiednich odpowiedzi DNS w kanale komunikacji.
To zdarzenie może wskazywać, że serwer DNS jest faktycznie niezgodny z DNSSEC,
albo że atakującemu udało się upozorować atak tego typu.
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: Walidacja DNSSEC się nie powiodła
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Zapytanie DNS lub ustawiony wpis zasobu nie przeszedł walidacji DNSSEC.
Zwykle wskazuje to, że ktoś manipulował używanym kanałem komunikacji.
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Unieważniono kotwicę zaufania DNSSEC
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Kotwica zaufania DNSSEC została unieważniona. Należy skonfigurować nową, albo
system operacyjny musi zostać zaktualizowany, aby dostarczyć zaktualizowaną
kotwicę zaufania DNSSEC.
-- 5eb03494b6584870a536b337290809b3
Subject: Zaplanowano automatyczne ponowne uruchamianie jednostki
Defined-By: systemd
Support: %SUPPORT_URL%
W wyniki skonfigurowania ustawienia Restart= zaplanowano automatyczne ponowne
uruchamianie jednostki @UNIT@.
-- ae8f7b866b0347b9af31fe1c80b127c0
Subject: Zasoby zużyte przez uruchomienie jednostki
Defined-By: systemd
Support: %SUPPORT_URL%
Jednostka @UNIT@ została ukończona, zużywając wskazane zasoby.
-- 7ad2d189f7e94e70a38c781354912448
Subject: Jednostka się powiodła
Defined-By: systemd
Support: %SUPPORT_URL%
Jednostka @UNIT@ pomyślnie przeszła do stanu „dead” (martwego).
-- 0e4284a0caca4bfc81c0bb6786972673
Subject: Pominięto jednostkę
Defined-By: systemd
Support: %SUPPORT_URL%
Jednostka @UNIT@ została pominięta z powodu niepowodzenia
polecenia ExecCondition=, i przeszła do stanu „dead” (martwego)
z wynikiem „@UNIT_RESULT@”.
-- d9b373ed55a64feb8242e02dbe79a49c
Subject: Jednostka się nie powiodła
Defined-By: systemd
Support: %SUPPORT_URL%
Jednostka @UNIT@ przeszła do stanu „failed” (niepowodzenia)
z wynikiem „@UNIT_RESULT@”.
-- 98e322203f7a4ed290d09fe03c09fe15
Subject: Proces jednostki zakończył działanie
Defined-By: systemd
Support: %SUPPORT_URL%
Proces @COMMAND@= należący do jednostki @UNIT@ zakończył działanie.
Kod wyjścia procesu: „@EXIT_CODE@”, jego stan wyjścia: @EXIT_STATUS@.
-- 50876a9db00f4c40bde1a2ad381c3a1b
Subject: System jest skonfigurowany w sposób, który może powodować problemy
Defined-By: systemd
Support: %SUPPORT_URL%
Możliwe są następujące „etykiety”:
• „split-usr” — /usr jest oddzielnym systemem plików, który nie był
zamontowany w czasie uruchomienia systemd,
• „cgroups-missing” — jądro zostało skompilowane bez obsługi cgroups
lub dostęp do oczekiwanych plików interfejsu jest ograniczony,
• „var-run-bad” — /var/run nie jest dowiązaniem symbolicznym do /run,
• „overflowuid-not-65534” — identyfikator użytkownika dla „nieznanych”
użytkowników (przy wykorzystaniu przestrzeni nazw użytkowników lub NFS)
nie wynosi 65534,
• „overflowgid-not-65534” — identyfikator grupy dla „nieznanych”
użytkowników (przy wykorzystaniu przestrzeni nazw użytkowników lub NFS)
nie wynosi 65534.
Obecny system ma etykietę „@TAINT@”.
-- fe6faa94e7774663a0da52717891d8ef
Subject: Proces jednostki @UNIT@ został zakończony przez OOM Killer
Defined-By: systemd
Support: %SUPPORT_URL%
Proces jednostki @UNIT został zakończony przez mechanizm kończenia
procesów przy braku pamięci (OOM) jądra Linux. Zwykle wskazuje to,
że system ma mało pamięci i należało ją zwolnić. Proces powiązany
z jednostką @UNIT@ został uznany za najlepszy do zakończenia
i jądro wymusiło zakończenie jego działania.
Proszę zauważyć, że brak pamięci mógł nie zostać spowodowany
przez jednostkę @UNIT@.

View File

@ -0,0 +1,250 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2015 Rafael Ferreira (translation)
# Catálogo de mensagens para as mensagens do próprio systemd
# O formato do catálogo está documentado em
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Para uma explicação do porquê de fazermos tudo isso, veja
# https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: O jornal foi inciado
Defined-By: systemd
Support: %SUPPORT_URL%
O processo jornal do sistema foi iniciado, arquivos foram abertos e está
pronto para processar requisições.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: O jornal foi interrompido
Defined-By: systemd
Support: %SUPPORT_URL%
O processo do jornal do sistema foi desligado e todos os arquivos de jornal
do sistema foram fechados.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Mensagens de um serviço foram suprimidas
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Um serviço registrou no log um número excessivo de mensagens dentro de um
período de tempo. Mensagens do serviço foram descartadas.
Note que apenas mensagens de um serviço em questão foram descartadas; outras
mensagens dos serviços não foram afetadas.
Os controles de limites de quando as mensagens são descartadas pode ser
configurado com RateLimitIntervalSec= e RateLimitBurst= no
/etc/systemd/journald.conf. Veja journald.conf(5) para detalhes.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Mensagens do jornal foram perdidas
Defined-By: systemd
Support: %SUPPORT_URL%
Mensagens do kernel foram perdidas pois o sistema do jornal não pôde
processá-las em velocidade suficiente para a demanda.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Processo @COREDUMP_PID@ (@COREDUMP_COMM@) despejou núcleo
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Processo @COREDUMP_PID@ (@COREDUMP_COMM@) travou e despejou o núcleo.
Isso normalmente indica um erro de programação no programa que travou e
deveria ser relatado para seu fabricante como um erro.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: A nova sessão @SESSION_ID@ foi criada para usuário o @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Uma nova sessão com o ID @SESSION_ID@ foi criada para o usuário @USER_ID@.
O processo originador da sessão é @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Sessão @SESSION_ID@ foi terminada
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Um sessão com o ID @SESSION_ID@ foi terminada.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Um novo seat @SEAT_ID@ está disponível
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Um novo seat @SEAT_ID@ foi configurado e está disponível.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Seat @SEAT_ID@ foi removido agora
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Um seat @SEAT_ID@ foi removido e não está mais disponível.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Time change
Defined-By: systemd
Support: %SUPPORT_URL%
O relógio do sistema foi alterado para @REALTIME@ microssegundos após 1º de
janeiro de 1970.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Fuso horário alterado para @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
O fuso horário do sistema foi alterado para @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Inicialização do sistema foi concluída
Defined-By: systemd
Support: %SUPPORT_URL%
Todos os serviços do sistema necessários que estão enfileirados para
executar na inicialização do sistema, foram iniciados com sucesso. Note
que isso não significa que a máquina está ociosa, pois os serviços podem
ainda estar ocupados com a inicialização completa.
Inicialização do kernel precisou @KERNEL_USEC@ microssegundos.
Disco de RAM inicial precisou de @INITRD_USEC@ microssegundos.
Inicialização do espaço do usuário precisou de @USERSPACE_USEC@ microssegundos.
-- 6bbd95ee977941e497c48be27c254128
Subject: Estado de suspensão do sistema @SLEEP@ iniciado
Defined-By: systemd
Support: %SUPPORT_URL%
O sistema entrou agora no estado de suspensão @SLEEP@.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Estado de suspensão do sistema @SLEEP@ finalizado
Defined-By: systemd
Support: %SUPPORT_URL%
O sistema saiu agora do estado de suspensão @SLEEP@.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Desligamento do sistema iniciado
Defined-By: systemd
Support: %SUPPORT_URL%
Desligamento do sistema foi inicializado. O desligamento se iniciou e todos
os serviços do sistema foram terminados e todos os sistemas desmontados.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Unidade @UNIT@ sendo iniciado
Defined-By: systemd
Support: %SUPPORT_URL%
A unidade @UNIT@ está sendo iniciada.
-- 39f53479d3a045ac8e11786248231fbf
Subject: Unidade @UNIT@ concluiu a inicialização
Defined-By: systemd
Support: %SUPPORT_URL%
A unidade @UNIT@ concluiu a inicialização.
The start-up result is @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Unidade @UNIT@ sendo desligado
Defined-By: systemd
Support: %SUPPORT_URL%
A unidade @UNIT@ está sendo desligada.
-- 9d1aaa27d60140bd96365438aad20286
Subject: A unidade @UNIT@ concluiu o desligamento
Defined-By: systemd
Support: %SUPPORT_URL%
A unidade @UNIT@ concluiu o desligamento.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: A unidade @UNIT@ falhou
Defined-By: systemd
Support: %SUPPORT_URL%
A unidade @UNIT@ falhou.
O resultado é @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: Unidade @UNIT@ iniciou recarregamento de sua configuração
Defined-By: systemd
Support: %SUPPORT_URL%
A unidade @UNIT@ iniciou o recarregamento de sua configuração.
-- 7b05ebc668384222baa8881179cfda54
Subject: Unidade @UNIT@ concluiu recarregamento de sua configuração
Defined-By: systemd
Support: %SUPPORT_URL%
A unidade @UNIT@ concluiu o recarregamento de sua configuração.
O resultado é @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Processo @EXECUTABLE@ não pôde ser executado
Defined-By: systemd
Support: %SUPPORT_URL%
O processo @EXECUTABLE@ não pôde ser executado e falhou.
O número de erro retornado por este processo é @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Uma ou mais mensagens não puderam ser encaminhadas para o syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Uma ou mais mensagens não puderam ser encaminhadas para o serviço do syslog
em execução paralela ao journald. Isso normalmente indica que a implementação
do syslog não foi capaz de se manter com a velocidade das mensagens
enfileiradas.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Ponto de montagem não está vazio
Defined-By: systemd
Support: %SUPPORT_URL%
O diretório @WHERE@ está especificado como ponto de montagem (o segundo campo
no /etc/fstab ou campo Where= no arquivo de unidade do systemd) e não está
vazio. Isso não interfere com a montagem, mas os arquivos pré-existentes
neste diretório se tornaram inacessívels. Para ver aqueles arquivos, sobre os
quais foi realizada a montagem, por favor monte manualmente o sistema de
arquivos subjacente para uma localização secundária.
-- 24d8d4452573402496068381a6312df2
Subject: Uma máquina virtual ou contêiner foi iniciado
Defined-By: systemd
Support: %SUPPORT_URL%
A máquina virtual @NAME@ com seu PID @LEADER@ incial foi iniciada e está
pronto para ser usad.
-- 58432bd3bace477cb514b56381b8a758
Subject: Uma máquina virtual ou contêiner foi terminado
Defined-By: systemd
Support: %SUPPORT_URL%
A máquina virtual @NAME@ com seu PID @LEADER@ incial foi desligada.

View File

@ -0,0 +1,403 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2013-2017 Sergey Ptashnick
# Message catalog for systemd's own messages
# Russian translation
# Формат каталога сообщений описан по ссылке
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Перед каждым элементом в комментарии указан Subject исходного
# сообщения (на английском).
# Subject: The Journal has been started
-- f77379a8490b408bbe5f6940505a777b
Subject: Запущена служба журналирования
Defined-By: systemd
Support: %SUPPORT_URL%
Процесс, отвечающий за журналирование системных событий, успешно запустился,
открыл для записи файлы журнала, и готов обрабатывать запросы.
# Subject: The Journal has been stopped
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Служба журналирования остановлена
Defined-By: systemd
Support: %SUPPORT_URL%
Процесс, отвечающий за журналирование системных событий, завершил работу и
закрыл все свои файлы.
# Subject: Disk space used by the journal
-- ec387f577b844b8fa948f33cad9a75e6
Subject: Место на диске, занятое журналом
Defined-By: systemd
Support: %SUPPORT_URL%
@JOURNAL_NAME@ (@JOURNAL_PATH@) сейчас занимает @CURRENT_USE_PRETTY@.
Максимальный разрешенный размер составляет @MAX_USE_PRETTY@.
Оставляем свободными как минимум @DISK_KEEP_FREE_PRETTY@ (сейчас на диске
свободно @DISK_AVAILABLE_PRETTY@).
Таким образом, предел использования составляет @LIMIT_PRETTY@, из которых
@AVAILABLE_PRETTY@ пока свободно.
Ограничения на размер журнала настраиваются при помощи параметров
SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=, RuntimeMaxUse=,
RuntimeKeepFree=, RuntimeMaxFileSize= в файле /etc/systemd/journald.conf.
Более подробные сведения вы можете получить на справочной странице
journald.conf(5).
# Subject: Messages from a service have been suppressed
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Часть сообщений от службы пропущена
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Служба отправила слишком много сообщений за короткий промежуток времени.
Часть сообщений была пропущена.
Обратите внимание, что были пропущены сообщения только от этой службы,
сообщения других служб не затронуты.
Предел, после которого служба журнала начинает игнорировать сообщения,
настраивается параметрами RateLimitIntervalSec= и RateLimitBurst= в файле
/etc/systemd/journald.conf. Подробности смотрите на странице руководства
journald.conf(5).
# Subject: Journal messages have been missed
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Часть сообщений ядра пропущена
Defined-By: systemd
Support: %SUPPORT_URL%
Часть сообщений, поступивших от ядра, была потеряна, так как служба
журналирования не успела их обработать.
# Subject: Process @COREDUMP_PID@ (@COREDUMP_COMM@) dumped core
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Процесс @COREDUMP_PID@ (@COREDUMP_COMM@) сбросил дамп памяти
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Процесс @COREDUMP_PID@ (@COREDUMP_COMM@) завершился из-за критической ошибки.
Записан дамп памяти.
Вероятно, это произошло из-за ошибки, допущенной в коде программы.
Рекомендуется сообщить её разработчикам о возникшей проблеме.
# Subject: Core file was truncated to @SIZE_LIMIT@ bytes
-- 5aadd8e954dc4b1a8c954d63fd9e1137
Subject: Файл с дампом памяти был урезан до @SIZE_LIMIT@ байт
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:coredump.conf(5)
Объем памяти процесса превысил ограничения на размер дампа, установленные
для systemd-coredump(8). Записаны только первые @SIZE_LIMIT@ байт. Не исключено,
что этот дамп еще пригоден для анализа, хотя инструменты для анализа
дампов (например, gdb(1)) могут выдать предупреждение, что файл был урезан.
# Subject: A new session @SESSION_ID@ has been created for user @USER_ID@
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Для пользователя @USER_ID@ создан новый сеанс @SESSION_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Для пользователя @USER_ID@ создан новый сеанс с идентификатором @SESSION_ID@.
Главный процесс нового сеанса имеет индентификатор @LEADER@.
# Subject: A session @SESSION_ID@ has been terminated
-- 3354939424b4456d9802ca8333ed424a
Subject: Сеанс @SESSION_ID@ завершен
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сеанс с идентификатором @SESSION_ID@ завершился.
# Subject: A new seat @SEAT_ID@ is now available
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Добавлено новое рабочее место @SEAT_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Новое рабочее место (seat) @SEAT_ID@ полностью настроено и готово к
использованию.
# Subject: A seat @SEAT_ID@ has now been removed
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Рабочее место @SEAT_ID@ отключено
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Рабочее место (seat) @SEAT_ID@ было отключено.
# Subject: Time change
-- c7a787079b354eaaa9e77b371893cd27
Subject: Переведены системные часы
Defined-By: systemd
Support: %SUPPORT_URL%
Системные часы были переведены. Сейчас они показывают @REALTIME@ микросекунд
с момента 00:00:00 1 января 1970 года.
# Subject: Time zone change to @TIMEZONE@
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Часовой пояс изменен на @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Системный часовой пояс был изменен. Новое значение: @TIMEZONE@.
# Subject: System start-up is now complete
-- b07a249cd024414a82dd00cd181378ff
Subject: Запуск системы завершен
Defined-By: systemd
Support: %SUPPORT_URL%
Все системные службы, запуск которых предписан настройками, были запущены.
Впрочем, это ещё не означает, что система в данный момент ничем не занята,
так как некоторые службы могут продолжать инициализацию даже после того, как
отчитались о своем запуске.
Запуск ядра занял @KERNEL_USEC@ микросекунд.
Процессы начального RAM-диска (initrd) отработали за @INITRD_USEC@ микросекунд.
Запуск системных служб занял @USERSPACE_USEC@ микросекунд.
# Subject: User manager start-up is now complete
-- eed00a68ffd84e31882105fd973abdd1
Subject: Завершен запуск менеджера пользовательского сеанса
Defined-By: systemd
Support: %SUPPORT_URL%
Менеджер пользовательского сеанса для пользователя с идентификатором @_UID@
был запущен. Все службы, стоявшие в очереди на запуск, также были запущены. Тем
не менее, прочие службы могут все еще находиться в процессе запуска, либо могут
быть запущены позднее.
Запуск менеджера занял @USERSPACE_USEC@ микросекунд.
# Subject: System sleep state @SLEEP@ entered
-- 6bbd95ee977941e497c48be27c254128
Subject: Система перешла в состояние сна (@SLEEP@)
Defined-By: systemd
Support: %SUPPORT_URL%
Система была переведена в состояние сна (@SLEEP@).
# Subject: System sleep state @SLEEP@ left
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Система вышла из состояния сна (@SLEEP@)
Defined-By: systemd
Support: %SUPPORT_URL%
Система была выведена из состояния сна (@SLEEP@).
# Subject: System shutdown initiated
-- 98268866d1d54a499c4e98921d93bc40
Subject: Подготовка системы к выключению
Defined-By: systemd
Support: %SUPPORT_URL%
Начат процесс подготовки к выключению компьютера. Останавливаются все системные
службы, отмонтируются все файловые системы.
# Subject: Unit @UNIT@ has begun with start-up
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Начинается запуск юнита @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Начат процесс запуска юнита @UNIT@.
# Subject: Unit @UNIT@ has finished start-up
-- 39f53479d3a045ac8e11786248231fbf
Subject: Запуск юнита @UNIT@ завершен
Defined-By: systemd
Support: %SUPPORT_URL%
Процесс запуска юнита @UNIT@ был завершен.
Результат: @JOB_RESULT@.
# Subject: Unit @UNIT@ has begun shutting down
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Начинается остановка юнита @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Начат процесс остановки юнита @UNIT@.
# Subject: Unit @UNIT@ has finished shutting down
-- 9d1aaa27d60140bd96365438aad20286
Subject: Завершена остановка юнита @UNIT@.
Defined-By: systemd
Support: %SUPPORT_URL%
Процесс остановки юнита @UNIT@ был завершен.
# Subject: Unit @UNIT@ has failed
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Ошибка юнита @UNIT@
Defined-By: systemd
Support: %SUPPORT_URL%
Произошел сбой юнита @UNIT@.
Результат: @JOB_RESULT@.
# Subject: Unit @UNIT@ has begun with reloading its configuration
-- d34d037fff1847e6ae669a370e694725
Subject: Юнит @UNIT@ начал перечитывать свои настройки
Defined-By: systemd
Support: %SUPPORT_URL%
Юнит @UNIT@ начал процесс перечитывания своей конфигурации.
# Subject: Unit @UNIT@ has finished reloading its configuration
-- 7b05ebc668384222baa8881179cfda54
Subject: Юнит @UNIT@ завершил перечитывание своих настроек
Defined-By: systemd
Support: %SUPPORT_URL%
Юнит @UNIT@ завершил процесс перечитывания своей конфигурации.
Результат: @JOB_RESULT@.
# Subject: Process @EXECUTABLE@ could not be executed
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Не удалось запустить процесс @EXECUTABLE@
Defined-By: systemd
Support: %SUPPORT_URL%
Сбой: не удалось запустить процесс @EXECUTABLE@.
Код ошибки: @ERRNO@.
# Subject: One or more messages could not be forwarded to syslog
-- 0027229ca0644181a76c4e92458afa2e
Subject: Часть сообщений не удалось передать процессу syslog
Defined-By: systemd
Support: %SUPPORT_URL%
Не удалось передать некоторые сообщения демону системного лога (syslog),
дублирующему работу службы системного журнала. Скорее всего, причина в том, что
используемая реализация syslog не успевает обрабатывать сообщения с достаточной
скоростью.
# Subject: Mount point is not empty
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Каталог, являющийся точкой монтирования, не пуст
Defined-By: systemd
Support: %SUPPORT_URL%
Каталог @WHERE@, который был указан в качестве точки монтирования (во втором
столбце файла /etc/fstab, либо в параметре Where= файла конфигурации юнита),
не является пустым. Это никак не мешает монтированию, однако ранее находившиеся
в нем файлы будут недоступны. Чтобы получить к ним доступ, вы можете вручную
перемонтировать эту файловую систему в другую точку.
# Subject: A virtual machine or container has been started
-- 24d8d4452573402496068381a6312df2
Subject: Запущена виртуальная машина/контейнер
Defined-By: systemd
Support: %SUPPORT_URL%
Виртуальная машина @NAME@ (идентификатор главного процесса: @LEADER@) запущена и
готова к работе.
# Subject: A virtual machine or container has been terminated
-- 58432bd3bace477cb514b56381b8a758
Subject: Остановлена виртуальная машина/контейнер
Defined-By: systemd
Support: %SUPPORT_URL%
Виртуальная машина @NAME@ (идентификатор главного процесса: @LEADER@) выключена.
# Subject: DNSSEC mode has been turned off, as server doesn't support it
-- 36db2dfa5a9045e1bd4af5f93e1cf057
Subject: Механизм DNSSEC был отключен, так как DNS-сервер его не поддерживает
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8) resolved.conf(5)
Служба разрешения имен хостов (systemd-resolved.service) определила, что
указанный в настойках DNS-сервер не поддерживает технологию DNSSEC, и
автоматически отключила DNSSEC-проверки.
Данное событие возникает, если в файле resolved.conf указан параметр
DNSSEC=allow-downgrade, и вышестоящий DNS-сервер не поддерживает DNSSEC.
Обратите внимание, что режим allow-downgrade допускает возможность атаки
"DNSSEC downgrade", в ходе которой атакующий хакер блокирует проверки DNSSEC
путем отправки ложных сообщений от имени DNS-сервера.
Возникновение данного события может свидетельствовать как о том, что ваш
DNS-сервер не поддерживает DNSSEC, так и о том, что некий хакер успешно провел
против вас атаку, направленную на блокировку DNSSEC-проверок.
# Subject: DNSSEC validation failed
-- 1675d7f172174098b1108bf8c7dc8f5d
Subject: Проверка DNSSEC провалена
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
DNS-запрос или отдельная ресурсная запись не прошла проверку DNSSEC.
Как правило, это свидетельствует о постороннем вмешательстве в канал связи.
# Subject: A DNSSEC trust anchor has been revoked
-- 4d4408cfd0d144859184d1e65d7c8a65
Subject: Открытый ключ DNSSEC был отозван
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:systemd-resolved.service(8)
Открытый ключ (trust ahcnor) DNSSEC был отозван. Необходимо настроить новый
открытый ключ, либо обновить систему, чтобы получить обновленный открытый ключ.
# Subject: Automatic restarting of a unit has been scheduled
-- 5eb03494b6584870a536b337290809b3
Subject: Назначен автоматический перезапуск юнита
Defined-By: systemd
Support: %SUPPORT_URL%
Назначен автоматический перезапуск юнита @UNIT@, так как для него был задан
параметр Restart=.
# Subject: Resources consumed by unit runtime
-- ae8f7b866b0347b9af31fe1c80b127c0
Subject: Потребленные юнитом ресурсы
Defined-By: systemd
Support: %SUPPORT_URL%
Юнит @UNIT@ завершен. Приводится статистика по потребленным им ресурсам.
# Subject: The system is configured in a way that might cause problems
-- 50876a9db00f4c40bde1a2ad381c3a1b
Subject: Выявлены потенциальные проблемы в конфигурации системы
Defined-By: systemd
Support: %SUPPORT_URL%
Перечень всех возможных меток, указывающих на проблемы конфигурации:
- "split-usr" — каталог /usr расположен на отдельной файловой системе,
которая не была смонтирована на момент запуска systemd
- "cgroups-missing" — ядро собрано без поддержки контрольных групп, либо
отсутствуют права для доступа к интерфейсным файлам контрольных групп
- "var-run-bad" — /var/run не является символьной ссылкой на /run
- "overflowuid-not-65534" — используемый ядром UID для "неизвестных"
пользователей (применяется в NFS и пространствах имен пользователей)
не равен 65534
- "overflowgid-not-65534" — используемый ядром GID для "неизвестных"
пользователей (применяется в NFS и пространствах имен пользователей)
не равен 65534
В вашей системе присутствуют следующие проблемы: @TAINT@.

View File

@ -0,0 +1,247 @@
# SPDX-License-Identifier: LGPL-2.1+
# Message catalog for systemd's own messages
# Serbian translation
# Формат каталога је документован на
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# Да бисте видели зашто ово радимо, погледајте https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: Журнал је покренут
Defined-By: systemd
Support: %SUPPORT_URL%
Системски журналски процес се покренуо, отворио журналске
датотеке за упис и спреман је за обраду захтева.
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: Журнал је заустављен
Defined-By: systemd
Support: %SUPPORT_URL%
Системски журналски процес се зауставио и затворио све тренутно
отворене журналске датотеке.
-- a596d6fe7bfa4994828e72309e95d61e
Subject: Поруке од услуге су утишане
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
Услуга је уписала сувише порука за једно време. Поруке
од услуге су одбачене.
Знајте да су само поруке од ове услуге одбачене, друге
услуге нису захваћене овим.
Ограничења која подешавају начин на који се поруке одбацују се могу подесити
помоћу „RateLimitIntervalSec=“ и „RateLimitBurst=“ параметара унутар датотеке
/etc/systemd/journald.conf. Погледајте journald.conf(5) за појединости.
-- e9bf28e6e834481bb6f48f548ad13606
Subject: Журналске поруке су изгубљене
Defined-By: systemd
Support: %SUPPORT_URL%
Поруке кернела су изгубљене јер журналски систем није могао да их
обради довољно брзо.
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: Процес @COREDUMP_PID@ (@COREDUMP_COMM@) је избацио своје језгро
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
Процес @COREDUMP_PID@ (@COREDUMP_COMM@) је пао и избацио своје језгро.
Ово обично значи да постоји грешка у програму који је пао и ова
грешка треба да се пријави продавцу.
-- 8d45620c1a4348dbb17410da57c60c66
Subject: Нова сесија @SESSION_ID@ је направљена за корисника @USER_ID@
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Нова сесија са ИБ-ом @SESSION_ID@ је направљена за корисника @USER_ID@.
Водећи процес сесије је @LEADER@.
-- 3354939424b4456d9802ca8333ed424a
Subject: Сесија @SESSION_ID@ је окончана
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Сесија са ИБ-ом @SESSION_ID@ је окончана.
-- fcbefc5da23d428093f97c82a9290f7b
Subject: Ново седиште @SEAT_ID@ је сада доступно
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Ново седиште @SEAT_ID@ је исподешавано и сада је доступно.
-- e7852bfe46784ed0accde04bc864c2d5
Subject: Седиште @SEAT_ID@ је сада уклоњено
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
Седиште @SEAT_ID@ је сада уклоњено и више није доступно.
-- c7a787079b354eaaa9e77b371893cd27
Subject: Време је промењено
Defined-By: systemd
Support: %SUPPORT_URL%
Системски сат је сада подешен на @REALTIME@ микросекунде након 1. јануара 1970. године.
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: Временска зона је промењена на @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
Временска зона је промењена на @TIMEZONE@.
-- b07a249cd024414a82dd00cd181378ff
Subject: Подизање система је сада готово
Defined-By: systemd
Support: %SUPPORT_URL%
Све системске услуге које су заказане за подизање су успешно покренуте.
Знајте да ово не значи да је машина сада беспослена јер услуге могу
и даље бити заузете завршавањем покретања система.
Подизање кернела је трајало @KERNEL_USEC@ микросекунде.
Подизање почетног РАМ диска је трајало @INITRD_USEC@ микросекунде.
Подизање корисничких програма је трајало @USERSPACE_USEC@ микросекунде.
-- 6bbd95ee977941e497c48be27c254128
Subject: Системско стање спавања @SLEEP@ започето
Defined-By: systemd
Support: %SUPPORT_URL%
Систем је сада ушао у @SLEEP@ стање спавања.
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: Системско стање спавања @SLEEP@ напуштено
Defined-By: systemd
Support: %SUPPORT_URL%
Систем је изашао из @SLEEP@ стања спавања.
-- 98268866d1d54a499c4e98921d93bc40
Subject: Гашење система започето
Defined-By: systemd
Support: %SUPPORT_URL%
Систем-де гашење је започето. Гашење је сада почело и све
системске услуге су окончане и сви системи датотека откачени.
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: Јединица @UNIT@ је почела са покретањем
Defined-By: systemd
Support: %SUPPORT_URL%
Јединица @UNIT@ је почела са покретањем.
-- 39f53479d3a045ac8e11786248231fbf
Subject: Јединица @UNIT@ је завршила са покретањем
Defined-By: systemd
Support: %SUPPORT_URL%
Јединица @UNIT@ је завршила са покретањем.
Исход покретања је @JOB_RESULT@.
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: Јединица @UNIT@ је почела са гашењем
Defined-By: systemd
Support: %SUPPORT_URL%
Јединица @UNIT@ је почела са гашењем.
-- 9d1aaa27d60140bd96365438aad20286
Subject: Јединица @UNIT@ је завршила са гашењем
Defined-By: systemd
Support: %SUPPORT_URL%
Јединица @UNIT@ је завршила са гашењем.
-- be02cf6855d2428ba40df7e9d022f03d
Subject: Јединица @UNIT@ је пукла
Defined-By: systemd
Support: %SUPPORT_URL%
Јединица @UNIT@ је пукла.
Исход је @JOB_RESULT@.
-- d34d037fff1847e6ae669a370e694725
Subject: Јединица @UNIT@ је почела са поновним учитавањем свог подешавања
Defined-By: systemd
Support: %SUPPORT_URL%
Јединица @UNIT@ је почела са поновним учитавањем свог подешавања
-- 7b05ebc668384222baa8881179cfda54
Subject: Јединица @UNIT@ је завршила са поновним учитавањем свог подешавања
Defined-By: systemd
Support: %SUPPORT_URL%
Јединица @UNIT@ је завршила са поновним учитавањем свог подешавања
Исход је @JOB_RESULT@.
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: Процес @EXECUTABLE@ није могао бити извршен
Defined-By: systemd
Support: %SUPPORT_URL%
Процес @EXECUTABLE@ није могао бити извршен и пукао је.
Овај процес је вратио број грешке @ERRNO@.
-- 0027229ca0644181a76c4e92458afa2e
Subject: Једна или више порука није могло бити прослеђено системском записнику
Defined-By: systemd
Support: %SUPPORT_URL%
Једна или више порука није могло бити прослеђено „syslog“ услузи
која ради упоредно са журнал-деом. Ово обично значи да спроведена
„syslog“ услуга није могла да издржи брзину свих надолазећих
порука у реду.
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: Тачка качења није празна
Defined-By: systemd
Support: %SUPPORT_URL%
Директоријум @WHERE@ је наведен као тачка качења (друго поље у
/etc/fstab датотеци или у „Where=“ пољу систем-де јединичне датотеке)
и он није празан. Ово не утиче на качење али ће већ постојеће датотеке у
овом директоријуму постати недоступне. Да бисте видели ове недоступне
датотеке, ручно прикачите основни систем датотека у другу
путању.
-- 24d8d4452573402496068381a6312df2
Subject: Виртуелна машина или контејнер је покренут(а)
Defined-By: systemd
Support: %SUPPORT_URL%
Виртуелна машина @NAME@ са водећим ПИБ-ом @LEADER@ је
покренута и сада је спремна за коришћење.
-- 58432bd3bace477cb514b56381b8a758
Subject: Виртуелна машина или контејнер је окончан(а)
Defined-By: systemd
Support: %SUPPORT_URL%
Виртуелна машина @NAME@ са водећим ПИБ-ом @LEADER@ је
угашена.

View File

@ -0,0 +1,239 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2015 Boyuan Yang
# Message catalog for systemd's own messages
# Simplified Chinese translation
# 本 catalog 文档格式被记载在
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# 如需了解我们为什么做这些工作,请见 https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: 日志已开始
Defined-By: systemd
Support: %SUPPORT_URL%
系统日志进程已启动,已打开供写入的日志文件并准备好处理请求。
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: 日志已停止
Defined-By: systemd
Support: %SUPPORT_URL%
系统日志进程已终止,并已关闭所有当前活动的日志文件。
-- a596d6fe7bfa4994828e72309e95d61e
Subject: 由某个服务而来的消息已被抑制
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
某个服务在一个时间周期内记录了太多消息。
从该服务而来的消息已被丢弃。
请注意只有由有问题的服务传来的消息被丢弃,
其它服务的消息不受影响。
可以在 /etc/systemd/journald.conf 中设定 RateLimitIntervalSec=
以及 RateLimitBurst = 的值以控制丢弃信息的限制。
请参见 journald.conf(5) 以了解详情。
-- e9bf28e6e834481bb6f48f548ad13606
Subject: 日志消息已遗失
Defined-By: systemd
Support: %SUPPORT_URL%
因日志系统对内核消息的处理速度不够快,
部分信息已经遗失。
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: 进程 @COREDUMP_PID@ (@COREDUMP_COMM@) 核心已转储
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
进程 @COREDUMP_PID@ (@COREDUMP_COMM@) 已崩溃并进行核心转储。
这通常意味着崩溃程序中存在编程错误,并应当将此错误向其开发者报告。
-- 8d45620c1a4348dbb17410da57c60c66
Subject: 一个新会话 @SESSION_ID@ 已为用户 @USER_ID@ 建立
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一个 ID 为 @SESSION_ID@ 的新会话已为用户 @USER_ID@ 建立。
该会话的首进程为 @LEADER@。
-- 3354939424b4456d9802ca8333ed424a
Subject: 会话 @SESSION_ID@ 已终止
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一个 ID 为 @SESSION_ID@ 的会话已终止。
-- fcbefc5da23d428093f97c82a9290f7b
Subject: 一个新的座位 @SEAT_ID@ 可用
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一个新的座位 @SEAT_ID@ 已被配置并已可用。
-- e7852bfe46784ed0accde04bc864c2d5
Subject: 座位 @SEAT_ID@ 已被移除
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
座位 @SEAT_ID@ 已被移除并不再可用。
-- c7a787079b354eaaa9e77b371893cd27
Subject: 时间已变更
Defined-By: systemd
Support: %SUPPORT_URL%
系统时钟已变更为1970年1月1日后 @REALTIME@ 微秒。
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: 时区变更为 @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
系统时区已变更为 @TIMEZONE@。
-- b07a249cd024414a82dd00cd181378ff
Subject: 系统启动已完成
Defined-By: systemd
Support: %SUPPORT_URL%
所有系统启动时需要的系统服务均已成功启动。
请注意这并不代表现在机器已经空闲,因为某些服务可能仍处于完成启动的过程中。
内核启动使用了 @KERNEL_USEC@ 毫秒。
初始内存盘启动使用了 @INITRD_USEC@ 毫秒。
用户空间启动使用了 @USERSPACE_USEC@ 毫秒。
-- 6bbd95ee977941e497c48be27c254128
Subject: 系统已进入 @SLEEP@ 睡眠状态
Defined-By: systemd
Support: %SUPPORT_URL%
系统现已进入 @SLEEP@ 睡眠状态。
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: 系统已离开 @SLEEP@ 睡眠状态
Defined-By: systemd
Support: %SUPPORT_URL%
系统现已离开 @SLEEP@ 睡眠状态。
-- 98268866d1d54a499c4e98921d93bc40
Subject: 系统关机已开始
Defined-By: systemd
Support: %SUPPORT_URL%
系统关机操作已初始化。
关机已开始,所有系统服务均已结束,所有文件系统已卸载。
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: @UNIT@ 单元已开始启动
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 单元已开始启动。
-- 39f53479d3a045ac8e11786248231fbf
Subject: @UNIT@ 单元已结束启动
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 单元已结束启动。
启动结果为“@JOB_RESULT@”。
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: @UNIT@ 单元已开始停止操作
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 单元已开始停止操作。
-- 9d1aaa27d60140bd96365438aad20286
Subject: @UNIT@ 单元已结束停止操作
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 单元已结束停止操作。
-- be02cf6855d2428ba40df7e9d022f03d
Subject: @UNIT@ 单元已失败
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 单元已失败。
结果为“@JOB_RESULT@”。
-- d34d037fff1847e6ae669a370e694725
Subject: @UNIT@ 单元已开始重新载入其配置
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 单元已开始重新载入其配置。
-- 7b05ebc668384222baa8881179cfda54
Subject: @UNIT@ 单元已结束配置重载入
Defined-By: systemd
Support: %SUPPORT_URL%
@UNIT@ 单元已结束配置重载入操作。
结果为“@JOB_RESULT@”。
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: 进程 @EXECUTABLE@ 无法执行
Defined-By: systemd
Support: %SUPPORT_URL%
进程 @EXECUTABLE@ 无法被执行并已失败。
该进程返回的错误代码为 @ERRNO@。
-- 0027229ca0644181a76c4e92458afa2e
Subject: 一个或更多消息无法被转发至 syslog
Defined-By: systemd
Support: %SUPPORT_URL%
有一条或更多的消息无法被转发至与 journald 同时运行的 syslog 服务。
这通常意味着 syslog 实现无法跟上队列中消息进入的速度。
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: 挂载点不为空
Defined-By: systemd
Support: %SUPPORT_URL%
目录 @WHERE@ 被指定为挂载点(即 /etc/fstab 文件的第二栏,或 systemd 单元
文件的 Where= 字段),且该目录非空。
这并不会影响挂载行为,但该目录中先前已存在的文件将无法被访问。
如需查看这些文件,请手动将其下的文件系统挂载到另一个位置。
-- 24d8d4452573402496068381a6312df2
Subject: 一个虚拟机或容器已启动
Defined-By: systemd
Support: %SUPPORT_URL%
虚拟机 @NAME@,以及其首进程 PID @LEADER@,已被启动并可被使用。
-- 58432bd3bace477cb514b56381b8a758
Subject: 一个虚拟机或容器已被终止
Defined-By: systemd
Support: %SUPPORT_URL%
虚拟机 @NAME@,以及其首进程 PID @LEADER@,已被关闭并停止。

View File

@ -0,0 +1,249 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# Copyright © 2015 Jeff Huang
# Message catalog for systemd's own messages
# Traditional Chinese translation
# Catalog 的格式記錄於
# https://www.freedesktop.org/wiki/Software/systemd/catalog
# For an explanation why we do all this, see https://xkcd.com/1024/
-- f77379a8490b408bbe5f6940505a777b
Subject: 日誌已開始
Defined-By: systemd
Support: %SUPPORT_URL%
系統日誌行程已啟動,已開啟日誌
檔案供寫入並準備好對行程的要求做出回應。
-- d93fb3c9c24d451a97cea615ce59c00b
Subject: 日誌已停止
Defined-By: systemd
Support: %SUPPORT_URL%
系統日誌行程已關閉,且關閉所有目前
活躍的日誌檔案。
-- a596d6fe7bfa4994828e72309e95d61e
Subject: 從服務而來的訊息已被抑制
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:journald.conf(5)
有一個服務在一個時間週期內記錄了太多訊息。
從該服務而來的訊息已被丟棄。
注意,只有有問題的服務之訊息被丟棄,
其他服務的訊息則不受影響。
可以在 /etc/systemd/journald.conf 中設定
RateLimitIntervalSec= 以及 RateLimitBurst=
來控制當訊息要開始被丟棄時的限制。參見 journald.conf(5) 以獲得更多資訊。
-- e9bf28e6e834481bb6f48f548ad13606
Subject: 日誌訊息已遺失
Defined-By: systemd
Support: %SUPPORT_URL%
因日誌系統對核心訊息的處理不夠快速,
部份訊息已遺失。
-- fc2e22bc6ee647b6b90729ab34a250b1
Subject: 行程 @COREDUMP_PID@ (@COREDUMP_COMM@) 核心傾印
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: man:core(5)
行程 @COREDUMP_PID@ (@COREDUMP_COMM@) 當掉並核心傾印。
這通常代表了在當掉的程式中的一個程式錯誤
並需要回報錯誤給其開發者。
-- 8d45620c1a4348dbb17410da57c60c66
Subject: 新的工作階段 @SESSION_ID@ 已為使用者 @USER_ID@ 建立
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一個新的工作階段ID @SESSION_ID@ 已為使用者 @USER_ID@ 建立。
這個工作階段的領導行程為 @LEADER@。
-- 3354939424b4456d9802ca8333ed424a
Subject: 工作階段 @SESSION_ID@ 已結束
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一個工作階段ID @SESSION_ID@ 已結束。
-- fcbefc5da23d428093f97c82a9290f7b
Subject: 新的座位 @SEAT_ID@ 可用
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
一個新的座位 @SEAT_ID@ 已被設定且現在可用。
-- e7852bfe46784ed0accde04bc864c2d5
Subject: 座位 @SEAT_ID@ 已被移除
Defined-By: systemd
Support: %SUPPORT_URL%
Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
座位 @SEAT_ID@ 已被移除且不再可用。
-- c7a787079b354eaaa9e77b371893cd27
Subject: 時間變更
Defined-By: systemd
Support: %SUPPORT_URL%
系統時間已變更為1970年1月1日後 @REALTIME@ 微秒。
-- 45f82f4aef7a4bbf942ce861d1f20990
Subject: 時區變更為 @TIMEZONE@
Defined-By: systemd
Support: %SUPPORT_URL%
系統時區已變更為 @TIMEZONE@。
-- b07a249cd024414a82dd00cd181378ff
Subject: 系統啟動已完成
Defined-By: systemd
Support: %SUPPORT_URL%
所有開機所必要的系統服務都已成功啟動。
注意這並不代表這臺機器有空閒的時間
可以服務,可能仍忙於完成啟動。
核心啟動需要 @KERNEL_USEC@ 微秒。
初始 RAM 磁碟啟動需要 @INITRD_USEC@ 微秒。
使用者空間啟動需要 @USERSPACE_USEC@ 微秒。
-- 6bbd95ee977941e497c48be27c254128
Subject: 系統進入 @SLEEP@ 睡眠狀態
Defined-By: systemd
Support: %SUPPORT_URL%
系統現在已進入 @SLEEP@ 睡眠狀態。
-- 8811e6df2a8e40f58a94cea26f8ebf14
Subject: 系統離開 @SLEEP@ 睡眠狀態
Defined-By: systemd
Support: %SUPPORT_URL%
系統現在已離開 @SLEEP@ 睡眠狀態。
-- 98268866d1d54a499c4e98921d93bc40
Subject: 系統關機開始
Defined-By: systemd
Support: %SUPPORT_URL%
Systemd 關閉已經開始。關閉已開始且所有系統服務
都已結束,所有的檔案系統也都已被卸載。
-- 7d4958e842da4a758f6c1cdc7b36dcc5
Subject: 單位 @UNIT@ 已開始啟動
Defined-By: systemd
Support: %SUPPORT_URL%
單位 @UNIT@ 已開始啟動。
-- 39f53479d3a045ac8e11786248231fbf
Subject: 單位 @UNIT@ 啟動已結束
Defined-By: systemd
Support: %SUPPORT_URL%
單位 @UNIT@ 啟動已結束。
啟動結果為 @JOB_RESULT@。
-- de5b426a63be47a7b6ac3eaac82e2f6f
Subject: 單位 @UNIT@ 已開始關閉
Defined-By: systemd
Support: %SUPPORT_URL%
單位 @UNIT@ 已開始關閉。
-- 9d1aaa27d60140bd96365438aad20286
Subject: 單位 @UNIT@ 已關閉結束
Defined-By: systemd
Support: %SUPPORT_URL%
單位 @UNIT@ 已關閉結束。
-- be02cf6855d2428ba40df7e9d022f03d
Subject: 單位 @UNIT@ 已失敗
Defined-By: systemd
Support: %SUPPORT_URL%
單位 @UNIT@ 已失敗。
結果為 @JOB_RESULT@。
-- d34d037fff1847e6ae669a370e694725
Subject: 單位 @UNIT@ 已開始重新載入其設定
Defined-By: systemd
Support: %SUPPORT_URL%
單位 @UNIT@ 已開始重新載入其設定
-- 7b05ebc668384222baa8881179cfda54
Subject: 單位 @UNIT@ 已結束重新載入其設定
Defined-By: systemd
Support: %SUPPORT_URL%
單位 @UNIT@ 已結束重新載入其設定
結果為 @JOB_RESULT@。
-- 641257651c1b4ec9a8624d7a40a9e1e7
Subject: 行程 @EXECUTABLE@ 無法執行
Defined-By: systemd
Support: %SUPPORT_URL%
行程 @EXECUTABLE@ 無法執行且失敗。
由該行程所回傳的錯誤碼為 @ERRNO@。
-- 0027229ca0644181a76c4e92458afa2e
Subject: 一個或更多訊息無法被轉發到 syslog
Defined-By: systemd
Support: %SUPPORT_URL%
一個或更多訊息無法被轉發到 syslog 服務
以及並行執行的 journald。這通常代表著
syslog 實作並無未跟上佇列中訊息
的速度。
-- 1dee0369c7fc4736b7099b38ecb46ee7
Subject: 掛載點不為空
Defined-By: systemd
Support: %SUPPORT_URL%
目錄 @WHERE@ 被指定為掛載點(在 /etc/fstab 中的
第二欄或是在 systemd 單位檔案中的 Where= 欄位)且其不為空。
這並不會干擾掛載,但在此目錄中已存在的檔案
會變成無法存取的狀態。要檢視這些 over-mounted 的檔案,
請手動掛載下面的檔案系統到次要
位置。
-- 24d8d4452573402496068381a6312df2
Subject: 虛擬機器或容器已啟動
Defined-By: systemd
Support: %SUPPORT_URL%
虛擬機器 @NAME@ 包含它的領導 PID @LEADER@ 現在
已經開始並已經可以使用。
-- 58432bd3bace477cb514b56381b8a758
Subject: 虛擬機器或容器已結束
Defined-By: systemd
Support: %SUPPORT_URL%
虛擬機器 @NAME@ 包含它的領導 PID @LEADER@ 已經
關閉。

View File

@ -0,0 +1,12 @@
@@
bool b;
expression y;
@@
- b = !!(y);
+ b = y;
@@
bool b;
expression y;
@@
- b = !!y;
+ b = y;

View File

@ -0,0 +1,36 @@
@@
expression fd;
@@
- if (fd > 2)
- safe_close(fd);
+ safe_close_above_stdio(fd);
@@
expression fd;
@@
- if (fd > 2)
- fd = safe_close(fd);
+ fd = safe_close_above_stdio(fd);
@@
expression fd;
@@
- if (fd >= 3)
- safe_close(fd);
+ safe_close_above_stdio(fd);
@@
expression fd;
@@
- if (fd >= 3)
- fd = safe_close(fd);
+ fd = safe_close_above_stdio(fd);
@@
expression fd;
@@
- if (fd > STDERR_FILENO)
- safe_close(fd);
+ safe_close_above_stdio(fd);
@@
expression fd;
@@
- if (fd > STDERR_FILENO)
- fd = safe_close(fd);
+ fd = safe_close_above_stdio(fd);

28
coccinelle/cmp.cocci Normal file
View File

@ -0,0 +1,28 @@
@@
expression x, y;
@@
- if (x < y)
- return -1;
- if (x > y)
- return 1;
- return 0;
+ return CMP(x, y);
@@
expression x, y;
@@
- if (x < y)
- return -1;
- else if (x > y)
- return 1;
- return 0;
+ return CMP(x, y);
@@
expression x, y;
@@
- if (x < y)
- return -1;
- else if (x > y)
- return 1;
- else
- return 0;
+ return CMP(x, y);

View File

@ -0,0 +1,14 @@
@@
constant s;
@@
(
#define STRLEN
&
- sizeof(s)-1
+ STRLEN(s)
)
@@
constant s;
@@
- strlen(s)
+ STRLEN(s)

View File

@ -0,0 +1,16 @@
@@
@@
(
#define DEBUG_LOGGING
&
- _unlikely_(log_get_max_level() >= LOG_DEBUG)
+ DEBUG_LOGGING
)
@@
@@
(
#define DEBUG_LOGGING
&
- log_get_max_level() >= LOG_DEBUG
+ DEBUG_LOGGING
)

View File

@ -0,0 +1,20 @@
@@
expression x, y;
@@
- ((x + y - 1) / y)
+ DIV_ROUND_UP(x, y)
@@
expression x, y;
@@
- ((x + (y - 1)) / y)
+ DIV_ROUND_UP(x, y)
@@
expression x, y;
@@
- (x + y - 1) / y
+ DIV_ROUND_UP(x, y)
@@
expression x, y;
@@
- (x + (y - 1)) / y
+ DIV_ROUND_UP(x, y)

View File

@ -0,0 +1,7 @@
@@
/* We want to stick with dup() in test-fd-util.c */
position p : script:python() { p[0].file != "src/test/test-fd-util.c" };
expression fd;
@@
- dup@p(fd)
+ fcntl(fd, F_DUPFD, 3)

View File

@ -0,0 +1,5 @@
@@
expression s;
@@
- (isempty(s) || streq(s, "-"))
+ empty_or_dash(s)

View File

@ -0,0 +1,10 @@
@@
expression s;
@@
- (isempty(s) || path_equal(s, "/"))
+ empty_or_root(s)
@@
expression s;
@@
- (!isempty(s) && !path_equal(s, "/"))
+ !empty_or_root(s)

View File

@ -0,0 +1,8 @@
@@
/* Avoid running this transformation on the empty_to_null function itself */
position p : script:python() { p[0].current_element != "empty_to_null" };
expression s;
@@
- isempty@p(s) ? NULL : s
+ empty_to_null(s)

View File

@ -0,0 +1,11 @@
@@
expression s;
@@
- if (empty_or_root(s))
- s = "/";
+ s = empty_to_root(s);
@@
expression s;
@@
- (empty_or_root(s) ? "/" : s)
+ empty_to_root(s)

4
coccinelle/enotsup.cocci Normal file
View File

@ -0,0 +1,4 @@
@@
@@
- ENOTSUP
+ EOPNOTSUPP

View File

@ -0,0 +1,14 @@
@@
expression e;
statement s;
@@
- if (e == NULL)
+ if (!e)
s
@@
expression e;
statement s;
@@
- if (e != NULL)
+ if (e)
s

32
coccinelle/errno.cocci Normal file
View File

@ -0,0 +1,32 @@
@@
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
local idexpression r;
expression e;
@@
- r = -e;
+ r =
log_LEVEL_errno(e, ...);
@@
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
local idexpression r;
expression e;
@@
+ r =
log_LEVEL_errno(e, ...);
- r = -e;
@@
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
local idexpression r;
expression e;
@@
- r =
+ return
log_LEVEL_errno(e, ...);
- return r;
@@
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
expression e;
@@
+ return
log_LEVEL_errno(e, ...);
- return -e;

16
coccinelle/exit-0.cocci Normal file
View File

@ -0,0 +1,16 @@
@@
@@
- exit(0);
+ exit(EXIT_SUCCESS);
@@
@@
- _exit(0);
+ _exit(EXIT_SUCCESS);
@@
@@
- exit(1);
+ exit(EXIT_FAILURE);
@@
@@
- _exit(1);
+ _exit(EXIT_FAILURE);

View File

@ -0,0 +1,16 @@
@@
/* Disable this transformation for the securebits-util.h, as it makes
* the expression there confusing. */
position p : script:python() { p[0].file != "src/shared/securebits-util.h" };
expression x, y;
@@
(
- ((x@p) & (y)) == (y)
+ FLAGS_SET(x, y)
|
- (x@p & (y)) == (y)
+ FLAGS_SET(x, y)
|
- ((x@p) & y) == y
+ FLAGS_SET(x, y)
)

View File

@ -0,0 +1,71 @@
@@
expression f, path, options;
@@
- f = fopen(path, options);
- if (!f)
- return -errno;
- (void) __fsetlocking(f, FSETLOCKING_BYCALLER);
+ r = fopen_unlocked(path, options, &f);
+ if (r < 0)
+ return r;
@@
expression f, path, options;
@@
- f = fopen(path, options);
- if (!f) {
- if (errno == ENOENT)
- return -ESRCH;
- return -errno;
- }
- (void) __fsetlocking(f, FSETLOCKING_BYCALLER);
+ r = fopen_unlocked(path, options, &f);
+ if (r == -ENOENT)
+ return -ESRCH;
+ if (r < 0)
+ return r;
@@
expression f, path, options;
@@
- f = fopen(path, options);
- if (!f)
- return errno == ENOENT ? -ESRCH : -errno;
- (void) __fsetlocking(f, FSETLOCKING_BYCALLER);
+ r = fopen_unlocked(path, options, &f);
+ if (r == -ENOENT)
+ return -ESRCH;
+ if (r < 0)
+ return r;
@@
expression f, path, p;
@@
r = fopen_temporary(path, &f, &p);
if (r < 0)
return ...;
- (void) __fsetlocking(f, FSETLOCKING_BYCALLER);
@@
expression f, g, path, p;
@@
r = fopen_temporary_label(path, g, &f, &p);
if (r < 0)
return ...;
- (void) __fsetlocking(f, FSETLOCKING_BYCALLER);
@@
expression f, fd, options;
@@
- f = fdopen(fd, options);
+ r = fdopen_unlocked(fd, options, &f);
+ if (r < 0) {
- if (!f) {
...
- return -errno;
+ return r;
}
- (void) __fsetlocking(f, FSETLOCKING_BYCALLER);
@@
expression f, buf, sz;
@@
- f = open_memstream(&buf, &sz);
+ f = open_memstream_unlocked(&buf, &sz);
if (!f)
return ...;
- (void) __fsetlocking(f, FSETLOCKING_BYCALLER);

View File

@ -0,0 +1,15 @@
@@
expression p, q;
@@
- free(p);
- p = q;
- q = NULL;
- return 0;
+ return free_and_replace(p, q);
@@
expression p, q;
@@
- free(p);
- p = q;
- q = NULL;
+ free_and_replace(p, q);

View File

@ -0,0 +1,54 @@
@@
expression p;
@@
- set_free(p);
- p = NULL;
+ p = set_free(p);
@@
expression p;
@@
- if (p)
- set_free(p);
- p = NULL;
+ p = set_free(p);
@@
expression p;
@@
- if (p) {
- set_free(p);
- p = NULL;
- }
+ p = set_free(p);
@@
expression p;
@@
- if (p)
- set_free(p);
+ set_free(p);
@@
expression p;
@@
- hashmap_free(p);
- p = NULL;
+ p = hashmap_free(p);
@@
expression p;
@@
- if (p)
- hashmap_free(p);
- p = NULL;
+ p = hashmap_free(p);
@@
expression p;
@@
- if (p) {
- hashmap_free(p);
- p = NULL;
- }
+ p = hashmap_free(p);
@@
expression p;
@@
- if (p)
- hashmap_free(p);
+ hashmap_free(p);

20
coccinelle/htonl.cocci Normal file
View File

@ -0,0 +1,20 @@
@@
expression s;
@@
- htonl(s)
+ htobe32(s)
@@
expression s;
@@
- htons(s)
+ htobe16(s)
@@
expression s;
@@
- ntohl(s)
+ be32toh(s)
@@
expression s;
@@
- ntohs(s)
+ be16toh(s)

37
coccinelle/in_set.cocci Normal file
View File

@ -0,0 +1,37 @@
@@
expression e;
/* Exclude JsonVariant * from the transformation, as it can't work with the
* current version of the IN_SET macro */
typedef JsonVariant;
type T != JsonVariant*;
constant T n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;
@@
(
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6 || e == n7 || e == n8 || e == n9
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9)
|
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6 || e == n7 || e == n8
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8)
|
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6 || e == n7
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7)
|
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5 || e == n6
+ IN_SET(e, n0, n1, n2, n3, n4, n5, n6)
|
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5
+ IN_SET(e, n0, n1, n2, n3, n4, n5)
|
- e == n0 || e == n1 || e == n2 || e == n3 || e == n4
+ IN_SET(e, n0, n1, n2, n3, n4)
|
- e == n0 || e == n1 || e == n2 || e == n3
+ IN_SET(e, n0, n1, n2, n3)
|
- e == n0 || e == n1 || e == n2
+ IN_SET(e, n0, n1, n2)
|
- e == n0 || e == n1
+ IN_SET(e, n0, n1)
)

View File

@ -0,0 +1,29 @@
@@
expression x, y, p, l;
@@
- x[y].iov_base = p;
- x[y].iov_len = l;
- y++;
+ x[y++] = IOVEC_MAKE(p, l);
@@
expression x, p, l;
@@
- x.iov_base = p;
- x.iov_len = l;
+ x = IOVEC_MAKE(p, l);
@@
expression x, p, l;
@@
- x->iov_base = p;
- x->iov_len = l;
+ *x = IOVEC_MAKE(p, l);
@@
expression s;
@@
- IOVEC_MAKE(s, strlen(s));
+ IOVEC_MAKE_STRING(s);
@@
expression x, y, z;
@@
- x = (struct iovec) { .iov_base = y, .iov_len = z };
+ x = IOVEC_MAKE(y, z);

42
coccinelle/isempty.cocci Normal file
View File

@ -0,0 +1,42 @@
@@
/* Disable this transformation for the test-string-util.c */
position p : script:python() { p[0].file != "src/test/test-string-util.c" };
expression s;
@@
(
- strv_length@p(s) == 0
+ strv_isempty(s)
|
- strv_length@p(s) <= 0
+ strv_isempty(s)
|
- strv_length@p(s) > 0
+ !strv_isempty(s)
|
- strv_length@p(s) != 0
+ !strv_isempty(s)
|
- strlen@p(s) == 0
+ isempty(s)
|
- strlen@p(s) <= 0
+ isempty(s)
|
- strlen@p(s) > 0
+ !isempty(s)
|
- strlen@p(s) != 0
+ !isempty(s)
|
- strlen_ptr@p(s) == 0
+ isempty(s)
|
- strlen_ptr@p(s) <= 0
+ isempty(s)
|
- strlen_ptr@p(s) > 0
+ !isempty(s)
|
- strlen_ptr@p(s) != 0
+ !isempty(s)
)

View File

@ -0,0 +1,8 @@
@@
expression e, v, flags;
expression list args;
@@
+ return
- json_log(v, flags, 0, args);
+ json_log(v, flags, SYNTHETIC_ERRNO(e), args);
- return -e;

View File

@ -0,0 +1,20 @@
@@
expression q, n, m;
@@
- q = malloc((n)*(m))
+ q = malloc_multiply(n, m)
@@
expression q, n, m;
@@
- q = malloc(n*(m))
+ q = malloc_multiply(n, m)
@@
expression q, n, m;
@@
- q = malloc((n)*m)
+ q = malloc_multiply(n, m)
@@
expression q, n, m;
@@
- q = malloc(n*m)
+ q = malloc_multiply(n, m)

38
coccinelle/memzero.cocci Normal file
View File

@ -0,0 +1,38 @@
@@
expression s;
@@
- memset(&s, 0, sizeof(s))
+ zero(s)
@@
expression s;
@@
- memset(s, 0, sizeof(*s))
+ zero(*s)
@@
expression s;
@@
- bzero(&s, sizeof(s))
+ zero(s)
@@
expression s;
@@
- bzero(s, sizeof(*s))
+ zero(*s)
@@
expression a, b;
@@
(
#define memzero
&
- memset(a, 0, b)
+ memzero(a, b)
)
@@
expression a, b;
@@
(
#define memzero
&
- bzero(a, b)
+ memzero(a, b)
)

6
coccinelle/mfree.cocci Normal file
View File

@ -0,0 +1,6 @@
@@
expression p;
@@
- free(p);
- p = NULL;
+ p = mfree(p);

View File

@ -0,0 +1,8 @@
@@
/* Avoid running this transformation on the mfree function itself */
position p : script:python() { p[0].current_element != "mfree" };
expression e;
@@
- free@p(e);
- return NULL;
+ return mfree(e);

View File

@ -0,0 +1,20 @@
@@
expression p, q;
identifier r;
statement s;
@@
- if ((r = q) < p)
- s
+ r = q;
+ if (r < p)
+ s
@@
expression p, q;
identifier r;
statement s;
@@
- if ((r = q) >= p)
- s
+ r = q;
+ if (r >= p)
+ s

View File

@ -0,0 +1,34 @@
@@
expression e;
typedef JsonVariant;
type T != JsonVariant*;
constant T n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;
@@
(
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8 && e != n9
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8, n9)
|
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7 && e != n8
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7, n8)
|
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6 && e != n7
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6, n7)
|
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5 && e != n6
+ !IN_SET(e, n0, n1, n2, n3, n4, n5, n6)
|
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4 && e != n5
+ !IN_SET(e, n0, n1, n2, n3, n4, n5)
|
- e != n0 && e != n1 && e != n2 && e != n3 && e != n4
+ !IN_SET(e, n0, n1, n2, n3, n4)
|
- e != n0 && e != n1 && e != n2 && e != n3
+ !IN_SET(e, n0, n1, n2, n3)
|
- e != n0 && e != n1 && e != n2
+ !IN_SET(e, n0, n1, n2)
|
- e != n0 && e != n1
+ !IN_SET(e, n0, n1)
)

View File

@ -0,0 +1,4 @@
@@
@@
- O_NDELAY
+ O_NONBLOCK

View File

@ -0,0 +1,20 @@
@@
expression q, p, n, m;
@@
- q = realloc(p, (n)*(m))
+ q = reallocarray(p, n, m)
@@
expression q, p, n, m;
@@
- q = realloc(p, n*(m))
+ q = reallocarray(p, n, m)
@@
expression q, p, n, m;
@@
- q = realloc(p, (n)*m)
+ q = reallocarray(p, n, m)
@@
expression q, p, n, m;
@@
- q = realloc(p, n*m)
+ q = reallocarray(p, n, m)

View File

@ -0,0 +1,54 @@
@@
expression r;
@@
- if (r < 0)
- return r;
- if (r == 0)
- return 0;
+ if (r <= 0)
+ return r;
@@
expression r;
@@
- if (r == 0)
- return 0;
- if (r < 0)
- return r;
+ if (r <= 0)
+ return r;
@@
expression r;
@@
- if (r < 0)
- return r;
- if (r == 0)
- return r;
+ if (r <= 0)
+ return r;
@@
expression r;
@@
- if (r == 0)
- return r;
- if (r < 0)
- return r;
+ if (r <= 0)
+ return r;
@@
expression r;
@@
- if (r < 0)
- return r;
- if (r > 0)
- return r;
+ if (r != 0)
+ return r;
@@
expression r;
@@
- if (r > 0)
- return r;
- if (r < 0)
- return r;
+ if (r != 0)
+ return r;

43
coccinelle/run-coccinelle.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash -e
# Exclude following paths from the Coccinelle transformations
EXCLUDED_PATHS=(
"src/boot/efi/*"
"src/shared/linux/*"
"src/basic/linux/*"
# Symlinked to test-bus-vtable-cc.cc, which causes issues with the IN_SET macro
"src/libsystemd/sd-bus/test-bus-vtable.c"
)
top="$(git rev-parse --show-toplevel)"
iso_defs="$top/coccinelle/systemd-definitions.iso"
args=
# Create an array from files tracked by git...
mapfile -t files < <(git ls-files ':/*.[ch]')
# ...and filter everything that matches patterns from EXCLUDED_PATHS
for excl in "${EXCLUDED_PATHS[@]}"; do
files=(${files[@]//$excl})
done
case "$1" in
-i)
args="$args --in-place"
shift
;;
esac
if ! parallel -h >/dev/null; then
echo 'Please install GNU parallel (package "parallel")'
exit 1
fi
for SCRIPT in ${@-$top/coccinelle/*.cocci} ; do
echo "--x-- Processing $SCRIPT --x--"
TMPFILE=`mktemp`
echo "+ spatch --sp-file $SCRIPT $args ..."
parallel --halt now,fail=1 --keep-order --noswap --max-args=20 \
spatch --iso-file $iso_defs --sp-file $SCRIPT $args ::: "${files[@]}" \
2>"$TMPFILE" || cat "$TMPFILE"
echo -e "--x-- Processed $SCRIPT --x--\n"
done

View File

@ -0,0 +1,7 @@
@@
expression fd;
@@
- if (fd >= 0) {
- fd = safe_close(fd);
- }
+ fd = safe_close(fd);

View File

@ -0,0 +1,18 @@
@@
expression fd;
@@
- close(fd);
- fd = -1;
+ fd = safe_close(fd);
@@
expression fd;
@@
- close_nointr(fd);
- fd = -1;
+ fd = safe_close(fd);
@@
expression fd;
@@
- safe_close(fd);
- fd = -1;
+ fd = safe_close(fd);

View File

@ -0,0 +1,27 @@
@@
expression p;
@@
- if (p) {
- closedir(p);
- p = NULL;
- }
+ p = safe_closedir(p);
@@
expression p;
@@
- if (p)
- closedir(p);
- p = NULL;
+ p = safe_closedir(p);
@@
expression p;
@@
- closedir(p);
- p = NULL;
+ p = safe_closedir(p);
@@
expression p;
@@
- if (p)
- closedir(p);
+ safe_closedir(p);

View File

@ -0,0 +1,27 @@
@@
expression p;
@@
- if (p) {
- fclose(p);
- p = NULL;
- }
+ p = safe_fclose(p);
@@
expression p;
@@
- if (p)
- fclose(p);
- p = NULL;
+ p = safe_fclose(p);
@@
expression p;
@@
- fclose(p);
- p = NULL;
+ p = safe_fclose(p);
@@
expression p;
@@
- if (p)
- fclose(p);
+ safe_fclose(p);

View File

@ -0,0 +1,36 @@
@@
expression p;
@@
- if (p) {
- (void) sd_event_source_set_enabled(p, SD_EVENT_OFF);
- p = sd_event_source_unref(p);
- }
+ p = sd_event_source_disable_unref(p);
@@
expression p;
@@
- if (p) {
- sd_event_source_set_enabled(p, SD_EVENT_OFF);
- sd_event_source_unref(p);
- }
+ sd_event_source_disable_unref(p);
@@
expression p;
@@
- if (p) {
- (void) sd_event_source_set_enabled(p, SD_EVENT_OFF);
- sd_event_source_unref(p);
- }
+ sd_event_source_disable_unref(p);
@@
expression p;
@@
- (void) sd_event_source_set_enabled(p, SD_EVENT_OFF);
- sd_event_source_unref(p);
+ sd_event_source_disable_unref(p);
@@
expression p;
@@
- sd_event_source_set_enabled(p, SD_EVENT_OFF);
- sd_event_source_unref(p);
+ sd_event_source_disable_unref(p);

60
coccinelle/strempty.cocci Normal file
View File

@ -0,0 +1,60 @@
@@
/* Avoid running this transformation on the strempty function itself */
position p : script:python() { p[0].current_element != "strempty" };
expression s;
@@
(
- s@p ?: ""
+ strempty(s)
|
- s@p ? s : ""
+ strempty(s)
)
@@
position p : script:python() { p[0].current_element != "strempty" };
expression s;
@@
- if (!s@p)
- s = "";
+ s = strempty(s);
@@
position p : script:python() { p[0].current_element != "strnull" };
expression s;
@@
(
- s@p ?: "(null)"
+ strnull(s)
|
- s@p ? s : "(null)"
+ strnull(s)
)
@@
position p : script:python() { p[0].current_element != "strnull" };
expression s;
@@
- if (!s@p)
- s = "(null)";
+ s = strnull(s);
@@
position p : script:python() { p[0].current_element != "strna" };
expression s;
@@
(
- s@p ?: "n/a"
+ strna(s)
|
- s@p ? s : "n/a"
+ strna(s)
)
@@
position p : script:python() { p[0].current_element != "strna" };
expression s;
@@
- if (!s@p)
- s = "n/a";
+ s = strna(s);

16
coccinelle/strjoin.cocci Normal file
View File

@ -0,0 +1,16 @@
@@
expression list args;
@@
- strjoin(args, NULL);
+ strjoin(args);
@@
expression t;
expression list args;
@@
- t = strjoin(args, NULL);
+ t = strjoin(args);
@@
expression list args;
@@
- return strjoin(args, NULL);
+ return strjoin(args);

View File

@ -0,0 +1,6 @@
@@
expression n, m;
expression list s;
@@
- n = strjoina(m, s, NULL);
+ n = strjoina(m, s);

View File

@ -0,0 +1,27 @@
@@
expression p;
@@
- strv_free(p);
- p = NULL;
+ p = strv_free(p);
@@
expression p;
@@
- if (p)
- strv_free(p);
- p = NULL;
+ p = strv_free(p);
@@
expression p;
@@
- if (p) {
- strv_free(p);
- p = NULL;
- }
+ p = strv_free(p);
@@
expression p;
@@
- if (p)
- strv_free(p);
+ strv_free(p);

View File

@ -0,0 +1,7 @@
@@
expression x, y, z;
@@
- z = x;
- x = y;
- y = z;
+ SWAP_TWO(x, y);

View File

@ -0,0 +1,48 @@
@@
expression e;
expression list args;
@@
(
/* Ignore one specific case in src/shared/bootspec.c where we want to stick
* with the log_debug() + return pattern */
log_debug("Found no default boot entry :(");
|
- log_debug(args);
- return -e;
+ return log_debug_errno(SYNTHETIC_ERRNO(e), args);
)
@@
expression e;
expression list args;
@@
- log_info(args);
- return -e;
+ return log_info_errno(SYNTHETIC_ERRNO(e), args);
@@
expression e;
expression list args;
@@
- log_notice(args);
- return -e;
+ return log_notice_errno(SYNTHETIC_ERRNO(e), args);
@@
expression e;
expression list args;
@@
- log_error(args);
- return -e;
+ return log_error_errno(SYNTHETIC_ERRNO(e), args);
@@
expression e;
expression list args;
@@
- log_emergency(args);
- return -e;
+ return log_emergency_errno(SYNTHETIC_ERRNO(e), args);
@@
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
identifier ERRNO =~ "^E[A-Z]+$";
expression list args;
@@
- return log_LEVEL_errno(ERRNO, args);
+ return log_LEVEL_errno(SYNTHETIC_ERRNO(ERRNO), args);

View File

@ -0,0 +1,20 @@
/* Statement isomorphisms - replace explicit checks against NULL with a
* shorter variant, which relies on C's downgrade-to-bool feature.
* The expression metavariables should be declared as pointers, however,
* that doesn't work well with complex expressions like:
* if (UNIT(p)->default_dependencies != NULL)
*/
Statement
@@
expression X;
statement S;
@@
if (X == NULL) S => if (!X) S
Statement
@@
expression X;
statement S;
@@
if (X != NULL) S => if (X) S

21
coccinelle/take-fd.cocci Normal file
View File

@ -0,0 +1,21 @@
@@
local idexpression p;
expression q;
@@
- p = q;
- q = -1;
- return p;
+ return TAKE_FD(q);
/* The ideal solution would use 'local idexpression' to avoid matching errno,
* which is a global variable. However, 'idexpression' nor 'identifier'
* would match, for example, "x->fd", which is considered 'expression' in
* the SmPL grammar
*/
@@
expression p != errno;
expression q;
@@
- p = q;
- q = -1;
+ p = TAKE_FD(q);

14
coccinelle/take-ptr.cocci Normal file
View File

@ -0,0 +1,14 @@
@@
local idexpression p;
expression q;
@@
- p = q;
- q = NULL;
- return p;
+ return TAKE_PTR(q);
@@
expression p, q;
@@
- p = q;
- q = NULL;
+ p = TAKE_PTR(q);

View File

@ -0,0 +1,12 @@
@@
statement s;
@@
- while (true)
+ for (;;)
s
@@
statement s;
@@
- while (1)
+ for (;;)
s

View File

@ -0,0 +1,6 @@
@@
expression e, fmt;
expression list vaargs;
@@
- snprintf(e, sizeof(e), fmt, vaargs);
+ xsprintf(e, fmt, vaargs);

22
configure vendored Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -e
cflags=CFLAGS="$CFLAGS"
cxxflags=CXXFLAGS="$CXXFLAGS"
declare -a args
j=0
for i in "$@"; do
case "$i" in
CFLAGS=*)
cflags="$i";;
CXXFLAGS=*)
cxxflags="$i";;
*)
args[$j]="$i"
j=$((j+1))
esac
done
export "$cflags" "$cxxflags"
set -x
exec meson build "${args[@]}"

1
docs/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
_site

View File

@ -0,0 +1,209 @@
---
title: Automatic Boot Assessment
category: Booting
layout: default
---
# Automatic Boot Assessment
systemd provides support for automatically reverting back to the previous
version of the OS or kernel in case the system consistently fails to boot. This
support is built into various of its components. When used together these
components provide a complete solution on UEFI systems, built as add-on to the
[Boot Loader
Specification](https://systemd.io/BOOT_LOADER_SPECIFICATION). However, the
different components may also be used independently, and in combination with
other software, to implement similar schemes, for example with other boot
loaders or for non-UEFI systems. Here's a brief overview of the complete set of
components:
* The
[`systemd-boot(7)`](https://www.freedesktop.org/software/systemd/man/systemd-boot.html)
boot loader optionally maintains a per-boot-loader-entry counter that is
decreased by one on each attempt to boot the entry, prioritizing entries that
have non-zero counters over those which already reached a counter of zero
when choosing the entry to boot.
* The
[`systemd-bless-boot.service(8)`](https://www.freedesktop.org/software/systemd/man/systemd-bless-boot.service.html)
service automatically marks a boot loader entry, for which boot counting as
mentioned above is enabled, as "good" when a boot has been determined to be
successful, thus turning off boot counting for it.
* The
[`systemd-bless-boot-generator(8)`](https://www.freedesktop.org/software/systemd/man/systemd-bless-boot-generator.html)
generator automatically pulls in `systemd-bless-boot.service` when use of
`systemd-boot` with boot counting enabled is detected.
* The
[`systemd-boot-check-no-failures.service(8)`](https://www.freedesktop.org/software/systemd/man/systemd-boot-check-no-failures.service.html)
service is a simple health check tool that determines whether the boot
completed successfully. When enabled it becomes an indirect dependency of
`systemd-bless-boot.service` (by means of `boot-complete.target`, see
below), ensuring that the boot will not be considered successful if there are
any failed services.
* The `boot-complete.target` target unit (see
[`systemd.special(7)`](https://www.freedesktop.org/software/systemd/man/systemd.special.html))
serves as a generic extension point both for units that shall be considered
necessary to consider a boot successful on one side (example:
`systemd-boot-check-no-failures.service` as described above), and units that
want to act only if the boot is successful on the other (example:
`systemd-bless-boot.service` as described above).
* The
[`kernel-install(8)`](https://www.freedesktop.org/software/systemd/man/kernel-install.html)
script can optionally create boot loader entries that carry an initial boot
counter (the initial counter is configurable in `/etc/kernel/tries`).
## Details
The boot counting data `systemd-boot` and `systemd-bless-boot.service`
manage is stored in the name of the boot loader entries. If a boot loader entry
file name contains `+` followed by one or two numbers (if two numbers, then
those need to be separated by `-`) right before the `.conf` suffix, then boot
counting is enabled for it. The first number is the "tries left" counter
encoding how many attempts to boot this entry shall still be made. The second
number is the "tries done" counter, encoding how many failed attempts to boot
it have already been made. Each time a boot loader entry marked this way is
booted the first counter is decreased by one, and the second one increased by
one. (If the second counter is missing, then it is assumed to be equivalent to
zero.) If the "tries left" counter is above zero the entry is still considered
for booting (the entry's state is considered to be "indeterminate"), as soon as
it reached zero the entry is not tried anymore (entry state "bad"). If the boot
attempt completed successfully the entry's counters are removed from the name
(entry state "good"), thus turning off boot counting for the future.
## Walkthrough
Here's an example walkthrough of how this all fits together.
1. The user runs `echo 3 > /etc/kernel/tries` to enable boot counting.
2. A new kernel is installed. `kernel-install` is used to generate a new boot
loader entry file for it. Let's say the version string for the new kernel is
`4.14.11-300.fc27.x86_64`, a new boot loader entry
`/boot/loader/entries/4.14.11-300.fc27.x86_64+3.conf` is hence created.
3. The system is booted for the first time after the new kernel is
installed. The boot loader now sees the `+3` counter in the entry file
name. It hence renames the file to `4.14.11-300.fc27.x86_64+2-1.conf`
indicating that at this point one attempt has started and thus only one less
is left. After the rename completed the entry is booted as usual.
4. Let's say this attempt to boot fails. On the following boot the boot loader
will hence see the `+2-1` tag in the name, and hence rename the entry file to
`4.14.11-300.fc27.x86_64+1-2.conf`, and boot it.
5. Let's say the boot fails again. On the subsequent boot the loader hence will
see the `+1-2` tag, and rename the file to
`4.14.11-300.fc27.x86_64+0-3.conf` and boot it.
6. If this boot also fails, on the next boot the boot loader will see the
tag `+0-3`, i.e. the counter reached zero. At this point the entry will be
considered "bad", and ordered to the end of the list of entries. The next
newest boot entry is now tried, i.e. the system automatically reverted back
to an earlier version.
The above describes the walkthrough when the selected boot entry continuously
fails. Let's have a look at an alternative ending to this walkthrough. In this
scenario the first 4 steps are the same as above:
1. *as above*
2. *as above*
3. *as above*
4. *as above*
5. Let's say the second boot succeeds. The kernel initializes properly, systemd
is started and invokes all generators.
6. One of the generators started is `systemd-bless-boot-generator` which
detects that boot counting is used. It hence pulls
`systemd-bless-boot.service` into the initial transaction.
7. `systemd-bless-boot.service` is ordered after and `Requires=` the generic
`boot-complete.target` unit. This unit is hence also pulled into the initial
transaction.
8. The `boot-complete.target` unit is ordered after and pulls in various units
that are required to succeed for the boot process to be considered
successful. One such unit is `systemd-boot-check-no-failures.service`.
9. `systemd-boot-check-no-failures.service` is run after all its own
dependencies completed, and assesses that the boot completed
successfully. It hence exits cleanly.
10. This allows `boot-complete.target` to be reached. This signifies to the
system that this boot attempt shall be considered successful.
11. Which in turn permits `systemd-bless-boot.service` to run. It now
determines which boot loader entry file was used to boot the system, and
renames it dropping the counter tag. Thus
`4.14.11-300.fc27.x86_64+1-2.conf` is renamed to
`4.14.11-300.fc27.x86_64.conf`. From this moment boot counting is turned
off.
12. On the following boot (and all subsequent boots after that) the entry is
now seen with boot counting turned off, no further renaming takes place.
## How to adapt this scheme to other setups
Of the stack described above many components may be replaced or augmented. Here
are a couple of recommendations.
1. To support alternative boot loaders in place of `systemd-boot` two scenarios
are recommended:
a. Boot loaders already implementing the Boot Loader Specification can simply
implement an equivalent file rename based logic, and thus integrate fully
with the rest of the stack.
b. Boot loaders that want to implement boot counting and store the counters
elsewhere can provide their own replacements for
`systemd-bless-boot.service` and `systemd-bless-boot-generator`, but should
continue to use `boot-complete.target` and thus support any services
ordered before that.
2. To support additional components that shall succeed before the boot is
considered successful, simply place them in units (if they aren't already)
and order them before the generic `boot-complete.target` target unit,
combined with `Requires=` dependencies from the target, so that the target
cannot be reached when any of the units fail. You may add any number of
units like this, and only if they all succeed the boot entry is marked as
good. Note that the target unit shall pull in these boot checking units, not
the other way around.
3. To support additional components that shall only run on boot success, simply
wrap them in a unit and order them after `boot-complete.target`, pulling it
in.
## FAQ
1. *Why do you use file renames to store the counter? Why not a regular file?*
— Mainly two reasons: it's relatively likely that renames can be implemented
atomically even in simpler file systems, while writing to file contents has
a much bigger chance to be result in incomplete or corrupt data, as renaming
generally avoids allocating or releasing data blocks. Moreover it has the
benefit that the boot count metadata is directly attached to the boot loader
entry file, and thus the lifecycle of the metadata and the entry itself are
bound together. This means no additional clean-up needs to take place to
drop the boot loader counting information for an entry when it is removed.
2. *Why not use EFI variables for storing the boot counter?* — The memory chips
used to back the persistent EFI variables are generally not of the highest
quality, hence shouldn't be written to more than necessary. This means we
can't really use it for changes made regularly during boot, but can use it
only for seldom made configuration changes.
3. *I have a service which — when it fails — should immediately cause a
reboot. How does that fit in with the above?* — Well, that's orthogonal to
the above, please use `FailureAction=` in the unit file for this.
4. *Under some condition I want to mark the current boot loader entry as bad
right-away, so that it never is tried again, how do I do that?* — You may
invoke `/usr/lib/systemd/systemd-bless-boot bad` at any time to mark the
current boot loader entry as "bad" right-away so that it isn't tried again
on later boots.

View File

@ -0,0 +1,69 @@
---
title: Locking Block Device Access
category: Interfaces
layout: default
---
# Locking Block Device Access
*TL;DR: Use BSD file locks
[(`flock(2)`)](http://man7.org/linux/man-pages/man2/flock.2.html) on block
device nodes to synchronize access for partitioning and file system formatting
tools.*
`systemd-udevd` probes all block devices showing up for file system superblock
and partition table information (utilizing `libblkid`). If another program
concurrently modifies a superblock or partition table this probing might be
affected, which is bad in itself, but also might in turn result in undesired
effects in programs subscribing to `udev` events.
Applications manipulating a block device can temporarily stop `systemd-udevd`
from processing rules on it — and thus bar it from probing the device — by
taking a BSD file lock on the block device node. Specifically, whenever
`systemd-udevd` starts processing a block device it takes a `LOCK_SH|LOCK_NB`
lock using [`flock(2)`](http://man7.org/linux/man-pages/man2/flock.2.html) on
the main block device (i.e. never on any partition block device, but on the
device the partition belongs to). If this lock cannot be taken (i.e. `flock()`
returns `EBUSY`), it refrains from processing the device. If it manages to take
the lock it is kept for the entire time the device is processed.
Note that `systemd-udevd` also watches all block device nodes it manages for
`inotify()` `IN_CLOSE` events: whenever such an event is seen, this is used as
trigger to re-run the rule-set for the device.
These two concepts allow tools such as disk partitioners or file system
formatting tools to safely and easily take exclusive ownership of a block
device while operating: before starting work on the block device, they should
take an `LOCK_EX` lock on it. This has two effects: first of all, in case
`systemd-udevd` is still processing the device the tool will wait for it to
finish. Second, after the lock is taken, it can be sure that
`systemd-udevd` will refrain from processing the block device, and thus all
other client applications subscribed to it won't get device notifications from
potentially half-written data either. After the operation is complete the
partitioner/formatter can simply close the device node. This has two effects:
it implicitly releases the lock, so that `systemd-udevd` can process events on
the device node again. Secondly, it results an `IN_CLOSE` event, which causes
`systemd-udevd` to immediately re-process the device — seeing all changes the
tool made — and notify subscribed clients about it.
Besides synchronizing block device access between `systemd-udevd` and such
tools this scheme may also be used to synchronize access between those tools
themselves. However, do note that `flock()` locks are advisory only. This means
if one tool honours this scheme and another tool does not, they will of course
not be synchronized properly, and might interfere with each other's work.
Note that the file locks follow the usual access semantics of BSD locks: since
`systemd-udevd` never writes to such block devices it only takes a `LOCK_SH`
*shared* lock. A program intending to make changes to the block device should
take a `LOCK_EX` *exclusive* lock instead. For further details, see the
`flock(2)` man page.
And please keep in mind: BSD file locks (`flock()`) and POSIX file locks
(`lockf()`, `F_SETLK`, …) are different concepts, and in their effect
orthogonal. The scheme discussed above uses the former and not the latter,
because these types of locks more closely match the required semantics.
Summarizing: it is recommended to take `LOCK_EX` BSD file locks when
manipulating block devices in all tools that change file system block devices
(`mkfs`, `fsck`, …) or partition tables (`fdisk`, `parted`, …), right after
opening the node.

View File

@ -0,0 +1,152 @@
---
title: Boot Loader Interface
category: Booting
layout: default
---
# The Boot Loader Interface
systemd can interface with the boot loader to receive performance data and
other information, and pass control information. This is only supported on EFI
systems. Data is transferred between the boot loader and systemd in EFI
variables. All EFI variables use the vendor UUID
`4a67b082-0a4c-41cf-b6c7-440b29bb8c4f`.
* The EFI Variable `LoaderTimeInitUSec` contains the timestamp in microseconds
when the loader was initialized. This value is the time spent in the firmware
for initialization, it is formatted as numeric, NUL-terminated, decimal
string, in UTF-16.
* The EFI Variable `LoaderTimeExecUSec` contains the timestamp in microseconds
when the loader finished its work and is about to execute the kernel. The
time spent in the loader is the difference between `LoaderTimeExecUSec` and
`LoaderTimeInitUSec`. This value is formatted the same way as
`LoaderTimeInitUSec`.
* The EFI variable `LoaderDevicePartUUID` contains the partition GUID of the
ESP the boot loader was run from formatted as NUL-terminated UTF16 string, in
normal GUID syntax.
* The EFI variable `LoaderConfigTimeout` contains the boot menu timeout
currently in use. It may be modified both by the boot loader and by the
host. The value should be formatted as numeric, NUL-terminated, decimal
string, in UTF-16. The time is specified in µs.
* Similarly, the EFI variable `LoaderConfigTimeoutOneShot` contains a boot menu
timeout for a single following boot. It is set by the OS in order to request
display of the boot menu on the following boot. When set overrides
`LoaderConfigTimeout`. It is removed automatically after being read by the
boot loader, to ensure it only takes effect a single time. This value is
formatted the same way as `LoaderConfigTimeout`. If set to `0` the boot menu
timeout is turned off, and the menu is shown indefinitely.
* The EFI variable `LoaderEntries` may contain a series of boot loader entry
identifiers, one after the other, each individually NUL terminated. This may
be used to let the OS know which boot menu entries were discovered by the
boot loader. A boot loader entry identifier should be a short, non-empty
alphanumeric string (possibly containing `-`, too). The list should be in the
order the entries are shown on screen during boot. See below regarding a
recommended vocabulary for boot loader entry identifiers.
* The EFI variable `LoaderEntryDefault` contains the default boot loader entry
to use. It contains a NUL-terminated boot loader entry identifier.
* Similarly, the EFI variable `LoaderEntryOneShot` contains the default boot
loader entry to use for a single following boot. It is set by the OS in order
to request booting into a specific menu entry on the following boot. When set
overrides `LoaderEntryDefault`. It is removed automatically after being read
by the boot loader, to ensure it only takes effect a single time. This value
is formatted the same way as `LoaderEntryDefault`.
* The EFI variable `LoaderEntrySelected` contains the boot loader entry
identifier that was booted. It is set by the boot loader and read by
the OS in order to identify which entry has been used for the current boot.
* The EFI variable `LoaderFeatures` contains a 64bit unsigned integer with a
number of flags bits that are set by the boot loader and passed to the OS and
indicate the features the boot loader supports. Specifically, the following
bits are defined:
* `1 << 0` → The boot loader honours `LoaderConfigTimeout` when set.
* `1 << 1` → The boot loader honours `LoaderConfigTimeoutOneShot` when set.
* `1 << 2` → The boot loader honours `LoaderEntryDefault` when set.
* `1 << 3` → The boot loader honours `LoaderEntryOneShot` when set.
* `1 << 4` → The boot loader supports boot counting as described in [Automatic Boot Assessment](https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT).
* `1 << 5` → The boot loader supports looking for boot menu entries in the Extended Boot Loader Partition.
* `1 << 6` → The boot loader supports passing a random seed to the OS.
* The EFI variable `LoaderRandomSeed` contains a binary random seed if set. It
is set by the boot loader to pass an entropy seed read from the ESP partition
to the OS. The system manager then credits this seed to the kernel's entropy
pool. It is the responsibility of the boot loader to ensure the quality and
integrity of the random seed.
* The EFI variable `LoaderSystemToken` contains binary random data,
persistently set by the OS installer. Boot loaders that support passing
random seeds to the OS should use this data and combine it with the random
seed file read from the ESP. By combining this random data with the random
seed read off the disk before generating a seed to pass to the OS and a new
seed to store in the ESP the boot loader can protect itself from situations
where "golden" OS images that include a random seed are replicated and used
on multiple systems. Since the EFI variable storage is usually independent
(i.e. in physical NVRAM) of the ESP file system storage, and only the latter
is part of "golden" OS images, this ensures that different systems still come
up with different random seeds. Note that the `LoaderSystemToken` is
generally only written once, by the OS installer, and is usually not touched
after that.
If `LoaderTimeInitUSec` and `LoaderTimeExecUSec` are set, `systemd-analyze`
will include them in its boot-time analysis. If `LoaderDevicePartUUID` is set,
systemd will mount the ESP that was used for the boot to `/boot`, but only if
that directory is empty, and only if no other file systems are mounted
there. The `systemctl reboot --boot-loader-entry=…` and `systemctl reboot
--boot-loader-menu=…` commands rely on the `LoaderFeatures` ,
`LoaderConfigTimeoutOneShot`, `LoaderEntries`, `LoaderEntryOneShot`
variables. `LoaderRandomSeed` is read by PID during early boot and credited to
the kernel's random pool.
## Boot Loader Entry Identifiers
While boot loader entries may be named relatively freely, it's highly
recommended to follow the following rules when picking identifiers for the
entries, so that programs (and users) can derive basic context and meaning from
the identifiers as passed in `LoaderEntries`, `LoaderEntryDefault`,
`LoaderEntryOneShot`, `LoaderEntrySelected`, and possibly show nicely localized
names for them in UIs.
1. When boot loader entries are defined through [Boot Loader
Specification](https://systemd.io/BOOT_LOADER_SPECIFICATION) drop-in files
the identifier should be derived directly from the drop-in snippet name, but
with the `.conf` (or `.efi` in case of Type #2 entries) suffix removed.
2. Entries automatically discovered by the boot loader (as opposed to being
configured in configuration files) should generally have an identifier
prefixed with `auto-`.
3. Boot menu entries referring to Microsoft Windows installations should either
use the identifier `windows` or use the `windows-` prefix for the
identifier. If a menu entry is automatically discovered, it should be
prefixed with `auto-`, see above (Example: this means an automatically
discovered Windows installation might have the identifier `auto-windows` or
`auto-windows-10` or so.).
4. Similar, boot menu entries referring to Apple MacOS X installations should
use the identifier `osx` or one that is prefixed with `osx-`. If such an
entry is automatically discovered by the boot loader use `auto-osx` as
identifier, or `auto-osx-` as prefix for the identifier, see above.
5. If a boot menu entry encapsulates the EFI shell program, it should use the
identifier `efi-shell` (or when automatically discovered: `auto-efi-shell`,
see above).
6. If a boot menu entry encapsulates a reboot into EFI firmware setup feature,
it should use the identifier `reboot-to-firmware-setup` (or
`auto-reboot-to-firmware-setup` in case it is automatically discovered).
## Links
[Boot Loader Specification](https://systemd.io/BOOT_LOADER_INTERFACE)<br>
[Discoverable Partitions Specification](https://systemd.io/DISCOVERABLE_PARTITIONS)<br>
[systemd-boot(7)](https://www.freedesktop.org/software/systemd/man/systemd-boot.html)<br>
[bootctl(1)](https://www.freedesktop.org/software/systemd/man/bootctl.html)<br>
[systemd-gpt-auto-generator(8)](https://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html)

View File

@ -0,0 +1,242 @@
---
title: Boot Loader Specification
category: Booting
layout: default
---
# The Boot Loader Specification
_TL;DR: Currently there's no common boot scheme across architectures and
platforms for open-source operating systems. There's also little cooperation
between multiple distributions in dual-boot (or triple, … multi-boot)
setups. We'd like to improve this situation by getting everybody to commit to a
single boot configuration format that is based on drop-in files, and thus is
robust, simple, works without rewriting configuration files and is free of
namespace clashes._
The Boot Loader Specification defines a scheme how different operating systems
can cooperatively manage a boot loader configuration directory, that accepts
drop-in files for boot menu items that are defined in a format that is shared
between various boot loader implementations, operating systems, and userspace
programs. The same scheme can be used to prepare OS media for cases where the
firmware includes a boot loader. The target audience for this specification is:
* Boot loader developers, to write a boot loader that directly reads its configuration at runtime from these drop-in snippets
* Firmware developers, to add generic boot loading support directly to the firmware itself
* Distribution and Core OS developers, in order to create these snippets at OS/kernel package installation time
* UI developers, for implementing a user interface that discovers the available boot options
* OS Installer developers, to prepare their installation media and for setting up the initial drop-in directory
## Why is there a need for this specification?
Of course, without this specification things already work mostly fine. But here's why we think this specification is needed:
* To make the boot more robust, as no explicit rewriting of configuration files is required any more
* To allow an out of the box boot experience on any platform without the need of traditional firmware mechanisms (e.g. BIOS calls, UEFI Boot Services)
* To improve dual-boot scenarios. Currently, multiple Linux installations tend to fight over which boot loader becomes the primary one in possession of the MBR, and only that one installation can then update the boot loader configuration of it freely. Other Linux installs have to be manually configured to never touch the MBR and instead install a chain-loaded boot loader in their own partition headers. In this new scheme as all installations share a loader directory no manual configuration has to take place, and all participants implicitly cooperate due to removal of name collisions and can install/remove their own boot menu entries at free will, without interfering with the entries of other installed operating systems.
* Drop-in directories are otherwise now pretty ubiquitous on Linux as an easy way to extend configuration without having to edit, regenerate or manipulate configuration files. For the sake of uniformity, we should do the same for extending the boot menu.
* Userspace code can sanely parse boot loader configuration which is essential with modern BIOSes which do not necessarily initialize USB keyboards anymore during boot, which makes boot menus hard to reach for the user. If userspace code can parse the boot loader configuration, too, this allows for UIs that can select a boot menu item to boot into, before rebooting the machine, thus not requiring interactivity during early boot.
* To unify and thus simplify configuration of the various boot loaders around, which makes configuration of the boot loading process easier for users, administrators and developers alike.
* For boot loaders with configuration _scripts_ such as grub2, adopting this spec allows for mostly static scripts that are generated only once at first installation, but then do not need to be updated anymore as that is done via drop-in files exclusively.
## Why not simply rely on the EFI boot menu logic?
EFI is not ubiquitous, especially not in embedded systems. If you have an EFI
system, it provides a boot options logic that can offer similar
functionality. Here's why we think that it is not enough for our uses:
* The various EFI implementations implement the boot order/boot item logic to different levels. Some firmware implementations do not offer a boot menu at all and instead unconditionally follow the EFI boot order, booting the first item that is working.
* If the firmware setup is used to reset all data usually all EFI boot entries are lost, making the system entirely unbootable, as the firmware setups generally do not offer a UI to define additional boot items. By placing the menu item information on disk, it is always available, regardless if the BIOS setup data is lost.
* Harddisk images should be moveable between machines and be bootable without requiring explicit EFI variables to be set. This also requires that the list of boot options is defined on disk, and not in EFI variables alone.
* EFI is not universal yet (especially on non-x86 platforms), this specification is useful both for EFI and non-EFI boot loaders.
* Many EFI systems disable USB support during early boot to optimize boot times, thus making keyboard input unavailable in the EFI menu. It is thus useful if the OS UI has a standardized way to discover available boot options which can be booted to.
## Technical Details
Everything described below is located on a placeholder file system `$BOOT`. The installer program should pick `$BOOT` according to the following rules:
* On disks with an MBR partition table:
* If the OS is installed on a disk with an MBR partition table, and a partition with the type id of 0xEA already exists it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with an MBR partition table, a new partition with type id of 0xEA shall be created, of a suitable size (let's say 500MB), and it should be used as `$BOOT`.
* On disks with GPT (GUID Partition Table)
* If the OS is installed on a disk with GPT, and an Extended Boot Loader Partition or XBOOTLDR partition for short, i.e. a partition with GPT type GUID of `bc13c2ff-59e6-4262-a352-b275fd6f7172`, already exists, it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT, and an EFI System Partition or ESP for short, i.e. a partition with GPT type UID of `c12a7328-f81f-11d2-ba4b-00a0c93ec93b`) already exists and is large enough (let's say 250MB) and otherwise qualifies, it should be used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT, and if the ESP partition already exists but is too small, a new suitably sized (let's say 500MB) XBOOTLDR partition shall be created and used as `$BOOT`.
* Otherwise, if the OS is installed on a disk with GPT, and no ESP partition exists yet, a new suitably sized (let's say 500MB) ESP should be created and used as `$BOOT`.
This placeholder file system shall be determined during _installation time_, and an fstab entry may be created. It should be mounted to either `/boot/` or `/efi/`. Additional locations like `/boot/efi/`, with `/boot/` being a separate file system, might be supported by implementations. This is not recommended because the mounting of `$BOOT` is then dependent on and requires the mounting of the intermediate file system.
**Note:** _`$BOOT` should be considered **shared** among all OS installations of a system. Instead of maintaining one `$BOOT` per installed OS (as `/boot/` was traditionally handled), all installed OS share the same place to drop in their boot-time configuration._
For systems where the firmware is able to read file systems directly, `$BOOT`
must be a file system readable by the firmware. For other systems and generic
installation and live media, `$BOOT` must be a VFAT (16 or 32) file
system. Applications accessing `$BOOT` should hence not assume that fancier
file system features such as symlinks, hardlinks, access control or case
sensitivity are supported.
This specification defines two types of boot loader entries. The first type is
text based, very simple and suitable for a variety of firmware, architecture
and image types ("Type #1"). The second type is specific to EFI, but allows
single-file images that embed all metadata in the kernel binary itself, which
is useful to cryptographically sign them as one file for the purpose of
SecureBoot ("Type #2").
Not all boot loader entries will apply to all systems. For example, Type #1
entries that use the `efi` key and all Type #2 entries only apply to EFI
systems. Entries using the `architecture` key might specify an architecture that
doesn't match the local one. Boot loaders should ignore all entries that don't
match the local platform and what the boot loader can support, and hide them
from the user. Only entries matching the feature set of boot loader and system
shall be considered and displayed. This allows image builders to put together
images that transparently support multiple different architectures.
Note that the `$BOOT` partition is not supposed to be exclusive territory of
this specification. This specification only defines semantics of the `/loader/`
directory inside the file system (see below), but it doesn't intend to define
ownership of the whole file system exclusively. Boot loaders, firmware, and
other software implementating this specification may choose to place other
files and directories in the same file system. For example, boot loaders that
implement this specification might install their own boot code into the `$BOOT`
partition. On systems where `$BOOT` is the ESP this is a particularly common
setup. Implementations of this specification must be able to operate correctly
if files or directories other than `/loader/` are found in the top level
directory. Implementations that add their own files or directories to the file
systems should use well-named directories, to make name collisions between
multiple users of the file system unlikely.
### Type #1 Boot Loader Specification Entries
We define two directories below `$BOOT`:
* `$BOOT/loader/` is the directory containing all files needed for Type #1 entries
* `$BOOT/loader/entries/` is the directory containing the drop-in snippets. This directory contains one `.conf` file for each boot menu item.
**Note:** _In all cases the `/loader/` directory should be located directly in the root of the file system. Specifically, if `$BOOT` is the ESP, then `/loader/` directory should be located directly in the root directory of the ESP, and not in the `/EFI/` subdirectory._
Inside the `$BOOT/loader/entries/` directory each OS vendor may drop one or more configuration snippets with the suffix ".conf", one for each boot menu item. The file name of the file is used for identification of the boot item but shall never be presented to the user in the UI. The file name may be chosen freely but should be unique enough to avoid clashes between OS installations. More specifically it is suggested to include the machine ID (`/etc/machine-id` or the D-Bus machine ID for OSes that lack `/etc/machine-id`), the kernel version (as returned by `uname -r`) and an OS identifier (The ID field of `/etc/os-release`). Example: `$BOOT/loader/entries/6a9857a393724b7a981ebb5b8495b9ea-3.8.0-2.fc19.x86_64.conf`.
These configuration snippets shall be Unix-style text files (i.e. line separation with a single newline character), in the UTF-8 encoding. The configuration snippets are loosely inspired on Grub1's configuration syntax. Lines beginning with '#' shall be ignored and used for commenting. The first word of a line is used as key and shall be separated by one or more spaces from its value. The following keys are known:
* `title` shall contain a human readable title string for this menu item. This will be displayed in the boot menu for the item. It is a good idea to initialize this from the `PRETTY_NAME` of `/etc/os-release`. This name should be descriptive and does not have to be unique. If a boot loader discovers two entries with the same title it is a good idea to show more than just the raw title in the UI, for example by appending the `version` field. This field is optional. Example: "Fedora 18 (Spherical Cow)".
* `version` shall contain a human readable version string for this menu item. This is usually the kernel version and is intended for use by OSes to install multiple kernel versions at the same time with the same `title` field. This field shall be in a syntax that is useful for Debian-style version sorts, so that the boot loader UI can determine the newest version easily and show it first or preselect it automatically. This field is optional. Example: `3.7.2-201.fc18.x86_64`.
* `machine-id` shall contain the machine ID of the OS `/etc/machine-id`. This is useful for boot loaders and applications to filter out boot entries, for example to show only a single newest kernel per OS, or to group items by OS, or to maybe filter out the currently booted OS in UIs that want to show only other installed operating systems. This ID shall be formatted as 32 lower case hexadecimal characters (i.e. without any UUID formatting). This key is optional. Example: `4098b3f648d74c13b1f04ccfba7798e8`.
* `linux` refers to the Linux kernel to spawn and shall be a path relative to the `$BOOT` directory. It is recommended that every distribution creates a machine id and version specific subdirectory below `$BOOT` and places its kernels and initial RAM disk images there. Example: `/6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/linux`.
* `initrd` refers to the initrd to use when executing the kernel. This also shall be a path relative to the `$BOOT` directory. This key is optional. This key may appear more than once in which case all specified images are used, in the order they are listed. Example: `6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/initrd`.
* `efi` refers to an arbitrary EFI program. This also takes a path relative to `$BOOT`. If this key is set, and the system is not an EFI system this entry should be hidden.
* `options` shall contain kernel parameters to pass to the Linux kernel to spawn. This key is optional and may appear more than once in which case all specified parameters are used in the order they are listed.
* `devicetree` refers to the binary device tree to use when executing the
kernel. This also shall be a path relative to the `$BOOT` directory. This
key is optional. Example: `6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.armv7hl/tegra20-paz00.dtb`.
* `devicetree-overlay` refers to a list of device tree overlays that should be
applied by the boot loader. Multiple overlays are separated by spaces and
applied in the same order as they are listed. This key is optional but depends
on the `devicetree` key. Example:
`/6a9857a393724b7a981ebb5b8495b9ea/overlays/overlay_A.dtbo
/6a9857a393724b7a981ebb5b8495b9ea/overlays/overlay_B.dtbo`
* `architecture` refers to the architecture this entry is defined for. The argument should be an architecture identifier, using the architecture vocabulary defined by the EFI specification (i.e. `IA32`, `x64`, `IA64`, `ARM`, `AA64`, …). If specified and this does not match (case insensitively) the local system architecture this entry should be hidden.
Each configuration drop-in snippet must include at least a `linux` or an `efi` key and is otherwise not valid. Here's an example for a complete drop-in file:
# /boot/loader/entries/6a9857a393724b7a981ebb5b8495b9ea-3.8.0-2.fc19.x86_64.conf
title Fedora 19 (Rawhide)
version 3.8.0-2.fc19.x86_64
machine-id 6a9857a393724b7a981ebb5b8495b9ea
options root=UUID=6d3376e4-fc93-4509-95ec-a21d68011da2
architecture x64
linux /6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/linux
initrd /6a9857a393724b7a981ebb5b8495b9ea/3.8.0-2.fc19.x86_64/initrd
On EFI systems all Linux kernel images should be EFI images. In order to
increase compatibility with EFI systems it is highly recommended only to
install EFI kernel images, even on non-EFI systems, if that's applicable and
supported on the specific architecture.
Conversely, in order to increase compatibility it is recommended to install
generic kernel images that make few assumptions about the firmware they run on,
i.e. it is a good idea that both images shipped as UEFI PE images and those
which are not don't make unnecessary assumption on the underlying firmware,
i.e. don't hard depend on legacy BIOS calls or UEFI boot services.
Note that these configuration snippets may only reference kernels (and EFI programs) that reside on the same file system as the configuration snippets, i.e. everything referenced must be contained in the same file system. This is by design, as referencing other partitions or devices would require a non-trivial language for denoting device paths. If kernels/initrds are to be read from other partitions/disks the boot loader can do this in its own native configuration, using its own specific device path language, and this is out of focus for this specification. More specifically, on non-EFI systems configuration snippets following this specification cannot be used to spawn other operating systems (such as Windows).
### Type #2 EFI Unified Kernel Images
A unified kernel image is a single EFI PE executable combining an EFI stub
loader, a kernel image, an initramfs image, and the kernel command line. See
the description of the `--uefi` option in
[dracut(8)](http://man7.org/linux/man-pages/man8/dracut.8.html). Such unified
images will be searched for under `$BOOT/EFI/Linux/` and must have the
extension `.efi`. Support for images of this type is of course specific to
systems with EFI firmware. Ignore this section if you work on systems not
supporting EFI.
Images of this type have the advantage that all metadata and payload that makes
up the boot entry is monopolized in a single PE file that can be signed
cryptographically as one for the purpose of EFI SecureBoot.
A valid unified kernel image must contain two PE sections:
* `.cmdline` section with the kernel command line
* `.osrel` section with an embedded copy of the [os-release](https://www.freedesktop.org/software/systemd/man/os-release.html) file describing the image
The `PRETTY_NAME=` and `VERSION_ID=` fields in the embedded os-release file are used the same as `title` and `version` in the "boot loader specification" entries. The `.cmdline` section is used instead of the `options` field. `linux` and `initrd` fields are not necessary, and there is no counterpart for the `machine-id` field.
On EFI, any such images shall be added to the list of valid boot entries.
### Additional notes
Note that these configurations snippets do not need to be the only configuration source for a boot loader. It may extend this list of entries with additional items from other configuration files (for example its own native configuration files) or automatically detected other entries without explicit configuration.
To make this explicitly clear: this specification is designed with "free" operating systems in mind, starting Windows or MacOS is out of focus with these configuration snippets, use boot-loader specific solutions for that. In the text above, if we say "OS" we hence imply "free", i.e. primarily Linux (though this could be easily be extended to the BSDs and whatnot).
Note that all paths used in the configuration snippets use a Unix-style "/" as path separator. This needs to be converted to an EFI-style "\" separator in EFI boot loaders.
## Logic
A _boot loader_ needs a file system driver to discover and read `$BOOT`, then
simply reads all files `$BOOT/loader/entries/*.conf`, and populates its boot
menu with this. On EFI, it then extends this with any unified kernel images
found in `$BOOT/EFI/Linux/*.efi`. It may also add additional entries, for
example a "Reboot into firmware" option. Optionally it may sort the menu based
on the `machine-id` and `version` fields, and possibly others. It uses the file
name to identify specific items, for example in case it supports storing away
default entry information somewhere. A boot loader should generally not modify
these files.
For "Boot Loader Specification Entries" (Type #1), the _kernel package
installer_ installs the kernel and initrd images to `$BOOT` (it is recommended
to place these files in a vendor and OS and installation specific directory)
and then generates a configuration snippet for it, placing this in
`$BOOT/loader/entries/xyz.conf`, with xyz as concatenation of machine id and
version information (see above). The files created by a kernel package are
private property of the kernel package and should be removed along with it.
For "EFI Unified Kernel Images" (Type #2), the vendor or kernel package
installer creates the combined image and drops it into `$BOOT/EFI/Linux/`. This
file is also private property of the kernel package and should be removed along
with it.
A _UI application_ intended to show available boot options shall operate similar to a boot loader, but might apply additional filters, for example by filtering out the booted OS via the machine ID, or by suppressing all but the newest kernel versions.
An _OS installer_ picks the right place for `$BOOT` as defined above (possibly creating a partition and file system for it) and pre-creates the `/loader/entries/` directory in it. It then installs an appropriate boot loader that can read these snippets. Finally, it installs one or more kernel packages.
## Out of Focus
There are a couple of items that are out of focus for this specification:
* If userspace can figure out the available boot options, then this is only useful so much: we'd still need to come up with a way how userspace could communicate to the boot loader the default boot loader entry temporarily or persistently. Defining a common scheme for this is certainly a good idea, but out of focus for this specification.
* This specification is just about "Free" Operating systems. Hooking in other operating systems (like Windows and macOS) into the boot menu is a different story and should probably happen outside of this specification. For example, boot loaders might choose to detect other available OSes dynamically at runtime without explicit configuration (like `systemd-boot` does it), or via native configuration (for example via explicit Grub2 configuration generated once at installation).
* This specification leaves undefined what to do about systems which are upgraded from an OS that does not implement this specification. As the previous boot loader logic was largely handled by in distribution-specific ways we probably should leave the upgrade path (and whether there actually is one) to the distributions. The simplest solution might be to simply continue with the old scheme for old installations and use this new scheme only for new installations.
## Links
[GUID Partition Table](https://en.wikipedia.org/wiki/GUID_Partition_Table)<br>
[Boot Loader Interface](https://systemd.io/BOOT_LOADER_INTERFACE)<br>
[Discoverable Partitions Specification](https://systemd.io/DISCOVERABLE_PARTITIONS)<br>
[systemd-boot(7)](https://www.freedesktop.org/software/systemd/man/systemd-boot.html)<br>
[bootctl(1)](https://www.freedesktop.org/software/systemd/man/bootctl.html)<br>
[systemd-gpt-auto-generator(8)](https://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html)

Some files were not shown because too many files have changed in this diff Show More