# German translation of the manpages in the dpkg package
# This file is distributed under the same license as the dpkg package.
# (C) Helge Kreutzmann <debian@helgefjell.de>, 2004, 2006-2011.
# (C) Florian Rehnisch <eixman@gmx.de>, 2007.
# (C) Sven Joachim <svenjoac@gmx.de>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg man pages\n"
"POT-Creation-Date: 2011-10-14 07:11+0300\n"
"PO-Revision-Date: 2011-09-18 09:42+0200\n"
"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
"Language-Team: de <debian-l10n-german@lists.debian.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: TH
#: deb.5:1
#, no-wrap
msgid "deb"
msgstr "deb"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-version.5:5 deb-old.5:1
#: deb-override.5:15 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1
#: dpkg-architecture.1:1 dpkg-buildpackage.1:1 dpkg-deb.1:1 dpkg-divert.8:1
#: dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2
#: dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-name.1:6
#: dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-trigger.1:1
#: dselect.1:1 update-alternatives.8:8
#, no-wrap
msgid "2011-08-14"
msgstr "2011-08-14"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5
#: deb-old.5:1 deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16
#: deb-substvars.5:2 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1
#: dpkg-architecture.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1
#: dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1
#: dpkg-deb.1:1 dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1
#: dpkg-gensymbols.1:2 dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1
#: dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2
#: dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.1:1 dselect.cfg.5:1
#: start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "Debian Project"
msgstr "Debian-Projekt"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5
#: deb-old.5:1 dselect.1:1
#, no-wrap
msgid "Debian"
msgstr "Debian"

#. type: SH
#: deb.5:2 deb-control.5:4 deb-src-control.5:4 deb-split.5:2 deb-version.5:6
#: deb-old.5:2 deb-override.5:16 deb-extra-override.5:2 deb-shlibs.5:17
#: deb-substvars.5:3 deb-symbols.5:3 deb-triggers.5:2 dpkg.1:2
#: dpkg-architecture.1:2 dpkg.cfg.5:2 dpkg-buildflags.1:2
#: dpkg-buildpackage.1:2 dpkg-checkbuilddeps.1:2 dpkg-distaddfile.1:2
#: dpkg-deb.1:2 dpkg-divert.8:2 dpkg-genchanges.1:2 dpkg-gencontrol.1:2
#: dpkg-gensymbols.1:3 dpkg-maintscript-helper.1:2 dpkg-mergechangelogs.1:2
#: dpkg-name.1:7 dpkg-parsechangelog.1:2 dpkg-query.1:2 dpkg-scanpackages.1:16
#: dpkg-scansources.1:2 dpkg-shlibdeps.1:2 dpkg-source.1:3 dpkg-split.1:3
#: dpkg-statoverride.8:2 dpkg-trigger.1:2 dpkg-vendor.1:2 dselect.1:2
#: dselect.cfg.5:2 start-stop-daemon.8:2 update-alternatives.8:9
#, no-wrap
msgid "NAME"
msgstr "NAME"

#. type: Plain text
#: deb.5:4
msgid "deb - Debian binary package format"
msgstr "deb - Debian-Binärpaketformat"

#. type: SH
#: deb.5:4 deb-control.5:7 deb-src-control.5:7 deb-split.5:4 deb-version.5:9
#: deb-old.5:5 deb-override.5:19 deb-extra-override.5:5 deb-substvars.5:6
#: deb-symbols.5:6 deb-triggers.5:5 dpkg.1:5 dpkg-architecture.1:5
#: dpkg-buildflags.1:5 dpkg-buildpackage.1:5 dpkg-checkbuilddeps.1:5
#: dpkg-distaddfile.1:5 dpkg-deb.1:5 dpkg-divert.8:5 dpkg-genchanges.1:5
#: dpkg-gencontrol.1:5 dpkg-gensymbols.1:6 dpkg-maintscript-helper.1:5
#: dpkg-mergechangelogs.1:5 dpkg-name.1:10 dpkg-parsechangelog.1:5
#: dpkg-query.1:5 dpkg-scanpackages.1:19 dpkg-scansources.1:5
#: dpkg-shlibdeps.1:5 dpkg-source.1:6 dpkg-split.1:6 dpkg-statoverride.8:5
#: dpkg-trigger.1:5 dpkg-vendor.1:5 dselect.1:5 start-stop-daemon.8:5
#: update-alternatives.8:12
#, no-wrap
msgid "SYNOPSIS"
msgstr "ÜBERSICHT"

#. type: Plain text
#: deb.5:6 deb-split.5:6 deb-old.5:7
msgid "I<filename>B<.deb>"
msgstr "I<Dateiname>B<.deb>"

#. type: SH
#: deb.5:6 deb-control.5:10 deb-src-control.5:10 deb-split.5:6
#: deb-version.5:11 deb-old.5:8 deb-override.5:22 deb-extra-override.5:8
#: deb-shlibs.5:20 deb-substvars.5:9 deb-symbols.5:9 deb-triggers.5:8
#: dpkg.1:19 dpkg-architecture.1:10 dpkg.cfg.5:5 dpkg-buildflags.1:9
#: dpkg-buildpackage.1:9 dpkg-checkbuilddeps.1:10 dpkg-distaddfile.1:9
#: dpkg-deb.1:9 dpkg-divert.8:10 dpkg-genchanges.1:10 dpkg-gencontrol.1:9
#: dpkg-gensymbols.1:10 dpkg-maintscript-helper.1:15 dpkg-mergechangelogs.1:9
#: dpkg-name.1:16 dpkg-parsechangelog.1:9 dpkg-query.1:9
#: dpkg-scanpackages.1:27 dpkg-scansources.1:13 dpkg-shlibdeps.1:9
#: dpkg-source.1:10 dpkg-split.1:10 dpkg-statoverride.8:9 dpkg-trigger.1:12
#: dpkg-vendor.1:9 dselect.1:9 dselect.cfg.5:5 start-stop-daemon.8:9
#: update-alternatives.8:16
#, no-wrap
msgid "DESCRIPTION"
msgstr "BESCHREIBUNG"

#. type: Plain text
#: deb.5:12
msgid ""
"The B<.deb> format is the Debian binary package file format. It is "
"understood by dpkg 0.93.76 and later, and is generated by default by all "
"versions of dpkg since 1.2.0 and all i386/ELF versions since 1.1.1elf."
msgstr ""
"Das B<.deb>-Format ist das Debian-Binärpaketdateiformat. Es wird von dpkg "
"0.93.76 und neuer verstanden, und wird standardmäßig von allen dpkg-"
"Versionen seit 1.2.0 und allen i386/ELF-Versionen seit 1.1.1elf erzeugt."

#. type: Plain text
#: deb.5:16
msgid ""
"The format described here is used since Debian 0.93; details of the old "
"format are described in B<deb-old>(5)."
msgstr ""
"Das hier beschriebene Format wird seit Debian 0.93 verwendet; Details über "
"das alte Format sind in B<deb-old>(5) beschrieben."

#. type: SH
#: deb.5:16 deb-split.5:9 deb-old.5:18
#, no-wrap
msgid "FORMAT"
msgstr "FORMAT"

#. type: Plain text
#: deb.5:22
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash."
msgstr ""
"Die Datei ist ein B<ar>-Archiv mit einer magischen Zahl von B<!"
"E<lt>archE<gt>>. Der Dateiname kann mit einem Schrägstrich abschließen."

#. type: Plain text
#: deb.5:28
msgid ""
"The B<tar> archives currently allowed are, the old-style (v7) format, the "
"pre-POSIX ustar format, a subset of the GNU format (only the new style long "
"pathnames and long linknames, supported since dpkg 1.4.1.17), and the POSIX "
"ustar format (long names supported since dpkg 1.15.0).  Unrecognized tar "
"typeflags are considered an error."
msgstr ""
"Derzeit werden die folgenden B<tar>-Archive erlaubt: alter Stil (V7-)Format, "
"pre-POSIX-ustar-Format, eine Teilmenge des GNU-Formats (nur der neue Stil "
"mit langen Pfadnamen und langen Linknamen, unterstützt seit Dpkg 1.4.1.17) "
"und das POSIX-ustar-Format (lange Namen seit Dpkg 1.15.0 unterstützt). "
"Unbekannte Tar-Typeinstellungen werden als Fehler betrachtet."

#. type: Plain text
#: deb.5:38
msgid ""
"The first member is named B<debian-binary> and contains a series of lines, "
"separated by newlines. Currently only one line is present, the format "
"version number, B<2.0> at the time this manual page was written.  Programs "
"which read new-format archives should be prepared for the minor number to be "
"increased and new lines to be present, and should ignore these if this is "
"the case."
msgstr ""
"Das erste Mitglied heißt B<debian-binary> und enthält eine Reihe von Zeilen, "
"die durch Zeilenumbrüche getrennt sind. Derzeit ist nur eine Zeile "
"vorhanden, die Versionsnummer, B<2.0> zum Zeitpunkt zu dem diese "
"Handbuchseite geschrieben wurde. Programme, die Archive im neuen Format "
"lesen, sollten darauf vorbereitet sein, dass sich die Nachkommazahl erhöht "
"und neue Zeilen vorhanden sein können, und sollten diese ignorieren, falls "
"dies der Fall ist."

#. type: Plain text
#: deb.5:43
msgid ""
"If the major number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""
"Falls sich die Vorkommazahl geändert hat, wurde eine inkompatible Änderung "
"durchgeführt und das Programm sollte sich beenden. Falls dies nicht der Fall "
"ist, dann sollte das Programm sicher fortfahren können, es sei denn, ein "
"unerwartetes Mitglied ist im Archiv (abgesehen vom Ende) gefunden worden, "
"wie unten beschrieben."

#. type: Plain text
#: deb.5:53
msgid ""
"The second required member is named B<control.tar.gz>.  It is a gzipped tar "
"archive containing the package control information, as a series of plain "
"files, of which the file B<control> is mandatory and contains the core "
"control information. The control tarball may optionally contain an entry for "
"`B<.>', the current directory."
msgstr ""
"Das zweite erforderliche Mitglied heißt B<control.tar.gz>. Es ist ein "
"gezipptes Tar-Archiv, das die Steuerinformationen als eine Reihe von "
"normalen Dateien enthält, von denen die Datei B<control> zwingend "
"erforderlich ist und die Kern-Steuerinformationen enthält. Der Steuer-"
"Tarball kann optional einen Eintrag für »B<.>«, das aktuelle Verzeichnis, "
"enthalten."

#. type: Plain text
#: deb.5:62
msgid ""
"The third, last required member is named B<data.tar>.  It contains the "
"filesystem as a tar archive, either not compressed (supported since dpkg "
"1.10.24), or compressed with gzip (with B<.gz> extension), xz (with B<.xz> "
"extension, supported since dpkg 1.15.6), bzip2 (with B<.bz2> extension, "
"supported since dpkg 1.10.24) or lzma (with B<.lzma> extension, supported "
"since dpkg 1.13.25)."
msgstr ""
"Das dritte, letzte zwingend benötigte Mitglied heißt B<data.tar>. Es enthält "
"das Dateisystem als Tar-Archiv, entweder unkomprimiert (seit Dpkg 1.10.24 "
"unterstützt) oder mit gzip (Dateiendung B<.gz>), xz (Dateiendung B<.xz> seit "
"Dpkg 1.15.6 unterstützt),bzip2 (Dateiendung B<.bz2>, seit Dpkg 1.10.24 "
"unterstützt) oder lzma (Dateiendung B<.lzma>, seit Dpkg 1.13.25 unterstützt) "
"komprimiert."

#. type: Plain text
#: deb.5:73
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.tar>.  Further members may be "
"defined in the future, and (if possible) will be placed after these three. "
"Any additional members that may need to be inserted before B<data.tar> and "
"which should be safely ignored by older programs, will have names starting "
"with an underscore, `B<_>'."
msgstr ""
"Diese Mitglieder müssen in genau dieser Reihenfolge auftauchen. Aktuelle "
"Implementationen sollten zusätzliche Mitglieder nach B<data.tar> ignorieren. "
"Weitere Mitglieder könnten in der Zukunft definiert werden und werden (falls "
"möglich) nach diesen drei platziert. Alle zusätzlichen Mitglieder, die vor "
"B<data.tar> eingefügt werden könnten und die problemlos von älteren "
"Programmen ignoriert werden sollten, werden Namen haben, die mit einem "
"Unterstrich »B<_>« anfangen."

#. type: Plain text
#: deb.5:79
msgid ""
"Those new members which won't be able to be safely ignored will be inserted "
"before B<data.tar> with names starting with something other than "
"underscores, or will (more likely) cause the major version number to be "
"increased."
msgstr ""
"Solche neuen Mitglieder, die nicht problemlos ignoriert werden können, "
"werden vor B<data.tar> mit Namen, die nicht mit einem Unterstrich anfangen, "
"eingefügt oder werden (wahrscheinlicher) dazu führen, dass die "
"Hauptversionsnummer erhöht wird."

#. type: SH
#: deb.5:79 deb-control.5:271 deb-src-control.5:327 deb-split.5:49
#: deb-version.5:116 deb-old.5:51 deb-override.5:62 deb-extra-override.5:37
#: deb-shlibs.5:61 deb-substvars.5:154 deb-symbols.5:61 deb-triggers.5:67
#: dpkg.1:768 dpkg-architecture.1:299 dpkg.cfg.5:23 dpkg-buildpackage.1:249
#: dpkg-deb.1:259 dpkg-divert.8:132 dpkg-gensymbols.1:450 dpkg-name.1:96
#: dpkg-query.1:220 dpkg-scanpackages.1:110 dpkg-scansources.1:71
#: dpkg-shlibdeps.1:324 dpkg-source.1:725 dpkg-split.1:217
#: dpkg-statoverride.8:84 dpkg-trigger.1:66 dselect.1:445 dselect.cfg.5:23
#: update-alternatives.8:508
#, no-wrap
msgid "SEE ALSO"
msgstr "SIEHE AUCH"

#. type: Plain text
#: deb.5:82
msgid "B<deb-old>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr "B<deb-old>(5), B<dpkg-deb>(1), B<deb-control>(5)."

#. type: TH
#: deb-control.5:3
#, no-wrap
msgid "deb-control"
msgstr "deb-control"

#. type: Plain text
#: deb-control.5:6
msgid "deb-control - Debian packages' master control file format"
msgstr "deb-control - Dateiformat der Hauptsteuerdatei von Debian-Paketen"

#. type: Plain text
#: deb-control.5:9 deb-src-control.5:9
msgid "control"
msgstr "control"

#. type: Plain text
#: deb-control.5:24
msgid ""
"Each Debian package contains the master `control' file, which contains a "
"number of fields, or comments when the line starts with B<'#'>. Each field "
"begins with a tag, such as B<Package> or B<Version> (case insensitive), "
"followed by a colon, and the body of the field.  Fields are delimited only "
"by field tags. In other words, field text may be multiple lines in length, "
"but the installation tools will generally join lines when processing the "
"body of the field (except in the case of the B<Description> field, see "
"below)."
msgstr ""
"Jedes Debian-Paket enthält die Hauptsteuerdatei »control«, die eine Reihe "
"von Feldern oder Kommentaren (wenn die Zeile mit B<»#«> beginnt) enthält. "
"Jedes Feld beginnt mit einer Markierung, wie B<Package> oder B<Version> "
"(Groß-/Kleinschreibung egal), gefolgt von einem Doppelpunkt und dem Körper "
"des Feldes. Felder werden nur durch die Feldmarkierungen abgegrenzt. Mit "
"anderen Worten, Feldtexte können mehrere Zeilen überspannen, aber die "
"Installationswerkzeuge werden im Allgemeinen die Zeilen bei der Verarbeitung "
"des Feldkörpers zusammenfassen (mit Ausnahme des B<Description>-Feldes, "
"sehen Sie dazu unten)."

#. type: SH
#: deb-control.5:25
#, no-wrap
msgid "REQUIRED FIELDS"
msgstr "NOTWENDIGE FELDER"

#. type: TP
#: deb-control.5:26
#, no-wrap
msgid "B<Package:>I< package-name>"
msgstr "B<Package:>I< Paketname>"

#. type: Plain text
#: deb-control.5:30
msgid ""
"The value of this field determines the package name, and is used to generate "
"file names by most installation tools."
msgstr ""
"Der Wert dieses Feldes bestimmt den Paketnamen und wird von den meisten "
"Installationswerkzeugen verwendet, um Dateinamen zu erstellen."

#. type: TP
#: deb-control.5:30
#, no-wrap
msgid "B<Version:>I< version-string>"
msgstr "B<Version:>I< Versions-Zeichenkette>"

#. type: Plain text
#: deb-control.5:37
msgid ""
"Typically, this is the original package's version number in whatever form "
"the program's author uses. It may also include a Debian revision number (for "
"non-native packages). The exact format and sorting algorithm are described "
"in B<deb-version>(5)."
msgstr ""
"Typischerweise ist das die Original-Paketversionsnummer, in der Form, die "
"der Programmautor verwendet. Es kann auch eine Debian-Revisionsnummer "
"enthalten (für nicht aus Debian stammende Pakete). Das genaue Format und der "
"Sortieralgorithmus sind in B<deb-version>(5) beschrieben."

#. type: TP
#: deb-control.5:37
#, no-wrap
msgid "B<Maintainer:>I< fullname-email>"
msgstr "B<Maintainer:>I< Vollständiger-Name-und-E-Mail>"

#. type: Plain text
#: deb-control.5:42
msgid ""
"Should be in the format `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', and is "
"typically the person who created the package, as opposed to the author of "
"the software that was packaged."
msgstr ""
"Sollte in dem Format »Joe Bloggs E<lt>jbloggs@foo.comE<gt>« sein und ist "
"typischerweise die Person, die das Paket erstellt hat, im Gegensatz zum "
"Autor der Software, die paketiert wurde."

#. type: TP
#: deb-control.5:42
#, no-wrap
msgid "B<Description:>I< short-description>"
msgstr "B<Description:>I< Kurzbeschreibung>"

#. type: Plain text
#: deb-control.5:45
msgid "B< >I<long-description>"
msgstr "B< >I<Langbeschreibung>"

#. type: Plain text
#: deb-control.5:51
msgid ""
"The format for the package description is a short brief summary on the first "
"line (after the \"Description\" field). The following lines should be used "
"as a longer, more detailed description. Each line of the long description "
"must be preceded by a space, and blank lines in the long description must "
"contain a single '.' following the preceding space."
msgstr ""
"Das Format der Paketbeschreibung ist eine kurze knappe Zusammenfassung auf "
"der ersten Zeile (nach dem »Description«-Feld). Die folgenden Zeilen sollten "
"als längere, detailliertere Beschreibung verwendet werden. Jede Zeile der "
"Langbeschreibung muss von einem Leerzeichen begonnen werden, und Leerzeilen "
"in der Langbeschreibung müssen einen einzelnen ».« hinter dem einleitenden "
"Leerzeichen enthalten."

#. type: SH
#: deb-control.5:52
#, no-wrap
msgid "OPTIONAL FIELDS"
msgstr "OPTIONALE FELDER"

#. type: TP
#: deb-control.5:53 deb-src-control.5:90
#, no-wrap
msgid "B<Section:>I< section>"
msgstr "B<Section:>I< Bereich>"

#. type: Plain text
#: deb-control.5:58
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are `utils', `net', `mail', "
"`text', `x11' etc."
msgstr ""
"Dies ist ein allgemeines Feld, das dem Paket eine Kategorie gibt, basierend "
"auf der Software, die es installiert. Einige übliche Bereiche sind »utils«, "
"»net«, »mail«, »text«, »x11« usw."

#. type: TP
#: deb-control.5:58 deb-src-control.5:96
#, no-wrap
msgid "B<Priority:>I< priority>"
msgstr "B<Priority:>I< Priorität>"

#. type: Plain text
#: deb-control.5:62
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are `required', `standard', `optional', `extra' etc."
msgstr ""
"Setzt die Bedeutung dieses Pakets in Bezug zu dem Gesamtsystem. Übliche "
"Prioritäten sind »required«, »standard«, »optional«, »extra« usw."

#. type: Plain text
#: deb-control.5:71 deb-src-control.5:109
msgid ""
"In Debian, the B<Section> and B<Priority> fields have a defined set of "
"accepted values based on the Policy Manual.  A list of these values can be "
"obtained from the latest version of the B<debian-policy> package."
msgstr ""
"In Debian haben die B<Section>- und B<Priority>-Felder einen definierten "
"Satz an akzeptierten Werten, basierend auf dem Richtlinien-Handbuch. Eine "
"Liste dieser Werte kann aus der neusten Version des Pakets B<debian-policy> "
"erhalten werden."

#. type: TP
#: deb-control.5:71 deb-src-control.5:216
#, no-wrap
msgid "B<Essential:> B<yes>|B<no>"
msgstr "B<Essential:> B<yes>|B<no>"

#. type: Plain text
#: deb-control.5:78
msgid ""
"This field is usually only needed when the answer is B<yes>. It denotes a "
"package that is required for proper operation of the system. Dpkg or any "
"other installation tool will not allow an B<Essential> package to be removed "
"(at least not without using one of the force options)."
msgstr ""
"Dieses Feld wird normalerweise nur benötigt, wenn die Antwort B<yes> lautet. "
"Es bezeichnet ein Paket, das für den ordnungsgemäßen Betrieb des Systems "
"benötigt wird. Dpkg oder jedes andere Installationswerkzeug wird es nicht "
"erlauben, ein B<Essential>-Paket zu entfernen (zumindestens nicht ohne die "
"Verwendung einer der »force«-Optionen)."

#. type: TP
#: deb-control.5:78
#, no-wrap
msgid "B<Architecture:> I<arch>|B<all>"
msgstr "B<Architecture:> I<arch>|B<all>"

#. type: Plain text
#: deb-control.5:86
msgid ""
"The architecture specifies which type of hardware this package was compiled "
"for. Common architectures are `i386', `m68k', `sparc', `alpha', `powerpc' "
"etc. Note that the B<all> option is meant for packages that are architecture "
"independent. Some examples of this are shell and Perl scripts, and "
"documentation."
msgstr ""
"Die Architektur spezifiziert den Hardwaretyp für den dieses Paket kompiliert "
"wurde. Geläufige Architekturen sind »i386«, »m68k«, »sparc«, »alpha«, "
"»powerpc« usw. Beachten Sie, dass die Option B<all> für Pakete gedacht ist, "
"die Architektur-unabhängig sind. Einige Beispiele hierfür sind Shell- und "
"Perl-Skripte und Dokumentation."

#. type: TP
#: deb-control.5:86 deb-src-control.5:85
#, no-wrap
msgid "B<Origin:>I< name>"
msgstr "B<Origin:>I< Name>"

#. type: Plain text
#: deb-control.5:89
msgid "The name of the distribution this package is originating from."
msgstr "Der Name der Distribution, aus der dieses Paket ursprünglich stammt."

#. type: TP
#: deb-control.5:89 deb-src-control.5:66
#, no-wrap
msgid "B<Bugs:>I< url>"
msgstr "B<Bugs:>I< URL>"

#. type: Plain text
#: deb-control.5:94
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian.org>."
msgstr ""
"Die I<URL> der Fehlerdatenbank für dieses Paket. Das derzeit verwendete "
"Format ist I<BTS-Art>B<://>I<BTS-Adresse> wie in B<debbugs://bugs.debian."
"org>."

#. type: TP
#: deb-control.5:94 deb-src-control.5:62
#, no-wrap
msgid "B<Homepage:>I< url>"
msgstr "B<Homepage:>I< URL>"

#. type: Plain text
#: deb-control.5:97
msgid "The upstream project home page I<url>."
msgstr "Die I<URL> des Original- (Upstream-)Projekts."

#. type: TP
#: deb-control.5:97 deb-src-control.5:222
#, no-wrap
msgid "B<Tag:>I< tag-list>"
msgstr "B<Tag:> I< Liste-von-Markierungen>"

#. type: Plain text
#: deb-control.5:101
msgid ""
"List of tags describing the qualities of the package. The description and "
"list of supported tags can be found in the B<debtags> package."
msgstr ""
"Liste der unterstützten Markierungen (»Tags«), die die Eigenschaften des "
"Pakets beschreiben. Die Beschreibung und die Liste der unterstützten "
"Markierungen kann in dem Paket B<debtags> gefunden werden."

#. type: TP
#: deb-control.5:101 deb-src-control.5:219
#, no-wrap
msgid "B<Multi-Arch:> B<same>|B<foreign>|B<allowed>"
msgstr "B<Multi-Arch:> B<same>|B<foreign>|B<allowed>"

#. type: Plain text
#: deb-control.5:113
msgid ""
"This field is used to indicate how this package should behave on a multi-"
"arch installations. The value B<same> means that the package is co-"
"installable with itself, but it must not be used to satisfy the dependency "
"of any package of a different architecture from itself. The value B<foreign> "
"means that the package is not co-installable with itself, but should be "
"allowed to satisfy the dependency of a package of a different arch from "
"itself. The value B<allowed> allows reverse-dependencies to indicate in "
"their Depends field that they need a package from a foreign architecture, "
"but has no effect otherwise. This field should not be present in packages "
"with the B<Architecture: all> field."
msgstr ""
"Das Feld wird dazu verwandt, anzugeben, wie sich dieses Paket in einer Multi-"
"Arch-Installation verhalten soll. Der Wert B<same> bedeutet, dass das Paket "
"mit sich selbst koinstallierbar ist, aber nicht dazu verwandt werden darf, "
"die Abhängigkeit eines Pakets von einer anderen Architektur mit ihm selbst "
"zu erfüllen. Der Wert B<foreign> bedeutet, dass das Paket nicht mit sich "
"selbst koinstallierbar ist, aber es erlaubt sein soll, die Abhängigkeit "
"eines Pakets von einer anderen Architektur mit ihm selbst zu erfüllen. Der "
"Wert B<allowed> erlaubt es invers Abhängigen in ihrem Feld »Depends« "
"anzuzeigen, dass sie ein Paket von einer fremden Architektur benötigen, hat "
"aber ansonsten keinen Effekt. Dieses Feld sollte in Paketen mit dem Feld "
"B<Architecture: all> nicht verwandt werden."

#. type: TP
#: deb-control.5:113
#, no-wrap
msgid "B<Source:>I< source-name>"
msgstr "B<Source:> I< Quell-Name>"

#. type: Plain text
#: deb-control.5:117
msgid ""
"The name of the source package that this binary package came from, if "
"different than the name of the package itself."
msgstr ""
"Der Name des Quellpakets, aus dem dieses Binärpaket abstammt, falls es sich "
"vom Namen dieses Paketes unterscheidet."

#. type: TP
#: deb-control.5:118 deb-src-control.5:202
#, no-wrap
msgid "B<Subarchitecture:>I< value>"
msgstr "B<Subarchitecture:> I< Wert>"

#. type: TP
#: deb-control.5:121 deb-src-control.5:205
#, no-wrap
msgid "B<Kernel-Version:>I< value>"
msgstr "B<Kernel-Version:> I< Wert>"

#. type: TP
#: deb-control.5:124 deb-src-control.5:208
#, no-wrap
msgid "B<Installer-Menu-Item:>I< value>"
msgstr "B<Installer-Menu-Item:> I< Wert>"

#. type: Plain text
#: deb-control.5:131 deb-src-control.5:215
msgid ""
"These fields are used by the debian-installer and are usually not needed.  "
"See /usr/share/doc/debian-installer/devel/modules.txt from the B<debian-"
"installer> package for more details about them."
msgstr ""
"Diese Felder werden im Debian-Installer verwandt und werden normalerweise "
"nicht benötigt. Lesen Sie /usr/share/doc/debian-installer/devel/modules.txt "
"aus dem Paket B<debian-installer> für weitere Informationen über sie."

#. type: TP
#: deb-control.5:132 deb-src-control.5:233
#, no-wrap
msgid "B<Depends:>I< package-list>"
msgstr "B<Depends:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:143
msgid ""
"List of packages that are required for this package to provide a non-trivial "
"amount of functionality. The package maintenance software will not allow a "
"package to be installed if the packages listed in its B<Depends> field "
"aren't installed (at least not without using the force options).  In an "
"installation, the postinst scripts of packages listed in Depends: fields are "
"run before those of the packages which depend on them. On the opposite, in a "
"removal, the prerm script of a package is run before those of the packages "
"listed in its Depends: field."
msgstr ""
"Liste von Paketen, die benötigt werden, damit dieses Paket eine nicht-"
"triviale Menge an Funktionen anbieten kann. Die Paketverwaltungssoftware "
"wird es nicht erlauben, dass ein Paket installiert wird, falls die in seinem "
"B<Depends>-Feld aufgeführten Pakete nicht installiert sind (zumindestens "
"nicht ohne Verwendung der »Force«-Optionen). Bei einer Installation werden "
"Postinst-Skripte von Paketen, die im Feld »Depends:« aufgeführt sind, vor "
"den Postinst-Skripten der eigentlichen Pakete ausgeführt. Bei der "
"gegenteiligen Operation, der Paket-Entfernung, wird das Prerm-Skript eines "
"Paketes vor den Prerm-Skripten der Pakete ausgeführt, die im Feld »Depends:« "
"aufgeführt sind."

#. type: TP
#: deb-control.5:143 deb-src-control.5:236
#, no-wrap
msgid "B<Pre-Depends:>I< package-list>"
msgstr "B<Pre-Depends:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:150
msgid ""
"List of packages that must be installed B<and> configured before this one "
"can be installed. This is usually used in the case where this package "
"requires another package for running its preinst script."
msgstr ""
"Liste an Paketen die installiert B<und> konfiguriert sein müssen, bevor "
"dieses Paket installiert werden kann. Dies wird normalerweise in dem Fall "
"verwendet, wo dieses Paket ein anderes Paket zum Ausführen seines preinst-"
"Skriptes benötigt."

#. type: TP
#: deb-control.5:150 deb-src-control.5:239
#, no-wrap
msgid "B<Recommends:>I< package-list>"
msgstr "B<Recommends:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:157
msgid ""
"Lists packages that would be found together with this one in all but unusual "
"installations. The package maintenance software will warn the user if they "
"install a package without those listed in its B<Recommends> field."
msgstr ""
"Liste an Paketen, die in allen, abgesehen von ungewöhnlichen, Installationen "
"zusammen angefunden würden. Die Paketverwaltungssoftware wird den Benutzer "
"warnen, falls er ein Paket ohne die im B<Recommends>-Feld aufgeführten "
"Pakete installiert."

#. type: TP
#: deb-control.5:157 deb-src-control.5:242
#, no-wrap
msgid "B<Suggests:>I< package-list>"
msgstr "B<Suggests:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:162
msgid ""
"Lists packages that are related to this one and can perhaps enhance its "
"usefulness, but without which installing this package is perfectly "
"reasonable."
msgstr ""
"Liste an Paketen die einen Bezug zu diesem haben und vielleicht seine "
"Nützlichkeit erweitern könnten, aber ohne die das zu installierende Paket "
"perfekt sinnvoll ist."

#. type: Plain text
#: deb-control.5:174
msgid ""
"The syntax of B<Depends>, B<Pre-Depends>, B<Recommends> and B<Suggests> "
"fields is a list of groups of alternative packages. Each group is a list of "
"packages separated by vertical bar (or `pipe') symbols, `|'. The groups are "
"separated by commas. Commas are to be read as `AND', and pipes as `OR', with "
"pipes binding more tightly. Each package name is optionally followed by a "
"version number specification in parentheses."
msgstr ""
"Die Syntax der B<Depends>, B<Pre-Depends>, B<Recommends> und B<Suggests>-"
"Felder ist eine Liste von Gruppen von alternativen Paketen. Jede Gruppe ist "
"eine Liste von durch vertikale Striche (oder »Pipe«-Symbole) »|« getrennte "
"Pakete. Die Gruppen werden durch Kommata getrennt. Kommata müssen als »UND«, "
"vertikale Striche als »ODER« gelesen werden, wobei die vertikalen Striche "
"stärker binden. Jeder Paketname wird optional gefolgt von einer "
"Versionsnummer-Spezifikation in Klammern."

#. type: Plain text
#: deb-control.5:180
msgid ""
"A version number may start with a `E<gt>E<gt>', in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""
"Eine Versionsnummer kann mit »E<gt>E<gt>« beginnen, in diesem Falle passen "
"alle neueren Versionen, und kann die Debian-Paketrevision (getrennt durch "
"einen Bindestrich) enthalten oder auch nicht. Akzeptierte "
"Versionsbeziehungen sind »E<gt>E<gt>« für größer als, »E<lt>E<lt>« für "
"kleiner als, »E<gt>=« für größer als oder identisch zu, »E<lt>=« für kleiner "
"als oder identisch zu und »=« für identisch zu."

#. type: TP
#: deb-control.5:180 deb-src-control.5:245
#, no-wrap
msgid "B<Breaks:>I< package-list>"
msgstr "B<Breaks:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:188
msgid ""
"Lists packages that this one breaks, for example by exposing bugs when the "
"named packages rely on this one. The package maintenance software will not "
"allow broken packages to be configured; generally the resolution is to "
"upgrade the packages named in a B<Breaks> field."
msgstr ""
"Liste Paketen auf, die von diesem Paket beschädigt werden, zum Beispiel in "
"dem sie Fehler zugänglich machen, wenn sich das andere Paket auf dieses "
"Paket verlässt. Die Paketverwaltungssoftware wird es beschädigten Paketen "
"nicht erlauben, sich zu konfigurieren; im Allgemeinen wird das Problem "
"behoben, indem ein Upgrade des im B<Breaks>-Feld aufgeführten Pakets "
"durchgeführt wird."

#. type: TP
#: deb-control.5:188 deb-src-control.5:254
#, no-wrap
msgid "B<Conflicts:>I< package-list>"
msgstr "B<Conflicts:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:196
msgid ""
"Lists packages that conflict with this one, for example by containing files "
"with the same names. The package maintenance software will not allow "
"conflicting packages to be installed at the same time. Two conflicting "
"packages should each include a B<Conflicts> line mentioning the other."
msgstr ""
"Liste an Paketen, die mit diesem in Konflikt stehen, beispielsweise indem "
"beide Dateien den gleichen Namen enthalten. Die Paketverwaltungssoftware "
"wird es nicht erlauben, Pakete, die in Konflikt stehen, gleichzeitig zu "
"installieren. Zwei in Konflikt stehende Pakete sollten jeweils eine "
"B<Conflicts>-Zeile enthalten, die das andere Paket erwähnen."

#. type: TP
#: deb-control.5:196 deb-src-control.5:251
#, no-wrap
msgid "B<Replaces:>I< package-list>"
msgstr "B<Replaces:> I<Paketliste>"

#. type: Plain text
#: deb-control.5:204
msgid ""
"List of packages files from which this one replaces. This is used for "
"allowing this package to overwrite the files of another package and is "
"usually used with the B<Conflicts> field to force removal of the other "
"package, if this one also has the same files as the conflicted package."
msgstr ""
"Liste an Paketen, von denen dieses Dateien ersetzt. Dies wird dazu "
"verwendet, um diesem Paket zu erlauben, Dateien von einem anderen Paket zu "
"ersetzen und wird gewöhnlich mit dem B<Conflicts>-Feld verwendet, um die "
"Entfernung des anderen Paketes zu erlauben, falls dieses auch die gleichen "
"Dateien wie das im Konflikt stehende Paket hat."

#. type: TP
#: deb-control.5:204 deb-src-control.5:257
#, no-wrap
msgid "B<Provides:>I< package-list>"
msgstr "B<Provides:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:214
msgid ""
"This is a list of virtual packages that this one provides. Usually this is "
"used in the case of several packages all providing the same service.  For "
"example, sendmail and exim can serve as a mail server, so they provide a "
"common package (`mail-transport-agent') on which other packages can depend. "
"This will allow sendmail or exim to serve as a valid option to satisfy the "
"dependency. This prevents the packages that depend on a mail server from "
"having to know the package names for all of them, and using `|' to separate "
"the list."
msgstr ""
"Dies ist eine Liste von virtuellen Paketen, die dieses Paket bereitstellt. "
"Gewöhnlich wird dies verwendet, wenn mehrere Pakete alle den gleichen Dienst "
"bereitstellen. Beispielsweise können Sendmail und Exim als Mailserver "
"dienen, daher stellen sie ein gemeinsames Paket (»mail-transport-agent«) "
"bereit, von dem andere Pakete abhängen können. Dies erlaubt es Sendmail oder "
"Exim als gültige Optionen zur Erfüllung der Abhängigkeit zu dienen. Dies "
"verhindert, dass Pakete, die von einem E-Mail-Server abhängen, alle "
"Paketnamen für alle E-Mail-Server wissen und »|« zur Unterteilung der Liste "
"verwenden müssen."

#. type: Plain text
#: deb-control.5:233
msgid ""
"The syntax of B<Breaks>, B<Conflicts>, B<Replaces> and B<Provides> is a list "
"of package names, separated by commas (and optional whitespace).  In the "
"B<Breaks> and B<Conflicts> fields, the comma should be read as `OR'. An "
"optional version can also be given with the same syntax as above for the "
"B<Breaks>, B<Conflicts> and B<Replaces> fields."
msgstr ""
"Die Syntax von B<Breaks>, B<Conflicts>, B<Replaces> und B<Provides> ist eine "
"Liste von Paketnamen, getrennt durch Kommata (und optionalen Leerzeichen). "
"Im B<Breaks>- und B<Conflicts>-Feld sollte das Komma als »ODER« gelesen "
"werden. Eine optionale Version kann auch mit der gleichen Syntax wie oben "
"für die B<Breaks>-, B<Conflicts>- und B<Replaces>-Felder angegeben werden."

#. type: TP
#: deb-control.5:234 deb-src-control.5:260
#, no-wrap
msgid "B<Built-Using:>I< package-list>"
msgstr "B<Built-Using:> I< Paketliste>"

#. type: Plain text
#: deb-control.5:244
msgid ""
"This field lists extra source packages that were used during the build of "
"this binary package.  This is an indication to the archive maintenance "
"software that these extra source packages must be kept whilst this binary "
"package is maintained.  This field must be a list of source package names "
"with strict (=)  version relationships.  Note that the archive maintenance "
"software is likely to refuse to accept an upload which declares a B<Built-"
"Using> relationship which cannot be satisfied within the archive."
msgstr ""
"Dieses Feld führt zusätzliche Quellpakete auf, die während des Baus des "
"Binärpakets verwandt wurden. Dies dient als Hinweis für die "
"Archivverwaltungssoftware, dass zusätzliche Quellpakete vorhanden bleiben "
"müssen, während dieses Binärpaket betreut wird. Dieses Feld muss eine Liste "
"von Quellpaketnamen enthalten, bei denen eine strenge Versionsbeziehung (=) "
"angegeben ist. Beachten Sie, dass die Archivverwaltungssoftware "
"wahrscheinlich einen Upload ablehnen wird, bei dem eine B<Built-Using>-"
"Beziehung angegeben wurde, die innerhalb des Archivs nicht erfüllt werden "
"kann."

#. type: SH
#: deb-control.5:245 deb-src-control.5:288 start-stop-daemon.8:302
#, no-wrap
msgid "EXAMPLE"
msgstr "BEISPIEL"

#. type: Plain text
#: deb-control.5:268
#, no-wrap
msgid ""
"# Comment\n"
"Package: grep\n"
"Essential: yes\n"
"Priority: required\n"
"Section: base\n"
"Maintainer: Wichert Akkerman E<lt>wakkerma@debian.orgE<gt>\n"
"Architecture: sparc\n"
"Version: 2.4-1\n"
"Pre-Depends: libc6 (E<gt>= 2.0.105)\n"
"Provides: rgrep\n"
"Conflicts: rgrep\n"
"Description: GNU grep, egrep and fgrep.\n"
" The GNU family of grep utilities may be the \"fastest grep in the west\".\n"
" GNU grep is based on a fast lazy-state deterministic matcher (about\n"
" twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper\n"
" search for a fixed string that eliminates impossible text from being\n"
" considered by the full regexp matcher without necessarily having to\n"
" look at every character. The result is typically many times faster\n"
" than Unix grep or egrep. (Regular expressions containing backreferencing\n"
" will run more slowly, however).\n"
msgstr ""
"# Comment\n"
"Package: grep\n"
"Essential: yes\n"
"Priority: required\n"
"Section: base\n"
"Maintainer: Wichert Akkerman E<lt>wakkerma@debian.orgE<gt>\n"
"Architecture: sparc\n"
"Version: 2.4-1\n"
"Pre-Depends: libc6 (E<gt>= 2.0.105)\n"
"Provides: rgrep\n"
"Conflicts: rgrep\n"
"Description: GNU grep, egrep und fgrep.\n"
" Die GNU-Familie der Grep-Werkzeuge könnte die »schnellste im Westen« sein.\n"
" GNU Grep basiert auf einem schellen »lazy-state deterministic matcher«\n"
" (rund zweimal so schnell wie der standardmäßige Unix-Egrep) hybridisiert \n"
" mit einer Boyer-Moore-Gosper-Suche für eine feste Zeichenkette, die\n"
" unmöglichen Text von der Betrachtung durch den vollen »Matcher« verhindert\n"
" ohne notwendigerweise jedes Zeichen anzuschauen. Das Ergebnis ist\n"
" typischerweise um ein mehrfaches Schneller als Unix Grep oder Egrep.\n"
" (Reguläre Ausdrücke, die Rückreferenzierungen enthalten, werden allerdings\n"
" langsamer laufen.)\n"

#. type: Plain text
#: deb-control.5:276
msgid ""
"B<deb>(5), B<deb-version>(5), B<debtags>(1), B<dpkg>(1), B<dpkg-deb>(1)."
msgstr ""
"B<deb>(5), B<deb-version>(5), B<debtags>(1), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-src-control.5:3
#, no-wrap
msgid "deb-src-control"
msgstr "deb-src-control"

#. type: Plain text
#: deb-src-control.5:6
msgid "deb-src-control - Debian source packages' master control file format"
msgstr ""
"deb-src-control - Dateiformat der Hauptsteuerdatei von Debian-Quellpaketen"

#. type: Plain text
#: deb-src-control.5:28
msgid ""
"Each Debian source package contains the master \"control\" file, which "
"contains at least 2 paragraphs, separated by a blank line. The first "
"paragraph lists all information about the source package in general, while "
"each following paragraph describes exactly one binary package. Each "
"paragraph consists of at least one field. A field starts with a fieldname, "
"such as B<Package> or B<Section> (case insensitive), followed by a colon, "
"the body of the field and a newline.  Multi-line fields are also allowed, "
"but each supplementary line, without a fieldname, should start with at least "
"one space. The content of the multi-line fields is generally joined to a "
"single line by the tools (except in the case of the B<Description> field, "
"see below). To insert empty lines into a multi-line field, insert a dot "
"after the space. Lines starting with a B<'#'> are treated as comments."
msgstr ""
"Jedes Debian-Quellpaket enhält die Hauptsteuerdatei »control«, die "
"mindestens zwei Absätze enthält, die durch eine Leerzeile getrennt werden. "
"Der erste Absatz führt alle allgemeinen Informationen über das Quellpaket "
"auf, während jeder folgende Absatz genau ein Binärpaket beschreibt. Jeder "
"Absatz besteht aus mindestens einem Feld. Ein Feld beginnt mit einem "
"Feldnamen, wie B<Package> oder B<Section> (Groß-/Kleinschreibung egal), "
"gefolgt von einem Doppelpunkt, dem Inhalt des Feldes und einem "
"Zeilenumbruch. Mehrzeilige Felder sind auch erlaubt, aber jede ergänzende "
"Zeile ohne Feldnamen sollte mit mindestens einem Leerzeichen beginnen. Der "
"Inhalt des mehrzeiligen Feldes wird durch die Werkzeuge im Allgemeinen zu "
"einer Zeile zusammengeführt (das Feld B<Description> ist eine Ausnahme, "
"siehe unten). Um Leerzeilen in ein mehrzeiliges Feld einzufügen, verwenden "
"Sie einen Satzpunkt nach dem Leerzeichen. Zeilen, die mit B<»#«> beginnen, "
"werden als Kommentare betrachtet."

#. type: SH
#: deb-src-control.5:29
#, no-wrap
msgid "SOURCE FIELDS"
msgstr "QUELLPAKET-FELDER"

#. type: TP
#: deb-src-control.5:30
#, no-wrap
msgid "B<Source:> I<source-package-name> (required)"
msgstr "B<Source:> I<Quellpaketname> (verpflichtend)"

#. type: Plain text
#: deb-src-control.5:37
msgid ""
"The value of this field is the name of the source package, and should match "
"the name of the source package in the debian/changelog file. A package name "
"must consist only of lower case letters (a-z), digits (0-9), plus (+) and "
"minus (-) signs, and periods (.). Package names must be at least two "
"characters long and must start with an alphanumeric character."
msgstr ""
"Der Wert dieses Feldes ist der Name des Quellpakets und sollte mit dem Namen "
"des Quellpakets in der Datei debian/changelog übereinstimmen. Ein Paketname "
"darf nur aus Kleinbuchstaben (a-z), Ziffern (0-9), Plus- (+) und "
"Minuszeichen (-) und Satzpunkten (.) bestehen. Paketnamen müssen mindestens "
"zwei Zeichen lang sein und mit einem alphanumerischen Zeichen beginnen."

#. type: TP
#: deb-src-control.5:38
#, no-wrap
msgid "B<Maintainer:> I<fullname-email> (required)"
msgstr "B<Maintainer:> I<Vollständiger-Name-und-E-Mail> (verpflichtend)"

#. type: Plain text
#: deb-src-control.5:43
msgid ""
"Should be in the format \"Joe Bloggs E<lt>jbloggs@foo.comE<gt>\", and "
"references the person who currently maintains the package, as opposed to the "
"author of the software or the original packager."
msgstr ""
"Sollte in dem Format »Joe Bloggs E<lt>jbloggs@foo.comE<gt>« sein und "
"verweist auf die Person, die derzeit das Paket betreut, im Gegensatz zum "
"Autor der Software, die paketiert wurde, oder dem ursprünglichen Paketierer."

#. type: TP
#: deb-src-control.5:44
#, no-wrap
msgid "B<Uploaders:>I< fullname-email>"
msgstr "B<Uploaders:>I< Vollständiger-Name-und-E-Mail>"

#. type: Plain text
#: deb-src-control.5:49
msgid ""
"Lists all the names and email addresses of co-maintainers of the package, in "
"the same format as the Maintainer field. Multiple co-maintainers should be "
"separated by a comma."
msgstr ""
"Listet die Namen und E-Mail-Adressen der Ko-Betreuer des Pakets auf, im "
"gleichen Format wie das Feld »Maintainer«. Mehrere Ko-Betreuer sollten durch "
"Kommata getrennt werden."

#. type: TP
#: deb-src-control.5:50
#, no-wrap
msgid "B<Standards-Version:>I< version-string>"
msgstr "B<Standards-Version:> I< Versionszeichenkette>"

#. type: Plain text
#: deb-src-control.5:56
msgid ""
"This documents the most recent version of the standards (which consists of "
"the Debian Policy Manual and referenced texts from the B<debian-policy> "
"package) this package complies to."
msgstr ""
"Dies dokumentiert die neuste Version der Standards (die aus dem Debian-"
"Richtlinienhandbuch und den aus dem Paket B<debian-policy> referenzierten "
"Texten besteht), an den sich das Paket hält."

#. type: TP
#: deb-src-control.5:57
#, no-wrap
msgid "B<DM-Upload-Allowed:> B<yes>|B<no>"
msgstr "B<DM-Upload-Allowed:> B<yes>|B<no>"

#. type: Plain text
#: deb-src-control.5:61
msgid ""
"This field indicates whether the package can be uploaded by Debian "
"Maintainers appearing in the Maintainer or Uploaders field. The default "
"value is \"no\"."
msgstr ""
"Dieses Feld gibt an, ob das Paket von einem Debian-Betreuer, der im Feld "
"»Maintainer« oder »Uploader« auftaucht, hochgeladen werden kann. Der "
"Standardwert ist »no« (nein)."

#. type: Plain text
#: deb-src-control.5:65
msgid "The upstream project home page URL."
msgstr "Die URL des Original- (Upstream-)Projekts."

#. type: Plain text
#: deb-src-control.5:71
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian."
"org>. This field is usually not needed."
msgstr ""
"Die I<URL> der Fehlerdatenbank für dieses Paket. Das derzeit verwendete "
"Format ist I<BTS-Art>B<://>I<BTS-Adresse> wie in B<debbugs://bugs.debian."
"org>. Dieses Feld wird normalerweise nicht benötigt."

#. type: TP
#: deb-src-control.5:72
#, no-wrap
msgid "B<Vcs-*:>I< url>"
msgstr "B<Vcs-*:> I< URL>"

#. type: Plain text
#: deb-src-control.5:79
msgid ""
"The I<url> of the Version Control System repository used to maintain this "
"package. Currently supported are B<Arch>, B<Bzr> (Bazaar), B<Cvs>, B<Darcs>, "
"B<Git>, B<Hg> (Mercurial), B<Mtn> (Monotone) and B<Svn> (Subversion). "
"Usually this field points to the latest version of the package, such as the "
"main branch or the trunk."
msgstr ""
"Die I<URL> des Versionskontrollsystem-Depots, das für die Betreuung des "
"Pakets verwandt wird. Derzeit werden B<Arch>, B<Bzr> (Bazaar), B<Cvs>, "
"B<Darcs>, B<Git>, B<Hg> (Mercurial), B<Mtn> (Monotone) und B<Svn> "
"(Subversion) unterstützt. Normalerweise zeigt dieses Feld auf die neuste "
"Version des Pakets, wie den Hauptzweig oder den Trunk."

#. type: TP
#: deb-src-control.5:80
#, no-wrap
msgid "B<Vcs-Browser:>I< url>"
msgstr "B<Vcs-Browser:> I< URL>"

#. type: Plain text
#: deb-src-control.5:84
msgid ""
"The I<url> of a webinterface to browse the Version Control System repository."
msgstr ""
"Die I<URL> der Webschnittstelle, um das Versionskontrollsystem-Depot "
"anzuschauen."

#. type: Plain text
#: deb-src-control.5:89
msgid ""
"The name of the distribution this package is originating from. This field is "
"usually not needed."
msgstr ""
"Der Name der Distribution, aus der dieses Paket ursprünglich stammt. Dieses "
"Feld wird normalerweise nicht benötigt."

#. type: Plain text
#: deb-src-control.5:95
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are \"utils\", \"net\", "
"\"mail\", \"text\", \"x11\", etc."
msgstr ""
"Dies ist ein allgemeines Feld, das dem Paket eine Kategorie gibt, basierend "
"auf der Software, die es installiert. Einige übliche Bereiche sind »utils«, "
"»net«, »mail«, »text«, »x11« usw."

#. type: Plain text
#: deb-src-control.5:100
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are \"required\", \"standard\", \"optional\", \"extra\", "
"etc."
msgstr ""
"Setzt die Bedeutung dieses Pakets in Bezug zu dem Gesamtsystem. Übliche "
"Prioritäten sind »required«, »standard«, »optional«, »extra« usw."

#. type: TP
#: deb-src-control.5:110
#, no-wrap
msgid "B<Build-Depends:>I< package-list>"
msgstr "B<Build-Depends:> I< Paketliste>"

#. type: Plain text
#: deb-src-control.5:114
msgid ""
"A list of packages that need to be installed and configured to be able to "
"build the source package."
msgstr ""
"Eine Liste der Pakete, die installiert und konfiguriert sein müssen, um das "
"Quellpaket zu bauen."

#. type: TP
#: deb-src-control.5:115
#, no-wrap
msgid "B<Build-Depends-Indep:>I< package-list>"
msgstr "B<Build-Depends-Indep:> I< Paketliste>"

#. type: Plain text
#: deb-src-control.5:120
msgid ""
"Same as B<Build-Depends>, but they are only needed when building the "
"architecture independent packages. The B<Build-Depends> are also installed "
"in this case."
msgstr ""
"Identisch zu B<Build-Depends>, wird aber nur zum Bau der "
"architekturunabhängigen Pakete benötigt. In diesem Fall sind die B<Build-"
"Depends> auch installiert."

#. type: TP
#: deb-src-control.5:121
#, no-wrap
msgid "B<Build-Conflicts:>I< package-list>"
msgstr "B<Build-Conflicts:> I< Paketliste>"

#. type: Plain text
#: deb-src-control.5:125
msgid ""
"A list of packages that should not be installed when the package is build, "
"for example because they interfere with the used build system."
msgstr ""
"Eine Liste von Paketen, die beim Bau des Pakets nicht installiert sein "
"sollten, beispielsweise da sie mit dem verwandten Bausystem in Konflikt "
"geraten."

#. type: TP
#: deb-src-control.5:126
#, no-wrap
msgid "B<Build-Conflicts-Indep:>I< package-list>"
msgstr "B<Build-Conflicts-Indep:> I< Paketliste>"

#. type: Plain text
#: deb-src-control.5:130
msgid ""
"Same as B<Build-Conflicts>, but only when building the architecture "
"independent packages."
msgstr ""
"Identisch zu B<Build-Conflicts>, wird aber nur zum Bau der "
"architekturunabhängigen Pakete benötigt."

#. type: Plain text
#: deb-src-control.5:141
msgid ""
"The syntax of the B<Build-Depends> and B<Build-Depends-Indep> fields is a "
"list of groups of alternative packages. Each group is a list of packages "
"separated by vertical bar (or \"pipe\") symbols, \"|\". The groups are "
"separated by commas. Commas are to be read as \"AND\", and pipes as \"OR\", "
"with pipes binding more tightly. Each package name is optionally followed by "
"a version number specification in parentheses and an architecture "
"specification in square brackets."
msgstr ""
"Die Syntax der Felder B<Build-Depends> und B<Build-Depends-Indep> ist eine "
"Liste von Gruppen von alternativen Paketen. Jede Gruppe ist eine Liste von "
"durch vertikale Striche (oder »Pipe«-Symbole) »|« getrennte Pakete. Die "
"Gruppen werden durch Kommata getrennt. Kommata müssen als »UND«, vertikale "
"Striche als »ODER« gelesen werden, wobei die vertikalen Striche stärker "
"binden. Jeder Paketname wird optional gefolgt von einer Versionsnummer-"
"Spezifikation in Klammern und einer Architekturspezifikation in eckigen "
"Klammern."

#. type: Plain text
#: deb-src-control.5:150
msgid ""
"The syntax of the B<Build-Conflicts> and B<Build-Conflicts-Indep> fields is "
"a list of comma-separated package names, where the comma is read as an \"AND"
"\". Specifying alternative packages using a \"pipe\" is not supported.  Each "
"package name is optionally followed by a version number specification in "
"parentheses and an architecture specification in square brackets."
msgstr ""
"Syntaxtisch werden die Felder B<Build-Conflicts> und B<Build-Conflicts-"
"Indep> durch eine Komma-separierte Liste von Paketnamen dargestellt, wobei "
"das Komma als »UND« verstanden wird. Die Angabe alternativer Pakete mit dem "
"»Pipe«-Symbol wird nicht unterstützt. Jedem Paketnamen folgt optional eine "
"Versionnummerangabe in Klammern und eine Architekturspezifikation in eckigen "
"Klammern."

#. type: Plain text
#: deb-src-control.5:156
msgid ""
"A version number may start with a \"E<gt>E<gt>\", in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""
"Eine Versionsnummer kann mit »E<gt>E<gt>« beginnen, in diesem Falle passen "
"alle neueren Versionen, und kann die Debian-Paketrevision (getrennt durch "
"einen Bindestrich) enthalten oder auch nicht. Akzeptierte "
"Versionsbeziehungen sind »E<gt>E<gt>« für größer als, »E<lt>E<lt>« für "
"kleiner als, »E<gt>=« für größer als oder identisch zu, »E<lt>=« für kleiner "
"als oder identisch zu und »=« für identisch zu."

#. type: Plain text
#: deb-src-control.5:160
msgid ""
"A architecture specification consists of one or more architecture names, "
"separated by whitespace. Exclamation marks may be prepended to each of the "
"names, meaning \"NOT\"."
msgstr ""
"Eine Architekturspezifikation besteht aus einer oder mehreren durch "
"Leerzeichen getrennten Architekturnamen. Jedem Namen darf ein Ausrufezeichen "
"vorangestellt werden, das »NICHT« bedeutet."

#. type: Plain text
#: deb-src-control.5:165
msgid ""
"Note that dependencies on packages in the B<build-essential> set can be "
"omitted and that declaring build conflicts against them is impossible. A "
"list of these packages is in the build-essential package."
msgstr ""
"Beachten Sie, dass die Abhängigkeiten von Paketen aus der Menge der B<build-"
"essential> entfallen kann und die Angabe von Baukonflikten gegen sie nicht "
"möglich ist. Eine Liste dieser Pakete befindet sich im Paket build-essential."

#. type: SH
#: deb-src-control.5:167
#, no-wrap
msgid "BINARY FIELDS"
msgstr "BINÄRPAKET-FELDER"

#. type: Plain text
#: deb-src-control.5:176
msgid ""
"Note that the B<Priority>, B<Section> and B<Homepage> fields can also be in "
"a binary paragraph to override the global value from the source package."
msgstr ""
"Beachten Sie, dass die Felder B<Priority>, B<Section> und B<Homepage> sich "
"auch im Binärprogrammabsatz befinden können, um die globalen Werte des "
"Quellpakets zu überschreiben."

#. type: TP
#: deb-src-control.5:177
#, no-wrap
msgid "B<Package:> I<binary-package-name> (required)"
msgstr "B<Package:> I<Binärpaketname> (verpflichtend)"

#. type: Plain text
#: deb-src-control.5:181
msgid ""
"This field is used to name the binary package name. The same restrictions as "
"to a source package name apply."
msgstr ""
"Dieses Feld wird zur Angabe des Binärpaketnamens verwandt. Es gelten die "
"gleichen Einschränkungen wie beim Quellpaketnamen."

#. type: TP
#: deb-src-control.5:182
#, no-wrap
msgid "B<Architecture:> I<arch>|B<all>|B<any> (required)"
msgstr "B<Architecture:> I<arch>|B<all>|B<any> (verpflichtend)"

#. type: Plain text
#: deb-src-control.5:195
msgid ""
"The architecture specifies on which type of hardware this package runs. For "
"packages that run on all architectures, use the B<any> value. For packages "
"that are architecture independent, such as shell and Perl scripts or "
"documentation, use the B<all> value. To restrict the packages to a certain "
"set of architectures, specify the architecture names, separated by a space. "
"It's also possible to put architecture wildcards in that list (see B<dpkg-"
"architecture>(1)  for more information about them)."
msgstr ""
"Die Architektur gibt an, auf welcher Art von Hardware dieses Paket läuft. "
"Bei Paketen, die auf allen Architekturen laufen, verwenden Sie den Wert "
"B<any>. Für Pakete, die architekturunabhängig sind, wie Shell- und Perl-"
"Skripte oder Dokumentation, verwenden Sie den Wert B<all>. Um das Paket für "
"einen bestimmten Satz von Architekturen zu begrenzen, geben Sie die durch "
"Leerzeichen getrennten Namen der Architekturen an. Es ist auch möglich, "
"Platzhalter für Architekturen in dieser Liste anzugeben (lesen Sie B<dpkg-"
"architecture>(1) für weitere Informationen dazu)."

#. type: TP
#: deb-src-control.5:196
#, no-wrap
msgid "B<Package-Type:> B<deb>|B<udeb>"
msgstr "B<Package-Type:> B<deb>|B<udeb>"

#. type: Plain text
#: deb-src-control.5:201
msgid ""
"This field defines the type of the package. \"udeb\" is for size-constrained "
"packages used by the debian installer. \"deb\" is the default value, it's "
"assumed if the field is absent. More types might be added in the future."
msgstr ""
"Dieses Feld definiert die Art des Pakets. »udeb« ist für größenbegrenzte "
"Pakete, wie sie vom Debian-Installer verwandt werden. »deb« ist der "
"Standardwert, er wird angenommen, falls das Feld fehlt. Weitere Typen "
"könnten in der Zukunft hinzugefügt werden."

#. type: TP
#: deb-src-control.5:225
#, no-wrap
msgid "B<Description:> I<short-description> (required)"
msgstr "B<Description:> I<Kurzbeschreibung> (verpflichtend)"

#. type: Plain text
#: deb-src-control.5:232
msgid ""
"These fields are described in the B<deb-control>(5)  manual page, as they "
"are copied literally to the control file of the binary package."
msgstr ""
"Diese Felder sind in der Handbuchseite B<deb-control>(5) beschrieben, da sie "
"wörtlich in die Steuerdatei des Binärpakets kopiert werden."

#. type: TP
#: deb-src-control.5:248
#, no-wrap
msgid "B<Enhances:>I< package-list>"
msgstr "B<Enhances:> I< Paketliste>"

#. type: Plain text
#: deb-src-control.5:270
msgid ""
"These fields declare relationships between packages. They are discussed in "
"the B<deb-control>(5)  manpage and in the B<debian-policy> package."
msgstr ""
"Diese Felder deklarieren die Beziehungen zwischen Paketen. Sie werden in der "
"Handbuchseite B<deb-control>(5) und im Paket B<debian-policy> beschrieben."

#. type: SH
#: deb-src-control.5:271
#, no-wrap
msgid "USER-DEFINED FIELDS"
msgstr "BENUTZERDEFINIERTE FELDER"

#. type: Plain text
#: deb-src-control.5:286
msgid ""
"It is allowed to add additional user-defined fields to the control file. The "
"tools will ignore these fields. If you want the fields to be copied over to "
"the output files, such as the binary packages, you need to use a custom "
"naming scheme: the fields should start with a X, followed by one or more of "
"the letters BCS and a hypen. If the letter B is used, the field will appear "
"in the control file in the binary package, see B<deb-control>(5), for the "
"letter S in the source package control file as constructed by B<dpkg-source>"
"(1)  and for the letter C in the upload control (.changes) file. Note that "
"the X[BCS]- prefixes are stripped when the fields are copied over to the "
"output files. A field B<XC-Approved-By> will appear as B<Approved-By> in the "
"changes file and will not appear in the binary or source package control "
"files."
msgstr ""
"Es ist erlaubt, zusätzliche benutzerdefinierte Felder zu der Steuerdatei "
"hinzuzufügen. Die Werkzeuge werden diese Felder ignorieren. Falls Sie "
"möchten, dass die Felder in die Ausgabedateien, wie z.B. die Binärpakete, "
"kopiert werden, müssen Sie ein angepasstes Namensschema verwenden: Die "
"Felder sollten mit einem X, gefolgt von einem oder mehr der Buchstaben BCS "
"und einem Gedankenstrich beginnen. Falls der Buchstabe B benutzt wird, wird "
"das Feld in der Steuerdatei des Binärpakets auftauchen, siehe B<deb-control>"
"(5), beim Buchstaben S in der Quellpaketsteuerdatei wie sie von B<dpkg-"
"source>(1) erstellt wird und beim Buchstaben C in der hochgeladenen Datei "
"control (.changes). Beachten Sie, dass die X[BCS]-Vorsilben beim Kopieren in "
"die Ausgabedateien entfernt werden. Ein Feld B<XC-Approved-By> wird als "
"B<Approved-By> in der Datei changes, aber nicht in den Steuerdateien des "
"Quell- und Binärpakets auftauchen."

#. type: Plain text
#: deb-src-control.5:304
#, no-wrap
msgid ""
"# Comment\n"
"Source: dpkg\n"
"Section: admin\n"
"Priority: required\n"
"Maintainer: Dpkg Developers E<lt>debian-dpkg@lists.debian.orgE<gt>\n"
"# this field is copied to the binary and source packages\n"
"XBS-Upstream-Release-Status: stable\n"
"Homepage: http://wiki.debian.org/Teams/Dpkg\n"
"Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git\n"
"Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git\n"
"Standards-Version: 3.7.3\n"
"Build-Depends: pkg-config, debhelper (E<gt>= 4.1.81),\n"
" libselinux1-dev (E<gt>= 1.28-4) [!linux-any]\n"
msgstr ""
"# Kommentar\n"
"Source: dpkg\n"
"Section: admin\n"
"Priority: required\n"
"Maintainer: Dpkg Developers E<lt>debian-dpkg@lists.debian.orgE<gt>\n"
"# dieses Feld wird in das Binär- und Quellpaket kopiert\n"
"XBS-Upstream-Release-Status: stable\n"
"Homepage: http://wiki.debian.org/Teams/Dpkg\n"
"Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git\n"
"Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git\n"
"Standards-Version: 3.7.3\n"
"Build-Depends: pkg-config, debhelper (E<gt>= 4.1.81),\n"
" libselinux1-dev (E<gt>= 1.28-4) [!linux-any]\n"

#. type: Plain text
#: deb-src-control.5:323
#, no-wrap
msgid ""
"Package: dpkg-dev\n"
"Section: utils\n"
"Priority: optional\n"
"Architecture: all\n"
"# this is a custom field in the binary package\n"
"XB-Mentoring-Contact: Raphael Hertzog E<lt>hertzog@debian.orgE<gt>\n"
"Depends: dpkg (E<gt>= 1.14.6), perl5, perl-modules, cpio (E<gt>= 2.4.2-2),\n"
" bzip2, lzma, patch (E<gt>= 2.2-1), make, binutils, libtimedate-perl\n"
"Recommends: gcc | c-compiler, build-essential\n"
"Suggests: gnupg, debian-keyring\n"
"Conflicts: dpkg-cross (E<lt>E<lt> 2.0.0), devscripts (E<lt>E<lt> 2.10.26)\n"
"Replaces: manpages-pl (E<lt>= 20051117-1)\n"
"Description: Debian package development tools\n"
" This package provides the development tools (including dpkg-source)\n"
" required to unpack, build and upload Debian source packages.\n"
" .\n"
" Most Debian source packages will require additional tools to build;\n"
" for example, most packages need make and the C compiler gcc.\n"
msgstr ""
"Package: dpkg-dev\n"
"Section: utils\n"
"Priority: optional\n"
"Architecture: all\n"
"# dies ist ein spezielles Feld im Binärpaket\n"
"XB-Mentoring-Contact: Raphael Hertzog E<lt>hertzog@debian.orgE<gt>\n"
"Depends: dpkg (E<gt>= 1.14.6), perl5, perl-modules, cpio (E<gt>= 2.4.2-2),\n"
" bzip2, lzma, patch (E<gt>= 2.2-1), make, binutils, libtimedate-perl\n"
"Recommends: gcc | c-compiler, build-essential\n"
"Suggests: gnupg, debian-keyring\n"
"Conflicts: dpkg-cross (E<lt>E<lt> 2.0.0), devscripts (E<lt>E<lt> 2.10.26)\n"
"Replaces: manpages-pl (E<lt>= 20051117-1)\n"
"Description: Debian package development tools\n"
" This package provides the development tools (including dpkg-source)\n"
" required to unpack, build and upload Debian source packages.\n"
" .\n"
" Most Debian source packages will require additional tools to build;\n"
" for example, most packages need make and the C compiler gcc.\n"

#. type: Plain text
#: deb-src-control.5:330
msgid "B<deb-control>(5), B<deb-version>(5), B<dpkg-source>(1)"
msgstr "B<deb-control>(5), B<deb-version>(5), B<dpkg-source>(1)"

#. type: TH
#: deb-split.5:1
#, no-wrap
msgid "deb-split"
msgstr "deb-split"

#. type: TH
#: deb-split.5:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1 dpkg-split.1:2
#: dpkg-statoverride.8:1 dpkg-vendor.1:1 start-stop-daemon.8:1
#, no-wrap
msgid "2011-07-04"
msgstr "2011-07-04"

#. type: Plain text
#: deb-split.5:4
msgid "deb-split - Debian multi-part binary package format"
msgstr "deb-split - mehrteiliges Debian-Binärpaketformat"

#. type: Plain text
#: deb-split.5:9
msgid ""
"The multi-part B<.deb> format is used to split big packages into smaller "
"pieces to ease transport in small media."
msgstr ""
"Das mehrteilige B<.deb>-Format wird zum Aufteilen von großen Paketen in "
"kleinere Stücke zur Erleichterung des Transports auf kleinen Medien verwandt."

#. type: Plain text
#: deb-split.5:12
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash (since dpkg 1.15.6)."
msgstr ""
"Die Datei ist ein B<ar>-Archiv mit einer magischen Zahl von B<!"
"E<lt>archE<gt>>. Der Dateiname kann (seit Dpkg 1.15.6) mit einem "
"Schrägstrich abschließen."

#. type: Plain text
#: deb-split.5:15
msgid ""
"The first member is named B<debian-split> and contains a series of lines, "
"separated by newlines. Currently eight lines are present:"
msgstr ""
"Das erste Mitglied heißt B<debian-split> und enthält eine Reihe von Zeilen, "
"getrennt durch Leerzeilen. Derzeit sind acht Zeilen vorhanden:"

#. type: IP
#: deb-split.5:15 deb-split.5:18 deb-split.5:20 deb-split.5:22 deb-split.5:24
#: deb-split.5:26 deb-split.5:28 deb-split.5:31 dpkg-gensymbols.1:20
#: dpkg-gensymbols.1:22 dpkg-gensymbols.1:24 dpkg-gensymbols.1:26
#: dpkg-gensymbols.1:311 dpkg-gensymbols.1:317 dpkg-gensymbols.1:351
#: dpkg-gensymbols.1:355 dpkg-gensymbols.1:358
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"

#. type: Plain text
#: deb-split.5:18
msgid ""
"The format version number, B<2.1> at the time this manual page was written."
msgstr ""
"Die Formatversionsnummer, zum Zeitpunkt der Erstellung dieser Handbuchseite "
"lautet sie B<2.1>."

#. type: Plain text
#: deb-split.5:20
msgid "The package name."
msgstr "Der Paketname."

#. type: Plain text
#: deb-split.5:22
msgid "The package version."
msgstr "Die Paketversion."

#. type: Plain text
#: deb-split.5:24
msgid "The md5sum of the package."
msgstr "Die Md5sum des Pakets."

#. type: Plain text
#: deb-split.5:26
msgid "The total size of the package."
msgstr "Die Gesamtgröße des Pakets."

#. type: Plain text
#: deb-split.5:28
msgid "The maximum part size."
msgstr "Die maximale Teilegröße"

#. type: Plain text
#: deb-split.5:31
msgid ""
"The current part number, followed by a slash and the total amount of parts "
"(as in \\(oq1/10\\(cq)."
msgstr ""
"Die aktuelle Teilenummer, gefolgt von einem Schrägstrich und der "
"Gesamtanzahl an Teilen (wie in \\(oq1/10\\(cq)."

#. type: Plain text
#: deb-split.5:33
msgid "The package architecture (since dpkg 1.16.1)."
msgstr "Die Paketarchitektur (seit Dpkg 1.16.1)."

#. type: Plain text
#: deb-split.5:36
msgid ""
"Programs which read multi-part archives should be prepared for additional "
"lines to be present, and should ignore these if this is the case."
msgstr ""
"Programme, die mehrteilige Archive lesen, sollten darauf vorbereitet sein, "
"dass zusätzliche Zeilen vorhanden sein können, und sollten diese ignorieren, "
"falls dies der Fall ist."

#. type: Plain text
#: deb-split.5:41
msgid ""
"If the version number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""
"Falls sich die Versionsnummer geändert hat, wurde eine inkompatible Änderung "
"durchgeführt und das Programm sollte sich beenden. Falls dies nicht der Fall "
"ist, dann sollte das Programm sicher fortfahren können, es sei denn, ein "
"unerwartetes Mitglied ist im Archiv (abgesehen vom Ende) gefunden worden, "
"wie unten beschrieben."

#. type: Plain text
#: deb-split.5:44
msgid ""
"The second, last required member is named B<data.>I<N>, where I<N> denotes "
"the part number. It contains the raw part data."
msgstr ""
"Das zweite, letzte benötigte Mitglied heißt B<data.>I<N>, wobei I<N> die "
"Teilnummer angibt. Es enthält die rohen Daten des Teils."

#. type: Plain text
#: deb-split.5:49
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.>I<N>.  Further members may be "
"defined in the future, and (if possible) will be placed after these two."
msgstr ""
"Diese Mitglieder müssen in genau dieser Reihenfolge auftauchen. Aktuelle "
"Implementationen sollten zusätzliche Mitglieder nach B<data.>I<N> "
"ignorieren. Weitere Mitglieder könnten in der Zukunft definiert werden und "
"werden (falls möglich) nach diesen drei platziert."

#. type: Plain text
#: deb-split.5:51
msgid "B<deb>(5), B<dpkg-split>(1)."
msgstr "B<deb>(5), B<dpkg-split>(1)."

#. type: TH
#: deb-version.5:5
#, no-wrap
msgid "deb-version"
msgstr "deb-version"

#. type: Plain text
#: deb-version.5:8
msgid "deb-version - Debian package version number format"
msgstr "deb-version - Versionsnummer-Format von Debian-Paketen"

#. type: Plain text
#: deb-version.5:11
msgid "[I<epoch>B<:>]I<upstream-version>[B<->I<debian-revision>]"
msgstr "[ I<Epoche>B<:>]I<Upstream-Version>[B<->I<Debian-Revision>]"

#. type: Plain text
#: deb-version.5:14
msgid ""
"Version numbers as used for Debian binary and source packages consist of "
"three components. These are:"
msgstr ""
"Die für Debian Binär- und Quellpakete verwendete Versionsnummer besteht aus "
"drei Komponenten. Diese sind:"

#. type: TP
#: deb-version.5:14
#, no-wrap
msgid "I<epoch>"
msgstr "I<Epoche>"

#. type: Plain text
#: deb-version.5:20
msgid ""
"This is a single (generally small) unsigned integer.  It may be omitted, in "
"which case zero is assumed.  If it is omitted then the I<upstream-version> "
"may not contain any colons."
msgstr ""
"Dies ist eine einzelne (typischerweise kleine) vorzeichenlose ganze Zahl. "
"Sie darf entfallen, wobei dann Null angenommen wird. Falls sie entfällt, "
"darf die I<Upstream-Version> keine Doppelpunkte enthalten."

#. type: Plain text
#: deb-version.5:24
msgid ""
"It is provided to allow mistakes in the version numbers of older versions of "
"a package, and also a package's previous version numbering schemes, to be "
"left behind."
msgstr ""
"Sie existiert, um Fehler in den Versionsnummern älterer Versionen des Pakets "
"zu erlauben und auch, um das bisherige Nummerierungsschema eines Paketes "
"aufzugeben."

#. type: TP
#: deb-version.5:24
#, no-wrap
msgid "I<upstream-version>"
msgstr "I<Upstream-Version>"

#. type: Plain text
#: deb-version.5:34
msgid ""
"This is the main part of the version number.  It is usually the version "
"number of the original (\"upstream\")  package from which the I<.deb> file "
"has been made, if this is applicable.  Usually this will be in the same "
"format as that specified by the upstream author(s); however, it may need to "
"be reformatted to fit into the package management system's format and "
"comparison scheme."
msgstr ""
"Dies ist der Hauptteil der Versionsnummer. Normalerweise ist dies die "
"Versionsnummer des Originalpakets (»Upstream«), aus dem die I<.deb>-Datei "
"erstellt wurde, falls dies zutrifft. Normalerweise wird diese im gleichen "
"Format vorliegen, wie sie von den Originalautoren angegeben wurde; "
"allerdings mag es notwendig sein, sie umzuformatieren, damit sie in das "
"Format des Paketverwaltungssystems und des Vergleichsschemas passt."

#. type: Plain text
#: deb-version.5:39
msgid ""
"The comparison behavior of the package management system with respect to the "
"I<upstream-version> is described below. The I<upstream-version> portion of "
"the version number is mandatory."
msgstr ""
"Das Vergleichsverhalten des Paketverwaltungssystems in Hinblick auf die "
"I<Upstream-Version> wird unten beschrieben. Der I<Upstream-Version>-Anteil "
"der Versionnummer muss angegeben werden."

#. type: Plain text
#: deb-version.5:48
msgid ""
"The I<upstream-version> may contain only alphanumerics (\"A-Za-z0-9\") and "
"the characters B<.> B<+> B<-> B<:> B<~> (full stop, plus, hyphen, colon, "
"tilde) and should start with a digit.  If there is no I<debian-revision> "
"then hyphens are not allowed; if there is no I<epoch> then colons are not "
"allowed."
msgstr ""
"I<Upstream-Version> darf nur alphanumerische Zeichen (»A-Za-z0-9«) und B<.> "
"B<+> B<-> B<:> B<~> (Satzpunkt, Plus, Bindestrich, Doppelpunkt, Tilde) "
"enthalten und sollte mit einer Zahl beginnen. Falls es keine I<Debian-"
"Revision> gibt, sind Bindestriche nicht erlaubt; falls es keine I<Epoche> "
"gibt, sind Doppelpunkte nicht erlaubt."

#. type: TP
#: deb-version.5:48
#, no-wrap
msgid "I<debian-revision>"
msgstr "I<Debian-Revision>"

#. type: Plain text
#: deb-version.5:57
msgid ""
"This part of the version number specifies the version of the Debian package "
"based on the upstream version.  It may contain only alphanumerics and the "
"characters B<+> B<.> B<~> (plus, full stop, tilde) and is compared in the "
"same way as the I<upstream-version> is."
msgstr ""
"Dieser Teil der Versionsnummer spezifiziert die Version des Debian-Paketes, "
"basierend auf der Version der Originalautoren. Er kann nur alphanumerische "
"Zeichen und B<+> B<.> B<~> (Plus, Satzpunkt, Tilde) enthalten und wird "
"genauso wie die I<Upstream-Version> verglichen."

#. type: Plain text
#: deb-version.5:64
msgid ""
"It is optional; if it isn't present then the I<upstream-version> may not "
"contain a hyphen.  This format represents the case where a piece of software "
"was written specifically to be turned into a Debian package, and so there is "
"only one \"debianisation\" of it and therefore no revision indication is "
"required."
msgstr ""
"Dieser Teil ist optional; falls er nicht vorhanden ist, darf I<Upstream-"
"Version> keinen Bindestrich enthalten. Dieses Format ist für den Fall, dass "
"ein Stück Software speziell dafür geschrieben wurde, ein Debian-Paket zu "
"werden und es daher nur eine »Debianisierung« gibt und somit keine "
"Revisionsanzeige notwendig ist."

#. type: Plain text
#: deb-version.5:68
msgid ""
"It is conventional to restart the I<debian-revision> at '1' each time time "
"the I<upstream-version> is increased."
msgstr ""
"Es ist üblich, die I<Debian-Revision> jedesmal bei »1« neu zu starten, wenn "
"die I<Upstream-Version> erhöht wird."

#. type: Plain text
#: deb-version.5:76
msgid ""
"Dpkg will break the version number apart at the last hyphen in the string "
"(if there is one) to determine the I<upstream-version> and I<debian-"
"revision>. The absence of a I<debian-revision> compares earlier than the "
"presence of one (but note that the I<debian-revision> is the least "
"significant part of the version number)."
msgstr ""
"Dpkg wird die Versionsnummer beim letzten Bindestrich in der Zeichenkette "
"auftrennen (falls dieser existiert) um die I<Upstream-Version> und die "
"I<Debian-Revision> zu bestimmen. Im Vergleich befindet sich eine fehlende "
"I<Debian-Revision> vor einer vorhandenen (beachten Sie aber, dass es sich "
"bei der I<Debian-Revision> um den Teil der Versionsnummer mit der geringsten "
"Signifikanz handelt)."

#. type: SS
#: deb-version.5:76
#, no-wrap
msgid "Sorting Algorithm"
msgstr "Sortieralgorithmus"

#. type: Plain text
#: deb-version.5:80
msgid ""
"The I<upstream-version> and I<debian-revision> parts are compared by the "
"package management system using the same algorithm:"
msgstr ""
"Die I<Upstream-Version>- und I<Debian-Revision>-Teile werden von der "
"Paketverwaltung nach dem gleichen Algorithmus verglichen:"

#. type: Plain text
#: deb-version.5:82
msgid "The strings are compared from left to right."
msgstr "Die Zeichenketten werden von links nach rechts verglichen."

#. type: Plain text
#: deb-version.5:92
msgid ""
"First the initial part of each string consisting entirely of non-digit "
"characters is determined.  These two parts (one of which may be empty) are "
"compared lexically.  If a difference is found it is returned.  The lexical "
"comparison is a comparison of ASCII values modified so that all the letters "
"sort earlier than all the non-letters and so that a tilde sorts before "
"anything, even the end of a part.  For example, the following parts are in "
"sorted order: '~~', '~~a', '~', the empty part, 'a'."
msgstr ""
"Zuerst wird der Anfangsteil jeder Zeichenkette bestimmt, der komplett aus "
"nicht-Ziffern-Zeichen besteht. Diese zwei Teile (von denen einer leer sein "
"kann) werden lexikalisch verglichen. Wird ein Unterschied gefunden, wird "
"dieser zurückgeliefert. Der lexikalische Vergleich ist ein veränderter "
"Vergleich von ASCII-Werten, bei denen Buchstaben vor allen nicht-Buchstaben "
"sortiert werden und die Tilde vor allem sortiert wird, sogar vor dem Ende "
"eines Teiles. So sind zum Beispiel die folgenden Teile in sortierter "
"Reihenfolge: »~~«, »~~a«, »~«, der leere Teil, »a«."

#. type: Plain text
#: deb-version.5:100
msgid ""
"Then the initial part of the remainder of each string which consists "
"entirely of digit characters is determined.  The numerical values of these "
"two parts are compared, and any difference found is returned as the result "
"of the comparison.  For these purposes an empty string (which can only occur "
"at the end of one or both version strings being compared) counts as zero."
msgstr ""
"Dann wird der Anfangsteil des Restes jeder Zeichenkette bestimmt, der "
"komplett aus Ziffern besteht. Der numerische Wert dieser zwei Teile wird "
"verglichen, und jeder gefundene Unterschied wird als Ergebnis des Vergleichs "
"zurückgeliefert. Für diesen Zweck zählt die leere Zeichenkette (die nur am "
"Ende einer oder beider der zu vergleichenden Versionszeichenketten "
"auftauchen kann) als Null."

#. type: Plain text
#: deb-version.5:104
msgid ""
"These two steps (comparing and removing initial non-digit strings and "
"initial digit strings) are repeated until a difference is found or both "
"strings are exhausted."
msgstr ""
"Diese zwei Schritte (Vergleichen und Entfernen von nicht-Ziffern-"
"Zeichenketten und Ziffern-Zeichenketten am Anfang) werden wiederholt, bis "
"ein Unterschied gefunden wird oder beide Zeichenketten erschöpft wurden."

#. type: Plain text
#: deb-version.5:112
msgid ""
"Note that the purpose of epochs is to allow us to leave behind mistakes in "
"version numbering, and to cope with situations where the version numbering "
"scheme changes.  It is B<not> intended to cope with version numbers "
"containing strings of letters which the package management system cannot "
"interpret (such as 'ALPHA' or 'pre-'), or with silly orderings."
msgstr ""
"Beachten Sie, dass Epochen uns erlauben, Fehler in der Versionsnummerierung "
"zurückzulassen, und mit Situationen umzugehen, in denen sich das Schema der "
"Versionsnummerierung ändert. Sie sind B<nicht> dazu gedacht, mit "
"Versionsnummern umzugehen, die Zeichenketten aus Buchstaben enthalten, die "
"das Paketverwaltungssystem nicht interpretieren kann (wie »ALPHA« oder "
"»pre«) oder mit unklugen Reihenfolgen."

#. type: SH
#: deb-version.5:112 dpkg-parsechangelog.1:109
#, no-wrap
msgid "CAVEATS"
msgstr "WARNUNG"

#. type: Plain text
#: deb-version.5:116
msgid ""
"The tilde character and its special sorting properties were introduced in "
"dpkg, version 1.10 and some parts of dpkg-dev only gained support for it "
"later in the 1.10.x series."
msgstr ""
"Das Tilde-Zeichen uns seine speziellen Sortiereigenschaften wurden in "
"Version 1.10 von dpkg eingeführt und einige Teile von dpkg-dev haben erst "
"später in der 1.10.x-Serie Unterstützung dafür erhalten."

#. type: Plain text
#: deb-version.5:120
msgid "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"
msgstr "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"

#. type: SH
#: deb-version.5:120 dpkg.1:783 dpkg-buildpackage.1:257 dpkg-distaddfile.1:47
#: dpkg-genchanges.1:148 dpkg-gencontrol.1:142 dpkg-gensymbols.1:460
#: dpkg-maintscript-helper.1:128 dpkg-parsechangelog.1:123
#: dpkg-shlibdeps.1:329 dpkg-source.1:730 dselect.1:451
#: start-stop-daemon.8:323 update-alternatives.8:494
#, no-wrap
msgid "AUTHORS"
msgstr "AUTOREN"

# Kodierung ist hier nicht richtig!
#. type: Plain text
#: deb-version.5:122
msgid "Copyright \\(co 1996,1997,1998 Ian Jackson and Christian Schwarz"
msgstr "Copyright \\(co 1996,1997,1998 Ian Jackson and Christian Schwarz"

#. type: Plain text
#: deb-version.5:124 dpkg-buildpackage.1:263
msgid "Copyright \\(co 2007 Frank Lichtenheld"
msgstr "Copyright \\(co 2007 Frank Lichtenheld"

#. type: Plain text
#: deb-version.5:126 deb-substvars.5:167 dpkg-buildflags.1:273
#: dpkg-buildpackage.1:267 dpkg-checkbuilddeps.1:44 dpkg-distaddfile.1:53
#: dpkg-deb.1:269 dpkg-divert.8:139 dpkg-genchanges.1:154
#: dpkg-gencontrol.1:150 dpkg-gensymbols.1:464 dpkg-maintscript-helper.1:139
#: dpkg-mergechangelogs.1:71 dpkg-name.1:108 dpkg-parsechangelog.1:131
#: dpkg-query.1:219 dpkg-shlibdeps.1:339 dpkg-source.1:738 dpkg-split.1:227
#: dpkg-statoverride.8:91 dpkg-vendor.1:53 update-alternatives.8:501
msgid ""
"This is free software; see the GNU General Public Licence version 2 or later "
"for copying conditions. There is NO WARRANTY."
msgstr ""
"Dies ist Freie Software; lesen Sie die GNU General Public License Version 2 "
"oder neuer für die Kopierbedingungen. Es gibt KEINE Haftung."

#. type: TH
#: deb-old.5:1
#, no-wrap
msgid "deb-old"
msgstr "deb-old"

#. type: Plain text
#: deb-old.5:4
msgid "deb-old - old style Debian binary package format"
msgstr "deb-old - Debian Binärpaketformat in alter Ausführung"

#. type: Plain text
#: deb-old.5:17
msgid ""
"The B<.deb> format is the Debian binary package file format. This manual "
"page describes the B<old> format, used before Debian 0.93. Please see B<deb>"
"(5)  for details of the new format."
msgstr ""
"Das B<.deb>-Format ist das Debian Binärpaketdateiformat. Diese Handbuchseite "
"beschreibt das B<alte> Format, das vor Debian 0.93 verwendet wurde. Bitte "
"lesen Sie B<deb>(5) für Details über das neue Format."

#. type: Plain text
#: deb-old.5:21
msgid ""
"The file is two lines of format information as ASCII text, followed by two "
"concatenated gzipped ustar files."
msgstr ""
"Die Datei besteht aus zwei Zeilen an Formatinformationen als ASCII-Text, "
"gefolgt von zwei aneinandergehängten ustar-Dateien."

#. type: Plain text
#: deb-old.5:25
msgid ""
"The first line is the format version number padded to 8 digits, and is "
"B<0.939000> for all old-format archives."
msgstr ""
"Die erste Zeile ist die Formatversionsnummer, aufgefüllt auf 8 Stellen, und "
"ist B<0.939000> für alle Archive im alten Format."

#. type: Plain text
#: deb-old.5:28
msgid ""
"The second line is a decimal string (without leading zeroes) giving the "
"length of the first gzipped tarfile."
msgstr ""
"Die zweite Zeile ist eine dezimale Zeichenkette (ohne führende Nullen), die "
"die Länge der ersten gzippten Tar-Datei angibt."

#. type: Plain text
#: deb-old.5:30
msgid "Each of these lines is terminated with a single newline character."
msgstr ""
"Jede dieser Zeilen wird durch ein einzelnes Zeilenvorschubzeichen "
"abgeschlossen."

#. type: Plain text
#: deb-old.5:35
msgid ""
"The first tarfile contains the control information, as a series of ordinary "
"files. The file B<control> must be present, as it contains the core control "
"information."
msgstr ""
"Die erste Tar-Datei enthält die Steuerinformationen als eine Serie von "
"normalen Dateien. Die Datei B<control> muss vorhanden sein, da sie die Kern-"
"Steuerinformationen enthält."

#. type: Plain text
#: deb-old.5:46
msgid ""
"In some very old archives, the files in the control tarfile may optionally "
"be in a B<DEBIAN> subdirectory. In that case, the B<DEBIAN> subdirectory "
"will be in the control tarfile too, and the control tarfile will have only "
"files in that directory. Optionally the control tarfile may contain an entry "
"for `B<.>', that is, the current directory."
msgstr ""
"In einigen sehr alten Archiven können die Dateien in der Steuer-Tar-Datei "
"optional in einem B<DEBIAN>-Unterverzeichnis sein. In diesem Fall ist das "
"B<DEBIAN>-Unterverzeichnis auch in der Steuer-Tar-Datei, und die Steuer-Tar-"
"Datei hat nur Dateien in diesem Verzeichnis. Optional kann die Steuer-Tar-"
"Datei einen Eintrag für »B<.>« enthalten, d.h. für das aktuelle Verzeichnis."

#. type: Plain text
#: deb-old.5:50
msgid ""
"The second gzipped tarfile is the filesystem archive, containing pathnames "
"relative to the root directory of the system to be installed on. The "
"pathnames do not have leading slashes."
msgstr ""
"Die zweite gzippte Tar-Datei ist das Dateisystemarchiv, das Pfadnamen "
"relativ zum Wurzelverzeichnis des System, auf dem installiert werden soll, "
"enthält. Die Pfadnamen haben keine führenden Schrägstriche."

#. type: Plain text
#: deb-old.5:54
msgid "B<deb>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr "B<deb>(5), B<dpkg-deb>(1), B<deb-control>(5)."

#. type: TH
#: deb-override.5:15
#, no-wrap
msgid "deb-override"
msgstr "deb-override"

#. type: TH
#: deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16 deb-substvars.5:2
#: deb-symbols.5:2 deb-triggers.5:1 dpkg-architecture.1:1
#: dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1
#: dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2
#: dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2
#: dpkg-statoverride.8:1 start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "dpkg utilities"
msgstr "dpkg-Hilfsprogramme"

#. type: Plain text
#: deb-override.5:18
msgid "deb-override - Debian archive override file"
msgstr "deb-override - Debian-Archive override-Datei"

#. type: Plain text
#: deb-override.5:21 deb-extra-override.5:7
msgid "override"
msgstr "override"

#. type: Plain text
#: deb-override.5:27
msgid ""
"While most information about a package can be found in the control file, "
"some is managed centrally by the distribution czars rather than by the "
"maintainer in order to offer some global consistency.  This information is "
"found in the override file."
msgstr ""
"Während der Großteil der Informationen über ein Paket in der Steuerdatei "
"gefunden werden kann, wird ein Teil von den Distributionszaren zentral statt "
"von den Betreuern verwaltet, um eine gewisse globael Konsistenz zu bieten. "
"Diese Informationen finden sich in der override-Datei."

#. type: Plain text
#: deb-override.5:31
msgid ""
"The override file has a simple whitespace-delimited format. Comments are "
"allowed (denoted with a B<#>)."
msgstr ""
"Die override-Datei hat ein einfaches, durch Leerzeichen getrenntes Format. "
"Kommentare sind erlaubt (angezeigt durch ein B<#>)."

#. type: Plain text
#: deb-override.5:37
msgid "I<package> I<priority> I<section> [I<maintainerinfo>]"
msgstr "I<Paket> I<Priorität> I<Bereich> [I<Betreuerinformation>]"

#. type: Plain text
#: deb-override.5:42
msgid ""
"I<package> is the name of the package. Entries in the override file for "
"packages not found in the tree of binary packages are ignored."
msgstr ""
"I<Paket> ist der Name des Pakets. Einträge in der override-Datei für Pakete, "
"die nicht im Baum von Binärpaketen gefunden werden können, werden ignoriert."

#. type: Plain text
#: deb-override.5:48
msgid ""
"I<priority> and I<section> correspond to the respective control fields "
"available in the .deb. The allowed values are listed in the Debian policy."
msgstr ""
"I<Priorität> und I<Bereich> entsprechen den Feldern I<priority> und "
"I<section> der Steuerdatei in dem .deb. Die erlaubten Werte werden in den "
"Debian-Richtlinien (I<Debian policy>) aufgeführt."

#. type: Plain text
#: deb-override.5:56
msgid ""
"I<maintainerinfo>, if present, can be either the name of a maintainer for an "
"unconditional override, or else I<oldmaintainer> B<=E<gt>> I<newmaintainer> "
"to perform a substitution."
msgstr ""
"I<Betreuerinformation> kann, falls vorhanden, entweder der Name des "
"Betreuers für ein bedingungsloses Überschreiben, oder ansonsten "
"I<AlterBetreuer> B<=E<gt>> I<NeuerBetreuer> um eine Ersetzung durchzuführen, "
"sein."

#. type: Plain text
#: deb-override.5:61
msgid ""
"The override files used to make the official Packages lists may be found in "
"the I<indices> directory on any Debian mirror."
msgstr ""
"Die override-Dateien, die für die Erstellung der offiziellen Paketliste "
"verwendet werden, können im I<indices>-Verzeichnis auf jedem Debian-Spiegel "
"gefunden werden."

#. type: Plain text
#: deb-override.5:66
msgid ""
"B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1), B</"
"usr/share/doc/debian-policy/policy.html/index.html>."
msgstr ""
"B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1), B</"
"usr/share/doc/debian-policy/policy.html/index.html>."

#. type: TH
#: deb-extra-override.5:1
#, no-wrap
msgid "deb-extra-override"
msgstr "deb-extra-override"

#. type: TH
#: deb-extra-override.5:1
#, no-wrap
msgid "2009-08-16"
msgstr "2009-08-16"

#. type: Plain text
#: deb-extra-override.5:4
msgid "deb-extra-override - Debian archive extra override file"
msgstr "deb-extra-override - Debian-Archive Zusatz-override-Datei"

#. type: Plain text
#: deb-extra-override.5:12
msgid ""
"While most information about a binary/source package can be found in the "
"control/.dsc file, all of it can be overridden when it's exported to "
"Packages/Sources files. The extra override file contains those overrides."
msgstr ""
"Während der Großteil der Informationen über ein binäres oder Quellpaket in "
"der Datei control/.dsc gefunden werden kann, kann alles davon überschrieben "
"werden, wenn es in die Dateien Packages/Sources exportiert wird. Die Zusatz-"
"override-Datei enthält diese »Überschreibungen« (engl. overrides)."

#. type: Plain text
#: deb-extra-override.5:16
msgid ""
"The extra override file has a simple whitespace-delimited format. Comments "
"are allowed (denoted with a B<#>)."
msgstr ""
"Die Zusatz-override-Datei hat ein einfaches, durch Leerzeichen getrenntes "
"Format. Kommentare sind erlaubt (angezeigt durch ein B<#>)."

#. type: Plain text
#: deb-extra-override.5:21
msgid "I<package> I<field-name> I<value>"
msgstr "I<Paket> I<Feldname> I<Wert>"

#. type: Plain text
#: deb-extra-override.5:25
msgid "I<package> is the name of the binary/source package."
msgstr "I<Paket> ist der Name des Binär-/Quellpakets."

#. type: Plain text
#: deb-extra-override.5:31
msgid ""
"I<field-name> is the name of the field that is overridden.  I<value> is the "
"value to put in the field. It can contain spaces as the line is split in no "
"more than 3 columns when it's parsed."
msgstr ""
"I<Feldname> ist der Name des Feldes, das überschrieben wird. I<Wert> ist der "
"in das Feld zu setzende Wert. Er kann Leerzeichen enthalten, da die Zeile in "
"nicht mehr als drei Spalten aufgeteilt wird, wenn sie ausgewertet wird."

#. type: Plain text
#: deb-extra-override.5:36
msgid ""
"The extra override files used to make the official Packages lists may be "
"found in the I<indices> directory on any Debian mirror."
msgstr ""
"Die Zusatz-override-Dateien, die für die Erstellung der offiziellen "
"Paketliste verwendet werden, können im I<indices>-Verzeichnis auf jedem "
"Debian-Spiegel gefunden werden."

#. type: Plain text
#: deb-extra-override.5:40
msgid "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."
msgstr "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."

#. type: TH
#: deb-shlibs.5:16
#, no-wrap
msgid "deb-shlibs"
msgstr "deb-shlibs"

#. type: TH
#: deb-shlibs.5:16
#, no-wrap
msgid "2008-02-17"
msgstr "2008-02-17"

#. type: Plain text
#: deb-shlibs.5:19
msgid "deb-shlibs - Debian shared library information file"
msgstr "deb-shlibs - Debians Informationsdatei für Laufzeitbibliotheken"

#. type: Plain text
#: deb-shlibs.5:29
msgid ""
"B<shlibs> files map shared library names and versions (I<sonames>)  to "
"dependencies suitable for a package control file.  There is one entry per "
"line. Blank lines are B<not> allowed.  Lines beginning with an B<#> "
"character are considered commentary, and are ignored.  All other lines must "
"have the format"
msgstr ""
"B<shlibs>-Dateien bilden Laufzeitbibliotheknamen und -versionen (I<sonames>) "
"auf Abhängigkeiten ab, die für eine Paketsteuerdatei geeignet sind. Es gibt "
"einen Eintrag pro Zeile. Leerzeilen sind B<nicht> erlaubt. Zeilen, die mit "
"B<#> beginnen, werden als Kommentarzeilen betrachtet und ignoriert. Alle "
"anderen Zeilen müssen dem nachfolgenden Format folgen:"

#. type: Plain text
#: deb-shlibs.5:34
msgid "[I<type>B<:>] I<library> I<version> I<dependencies>"
msgstr "[I<Typ>B<:>] I<Bibliothek> I<Version> I<Abhängigkeiten>"

#. type: Plain text
#: deb-shlibs.5:38
msgid ""
"The I<library> and I<version> fields are whitespace-delimited, but the "
"I<dependencies> field extends to the end of the line.  The I<type> field is "
"optional and normally not needed."
msgstr ""
"Die Felder I<Bibliothek> und I<Version> werden durch Leerzeichen begrenzt, "
"das Feld I<Abhängigkeiten> geht aber bis zum Ende der Zeile. Das Feld I<Typ> "
"ist optional und wird normalerweise nicht benötigt."

#. type: Plain text
#: deb-shlibs.5:40
msgid "See the Debian Policy Manual for further details."
msgstr ""
"Lesen Sie das Debian-Richtlinienhandbuch (Debian Policy Manual) für weitere "
"Details."

#. type: SH
#: deb-shlibs.5:41 deb-symbols.5:43 dpkg.1:714 dpkg-architecture.1:262
#: dpkg-divert.8:91 dpkg-name.1:65 update-alternatives.8:459
#, no-wrap
msgid "EXAMPLES"
msgstr "BEISPIELE"

#. type: Plain text
#: deb-shlibs.5:50
msgid ""
"The B<shlibs> file for a typical library package, named I<libcrunch1>, that "
"provides one library whose soname is I<libcrunch.so.1>, might read"
msgstr ""
"Die B<shlibs>-Datei für ein typisches Bibliothekspaket namens I<libcrunch1>, "
"das eine Bibliothek mit dem Sonamen I<libcrunch.so.1> bereitstellt, könnte "
"wie folgt lauten:"

#. type: Plain text
#: deb-shlibs.5:52
msgid "libcrunch 1 libcrunch1 (E<gt>= 1.2-1)"
msgstr "libcrunch 1 libcrunch1 (E<gt>= 1.2-1)"

#. type: Plain text
#: deb-shlibs.5:60
msgid ""
"The I<dependencies> must mention the most recent version of the package that "
"added new symbols to the library: in the above example, new symbols were "
"added to version 1.2 of I<libcrunch>.  This is not the only reason the "
"dependencies might need to be tightened; again, see the Debian Policy Manual "
"for details."
msgstr ""
"I<Abhängigkeiten> muss die neuste Version des Pakets erwähnen, das neuen "
"Symbole zu der Bibliothek hinzugefügt hat: im obigen Beispiel wurden neue "
"Symbole zu Version 1.2 von I<libcrunch> hinzugefügt. Dies ist nicht der "
"einzige Grund, dass Abhängigkeiten enger gefasst werden müssen; auch hier "
"gilt: Lesen Sie das Debian-Richtlinienhandbuch für Details."

#. type: Plain text
#: deb-shlibs.5:63
msgid "B<dpkg-shlibdeps>(1), B<deb-symbols>(5)."
msgstr "B<dpkg-shlibdeps>(1), B<deb-symbols>(5)."

#. type: TH
#: deb-substvars.5:2
#, no-wrap
msgid "deb-substvars"
msgstr "deb-substvars"

#. type: TH
#: deb-substvars.5:2
#, no-wrap
msgid "2009-07-15"
msgstr "2009-07-15"

#. type: Plain text
#: deb-substvars.5:5
msgid "deb-substvars - Debian source substitution variables"
msgstr "deb-substvars - Substitutionsvariablen in Debian-Quellen"

#. type: Plain text
#: deb-substvars.5:8
msgid "substvars"
msgstr "substvars"

#. type: Plain text
#: deb-substvars.5:19
msgid ""
"Before B<dpkg-source>, B<dpkg-gencontrol> and B<dpkg-genchanges> write their "
"control information (to the source control file B<.dsc> for B<dpkg-source> "
"and to standard output for B<dpkg-gencontrol> and B<dpkg-genchanges>)  they "
"perform some variable substitutions on the output file."
msgstr ""
"Bevor B<dpkg-source>, B<dpkg-gencontrol> und B<dpkg-genchanges> ihre "
"Steuerinformationen (zu der Quellsteuer-Datei B<.dsc> für B<dpkg-source> und "
"zu der Standardausgabe für B<dpkg-gencontrol> und B<dpkg-genchanges>) "
"schreiben, führen sie einige Variablensubstitutionen in der Ausgabedatei "
"durch."

#. type: Plain text
#: deb-substvars.5:26
msgid ""
"A variable substitution has the form B<${>I<variable-name>B<}>.  Variable "
"names consist of alphanumerics, hyphens and colons and start with an "
"alphanumeric. Variable substitutions are performed repeatedly until none are "
"left; the full text of the field after the substitution is rescanned to look "
"for more substitutions."
msgstr ""
"Eine Variablensubstitution hat die Form B<${>I<Variablenname>B<}>. "
"Variablennamen bestehen aus alphanumerischen Zeichen (womit sie auch "
"beginnen), Gedankenstrichen und Doppelpunkten. Variablensubstitutionen "
"werden wiederholt durchgeführt, bis keine übrig geblieben sind; der "
"komplette Text des Feldes nach der Substitution wird erneut auf weitere "
"Substitutionen geprüft."

#. type: Plain text
#: deb-substvars.5:33
msgid ""
"After all the substitutions have been done each occurrence of the string B<"
"${}> (which is not a legal substitution) is replaced with a B<$> sign."
msgstr ""
"Nachdem alle Substitutionen erfolgt sind, wird jedes Auftreten der "
"Zeichenkette B<${}> (die keine erlaubte Substitution ist) durch das B<$>-"
"Zeichen ersetzt."

#. type: Plain text
#: deb-substvars.5:38
msgid ""
"While variable substitution is done on all control fields, some of those "
"fields are used and needed during the build when the substitution did not "
"yet occur. That's why you can't use variables in the B<Package>, B<Source> "
"and B<Architecture> fields."
msgstr ""
"Obwohl die Variablensubstitution bei allen Feldern der Steuerdatei "
"vorgenommen wird, werden einige dieser Felder während des Bauens benötigt "
"und verwendet, wenn die Substitution noch nicht erfolgt ist. Daher können "
"Sie Variablen nicht in den Feldern B<Package>, B<Source> und B<Architecture> "
"verwenden."

#. type: Plain text
#: deb-substvars.5:45
msgid ""
"Variable substitution happens on the content of the fields after they have "
"been parsed, thus if you want a variable to expand over multiple lines you "
"do not have to include a space after the newline. This is done implicitly "
"when the field is output. For example, if the variable B<${Description}> is "
"set to \"foo is bar.${Newline}foo is great.\" and if you have the following "
"field:"
msgstr ""
"Variablenersetzung erfolgt am Inhalt der Felder, nachdem sie geparst "
"(ausgewertet) wurden. Falls Sie eine Variable über mehrere Zeilen "
"expandieren möchten, müssen Sie nach dem Zeilenumbruch daher kein "
"Leerzeichen einfügen. Dies passiert bei der Ausgabe des Feldes implizit. Ist "
"beispielsweise die Variable B<${Description}> auf »foo ist bar.${Newline}foo "
"ist super.« gesetzt und Sie haben das folgende Feld:"

#. type: Plain text
#: deb-substvars.5:50
#, no-wrap
msgid ""
" Description: foo application\n"
"  ${Description}\n"
"  .\n"
"  More text.\n"
msgstr ""
" Description: foo application\n"
"  ${Description}\n"
"  .\n"
"  Weiterer Text.\n"

#. type: Plain text
#: deb-substvars.5:52
msgid "It will result in:"
msgstr "Dann wird dies zu Folgenden führen:"

#. type: Plain text
#: deb-substvars.5:58
#, no-wrap
msgid ""
" Description: foo application\n"
"  foo is bar.\n"
"  foo is great.\n"
"  .\n"
"  More text.\n"
msgstr ""
" Description: foo application\n"
"  foo ist bar.\n"
"  foo ist super.\n"
"  .\n"
"  Weiterer Text.\n"

#. type: Plain text
#: deb-substvars.5:71
msgid ""
"Variables can be set using the B<-V> common option. They can be also "
"specified in the file B<debian/substvars> (or whatever other file is "
"specified using the B<-T> option). This file consists of lines of the form "
"I<name>B<=>I<value>.  Trailing whitespace on each line, blank lines, and "
"lines starting with a B<#> symbol (comments) are ignored."
msgstr ""
"Variablen können über die allgemeine B<-V>-Option gesetzt werden. Sie können "
"auch in der B<debian/substvars> (bzw. in der über die Option B<-T> gesetzten "
"Datei) angegeben werden. Diese Datei besteht auch Zeilen der Form "
"I<Name>B<=>I<Wert>. Leerzeichen am Zeilenende, leere Zeilen und Zeilen, die "
"mit dem B<#>-Symbol starten (Kommentare) werden ignoriert."

#. type: Plain text
#: deb-substvars.5:73
msgid "Additionally, the following standard variables are available:"
msgstr "Zusätzlich sind die folgenden Standardvariablen verfügbar:"

#. type: TP
#: deb-substvars.5:73
#, no-wrap
msgid "B<Arch>"
msgstr "B<Arch>"

#. type: Plain text
#: deb-substvars.5:77
msgid "The current build architecture (from B<dpkg --print-architecture>)."
msgstr "Die aktuelle Bau-Architektur (von B<dpkg --print-architecture>)."

#. type: TP
#: deb-substvars.5:77
#, no-wrap
msgid "B<source:Version>"
msgstr "B<source:Version>"

#. type: Plain text
#: deb-substvars.5:80
msgid "The source package version."
msgstr "Die Quellpaket-Version."

#. type: TP
#: deb-substvars.5:80
#, no-wrap
msgid "B<source:Upstream-Version>"
msgstr "B<source:Upstream-Version>"

#. type: Plain text
#: deb-substvars.5:84
msgid ""
"The upstream source package version, including the Debian version epoch if "
"any."
msgstr ""
"Die Paketversion der Originalautoren, einschließlich der Epoche der Debian-"
"Version, falls vorhanden."

#. type: TP
#: deb-substvars.5:84
#, no-wrap
msgid "B<binary:Version>"
msgstr "B<binary:Version>"

#. type: Plain text
#: deb-substvars.5:88
msgid ""
"The binary package version (which may differ from source:Version in a binNMU "
"for example)."
msgstr ""
"Die Binärpaketversion (die z.B. in einem binNMU von source:Version abweichen "
"kann)."

#. type: TP
#: deb-substvars.5:88
#, no-wrap
msgid "B<Source-Version>"
msgstr "B<Source-Version>"

#. type: Plain text
#: deb-substvars.5:93
msgid ""
"The source package version (from the changelog file). This variable is now "
"B<deprecated> as its meaning is different from its function, please use the "
"B<source:Version> or B<binary:Version> as appropriate."
msgstr ""
"Die Quellpaketversion (aus der changelog-Datei). Diese Variable ist jetzt "
"B<veraltet>, da ihre Bedeutung von ihrer Funktion abweicht, bitte verwenden "
"Sie B<source:Version> oder B<binary:Version> wo zutreffend."

#. type: TP
#: deb-substvars.5:93
#, no-wrap
msgid "B<Installed-Size>"
msgstr "B<Installed-Size>"

#. type: Plain text
#: deb-substvars.5:102
msgid ""
"The total size of the package's installed files. This value is copied into "
"the corresponding control file field; setting it will modify the value of "
"that field. If this variable isn't set B<dpkg-gencontrol> will use B<du -k "
"debian/tmp> to find the default value."
msgstr ""
"Die Gesamtgröße der vom Paket installierten Dateien. Dieser Wert wird in das "
"entsprechende Feld der »control«-Datei kopiert; wird es gesetzt, verändert "
"es den Wert dieses Feldes. Falls diese Variable nicht gesetzt ist, wird "
"B<dpkg-gencontrol> »B<du -k debian/tmp>« verwenden, um den Standardwert zu "
"ermitteln."

#. type: TP
#: deb-substvars.5:102
#, no-wrap
msgid "B<Extra-Size>"
msgstr "B<Extra-Size>"

#. type: Plain text
#: deb-substvars.5:111
msgid ""
"Additional disk space used when the package is installed. If this variable "
"is set its value is added to that of the B<Installed-Size> variable (whether "
"set explicitly or using the default value) before it is copied into the "
"B<Installed-Size> control file field."
msgstr ""
"Zusätzlicher Plattenplatz, der verwendet wird, wenn das Paket installiert "
"ist. Falls diese Variable gesetzt ist, wird dieser Wert zu der B<Installed-"
"Size>-Variablen hinzuaddiert (egal ob sie explizit gesetzt oder der "
"Standardwert verwendet wird), bevor sie in das Feld B<Installed-Size> der "
"»control«-Datei kopiert wird."

#. type: TP
#: deb-substvars.5:111
#, no-wrap
msgid "B<F:>I<fieldname>"
msgstr "B<F:>I<Feldname>"

#. type: Plain text
#: deb-substvars.5:118
msgid ""
"The value of the output field I<fieldname> (which must be given in the "
"canonical capitalisation). Setting these variables has no effect other than "
"on places where they are expanded explicitly."
msgstr ""
"Der Wert des Ausgabefeldes I<Feldname> (der in der kanonischen Groß-/"
"Kleinschreibung angegeben werden muss). Das Setzen dieser Variablen hat nur "
"einen Effekt an den Stellen, wo diese explizit expandiert werden."

#. type: TP
#: deb-substvars.5:118
#, no-wrap
msgid "B<Format>"
msgstr "B<Format>"

#. type: Plain text
#: deb-substvars.5:128
msgid ""
"The B<.changes> file format version generated by this version of the source "
"packaging scripts. If you set this variable the contents of the B<Format> "
"field in the B<.changes> file will change too."
msgstr ""
"Die Formatversion der B<.changes>-Datei, die von dieser Version der "
"Quellpaketierskripte erstellt wird. Falls Sie diese Variable setzen, werden "
"die Inhalte des B<Format>-Feldes in der B<.changes>-Datei auch geändert."

#. type: TP
#: deb-substvars.5:128
#, no-wrap
msgid "B<Newline>, B<Space>, B<Tab>"
msgstr "B<Newline>, B<Space>, B<Tab>"

#. type: Plain text
#: deb-substvars.5:131
msgid "These variables each hold the corresponding character."
msgstr ""
"Diese Variablen enthalten das jeweils korrespondieren Zeichen "
"(B<Zeilenumbruch>, B<Leerzeichen> und B<Tabulator> in dieser Reihenfolge)."

#. type: TP
#: deb-substvars.5:131
#, no-wrap
msgid "B<shlibs:>I<dependencyfield>"
msgstr "B<shlibs:>I<dependencyfield>"

#. type: Plain text
#: deb-substvars.5:135
msgid ""
"Variable settings with names of this form are generated by B<dpkg-shlibdeps>."
msgstr ""
"Variableneinstellungen mit Namen dieser Form werden von B<dpkg-shlibdeps> "
"erstellt."

#. type: TP
#: deb-substvars.5:135
#, no-wrap
msgid "B<dpkg:Upstream-Version>"
msgstr "B<dpkg:Upstream-Version>"

#. type: Plain text
#: deb-substvars.5:138
msgid "The upstream version of dpkg."
msgstr "Die Original- (Upstream-)Version von Dpkg."

#. type: TP
#: deb-substvars.5:138
#, no-wrap
msgid "B<dpkg:Version>"
msgstr "B<dpkg:Version>"

#. type: Plain text
#: deb-substvars.5:141
msgid "The full version of dpkg."
msgstr "Die komplette Version von Dpkg."

#. type: Plain text
#: deb-substvars.5:144
msgid ""
"If a variable is referred to but not defined it generates a warning and an "
"empty value is assumed."
msgstr ""
"Falls auf eine Variable Bezug genommen wird, diese aber nicht definiert ist, "
"wird es eine Warnung erstellen und ein leerer Wert wird angenommen."

#. type: SH
#: deb-substvars.5:145 dpkg.1:627 dpkg-architecture.1:284 dpkg.cfg.5:12
#: dpkg-buildflags.1:121 dpkg-distaddfile.1:39 dpkg-divert.8:122
#: dpkg-genchanges.1:138 dpkg-gencontrol.1:128 dpkg-parsechangelog.1:115
#: dpkg-split.1:206 dpkg-statoverride.8:74 dselect.cfg.5:12
#: update-alternatives.8:360
#, no-wrap
msgid "FILES"
msgstr "DATEIEN"

#. type: TP
#: deb-substvars.5:146
#, no-wrap
msgid "B<debian/substvars>"
msgstr "B<debian/substvars>"

#. type: Plain text
#: deb-substvars.5:149
msgid "List of substitution variables and values."
msgstr "Liste von Substitutionsvariablen und -werten."

#. type: SH
#: deb-substvars.5:150 dpkg.1:780 dpkg-buildpackage.1:244 dpkg-deb.1:238
#: dpkg-name.1:86 dpkg-source.1:722 dpkg-split.1:199 dselect.1:429
#: update-alternatives.8:486
#, no-wrap
msgid "BUGS"
msgstr "FEHLER"

#. type: Plain text
#: deb-substvars.5:153 dpkg-source.1:725
msgid ""
"The point at which field overriding occurs compared to certain standard "
"output field settings is rather confused."
msgstr ""
"Die Stelle, an der das Überschreiben von Feldern passiert, verglichen mit "
"bestimmten Standard-Ausgabe-Feldeinstellungen, ist eher konfus."

#. type: Plain text
#: deb-substvars.5:160
msgid ""
"B<dpkg>(1), B<dpkg-genchanges>(1), B<dpkg-gencontrol>(1), B<dpkg-shlibdeps>"
"(1), B<dpkg-source>(1)."
msgstr ""
"B<dpkg>(1), B<dpkg-genchanges>(1), B<dpkg-gencontrol>(1), B<dpkg-shlibdeps>"
"(1), B<dpkg-source>(1)."

#. type: SH
#: deb-substvars.5:161 dpkg-architecture.1:303 dpkg.cfg.5:19
#: dpkg-buildflags.1:266 dpkg-checkbuilddeps.1:40 dpkg-deb.1:265
#: dpkg-divert.8:135 dpkg-mergechangelogs.1:66 dpkg-name.1:104
#: dpkg-query.1:214 dpkg-scansources.1:76 dpkg-split.1:223
#: dpkg-statoverride.8:87 dpkg-vendor.1:48 dselect.cfg.5:19
#, no-wrap
msgid "AUTHOR"
msgstr "AUTOR"

#. type: Plain text
#: deb-substvars.5:163 dpkg-buildpackage.1:259 dpkg-distaddfile.1:49
#: dpkg-deb.1:267 dpkg-genchanges.1:150 dpkg-gencontrol.1:144
#: dpkg-parsechangelog.1:125 dpkg-shlibdeps.1:331 dpkg-source.1:732
#: dpkg-split.1:225
msgid "Copyright \\(co 1995-1996 Ian Jackson"
msgstr "Copyright \\(co 1995-1996 Ian Jackson"

#. type: Plain text
#: deb-substvars.5:165 dpkg-buildpackage.1:261 dpkg-distaddfile.1:51
#: dpkg-genchanges.1:152 dpkg-gencontrol.1:146 dpkg-parsechangelog.1:127
#: dpkg-shlibdeps.1:333 dpkg-source.1:734 dpkg-statoverride.8:89
msgid "Copyright \\(co 2000 Wichert Akkerman"
msgstr "Copyright \\(co 2000 Wichert Akkerman"

#. type: TH
#: deb-symbols.5:2
#, no-wrap
msgid "deb-symbols"
msgstr "deb-symbols"

#. type: Plain text
#: deb-symbols.5:5
msgid "deb-symbols - Debian's extended shared library information file"
msgstr ""
"deb-symbols - Debians erweiterte Informationsdatei von Laufzeitbibliotheken"

#. type: Plain text
#: deb-symbols.5:8
msgid "symbols"
msgstr "symbols"

#. type: Plain text
#: deb-symbols.5:12
msgid ""
"The format for an extended shared library dependency information entry in "
"these files is:"
msgstr ""
"Das Format eines Eintrags für eine erweiterte Abhängigkeitsinformation einer "
"Laufzeitbibliothek (»shared library«) lautet:"

#. type: Plain text
#: deb-symbols.5:14
msgid "I<library-soname main-dependency-template>"
msgstr "I<Bibliotheks-Soname Hauptabhängigkeitsvorlage>"

#. type: Plain text
#: deb-symbols.5:16
msgid "[ | I<alternative-dependency-template> ]"
msgstr "[ | I<alternative-Abhängigkeitsvorlage> ]"

#. type: Plain text
#: deb-symbols.5:18
msgid "[ ... ]"
msgstr "[ ... ]"

#. type: Plain text
#: deb-symbols.5:20
msgid "[ * I<field-name>: I<field-value> ]"
msgstr "[ * I<Feldname>: I<Feldwert> ]"

#. type: Plain text
#: deb-symbols.5:23
#, no-wrap
msgid ""
"[ ... ]\n"
" I<symbol> I<minimal-version>[ I<id-of-dependency-template> ]\n"
msgstr ""
"[ ... ]\n"
" I<Symbol> I<Minimalversion>[ I<Kennung-der-Abhängigkeitsvorlage> ]\n"

#. type: Plain text
#: deb-symbols.5:29
msgid ""
"The I<library-soname> is exactly the value of the SONAME field as exported "
"by B<objdump>(1). A I<dependency-template> is a dependency where I<#MINVER#> "
"is dynamically replaced either by a version check like \"(E<gt>= I<minimal-"
"version>)\" or by nothing (if an unversioned dependency is deemed "
"sufficient)."
msgstr ""
"Der I<Bibliotheks-Soname> ist genau der Wert des SONAME-Feldes, wie er von "
"B<objdump>(1) exportiert wird. Eine I<Abhängigkeitsvorlage> ist eine "
"Abhängigkeit, in der I<#MINVER#> dynamisch entweder von einer "
"Versionsprüfung der Art »(E<gt>= I<Minimalversion>)« oder durch nichts "
"ersetzt wird, falls eine nicht-versionierte Abhängigkeit als ausreichend "
"erachtet wird."

#. type: Plain text
#: deb-symbols.5:36
msgid ""
"Each exported I<symbol> (listed as I<name>@I<version>, with I<version> being "
"\"Base\" if the library is not versioned) is associated to a I<minimal-"
"version> of its dependency template (the main dependency template is used if "
"I<id-of-dependency-template> is not present). The first alternative "
"dependency template is numbered 1, the second one 2, etc."
msgstr ""
"Jedem exportierten I<Symbol> (aufgeführt als I<Name>@I<Version>, mit "
"I<Version> als »Base«, falls die Bibliothek nicht versioniert ist) wird eine "
"I<Minimalversion> seiner Abhängigkeitsvorlage zugeordnet (die "
"Hauptabhängigkeitsvorlage wird verwandt, falls die I<Kennung-der-"
"Abhängigkeitsvorlage> nicht vorhanden ist). Die erste alternative "
"Abhängigkeitsvorlage wird mit 1 nummeriert, die zweite mit 2 usw."

#. type: Plain text
#: deb-symbols.5:43
msgid ""
"Each entry for a library can also have some fields of meta-information.  "
"Those fields are stored on lines starting with an asterisk. Currently, the "
"only valid field is I<Build-Depends-Package>, it indicates the name of the "
"\"-dev\" package associated to the library and is used by B<dpkg-shlibdeps> "
"to make sure that the dependency generated is at least as strict as the "
"corresponding build dependency."
msgstr ""
"Jeder Eintrag für eine Bibliothek kann auch einige Felder mit "
"Metainformationen enthalten. Diese Felder werden in Zeilen gespeichert, die "
"mit einem Stern beginnen. Derzeit ist I<Build-Depends-Package> das einzige "
"gültige Feld, es gibt den Namen des »-dev«-Pakets an, das der Bibliothek "
"zugeordnet ist, und wird von B<dpkg-shlibdeps> verwandt, um sicherzustellen, "
"dass die erstellte Abhängigkeit mindestens genauso strikt ist wie die "
"zugehörige Bau-Abhängigkeit."

#. type: SS
#: deb-symbols.5:44
#, no-wrap
msgid "Simple symbols file"
msgstr "Einfache Symboldatei"

#. type: Plain text
#: deb-symbols.5:50
#, no-wrap
msgid ""
"libftp.so.3 libftp3 #MINVER#\n"
" DefaultNetbuf@Base 3.1-1-6\n"
" FtpAccess@Base 3.1-1-6\n"
" [...]\n"
msgstr ""
"libftp.so.3 libftp3 #MINVER#\n"
" DefaultNetbuf@Base 3.1-1-6\n"
" FtpAccess@Base 3.1-1-6\n"
" [...]\n"

#. type: SS
#: deb-symbols.5:50
#, no-wrap
msgid "Advanced symbols file"
msgstr "Fortgeschrittene Symboldatei"

#. type: Plain text
#: deb-symbols.5:53
msgid "libGL.so.1 libgl1"
msgstr "libGL.so.1 libgl1"

#. type: Plain text
#: deb-symbols.5:55
msgid "| libgl1-mesa-glx #MINVER#"
msgstr "| libgl1-mesa-glx #MINVER#"

#. type: Plain text
#: deb-symbols.5:61
#, no-wrap
msgid ""
"* Build-Depends-Package: libgl1-mesa-dev\n"
" publicGlSymbol@Base 6.3-1\n"
" [...]\n"
" implementationSpecificSymbol@Base 6.5.2-7 1\n"
" [...]\n"
msgstr ""
"* Build-Depends-Package: libgl1-mesa-dev\n"
" publicGlSymbol@Base 6.3-1\n"
" [...]\n"
" implementationSpecificSymbol@Base 6.5.2-7 1\n"
" [...]\n"

#. type: Plain text
#: deb-symbols.5:63
msgid "B<http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>"
msgstr "B<http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>"

#. type: Plain text
#: deb-symbols.5:65
msgid "B<dpkg-shlibdeps>(1), B<dpkg-gensymbols>(1)."
msgstr "B<dpkg-shlibdeps>(1), B<dpkg-gensymbols>(1)."

#. type: TH
#: deb-triggers.5:1
#, no-wrap
msgid "deb-triggers"
msgstr "deb-triggers"

#. type: Plain text
#: deb-triggers.5:4
msgid "deb-triggers - package triggers"
msgstr "deb-triggers - Paket-Trigger"

#. type: Plain text
#: deb-triggers.5:7
msgid "triggers"
msgstr "triggers"

#. type: Plain text
#: deb-triggers.5:12
msgid ""
"A package declares its relationship to some trigger(s) by including a "
"I<triggers> file in its control archive (i.e. I<DEBIAN/triggers> during "
"package creation)."
msgstr ""
"Ein Paket erklärt seine Beziehung zu einigen Trigger(n) (deutsch: Auslösern) "
"indem es eine Datei I<triggers> in seinem Steuerarchiv (d.h. I<DEBIAN/"
"triggers> während der Paketerstellung) hinzunimmt."

#. type: Plain text
#: deb-triggers.5:16
msgid ""
"This file contains directives, one per line. Leading and trailing whitespace "
"and everything after the first B<#> on any line will be trimmed, and empty "
"lines will be ignored."
msgstr ""
"Diese Datei enthält Direktiven, eine pro Zeile. Leerzeichen am Anfang und "
"Ende sowie alles nach dem ersten B<#> werden in jeder Zeile entfernt und "
"leere Zeilen werden ignoriert."

#. type: Plain text
#: deb-triggers.5:18
msgid "The trigger control directives currently supported are:"
msgstr "Die derzeit unterstützten Steuerdirektiven für Trigger sind:"

#. type: Plain text
#: deb-triggers.5:22
msgid "B<interest> I<trigger-name>"
msgstr "B<interest> I<Trigger-Name>"

#. type: Plain text
#: deb-triggers.5:26
msgid "B<interest-noawait> I<trigger-name>"
msgstr "B<interest-noawait> I<Trigger-Name>"

#. type: Plain text
#: deb-triggers.5:33
msgid ""
"Specifies that the package is interested in the named trigger. All triggers "
"in which a package is interested must be listed using this directive in the "
"triggers control file. The \"noawait\" variant does not put the triggering "
"packages in triggers-awaited state. This should be used when the "
"functionality provided by the trigger is not crucial."
msgstr ""
"Gibt an, dass das Paket an dem benannten Trigger interessiert ist. Alle "
"Trigger, an denen ein Paket interessiert ist, müssen mit dieser Direktive in "
"der Trigger-Steuerdatei aufgeführt werden. Die Variante »noawait« setzt die "
"triggernden Pakete nicht in den Zustand »triggers-awaited«. Dies sollte "
"verwandt werden, wenn die von den Triggern bereitgestellte Funktionalität "
"nicht äußerst wichtig ist."

#. type: Plain text
#: deb-triggers.5:37
msgid "B<activate> I<trigger-name>"
msgstr "B<activate> I<Trigger-Name>"

#. type: Plain text
#: deb-triggers.5:41
msgid "B<activate-noawait> I<trigger-name>"
msgstr "B<activate-noawait> I<Trigger-Name>"

#. type: Plain text
#: deb-triggers.5:50
msgid ""
"Arranges that changes to this package's state will activate the specified "
"trigger. The trigger will be activated at the start of the following "
"operations: unpack, configure, remove (including for the benefit of a "
"conflicting package), purge and deconfigure.  The \"noawait\" variant does "
"not put the triggering packages in triggers-awaited state. This should be "
"used when the functionality provided by the trigger is not crucial."
msgstr ""
"Sorgt dafür, dass Änderungen an dem Zustand dieses Pakets einen "
"spezifizierten Trigger aktiviert. Der Trigger wird am Beginn folgender "
"Operationen aktiviert: unpack, configure, remove (hinzugefügt zum Nutzen von "
"Paketen, die im Konflikt zueinander stehen), purge und deconfigure. Die "
"Variante »noawait« setzt die triggernden Pakete nicht in den Zustand "
"»triggers-awaited«. Dies sollte verwandt werden, wenn die von den Triggern "
"bereitgestellte Funktionalität nicht äußerst wichtig ist."

#. type: Plain text
#: deb-triggers.5:58
msgid ""
"If this package disappears during the unpacking of another package the "
"trigger will be activated when the disappearance is noted towards the end of "
"the unpack. Trigger processing, and transition from triggers-awaited to "
"installed, does not cause activations.  In the case of unpack, triggers "
"mentioned in both the old and new versions of the package will be activated."
msgstr ""
"Falls dieses Paket während des Entpackens eines anderen Pakets verschwindet, "
"wird der Trigger aktiviert, wenn das Verschwinden während des Endes der "
"unpack-Operation bemerkt wird. Triggerverarbeitung und Übergänge von Trigger-"
"erwartend auf installiert führen nicht zu Aktivierungen. Im Falle von unpack "
"werden sowohl die in der alten als auch die in der neuen Version des Pakets "
"angegebenen Trigger aktiviert."

#. type: Plain text
#: deb-triggers.5:61
msgid ""
"Unknown directives are an error which will prevent installation of the "
"package."
msgstr ""
"Unbekannte Direktiven sind ein Fehler, der die Installation eines Pakets "
"verhindert."

#. type: Plain text
#: deb-triggers.5:66
msgid ""
"The \"-noawait\" variants are only supported by dpkg 1.16.1 or newer, and "
"will lead to errors if used with an older dpkg. It is thus recommended to "
"add a \"Pre-Depends: dpkg (E<gt>= 1.16.1)\" to any package that wish to use "
"those directives."
msgstr ""
"Die Varianten »-noawait« werden nur von Dpkg 1.16.1 oder neuer unterstützt "
"und werden bei älteren Dpkg zu Fehlern führen. Es wird daher empfohlen, ein "
"»Pre-Depends: dpkg (E<gt>= 1.16.1)« zu jedem Paket hinzuzufügen, dass diese "
"Direktiven nutzen möchte."

#. type: Plain text
#: deb-triggers.5:70
msgid ""
"B<dpkg-trigger>(1), B<dpkg>(1), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr ""
"B<dpkg-trigger>(1), B<dpkg>(1), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."

#. type: TH
#: dpkg.1:1
#, no-wrap
msgid "dpkg"
msgstr "dpkg"

#. type: TH
#: dpkg.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1 dpkg-deb.1:1
#: dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-query.1:1
#: dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.cfg.5:1
#, no-wrap
msgid "dpkg suite"
msgstr "dpkg-Programmsammlung"

#. type: Plain text
#: dpkg.1:4
msgid "dpkg - package manager for Debian"
msgstr "dpkg - Paketverwalter für Debian"

#. type: Plain text
#: dpkg.1:8
msgid "B<dpkg> [I<option>...] I<action>"
msgstr "B<dpkg> [I<Option>...] I<Aktionen>"

#. type: SH
#: dpkg.1:9
#, no-wrap
msgid "WARNING"
msgstr "WARNUNG"

#. type: Plain text
#: dpkg.1:13
msgid ""
"This manual is intended for users wishing to understand B<dpkg>'s command "
"line options and package states in more detail than that provided by B<dpkg "
"--help>."
msgstr ""
"Dieses Handbuch ist für Benutzer gedacht, die die Kommandozeilenoptionen und "
"Paketzustände von B<dpkg> detaillierter verstehen wollen, als durch B<dpkg --"
"help> beschrieben ist."

#. type: Plain text
#: dpkg.1:18
msgid ""
"It should I<not> be used by package maintainers wishing to understand how "
"B<dpkg> will install their packages. The descriptions of what B<dpkg> does "
"when installing and removing packages are particularly inadequate."
msgstr ""
"Es sollte I<nicht> von Paketbetreuern verwendet werden, die verstehen "
"wollen, wie B<dpkg> ihr Paket installieren wird. Die Beschreibung von den "
"Tätigkeiten von B<dpkg> beim Installieren und Entfernen von Paketen ist "
"besonders unzulänglich."

#. type: Plain text
#: dpkg.1:26
msgid ""
"B<dpkg> is a tool to install, build, remove and manage Debian packages. The "
"primary and more user-friendly front-end for B<dpkg> is B<aptitude>(1). "
"B<dpkg> itself is controlled entirely via command line parameters, which "
"consist of exactly one action and zero or more options. The action-parameter "
"tells B<dpkg> what to do and options control the behavior of the action in "
"some way."
msgstr ""
"B<dpkg> ist ein Werkzeug, um Debian-Pakete zu installieren, zu bauen und zu "
"verwalten. Die primäre und benutzerfreundlichere Oberfläche für B<dpkg> ist "
"B<aptitude>(1). B<dpkg> selbst wird komplett über Kommandozeilenoptionen "
"gesteuert, die aus genau einer Aktion und Null oder mehreren Optionen "
"bestehen. Der Aktionsparameter teilt B<dpkg> mit, was zu tun ist, und die "
"Optionen steuern die Aktionen in irgendeiner Weise."

#. type: Plain text
#: dpkg.1:33
msgid ""
"B<dpkg> can also be used as a front-end to B<dpkg-deb>(1) and B<dpkg-query>"
"(1). The list of supported actions can be found later on in the B<ACTIONS> "
"section. If any such action is encountered B<dpkg> just runs B<dpkg-deb> or "
"B<dpkg-query> with the parameters given to it, but no specific options are "
"currently passed to them, to use any such option the back-ends need to be "
"called directly."
msgstr ""
"B<dpkg> kann auch als Oberfläche für B<dpkg-deb>(1) und B<dpkg-query>(1) "
"verwendet werden. Die Liste der unterstützen Aktionen kann im Abschnitt "
"B<AKTIONEN> gefunden werden. Falls so eine Aktion angetroffen wird, führt "
"B<dpkg> einfach B<dpkg-deb> oder B<dpkg-query> mit den übergebenen "
"Parametern aus, allerdings werden derzeit keine spezifischen Optionen an "
"diese übergeben. Um solche Optionen zu verwenden, müssen die Backends direkt "
"aufgerufen werden."

#. type: SH
#: dpkg.1:34
#, no-wrap
msgid "INFORMATION ABOUT PACKAGES"
msgstr "INFORMATIONEN ÜBER PAKETE"

#. type: Plain text
#: dpkg.1:39
msgid ""
"B<dpkg> maintains some usable information about available packages. The "
"information is divided in three classes: B<states>, B<selection states> and "
"B<flags>. These values are intended to be changed mainly with B<dselect>."
msgstr ""
"B<dpkg> verwaltet einige nützliche Informationen über verfügbare Pakete. Die "
"Informationen sind in drei Klassen unterteilt: B<Status>, B<Auswahlstatus> "
"und B<Schalter>. Diese Werte sind hauptsächlich zur Änderung durch "
"B<dselect> gedacht."

#. type: SS
#: dpkg.1:39
#, no-wrap
msgid "PACKAGE STATES"
msgstr "PAKETZUSTÄNDE"

#. type: TP
#: dpkg.1:40
#, no-wrap
msgid "B<not-installed>"
msgstr "B<nicht-installiert>"

#. type: Plain text
#: dpkg.1:43
msgid "The package is not installed on your system."
msgstr "Das Paket ist nicht auf Ihrem System installiert."

#. type: TP
#: dpkg.1:43
#, no-wrap
msgid "B<config-files>"
msgstr "B<Config-Dateien>"

#. type: Plain text
#: dpkg.1:46
msgid "Only the configuration files of the package exist on the system."
msgstr "Nur die Konfigurationsdateien des Pakets existieren auf dem System."

#. type: TP
#: dpkg.1:46
#, no-wrap
msgid "B<half-installed>"
msgstr "B<halb-installiert>"

#. type: Plain text
#: dpkg.1:50
msgid ""
"The installation of the package has been started, but not completed for some "
"reason."
msgstr ""
"Die Installation des Paketes wurde begonnen, aber aus irgendeinem Grund "
"nicht abgeschlossen."

#. type: TP
#: dpkg.1:50
#, no-wrap
msgid "B<unpacked>"
msgstr "B<entpackt>"

#. type: Plain text
#: dpkg.1:53
msgid "The package is unpacked, but not configured."
msgstr "Das Paket ist entpackt, aber nicht konfiguriert."

#. type: TP
#: dpkg.1:53
#, no-wrap
msgid "B<half-configured>"
msgstr "B<halb-konfiguriert>"

#. type: Plain text
#: dpkg.1:57
msgid ""
"The package is unpacked and configuration has been started, but not yet "
"completed for some reason."
msgstr ""
"Das Paket ist entpackt und die Konfiguration wurde begonnen, aber aus "
"irgendeinem Grund nicht abgeschlossen."

#. type: TP
#: dpkg.1:57
#, no-wrap
msgid "B<triggers-awaited>"
msgstr "B<triggers-awaited>"

#. type: Plain text
#: dpkg.1:60
msgid "The package awaits trigger processing by another package."
msgstr "Das Paket erwartet Trigger-Verarbeitung durch ein anderes Paket."

#. type: TP
#: dpkg.1:60
#, no-wrap
msgid "B<triggers-pending>"
msgstr "B<triggers-pending>"

#. type: Plain text
#: dpkg.1:63
msgid "The package has been triggered."
msgstr "Das Paket wurde getriggert."

#. type: TP
#: dpkg.1:63
#, no-wrap
msgid "B<installed>"
msgstr "B<installiert>"

#. type: Plain text
#: dpkg.1:66
msgid "The package is unpacked and configured OK."
msgstr "Das Paket ist entpackt und konfigurierte korrekt."

#. type: SS
#: dpkg.1:66
#, no-wrap
msgid "PACKAGE SELECTION STATES"
msgstr "PAKETAUSWAHL-STATUS"

#. type: TP
#: dpkg.1:67
#, no-wrap
msgid "B<install>"
msgstr "B<installiere>"

#. type: Plain text
#: dpkg.1:70
msgid "The package is selected for installation."
msgstr "Das Paket ist zur Installation ausgewählt."

#. type: TP
#: dpkg.1:70
#, no-wrap
msgid "B<hold>"
msgstr "B<halten>"

#. type: Plain text
#: dpkg.1:74
msgid ""
"A package marked to be on B<hold> is not handled by B<dpkg>, unless forced "
"to do that with option B<--force-hold>."
msgstr ""
"Ein Paket, das mit B<halten> markiert ist, wird von B<dpkg> nicht behandelt, "
"es sei denn Sie erzwingen dies mit der Option B<--force-hold>."

#. type: TP
#: dpkg.1:74
#, no-wrap
msgid "B<deinstall>"
msgstr "B<deinstalliere>"

#. type: Plain text
#: dpkg.1:78
msgid ""
"The package is selected for deinstallation (i.e. we want to remove all "
"files, except configuration files)."
msgstr ""
"Das Paket ist zur Deinstallation ausgewählt (d.h. wir wollen alle Dateien "
"außer den Konfigurationsdateien entfernen)."

#. type: TP
#: dpkg.1:78
#, no-wrap
msgid "B<purge>"
msgstr "B<vollständig löschen>"

#. type: Plain text
#: dpkg.1:82
msgid ""
"The package is selected to be purged (i.e. we want to remove everything from "
"system directories, even configuration files)."
msgstr ""
"Das Paket ist zum vollständigen Löschen (»purge«) ausgewählt (d.h. wir "
"wollen alle Dateien aus den Systemverzeichnissen inklusive der "
"Konfigurationsdateien entfernen)."

#. type: SS
#: dpkg.1:82
#, no-wrap
msgid "PACKAGE FLAGS"
msgstr "PAKET-SCHALTER"

#. type: TP
#: dpkg.1:83
#, no-wrap
msgid "B<reinst-required>"
msgstr "B<Neuinst. notw>"

#. type: Plain text
#: dpkg.1:88
msgid ""
"A package marked B<reinst-required> is broken and requires reinstallation. "
"These packages cannot be removed, unless forced with option B<--force-remove-"
"reinstreq>."
msgstr ""
"Ein mit B<Neuinst. notw> markiertes Paket ist defekt und muss erneut "
"installiert werden. Diese Pakete können nicht entfernt werden, es sei denn, "
"Sie erzwingen dies mit der Option B<--force-remove-reinstreq>."

#. type: SH
#: dpkg.1:89 dselect.1:120
#, no-wrap
msgid "ACTIONS"
msgstr "AKTIONEN"

#. type: TP
#: dpkg.1:90
#, no-wrap
msgid "B<-i>, B<--install> I<package-file>..."
msgstr "B<-i>, B<--install> I<Paketdatei>..."

#. type: Plain text
#: dpkg.1:94
msgid ""
"Install the package. If B<--recursive> or B<-R> option is specified, "
"I<package-file> must refer to a directory instead."
msgstr ""
"Installiere das Paket. Falls die B<--recursive> oder B<-R>-Option angegeben "
"ist, muss sich I<Paketdatei> stattdessen auf ein Verzeichnis beziehen."

#. type: Plain text
#: dpkg.1:96
msgid "Installation consists of the following steps:"
msgstr "Die Installation besteht aus folgenden Schritten:"

#. type: Plain text
#: dpkg.1:99
msgid "B<1.> Extract the control files of the new package."
msgstr "B<1.> Extrahiere die Steuerdateien aus dem neuen Paket."

#. type: Plain text
#: dpkg.1:103
msgid ""
"B<2.> If another version of the same package was installed before the new "
"installation, execute I<prerm> script of the old package."
msgstr ""
"B<2.> Falls eine andere Version des gleichen Pakets vor der der neuen "
"Installation installiert war, dann führe das I<prerm>-Skript des alten "
"Paketes aus."

#. type: Plain text
#: dpkg.1:106
msgid "B<3.> Run I<preinst> script, if provided by the package."
msgstr ""
"B<3.> Führe das I<preinst>-Skript aus, falls dies vom Paket bereitgestellt "
"wird."

#. type: Plain text
#: dpkg.1:110
msgid ""
"B<4.> Unpack the new files, and at the same time back up the old files, so "
"that if something goes wrong, they can be restored."
msgstr ""
"B<4.> Entpacke die neuen Dateien und sichere gleichzeitig die alten Dateien, "
"so dass diese, falls etwas schief geht, wiederhergestellt werden können."

#. type: Plain text
#: dpkg.1:117
msgid ""
"B<5.> If another version of the same package was installed before the new "
"installation, execute the I<postrm> script of the old package. Note that "
"this script is executed after the I<preinst> script of the new package, "
"because new files are written at the same time old files are removed."
msgstr ""
"B<5.> Falls eine andere Version des gleichen Pakets vor der der neuen "
"Installation installiert war, dann führe das I<postrm>-Skript des alten "
"Paketes aus. Beachten Sie, dass dieses Skript nach dem I<preinst>-Skript des "
"neuen Pakets ausgeführt wird, da neue Dateien zeitgleich zu der Entfernung "
"alter Dateien geschrieben werden."

#. type: Plain text
#: dpkg.1:121
msgid ""
"B<6.> Configure the package. See B<--configure> for detailed information "
"about how this is done."
msgstr ""
"B<6.> Konfiguriere das Paket. Lesen Sie B<--configure> für detaillierte "
"Informationen wie dies geschieht."

#. type: TP
#: dpkg.1:121
#, no-wrap
msgid "B<--unpack >I<package-file>..."
msgstr "B<--unpack >I<Paketdatei> ..."

#. type: Plain text
#: dpkg.1:126
msgid ""
"Unpack the package, but don't configure it. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Entpacke das Paket, aber konfiguriere es nicht. Falls die B<--recursive> "
"oder B<-R>-Option angegeben ist, muss sich I<Paketdatei> stattdessen auf ein "
"Verzeichnis beziehen."

#. type: TP
#: dpkg.1:126
#, no-wrap
msgid "B<--configure >I<package>...|B<-a>|B<--pending>"
msgstr "B<--configure >I<Paket> ...|B<-a>|B<--pending>"

#. type: Plain text
#: dpkg.1:131
msgid ""
"Configure a package which has been unpacked but not yet configured.  If B<-"
"a> or B<--pending> is given instead of I<package>, all unpacked but "
"unconfigured packages are configured."
msgstr ""
"Konfiguriert ein entpacktes aber noch nicht konfiguriertes Paket. Falls B<-"
"a> oder B<--pending> anstelle von I<Paket> angegeben ist, werden alle "
"entpackten aber nicht konfigurierten Pakete konfiguriert."

#. type: Plain text
#: dpkg.1:135
msgid ""
"To reconfigure a package which has already been configured, try the B<dpkg-"
"reconfigure>(8)  command instead."
msgstr ""
"Um ein Paket zu rekonfigurieren, dass bereits konfiguriert wurde, verwenden "
"Sie stattdessen den Befehl B<dpkg-reconfigure>(8)."

#. type: Plain text
#: dpkg.1:137
msgid "Configuring consists of the following steps:"
msgstr "Die Konfiguration besteht aus folgenden Schritten:"

#. type: Plain text
#: dpkg.1:142
msgid ""
"B<1.> Unpack the conffiles, and at the same time back up the old conffiles, "
"so that they can be restored if something goes wrong."
msgstr ""
"B<1.> Entpacke die Conffiles und sichere gleichzeitig die alten Conffiles, "
"so dass diese, falls etwas schief geht, wiederhergestellt werden können."

#. type: Plain text
#: dpkg.1:145
msgid "B<2.> Run I<postinst> script, if provided by the package."
msgstr ""
"B<2.> Führe das I<postinst>-Skript aus, falls dies vom Paket bereitgestellt "
"wird."

#. type: TP
#: dpkg.1:145
#, no-wrap
msgid "B<--triggers-only> I<package>...|B<-a>|B<--pending>"
msgstr "B<--triggers-only> I<Paket>...|B<-a>|B<--pending>"

#. type: Plain text
#: dpkg.1:152
msgid ""
"Processes only triggers. All pending triggers will be processed. If package "
"names are supplied only those packages' triggers will be processed, exactly "
"once each where necessary. Use of this option may leave packages in the "
"improper B<triggers-awaited> and B<triggers-pending> states. This can be "
"fixed later by running: B<dpkg --configure --pending>."
msgstr ""
"Verarbeite nur Trigger. Alle ausstehenden Trigger werden verarbeitet. Falls "
"Paketnamen übergeben werden, werden nur die Trigger dieser Pakete "
"verarbeitet, jedes genau einmal wo notwendig. Die Verwendung dieser Option "
"kann Pakete in die unzulässigen Stati B<triggers-awaited> und B<triggers-"
"pending> bringen. Durch die Ausführung von »B<dpkg --configure --pending>« "
"kann dies später behoben werden."

#. type: TP
#: dpkg.1:152
#, no-wrap
msgid "B<-r>, B<--remove>, B<-P>, B<--purge >I<package>...|B<-a>|B<--pending>"
msgstr "B<-r>, B<--remove>, B<-P>, B<--purge >I<Paket> ...|B<-a>|B<--pending>"

#. type: Plain text
#: dpkg.1:169
msgid ""
"Remove an installed package. B<-r> or B<--remove> remove everything except "
"conffiles. This may avoid having to reconfigure the package if it is "
"reinstalled later. (Conffiles are configuration files that are listed in the "
"I<DEBIAN/conffiles> control file). B<-P> or B<--purge> removes everything, "
"including conffiles. If B<-a> or B<--pending> is given instead of a package "
"name, then all packages unpacked, but marked to be removed or purged in file "
"I</var/lib/dpkg/status>, are removed or purged, respectively. Note: some "
"configuration files might be unknown to B<dpkg> because they are created and "
"handled separately through the configuration scripts. In that case, B<dpkg> "
"won't remove them by itself, but the package's I<postrm> script (which is "
"called by B<dpkg>), has to take care of their removal during purge. Of "
"course, this only applies to files in system directories, not configuration "
"files written to individual users' home directories."
msgstr ""
"Entferne ein installiertes Paket. B<-r> oder B<--remove> entfernen alles "
"außer Conffiles. Dies könnte die Rekonfiguration vermeiden, falls das Paket "
"später wieder reinstalliert wird. (Conffiles sind die Konfigurationsdateien, "
"die in der I<debian/conffiles>-Steuerdatei aufgeführt sind). B<-P> oder B<--"
"purge> entfernt alles, auch Conffiles. Falls B<-a> oder B<--pending> anstatt "
"eines Paketnamens angegeben werden, dann werden alle Pakete, die entpackt "
"aber zur Entfernung oder vollständigen Löschung in der Datei I</var/lib/dpkg/"
"status> markiert sind, entfernt beziehungsweise vollständig gelöscht. "
"Hinweis: Einige Konfigurationsdateien können B<dpkg> nicht bekannt sein, da "
"sie separat durch die Konfigurationsskripte angelegt und verwaltet werden. "
"In diesem Fall wird B<dpkg> sie nicht selbst entfernen sondern das Skript "
"I<postrm> (das von B<dpkg> aufgerufen wird) des Pakets muss sich während des "
"vollständigen Löschens um das Entfernen kümmern. Natürlich betrifft dies nur "
"Dateien in den Systemverzeichnissen, nicht Konfigurationsdateien, die in die "
"Home-Verzeichnisse der individuellen Benutzer geschrieben werden."

#. type: Plain text
#: dpkg.1:171
msgid "Removing of a package consists of the following steps:"
msgstr "Entfernung eines Paketes besteht aus den folgenden Schritte:"

#. type: Plain text
#: dpkg.1:174
msgid "B<1.> Run I<prerm> script"
msgstr "B<1.> Führe das I<prerm>-Skript aus"

#. type: Plain text
#: dpkg.1:177
msgid "B<2.> Remove the installed files"
msgstr "B<2.> Entferne die installierten Dateien"

#. type: Plain text
#: dpkg.1:180
msgid "B<3.> Run I<postrm> script"
msgstr "B<3.> Führe das I<postrm>-Skript aus"

#. type: TP
#: dpkg.1:181
#, no-wrap
msgid "B<--update-avail>, B<--merge-avail> I<Packages-file>"
msgstr "B<--update-avail>, B<--merge-avail> I<Packages-Datei>"

#. type: Plain text
#: dpkg.1:190
msgid ""
"Update B<dpkg>'s and B<dselect>'s idea of which packages are available. With "
"action B<--merge-avail>, old information is combined with information from "
"I<Packages-file>. With action B<--update-avail>, old information is replaced "
"with the information in the I<Packages-file>. The I<Packages-file> "
"distributed with Debian is simply named I<Packages>. B<dpkg> keeps its "
"record of available packages in I</var/lib/dpkg/available>."
msgstr ""
"Aktualisiere B<dpkg>s und B<dselect>s Verständnis darüber, welche Pakete "
"verfügbar sind. Mit der Aktion B<--merge-avail> wird alte Information mit "
"der Information aus der I<Packages-Datei> zusammengeführt. Mit der Aktion "
"B<--update-avail> wird die alte Information durch die Information aus der "
"I<Packages-Datei> ersetzt. Die mit Debian vertriebene I<Packages-Datei> "
"heißt einfach I<Packages>. B<dpkg> hält seine Aufzeichnungen über die "
"verfügbaren Pakete in I</var/lib/dpkg/available>."

#. type: Plain text
#: dpkg.1:195
msgid ""
"A simpler one-shot command to retrieve and update the I<available> file is "
"B<dselect update>. Note that this file is mostly useless if you don't use "
"B<dselect> but an APT-based frontend: APT has its own system to keep track "
"of available packages."
msgstr ""
"Ein einfacher Befehl, um die Datei I<available> in einem Rutsch zu holen und "
"zu aktualisieren ist B<dselect update>. Beachten Sie, dass diese Datei "
"nahezu nutzlos ist, falls Sie nicht B<dselect> sondern eine APT-basierte "
"Oberfläche verwenden: APT verfügt über sein eigenes System, die verfügbaren "
"Pakete zu überwachen."

#. type: TP
#: dpkg.1:195
#, no-wrap
msgid "B<-A>, B<--record-avail> I<package-file>..."
msgstr "B<-A>, B<--record-avail> I<Paketdatei> ..."

#. type: Plain text
#: dpkg.1:201
msgid ""
"Update B<dpkg> and B<dselect>'s idea of which packages are available with "
"information from the package I<package-file>. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Aktualisiere mit den Informationen aus dem Paket I<Paketdatei> B<dpkg>s und "
"B<dselect>s Verständnis darüber, welche Pakete verfügbar sind. Falls die B<--"
"recursive> oder B<-R>-Option angegeben ist, muss sich I<Paketdatei> "
"stattdessen auf ein Verzeichnis beziehen."

#. type: TP
#: dpkg.1:201
#, no-wrap
msgid "B<--forget-old-unavail>"
msgstr "B<--forget-old-unavail>"

#. type: Plain text
#: dpkg.1:205
msgid ""
"Now B<obsolete> and a no-op as B<dpkg> will automatically forget uninstalled "
"unavailable packages."
msgstr ""
"Jetzt B<veraltet> und ohne Funktion, da B<dpkg> automatisch nicht "
"installierte nicht verfügbare Pakete vergisst."

#. type: TP
#: dpkg.1:205
#, no-wrap
msgid "B<--clear-avail>"
msgstr "B<--clear-avail>"

#. type: Plain text
#: dpkg.1:208
msgid "Erase the existing information about what packages are available."
msgstr ""
"Lösche die existierenden Informationen darüber, welche Pakete verfügbar sind."

#. type: TP
#: dpkg.1:208
#, no-wrap
msgid " B<-C>, B<--audit>"
msgstr "B<-C>, B<--audit>"

#. type: Plain text
#: dpkg.1:213
msgid ""
"Searches for packages that have been installed only partially on your "
"system. B<dpkg> will suggest what to do with them to get them working."
msgstr ""
"Suche nach Pakete, die in Ihrem System nur teilweise installiert wurden. "
"B<dpkg> wird Vorschläge machen, was mit ihnen geschehen soll, um sie in "
"Funktion zu bringen."

#. type: TP
#: dpkg.1:213
#, no-wrap
msgid "B<--get-selections> [I<package-name-pattern>...]"
msgstr "B<--get-selections> [I<Paket-Name-Muster>...]"

#. type: Plain text
#: dpkg.1:218
msgid ""
"Get list of package selections, and write it to stdout. Without a pattern, "
"non-installed packages (i.e. those which have been previously purged)  will "
"not be shown."
msgstr ""
"Hole Liste von Paketauswahlen und schreibe sie auf die Standardausgabe. Ohne "
"Muster werden nicht-installierte Pakete (d.h. solche, die vorher "
"»vollständig gelöscht« wurden) nicht angezeigt."

#. type: TP
#: dpkg.1:218 update-alternatives.8:299
#, no-wrap
msgid "B<--set-selections>"
msgstr "B<--set-selections>"

#. type: Plain text
#: dpkg.1:224
msgid ""
"Set package selections using file read from stdin. This file should be in "
"the format 'I<package> I<state>', where state is one of B<install>, B<hold>, "
"B<deinstall> or B<purge>. Blank lines and comment lines beginning with '#' "
"are also permitted."
msgstr ""
"Setze die Paketauswahl durch Einlesen einer Datei von der Standardeingabe. "
"Diese Datei sollte im Format »I<Paket> I<Zustand>« sein, wobei Zustand einer "
"aus B<install>, B<hold>, B<deinstall> oder B<purge> ist. Leerzeilen und "
"Kommentarzeilen (beginnend mit »#«) sind auch erlaubt."

#. type: TP
#: dpkg.1:224
#, no-wrap
msgid "B<--clear-selections>"
msgstr "B<--clear-selections>"

#. type: Plain text
#: dpkg.1:229
msgid ""
"Set the requested state of every non-essential package to deinstall.  This "
"is intended to be used immediately before --set-selections, to deinstall any "
"packages not in list given to --set-selections."
msgstr ""
"Setze den erbetenen Zustand von jedem nicht-essenziellen Paket auf "
"»Deinstallation«. Dies ist dazu gedacht, direkt vor --set-selections "
"verwendet zu werden, um jedes Paket, dass nicht in der Liste von --set-"
"selections vorkommt, zu deinstallieren."

#. type: TP
#: dpkg.1:229
#, no-wrap
msgid "B<--yet-to-unpack>"
msgstr "B<--yet-to-unpack>"

#. type: Plain text
#: dpkg.1:233
msgid ""
"Searches for packages selected for installation, but which for some reason "
"still haven't been installed."
msgstr ""
"Sucht nach Paketen dir zur Installation ausgewählt wurden, die aber aus "
"irgendeinem Grund noch nicht installiert wurden."

#. type: TP
#: dpkg.1:234
#, no-wrap
msgid "B<--print-architecture>"
msgstr "B<--print-architecture>"

#. type: Plain text
#: dpkg.1:237
msgid ""
"Print architecture of packages B<dpkg> installs (for example, \"i386\")."
msgstr ""
"Gebe die Architektur der Pakete aus, die B<dpkg> installiert (beispielsweise "
"»i386«)."

#. type: TP
#: dpkg.1:237
#, no-wrap
msgid "B<--compare-versions >I<ver1 op ver2>"
msgstr "B<--compare-versions >I<Ver1 Op Ver2>"

#. type: Plain text
#: dpkg.1:248
msgid ""
"Compare version numbers, where I<op> is a binary operator. B<dpkg> returns "
"success (zero result) if the specified condition is satisfied, and failure "
"(nonzero result) otherwise. There are two groups of operators, which differ "
"in how they treat an empty I<ver1> or I<ver2>. These treat an empty version "
"as earlier than any version: B<lt le eq ne ge gt>. These treat an empty "
"version as later than any version: B<lt-nl le-nl ge-nl gt-nl>. These are "
"provided only for compatibility with control file syntax: B<E<lt> E<lt>E<lt> "
"E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."
msgstr ""
"Vergleiche Versionsnummern, wobei I<Op> ein binärer Operator ist. B<dpkg> "
"liefert Erfolg (Nullergebnis) falls die angegebene Bedingung erfüllt ist und "
"einen Fehler (nicht-Null-Ergebnis) andernfalls. Es gibt zwei Gruppen von "
"Operatoren, die sich in der Behandlung von leeren I<Ver1> oder I<Ver2> "
"unterscheiden. Die folgenden behandeln leere Versionen als jünger als jede "
"andere Version: B<lt le eq ne ge gt>. Die folgenden behandeln eine leere "
"Version als älter als jede Version: B<lt-nl le-nl ge-nl gt-nl>. Die "
"folgenden sind nur aus Kompatibilität mit der Steuerdateisyntax "
"bereitgestellt: B<E<lt> E<lt>E<lt> E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."

#. type: TP
#: dpkg.1:248
#, no-wrap
msgid "B<--command-fd >I<n>"
msgstr "B<--command-fd >I<n>"

#. type: Plain text
#: dpkg.1:253
msgid ""
"Accept a series of commands on input file descriptor I<n>. Note: additional "
"options set on the command line, and through this file descriptor, are not "
"reset for subsequent commands executed during the same run."
msgstr ""
"Akzeptiert eine Reihe von Befehlen an Eingabe-Dateideskriptor I<n>. Hinweis: "
"Zusätzliche auf der Kommandozeile und durch diesen Dateideskriptor gesetzte "
"Optionen werden nicht für nachfolgende Befehle, die im gleichen Lauf "
"ausgeführt werden, zurückgesetzt."

#. type: TP
#: dpkg.1:253 dpkg-architecture.1:60 dpkg-buildflags.1:89 dpkg-divert.8:71
#: dpkg-mergechangelogs.1:38 dpkg-scansources.1:66 dpkg-statoverride.8:44
#: dpkg-vendor.1:28 dselect.1:113 update-alternatives.8:316
#, no-wrap
msgid "B<--help>"
msgstr "B<--help>"

#. type: Plain text
#: dpkg.1:256
msgid "Display a brief help message."
msgstr "Zeige eine kurze Hilfenachricht an."

#. type: TP
#: dpkg.1:256
#, no-wrap
msgid "B<--force-help>"
msgstr "B<--force-help>"

#. type: Plain text
#: dpkg.1:259
msgid "Give help about the B<--force->I<thing> options."
msgstr "Gebe Hilfe über die B<--force->I<Sache>-Optionen."

#. type: TP
#: dpkg.1:259
#, no-wrap
msgid "B<-Dh>, B<--debug=help>"
msgstr "B<-Dh>, B<--debug=help>"

#. type: Plain text
#: dpkg.1:262
msgid "Give help about debugging options."
msgstr "Gib Hilfe über Debugging-Optionen."

#. type: TP
#: dpkg.1:262 dpkg-architecture.1:63 dpkg-buildflags.1:92
#: dpkg-buildpackage.1:226 dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35
#: dpkg-deb.1:175 dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124
#: dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-parsechangelog.1:36
#: dpkg-query.1:113 dpkg-scanpackages.1:99 dpkg-scansources.1:68
#: dpkg-shlibdeps.1:218 dpkg-source.1:99 dpkg-split.1:129
#: dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31 dselect.1:116
#: update-alternatives.8:319
#, no-wrap
msgid "B<--version>"
msgstr "B<--version>"

#. type: Plain text
#: dpkg.1:265
msgid "Display B<dpkg> version information."
msgstr "Zeige B<dpkg> Versionsinformationen an."

#. type: TP
#: dpkg.1:265
#, no-wrap
msgid "B<dpkg-deb actions>"
msgstr "B<dpkg-deb-Aktionen>"

#. type: Plain text
#: dpkg.1:268
msgid "See B<dpkg-deb>(1) for more information about the following actions."
msgstr ""
"Lesen Sie B<dpkg-deb>(1) für weitere Informationen über die folgenden "
"Aktionen."

#. type: Plain text
#: dpkg.1:288
#, no-wrap
msgid ""
"B<-b>, B<--build> I<directory> [I<archive>|I<directory>]\n"
"    Build a deb package.\n"
"B<-c>, B<--contents> I<archive>\n"
"    List contents of a deb package.\n"
"B<-e>, B<--control> I<filename> [I<directory>]\n"
"    Extract control-information from a package.\n"
"B<-x>, B<--extract> I<archive directory>\n"
"    Extract the files contained by package.\n"
"B<-X>, B<--vextract> I<archive directory>\n"
"    Extract and display the filenames contained by a\n"
"    package.\n"
"B<-f>, B<--field>  I<archive> [I<control-field>...]\n"
"    Display control field(s) of a package.\n"
"B<--fsys-tarfile> I<archive>\n"
"    Display the filesystem tar-file contained by a\n"
"    Debian package.\n"
"B<-I>, B<--info> I<archive> [I<control-file>...]\n"
"    Show information about a package.\n"
msgstr ""
"B<-b>, B<--build> I<Verzeichnis> [I<Archiv>|I<Verzeichnis>]\n"
"    Baue ein deb-Paket.\n"
"B<-c>, B<--contents> I<Archiv>\n"
"    Liste den Inhalt eines deb-Paketes auf.\n"
"B<-e>, B<--control> I<Dateiname> [I<Verzeichnis>]\n"
"    Extrahiere Steuerinformationen von einem Paket.\n"
"B<-x>, B<--extract> I<Archiv Verzeichnis>\n"
"    Extrahiere die vom Paket enthaltenen Dateien.\n"
"B<-f>, B<--field> I<Archiv> [I<Steuerfeld>] ...\n"
"    Zeige das/die Steuerfeld(er) eines Paketes an.\n"
"B<--fsys-tarfile> I<Archiv>\n"
"    Zeige die von einem Debian-Paket enthaltene Dateisystem-Tardatei an.\n"
"B<-I>, B<--info> I<Archiv> [I<Steuerdatei>]\n"
"    Zeige Informationen über ein Paket.\n"

#. type: TP
#: dpkg.1:290
#, no-wrap
msgid "B<dpkg-query actions>"
msgstr "B<dpkg-query-Aktionen>"

#. type: Plain text
#: dpkg.1:293
msgid "See B<dpkg-query>(1) for more information about the following actions."
msgstr ""
"Lesen Sie B<dpkg-query>(1) für weitere Informationen über die folgenden "
"Aktionen."

#. type: Plain text
#: dpkg.1:308
#, no-wrap
msgid ""
"B<-l>, B<--list> I<package-name-pattern>...\n"
"    List packages matching given pattern.\n"
"B<-s>, B<--status> I<package-name>...\n"
"    Report status of specified package.\n"
"B<-L>, B<--listfiles> I<package-name>...\n"
"    List files installed to your system from I<package-name>.\n"
"B<-S>, B<--search> I<filename-search-pattern>...\n"
"    Search for a filename from installed packages.\n"
"B<-p>, B<--print-avail> I<package-name>...\n"
"    Display details about I<package-name>, as found in\n"
"    I</var/lib/dpkg/available>. Users of APT-based frontends\n"
"    should use B<apt-cache show> I<package-name> instead.\n"
msgstr ""
"B<-l>, B<--list> I<Paketnamen-Muster> ...\n"
"    Liste auf das übergebene Suchmuster passende Pakete auf.\n"
"B<-s>, B<--status> I<Paketname> ...\n"
"    Berichte den Status des spezifizierten Pakets.\n"
"B<-L>, B<--listfiles> I<Paketname> ...\n"
"    Liste die aus B<Paketname> auf Ihrem System installierten Dateien auf.\n"
"B<-S>, B<--search> I<Dateinamen-Suchmuster> ...\n"
"    Suche nach einem Dateinamen in installierten Paketen.\n"
"B<-p>, B<--print-avail> I<Paketname>\n"
"    Zeige Details über I<Paketname>, wie in I</var/lib/dpkg/available>\n"
"    gefunden. Benutzer von APT-basierten Oberflächen sollten stattdessen\n"
"    B<apt-cache show> I<Paketname> verwenden.\n"

#. type: SH
#: dpkg.1:310 dpkg-architecture.1:67 dpkg-buildpackage.1:50
#: dpkg-checkbuilddeps.1:18 dpkg-distaddfile.1:27 dpkg-deb.1:179
#: dpkg-divert.8:42 dpkg-genchanges.1:17 dpkg-gencontrol.1:37
#: dpkg-gensymbols.1:369 dpkg-mergechangelogs.1:27 dpkg-name.1:30
#: dpkg-parsechangelog.1:15 dpkg-query.1:117 dpkg-scanpackages.1:71
#: dpkg-scansources.1:44 dpkg-shlibdeps.1:106 dpkg-split.1:133
#: dpkg-statoverride.8:51 dpkg-trigger.1:38 dpkg-vendor.1:35 dselect.1:36
#: start-stop-daemon.8:103 update-alternatives.8:323
#, no-wrap
msgid "OPTIONS"
msgstr "OPTIONEN"

#. type: Plain text
#: dpkg.1:316
msgid ""
"All options can be specified both on the command line and in the B<dpkg> "
"configuration file I</etc/dpkg/dpkg.cfg> or the files on the configuration "
"directory I</etc/dpkg/dpkg.cfg.d/>. Each line in the configuration file is "
"either an option (exactly the same as the command line option but without "
"leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""
"Alle Optionen können auf der Kommandozeile, in der B<dpkg>-"
"Konfigurationsdatei I</etc/dpkg/dpkg.cfg> oder in den Dateien im "
"Konfigurationsverzeichnis I</etc/dpkg/dpkg.cfg.d/> angegeben werden. Jede "
"Zeile in der Konfigurationsdatei ist entweder eine Option (exakt die gleiche "
"wie die Befehlszeilenoption nur ohne führende Gedankenstriche) oder ein "
"Kommentar (falls sie mit B<#> beginnt)."

#. type: TP
#: dpkg.1:317
#, no-wrap
msgid "B<--abort-after=>I<number>"
msgstr "B<--abort-after=>I<Zahl>"

#. type: Plain text
#: dpkg.1:320
msgid "Change after how many errors B<dpkg> will abort. The default is 50."
msgstr ""
"Ändere nach wie vielen Fehlern B<dpkg> abbrechen wird. Der Standardwert ist "
"50."

#. type: TP
#: dpkg.1:320
#, no-wrap
msgid "B<-B>, B<--auto-deconfigure>"
msgstr "B<-B>, B<--auto-deconfigure>"

#. type: Plain text
#: dpkg.1:326
msgid ""
"When a package is removed, there is a possibility that another installed "
"package depended on the removed package. Specifying this option will cause "
"automatic deconfiguration of the package which depended on the removed "
"package."
msgstr ""
"Wenn ein Paket entfernt wird besteht die Möglichkeit, dass ein anderes "
"installiertes Paket von dem entfernten Paket abhängt. Die Angabe dieser "
"Option führt zur automatischen Dekonfiguration des Paketes, das von dem "
"entfernten Paket abhängt."

#. type: TP
#: dpkg.1:326
#, no-wrap
msgid "B<-D>I<octal>B<, --debug=>I<octal>"
msgstr "B<-D>I<Oktal>B<, --debug=>I<Oktal>"

#. type: Plain text
#: dpkg.1:332
msgid ""
"Switch debugging on. I<octal> is formed by bitwise-orring desired values "
"together from the list below (note that these values may change in future "
"releases). B<-Dh> or B<--debug=help> display these debugging values."
msgstr ""
"Schalte Debugging ein. I<Oktal> wird durch bitweise Oder-Verknüpfung der "
"gewünschten Werte von der nachfolgenden Liste gebildet (beachten Sie, dass "
"sich diese Werte in zukünftigen Veröffentlichungen verändern können). B<-Dh> "
"oder B<--debug=help> zeigen diese Debugging-Werte an."

#. type: Plain text
#: dpkg.1:347
#, no-wrap
msgid ""
"    Number   Description\n"
"         1   Generally helpful progress information\n"
"         2   Invocation and status of maintainer scripts\n"
"        10   Output for each file processed\n"
"       100   Lots of output for each file processed\n"
"        20   Output for each configuration file\n"
"       200   Lots of output for each configuration file\n"
"        40   Dependencies and conflicts\n"
"       400   Lots of dependencies/conflicts output\n"
"     10000   Trigger activation and processing\n"
"     20000   Lots of output regarding triggers\n"
"     40000   Silly amounts of output regarding triggers\n"
"      1000   Lots of drivel about e.g. the dpkg/info dir\n"
"      2000   Insane amounts of drivel\n"
msgstr ""
"  Nummer  Beschreibung\n"
"      1   Allgemein hilfreiche Fortschrittsinformationen\n"
"      2   Aufruf und Status der Betreuerskripte\n"
"     10   Ausgabe für jede verarbeitete Datei\n"
"    100   Umfangreiche Ausgabe für jede verarbeitete Datei\n"
"     20   Ausgabe für jede Konfigurationsdatei\n"
"    200   Umfangreiche Ausgabe für jede Konfigurationsdatei\n"
"     40   Abhängigkeiten und Konflikte\n"
"    400   Umfangreiche Abhängigkeiten/Konflikte-Ausgabe\n"
"  10000   Trigger-Aktivierung und -Verarbeitung\n"
"  20000   Umfangreiche Ausgabe bezüglich Trigger\n"
"  40000   Alberne Menge an Ausgabe bezüglich Trigger\n"
"   1000   Umfangreiches Gelaber beispielsweise über das dpkg/info-Verzeichnis\n"
"   2000   Verrückte Mengen an Gelaber\n"

#. type: TP
#: dpkg.1:347
#, no-wrap
msgid "B<--force->I<things>, B<--no-force->I<things>, B<--refuse->I<things>"
msgstr "B<--force->I<Sachen>, B<--no-force->I<Sachen>, B<--refuse->I<Sachen>"

#. type: Plain text
#: dpkg.1:354
msgid ""
"Force or refuse (B<no-force> and B<refuse> mean the same thing)  to do some "
"things. I<things> is a comma separated list of things specified below. B<--"
"force-help> displays a message describing them.  Things marked with (*) are "
"forced by default."
msgstr ""
"Erzwinge oder verweigere (B<no-force> und B<refuse> bedeuten das gleiche) "
"bestimmte Sachen. I<Sachen> ist eine Komma-separierte Liste von Dingen, die "
"im folgenden beschrieben sind. B<--force-help> zeigt eine Nachricht an, die "
"diese beschreibt. Mit (*) markierte Dinge werden standardmäßig erzwungen."

#. type: Plain text
#: dpkg.1:358
msgid ""
"I<Warning: These options are mostly intended to be used by experts only. "
"Using them without fully understanding their effects may break your whole "
"system.>"
msgstr ""
"I<Warnung. Diese Optionen sind hauptsächlich für den Einsatz durch Experten "
"gedacht. Der Einsatz ohne komplettes Verständnis der Effekte kann Ihr "
"gesamtes System zerstören.>"

#. type: Plain text
#: dpkg.1:361
msgid "B<all>: Turns on (or off) all force options."
msgstr "B<all>: Schaltet alle »force«-Optionen ein (oder aus)."

#. type: Plain text
#: dpkg.1:364
msgid ""
"B<downgrade>(*): Install a package, even if newer version of it is already "
"installed."
msgstr ""
"B<downgrade>(*): Installiere ein Paket, selbst wenn eine neuere Version "
"davon bereits installiert ist."

#. type: Plain text
#: dpkg.1:371
msgid ""
"I<Warning: At present dpkg does not do any dependency checking on downgrades "
"and therefore will not warn you if the downgrade breaks the dependency of "
"some other package. This can have serious side effects, downgrading "
"essential system components can even make your whole system unusable. Use "
"with care.>"
msgstr ""
"I<Warnung: Derzeit führt Dpkg keine Abhängigkeitsüberprüfung bei der "
"Installation älterer Versionen (als bereits installiert) durch (sog. "
"Downgrade) und wird Sie daher nicht warnen, falls dadurch die Abhängigkeit "
"eines anderen Pakets nicht mehr erfüllt ist. Dies kann ernsthafte "
"Seiteneffekte haben, ein Downgrade einer essenziellen Systemkomponente kann "
"Ihr gesamtes System unbrauchbar machen. Verwenden Sie diese Option mit "
"Vorsicht.>"

#. type: Plain text
#: dpkg.1:375
msgid ""
"B<configure-any>: Configure also any unpacked but unconfigured packages on "
"which the current package depends."
msgstr ""
"B<configure-any>: Konfiguriere auch jedes entpackte, aber unkonfigurierte "
"Paket von dem das aktuelle Paket abhängt."

#. type: Plain text
#: dpkg.1:378
msgid "B<hold>: Process packages even when marked \"hold\"."
msgstr "B<hold>: Verarbeite auch Pakete, die mit »halten« markiert sind."

#. type: Plain text
#: dpkg.1:383
msgid ""
"B<remove-reinstreq>: Remove a package, even if it's broken and marked to "
"require reinstallation. This may, for example, cause parts of the package to "
"remain on the system, which will then be forgotten by B<dpkg>."
msgstr ""
"B<remove-reinstreq>: Entferne ein Paket, selbst falls es defekt ist und zur "
"Neuinstallation markiert ist. Dies kann beispielsweise dazu führen, dass "
"Teile des Pakets auf dem System bleiben und von B<dpkg> vergessen werden."

#. type: Plain text
#: dpkg.1:388
msgid ""
"B<remove-essential>: Remove, even if the package is considered essential. "
"Essential packages contain mostly very basic Unix commands. Removing them "
"might cause the whole system to stop working, so use with caution."
msgstr ""
"B<remove-essential>: Entferne, selbst falls das Paket als essenziell "
"betrachtet wird. Essenzielle Pakete enthalten hauptsächlich sehr "
"grundlegende Unix-Befehle. Diese zu entfernen kann dazu führen, dass das "
"gesamte System nicht mehr arbeitet - verwenden Sie diese Option daher mit "
"Vorsicht."

#. type: Plain text
#: dpkg.1:391
msgid "B<depends>: Turn all dependency problems into warnings."
msgstr "B<depends>: Verwandle alle Abhängigkeitsprobleme in Warnungen."

#. type: Plain text
#: dpkg.1:394
msgid ""
"B<depends-version>: Don't care about versions when checking dependencies."
msgstr ""
"B<depends-version>: Ignoriere Versionen bei der Prüfung von Abhängigkeiten."

#. type: Plain text
#: dpkg.1:397
msgid "B<breaks>: Install, even if this would break another package."
msgstr ""
"B<breaks>: Installiere, selbst falls dies ein anderes Paket beschädigt."

#. type: Plain text
#: dpkg.1:401
msgid ""
"B<conflicts>: Install, even if it conflicts with another package. This is "
"dangerous, for it will usually cause overwriting of some files."
msgstr ""
"B<conflicts>: Installiere, selbst wenn es mit einem anderen Paket in "
"Konflikt steht. Dies ist gefährlich, da dies gewöhnlich dazu führt, dass "
"einige Dateien überschrieben werden."

#. type: Plain text
#: dpkg.1:406
msgid ""
"B<confmiss>: Always install a missing conffile. This is dangerous, since it "
"means not preserving a change (removing) made to the file."
msgstr ""
"B<confmiss>: Installiere immer ein fehlendes Conffile. Dies ist gefährlich, "
"da es bedeutet, dass eine Änderung (die Entfernung) an der Datei nicht "
"erhalten wird."

#. type: Plain text
#: dpkg.1:411
msgid ""
"B<confnew>: If a conffile has been modified always install the new version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""
"B<confnew>: Falls eine Conffile modifiziert wurde, installiere immer die "
"neue Version ohne Rückfrage, es sei denn, B<--force-confdef> ist ebenfalls "
"angegeben, in welchem Falle die Standardaktion bevorzugt wird."

#. type: Plain text
#: dpkg.1:416
msgid ""
"B<confold>: If a conffile has been modified always keep the old version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""
"B<confold>: Falls eine Conffile modifiziert wurde, behalte immer die alte "
"Version ohne Rückfrage, es sei denn, B<--force-confdef> ist ebenfalls "
"angegeben, in welchem Falle die Standardaktion bevorzugt wird."

#. type: Plain text
#: dpkg.1:422
msgid ""
"B<confdef>: If a conffile has been modified always choose the default "
"action. If there is no default action it will stop to ask the user unless "
"B<--force-confnew> or B<--force-confold> is also been given, in which case "
"it will use that to decide the final action."
msgstr ""
"B<confdef>: Falls eine Conffile verändert wurde, wähle immer die "
"Standardaktion. Falls es keine Standardaktion gibt, halte an um den Benutzer "
"zu fragen, es sei denn, B<--force-confnew> oder B<--force-confold> sind "
"ebenfalls angegeben, in welchem Falle dies verwendet wird, um die "
"letztendliche Aktion zu bestimmen."

#. type: Plain text
#: dpkg.1:429
msgid ""
"B<confask>: If a conffile has been modified always offer to replace it with "
"the version in the package, even if the version in the package did not "
"change. If any of B<--force-confmiss>, B<--force-confnew>, B<--force-"
"confold>, or B<--force-confdef> is also given, it will be used to decide the "
"final action."
msgstr ""
"B<confask>: Falls eine Conffile verändert wurde, biete immer an, sie durch "
"die Version aus dem Paket zu ersetzen, selbst falls sich die Version in dem "
"Paket nicht geändert hat. Falls auch einer von B<--force-confmiss>, B<--"
"force-confnew>, B<--force-confold> oder B<--force-confdef> angegeben wird, "
"wird sie dazu verwandt, die letztendliche Aktion zu ermitteln."

#. type: Plain text
#: dpkg.1:432
msgid "B<overwrite>: Overwrite one package's file with another's file."
msgstr ""
"B<overwrite>: Überschreibe die Datei aus einem Paket mit einer Datei aus "
"einem anderen Paket."

#. type: Plain text
#: dpkg.1:435
msgid "B<overwrite-dir> Overwrite one package's directory with another's file."
msgstr ""
"B<overwrite-dir> Überschreibe das Verzeichnis aus einem Paket mit einer "
"Datei aus einem anderen Paket."

#. type: Plain text
#: dpkg.1:438
msgid ""
"B<overwrite-diverted>: Overwrite a diverted file with an undiverted version."
msgstr ""
"B<overwrite-diverted>: Überschreibe eine umgeleitete (»diverted«) Datei mit "
"einer nicht umgeleiteten."

#. type: Plain text
#: dpkg.1:446
msgid ""
"B<unsafe-io>: Do not perform safe I/O operations when unpacking. Currently "
"this implies not performing file system syncs before file renames, which is "
"known to cause substantial performance degradation on some file systems, "
"unfortunately the ones that require the safe I/O on the first place due to "
"their unreliable behaviour causing zero-length files on abrupt system "
"crashes."
msgstr ""
"B<unsafe-io>: Beim Entpacken keine sicheren E/A-Operationen durchführen. "
"Derzeit impliziert dies, dass vor Dateiumbenennungen kein Systemsync "
"durchgeführt wird. Dieser Sync führt bei einigen Dateisystemen zu "
"erheblichen Leistungseinbußen, unglücklicherweise bei solchen, die überhaupt "
"sichere E/A aufgrund ihres unzuverlässigen Verhaltens benötigen, auf denen "
"bei abrupten Systemabstürzen Dateien der Länge Null entstehen können."

#. type: Plain text
#: dpkg.1:452
msgid ""
"I<Note>: For ext4, the main offender, consider using instead the mount "
"option B<nodelalloc>, which will fix both the performance degradation and "
"the data safety issues, the latter by making the file system not produce "
"zero-length files on abrupt system crashes with any software not doing syncs "
"before atomic renames."
msgstr ""
"I<Hinweis:> Für den Hauptmisstäter Ext4 sollten Sie stattdessen die "
"Einhängeoption B<nodelalloc> verwenden, die sowohl die Leistungseinbuße "
"verhindert als auch Datensicherheitsprobleme vermeidet. Letzteres bedeutet, "
"dass bei abrupten Systemabstürzen bei jeder Software, die keine Syncs vor "
"atomaren Umbenennungen durchführt, keine Dateien der Länge Null generiert "
"werden."

#. type: Plain text
#: dpkg.1:455
msgid ""
"I<Warning: Using this option might improve performance at the cost of losing "
"data, use with care.>"
msgstr ""
"I<Warnung: Die Verwendung dieser Option kann die Leistung erhöhen, "
"allerdings können dabei Daten verloren gehen. Verwenden Sie die Option "
"vorsichtig.>"

#. type: Plain text
#: dpkg.1:458
msgid "B<architecture>: Process even packages with wrong or no architecture."
msgstr ""
"B<architecture>: Verarbeite sogar Pakete mit der falschen oder keiner "
"Architektur."

#. type: Plain text
#: dpkg.1:461
msgid "B<bad-version>: Process even packages with wrong versions."
msgstr "B<bad-version>: Verarbeite sogar Pakete mit falschen Versionen."

#. type: Plain text
#: dpkg.1:464
msgid ""
"B<bad-path>: B<PATH> is missing important programs, so problems are likely."
msgstr ""
"B<bad-path>: Im B<PATH> fehlen wichtige Programme, daher sind Probleme "
"wahrscheinlich."

#. type: Plain text
#: dpkg.1:467
msgid "B<not-root>: Try to (de)install things even when not root."
msgstr ""
"B<not-root>: Versuche Sachen zu (de)installieren, selbst falls nicht root."

#. type: Plain text
#: dpkg.1:470
msgid "B<bad-verify>: Install a package even if it fails authenticity check."
msgstr ""
"B<bad-verify>: Installiere ein Paket selbst wenn die Authentizitätsprüfung "
"fehlschlägt."

#. type: TP
#: dpkg.1:471
#, no-wrap
msgid "B<--ignore-depends>=I<package>,..."
msgstr "B<--ignore-depends>=I<Paket>,..."

#. type: Plain text
#: dpkg.1:475
msgid ""
"Ignore dependency-checking for specified packages (actually, checking is "
"performed, but only warnings about conflicts are given, nothing else)."
msgstr ""
"Ignoriere Abhängigkeitsüberprüfungen für ein bestimmtes Paket (tatsächlich "
"wird die Überprüfung durchgeführt, aber nur Warnungen über Konflikte werden "
"angezeigt, sonst nichts)."

#. type: TP
#: dpkg.1:475
#, no-wrap
msgid "B<--no-act>, B<--dry-run>, B<--simulate>"
msgstr "B<--no-act>, B<--dry-run>, B<--simulate>"

#. type: Plain text
#: dpkg.1:480
msgid ""
"Do everything which is supposed to be done, but don't write any changes. "
"This is used to see what would happen with the specified action, without "
"actually modifying anything."
msgstr ""
"Erledige alles, was gemacht werden soll, aber schreibe keine Änderungen. "
"Dies wird verwendet um zu sehen, was mit der spezifizierten Änderung "
"passieren würde ohne tatsächlich etwas zu modifizieren."

#. type: Plain text
#: dpkg.1:485
msgid ""
"Be sure to give B<--no-act> before the action-parameter, or you might end up "
"with undesirable results. (e.g. B<dpkg --purge foo --no-act> will first "
"purge package foo and then try to purge package --no-act, even though you "
"probably expected it to actually do nothing)"
msgstr ""
"Stellen Sie sicher, dass B<--no-act> vor dem Aktions-Parameter steht, oder "
"Sie könnten mit unerwünschten Ergebnissen enden. (Beispielsweise wird B<dpkg "
"--purge foo --no-act> zuerst das Paket foo bereinigen und dann versuchen, "
"das Paket --no-act zu bereinigen, obwohl Sie wahrscheinlich davon ausgingen, "
"dass tatsächlich gar nichts passieren sollte)"

#. type: TP
#: dpkg.1:485
#, no-wrap
msgid "B<-R>, B<--recursive>"
msgstr "B<-R>, B<--recursive>"

#. type: Plain text
#: dpkg.1:491
msgid ""
"Recursively handle all regular files matching pattern B<*.deb> found at "
"specified directories and all of its subdirectories. This can be used with "
"B<-i>, B<-A>, B<--install>, B<--unpack> and B<--avail> actions."
msgstr ""
"Behandle rekursiv alle regulären Dateien, die auf das Muster B<*.deb> passen "
"und im angegeben Verzeichnis sowie allen Unterverzeichnis liegen. Dies kann "
"mit den Aktionen B<-i>, B<-A>, B<--install>, B<--unpack> und B<--avail> "
"verwendet werden."

#. type: TP
#: dpkg.1:491
#, no-wrap
msgid "B<-G>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg.1:495
msgid ""
"Don't install a package if a newer version of the same package is already "
"installed. This is an alias of B<--refuse-downgrade>."
msgstr ""
"Installiere ein Paket nicht, falls bereits eine neuere Version des gleichen "
"Paketes installiert ist. Dies ist ein Alias für B<--refuse-downgrade>."

#. type: TP
#: dpkg.1:495 dpkg-buildpackage.1:217 dpkg-checkbuilddeps.1:19
#: dpkg-query.1:118 dpkg-shlibdeps.1:211 dpkg-trigger.1:39
#, no-wrap
msgid "B<--admindir=>I<dir>"
msgstr "B<--admindir=>I<Verz>"

#. type: Plain text
#: dpkg.1:500
msgid ""
"Change default administrative directory, which contains many files that give "
"information about status of installed or uninstalled packages, etc.  "
"(Defaults to I</var/lib/dpkg>)"
msgstr ""
"Ändere das voreingestellte administrative Verzeichnis (standardmäßig I</var/"
"lib/dpkg>), in dem viele Dateien liegen, die Informationen über den Status "
"von installierten und deinstallierten Pakete usw. liegen."

#. type: TP
#: dpkg.1:500
#, no-wrap
msgid "B<--instdir=>I<dir>"
msgstr "B<--instdir=>I<Verz>"

#. type: Plain text
#: dpkg.1:507
msgid ""
"Change default installation directory which refers to the directory where "
"packages are to be installed. B<instdir> is also the directory passed to "
"B<chroot>(2) before running package's installation scripts, which means that "
"the scripts see B<instdir> as a root directory.  (Defaults to I</>)"
msgstr ""
"Ändere das voreingestellte Installationsverzeichnis. Dieses Verzeichnis gibt "
"an, wo Pakete installiert werden. B<instdir> (standardmäßig I</>) ist auch "
"das Verzeichnis, das an B<chroot>(2) vor dem Aufruf der Installationsskripte "
"des Paketes übergeben wird, was bedeutet, dass die Skripte B<instdir> als "
"ein Wurzelverzeichnis sehen."

#. type: TP
#: dpkg.1:507
#, no-wrap
msgid "B<--root=>I<dir>"
msgstr "B<-root=>I<Verz>"

#. type: Plain text
#: dpkg.1:511
msgid ""
"Changing B<root> changes B<instdir> to I<dir> and B<admindir> to I<dir>B</"
"var/lib/dpkg>."
msgstr ""
"Durch Ändern von B<root> wird B<instdir> auf I<Verz> und B<admindir> auf "
"I<Verz>B</var/lib/dpkg> geändert."

#. type: TP
#: dpkg.1:511
#, no-wrap
msgid "B<-O>, B<--selected-only>"
msgstr "B<-O>, B<--selected-only>"

#. type: Plain text
#: dpkg.1:517
msgid ""
"Only process the packages that are selected for installation. The actual "
"marking is done with B<dselect> or by B<dpkg>, when it handles packages. For "
"example, when a package is removed, it will be marked selected for "
"deinstallation."
msgstr ""
"Bearbeite nur die Pakete, die zur Installation ausgewählt sind. Die "
"eigentliche Markierung erfolgt mit B<dselect> oder durch B<dpkg>, wenn es "
"Pakete bearbeitet. Beispielsweise wird ein Paket bei der Entfernung als »zur "
"Deinstallation ausgewählt« markiert."

#. type: TP
#: dpkg.1:517
#, no-wrap
msgid "B<-E>, B<--skip-same-version>"
msgstr "B<-E>, B<--skip-same-version>"

#. type: Plain text
#: dpkg.1:521
msgid ""
"Don't install the package if the same version of the package is already "
"installed."
msgstr ""
"Installiere das Paket nicht, falls die gleiche Version des Pakets bereits "
"installiert ist."

#. type: Plain text
#: dpkg.1:523
msgid "B<--pre-invoke=>I<command>"
msgstr "B<--pre-invoke=>I<Befehl>"

#. type: Plain text
#: dpkg.1:525
msgid "B<--post-invoke=>I<command>"
msgstr "B<--post-invoke=>I<Befehl>"

#. type: Plain text
#: dpkg.1:534
msgid ""
"Set an invoke hook I<command> to be run via ``sh -c'' before or after the "
"dpkg run for the I<unpack>, I<configure>, I<install>, I<triggers-only>, "
"I<remove> and I<purge> dpkg actions. This option can be specified multiple "
"times. The order the options are specified is preserved, with the ones from "
"the configuration files taking precedence.  The environment variable "
"B<DPKG_HOOK_ACTION> is set for the hooks to the current dpkg action. Note: "
"front-ends might call dpkg several times per invocation, which might run the "
"hooks more times than expected."
msgstr ""
"Setzt einen Aufruf-Hook I<Befehl>, der via »sh -c« vor oder nach dem Dpkg-"
"Aufruf der Dpkg-Aktionen I<unpack>, I<configure>, I<install>, I<triggers-"
"only>, I<remove> und I<purge> ausgeführt wird. Diese Option kann mehrfach "
"angegeben werden. Die Reihenfolge der Optionen wird erhalten, wobei Einträge "
"aus den Konfigurationsdateien Vorrang einnehmen. Die Umgebungsvariable "
"B<DPKG_HOOK_ACTION> wird für die Hooks auf die aktuelle Dpkg-Aktion gesetzt. "
"Hinweis: Oberflächen könnten Dpkg mehrere Male pro Ausführung aufrufen, "
"wodurch die Hooks öfter als erwartet ausgeführt werden könnten."

#. type: Plain text
#: dpkg.1:537
msgid "B<--path-exclude=>I<glob-pattern>"
msgstr "B<--path-exclude=>I<Glob-Muster>"

#. type: Plain text
#: dpkg.1:539
msgid "B<--path-include=>I<glob-pattern>"
msgstr "B<--path-include=>I<Glob-Muster>"

#. type: Plain text
#: dpkg.1:542
msgid ""
"Set I<glob-pattern> as a path filter, either by excluding or re-including "
"previously excluded paths matching the specified patterns during install."
msgstr ""
"Setzt I<Glob-Muster> als Pfadfilter, entweder durch Ausschluss oder durch "
"Wiedereinschluss vorher ausgeschlossener Pfade, die während der Installation "
"auf bestimmte Muster passen."

#. type: Plain text
#: dpkg.1:545
msgid ""
"I<Warning: take into account that depending on the excluded paths you might "
"completely break your system, use with caution.>"
msgstr ""
"I<Warnung: Beachten Sie, dass abhängig von den ausgeschlossenen Pfaden Sie "
"Ihr System komplett beschädigen könnten. Verwenden Sie dies daher vorsichtig."
">"

#. type: Plain text
#: dpkg.1:555
msgid ""
"The glob patterns use the same wildcards used in the shell, were '*' matches "
"any sequence of characters, including the empty string and also '/'. For "
"example, I<'/usr/*/READ*'> matches I<'/usr/share/doc/package/README'>.  As "
"usual, '?' matches any single character (again, including '/'). And '[' "
"starts a character class, which can contain a list of characters, ranges and "
"complementations. See B<glob>(7) for detailed information about globbing. "
"Note: the current implementation might re-include more directories and "
"symlinks than needed, to be on the safe side and avoid possible unpack "
"failures, future work might fix this."
msgstr ""
"Das Glob-Muster kann die gleichen Platzhalter wie in der Shell verwenden, "
"wobei »*« auf eine beliebige Folge von Zeichen, auch dem Leerzeichen und "
"»/«, passt. Beispielsweise passt I<»/usr/*/READ*«> auf I<»/usr/share/doc/"
"package/README«>. Wie gewöhnlich passt »?« auf ein einzelnes Zeichen (wieder "
"auch auf »/«). Und »[« beginnt eine Zeichenklasse, die eine Liste von "
"Zeichen, Bereiche und Komplemente enthalten kann. Lesen Sie B<glob>(7) für "
"detaillierte Informationen über das Globben. Hinweis: Aktuelle "
"Implementierungen könnten mehr Verzeichnisse und symbolische Links als "
"benötigt wieder einschließen. Um auf der sicheren Seite zu sein und in der "
"Zukunft mögliche Entpackfehler zu vermeiden, könnte dies durch zukünftige "
"Arbeiten behoben werden."

#. type: Plain text
#: dpkg.1:558
msgid ""
"This can be used to remove all paths except some particular ones; a typical "
"case is:"
msgstr ""
"Dies kann dazu verwandt werden, alle Pfade außer bestimmten zu entferen, ein "
"typischer Fall lautet:"

#. type: Plain text
#: dpkg.1:562
#, no-wrap
msgid ""
"B<--path-exclude=/usr/share/doc/*>\n"
"B<--path-include=/usr/share/doc/*/copyright>\n"
msgstr ""
"B<--path-exclude=/usr/share/doc/*>\n"
"B<--path-include=/usr/share/doc/*/copyright>\n"

#. type: Plain text
#: dpkg.1:565
msgid "to remove all documentation files except the copyright files."
msgstr ""
"Hiermit werden alle Dokumentationsdateien (außer den Copyright-Dateien) "
"entfernt."

#. type: Plain text
#: dpkg.1:569
msgid ""
"These two options can be specified multiple times, and interleaved with each "
"other. Both are processed in the given order, with the last rule that "
"matches a file name making the decision."
msgstr ""
"Diese zwei Optionen können mehrfach angegeben und miteinander verschachtelt "
"werden. Beide werden in der angegebenen Reihenfolge ausgewertet, wobei die "
"letzte Regel, die auf eine Datei passt, die Entscheidung fällt."

#. type: TP
#: dpkg.1:570
#, no-wrap
msgid "B<--status-fd >I<n>"
msgstr "B<--status-fd >I<n>"

#. type: Plain text
#: dpkg.1:576
msgid ""
"Send machine-readable package status and progress information to file "
"descriptor I<n>. This option can be specified multiple times. The "
"information is generally one record per line, in one of the following forms:"
msgstr ""
"Schicke maschinenlesbare Paketstatus- und Fortschrittsinformationen an den "
"Dateideskriptor I<n>. Diese Option kann mehrfach angegeben werden. Die "
"Information besteht typischerweise aus einem Datensatz pro Zeile in "
"folgendem Format:"

#. type: TP
#: dpkg.1:577
#, no-wrap
msgid "B<status: >I<package>B<: >I<status>"
msgstr "B<status: >I<Paket>B<: >I<Status>"

#. type: Plain text
#: dpkg.1:580
msgid "Package status changed; I<status> is as in the status file."
msgstr "Paketstatus geändert; I<Status> entsprechend der Statusdatei."

#. type: TP
#: dpkg.1:580
#, no-wrap
msgid "B<status: >I<package>B< : error : >I<extended-error-message>"
msgstr "B<status: >I<Paket>B< : error : >I<ausführliche-Fehlermeldung>"

#. type: Plain text
#: dpkg.1:584
msgid ""
"An error occurred. Any possible newlines in I<extended-error-message> will "
"be converted to spaces before output."
msgstr ""
"Ein Fehler ist aufgetreten. Alle möglichen Zeilenumbrüche in I<ausführliche-"
"Fehlermeldung> werden vor der Ausgabe in Leerzeichen gewandelt."

#. type: TP
#: dpkg.1:584
#, no-wrap
msgid "B<status: >I<file>B< : conffile-prompt : '>I<real-old>B<' '>I<real-new>B<' >I<useredited>B< >I<distedited>"
msgstr "B<status: >I<Datei>B< : conffile-prompt : »>I<echt-alt>B<« »>I<echt-neu>B<« >I<benutzer-edit>B< >I<dist-edit>"

#. type: Plain text
#: dpkg.1:587
msgid "User is being asked a conffile question."
msgstr "Dem Benutzer wird eine Conffile-Frage gestellt."

#. type: TP
#: dpkg.1:587
#, no-wrap
msgid "B<processing: >I<stage>B<: >I<package>"
msgstr "B<processing: >I<Stufe>B<: >I<Paket>"

#. type: Plain text
#: dpkg.1:592
msgid ""
"Sent just before a processing stage starts. I<stage> is one of B<upgrade>, "
"B<install> (both sent before unpacking), B<configure>, B<trigproc>, "
"B<disappear>, B<remove>, B<purge>."
msgstr ""
"Versandt genau bevor eine Verarbeitungsstufe beginnt. I<Stufe> ist eine der "
"folgenden: B<upgrade>, B<install> (beide werden vor dem Entpacken versandt), "
"B<configure>, B<trigproc>, B<disappear>, B<remove>, B<purge>."

#. type: TP
#: dpkg.1:593
#, no-wrap
msgid "B<--status-logger>=I<command>"
msgstr "B<--status-logger>=I<Befehl>"

#. type: Plain text
#: dpkg.1:598
msgid ""
"Send machine-readable package status and progress information to the shell "
"I<command>'s standard input. This option can be specified multiple times. "
"The output format used is the same as in B<--status-fd.>"
msgstr ""
"Schicke maschinenlesbare Paketstatus- und Fortschrittsinformationen an die "
"Standardeingabe des I<Befehl>s der Shell. Diese Option kann mehrfach "
"angegeben werden. Das verwandte Ausgabeformat ist identisch zu dem in B<--"
"status-fd.>"

#. type: TP
#: dpkg.1:599
#, no-wrap
msgid "B<--log=>I<filename>"
msgstr "B<--log=>I<Dateiname>"

#. type: Plain text
#: dpkg.1:611
msgid ""
"Log status change updates and actions to I<filename>, instead of the default "
"I</var/log/dpkg.log>. If this option is given multiple times, the last "
"filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS status "
"I<state> I<pkg> I<installed-version>' for status change updates; `YYYY-MM-DD "
"HH:MM:SS I<action> I<pkg> I<installed-version> I<available-version>' for "
"actions where I<action> is one of B<install>, B<upgrade>, B<remove>, "
"B<purge>; and `YYYY-MM-DD HH:MM:SS conffile I<filename> I<decision>' for "
"conffile changes where I<decision> is either B<install> or B<keep>."
msgstr ""
"Protokolliere Statusänderungsaktualisierungen und -Aktionen in I<Dateiname> "
"anstatt in die Standard-Datei I</var/log/dpkg.log>. Falls diese Option "
"mehrfach übergeben wird, wird der letzte Dateiname verwendet. "
"Protokollnachrichten sind von der Form »JJJJ-MM-TT HH:MM:SS status "
"I<Zustand> I<Pkt> I<installierte-Version>« für "
"Statusänderungsaktualisierungen; »JJJJ-MM-TT HH:MM:SS I<Aktion> I<Pkt> "
"I<installierte-Version> I<verfügbare-Version>« für Aktionen, wobei I<Aktion> "
"entweder B<install>, B<upgrade>, B<remove> oder B<purge> ist; und »YYYY-MM-"
"DD HH:MM:SS conffile I<Dateiname> I<Entscheidung>« für Conffile-Änderungen "
"ist, wobei I<Entscheidung> entweder B<install> oder B<keep> ist."

#. type: TP
#: dpkg.1:611
#, no-wrap
msgid "B<--no-debsig>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg.1:614
msgid "Do not try to verify package signatures."
msgstr "Versuche nicht, Paketsignaturen zu überprüfen."

#. type: TP
#: dpkg.1:614
#, no-wrap
msgid "B<--no-triggers>"
msgstr "B<--no-triggers>"

#. type: Plain text
#: dpkg.1:623
msgid ""
"Do not run any triggers in this run (activations will still be recorded).  "
"If used with B<--configure> I<package> or B<--triggers-only> I<package> then "
"the named package postinst will still be run even if only a triggers run is "
"needed. Use of this option may leave packages in the improper B<triggers-"
"awaited> and B<triggers-pending> states. This can be fixed later by running: "
"B<dpkg --configure --pending>."
msgstr ""
"Führe keine Trigger in diesem Durchlauf aus (Aktivierungen werden dennoch "
"aufgezeichnet). Falls dies mit B<--configure> I<Paket> oder B<--triggers-"
"only> I<Paket> verwandt wird, wird das Postinst des benannten Pakets dennoch "
"ausgeführt, selbst falls nur ein Trigger-Lauf notwendig ist. Die Verwendung "
"dieser Option kann Pakete in die unzulässigen Stati B<triggers-awaited> und "
"B<triggers-pending> bringen. Durch die Ausführung von »B<dpkg --configure --"
"pending>« kann dies später behoben werden."

#. type: TP
#: dpkg.1:623
#, no-wrap
msgid "B<--triggers>"
msgstr "B<--triggers>"

#. type: Plain text
#: dpkg.1:626
msgid "Cancels a previous B<--no-triggers>."
msgstr "Annulliert ein vorheriges B<--no-triggers>."

#. type: Plain text
#: dpkg.1:628 dpkg.cfg.5:16
#, no-wrap
msgid "I</etc/dpkg/dpkg.cfg>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dpkg.1:631
msgid "Configuration file with default options."
msgstr "Konfigurationsdatei mit Standardeinstellungen der Optionen."

#. type: TP
#: dpkg.1:631
#, no-wrap
msgid "I</var/log/dpkg.log>"
msgstr "I</var/log/dpkg.log>"

#. type: Plain text
#: dpkg.1:635
msgid "Default log file (see I</etc/dpkg/dpkg.cfg>(5) and option B<--log>)."
msgstr ""
"Standard-Protokolldatei (lesen Sie I</etc/dpkg/dpkg.cfg>(5) und die Option "
"B<--log>)."

#. type: Plain text
#: dpkg.1:638
msgid ""
"The other files listed below are in their default directories, see option "
"B<--admindir> to see how to change locations of these files."
msgstr ""
"Die anderen unten aufgeführten Dateien sind in ihrem Standardverzeichnis, "
"lesen Sie den Text zur Option B<--admindir> um zu sehen, wie sie den Ort "
"dieser Dateien ändern können."

#. type: TP
#: dpkg.1:638
#, no-wrap
msgid "I</var/lib/dpkg/available>"
msgstr "I</var/lib/dpkg/available>"

#. type: Plain text
#: dpkg.1:641
msgid "List of available packages."
msgstr "Liste der verfügbaren Pakete."

#. type: TP
#: dpkg.1:641
#, no-wrap
msgid "I</var/lib/dpkg/status>"
msgstr "I</var/lib/dpkg/status>"

#. type: Plain text
#: dpkg.1:647
msgid ""
"Statuses of available packages. This file contains information about whether "
"a package is marked for removing or not, whether it is installed or not, "
"etc. See section B<INFORMATION ABOUT PACKAGES> for more info."
msgstr ""
"Statusse der verfügbaren Pakete. Diese Datei enthält Informationen darüber, "
"ob ein Paket zur Entfernung markiert ist oder nicht, ob es installiert ist "
"oder nicht usw. Lesen Sie den Abschnitt B<INFORMATIONEN ÜBER PAKETE> für "
"weitere Informationen."

#. type: Plain text
#: dpkg.1:650
msgid ""
"The status file is backed up daily in I</var/backups>. It can be useful if "
"it's lost or corrupted due to filesystems troubles."
msgstr ""
"Die Statusdatei wird täglich nach I</var/backups> gesichert. Dies kann "
"hilfreich sein, falls sie aufgrund von Problemen mit dem Dateisystem "
"verloren gegangen oder beschädigt worden ist."

#. type: Plain text
#: dpkg.1:653
msgid ""
"The following files are components of a binary package. See B<deb>(5)  for "
"more information about them:"
msgstr ""
"Die folgenden Dateien sind Komponenten von Binärpaketen. Lesen Sie B<deb>(5) "
"für weitere Informationen über sie:"

#. type: TP
#: dpkg.1:653
#, no-wrap
msgid "I<control>"
msgstr "I<control>"

#. type: TP
#: dpkg.1:655
#, no-wrap
msgid "I<conffiles>"
msgstr "I<conffiles>"

#. type: TP
#: dpkg.1:657
#, no-wrap
msgid "I<preinst>"
msgstr "I<preinst>"

#. type: TP
#: dpkg.1:659
#, no-wrap
msgid "I<postinst>"
msgstr "I<postinst>"

#. type: TP
#: dpkg.1:661
#, no-wrap
msgid "I<prerm>"
msgstr "I<prerm>"

#. type: TP
#: dpkg.1:663
#, no-wrap
msgid "I<postrm>"
msgstr "I<postrm>"

#. type: SH
#: dpkg.1:666 dpkg-buildflags.1:128 dpkg-buildpackage.1:230 dpkg-deb.1:232
#: dpkg-divert.8:112 dpkg-query.1:204 dpkg-statoverride.8:68 dpkg-trigger.1:60
#: dpkg-vendor.1:42 dselect.1:423 update-alternatives.8:354
#, no-wrap
msgid "ENVIRONMENT"
msgstr "UMGEBUNG"

#. type: TP
#: dpkg.1:667 dselect.1:424
#, no-wrap
msgid "B<HOME>"
msgstr "B<HOME>"

#. type: Plain text
#: dpkg.1:671
msgid ""
"If set, B<dpkg> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""
"Falls gesetzt wird B<dpkg> es als das Verzeichnis verwenden, aus dem die "
"benutzerspezifische Konfigurationsdatei gelesen wird."

#. type: TP
#: dpkg.1:671 dpkg-deb.1:233
#, no-wrap
msgid "B<TMPDIR>"
msgstr "B<TMPDIR>"

#. type: Plain text
#: dpkg.1:675
msgid ""
"If set, B<dpkg> will use it as the directory in which to create temporary "
"files and directories."
msgstr ""
"Falls gesetzt wird B<dpkg> es als das Verzeichnis verwenden, in dem "
"temporäre Dateien und Verzeichnisse erstellt werden."

#. type: TP
#: dpkg.1:675
#, no-wrap
msgid "B<PAGER>"
msgstr "B<PAGER>"

#. type: Plain text
#: dpkg.1:678
msgid "The program B<dpkg> will execute when displaying the conffiles."
msgstr ""
"Das Programm, das B<dpkg> ausführen wird, wenn es die Conffiles anzeigt."

#. type: TP
#: dpkg.1:678
#, no-wrap
msgid "B<SHELL>"
msgstr "B<SHELL>"

#. type: Plain text
#: dpkg.1:681
msgid "The program B<dpkg> will execute when starting a new shell."
msgstr ""
"Das Programm, das B<dpkg> ausführen wird, wenn es eine neue Shell startet."

#. type: TP
#: dpkg.1:681 dpkg-query.1:209
#, no-wrap
msgid "B<COLUMNS>"
msgstr "B<COLUMNS>"

#. type: Plain text
#: dpkg.1:685
msgid ""
"Sets the number of columns B<dpkg> should use when displaying formatted "
"text. Currently only used by -l."
msgstr ""
"Setzt die Anzahl von Spalten die B<dpkg> verwenden soll, wenn es "
"formatierten Text anzeigt. Derzeit nur von -l verwendet."

#. type: TP
#: dpkg.1:685
#, no-wrap
msgid "B<DPKG_SHELL_REASON>"
msgstr "B<DPKG_SHELL_REASON>"

#. type: Plain text
#: dpkg.1:689
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Current valid value: B<conffile-prompt>."
msgstr ""
"Wird von B<dpkg> auf der Shell, die von der Conffile-Eingabeaufforderung "
"gestartet wird, um die Situation zu analysieren, gesetzt. Derzeit gültiger "
"Wert: B<conffile-prompt>."

#. type: TP
#: dpkg.1:689
#, no-wrap
msgid "B<DPKG_CONFFILE_OLD>"
msgstr "B<DPKG_CONFFILE_OLD>"

#. type: Plain text
#: dpkg.1:693
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the old conffile."
msgstr ""
"Wird von B<dpkg> auf der Shell, die von der Conffile-Eingabeaufforderung "
"gestartet wird, um die Situation zu analysieren, gesetzt. Enthält den Pfad "
"zu der alten Conffile."

#. type: TP
#: dpkg.1:693
#, no-wrap
msgid "B<DPKG_CONFFILE_NEW>"
msgstr "B<DPKG_CONFFILE_NEW>"

#. type: Plain text
#: dpkg.1:697
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the new conffile."
msgstr ""
"Wird von B<dpkg> auf der Shell, die von der Conffile-Eingabeaufforderung "
"gestartet wird, um die Situation zu analysieren, gesetzt. Enthält den Pfad "
"zu der neuen Conffile."

#. type: TP
#: dpkg.1:697
#, no-wrap
msgid "B<DPKG_RUNNING_VERSION>"
msgstr "B<DPKG_RUNNING_VERSION>"

#. type: Plain text
#: dpkg.1:701
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the version of "
"the currently running B<dpkg> instance."
msgstr ""
"Wird von B<dpkg> für die Betreuer-Skript-Umgebung auf die Version der "
"aktuell laufenden Instanz von B<dpkg> gesetzt."

#. type: TP
#: dpkg.1:701 dpkg-divert.8:117
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_PACKAGE>"
msgstr "B<DPKG_MAINTSCRIPT_PACKAGE>"

#. type: Plain text
#: dpkg.1:705
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the package name "
"being handled."
msgstr ""
"Wird von B<dpkg> für die Betreuer-Skript-Umgebung auf den in Arbeit "
"befindlichen Paketnamen gesetzt."

#. type: TP
#: dpkg.1:705
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_ARCH>"
msgstr "B<DPKG_MAINTSCRIPT_ARCH>"

#. type: Plain text
#: dpkg.1:709
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the architecture "
"the package got built for."
msgstr ""
"Wird von B<dpkg> für die Betreuer-Skript-Umgebung auf die Architektur "
"gesetzt, für die das Paket gebaut wurde."

#. type: TP
#: dpkg.1:709
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_NAME>"
msgstr "B<DPKG_MAINTSCRIPT_NAME>"

#. type: Plain text
#: dpkg.1:713
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the name of the "
"script running (preinst, postinst, prerm, postrm)."
msgstr ""
"Wird von B<dpkg> für die Betreuer-Skript-Umgebung auf den Namen des "
"laufenden Skripts (preinst, postinst, prerm, postrm) gesetzt."

#. type: Plain text
#: dpkg.1:716
msgid "To list packages related to the editor B<vi>(1):"
msgstr "Um Pakete mit Bezug zum B<vi>(1)-Editor aufzulisten:"

#. type: Plain text
#: dpkg.1:718
#, no-wrap
msgid "     B<dpkg -l \\(aq*vi*\\(aq>\n"
msgstr "     B<dpkg -l \\(aq*vi*\\(aq>\n"

#. type: Plain text
#: dpkg.1:721
msgid "To see the entries in I</var/lib/dpkg/available> of two packages:"
msgstr ""
"Um die Einträge von zwei Paketen in I</var/lib/dpkg/available> zu sehen:"

#. type: Plain text
#: dpkg.1:723
#, no-wrap
msgid "     B<dpkg --print-avail elvis vim | less>\n"
msgstr "     B<dpkg --print-avail elvis vim | less>\n"

#. type: Plain text
#: dpkg.1:726
msgid "To search the listing of packages yourself:"
msgstr "Wenn Sie die Liste der Pakete selbst durchsuchen wollen:"

#. type: Plain text
#: dpkg.1:728
#, no-wrap
msgid "     B<less /var/lib/dpkg/available>\n"
msgstr "     B<less /var/lib/dpkg/available>\n"

#. type: Plain text
#: dpkg.1:731
msgid "To remove an installed elvis package:"
msgstr "Um ein installiertes Elvis-Paket zu entfernen:"

#. type: Plain text
#: dpkg.1:733
#, no-wrap
msgid "     B<dpkg -r elvis>\n"
msgstr "     B<dpkg -r elvis>\n"

#. type: Plain text
#: dpkg.1:738
msgid ""
"To install a package, you first need to find it in an archive or CDROM. The "
"\"available\" file shows that the vim package is in section \"editors\":"
msgstr ""
"Um ein Paket zu installieren, müssen Sie es erst in einem Archiv oder auf "
"einer CD-ROM finden. Die »available«-Datei zeigt, dass das vim-Paket im "
"Bereich »editors« ist:"

#. type: Plain text
#: dpkg.1:741
#, no-wrap
msgid ""
"     B<cd /media/cdrom/pool/main/v/vim>\n"
"     B<dpkg -i vim_4.5-3.deb>\n"
msgstr ""
"     B<cd /media/cdrom/pool/main/v/vim>\n"
"     B<dpkg -i vim_4.5-3.deb>\n"

#. type: Plain text
#: dpkg.1:744
msgid "To make a local copy of the package selection states:"
msgstr "Um eine lokale Kopie der Paketauswahl-Zustände zu erstellen:"

#. type: Plain text
#: dpkg.1:746
#, no-wrap
msgid "     B<dpkg --get-selections E<gt>myselections>\n"
msgstr "     B<dpkg --get-selections E<gt>meine_auswahl>\n"

#. type: Plain text
#: dpkg.1:750
msgid ""
"You might transfer this file to another computer, and install it there with:"
msgstr ""
"Sie können diese Datei zu einem anderen Computer bringen und sie dort mit "
"folgenden Befehlen installieren:"

#. type: Plain text
#: dpkg.1:753
#, no-wrap
msgid ""
"     B<dpkg --clear-selections>\n"
"     B<dpkg --set-selections E<lt>myselections>\n"
msgstr ""
"     B<dpkg --clear-selections>\n"
"     B<dpkg --set-selections E<lt>meine_auswahl>\n"

#. type: Plain text
#: dpkg.1:759
msgid ""
"Note that this will not actually install or remove anything, but just set "
"the selection state on the requested packages. You will need some other "
"application to actually download and install the requested packages. For "
"example, run B<apt-get dselect-upgrade>."
msgstr ""
"Beachten Sie, dass dies nichts wirklich installiert oder entfernt, sondern "
"lediglich den Auswahlzustand der angeforderten Pakete setzt. Sie werden eine "
"andere Anwendung benötigen, um die angeforderten Pakete tatsächlich "
"herunterzuladen und zu installieren. Führen Sie beispielsweise B<apt-get "
"dselect-upgrade> aus."

#. type: Plain text
#: dpkg.1:762
msgid ""
"Ordinarily, you will find that B<dselect>(1) provides a more convenient way "
"to modify the package selection states."
msgstr ""
"Gewöhnlich werden Sie feststellen, dass B<dselect>(1) eine bequemere Art "
"ist, den Paketauswahlzustand zu ändern."

#. type: SH
#: dpkg.1:764
#, no-wrap
msgid "ADDITIONAL FUNCTIONALITY"
msgstr "ZUSÄTZLICHE FUNKTIONALITÄT"

#. type: Plain text
#: dpkg.1:767
msgid ""
"Additional functionality can be gained by installing any of the following "
"packages: B<apt>, B<aptitude> and B<debsums>."
msgstr ""
"Zusätzliche Funktionalität kann durch die Installation jedes der folgenden "
"Pakete erhalten werden: B<apt>, B<aptitude> und B<debsums>."

#. type: Plain text
#: dpkg.1:779
msgid ""
"B<aptitude>(1), B<apt>(1), B<dselect>(1), B<dpkg-deb>(1), B<dpkg-query>(1), "
"B<deb>(5), B<deb-control>(5), B<dpkg.cfg>(5), and B<dpkg-reconfigure>(8)."
msgstr ""
"B<aptitude>(1), B<apt>(1), B<dselect>(1), B<dpkg-deb>(1), B<dpkg-query>(1), "
"B<deb>(5), B<deb-control>(5), B<dpkg.cfg>(5) und B<dpkg-reconfigure>(8)."

#. type: Plain text
#: dpkg.1:782
msgid "B<--no-act> usually gives less information than might be helpful."
msgstr ""
"B<--no-act> gibt gewöhnlich weniger Informationen als hilfreich sein könnten."

#. type: Plain text
#: dpkg.1:785 dpkg.cfg.5:22
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dpkg>."
msgstr ""
"Lesen Sie I</usr/share/doc/dpkg/THANKS> für die Liste der Leute, die zu "
"B<dpkg> beigetragen haben."

#. type: TH
#: dpkg-architecture.1:1
#, no-wrap
msgid "dpkg-architecture"
msgstr "dpkg-architecture"

#. type: Plain text
#: dpkg-architecture.1:4
msgid ""
"dpkg-architecture - set and determine the architecture for package building"
msgstr "dpkg-architecture - Architektur zum Paketbau setzen und bestimmen"

#. type: Plain text
#: dpkg-architecture.1:8
msgid "B<dpkg-architecture> [I<option>...] [I<command>]"
msgstr "B<dpkg-architecture> [I<Option>...] [I<Befehl>]"

#. type: Plain text
#: dpkg-architecture.1:13
msgid ""
"dpkg-architecture does provide a facility to determine and set the build and "
"host architecture for package building."
msgstr ""
"dpkg-architecture stellt eine Möglichkeit bereit, die Rechner-Architektur "
"für den Paketbau zu bestimmen und zu setzen."

#. type: Plain text
#: dpkg-architecture.1:16
msgid ""
"The build architecture is always determined by an external call to B<dpkg>"
"(1), and can not be set at the command line."
msgstr ""
"Die Bau-Architektur wird immer über einen externen Aufruf an B<dpkg>(1) "
"bestimmt und kann nicht auf der Kommandozeile gesetzt werden."

#. type: Plain text
#: dpkg-architecture.1:25
msgid ""
"You can specify the host architecture by providing one or both of the "
"options B<-a> and B<-t>. The default is determined by an external call to "
"B<gcc>(1), or the same as the build architecture if \\s-1CC\\s0 or gcc are "
"both not available. One out of B<-a> and B<-t> is sufficient, the value of "
"the other will be set to a usable default. Indeed, it is often better to "
"only specify one, because B<dpkg-architecture> will warn you if your choice "
"does not match the default."
msgstr ""
"Sie können die Host-Architektur (Wirt-Architektur) spezifizieren, indem Sie "
"eine oder beide der Optionen B<-a> oder B<-t> verwenden. Der Standardwert "
"wird über einen externen Aufruf an B<gcc>(1) ermittelt oder ist identisch "
"mit der Bauarchitektur, falls sowohl \\s-1CC\\s0 als auch Gcc nicht "
"verfügbar sind. Einer von B<-a> oder B<-t> ist ausreichend, der Wert des "
"anderen wird auf einen brauchbaren Wert gesetzt. Tatsächlich ist es oft "
"besser, nur einen der beiden anzugeben, da B<dpkg-architecture> Sie warnen "
"wird, falls Ihre Wahl nicht mit dem Standardwert übereinstimmt."

#. type: SH
#: dpkg-architecture.1:26 dpkg-buildflags.1:45 dpkg-deb.1:27 dpkg-divert.8:24
#: dpkg-query.1:13 dpkg-source.1:18 dpkg-split.1:31 dpkg-statoverride.8:23
#: dpkg-trigger.1:24 dpkg-vendor.1:14 start-stop-daemon.8:34
#: update-alternatives.8:202
#, no-wrap
msgid "COMMANDS"
msgstr "BEFEHLE"

#. type: TP
#: dpkg-architecture.1:27
#, no-wrap
msgid "B<-l>"
msgstr "B<-l>"

#. type: Plain text
#: dpkg-architecture.1:31
msgid ""
"Print the environment variables, one each line, in the format "
"I<VARIABLE=value>. This is the default action."
msgstr ""
"Zeige die Umgebungsvariablen, eine pro Zeile, in dem Format "
"I<VARIABLE=Wert>. Dies ist die Standardaktion."

#. type: TP
#: dpkg-architecture.1:31
#, no-wrap
msgid "B<-e>I<debian-architecture>"
msgstr "B<-e>I<Debian-Architektur>"

#. type: Plain text
#: dpkg-architecture.1:37
msgid ""
"Check for equality of architecture. By default I<debian-architecture> is "
"compared against the current Debian architecture, being the host.  This "
"action will not expand the architecture wildcards. Command finishes with an "
"exit status of 0 if matched, 1 if not matched."
msgstr ""
"Überprüfe auf Gleichheit der Architekturen. Standardmäßig wird I<Debian-"
"Architektur> gegen die aktuelle Debian-Architektur auf dem Host geprüft. "
"Diese Aktion expandiert nicht die Architektur-Platzhalter (Wildcards). Der "
"Befehl beendet sich mit einem Exit-Status von 0, falls eine Übereinstimmung "
"besteht, andernfalls mit 1."

#. type: TP
#: dpkg-architecture.1:37
#, no-wrap
msgid "B<-i>I<architecture-wildcard>"
msgstr "B<-i>I<Architektur-Platzhalter>"

#. type: Plain text
#: dpkg-architecture.1:43
msgid ""
"Check for identity of architecture by expanding I<architecture-wildcard> as "
"an architecture wildcard and comparing against the current Debian "
"architecture. Command finishes with an exit status of 0 if matched, 1 if not "
"matched."
msgstr ""
"Überprüfe die Identität einer Architektur, indem I<Architektur-Platzhalter> "
"als ein Architektur-Platzhalter expandiert und mit der aktuellen Debian-"
"Architektur verglichen wird. Der Befehl endet mit einem Exit-Status von 0, "
"falls eine Übereinstimmung gefunden wurde, ansonsten mit 1."

#. type: TP
#: dpkg-architecture.1:43
#, no-wrap
msgid "B<-q>I<variable-name>"
msgstr "B<-q>I<Variablenname>"

#. type: Plain text
#: dpkg-architecture.1:46
msgid "Print the value of a single variable."
msgstr "Zeige den Wert einer einzelnen Variablen an."

#. type: TP
#: dpkg-architecture.1:46
#, no-wrap
msgid "B<-s>"
msgstr "B<-s>"

#. type: Plain text
#: dpkg-architecture.1:50
msgid ""
"Print an export command. This can be used to set the environment variables "
"using eval."
msgstr ""
"Zeige einen Export-Befehl. Dies kann dazu verwendet werden, um "
"Umgebungsvariablen mittels eval zu setzen."

#. type: TP
#: dpkg-architecture.1:50
#, no-wrap
msgid "B<-u>"
msgstr "B<-u>"

#. type: Plain text
#: dpkg-architecture.1:53
msgid "Print a similar command to B<-s> but to unset all variables."
msgstr ""
"Ähnlich wie B<-s>, gebe einen Export-Befehl aus, der alle Variablen löscht."

#. type: TP
#: dpkg-architecture.1:53
#, no-wrap
msgid "B<-c>I< command>"
msgstr "B<-c>I< Befehl>"

#. type: Plain text
#: dpkg-architecture.1:57
msgid ""
"Execute a I<command> in an environment which has all variables set to the "
"determined value."
msgstr ""
"Führe einen I<Befehl> in einer Umgebung aus, in der alle Variablen auf die "
"festgelegten Werte gesetzt sind."

#. type: TP
#: dpkg-architecture.1:57
#, no-wrap
msgid "B<-L>"
msgstr "B<-L>"

#. type: Plain text
#: dpkg-architecture.1:60
msgid "Print a list of valid architecture names."
msgstr "Zeige eine Liste von gültigen Architekturnamen."

#. type: Plain text
#: dpkg-architecture.1:63 dpkg-buildflags.1:92 dpkg-buildpackage.1:226
#: dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35 dpkg-deb.1:175
#: dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124
#: dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-name.1:61
#: dpkg-parsechangelog.1:36 dpkg-query.1:113 dpkg-scanpackages.1:99
#: dpkg-scansources.1:68 dpkg-shlibdeps.1:218 dpkg-source.1:99
#: dpkg-split.1:129 dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31
#: update-alternatives.8:319
msgid "Show the usage message and exit."
msgstr "Zeige den Bedienungshinweis und beende."

#. type: Plain text
#: dpkg-architecture.1:66 dpkg-buildflags.1:95 dpkg-buildpackage.1:229
#: dpkg-checkbuilddeps.1:39 dpkg-distaddfile.1:38 dpkg-deb.1:178
#: dpkg-divert.8:77 dpkg-genchanges.1:137 dpkg-gencontrol.1:127
#: dpkg-gensymbols.1:449 dpkg-mergechangelogs.1:44 dpkg-name.1:64
#: dpkg-parsechangelog.1:39 dpkg-query.1:116 dpkg-scanpackages.1:102
#: dpkg-scansources.1:70 dpkg-shlibdeps.1:221 dpkg-source.1:102
#: dpkg-split.1:132 dpkg-statoverride.8:50 dpkg-trigger.1:37 dpkg-vendor.1:34
#: update-alternatives.8:322
msgid "Show the version and exit."
msgstr "Gebe die Version aus und beende sich."

#. type: TP
#: dpkg-architecture.1:68
#, no-wrap
msgid "B<-a>I<debian-architecture>"
msgstr "B<-a>I<Debian-Architektur>"

#. type: Plain text
#: dpkg-architecture.1:71
msgid "Set the Debian architecture."
msgstr "Setze die Debian-Architektur."

#. type: TP
#: dpkg-architecture.1:71 dpkg-buildpackage.1:110
#, no-wrap
msgid "B<-t>I<gnu-system-type>"
msgstr "B<-t>I<GNU-Systemtyp>"

#. type: Plain text
#: dpkg-architecture.1:74
msgid "Set the GNU system type."
msgstr "Setze den GNU-Systemtyp."

#. type: TP
#: dpkg-architecture.1:74
#, no-wrap
msgid "B<-f>"
msgstr "B<-f>"

#. type: Plain text
#: dpkg-architecture.1:81
msgid ""
"Values set by existing environment variables with the same name as used by "
"the scripts are honored (i.e. used by B<dpkg-architecture>), except if this "
"force flag is present. This allows the user to override a value even when "
"the call to B<dpkg-architecture> is buried in some other script (for example "
"B<dpkg-buildpackage>(1))."
msgstr ""
"Existierende Umgebungsvariablen mit dem gleichen Namen wie vom Skript "
"verwendet werden nicht überschrieben (d.h. sie werden von B<dpkg-"
"architecture> verwendet), es sei denn, die »force«-Markierung ist gesetzt. "
"Dies erlaubt es dem Benutzer einen Wert zu überschreiben, selbst wenn der "
"Aufruf von B<dpkg-architecture> tief in einem anderen Skript versteckt ist "
"(beispielsweise B<dpkg-buildpackage>(1))."

#. type: SH
#: dpkg-architecture.1:82
#, no-wrap
msgid "TERMS"
msgstr "AUSDRÜCKE"

#. type: IP
#: dpkg-architecture.1:83
#, no-wrap
msgid "build machine"
msgstr "Baumaschine"

#. type: Plain text
#: dpkg-architecture.1:85
msgid "The machine the package is built on."
msgstr "Die Maschine, auf der das Paket gebaut wird."

#. type: IP
#: dpkg-architecture.1:85
#, no-wrap
msgid "host machine"
msgstr "Host-Maschine"

#. type: Plain text
#: dpkg-architecture.1:87
msgid "The machine the package is built for."
msgstr "Die Maschine, für die das Paket gebaut ist."

#. type: IP
#: dpkg-architecture.1:87
#, no-wrap
msgid "Debian architecture"
msgstr "Debian-Architektur"

#. type: Plain text
#: dpkg-architecture.1:90
msgid ""
"The Debian architecture string, which specifies the binary tree in the "
"\\s-1FTP\\s0 archive. Examples: i386, sparc, hurd-i386."
msgstr ""
"Die Debian-Architektur-Zeichenkette, die den binären Baum im \\s-1FTP\\s0-"
"Archiv spezifiziert. Beispiele: i386, sparc, hurd-i386."

#. type: IP
#: dpkg-architecture.1:90
#, no-wrap
msgid "architecture wildcard"
msgstr "Architektur-Platzhalter"

#. type: Plain text
#: dpkg-architecture.1:94
msgid ""
"An architecture wildcard is a special architecture string that will match "
"any real architecture being part of it. The general form is E<lt>kernelE<gt>-"
"E<lt>cpuE<gt>.  Examples: linux-any, any-i386, hurd-any."
msgstr ""
"Ein Architektur-Platzhalter ist eine spezielle Architektur-Zeichenkette, die "
"auf jede reale Architektur, die ein Teil davon ist, passt. Die allgemeine "
"Form ist E<lt>KernE<gt>-E<lt>CPUE<gt>. Beispiele: linux-any, any-i386, hurd-"
"any."

#. type: IP
#: dpkg-architecture.1:94
#, no-wrap
msgid "\\s-1GNU\\s0 system type"
msgstr "\\s-1GNU\\s0-Systemtyp"

#. type: Plain text
#: dpkg-architecture.1:98
msgid ""
"An architecture specification string consisting of two parts separated by a "
"dash: cpu and system. Examples: i386-linux-gnu, sparc-linux-gnu, i386-gnu, "
"x86_64-netbsd."
msgstr ""
"Eine Architektur-Spezifikations-Zeichenkette besteht aus zwei, durch einen "
"Bindestrich getrennten Teilen: CPU und System. Beispiele: i386-linux-gnu, "
"sparc-linux-gnu, i386-gnu, x86_64-netbsd."

#. type: SH
#: dpkg-architecture.1:99
#, no-wrap
msgid "VARIABLES"
msgstr "VARIABLEN"

#. type: Plain text
#: dpkg-architecture.1:101
msgid "The following variables are set by B<dpkg-architecture>:"
msgstr "Die folgenden Variablen werden von B<dpkg-architecture> gesetzt:"

#. type: IP
#: dpkg-architecture.1:101
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH\\s0"
msgstr "\\s-1DEB_BUILD_ARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:103
msgid "The Debian architecture of the build machine."
msgstr "Die Debian-Architektur der Baumaschine."

#. type: IP
#: dpkg-architecture.1:103
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_OS\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_OS\\s0"

#. type: Plain text
#: dpkg-architecture.1:105
msgid "The Debian system name of the build machine."
msgstr "Der Debian-Systemname der Baumaschine."

#. type: IP
#: dpkg-architecture.1:105
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_CPU\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:107
msgid "The Debian cpu name of the build machine."
msgstr "Der Debian-CPU-Name der Baumaschine."

#. type: IP
#: dpkg-architecture.1:107
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_BITS\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_BITS\\s0"

#. type: Plain text
#: dpkg-architecture.1:109
msgid "The pointer size of the build machine (in bits)."
msgstr "Die Zeigergröße der Baumaschine in Bits."

#. type: IP
#: dpkg-architecture.1:109
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_ENDIAN\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_ENDIAN\\s0"

#. type: Plain text
#: dpkg-architecture.1:111
msgid "The endianness of the build machine (little / big)."
msgstr "Die Endianness der Baumaschine (little/big)."

#. type: IP
#: dpkg-architecture.1:111
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_CPU\\s0"
msgstr "\\s-1DEB_BUILD_GNU_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:113
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr "Der \\s-1CPU\\s0-Teil von \\s-1DEB_BUILD_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:113
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_SYSTEM\\s0"
msgstr "\\s-1DEB_BUILD_GNU_SYSTEM\\s0"

#. type: Plain text
#: dpkg-architecture.1:115
msgid "The System part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr "Der System-Teil von \\s-1DEB_BUILD_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:115
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_TYPE\\s0"
msgstr "\\s-1DEB_BUILD_GNU_TYPE\\s0"

#. type: Plain text
#: dpkg-architecture.1:117
msgid "The \\s-1GNU\\s0 system type of the build machine."
msgstr "Der \\s-1GNU\\s0-Systemtyp der Baumaschine."

#. type: IP
#: dpkg-architecture.1:117
#, no-wrap
msgid "\\s-1DEB_BUILD_MULTIARCH\\s0"
msgstr "\\s-1DEB_BUILD_MULTIARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:120
msgid ""
"The clarified \\s-1GNU\\s0 system type of the build machine, used for "
"filesystem paths."
msgstr ""
"Der klargestellte \\s-1GNU\\s0-Systemtyp der Baumaschine, wird für "
"Dateisystempfade benutzt."

#. type: IP
#: dpkg-architecture.1:120
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH\\s0"
msgstr "\\s-1DEB_HOST_ARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:122
msgid "The Debian architecture of the host machine."
msgstr "Die Debian-Architektur der Host-Maschine."

#. type: IP
#: dpkg-architecture.1:122
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_OS\\s0"
msgstr "\\s-1DEB_HOST_ARCH_OS\\s0"

#. type: Plain text
#: dpkg-architecture.1:124
msgid "The Debian system name of the host machine."
msgstr "Der Debian-Systemname der Host-Maschine."

#. type: IP
#: dpkg-architecture.1:124
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_CPU\\s0"
msgstr "\\s-1DEB_HOST_ARCH_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:126
msgid "The Debian cpu name of the host machine."
msgstr "Der Debian-CPU-Name der Host-Maschine."

#. type: IP
#: dpkg-architecture.1:126
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_BITS\\s0"
msgstr "\\s-1DEB_HOST_ARCH_BITS\\s0"

#. type: Plain text
#: dpkg-architecture.1:128
msgid "The pointer size of the host machine (in bits)."
msgstr "Die Zeigergröße der Host-Maschine in Bits."

#. type: IP
#: dpkg-architecture.1:128
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_ENDIAN\\s0"
msgstr "\\s-1DEB_HOST_ARCH_ENDIAN\\s0"

#. type: Plain text
#: dpkg-architecture.1:130
msgid "The endianness of the host machine (little / big)."
msgstr "Die Endianness der Host-Maschine (little/big)."

#. type: IP
#: dpkg-architecture.1:130
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_CPU\\s0"
msgstr "\\s-1DEB_HOST_GNU_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:132
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr "Der \\s-1CPU\\s0-Teil von \\s-1DEB_HOST_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:132
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_SYSTEM\\s0"
msgstr "\\s-1DEB_HOST_GNU_SYSTEM\\s0"

#. type: Plain text
#: dpkg-architecture.1:134
msgid "The System part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr "Der System-Teil von \\s-1DEB_HOST_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:134
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_TYPE\\s0"
msgstr "\\s-1DEB_HOST_GNU_TYPE\\s0"

#. type: Plain text
#: dpkg-architecture.1:136
msgid "The \\s-1GNU\\s0 system type of the host machine."
msgstr "Der \\s-1GNU\\s0-Systemtyp der Host-Maschine."

#. type: IP
#: dpkg-architecture.1:136
#, no-wrap
msgid "\\s-1DEB_HOST_MULTIARCH\\s0"
msgstr "\\s-1DEB_HOST_MULTIARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:139
msgid ""
"The clarified \\s-1GNU\\s0 system type of the host machine, used for "
"filesystem paths."
msgstr ""
"Der klargestellte \\s-1GNU\\s0-Systemtyp der Host-Maschine, wird für "
"Dateisystempfade benutzt."

#. type: SH
#: dpkg-architecture.1:140
#, no-wrap
msgid "DEBIAN/RULES"
msgstr "DEBIAN/RULES"

#. type: Plain text
#: dpkg-architecture.1:148
msgid ""
"The environment variables set by B<dpkg-architecture> are passed to I<debian/"
"rules> as make variables (see make documentation). However, you should not "
"rely on them, as this breaks manual invocation of the script. Instead, you "
"should always initialize them using B<dpkg-architecture> with the -q option. "
"Here are some examples, which also show how you can improve the cross "
"compilation support in your package:"
msgstr ""
"Die Umgebungsvariablen, die von B<dpkg-architecture> gesetzt werden, werden "
"an I<debian/rules> als Make-Variablen weitergegeben (lesen Sie hierzu die "
"Make-Dokumentation). Allerdings sollten Sie sich nicht auf diese verlassen, "
"da damit der manuelle Aufruf des Skripts verhindert wird. Stattdessen "
"sollten Sie sie immer mit B<dpkg-architecture> mit der -q-Option "
"initialisieren. Hier sind einige Beispiele, die auch zeigen, wie sie die "
"Cross-Kompilierungs-Unterstützung in Ihrem Paket verbessern können:"

#. type: Plain text
#: dpkg-architecture.1:151 dpkg-architecture.1:168
msgid "Instead of:"
msgstr "Anstatt von:"

#. type: Plain text
#: dpkg-architecture.1:155
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"configure $(\\s-1ARCH\\s0)-linux\n"
msgstr ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"configure $(\\s-1ARCH\\s0)-linux\n"

#. type: Plain text
#: dpkg-architecture.1:158
msgid "please use the following:"
msgstr "verwenden Sie bitte das folgende:"

#. type: Plain text
#: dpkg-architecture.1:162
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)\n"
msgstr ""
"\\&\\s-1DEB_BUILD_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)\n"

#. type: Plain text
#: dpkg-architecture.1:164
#, no-wrap
msgid "configure --build=$(\\s-1DEB_BUILD_GNU_TYPE\\s0) --host=$(\\s-1DEB_HOST_GNU_TYPE\\s0)\n"
msgstr "configure --build=$(\\s-1DEB_BUILD_GNU_TYPE\\s0) --host=$(\\s-1DEB_HOST_GNU_TYPE\\s0)\n"

#. type: Plain text
#: dpkg-architecture.1:174
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"ifeq ($(\\s-1ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"ifeq ($(\\s-1ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"

#. type: Plain text
#: dpkg-architecture.1:177
msgid "please use:"
msgstr "bitte verwenden Sie:"

#. type: Plain text
#: dpkg-architecture.1:180
#, no-wrap
msgid "\\&\\s-1DEB_HOST_ARCH\\s0 := $(shell dpkg-architecture -qDEB_HOST_ARCH)\n"
msgstr "\\&\\s-1DEB_HOST_ARCH\\s0 := $(shell dpkg-architecture -qDEB_HOST_ARCH)\n"

#. type: Plain text
#: dpkg-architecture.1:184
#, no-wrap
msgid ""
"ifeq ($(\\s-1DEB_HOST_ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""
"ifeq ($(\\s-1DEB_HOST_ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"

#. type: Plain text
#: dpkg-architecture.1:188
msgid ""
"or if you only need to check the CPU or OS type, use the DEB_HOST_ARCH_CPU "
"or DEB_HOST_ARCH_OS variables."
msgstr ""
"oder, falls Sie nur den CPU- oder OS-Typ überprüfen müssen, verwenden Sie "
"die DEB_HOST_ARCH_CPU- oder DEB_HOST_ARCH_OS-Variablen."

#. type: Plain text
#: dpkg-architecture.1:193
msgid ""
"In general, calling dpkg in the rules file to get architecture information "
"is deprecated (unless you want to provide backward compatibility, see "
"below).  Especially the --print-architecture option is unreliable since we "
"have Debian architectures which don't equal a processor name."
msgstr ""
"Im Allgemeinen wird der Aufruf von Dpkg in der »rules«-Datei, um Architektur-"
"Informationen zu erhalten, abgelehnt (falls Sie Rückwärtskompatibilität "
"bereitstellen wollen, siehe unten). Insbesondere die --print-architecture-"
"Option ist unzuverlässig, da wir Debian-Architekturen haben, die nicht mit "
"einem Prozessornamen übereinstimmen."

#. type: SH
#: dpkg-architecture.1:194
#, no-wrap
msgid "BACKWARD COMPATIBILITY"
msgstr "RÜCKWÄRTSKOMPATIBILITÄT"

#. type: Plain text
#: dpkg-architecture.1:198
msgid ""
"The DEB_*_ARCH_BITS and DEB_*_ARCH_ENDIAN variables were introduced in dpkg-"
"dev 1.15.4. Using them in I<debian/rules> thus requires a build-dependency "
"on dpkg-dev (E<gt>= 1.15.4)."
msgstr ""
"Die Variablen DEB_*_ARCH_BITS und DEB_*_ARCH_ENDIAN wurden in dpkg-dev "
"1.15.4 eingeführt. Werden sie in I<debian/rules> verwandt, benötigen sie "
"daher eine Bauabhängigkeit von dpkg-dev (E<gt>= 1.15.4)."

#. type: Plain text
#: dpkg-architecture.1:203
msgid ""
"The DEB_HOST_ARCH_CPU and DEB_HOST_ARCH_OS variables were introduced in dpkg-"
"dev 1.13.2. Before this I<debian/rules> files tended to check the values of "
"the DEB_HOST_GNU_CPU or DEB_HOST_GNU_TYPE variables which have been subject "
"to change."
msgstr ""
"Die DEB_HOST_ARCH_CPU- und DEB_HOST_ARCH_OS-Variablen wurden in dpkg-dev "
"1.13.2 eingeführt. Vorher tendierten die I<debian/rules>-Dateien dazu, die "
"Werte der DEB_HOST_GNU_CPU- oder DEB_HOST_GNU_TYPE-Variablen zu überprüfen, "
"die aber Änderungen unterlagen."

#. type: Plain text
#: dpkg-architecture.1:208
msgid ""
"Where I<debian/rules> files check these variables to decide how or what to "
"compile, this should be updated to use the new variables and values.  You "
"may wish to retain backwards compatibility with older version of dpkg-dev by "
"using the following code:"
msgstr ""
"Wo I<debian/rules>-Dateien diese Variablen überprüfen um festzustellen, wie "
"oder was zu kompilieren ist, sollten diese aktualisiert werden, um die neuen "
"Variablen und Werte zu verwenden. Sie möchten eventuell "
"Rückwärtskompatibilität zu älteren Versionen von Dpkg-dev erhalten, indem "
"Sie den folgenden Code verwenden:"

#. type: Plain text
#: dpkg-architecture.1:212
#, no-wrap
msgid ""
"DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2E<gt>/dev/null)\n"
"DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2E<gt>/dev/null)\n"
msgstr ""
"DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2E<gt>/dev/null)\n"
"DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2E<gt>/dev/null)\n"

#. type: Plain text
#: dpkg-architecture.1:226
#, no-wrap
msgid ""
"# Take account of old dpkg-architecture output.\n"
"ifeq ($(DEB_HOST_ARCH_CPU),)\n"
"  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)\n"
"  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)\n"
"    DEB_HOST_ARCH_CPU := amd64\n"
"  endif\n"
"endif\n"
"ifeq ($(DEB_HOST_ARCH_OS),)\n"
"  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))\n"
"  ifeq ($(DEB_HOST_ARCH_OS),gnu)\n"
"    DEB_HOST_ARCH_OS := hurd\n"
"  endif\n"
"endif\n"
msgstr ""
"# Berücksichtige die Ausgabe des alten Dpkg-architecture.\n"
"ifeq ($(DEB_HOST_ARCH_CPU),)\n"
"  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)\n"
"  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)\n"
"    DEB_HOST_ARCH_CPU := amd64\n"
"  endif\n"
"endif\n"
"ifeq ($(DEB_HOST_ARCH_OS),)\n"
"  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))\n"
"  ifeq ($(DEB_HOST_ARCH_OS),gnu)\n"
"    DEB_HOST_ARCH_OS := hurd\n"
"  endif\n"
"endif\n"

#. type: Plain text
#: dpkg-architecture.1:229
msgid "And similarly for DEB_BUILD_ARCH_CPU and DEB_BUILD_ARCH_OS."
msgstr "Und ähnlich für DEB_BUILD_ARCH_CPU und DEB_BUILD_ARCH_OS."

#. type: Plain text
#: dpkg-architecture.1:232
msgid ""
"If you still wish to support versions of dpkg-dev that did not include "
"B<dpkg-architecture>, the following does the job:"
msgstr ""
"Falls Sie noch Versionen von Dpkg-dev, die B<dpkg-architecture> nicht "
"enthielten, unterstützen wollen, erledigt dies folgendes:"

#. type: Plain text
#: dpkg-architecture.1:242
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_ARCH\\s0 := $(shell dpkg --print-architecture)\n"
"\\&\\s-1DEB_BUILD_GNU_CPU\\s0 := $(patsubst hurd-%,%,$(\\s-1DEB_BUILD_ARCH\\s0))\n"
"ifeq ($(filter-out hurd-%,$(\\s-1DEB_BUILD_ARCH\\s0)),)\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := gnu\n"
"else\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := linux-gnu\n"
"endif\n"
"DEB_BUILD_GNU_TYPE=$(\\s-1DEB_BUILD_GNU_CPU\\s0)-$(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
msgstr ""
"\\&\\s-1DEB_BUILD_ARCH\\s0 := $(shell dpkg --print-architecture)\n"
"\\&\\s-1DEB_BUILD_GNU_CPU\\s0 := $(patsubst hurd-%,%,$(\\s-1DEB_BUILD_ARCH\\s0))\n"
"ifeq ($(filter-out hurd-%,$(\\s-1DEB_BUILD_ARCH\\s0)),)\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := gnu\n"
"else\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := linux-gnu\n"
"endif\n"
"DEB_BUILD_GNU_TYPE=$(\\s-1DEB_BUILD_GNU_CPU\\s0)-$(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"

#. type: Plain text
#: dpkg-architecture.1:247
#, no-wrap
msgid ""
"\\&\\s-1DEB_HOST_ARCH\\s0 := $(\\s-1DEB_BUILD_ARCH\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_CPU\\s0 := $(\\s-1DEB_BUILD_GNU_CPU\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_SYSTEM\\s0 := $(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(\\s-1DEB_BUILD_GNU_TYPE\\s0)\n"
msgstr ""
"\\&\\s-1DEB_HOST_ARCH\\s0 := $(\\s-1DEB_BUILD_ARCH\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_CPU\\s0 := $(\\s-1DEB_BUILD_GNU_CPU\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_SYSTEM\\s0 := $(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(\\s-1DEB_BUILD_GNU_TYPE\\s0)\n"

#. type: Plain text
#: dpkg-architecture.1:251
msgid ""
"Put a subset of these lines at the top of your debian/rules file; these "
"default values will be overwritten if dpkg-architecture is used."
msgstr ""
"Setzen Sie eine Untermenge dieser Zeilen oben in Ihre debian/rules-Datei; "
"diese Standardwerte werden überschrieben, falls Dpkg-architecture verwendet "
"wird."

#. type: Plain text
#: dpkg-architecture.1:258
msgid ""
"You don't need the full set. Choose a consistent set which contains the "
"values you use in the rules file. For example, if you only need the host "
"Debian architecture, `DEB_HOST_ARCH=\\`dpkg --print-architecture\\`' is "
"sufficient (this is indeed the Debian architecture of the build machine, but "
"remember that we are only trying to be backward compatible with native "
"compilation)."
msgstr ""
"Sie benötigen nicht den ganzen Satz. Wählen Sie einen konsistenten Satz, der "
"nur die Werte enthält, die Sie in der rules-Datei verwenden. Falls Sie "
"beispielsweise nur die Host-Debian-Architektur benötigen, ist »DEB_HOST_ARCH="
"\\`dpkg --print-architecture\\ ausreichend (dies ist in der Tat die Debian-"
"Architektur der Baumaschine, aber denken Sie daran, dass wir nur zur "
"»natürlichen« Kompilierung rückwärtskompatibel sein wollen)."

#. type: Plain text
#: dpkg-architecture.1:261
msgid ""
"The B<-e> and B<-i> options were only introduced in relatively recent "
"versions of B<dpkg-architecture> (since dpkg 1.13.13)."
msgstr ""
"Die B<-e>- und B<-i>-Optionen wurden erst in relativ neuen Versionen von "
"B<dpkg-architecture> eingeführt (seit Dpkg 1.13.13)."

#. type: Plain text
#: dpkg-architecture.1:265
msgid ""
"B<dpkg-buildpackage> accepts the B<-a> option and passes it to B<dpkg-"
"architecture>. Other examples:"
msgstr ""
"B<dpkg-buildpackage> akzeptiert die B<-a>-Option und gibt dies an B<dpkg-"
"architecture> weiter. Weitere Beispiele:"

#. type: Plain text
#: dpkg-architecture.1:267
msgid "CC=i386-gnu-gcc dpkg-architecture -c debian/rules build"
msgstr "CC=i386-gnu-gcc dpkg-architecture -c debian/rules build"

#. type: Plain text
#: dpkg-architecture.1:269
msgid "eval \\`dpkg-architecture -u\\`"
msgstr "eval \\`dpkg-architecture -u\\`"

#. type: Plain text
#: dpkg-architecture.1:272
msgid ""
"Check if an architecture is equal to the current architecture or a given one:"
msgstr ""
"Überprüfe, ob eine Architektur identisch zu der aktuellen Architektur oder "
"einer übergebenen ist:"

#. type: Plain text
#: dpkg-architecture.1:274
msgid "dpkg-architecture -elinux-alpha"
msgstr "dpkg-architecture -elinux-alpha"

#. type: Plain text
#: dpkg-architecture.1:276
msgid "dpkg-architecture -amips -elinux-mips"
msgstr "dpkg-architecture -amips -elinux-mips"

#. type: Plain text
#: dpkg-architecture.1:279
msgid ""
"Check if the current architecture or an architecture provided with -a are "
"Linux systems:"
msgstr ""
"Überprüfe, ob die aktuelle oder eine mit -a übergebene Architektur Linux-"
"Systeme sind:"

#. type: Plain text
#: dpkg-architecture.1:281
msgid "dpkg-architecture -ilinux-any"
msgstr "dpkg-architecture -ilinux-any"

#. type: Plain text
#: dpkg-architecture.1:283
msgid "dpkg-architecture -ai386 -ilinux-any"
msgstr "dpkg-architecture -ai386 -ilinux-any"

#. type: Plain text
#: dpkg-architecture.1:288
msgid ""
"All these files have to be present for B<dpkg-architecture> to work. Their "
"location can be overridden at runtime with the environment variable "
"B<DPKG_DATADIR>."
msgstr ""
"Alle diese Dateien müssen vorhanden sein, damit B<dpkg-architecture> "
"funktioniert. Ihr Ort kann zur Laufzeit mit der Umgebungsvariable "
"B<DPKG_DATADIR> überschrieben werden."

#. type: TP
#: dpkg-architecture.1:288
#, no-wrap
msgid "I</usr/share/dpkg/cputable>"
msgstr "I</usr/share/dpkg/cputable>"

#. type: Plain text
#: dpkg-architecture.1:291
msgid "Table of known CPU names and mapping to their GNU name."
msgstr "Tabelle der bekannten CPU-Namen und Abbildungen auf ihre GNU-Namen."

#. type: TP
#: dpkg-architecture.1:291
#, no-wrap
msgid "I</usr/share/dpkg/ostable>"
msgstr "I</usr/share/dpkg/ostable>"

#. type: Plain text
#: dpkg-architecture.1:294
msgid "Table of known operating system names and mapping to their GNU name."
msgstr ""
"Tabelle der bekannten Betriebssystemnamen und Abbildungen auf ihre GNU-Namen."

#. type: TP
#: dpkg-architecture.1:294
#, no-wrap
msgid "I</usr/share/dpkg/triplettable>"
msgstr "I</usr/share/dpkg/triplettable>"

#. type: Plain text
#: dpkg-architecture.1:298
msgid ""
"Mapping between Debian architecture triplets and Debian architecture names."
msgstr ""
"Abbildung zwischen den Debian-Architektur-Tripletts und den Debian-"
"Architekturnamen."

#. type: Plain text
#: dpkg-architecture.1:302
msgid "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."
msgstr "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."

#. type: Plain text
#: dpkg-architecture.1:307
msgid ""
"B<dpkg-architecture> and this man page were initially written by Marcus "
"Brinkmann E<lt>brinkmd@debian.orgE<gt>."
msgstr ""
"B<dpkg-architecture> und diese Handbuchseite wurden ursprünglich von Marcus "
"Brinkmann E<lt>brinkmd@debian.orgE<gt> geschrieben."

#. type: TH
#: dpkg.cfg.5:1
#, no-wrap
msgid "dpkg.cfg"
msgstr "dpkg.cfg"

#. type: TH
#: dpkg.cfg.5:1
#, no-wrap
msgid "2009-09-05"
msgstr "2009-09-05"

#. type: Plain text
#: dpkg.cfg.5:4
msgid "dpkg.cfg - dpkg configuration file"
msgstr "dpkg.cfg - dpkg Konfigurationsdatei"

#. type: Plain text
#: dpkg.cfg.5:11
msgid ""
"This file contains default options for dpkg. Each line contains a single "
"option which is exactly the same as a normal command line option for dpkg "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""
"Diese Datei enthält Standardoptionen für dpkg. Jede Zeile enthält eine "
"einzelne Option, die exakt die gleiche wie für die normalen Kommandozeilen-"
"Option von dpkg sind, abgesehen von den einleitenden Gedankenstrichen, die "
"hier nicht verwendet werden. Anführungszeichen (»Quotes«) um Optionswerte "
"werden entfernt. Kommentare sind durch Einleiten einer Zeile mit einem "
"Rautenzeichen (\"B<#>\") erlaubt."

#. type: Plain text
#: dpkg.cfg.5:14
msgid "I</etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*>"
msgstr "I</etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*>"

#. type: Plain text
#: dpkg.cfg.5:18
msgid "I<~/.dpkg.cfg>"
msgstr "I<~/.dpkg.cfg>"

#. type: Plain text
#: dpkg.cfg.5:24 dpkg-divert.8:134 dpkg-query.1:222 dpkg-statoverride.8:86
msgid "B<dpkg>(1)."
msgstr "B<dpkg>(1)."

#. type: TH
#: dpkg-buildflags.1:1
#, no-wrap
msgid "dpkg-buildflags"
msgstr "dpkg-buildflags"

#. type: TH
#: dpkg-buildflags.1:1
#, fuzzy, no-wrap
#| msgid "2011-09-09"
msgid "2011-09-13"
msgstr "2011-09-09"

#. type: Plain text
#: dpkg-buildflags.1:4
msgid "dpkg-buildflags - returns build flags to use during package build"
msgstr "dpkg-buildflags - liefert Bauschalter zum Einsatz beim Paketbau"

#. type: Plain text
#: dpkg-buildflags.1:8
msgid "B<dpkg-buildflags> [I<option>...] [I<command>]"
msgstr "B<dpkg-buildflags> [I<Option>...] [I<Befehl>]"

#. type: Plain text
#: dpkg-buildflags.1:12
msgid ""
"B<dpkg-buildflags> is a tool to retrieve compilation flags to use during "
"build of Debian packages."
msgstr ""
"B<dpkg-buildflags> ist ein Werkzeug, das zum Abfragen der zu verwendenden "
"Kompilierungsschalter für den Bau von Debian-Paketen eingesetzt wird."

#. type: Plain text
#: dpkg-buildflags.1:15
msgid ""
"The default flags are defined by the vendor but they can be extended/"
"overriden in several ways:"
msgstr ""
"Die Standardschalter werden vom Lieferanten definiert, sie können auf "
"mehrere Arten erweitert/überschrieben werden:"

#. type: IP
#: dpkg-buildflags.1:15
#, no-wrap
msgid "1."
msgstr "1."

#. type: Plain text
#: dpkg-buildflags.1:17
msgid "system-wide with B</etc/dpkg/buildflags.conf>;"
msgstr "systemweit mit B</etc/dpkg/buildflags.conf>"

#. type: IP
#: dpkg-buildflags.1:17
#, no-wrap
msgid "2."
msgstr "2."

#. type: Plain text
#: dpkg-buildflags.1:20
msgid ""
"for the current user with B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> where B<"
"$XDG_CONFIG_HOME> defaults to B<$HOME/.config>;"
msgstr ""
"für den aktuellen Benutzer mit B<$XDG_CONFIG_HOME/dpkg/buildflags.conf>, "
"wobei B<$XDG_CONFIG_HOME> standardmäßig auf B<$HOME/.config> gesetzt ist"

#. type: IP
#: dpkg-buildflags.1:20
#, no-wrap
msgid "3."
msgstr "3."

#. type: Plain text
#: dpkg-buildflags.1:23
msgid ""
"temporarily by the user with environment variables (see section "
"B<ENVIRONMENT>);"
msgstr ""
"temporär durch den Benutzer mittels Umgebungsvariablen (siehe Abschnitt "
"B<UMGEBUNG>)"

#. type: IP
#: dpkg-buildflags.1:23
#, no-wrap
msgid "4."
msgstr "4."

#. type: Plain text
#: dpkg-buildflags.1:26
msgid ""
"dynamically by the package maintainer with environment variables set via "
"B<debian/rules> (see section B<ENVIRONMENT>)."
msgstr ""
"dynamisch durch den Paketverwalter mittels Umgebungsvariablen, die über "
"B<debian/rules> gesetzt wurden (siehe Abschnitt B<UMGEBUNG>)"

#. type: Plain text
#: dpkg-buildflags.1:28
msgid "The configuration files can contain two types of directives:"
msgstr "Die Konfigurationsdateien können zwei Arten von Direktiven enthalten:"

#. type: TP
#: dpkg-buildflags.1:28
#, no-wrap
msgid "B<SET>I< flag value>"
msgstr "B<SET>I< Schalter Wert>"

#. type: Plain text
#: dpkg-buildflags.1:31
msgid "Override the flag named I<flag> to have the value I<value>."
msgstr ""
"Überschreibt den Schalter namens I<Schalter>, um den Wert I<Wert> zu "
"erhalten."

#. type: TP
#: dpkg-buildflags.1:31
#, no-wrap
msgid "B<STRIP>I< flag value>"
msgstr "B<STRIP>I< Schalter Wert>"

#. type: Plain text
#: dpkg-buildflags.1:34
msgid ""
"Strip from the flag named I<flag> all the build flags listed in I<value>."
msgstr ""
"Aus dem Schalter namens I<Schalter> alle in I<Wert> aufgeführten Bauschalter "
"entfernen"

#. type: TP
#: dpkg-buildflags.1:34
#, no-wrap
msgid "B<APPEND>I< flag value>"
msgstr "B<APPEND>I< Schalter Wert>"

#. type: Plain text
#: dpkg-buildflags.1:38
msgid ""
"Extend the flag named I<flag> by appending the options given in I<value>.  A "
"space is prepended to the appended value if the flag's current value is non-"
"empty."
msgstr ""
"Erweitert den Schalter namens I<Schalter> durch Anhängen der in I<Wert> "
"angegebenen Optionen. Ein Leerzeichen wird vor den angehängten Wert "
"vorangestellt, falls der derzeitige Wert nicht leer ist."

#. type: TP
#: dpkg-buildflags.1:38
#, no-wrap
msgid "B<PREPEND>I< flag value>"
msgstr "B<PREPEND>I< Schalter Wert>"

#. type: Plain text
#: dpkg-buildflags.1:42
msgid ""
"Extend the flag named I<flag> by prepending the options given in I<value>.  "
"A space is appended to the prepended value if the flag's current value is "
"non-empty."
msgstr ""
"Erweitert den Schalter namens I<Schalter> durch Voranstellen der in I<Wert> "
"angegebenen Optionen. Ein Leerzeichen wird hinter den vorangestellten Wert "
"angehängt, falls der derzeitige Wert nicht leer ist."

#. type: Plain text
#: dpkg-buildflags.1:45
msgid ""
"The configuration files can contain comments on lines starting with a hash "
"(#). Empty lines are also ignored."
msgstr ""
"Die Konfigurationsdateien können Kommentare auf Zeilen enthalten, die mit "
"einer Raute (#) beginnen. Leere Zeilen werden auch ignoriert."

#. type: TP
#: dpkg-buildflags.1:46
#, no-wrap
msgid "B<--dump>"
msgstr "B<--dump>"

#. type: Plain text
#: dpkg-buildflags.1:51
msgid ""
"Print to standard output all compilation flags and their values. It prints "
"one flag per line separated from its value by an equal sign "
"(\"I<flag>=I<value>\"). This is the default action."
msgstr ""
"Auf der Standardausgabe alle Kompilierschalter und ihre Werte ausgeben. Es "
"wird ein Schalter pro Zeile ausgegeben, wobei der Werte durch ein "
"Gleichheitszeichen (»I<Schalter>=I<Wert>«) abgetrennt wird. Dies ist die "
"Standardaktion."

#. type: TP
#: dpkg-buildflags.1:51
#, no-wrap
msgid "B<--list>"
msgstr "B<--list>"

#. type: Plain text
#: dpkg-buildflags.1:56
msgid ""
"Print the list of flags supported by the current vendor (one per line). See "
"the B<SUPPORTED FLAGS> section for more information about them."
msgstr ""
"Gibt die Liste der vom aktuellen Lieferanten unterstützen Schalter (eine pro "
"Zeile) aus. Lesen Sie den Abschnitt B<UNTERSTÜTZTE SCHALTER> für weitere "
"Informationen über sie."

#. type: TP
#: dpkg-buildflags.1:56
#, no-wrap
msgid "B<--export=>I<format>"
msgstr "B<--export=>I<Format>"

#. type: Plain text
#: dpkg-buildflags.1:66
msgid ""
"Print to standard output shell (if I<format> is B<sh>) or make (if I<format> "
"is B<make>) commands that can be used to export all the compilation flags in "
"the environment. If I<format> is B<configure> then the output can be used on "
"a B<./configure> command-line. If the I<format> value is not given, B<sh> is "
"assumed. Only compilation flags starting with an upper case character are "
"included, others are assumed to not be suitable for the environment."
msgstr ""
"Auf der Standardausgabe Shell- (falls I<Format> B<sh> ist) oder Make- (falls "
"I<Format> B<make> ist) Befehle ausgeben, die dazu verwandt werden können, "
"alle Kompilierschalter in die Umgebung zu exportieren. Falls I<Format> "
"B<configure> lautet, kann die Ausgabe für eine Kommandozeile von B<./"
"configure> verwandt werden. Falls der Wert von I<Format> nicht angegeben "
"wird, wird B<sh> angenommen. Nur Kompilierschalter, die mit einem "
"Großbuchstaben beginnen, werden aufgenommen. Bei allen anderen wird "
"angenommen, dass sie für die Umgebung nicht geeignet sind."

#. type: TP
#: dpkg-buildflags.1:66
#, no-wrap
msgid "B<--get>I< flag>"
msgstr "B<--get>I< Schalter>"

#. type: Plain text
#: dpkg-buildflags.1:70
msgid ""
"Print the value of the flag on standard output. Exits with 0 if the flag is "
"known otherwise exits with 1."
msgstr ""
"Gibt den Wert des Schalters auf der Standardausgabe aus. Beendet sich mit 0, "
"falls der Schalter bekannt ist, andernfalls mit 1."

#. type: TP
#: dpkg-buildflags.1:70
#, no-wrap
msgid "B<--origin>I< flag>"
msgstr "B<--origin>I< Schalter>"

#. type: Plain text
#: dpkg-buildflags.1:75
msgid ""
"Print the origin of the value that is returned by B<--get>. Exits with 0 if "
"the flag is known otherwise exits with 1. The origin can be one of the "
"following values:"
msgstr ""
"Gibt den Ursprung des von B<--get> gelieferten Werts aus. Beendet sich mit "
"0, falls der Schalter bekannt ist, andernfalls mit 1. Der Ursprung kann "
"einer der folgenden Werte sein:"

#. type: TP
#: dpkg-buildflags.1:76
#, no-wrap
msgid "B<vendor>"
msgstr "B<vendor>"

#. type: Plain text
#: dpkg-buildflags.1:79
msgid "the original flag set by the vendor is returned;"
msgstr ""
"der ursprünglich vom Lieferanten gesetzte Schalter wird zurückgeliefert"

#. type: TP
#: dpkg-buildflags.1:79
#, no-wrap
msgid "B<system>"
msgstr "B<system>"

#. type: Plain text
#: dpkg-buildflags.1:82
msgid "the flag is set/modified by a system-wide configuration;"
msgstr ""
"der Schalter wurde durch eine systemweite Konfiguration gesetzt/verändert"

#. type: TP
#: dpkg-buildflags.1:82
#, no-wrap
msgid "B<user>"
msgstr "B<user>"

#. type: Plain text
#: dpkg-buildflags.1:85
msgid "the flag is set/modified by a user-specific configuration;"
msgstr ""
"der Schalter wurde durch eine benutzerspezifische Konfiguration gesetzt/"
"verändert"

#. type: TP
#: dpkg-buildflags.1:85
#, no-wrap
msgid "B<env>"
msgstr "B<env>"

#. type: Plain text
#: dpkg-buildflags.1:88
msgid "the flag is set/modified by an environment-specific configuration."
msgstr ""
"der Schalter wurde durch eine umgebungsspezifische Konfiguration gesetzt/"
"verändert"

#. type: SH
#: dpkg-buildflags.1:96
#, no-wrap
msgid "SUPPORTED FLAGS"
msgstr "UNTERSTÜTZTE SCHALTER"

#. type: TP
#: dpkg-buildflags.1:97
#, no-wrap
msgid "B<CFLAGS>"
msgstr "B<CFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:103
msgid ""
"Options for the C compiler. The default value set by the vendor includes I<-"
"g> and the default optimization level (I<-O2> usually, or I<-O0> if the "
"B<DEB_BUILD_OPTIONS> environment variable defines I<noopt>)."
msgstr ""
"Optionen für den C-Compiler. Der vom Lieferanten gesetzte Standardwert "
"enthält I<-g> und die Standard Optimierungsstufe (normalerweise I<-O2> oder "
"I<-O0>, falls die Umgebungsvariable B<DEB_BUILD_OPTIONS> I<noopt> definiert."

#. type: TP
#: dpkg-buildflags.1:103
#, no-wrap
msgid "B<CPPFLAGS>"
msgstr "B<CPPFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:106
msgid "Options for the C preprocessor. Default value: empty."
msgstr "Optionen für den C-Präprozessor. Standardwert: leer"

#. type: TP
#: dpkg-buildflags.1:106
#, no-wrap
msgid "B<CXXFLAGS>"
msgstr "B<CXXFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:109
msgid "Options for the C++ compiler. Same as B<CFLAGS>."
msgstr "Optionen für den C++-Compiler. Identisch zu B<CFLAGS>."

#. type: TP
#: dpkg-buildflags.1:109
#, no-wrap
msgid "B<FFLAGS>"
msgstr "B<FFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:112
msgid "Options for the Fortran compiler. Same as B<CFLAGS>."
msgstr "Optionen für den Fortran-Compiler. Identisch zu B<CFLAGS>."

#. type: TP
#: dpkg-buildflags.1:112
#, no-wrap
msgid "B<LDFLAGS>"
msgstr "B<LDFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:120
msgid ""
"Options passed to the compiler when linking executables or shared objects "
"(if the linker is called directly, then B<-Wl> and B<,> have to be stripped "
"from these options). Default value: empty."
msgstr ""
"Optionen die beim Linken von Programmen oder Laufzeitbibliotheken an den "
"Compiler weitergegeben werden (falls der Linker direkt aufgerufen wird, "
"müssen B<-Wl> und B<,> aus diesen Optionen entfernt werden). Standardmäßig "
"leer."

#. type: TP
#: dpkg-buildflags.1:122
#, no-wrap
msgid "B</etc/dpkg/buildflags.conf>"
msgstr "B</etc/dpkg/buildflags.conf>"

#. type: Plain text
#: dpkg-buildflags.1:125
msgid "System wide configuration file."
msgstr "Systemweite Konfigurationsdatei"

#. type: TP
#: dpkg-buildflags.1:125
#, no-wrap
msgid "B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> or B<$HOME/.config/dpkg/buildflags.conf>"
msgstr "B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> oder B<$HOME/.config/dpkg/buildflags.conf>"

#. type: Plain text
#: dpkg-buildflags.1:128
msgid "User configuration file."
msgstr "Benutzer-Konfigurationsdatei"

#. type: Plain text
#: dpkg-buildflags.1:135
msgid ""
"There are 2 sets of environment variables doing the same operations, the "
"first one (DEB_I<flag>_I<op>) should never be used within B<debian/rules>. "
"It's meant for any user that wants to rebuild the source package with "
"different build flags. The second set (DEB_I<flag>_MAINT_I<op>) should only "
"be used in B<debian/rules> by package maintainers to change the resulting "
"build flags."
msgstr ""
"Es gibt einen Satz von zwei Umgebungsvariablen, die den gleichen Vorgang "
"durchführen. Der erste (DEB_I<Schalter>_I<Vorg>) sollte niemals innerhalb "
"von B<debian/rules> verwandt werden. Er ist für Benutzer gedacht, die das "
"Quellpaket mit anderen Bauschaltern erneut bauen möchten. Der zweite Satz "
"(DEB_I<Schalter>_MAINT_I<Vorg>) sollte nur durch Paketbetreuer in B<debian/"
"rules> verwandt werden, um die entstehenden Bauschalter zu ändern."

#. type: TP
#: dpkg-buildflags.1:135
#, no-wrap
msgid "B<DEB_>I<flag>B<_SET>"
msgstr "B<DEB_>I<Schalter>B<_SET>"

#. type: TQ
#: dpkg-buildflags.1:137
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_SET>"
msgstr "B<DEB_>I<Schalter>B<_MAINT_SET>"

#. type: Plain text
#: dpkg-buildflags.1:141
msgid ""
"This variable can be used to force the value returned for the given I<flag>."
msgstr ""
"Diese Variable kann zum Erzwingen des für I<Schalter> zurückgegebenen Werts "
"verwandt werden."

#. type: TP
#: dpkg-buildflags.1:141
#, no-wrap
msgid "B<DEB_>I<flag>B<_STRIP>"
msgstr "B<DEB_>I<Schalter>B<_STRIP>"

#. type: TQ
#: dpkg-buildflags.1:143
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_STRIP>"
msgstr "B<DEB_>I<Schalter>B<_MAINT_STRIP>"

#. type: Plain text
#: dpkg-buildflags.1:148
msgid ""
"This variable can be used to provide a space separated list of options that "
"will be stripped from the set of flags returned for the given I<flag>."
msgstr ""
"Diese Variable kann zum Bereitstellen einer durch Leerzeichen getrennten "
"Liste von Optionen verwandt werden, die aus dem Satz von I<Schalter> "
"zurückgelieferten Schaltern entfernt werden."

#. type: TP
#: dpkg-buildflags.1:148
#, no-wrap
msgid "B<DEB_>I<flag>B<_APPEND>"
msgstr "B<DEB_>I<Schalter>B<_APPEND>"

#. type: TQ
#: dpkg-buildflags.1:150
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_APPEND>"
msgstr "B<DEB_>I<Schalter>B<_MAINT_APPEND>"

#. type: Plain text
#: dpkg-buildflags.1:154
msgid ""
"This variable can be used to append supplementary options to the value "
"returned for the given I<flag>."
msgstr ""
"Diese Variable kann zum Anhängen ergänzender Optionen zum Wert, der von "
"I<Schalter> zurückgegeben wird, verwandt werden."

#. type: TP
#: dpkg-buildflags.1:154
#, no-wrap
msgid "B<DEB_>I<flag>B<_PREPEND>"
msgstr "B<DEB_>I<Schalter>B<_PREPEND>"

#. type: TQ
#: dpkg-buildflags.1:156
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_PREPEND>"
msgstr "B<DEB_>I<Schalter>B<_MAINT_PREPEND>"

#. type: Plain text
#: dpkg-buildflags.1:160
msgid ""
"This variable can be used to prepend supplementary options to the value "
"returned for the given I<flag>."
msgstr ""
"Diese Variable kann zum Voranstellen ergänzender Optionen zum Wert, der von "
"I<Schalter> zurückgegeben wird, verwandt werden."

#. type: TP
#: dpkg-buildflags.1:160
#, no-wrap
msgid "B<DEB_BUILD_MAINT_OPTIONS>"
msgstr "B<DEB_BUILD_MAINT_OPTIONS>"

#. type: Plain text
#: dpkg-buildflags.1:165
msgid ""
"This variable can be used to disable/enable various hardening build flags "
"through the B<hardening> option. See the B<HARDENING> section for details."
msgstr ""
"Diese Variable kann zum Deaktivieren oder Aktivieren verschiedener "
"Härtungsbauschalter durch die Option B<hardening> verwandt werden. Lesen Sie "
"den Abschnitt B<HÄRTUNG> für weitere Details."

#. type: SH
#: dpkg-buildflags.1:166
#, no-wrap
msgid "HARDENING"
msgstr "HÄRTUNG"

#. type: Plain text
#: dpkg-buildflags.1:171
msgid ""
"Several compile-time options (detailed below) can be used to help harden a "
"resulting binary against memory corruption attacks, or provide additional "
"warning messages during compilation. Except as noted below, these are "
"enabled by default for architectures that support them."
msgstr ""
"Mehrere Kompilierzeit-Optionen (weiter unten beschrieben) können dazu "
"verwandt werden, ein erstelltes Programm gegen Speicherverfälschungsangriffe "
"zu härten, oder zusätzliche Warnungsmeldungen während der Übersetzung "
"auszugeben. Sie werden für Architekturen, die diese unterstützen, "
"standardmäßig aktiviert; die Ausnahmen sind unten angegeben."

#. type: Plain text
#: dpkg-buildflags.1:177
msgid ""
"Each hardening feature can be enabled and disabled in the "
"B<DEB_BUILD_MAINT_OPTIONS> environment variable's B<hardening> value with "
"the \"+\" and \"-\" modifier. For example, to enable the \"pie\" feature and "
"disable the \"fortify\" feature you can do this in B<debian/rules>:"
msgstr ""
"Jede Härtungsfunktionalität kann durch den entsprechenden B<Härtungs->-Wert "
"in der Umgebungsvariablen B<DEB_BUILD_MAINT_OPTIONS> mit den »+«- und »-«-"
"Schaltern aktiviert und deaktiviert werden. Soll beispielsweise die »pie«-"
"Funktionalität aktiviert und die »fortify«-Funktionalität deaktiviert "
"werden, können Sie Folgendes in B<debian/rules> verwenden:"

#. type: Plain text
#: dpkg-buildflags.1:179
#, fuzzy, no-wrap
#| msgid "  export DEB_BUILD_MAINT_OPTIONS=\"hardening=+pie,-fortify\"\n"
msgid "  export DEB_BUILD_MAINT_OPTIONS=hardening=+pie,-fortify\n"
msgstr "  export DEB_BUILD_MAINT_OPTIONS=\"hardening=+pie,-fortify\"\n"

#. type: Plain text
#: dpkg-buildflags.1:183
msgid ""
"The special feature B<all> can be used to enable or disable all hardening "
"features at the same time. Thus disabling everything and enabling only "
"\"format\" and \"fortify\" can be achieved with:"
msgstr ""
"Die spezielle Funktionalität B<all> kann dazu verwandt werden, alle "
"Härtungsfunktionalitäten auf einmal zu aktivieren oder zu deaktiveren. Um "
"daher alles zu deaktiveren und nur »format« und »fortify« zu aktiveren, kann "
"Folgendes eingesetzt werden:"

#. type: Plain text
#: dpkg-buildflags.1:185
#, fuzzy, no-wrap
#| msgid "  export DEB_BUILD_MAINT_OPTIONS=\"hardening=-all,+format,+fortify\"\n"
msgid "  export DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+fortify\n"
msgstr "  export DEB_BUILD_MAINT_OPTIONS=\"hardening=-all,+format,+fortify\"\n"

#. type: TP
#: dpkg-buildflags.1:186
#, no-wrap
msgid "B<format>"
msgstr "B<format>"

#. type: Plain text
#: dpkg-buildflags.1:198
msgid ""
"This setting (enabled by default) adds B<-Wformat -Wformat-security -"
"Werror=format-security> to B<CFLAGS> and B<CXXFLAGS>. This will warn about "
"improper format string uses, and will fail when format functions are used in "
"a way that that represent possible security problems. At present, this warns "
"about calls to B<printf> and B<scanf> functions where the format string is "
"not a string literal and there are no format arguments, as in B<printf(foo);"
"> instead of B<printf(\"%s\", foo);> This may be a security hole if the "
"format string came from untrusted input and contains \"%n\"."
msgstr ""
"Diese Einstellung (standardmäßig aktiviert) fügt B<-Wformat -Wformat-"
"security -Werror=format-security> zu B<CFLAGS> und B<CXXFLAGS> hinzu. Damit "
"wird über inkorrekte Formatzeichenkettenverwendungen gewarnt und zu einem "
"Fehler führen, wenn Formatfunktionen deart verwandt werden, dass daraus ein "
"mögliches Sicherheitsproblem werden könnte. Derzeit warnt dies über Aufrufe "
"auf B<printf>- und B<scanf>-Funktionen, bei denen die Formatzeichenkette "
"nicht eine reine Zeichenkette ist und es keine Formatargumente gibt, wie in "
"B<printf(foo);> statt B<printf(\"%s\", foo);>. Dies könnte ein "
"Sicherheitsproblem sein, falls die Formatzeichenkette aus einer "
"unvertrauenswürdigen Eingabe stammt und »%n« enthält."

#. type: TP
#: dpkg-buildflags.1:199
#, no-wrap
msgid "B<fortify>"
msgstr "B<fortify>"

#. type: Plain text
#: dpkg-buildflags.1:210
msgid ""
"This setting (enabled by default) adds B<-D_FORTIFY_SOURCE=2> to B<CFLAGS> "
"and B<CXXFLAGS>. During code generation the compiler knows a great deal of "
"information about buffer sizes (where possible), and attempts to replace "
"insecure unlimited length buffer function calls with length-limited ones. "
"This is especially useful for old, crufty code.  Additionally, format "
"strings in writable memory that contain '%n' are blocked. If an application "
"depends on such a format string, it will need to be worked around."
msgstr ""
"Diese Einstellung (standardmäßig aktiviert) fügt B<-D_FORTIFY_SOURCE=2> zu "
"B<CFLAGS> und B<CXXFLAGS> hinzu. Während der Code-Erstellung hat der "
"Compiler umfangreiche Informationen über Puffergrößen (wo möglich) und "
"versucht, unsichere unbegrenzte Pufferfunktionsaufrufe durch längenbegrenzte "
"zu ersetzen. Das ist besonders für alten, verkramten Code nützlich. "
"Zusätzlich werden Formatzeichenketten in schreibbarem Speicher, die »%n« "
"enthalten, blockiert. Falls eine Anwendung von solchen Formatzeichenketten "
"abhängt, müssen dafür andere Lösungsmöglichkeiten gefunden werden."

#. type: Plain text
#: dpkg-buildflags.1:213
msgid ""
"Note that for this option to have any effect, the source must also be "
"compiled with B<-O1> or higher."
msgstr ""
"Beachten Sie, dass die Quellen auch mit B<-O1> oder höher kompiliert werden "
"müssen, damit diese Option einen Effekt hat."

#. type: TP
#: dpkg-buildflags.1:213
#, no-wrap
msgid "B<stackprotector>"
msgstr "B<stackprotector>"

#. type: Plain text
#: dpkg-buildflags.1:222
msgid ""
"This setting (enabled by default) adds B<-fstack-protector --param=ssp-"
"buffer-size=4> to B<CFLAGS> and B<CXXFLAGS>. This adds safety checks against "
"stack overwrites. This renders many potential code injection attacks into "
"aborting situations. In the best case this turns code injection "
"vulnerabilities into denial of service or into non-issues (depending on the "
"application)."
msgstr ""
"Diese Einstellung (standardmäßig aktiviert) fügt B<-fstack-protector --"
"param=ssp-buffer-size=4> zu B<CFLAGS> und B<CXXFLAGS> hinzu. Dies fügt "
"Sicherheitsprüfungen gegen die Überschreibung des Stapelspeichers (Stacks) "
"hinzu. Damit werden viele mögliche Code-Einfügeangriffe zu "
"Abbruchsituationen. Im besten Fall werden damit Code-Einfügungsangriffe zu "
"Diensteverweigerungsangriffen oder zu keinen Problemen (abhängig von der "
"Anwendung)."

#. type: Plain text
#: dpkg-buildflags.1:226
msgid ""
"This feature requires linking against glibc (or another provider of "
"B<__stack_chk_fail>), so needs to be disabled when building with B<-"
"nostdlib> or B<-ffreestanding> or similar."
msgstr ""
"Diese Funktionalität benötigt das Linken mit Glibc (oder einem anderen "
"Anbieter von B<__stack_chk_fail>). Sie muss daher deaktiviert werden, wenn "
"mit B<-nostdlib> oder B<-ffreestanding> oder Ähnlichem gebaut wird."

#. type: TP
#: dpkg-buildflags.1:227
#, no-wrap
msgid "B<relro>"
msgstr "B<relro>"

#. type: Plain text
#: dpkg-buildflags.1:235
msgid ""
"This setting (enabled by default) adds B<-Wl,-z,relro> to B<LDFLAGS>.  "
"During program load, several ELF memory sections need to be written to by "
"the linker. This flags the loader to turn these sections read-only before "
"turning over control to the program. Most notably this prevents GOT "
"overwrite attacks."
msgstr ""
"Diese Einstellung (standardmäßig aktiviert) fügt B<-Wl,-z,relro> zu "
"B<LDFLAGS> hinzu. Während des Ladens des Programms müssen mehrere ELF-"
"Speicherabschnitte vom Binder (Linker) geschrieben werden. Diese Einstellung "
"signalisiert dem Ladeprogramm, diese Abschnitte in nur-Lese-Zugriff zu "
"ändern, bevor die Steuerung an das Programm übergeben wird. Insbesondere "
"verhindert dies GOT-Überschreibeangriffe."

#. type: TP
#: dpkg-buildflags.1:236
#, no-wrap
msgid "B<bindnow>"
msgstr "B<bindnow>"

#. type: Plain text
#: dpkg-buildflags.1:243
#, fuzzy
#| msgid ""
#| "This setting (enabled by default) adds B<-Wl,-z,now> to B<LDFLAGS>. "
#| "During program load, all dynamic symbols are resolved, allowing for the "
#| "entire PLT to be marked read-only (due to B<relro> above)."
msgid ""
"This setting (disabled by default) adds B<-Wl,-z,now> to B<LDFLAGS>. During "
"program load, all dynamic symbols are resolved, allowing for the entire PLT "
"to be marked read-only (due to B<relro> above)."
msgstr ""
"Diese Einstellung (standardmäßig aktiviert) fügt B<-Wl,-z,now> zu B<LDFLAGS> "
"hinzu. Während des Ladens des Programms werden alle dynamischen Symbole "
"aufgelöst, womit das gesamte PLT nur-lesend markiert werden kann (aufgrund "
"von B<relro> oben)."

#. type: TP
#: dpkg-buildflags.1:244
#, no-wrap
msgid "B<pie>"
msgstr "B<pie>"

#. type: Plain text
#: dpkg-buildflags.1:256
msgid ""
"This setting (disabled by default) adds B<-fPIE> to B<CFLAGS> and "
"B<CXXFLAGS>, and B<-fPIE -pie> to B<LDFLAGS>. Position Independent "
"Executable are needed to take advantage of Address Space Layout "
"Randomization, supported by some kernel versions. While ASLR can already be "
"enforced for data areas in the stack and heap (brk and mmap), the code areas "
"must be compiled as position-independent. Shared libraries already do this (-"
"fPIC), so they gain ASLR automatically, but binary .text regions need to be "
"build PIE to gain ASLR. When this happens, ROP (Return Oriented Programming) "
"attacks are much harder since there are no static locations to bounce off of "
"during a memory corruption attack."
msgstr ""
"Diese Einstellung (standardmäßig deaktiviert) fügt B<-fPIE> zu B<CFLAGS> und "
"B<CXXFLAGS> sowie B<-fPIE -pie> zu B<LDFLAGS> hinzu. »Position Independent "
"Executable« (positionsunabhängige Programme) werden benötigt, um »Address "
"Space Layout Randomization« (Bereitstellung eines zufälligen "
"Adressbereichlayouts) auszunutzen, der von einigen Kernelversionen "
"bereitgestellt wird. Während ASLR bereits für Datenbereiche auf dem Stapel "
"(Stack) und Heap erzwungen werden kann (brk und mmap), müssen die "
"Codebereiche positionsunabhängig übersetzt werden. Laufzeitbibliotheken "
"machen dies bereits (-fPIC), so dass sie ASLR automatisch erhalten, aber "
"Programm-.text-Regionen müssen mit PIE gebaut werden, um ASLR zu erhalten. "
"Wenn dies passiert, sind ROP- (Return Oriented Programming) Angriffe sehr "
"viel schwerer durchzuführen, da es keine statischen Orte mehr gibt, zu denen "
"während eines Speicherverfälschungsangriffs hingesprungen werden könnte."

#. type: Plain text
#: dpkg-buildflags.1:259
msgid ""
"This is not compatible with B<-fPIC> so care must be taken when building "
"shared objects."
msgstr ""
"Dies ist nicht mit B<-fPIC> kompatibel, daher muss beim Erstellen von "
"Laufzeitbibliotheken Vorsicht angewandt werden."

#. type: Plain text
#: dpkg-buildflags.1:265
msgid ""
"Additionally, since PIE is implemented via a general register, some "
"architectures (most notably i386) can see performance losses of up to 15% in "
"very text-segment-heavy application workloads; most workloads see less than "
"1%. Architectures with more general registers (e.g. amd64)  do not see as "
"high a worst-case penalty."
msgstr ""
"Zusätzlich können auf einigen Architekturen (am deutlichsten auf i368) "
"Leistungsverluste von bis zu 15% in sehr text-Segment-lastigen "
"Anwendungsfällen auftreten, da PIE über allgemeine Register implementiert "
"ist; in den meisten Anwendungsfällen sind dies weniger als 1%. Architekturen "
"mit mehr allgemeinen Registern (z.B. Amd64) erfahren nicht diese "
"Schlimmstfall-Strafe."

#. type: Plain text
#: dpkg-buildflags.1:268
msgid "Copyright \\(co 2010-2011 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2011 Rapha\\[:e]l Hertzog"

#. type: Plain text
#: dpkg-buildflags.1:270
msgid "Copyright \\(co 2011 Kees Cook"
msgstr "Copyright \\(co 2011 Kees Cook"

#. type: TH
#: dpkg-buildpackage.1:1
#, no-wrap
msgid "dpkg-buildpackage"
msgstr "dpkg-buildpackage"

#. type: Plain text
#: dpkg-buildpackage.1:4
msgid "dpkg-buildpackage - build binary or source packages from sources"
msgstr "dpkg-buildpackage - baue Binär- oder Quellpakete aus Quellen"

#. type: Plain text
#: dpkg-buildpackage.1:8
msgid "B<dpkg-buildpackage> [I<option>...]"
msgstr "B<dpkg-buildpackage> [I<Option>...]"

#. type: Plain text
#: dpkg-buildpackage.1:13
msgid ""
"B<dpkg-buildpackage> is a program that automates the process of building a "
"Debian package. It consists of the following steps:"
msgstr ""
"B<dpkg-buildpackage> ist ein Programm, das den Prozess des Bauens eines "
"Debian-Paketes automatisiert. Es besteht aus den folgenden Schritten:"

#. type: IP
#: dpkg-buildpackage.1:13
#, no-wrap
msgid "B<1.>"
msgstr "B<1.>"

#. type: Plain text
#: dpkg-buildpackage.1:17
msgid ""
"It prepares the build environment by setting various environment variables "
"(see B<ENVIRONMENT>) and calls B<dpkg-source --before-build> (unless B<-T> "
"or B<--target> has been used)."
msgstr ""
"Es bereitet die Bauumgebung vor, indem verschiedene Umgebungsvariablen "
"gesetzt werden (siehe B<UMGEBUNG>) und ruft B<dpkg-source --before-build> "
"auf (es sei denn, B<-T> oder B<--target> wurde verwandt)."

#. type: IP
#: dpkg-buildpackage.1:17
#, no-wrap
msgid "B<2.>"
msgstr "B<2.>"

#. type: Plain text
#: dpkg-buildpackage.1:20
msgid ""
"It checks that the build-dependencies and build-conflicts are satisfied "
"(unless B<-d> is specified)."
msgstr ""
"Es prüft, dass Bauabhängigkeiten und -konflikte erfüllt sind (falls B<-d> "
"nicht angegeben ist)."

#. type: IP
#: dpkg-buildpackage.1:20
#, no-wrap
msgid "B<3.>"
msgstr "B<3.>"

#. type: Plain text
#: dpkg-buildpackage.1:25
msgid ""
"If a specific target has been selected with the B<-T> or B<--target> option, "
"it calls that target and stops here. Otherwise it calls B<fakeroot debian/"
"rules clean> to clean the build-tree (unless B<-nc> is specified)."
msgstr ""
"Falls ein spezielles Ziel mit der Option B<-T> oder B<--target> ausgewählt "
"wurde, ruft es diese Ziel auf und endet hier. Andernfalls ruft es B<fakeroot "
"debian/ rules clean> auf, um den Bau-Baum zu bereinigen (falls B<-nc> nicht "
"angegeben ist)."

#. type: IP
#: dpkg-buildpackage.1:25
#, no-wrap
msgid "B<4.>"
msgstr "B<4.>"

#. type: Plain text
#: dpkg-buildpackage.1:29
msgid ""
"It calls B<dpkg-source -b> to generate the source package (unless a binary-"
"only build has been requested with B<-b>, B<-B> or B<-A>)."
msgstr ""
"Es ruft B<dpkg-source -b> auf, um das Quellpaket zu erstellen (falls nicht "
"mit B<-b>, B<-B> oder B<-A> ein rein-binärer Bau erbeten wurde)."

#. type: IP
#: dpkg-buildpackage.1:29
#, no-wrap
msgid "B<5.>"
msgstr "B<5.>"

#. type: Plain text
#: dpkg-buildpackage.1:36
msgid ""
"It calls B<debian/rules> B<build> followed by B<fakeroot debian/rules> "
"I<binary-target> (unless a source-only build has been requested with B<-S>). "
"Note that I<binary-target> is either B<binary> (default case, or if B<-b> is "
"specified)  or B<binary-arch> (if B<-B> is specified) or B<binary-indep> (if "
"B<-A> is specified)."
msgstr ""
"Es ruft B<debian/rules> B<build>, gefolgt von B<fakeroot debian/rules> "
"I<Binärziel> auf (falls nicht ein reiner Quellbau mit B<-S> erbeten wurde). "
"Beachten Sie, dass I<Binärziel> entweder B<binary> (Standardfall, oder falls "
"B<-b> angegeben ist) oder B<binary-arch> (falls B<-B> angegeben ist) oder "
"B<binary-indep> (falls B<-A> angegeben ist) lautet."

#. type: IP
#: dpkg-buildpackage.1:36
#, no-wrap
msgid "B<6.>"
msgstr "B<6.>"

#. type: Plain text
#: dpkg-buildpackage.1:39
msgid ""
"It calls B<gpg> to sign the B<.dsc> file (if any, unless B<-us> is "
"specified)."
msgstr ""
"Es ruft B<gpg> auf, um die B<.dsc>-Datei zu signieren (falls vorhanden und "
"B<-us> nicht angegeben wurde)."

#. type: IP
#: dpkg-buildpackage.1:39
#, no-wrap
msgid "B<7.>"
msgstr "B<7.>"

#. type: Plain text
#: dpkg-buildpackage.1:43
msgid ""
"It calls B<dpkg-genchanges> to generate a B<.changes> file.  Many B<dpkg-"
"buildpackage> options are forwarded to B<dpkg-genchanges>."
msgstr ""
"Es ruft B<dpkg-genchanges> auf, um eine B<.changes>-Datei zu erstellen. "
"Viele Optionen von B<dpkg-buildpackage> werden an B<dpkg-genchanges> "
"weitergeleitet."

#. type: IP
#: dpkg-buildpackage.1:43
#, no-wrap
msgid "B<8.>"
msgstr "B<8.>"

#. type: Plain text
#: dpkg-buildpackage.1:46
msgid ""
"It calls B<gpg> to sign the B<.changes> file (unless B<-uc> is specified)."
msgstr ""
"Es ruft B<gpg> auf, um die B<.changes>-Datei zu signieren (falls B<-uc> "
"nicht angegeben wurde)."

#. type: IP
#: dpkg-buildpackage.1:46
#, no-wrap
msgid "B<9.>"
msgstr "B<9.>"

#. type: Plain text
#: dpkg-buildpackage.1:49
msgid ""
"If B<-tc> is specified, it will call B<fakeroot debian/rules clean> again. "
"Finally it calls B<dpkg-source --after-build>."
msgstr ""
"Falls B<-tc> angegeben ist, wird B<fakeroot debian/rules clean> erneut "
"aufgerufen. Schließlich ruft es B<dpkg-source --after-build> auf."

#. type: TP
#: dpkg-buildpackage.1:51
#, no-wrap
msgid "B<-b>"
msgstr "B<-b>"

#. type: Plain text
#: dpkg-buildpackage.1:55
msgid ""
"Specifies a binary-only build, no source files are to be built and/or "
"distributed. Passed to B<dpkg-genchanges>."
msgstr ""
"Spezifiziert einen rein binären Bau, keine Quelldateien sollen gebaut und/"
"oder vertrieben (im Sinne von verteilen) werden. Wird an B<dpkg-genchanges> "
"weitergegeben."

#. type: TP
#: dpkg-buildpackage.1:55 dpkg-checkbuilddeps.1:23
#, no-wrap
msgid "B<-B>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:59
msgid ""
"Specifies a binary-only build, limited to architecture dependent packages.  "
"Passed to B<dpkg-genchanges>."
msgstr ""
"Spezifiziert einen rein binären Bau, beschränkt auf architekturabhängige "
"Pakete. Wird an B<dpkg-genchanges> weitergegeben."

#. type: TP
#: dpkg-buildpackage.1:59
#, no-wrap
msgid "B<-A>"
msgstr "B<-A>"

#. type: Plain text
#: dpkg-buildpackage.1:63
msgid ""
"Specifies a binary-only build, limited to architecture independent packages. "
"Passed to B<dpkg-genchanges>."
msgstr ""
"Spezifiziert einen rein binären Bau, beschränkt auf architekturunabhängige "
"Pakete. Wird an B<dpkg-genchanges> weitergegeben."

#. type: TP
#: dpkg-buildpackage.1:63 dpkg-genchanges.1:27
#, no-wrap
msgid "B<-S>"
msgstr "B<-S>"

#. type: Plain text
#: dpkg-buildpackage.1:67
msgid ""
"Specifies a source-only build, no binary packages need to be made.  Passed "
"to B<dpkg-genchanges>."
msgstr ""
"Spezifiziert einen reinen Bau der Quellen, keine Binärpakete müssen erstellt "
"werden. Wird an B<dpkg-genchanges> weitergegeben."

#. type: TP
#: dpkg-buildpackage.1:67
#, no-wrap
msgid "B<-F>"
msgstr "B<-F>"

#. type: Plain text
#: dpkg-buildpackage.1:71
msgid ""
"Specifies a normal full build, binary and source packages will be built.  "
"This is the same as the default case when no build option is specified."
msgstr ""
"Spezifiziert einen normalen kompletten Bau, Binär- und Quellpakete werden "
"gebaut. Dies ist identisch zum Standardfall, wenn keine Bauoption "
"spezifiziert wird."

#. type: Plain text
#: dpkg-buildpackage.1:73
msgid "B<--target=>I<target>"
msgstr "B<--target=>I<Ziel>"

#. type: Plain text
#: dpkg-buildpackage.1:75
msgid "B<--target >I<target>"
msgstr "B<--target >I<Ziel>"

#. type: Plain text
#: dpkg-buildpackage.1:77
msgid "B<-T>I<target>"
msgstr "B<-T>I<Ziel>"

#. type: Plain text
#: dpkg-buildpackage.1:83
msgid ""
"Calls B<debian/rules> I<target> after having setup the build environment and "
"stops the package build process here. If B<--as-root> is also given, then "
"the command is executed as root (see B<-r>). Note that official targets that "
"are required to be run as root by the Debian policy do not need this option."
msgstr ""
"Ruft B<debian/rules> I<Ziel> auf, nachdem die Bauumgebung eingerichtet wurde "
"und beendet den Paketbauprozess hier. Falls auch B<--as-root> angegeben "
"wurde, wird der Befehl mit root-Rechten ausgeführt (siehe B<-r>). Beachten "
"Sie, dass offizielle Ziele, bei denen die Debian-Richtlinien verlangen, dass "
"Sie mit root-Rechten ausgeführt werden, diese Option nicht benötigen."

#. type: TP
#: dpkg-buildpackage.1:84
#, no-wrap
msgid "B<--as-root>"
msgstr "B<--as-root>"

#. type: Plain text
#: dpkg-buildpackage.1:88
msgid ""
"Only meaningful together with B<--target>. Requires that the target be run "
"with root rights."
msgstr ""
"Ergibt nur mit B<--target> einen Sinn. Erfordert, dass das Ziel mit Root-"
"Rechten ausgeführt wird."

#. type: TP
#: dpkg-buildpackage.1:90 dpkg-genchanges.1:36
#, no-wrap
msgid "B<-si>"
msgstr "B<-si>"

#. type: TP
#: dpkg-buildpackage.1:92 dpkg-genchanges.1:42
#, no-wrap
msgid "B<-sa>"
msgstr "B<-sa>"

#. type: TP
#: dpkg-buildpackage.1:94 dpkg-genchanges.1:45
#, no-wrap
msgid "B<-sd>"
msgstr "B<-sd>"

#. type: TP
#: dpkg-buildpackage.1:96 dpkg-genchanges.1:49 dpkg-gencontrol.1:38
#: dpkg-gensymbols.1:377
#, no-wrap
msgid "B<-v>I<version>"
msgstr "B<-v>I<Version>"

#. type: TP
#: dpkg-buildpackage.1:98 dpkg-genchanges.1:54
#, no-wrap
msgid "B<-C>I<changesdescription>"
msgstr "B<-C>I<Änderungsbeschreibung>"

#. type: TP
#: dpkg-buildpackage.1:100 dpkg-genchanges.1:60
#, no-wrap
msgid "B<-m>I<maintaineraddress>"
msgstr "B<-m>I<Betreueradresse>"

#. type: TP
#: dpkg-buildpackage.1:102 dpkg-genchanges.1:66
#, no-wrap
msgid "B<-e>I<maintaineraddress>"
msgstr "B<-e>I<Betreueradresse>"

#. type: Plain text
#: dpkg-buildpackage.1:104
msgid "Passed unchanged to B<dpkg-genchanges>. See its manual page."
msgstr ""
"Wird unverändert an B<dpkg-genchanges> weitergegeben. Lesen Sie dessen "
"Handbuchseite."

#. type: TP
#: dpkg-buildpackage.1:105
#, no-wrap
msgid "B<-a>I<architecture>"
msgstr "B<-a>I<Architektur>"

#. type: Plain text
#: dpkg-buildpackage.1:110
msgid ""
"Specify the Debian architecture we build for. The architecture of the "
"machine we build on is determined automatically, and is also the default for "
"the host machine."
msgstr ""
"Spezifiziert die Debian-Architektur, für die gebaut wird. Die Architektur "
"der Maschine, auf der gebaut wird, wird automatisch bestimmt, und ist auch "
"die Voreinstellung für die Gastgebermaschine (»host machine«)."

#. type: Plain text
#: dpkg-buildpackage.1:115
msgid ""
"Specify the GNU system type we build for. It can be used in place of -a or "
"as a complement to override the default GNU system type of the target Debian "
"architecture."
msgstr ""
"Spezifiziere den GNU-Systemtyp, für den wir bauen. Er kann anstelle von -a "
"oder als Ergänzung verwandt werden, um den Standard GNU-Systemtyp der Ziel-"
"Debian-Architektur zu überschreiben."

#. type: TP
#: dpkg-buildpackage.1:115
#, no-wrap
msgid "B<-j>I<jobs>"
msgstr "B<-j>I<Aufträge>"

#. type: Plain text
#: dpkg-buildpackage.1:126
msgid ""
"Number of jobs allowed to be run simultaneously, equivalent to the B<make>"
"(1)  option of the same name. Will add itself to the MAKEFLAGS environment "
"variable, which should cause all subsequent make invocations to inherit the "
"option. Also adds B<parallel=>I<jobs> to the DEB_BUILD_OPTIONS environment "
"variable which allows debian/rules files to use this information for their "
"own purposes.  The B<parallel=>I<jobs> in DEB_BUILD_OPTIONS environment "
"variable will override the B<-j> value if this option is given."
msgstr ""
"Anzahl an Aufträgen, die simultan laufen dürfen, äquivalent zu der Option "
"von B<make>(1) mit dem gleichen Namen. Fügt sich selbst zu der "
"Umgebungsvariablen MAKEFLAGS hinzu, was dazu führen sollte, dass alle "
"folgenden Aufrufe von make diese Option erben werden. Fügt auch "
"B<parallel=>I<Aufträge> zu der Umgebungsvariablen DEB_BUILD_OPTIONS hinzu, "
"was es debian/rules-Dateien erlaubt, diese Information für eigene Zwecke zu "
"verwenden. Der Eintrag B<parallel=>I<Aufträge> in der Umgebungsvariablen "
"DEB_BUILD_OPTIONS überschreibt den Wert von B<-j>, falls diese Option "
"angegeben ist."

#. type: TP
#: dpkg-buildpackage.1:126
#, no-wrap
msgid "B<-D>"
msgstr "B<-D>"

#. type: Plain text
#: dpkg-buildpackage.1:130
msgid ""
"Check build dependencies and conflicts; abort if unsatisfied. This is the "
"default behavior."
msgstr ""
"Prüfe Bauabhängigkeiten und -konflikte; Abbruch falls diese nicht erfüllt "
"sind. Dies ist das Standardverhalten."

#. type: TP
#: dpkg-buildpackage.1:130 dpkg-gensymbols.1:432
#, no-wrap
msgid "B<-d>"
msgstr "B<-d>"

#. type: Plain text
#: dpkg-buildpackage.1:133
msgid "Do not check build dependencies and conflicts."
msgstr "Überprüfe Bauabhängigkeiten und -konflikte nicht."

#. type: TP
#: dpkg-buildpackage.1:133
#, no-wrap
msgid "B<-nc>"
msgstr "B<-nc>"

#. type: Plain text
#: dpkg-buildpackage.1:137
msgid ""
"Do not clean the source tree (implies B<-b> if nothing else has been "
"selected among B<-B>, B<-A> or B<-S>)."
msgstr ""
"Bereinige den Quellbaum nicht (impliziert B<-b>, falls ansonsten nichts aus "
"B<-B>, B<-A> oder B<-S> gewählt wurde)."

#. type: TP
#: dpkg-buildpackage.1:137
#, no-wrap
msgid "B<-tc>"
msgstr "B<-tc>"

#. type: Plain text
#: dpkg-buildpackage.1:143
msgid ""
"Clean the source tree (using I<gain-root-command> B<debian/rules clean>)  "
"after the package has been built."
msgstr ""
"Den Quellbaum säubern (verwendet I<root-werde-Befehl> B<debian/rules clean>) "
"nachdem das Paket gebaut wurde."

#. type: TP
#: dpkg-buildpackage.1:143
#, no-wrap
msgid "B<-r>I<gain-root-command>"
msgstr "B<-r>I<root-werde-Befehl>"

#. type: Plain text
#: dpkg-buildpackage.1:167
msgid ""
"When B<dpkg-buildpackage> needs to execute part of the build process as "
"root, it prefixes the command it executes with I<gain-root-command> if one "
"has been specified. Otherwise, if none has been specified, B<fakeroot> will "
"be used by default, if the command is present.  I<gain-root-command> should "
"start with the name of a program on the B<PATH> and will get as arguments "
"the name of the real command to run and the arguments it should take.  "
"I<gain-root-command> can include parameters (they must be space-separated) "
"but no shell metacharacters.  I<gain-root-command> might typically be "
"B<fakeroot>, B<sudo>, B<super> or B<really>.  B<su> is not suitable, since "
"it can only invoke the user's shell with B<-c> instead of passing arguments "
"individually to the command to be run."
msgstr ""
"Wenn B<dpkg-buildpackage> einen Teil des Bauprozesses als Root ausführen "
"muss, stellt es dem auszführenden Befehl den I<root-werde-Befehl> voran, "
"falls dieser angegeben wurde. Andernfalls wird standardmäßig B<fakeroot> "
"verwendet, falls es vorhanden ist. Der I<root-werde-Befehl> sollte der Name "
"des Programmes im B<PATH> sein und wird als Argumente den Namen des wirklich "
"auszuführenden Befehles und dessen Argumente erhalten. I<root-werde-Befehl> "
"kann Parameter enthalten (die durch Leerzeichen voneinander getrennt sein "
"müssen), aber keine Shell-Metazeichen. Typischerweise ist der I<root-werde-"
"Befehl> B<fakeroot>, B<sudo>, B<super> oder B<really>. B<su> ist nicht "
"geeignet, da es nur die Shell des Benutzers mit B<-c> aufrufen kann, anstatt "
"Argumente individuell zur Ausführung des Programms zu übergeben."

#. type: TP
#: dpkg-buildpackage.1:167
#, no-wrap
msgid "B<-R>I<rules-file>"
msgstr "B<-R>I<rules-Datei>"

#. type: Plain text
#: dpkg-buildpackage.1:178
msgid ""
"Building a Debian package usually involves invoking B<debian/rules> as a "
"command with several standard parameters. With this option it's possible to "
"use another program invocation to build the package (it can include space "
"separated parameters).  Alternatively it can be used to execute the standard "
"rules file with another make program (for example by using B</usr/local/bin/"
"make -f debian/rules> as I<rules-file>)."
msgstr ""
"Der Bau eines Debian-Pakets erfolgt gewöhnlich durch Aufruf von B<debian/"
"rules> als ein Befehl mit mehreren Standardparametern. Mit dieser Option ist "
"es möglich, einen anderen Programmaufruf zum Bau des Paketes zu verwenden "
"(es können durch Leerzeichen getrennte Parameter angegeben werden). "
"Alternativ kann die Standard-debian/rules-Datei mit einem anderen Make-"
"Programm ausgeführt werden (zum Beispiel durch die Verwendung von B</usr/"
"local/bin/make -f debian/rules> als I<rules-Datei>)."

#. type: TP
#: dpkg-buildpackage.1:178
#, no-wrap
msgid "B<-p>I<sign-command>"
msgstr "B<-p>I<signier-Befehl>"

#. type: Plain text
#: dpkg-buildpackage.1:188
msgid ""
"When B<dpkg-buildpackage> needs to execute GPG or PGP to sign a source "
"control (B<.dsc>) file or a B<.changes> file it will run I<sign-command> "
"(searching the B<PATH> if necessary) instead of B<gpg>. I<sign-command> will "
"get all the arguments that B<pgp> would have gotten. If I<sign-command> "
"takes its arguments in GPG rather than PGP style, you should give the B<-"
"sgpg> option. I<sign-command> should not contain spaces or any other shell "
"metacharacters."
msgstr ""
"Wenn B<dpkg-buildpackage> GPG oder PGP zum Signieren einer Quellsteuerdatei "
"((B<.dsc>)) oder einer B<.changes>-Datei benötigt, wird es statt B<gpg> den "
"I<signier-Befehl> ausführen (und dabei falls notwendig den B<PATH> "
"durchsuchen). Falls I<signier-Befehl> seine Argumente im GPG- statt im PGP-"
"Stil verlangt, sollten Sie die B<-sgpg>-Option verwenden. I<signier-Befehl> "
"sollte keine Leerzeichen oder andere Metazeichen der Shell enthalten."

#. type: TP
#: dpkg-buildpackage.1:188
#, no-wrap
msgid "B<-k>I<key-id>"
msgstr "B<-k>I<Schlüssel-id>"

#. type: Plain text
#: dpkg-buildpackage.1:191
msgid "Specify a key-ID to use when signing packages."
msgstr "Geben Sie die Schlüssel-ID zur Signatur von Paketen an."

#. type: TP
#: dpkg-buildpackage.1:191
#, no-wrap
msgid "B<-us>"
msgstr "B<-us>"

#. type: Plain text
#: dpkg-buildpackage.1:194
msgid "Do not sign the source package."
msgstr "Das Quellpaket nicht signieren."

#. type: TP
#: dpkg-buildpackage.1:194
#, no-wrap
msgid "B<-uc>"
msgstr "B<-uc>"

#. type: Plain text
#: dpkg-buildpackage.1:197
msgid "Do not sign the B<.changes> file."
msgstr "Die B<.changes>-Datei nicht signieren."

#. type: Plain text
#: dpkg-buildpackage.1:199
msgid "B<-i>[I<regexp>]"
msgstr "B<-i>[I<Regexp>]"

#. type: Plain text
#: dpkg-buildpackage.1:201
msgid "B<-I>I<[pattern]>"
msgstr "B<-I>I<[Muster]>"

#. type: Plain text
#: dpkg-buildpackage.1:203
msgid "B<-s>[B<nsAkurKUR>]"
msgstr "B<-s>[B<nsAkurKUR>]"

#. type: Plain text
#: dpkg-buildpackage.1:205
msgid "B<-z>, B<-Z>"
msgstr "B<-z>, B<-Z>"

#. type: Plain text
#: dpkg-buildpackage.1:208
msgid "Passed unchanged to B<dpkg-source>. See its manual page."
msgstr ""
"Wird unverändert an B<dpkg-source> weitergegeben. Lesen Sie dessen "
"Handbuchseite."

#. type: TP
#: dpkg-buildpackage.1:209
#, no-wrap
msgid "B<--source-option=>I<opt>"
msgstr "B<--source-option=>I<Opt>"

#. type: Plain text
#: dpkg-buildpackage.1:212
msgid "Pass option I<opt> to B<dpkg-source>."
msgstr "Option I<Opt> an B<dpkg-source> weitergeben."

#. type: TP
#: dpkg-buildpackage.1:212
#, no-wrap
msgid "B<--changes-option=>I<opt>"
msgstr "B<--changes-option=>I<Opt>"

#. type: Plain text
#: dpkg-buildpackage.1:215
msgid "Pass option I<opt> to B<dpkg-genchanges>."
msgstr "Option I<Opt> an B<dpkg-genchanges> weitergeben."

#. type: Plain text
#: dpkg-buildpackage.1:219
msgid "B<--admindir >I<dir>"
msgstr "B<--admindir >I<Verz>"

#. type: Plain text
#: dpkg-buildpackage.1:222 dpkg-checkbuilddeps.1:23 dpkg-query.1:122
#: dpkg-shlibdeps.1:215 dpkg-trigger.1:43
msgid ""
"Change the location of the B<dpkg> database. The default location is I</var/"
"lib/dpkg>."
msgstr ""
"Ändert den Ablageort der B<dpkg>-Datenbank. Der Standardort ist I</var/lib/"
"dpkg>."

#. type: TP
#: dpkg-buildpackage.1:223 dpkg-checkbuilddeps.1:33 dpkg-distaddfile.1:32
#: dpkg-deb.1:172 dpkg-genchanges.1:131 dpkg-gencontrol.1:121
#: dpkg-gensymbols.1:443 dpkg-name.1:58 dpkg-parsechangelog.1:33
#: dpkg-query.1:110 dpkg-scanpackages.1:96 dpkg-shlibdeps.1:215
#: dpkg-source.1:96 dpkg-split.1:126 dpkg-trigger.1:31
#, no-wrap
msgid "B<-h>, B<--help>"
msgstr "B<-h>, B<--help>"

#. type: Plain text
#: dpkg-buildpackage.1:234
msgid ""
"Even if B<dpkg-buildpackage> exports some variables, B<debian/rules> should "
"not rely on their presence and should instead use the respective interface "
"to retrieve the needed values."
msgstr ""
"Selbst falls B<dpkg-buildpackage> einige Variablen exportiert, sollte "
"B<debian/rules> sich nicht auf ihre Gegenwart verlassen, sondern stattdessen "
"die entsprechende Schnittstelle verwenden, um die benötigten Werte zu "
"abzufragen."

#. type: SS
#: dpkg-buildpackage.1:234
#, no-wrap
msgid "Variables set by dpkg-architecture"
msgstr "Von dpkg-architecture gesetzte Variablen"

#. type: Plain text
#: dpkg-buildpackage.1:238
msgid ""
"B<dpkg-architecture> is called with the B<-a> and B<-t> parameters "
"forwarded. Any variable that is output by its B<-s> option is integrated in "
"the build environment."
msgstr ""
"Beim Aufruf von B<dpkg-architecture> werden die Parameter von B<-a> und B<-"
"t> durchgereicht. Jede Variable, die von seiner Option B<-s> ausgegeben "
"wird, wird in die Bauumgebung integriert."

#. type: SS
#: dpkg-buildpackage.1:238
#, no-wrap
msgid "Compiler flags are no longer exported"
msgstr "Kompilierschalter werden nicht mehr exportiert"

#. type: Plain text
#: dpkg-buildpackage.1:243
msgid ""
"Between versions 1.14.17 and 1.16.1, B<dpkg-buildpackage> exported compiler "
"flags (B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> and B<LDFLAGS>) with "
"values as returned by B<dpkg-buildflags>. This is no longer the case."
msgstr ""
"Zwischen den Versionen 1.14.17 and 1.16.1 exportierte B<dpkg-buildpackage> "
"Kompilierschalter (B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> und "
"B<LDFLAGS>) mit Werten, die von B<dpkg-buildflags> geliefert wurden. Dies "
"ist nicht mehr der Fall."

#. type: Plain text
#: dpkg-buildpackage.1:248
msgid ""
"It should be possible to specify spaces and shell metacharacters in and "
"initial arguments for I<gain-root-command> and I<sign-command>."
msgstr ""
"Es sollte möglich sein, Leerzeichen und Metazeichen der Shell in und "
"Anfangsargumente für I<root-werde-Befehl> und I<signier-Befehl> anzugeben."

#. type: Plain text
#: dpkg-buildpackage.1:256
msgid ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), B<dpkg-"
"genchanges>(1), B<fakeroot>(1), B<gpg>(1)."
msgstr ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), B<dpkg-"
"genchanges>(1), B<fakeroot>(1), B<gpg>(1)."

#. type: Plain text
#: dpkg-buildpackage.1:265
msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2010 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-checkbuilddeps.1:1
#, no-wrap
msgid "dpkg-checkbuilddeps"
msgstr "dpkg-checkbuilddeps"

#. type: Plain text
#: dpkg-checkbuilddeps.1:4
msgid "dpkg-checkbuilddeps - check build dependencies and conflicts"
msgstr "dpkg-checkbuilddeps - überprüfe Bauabhängigkeiten und -konflikte"

#. type: Plain text
#: dpkg-checkbuilddeps.1:9
msgid "B<dpkg-checkbuilddeps> [I<option>...] [I<control-file>]"
msgstr "B<dpkg-checkbuilddeps> [I<Option>...] [I<Befehlsdatei>]"

#. type: Plain text
#: dpkg-checkbuilddeps.1:14
msgid ""
"This program checks the installed packages in the system against the build "
"dependencies and build conflicts listed in the control file. If any are not "
"met, it displays them and exits with a nonzero return code."
msgstr ""
"Dieses Programm überprüft die im System installierten Pakete gegen die "
"Bauabhängigkeiten und Baukonflikte, die in der Steuerdatei aufgeführt sind. "
"Falls welche davon nicht erfüllt sind, zeigt es diese an und beendet sich "
"mit einem von Null verschiedenen Rückgabewert."

#. type: Plain text
#: dpkg-checkbuilddeps.1:17
msgid ""
"By default, B<debian/control> is read, but an alternate control filename may "
"be specified on the command line."
msgstr ""
"Standardmäßig wird B<debian/control> gelesen, aber ein alternativer "
"Steuerdateiname kann auf der Kommandozeile angegeben werden."

#. type: Plain text
#: dpkg-checkbuilddeps.1:27
msgid ""
"Ignore I<Build-Depends-Indep> lines. Use when no arch-indep packages will be "
"built."
msgstr ""
"Ignoriere I<Build-Depends-Indep>-Zeilen. Verwenden Sie dies, wenn keine arch-"
"indep-Pakete gebaut werden."

#. type: TP
#: dpkg-checkbuilddeps.1:27
#, no-wrap
msgid "B<-d >I<build-depends-string>"
msgstr "B<-d >I<Zeichenkette-für-Bauabhängigkeiten>"

#. type: TP
#: dpkg-checkbuilddeps.1:29
#, no-wrap
msgid "B<-c >I<build-conflicts-string>"
msgstr "B<-c >I<Zeichenkette-für-Baukonflikte>"

#. type: Plain text
#: dpkg-checkbuilddeps.1:33
msgid ""
"Use the given build dependencies/conflicts instead of those contained in the "
"I<debian/control> file."
msgstr ""
"Verwende die angegebenen Bauabhängigkeiten/-konflikte statt denen der Datei "
"I<debian/control>."

#. type: Plain text
#: dpkg-checkbuilddeps.1:42
msgid "Copyright \\(co 2001 Joey Hess"
msgstr "Copyright \\(co 2001 Joey Hess"

#. type: TH
#: dpkg-distaddfile.1:1
#, no-wrap
msgid "dpkg-distaddfile"
msgstr "dpkg-distaddfile"

#. type: Plain text
#: dpkg-distaddfile.1:4
msgid "dpkg-distaddfile - add entries to debian/files"
msgstr "dpkg-distaddfile - Einträge zu debian/files hinzufügen"

#. type: Plain text
#: dpkg-distaddfile.1:8
msgid "B<dpkg-distaddfile> [I<option>...]I< filename section priority>"
msgstr "B<dpkg-distaddfile> [I<Option>...]I< Dateiname Bereich Priorität>"

#. type: Plain text
#: dpkg-distaddfile.1:13
msgid "B<dpkg-distaddfile> adds an entry for a named file to B<debian/files>."
msgstr ""
"B<dpkg-distaddfile> fügt einen Eintrag für eine benannte Datei in B<debian/"
"files> hinzu."

#. type: Plain text
#: dpkg-distaddfile.1:18
msgid ""
"It takes three non-option arguments, the filename and the section and "
"priority for the B<.changes> file."
msgstr ""
"Es erwartet drei nicht-Options-Argumente, den Dateinamen, den Bereich und "
"die Priorität für die B<.changes>-Datei."

#. type: Plain text
#: dpkg-distaddfile.1:26
msgid ""
"The filename should be specified relative to the directory where B<dpkg-"
"genchanges> will expect to find the files, usually B<..>, rather than being "
"a pathname relative to the current directory when B<dpkg-distaddfile> is run."
msgstr ""
"Der Dateiname sollte relativ zum Verzeichnis angegeben werden, in dem B<dpkg-"
"genchanges> die Dateien erwartet, normalerweise B<..>, statt ein relativer "
"Pfadname zu dem aktuellen Verzeichnis zu sein, wenn B<dpkg-distaddfile> "
"ausgeführt wird."

#. type: TP
#: dpkg-distaddfile.1:28 dpkg-genchanges.1:103 dpkg-gencontrol.1:69
#, no-wrap
msgid "B<-f>I<fileslistfile>"
msgstr "B<-f>I<DateienlistDatei>"

#. type: Plain text
#: dpkg-distaddfile.1:32 dpkg-gencontrol.1:73
msgid ""
"Read or write the list of files to be uploaded here, rather than using "
"B<debian/files>."
msgstr ""
"Lese oder schreibe die Liste der hochzuladenen Dateien hierher, statt "
"B<debian/files> zu verwenden."

#. type: TP
#: dpkg-distaddfile.1:40 dpkg-genchanges.1:139 dpkg-gencontrol.1:134
#, no-wrap
msgid "B<debian/files>"
msgstr "B<debian/files>"

#. type: Plain text
#: dpkg-distaddfile.1:46
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-distaddfile> can be used to add additional files."
msgstr ""
"Die Liste der erzeugten Dateien, die Teil des vorbereiteten Uploads sind. "
"B<dpkg-distaddfile> kann dazu verwendet werden, zusätzliche Dateien "
"hinzuzufügen."

#. type: TH
#: dpkg-deb.1:1
#, no-wrap
msgid "dpkg-deb"
msgstr "dpkg-deb"

#. type: Plain text
#: dpkg-deb.1:4
msgid "dpkg-deb - Debian package archive (.deb) manipulation tool"
msgstr "dpkg-deb - Debian-Paketarchiv (.deb) Manipulationswerkzeug"

#. type: Plain text
#: dpkg-deb.1:8
msgid "B<dpkg-deb> [I<option>...] I<command>"
msgstr "B<dpkg-deb> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-deb.1:12
msgid ""
"B<dpkg-deb> packs, unpacks and provides information about Debian archives."
msgstr ""
"B<dpkg-deb> packt und entpackt Debian-Archive und stellt Informationen über "
"sie breit."

#. type: Plain text
#: dpkg-deb.1:16
msgid "Use B<dpkg> to install and remove packages from your system."
msgstr ""
"Verwenden Sie B<dpkg>, um Pakete auf Ihrem System hinzuzufügen oder zu "
"entfernen"

#. type: Plain text
#: dpkg-deb.1:26
msgid ""
"You can also invoke B<dpkg-deb> by calling B<dpkg> with whatever options you "
"want to pass to B<dpkg-deb>. B<dpkg> will spot that you wanted B<dpkg-deb> "
"and run it for you."
msgstr ""
"Sie können B<dpkg-deb> durch Aufruf von B<dpkg> mit beliebigen Optionen, die "
"Sie an B<dpkg-deb> übergeben wollen, aufrufen. B<dpkg> erkennt, dass Sie "
"B<dpkg-deb> wollten und wird es für Sie ausführen."

#. type: TP
#: dpkg-deb.1:28
#, no-wrap
msgid "B<-b>, B<--build> I<directory> [I<archive>|I<directory>]"
msgstr "B<-b>, B<--build> I<Verzeichnis> [I<Archiv>|I<Verzeichnis>]"

#. type: Plain text
#: dpkg-deb.1:40
msgid ""
"Creates a debian archive from the filesystem tree stored in I<directory>. "
"I<directory> must have a B<DEBIAN> subdirectory, which contains the control "
"information files such as the control file itself. This directory will "
"I<not> appear in the binary package's filesystem archive, but instead the "
"files in it will be put in the binary package's control information area."
msgstr ""
"Legt ein Debian-Archiv aus dem Dateisystembaum, der in I<Verzeichnis> "
"gespeichert ist, an. I<Verzeichnis> muss ein B<DEBIAN>-Unterverzeichnis "
"aufweisen, das die Dateien mit Steuerinformation wie die control-Datei "
"selbst enthält. Dieses Verzeichnis wird I<nicht> in dem Dateisystemarchiv "
"des Binärpakets auftauchen, sondern die Dateien selbst werden in den Steuer-"
"Informationsbereich des Binärpakets gepackt."

#. type: Plain text
#: dpkg-deb.1:52
msgid ""
"Unless you specify B<--nocheck>, B<dpkg-deb> will read B<DEBIAN/control> and "
"parse it. It will check it for syntax errors and other problems, and display "
"the name of the binary package being built.  B<dpkg-deb> will also check the "
"permissions of the maintainer scripts and other files found in the B<DEBIAN> "
"control information directory."
msgstr ""
"Falls Sie nicht B<--nocheck> angeben, wird B<dpkg-deb> B<DEBIAN/control> "
"lesen und es parsen. Es prüft sie auf Syntax-Fehler und andere Probleme und "
"zeigt den Namen des zu bauenden Binärpakets an. B<dpkg-deb> wird auch die "
"Rechte der Betreuer-Skripte und anderer Dateien im B<DEBIAN>-Steuer-"
"Informationsverzeichnis prüfen."

#. type: Plain text
#: dpkg-deb.1:59
msgid ""
"If no I<archive> is specified then B<dpkg-deb> will write the package into "
"the file I<directory>B<.deb>."
msgstr ""
"Falls kein I<Archiv> angegeben ist, wird B<dpkg-deb> das Paket in die Datei "
"I<Verzeichnis>B<.deb> schreiben."

#. type: Plain text
#: dpkg-deb.1:61
msgid "If the archive to be created already exists it will be overwritten."
msgstr "Falls das anzulegende Archiv bereits existiert, wird es überschrieben."

#. type: Plain text
#: dpkg-deb.1:77
msgid ""
"If the second argument is a directory then B<dpkg-deb> will write to the "
"file I<package>B<_>I<version>B<_>I<arch>B<.deb>, or "
"I<package>B<_>I<version>B<.deb> if no B<Architecture> field is present in "
"the package control file. When a target directory is specified, rather than "
"a file, the B<--nocheck> option may not be used (since B<dpkg-deb> needs to "
"read and parse the package control file to determine which filename to use)."
msgstr ""
"Falls das zweite Argument ein Verzeichnis ist, wird B<dpkg-deb> in die Datei "
"I<Paket>B<_>I<Version>B<_>I<arch>B<.deb> oder I<Paket>B<_>I<Version>B<.deb>, "
"falls kein B<Architecture>-Feld in der Paket-Steuerdatei vorhanden ist, "
"schreiben. Wenn ein Zielverzeichnis statt einer Datei angegeben ist, darf "
"die Option B<--nocheck> nicht verwendet werden (da B<dpkg-deb> die "
"Paketsteuerdatei lesen und parsen muss, um den zu verwendenden Dateinamen zu "
"bestimmen)."

#. type: TP
#: dpkg-deb.1:77
#, no-wrap
msgid "B<-I>, B<--info> I<archive> [I<control-file-name>...]"
msgstr "B<-I>, B<--info> I<Archiv> [I<Steuer-Dateiname> ...]"

#. type: Plain text
#: dpkg-deb.1:80
msgid "Provides information about a binary package archive."
msgstr "Stellt Informationen über ein Binärpaketarchiv bereit."

#. type: Plain text
#: dpkg-deb.1:85
msgid ""
"If no I<control-file-name>s are specified then it will print a summary of "
"the contents of the package as well as its control file."
msgstr ""
"Falls keine I<Steuer-Dateiname>n angegeben sind, wird es eine "
"Zusammenfassung des Inhalts des Pakets sowie dessen Steuerdatei ausgeben."

#. type: Plain text
#: dpkg-deb.1:93
msgid ""
"If any I<control-file-name>s are specified then B<dpkg-deb> will print them "
"in the order they were specified; if any of the components weren't present "
"it will print an error message to stderr about each one and exit with status "
"2."
msgstr ""
"Falls I<Steuer-Dateiname>n angegeben sind, wird B<dpkg-deb> diese in der "
"angegebenen Reihenfolge ausgeben; falls einige der Komponenten nicht "
"vorhanden sind, wird es eine Fehlernachricht nach Stderr über jede ausgeben "
"und sich mit dem Status 2 beenden."

#. type: TP
#: dpkg-deb.1:93
#, no-wrap
msgid "B<-W>, B<--show> I<archive>"
msgstr "B<-W>, B<--show> I<Archiv>"

#. type: Plain text
#: dpkg-deb.1:100
msgid ""
"Provides information about a binary package archive in the format specified "
"by the B<--showformat> argument. The default format displays the package's "
"name and version on one line, separated by a tabulator."
msgstr ""
"Stellt Informationen über Binärpaketarchive im Format dar, das mit dem "
"Argument B<--showformat> angegeben wurde. Das Standardformat zeigt den "
"Paketnamen und die Paketversion in einer Zeile, getrennt durch einen "
"Tabulator."

#. type: TP
#: dpkg-deb.1:100
#, no-wrap
msgid "B<-f>, B<--field> I<archive> [I<control-field-name>...]"
msgstr "B<-f>, B<--field> I<Archiv> [I<Steuer-Feldname> ...]"

#. type: Plain text
#: dpkg-deb.1:103
msgid "Extracts control file information from a binary package archive."
msgstr ""
"Extrahiert die Informationen der control-Datei aus einem Binärpaketarchiv."

#. type: Plain text
#: dpkg-deb.1:107
msgid ""
"If no B<control-file-field>s are specified then it will print the whole "
"control file."
msgstr ""
"Falls keine B<Steuerdatei-Feld>er angegeben sind, gibt es die gesamte "
"control-Datei aus."

#. type: Plain text
#: dpkg-deb.1:116
msgid ""
"If any are specified then B<dpkg-deb> will print their contents, in the "
"order in which they appear in the control file. If more than one B<control-"
"file-field> is specified then B<dpkg-deb> will precede each with its field "
"name (and a colon and space)."
msgstr ""
"Falls welche angegeben sind, gibt B<dpkg-deb> ihren Inhalt in der "
"Reihenfolge aus, in der sie in der control-Datei angegeben sind. Falls mehr "
"als ein B<Steuerdatei-Feld> angegeben ist, stellt B<dpkg-deb> jedem Inhalt "
"seinen Feldnamen (und einen Doppelpunkt mit Leerzeichen) voran."

#. type: Plain text
#: dpkg-deb.1:118
msgid "No errors are reported for fields requested but not found."
msgstr ""
"Falls angeforderte Felder nicht gefunden werden wird kein Fehler gemeldet."

#. type: TP
#: dpkg-deb.1:118
#, no-wrap
msgid "B<-c>, B<--contents> I<archive>"
msgstr "B<-c>, B<--contents> I<Archiv>"

#. type: Plain text
#: dpkg-deb.1:124
msgid ""
"Lists the contents of the filesystem tree archive portion of the package "
"archive. It is currently produced in the format generated by B<tar>'s "
"verbose listing."
msgstr ""
"Listet den Inhalt des Dateisystem-Archivanteils des Paketarchivs auf. Die "
"Ausgabe erfolgt derzeit in dem Format, das von B<tar> in der ausführlichen "
"Auflistung erstellt wird."

#. type: TP
#: dpkg-deb.1:124
#, no-wrap
msgid "B<-x>, B<--extract> I<archive directory>"
msgstr "B<-x>, B<--extract> I<Archiv-Verzeichnis>"

#. type: Plain text
#: dpkg-deb.1:128
msgid ""
"Extracts the filesystem tree from a package archive into the specified "
"directory."
msgstr ""
"Extrahiert den Dateisystembaum aus einem Paketarchiv in das angegebene "
"Verzeichnis."

#. type: Plain text
#: dpkg-deb.1:134
msgid ""
"Note that extracting a package to the root directory will I<not> result in a "
"correct installation! Use B<dpkg> to install packages."
msgstr ""
"Beachten Sie, dass das Extrahieren eines Pakets in das Wurzelverzeichnis "
"I<nicht> zu einer korrekten Installation führt! Verwenden Sie B<dpkg> zur "
"Paketinstallation."

#. type: Plain text
#: dpkg-deb.1:138
msgid ""
"I<directory> (but not its parents) will be created if necessary, and its "
"permissions modified to match the contents of the package."
msgstr ""
"I<Verzeichnis> (aber nicht die übergeordneten) wird falls notwendig "
"angelegt. Seine Rechte werden angepasst, um mit dem Inhalt des Pakets "
"übereinzustimmen."

#. type: TP
#: dpkg-deb.1:138
#, no-wrap
msgid "B<-X>, B<--vextract> I<archive directory>"
msgstr "B<-X>, B<--vextract> I<Archiv-Verzeichnis>"

#. type: Plain text
#: dpkg-deb.1:145
msgid ""
"Is like B<--extract> (B<-x>)  with B<--verbose> (B<-v>)  which prints a "
"listing of the files extracted as it goes."
msgstr ""
"Ist wie B<--extract> (B<-x>) mit B<--verbose> (B<-v>), das beim Arbeiten "
"eine Liste von extrahierten Dateien ausgibt."

#. type: TP
#: dpkg-deb.1:145
#, no-wrap
msgid "B<-R>, B<--raw-extract> I<archive directory>"
msgstr "B<-R>, B<--raw-extract> I<Archiv-Verzeichnis>"

#. type: Plain text
#: dpkg-deb.1:150
msgid ""
"Extracts the filesystem tree from a package archive into a specified "
"directory, and the control information files into a DEBIAN subdirectory of "
"the specified directory."
msgstr ""
"Extrahiert den Dateisystembaum aus einem Paketarchiv in ein angegebenes "
"Verzeichnis und die Steuerinformationensdateien in das DEBIAN-"
"Unterverzeichnis des angegebenen Verzeichnisses."

#. type: Plain text
#: dpkg-deb.1:152 dpkg-deb.1:172
msgid ""
"The target directory (but not its parents) will be created if necessary."
msgstr ""
"Das Zielverzeichnis (aber nicht übergeordnete) wird, falls notwendig, "
"angelegt."

#. type: TP
#: dpkg-deb.1:152
#, no-wrap
msgid "B<--fsys-tarfile> I<archive>"
msgstr "B<--fsys-tarfile> I<Archiv>"

#. type: Plain text
#: dpkg-deb.1:161
msgid ""
"Extracts the filesystem tree data from a binary package and sends it to "
"standard output in B<tar> format. Together with B<tar>(1)  this can be used "
"to extract a particular file from a package archive.  The input archive will "
"always be processed sequentially."
msgstr ""
"Extrahiert die Dateisystembaum-Daten aus einem Binärpaket und schickt sie "
"zur Standardausgabe im B<tar>-Format. Dies kann zusammen mit B<tar>(1) "
"verwendet werden, um eine bestimmte Datei aus einem Paketarchiv zu "
"extrahieren. Das Eingabearchiv wird immer sequenziell verarbeitet."

#. type: TP
#: dpkg-deb.1:161
#, no-wrap
msgid "B<-e>, B<--control> I<archive> [I<directory>]"
msgstr "B<-e>, B<--control> I<Archiv> [I<Verzeichnis>]"

#. type: Plain text
#: dpkg-deb.1:165
msgid ""
"Extracts the control information files from a package archive into the "
"specified directory."
msgstr ""
"Extrahiert die Steuer-Informationsdateien aus einem Paketarchiv in das "
"angegebene Verzeichnis."

#. type: Plain text
#: dpkg-deb.1:169
msgid ""
"If no directory is specified then a subdirectory B<DEBIAN> in the current "
"directory is used."
msgstr ""
"Falls kein Verzeichnis angegeben ist, wird das Unterverzeichnis B<DEBIAN> im "
"aktuellen Verzeichnis verwendet."

#. type: TP
#: dpkg-deb.1:180
#, no-wrap
msgid "B<--showformat=>I<format>"
msgstr "B<--showformat=>I<Format>"

#. type: Plain text
#: dpkg-deb.1:185 dpkg-query.1:127
msgid ""
"This option is used to specify the format of the output B<--show> will "
"produce. The format is a string that will be output for each package listed."
msgstr ""
"Diese Option wird dazu verwendet, das Format der Ausgabe anzugeben, das B<--"
"show> verwenden wird. Das Format ist eine Zeichenkette, die für jedes "
"aufgeführte Paket ausgegeben wird."

#. type: Plain text
#: dpkg-deb.1:194
msgid ""
"The string may reference any status field using the \"${I<field-name>}\" "
"form, a list of the valid fields can be easily produced using B<-I> on the "
"same package. A complete explanation of the formatting options (including "
"escape sequences and field tabbing) can be found in the explanation of the "
"B<--showformat> option in B<dpkg-query>(1)."
msgstr ""
"Die Zeichenkette darf jedes Statusfeld in der Form »${I<Feldname>}« "
"referenzieren, eine Liste der möglichen Felder kann leicht mittels B<-I> für "
"das gleiche Paket ermittelt werden. Eine komplette Erläuterung der "
"Formatieroptionen (darunter die Escape-Sequenzen und Feld-Tabulatoren) kann "
"in der Erklärung der Option B<--showformat> von B<dpkg-query>(1) gefunden "
"werden."

#. type: Plain text
#: dpkg-deb.1:196
msgid "The default for this field is \"${Package}\\et${Version}\\en\"."
msgstr ""
"Die Voreinstellung für dieses Feld ist \"${Package}\\et${Version}\\en\"."

#. type: TP
#: dpkg-deb.1:196
#, no-wrap
msgid "B<-z>I<compress-level>"
msgstr "B<-z>I<Komprimierstufe>"

#. type: Plain text
#: dpkg-deb.1:200
msgid ""
"Specify which compression level to use on the compressor backend, when "
"building a package (default is 9 for gzip and bzip2, 6 for xz and lzma)."
msgstr ""
"Gibt die Komprimierstufe an, die im Komprimier-Backendprogramm beim Bau "
"eines Pakets verwendet werden soll. Standardmäßig ist dies 9 für Gzip und "
"Bzip2, 6 für Xz und Lzma."

#. type: TP
#: dpkg-deb.1:200
#, no-wrap
msgid "B<-Z>I<compress-type>"
msgstr "B<-Z>I<Komprimierart>"

#. type: Plain text
#: dpkg-deb.1:205
msgid ""
"Specify which compression type to use when building a package. Allowed "
"values are I<gzip>, I<xz>, I<bzip2>, I<lzma>, and I<none> (default is "
"I<gzip>)."
msgstr ""
"Gibt die Art der Komprimierung beim Bau eines Pakets an. Erlaubte Werte sind "
"I<gzip>, I<xz>, I<bzip2>, I<lzma> und I<none> (voreingestellt ist I<gzip>)."

#. type: TP
#: dpkg-deb.1:205
#, no-wrap
msgid "B<--new>"
msgstr "B<--new>"

#. type: Plain text
#: dpkg-deb.1:210
msgid ""
"Ensures that B<dpkg-deb> builds a `new' format archive. This is the default."
msgstr ""
"Stellt sicher, dass B<dpkg-deb> ein Archiv im »neuen« Format baut. Dies ist "
"die Voreinstellung."

#. type: TP
#: dpkg-deb.1:210
#, no-wrap
msgid "B<--old>"
msgstr "B<--old>"

#. type: Plain text
#: dpkg-deb.1:218
msgid ""
"Forces B<dpkg-deb> to build an `old' format archive. This old archive format "
"is less easily parsed by non-Debian tools and is now obsolete; its only use "
"is when building packages to be parsed by versions of dpkg older than "
"0.93.76 (September 1995), which was released as i386 a.out only."
msgstr ""
"Zwingt B<dpkg-deb> dazu, ein Archiv im »alten« Format zu bauen. Dieses alte "
"Format wird nicht so leicht von nicht-Debian-Werkzeugen eingelesen und ist "
"jetzt veraltet; der einzige Zweck ist zum Bau von Paketen, die von Dpkg-"
"Versionen kleiner 0.93.76 (September 1995) eingelesen werden sollen. Diese "
"Dpkg-Version wurde nur als i386 a.out-Programm veröffentlicht."

#. type: TP
#: dpkg-deb.1:218
#, no-wrap
msgid "B<--nocheck>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-deb.1:224
msgid ""
"Inhibits B<dpkg-deb --build>'s usual checks on the proposed contents of an "
"archive. You can build any archive you want, no matter how broken, this way."
msgstr ""
"Unterdrückt die normalen Überprüfungen von B<dpkg-deb --build> über die "
"vorgeschlagenen Inhalte eines Archivs. Damit können Sie jedes Archiv bauen, "
"das Sie möchten, egal wie defekt es ist."

#. type: TP
#: dpkg-deb.1:224 start-stop-daemon.8:255
#, no-wrap
msgid "B<-v>, B<--verbose>"
msgstr "B<-v>, B<--verbose>"

#. type: Plain text
#: dpkg-deb.1:228
msgid ""
"Enables verbose output. This currently only affects B<--extract> making it "
"behave like B<--vextract>."
msgstr ""
"Aktiviert ausführliche Ausgabe. Dies betrifft derzeit nur B<--extract>, "
"wodurch dieses sich wie B<--vextract> verhält."

#. type: TP
#: dpkg-deb.1:228
#, no-wrap
msgid "B<-D>, B<--debug>"
msgstr "B<-D>, B<--debug>"

#. type: Plain text
#: dpkg-deb.1:231
msgid "Enables debugging output. This is not very interesting."
msgstr ""
"Aktiviert Fehlersuch-Ausgaben (»debugging«). Dies ist nicht sehr interessant."

#. type: Plain text
#: dpkg-deb.1:237
msgid ""
"If set, B<dpkg-deb> will use it as the directory in which to create "
"temporary files and directories."
msgstr ""
"Falls gesetzt wird B<dpkg-deb> es als das Verzeichnis verwenden, in dem "
"temporäre Dateien und Verzeichnisse erstellt werden."

#. type: Plain text
#: dpkg-deb.1:243
msgid ""
"B<dpkg-deb -I> I<package1>B<.deb> I<package2>B<.deb> does the wrong thing."
msgstr "B<dpkg-deb -I> I<Paket1>B<.deb> I<Paket2>B<.deb> macht das Falsche."

#. type: Plain text
#: dpkg-deb.1:251
msgid ""
"There is no authentication on B<.deb> files; in fact, there isn't even a "
"straightforward checksum.  (Higher level tools like APT support "
"authenticating B<.deb> packages retrieved from a given repository, and most "
"packages nowadays provide an md5sum control file generated by debian/rules. "
"Though this is not directly supported by the lower level tools.)"
msgstr ""
"B<.deb>-Dateien werden nicht authentifiziert; in der Tat gibt es noch nicht "
"mal eine klare Prüfsumme. (Abstraktere Werkzeuge wie APT unterstützten die "
"Authentifizierung von B<.deb>-Paketen, die von einem vorgegebenen Depot "
"geholt wurden und die meisten Pakete stellen heutzutage eine md5sum-"
"Steuerdatei bereit, die mittels debian/rules erstellt wurde. Allerdings wird "
"dies von den Werkzeugen auf niedrigerer Ebene nicht direkt unterstützt.)"

#. type: Plain text
#: dpkg-deb.1:258
msgid ""
"Do not attempt to use just B<dpkg-deb> to install software! You must use "
"B<dpkg> proper to ensure that all the files are correctly placed and the "
"package's scripts run and its status and contents recorded."
msgstr ""
"Versuchen Sie nicht, nur mit B<dpkg-deb> Software zu installieren! Sie "
"müssen B<dpkg> selber verwenden, um sicherzustellen, dass alle Dateien an "
"den richtigen Ort platziert werden, die Paketskripte ausgeführt werden und "
"sein Status und Inhalt aufgezeichnet wird."

#. type: Plain text
#: dpkg-deb.1:264
msgid "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. type: TH
#: dpkg-divert.8:1
#, no-wrap
msgid "dpkg-divert"
msgstr "dpkg-divert"

#. type: Plain text
#: dpkg-divert.8:4
msgid "dpkg-divert - override a package's version of a file"
msgstr "dpkg-divert - Hinwegsetzen über die Paketversion einer Datei"

#. type: Plain text
#: dpkg-divert.8:9
msgid "B<dpkg-divert> [I<option>...] I<command>"
msgstr "B<dpkg-divert> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-divert.8:13
msgid ""
"B<dpkg-divert> is the utility used to set up and update the list of "
"diversions."
msgstr ""
"B<dpkg-divert> ist ein Hilfswerkzeug, um die Liste der Umleitungen "
"einzurichten und zu aktualisieren."

#. type: Plain text
#: dpkg-divert.8:23
msgid ""
"File I<diversions> are a way of forcing B<dpkg>(1)  not to install a file "
"into its location, but to a I<diverted> location. Diversions can be used "
"through the Debian package scripts to move a file away when it causes a "
"conflict. System administrators can also use it to override some package's "
"configuration file, or whenever some files (which aren't marked as "
"'conffiles') need to be preserved by dpkg, when installing a newer version "
"of a package which contains those files."
msgstr ""
"Datei-I<Diversionen> (Umleitungen) sind eine Möglichkeit, B<dpkg>(1) dazu zu "
"zwingen, eine Datei nicht an ihren Standardplatz, sondern an einem "
"I<umgeleiteten> Ort zu installieren. Umleitungen können innerhalb der Debian-"
"Paketskripte verwendet werden, um eine Datei beiseitezuschieben, wenn sie "
"einen Konflikt auslöst. Systemadministratoren können sie auch verwenden, um "
"sich über die Konfigurationsdateien einiger Pakete hinwegzusetzen, oder wann "
"immer einige Dateien (die nicht als »Conffiles« markiert sind) von Dpkg "
"erhalten werden müssen, wenn eine neuere Version eines Paketes, die diese "
"Dateien enthält, installiert wird."

#. type: TP
#: dpkg-divert.8:25
#, no-wrap
msgid "[B<--add>] I<file>"
msgstr "[B<--add>] I<Datei>"

#. type: Plain text
#: dpkg-divert.8:28
msgid "Add a diversion for I<file>."
msgstr "Fügt eine Umleitung für I<Datei> hinzu."

#. type: TP
#: dpkg-divert.8:28 dpkg-statoverride.8:35
#, no-wrap
msgid "B<--remove>I< file>"
msgstr "B<--remove>I< Datei>"

#. type: Plain text
#: dpkg-divert.8:31
msgid "Remove a diversion for I<file>."
msgstr "Entferne eine Umleitung für I<Datei>."

#. type: TP
#: dpkg-divert.8:31
#, no-wrap
msgid "B<--list>I< glob-pattern>"
msgstr "B<--list>I< Glob-Muster>"

#. type: Plain text
#: dpkg-divert.8:34
msgid "List diversions matching I<glob-pattern>."
msgstr "Liste Umleitungen auf, die auf I<Glob-Muster> passen."

#. type: TP
#: dpkg-divert.8:34
#, no-wrap
msgid "B<--listpackage>I< file>"
msgstr "B<--listpackage>I< Datei>"

#. type: Plain text
#: dpkg-divert.8:38
msgid ""
"Print the name of the package that diverts I<file>.  Prints LOCAL if I<file> "
"is locally diverted and nothing if I<file> is not diverted."
msgstr ""
"Gibt den Namen des Pakets aus, die I<Datei> umleitet. Gibt LOCAL aus, falls "
"die Datei lokal umgeleitet wurde und nichts, falls I<Datei> nicht umgeleitet "
"wurde."

#. type: TP
#: dpkg-divert.8:38
#, no-wrap
msgid "B<--truename>I< file>"
msgstr "B<--truename>I< Datei>"

#. type: Plain text
#: dpkg-divert.8:41
msgid "Print the real name for a diverted file."
msgstr "Zeige den echten Namen für eine umgeleitete Datei an."

#. type: TP
#: dpkg-divert.8:43 dpkg-statoverride.8:52 dselect.1:44
#: update-alternatives.8:328
#, no-wrap
msgid "B<--admindir>I< directory>"
msgstr "B<--admindir>I< Verzeichnis>"

#. type: Plain text
#: dpkg-divert.8:46
msgid ""
"Set the dpkg data directory to I<directory> (default: I</var/lib/dpkg>)."
msgstr ""
"Setze das Dpkg-Datenverzeichnis auf I<Verzeichnis> (Standard: I</var/lib/"
"dpkg>)."

#. type: TP
#: dpkg-divert.8:46
#, no-wrap
msgid "B<--divert>I< divert-to>"
msgstr "B<--divert>I< Umleitziel>"

#. type: Plain text
#: dpkg-divert.8:50
msgid ""
"I<divert-to> is the location where the versions of I<file>, as provided by "
"other packages, will be diverted."
msgstr ""
"I<Umleitziel> ist der Zielort, wo die Versionen der I<Datei>, wie sie von "
"anderen Paketen bereitgestellt wird, hin umgeleitet werden."

#. type: TP
#: dpkg-divert.8:50
#, no-wrap
msgid "B<--local>"
msgstr "B<--local>"

#. type: Plain text
#: dpkg-divert.8:56
msgid ""
"Specifies that all packages' versions of this file are diverted.  This "
"means, that there are no exceptions, and whatever package is installed, the "
"file is diverted. This can be used by an admin to install a locally modified "
"version."
msgstr ""
"Gibt an, dass alle Versionen dieser Datei umgeleitet sind. Dies bedeutet, "
"dass es keine Ausnahmen gibt, und egal was für ein Paket auch installiert "
"ist, die Datei ist umgeleitet. Dies kann vom Administrator verwendet werden, "
"um eine lokal geänderte Version zu installieren."

#. type: TP
#: dpkg-divert.8:56
#, no-wrap
msgid "B<--package>I< package>"
msgstr "B<--package>I< Paket>"

#. type: Plain text
#: dpkg-divert.8:61
msgid ""
"I<package> is the name of a package whose copy of I<file> will not be "
"diverted. i.e. I<file> will be diverted for all packages except I<package>."
msgstr ""
"I<Paket> ist der Name des Pakets, dessen Kopie von I<Datei> nicht umgeleitet "
"wird, d.h. I<Datei> wird für alle Pakete außer I<Paket> umgeleitet."

#. type: TP
#: dpkg-divert.8:61 dpkg-statoverride.8:64 update-alternatives.8:350
#, no-wrap
msgid "B<--quiet>"
msgstr "B<--quiet>"

#. type: Plain text
#: dpkg-divert.8:64
msgid "Quiet mode, i.e. no verbose output."
msgstr "Ruhiger Modus, d.h. keine langatmige Ausgabe."

#. type: TP
#: dpkg-divert.8:64
#, no-wrap
msgid "B<--rename>"
msgstr "B<--rename>"

#. type: Plain text
#: dpkg-divert.8:68
msgid ""
"Actually move the file aside (or back). B<dpkg-divert> will abort operation "
"in case the destination file already exists."
msgstr ""
"Schiebe die Dateien tatsächlich beiseite (oder zurück). B<dpkg-divert> wird "
"den Arbeitsvorgang abbrechen, falls die Zieldatei bereits existiert."

#. type: TP
#: dpkg-divert.8:68
#, no-wrap
msgid "B<--test>"
msgstr "B<--test>"

#. type: Plain text
#: dpkg-divert.8:71
msgid "Test mode, i.e. don't actually perform any changes, just demonstrate."
msgstr ""
"Testmodus, d.h. führe keine Änderungen durch, sondern zeige sie lediglich."

#. type: SH
#: dpkg-divert.8:78
#, no-wrap
msgid "NOTES"
msgstr "BEMERKUNGEN"

#. type: Plain text
#: dpkg-divert.8:82
msgid ""
"When adding, default is B<--local> and B<--divert> I<original>B<.distrib>. "
"When removing, B<--package> or B<--local> and B<--divert> must match if "
"specified."
msgstr ""
"Beim Hinzufügen ist die Standardeinstellung B<--local> und B<--divert> "
"I<Originalname>.B<distrib>. Beim Entfernen müssen, falls angegeben, B<--"
"package> oder B<--local> und B<--divert> übereinstimmen."

#. type: Plain text
#: dpkg-divert.8:84
msgid "Directories can't be diverted with B<dpkg-divert>."
msgstr "Verzeichnisse können mit B<dpkg-divert> nicht umgeleitet werden."

#. type: Plain text
#: dpkg-divert.8:90
msgid ""
"Care should be taken when diverting shared libraries, B<ldconfig>(8)  "
"creates a symbolic link based on the DT_SONAME field embedded in the "
"library.  Because ldconfig doesn't honour diverts (only dpkg does), the "
"symlink may end up pointing at the diverted library, if a diverted library "
"has the same SONAME as the undiverted one."
msgstr ""
"Vorsicht sollte beim Umleiten von Laufzeit-Bibliotheken walten gelassen "
"werden, da B<ldconfig>(8) einen symbolischen Link, basierend auf dem in der "
"Bibliothek eingebetteten DT_SONAME-Feld, anlegt. Da ldconfig keine "
"Umleitungen anerkennt (nur Dpkg tut dies), kann der Symlink am Ende auf die "
"umgeleitete Bibliothek zeigen, falls die umgeleitete Bibliothek den gleichen "
"SONAME wie die nicht umgeleitete hat."

#. type: Plain text
#: dpkg-divert.8:95
msgid ""
"To divert all copies of a I</usr/bin/example> to I</usr/bin/example.foo>, i."
"e. directs all packages providing I</usr/bin/example> to install it as I</"
"usr/bin/example.foo>, performing the rename if required:"
msgstr ""
"Um alle Kopien von I</usr/bin/example> auf I</usr/bin/example.foo> "
"umzuleiten, d.h. alle Pakete, die I</usr/bin/example> zur Verfügung stellen, "
"dazu anzuleiten, diese Datei stattdessen als I</usr/bin/example.foo> zu "
"installieren und die Umbenennung, falls notwendig, durchzuführen:"

#. type: Plain text
#: dpkg-divert.8:97
msgid "dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example"
msgstr "dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example"

#. type: Plain text
#: dpkg-divert.8:99 dpkg-divert.8:109
msgid "To remove that diversion:"
msgstr "Um diese Umleitung zu entfernen:"

#. type: Plain text
#: dpkg-divert.8:101
msgid "dpkg-divert --rename --remove /usr/bin/example"
msgstr "dpkg-divert --rename --remove /usr/bin/example"

#. type: Plain text
#: dpkg-divert.8:105
msgid ""
"To divert any package trying to install I</usr/bin/example> to I</usr/bin/"
"example.foo>, except your own I<wibble> package:"
msgstr ""
"Um für jedes Paket - außer Ihrem eigenen I<wibble>-Paket -, das versucht, I</"
"usr/bin/example> zu installieren, dieses auf I</usr/bin/example.foo> "
"umzuleiten:"

#. type: Plain text
#: dpkg-divert.8:107
msgid ""
"dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/"
"example"
msgstr ""
"dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/"
"example"

#. type: Plain text
#: dpkg-divert.8:111
msgid "dpkg-divert --package wibble --rename --remove /usr/bin/example"
msgstr "dpkg-divert --package wibble --rename --remove /usr/bin/example"

#. type: TP
#: dpkg-divert.8:113 dpkg-query.1:205 dpkg-statoverride.8:69 dpkg-trigger.1:61
#: update-alternatives.8:355
#, no-wrap
msgid "B<DPKG_ADMINDIR>"
msgstr "B<DPKG_ADMINDIR>"

#. type: Plain text
#: dpkg-divert.8:117 dpkg-query.1:209 dpkg-statoverride.8:73 dpkg-trigger.1:65
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the dpkg data directory."
msgstr ""
"Falls gesetzt und die Option B<--admindir> nicht verwandt wurde, wird dies "
"als Datenverzeichnis von Dpkg verwandt."

#. type: Plain text
#: dpkg-divert.8:121
msgid ""
"If set and the B<--local> and B<--package> options have not been specified, "
"B<dpkg-divert> will use it as the package name."
msgstr ""
"Falls gesetzt und die Optionen B<--local> und B<--package> nicht verwandt "
"wurden, wird B<dpkg-divert> dies als Paketnamen verwenden."

#. type: TP
#: dpkg-divert.8:123
#, no-wrap
msgid "I</var/lib/dpkg/diversions>"
msgstr "I</var/lib/dpkg/diversions>"

#. type: Plain text
#: dpkg-divert.8:128
msgid ""
"File which contains the current list of diversions of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as I<status> or I<available>."
msgstr ""
"Datei, die die aktuelle Liste von Umleitungen des Systems enthält. Sie "
"befindet sich im Dpkg-Administrationsverzeichnis, zusammen mit anderen für "
"Dpkg wichtigen Dateien, wie I<status> oder I<available>."

#. type: Plain text
#: dpkg-divert.8:131
msgid ""
"Note: B<dpkg-divert> preserves the old copy of this file, with extension I<-"
"old>, before replacing it with the new one."
msgstr ""
"Hinweis: B<dpkg-divert> erhält die alte Kopie dieser Datei, mit der Endung "
"I<-old>, bevor es sie mit der neuen ersetzt."

#. type: Plain text
#: dpkg-divert.8:137 update-alternatives.8:496
msgid "Copyright \\(co 1995 Ian Jackson"
msgstr "Copyright \\(co 1995 Ian Jackson"

#. type: TH
#: dpkg-genchanges.1:1
#, no-wrap
msgid "dpkg-genchanges"
msgstr "dpkg-genchanges"

#. type: Plain text
#: dpkg-genchanges.1:4
msgid "dpkg-genchanges - generate Debian .changes files"
msgstr "dpkg-dpkg-genchanges - erstelle Debian .changes-Dateien"

#. type: Plain text
#: dpkg-genchanges.1:8
msgid "B<dpkg-genchanges> [I<option>...]"
msgstr "B<dpkg-genchanges> [I<Option>...]"

#. type: Plain text
#: dpkg-genchanges.1:16
msgid ""
"B<dpkg-genchanges> reads information from an unpacked and built Debian "
"source tree and from the files it has generated and generates a Debian "
"upload control file (B<.changes> file)."
msgstr ""
"B<dpkg-genchanges> liest Informationen aus einem entpackten und gebauten "
"Debian-Quellcodebaum und aus den darin erzeugten Dateien und erzeugt eine "
"Debian-Steuerdatei für das Hochladen (die B<.changes>-Datei)."

#. type: TP
#: dpkg-genchanges.1:18
#, no-wrap
msgid "B<-b>, B<-B>, B<-A>"
msgstr "B<-b>, B<-B>, B<-A>"

#. type: Plain text
#: dpkg-genchanges.1:27
msgid ""
"Specifies that a binary-only build is taking place (no source files are to "
"be included). There's no distinction between B<-b>, B<-B> and B<-A>, the "
"produced B<.changes> file will include whatever files were created by the "
"B<binary-*> target(s) of the package being built."
msgstr ""
"Gibt an, das ein rein-binärer Bau stattfindet (keine Quelldateien sollen "
"eingeschlossen werden). Es gibt zwischen B<-b>, B<-B> und B<-A> keinen "
"Unterschied, die erstellte Datei B<.changes> beinhaltet alle Dateien, die "
"von den B<binary-*>-Zielen der zu bauenden Pakete erstellt werden."

#. type: Plain text
#: dpkg-genchanges.1:31
msgid ""
"Specifies that only the source should be uploaded (no binary packages will "
"be included)."
msgstr ""
"Gibt an, dass nur die Quellen hochgeladen werden sollen (keine Binärpakete "
"werden enthalten sein)."

#. type: Plain text
#: dpkg-genchanges.1:36
msgid ""
"The B<-s>I<x> options control whether the original source archive is "
"included in the upload if any source is being generated (i.e.  B<-b> or B<-"
"B> haven't been used)."
msgstr ""
"Die B<-s>I<x> Optionen steuern, ob das Original-Quellarchiv dem Upload "
"hinzugefügt wird, falls die Quellen erzeugt werden (d.h. B<-b> oder B<-B> "
"nicht verwendet wurden)."

#. type: Plain text
#: dpkg-genchanges.1:42
msgid ""
"By default, or if specified, the original source will be included only if "
"the upstream version number (the version without epoch and without Debian "
"revision) differs from the upstream version number of the previous changelog "
"entry."
msgstr ""
"Standardmäßig, oder falls angegeben, werden die Originalquellen nur "
"hinzugefügt, falls sich die Versionsnummer der Originalautoren (die Version "
"ohne Epoche und ohne die Debian-Revision) von der Versionsnummer der "
"Originalautoren in dem letzten Changlog-Eintrag unterscheidet."

#. type: Plain text
#: dpkg-genchanges.1:45
msgid "Forces the inclusion of the original source."
msgstr "Erzwingt die Hinzunahme der Originalquellen."

#. type: Plain text
#: dpkg-genchanges.1:48
msgid "Forces the exclusion of the original source and includes only the diff."
msgstr ""
"Erzwingt den Ausschluss der Originalquellen und fügt nur den Diff hinzu."

#. type: Plain text
#: dpkg-genchanges.1:54
msgid ""
"Causes changelog information from all versions strictly later than "
"I<version> to be used."
msgstr ""
"Dies führt dazu, dass »changelog«-Informationen von allen Versionen, die "
"strikt neuer als I<Version> sind, verwendet werden."

#. type: Plain text
#: dpkg-genchanges.1:60
msgid ""
"Read the description of the changes from the file I<changesdescription> "
"rather than using the information from the source tree's changelog file."
msgstr ""
"Lese die Beschreibung der Änderungen aus der Datei I<Änderungsbeschreibung> "
"anstatt die Informationen aus dem changelog-Datei des Quellbaums zu "
"verwenden."

#. type: Plain text
#: dpkg-genchanges.1:66
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this package, rather than using the information from the source tree's "
"control file."
msgstr ""
"Verwende I<Betreueradresse> als Namen und E-Mail-Adresse des Betreuers "
"dieses Paketes, anstatt die Informationen aus der »control«-Datei des "
"Quellbaums zu verwenden."

#. type: Plain text
#: dpkg-genchanges.1:72
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this upload, rather than using the information from the source tree's "
"changelog."
msgstr ""
"Verwende I<Betreueradresse> als Namen und E-Mail-Adresse des Betreuers für "
"diesen Upload, anstatt die Informationen aus dem »changelog« des Quellbaums "
"zu verwenden."

#. type: TP
#: dpkg-genchanges.1:72 dpkg-gencontrol.1:41 dpkg-source.1:127
#, no-wrap
msgid "B<-V>I<name>B<=>I<value>"
msgstr "B<-V>I<Name>B<=>I<Wert>"

#. type: Plain text
#: dpkg-genchanges.1:76 dpkg-source.1:131
msgid ""
"Set an output substitution variable.  See B<deb-substvars>(5) for a "
"discussion of output substitution."
msgstr ""
"Setzt eine Ausgabesubstitutionsvariable. Lesen Sie B<deb-substvars>(5) für "
"eine Besprechung des Ausgabesubstitution."

#. type: TP
#: dpkg-genchanges.1:76 dpkg-gencontrol.1:45 dpkg-shlibdeps.1:169
#: dpkg-source.1:131
#, no-wrap
msgid "B<-T>I<substvarsfile>"
msgstr "B<-T>I<substvardatei>"

#. type: Plain text
#: dpkg-genchanges.1:86
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  No variable substitution is done on any of the fields that are "
"output, however the special variable I<Format> will override the field of "
"the same name. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Lese die Substitutionsvariablen aus I<substvardatei>; standardmäßig B<debian/"
"substvars>. Bei den ausgegeben Feldern erfolgt keine Variablensubstitution, "
"die besondere Variable I<Format> wird allerdings das Feld mit dem gleichen "
"Namen überschreiben. Diese Option kann mehrfach verwandt werden, um "
"Substitutionsvariablen aus mehreren Dateien einzulesen."

#. type: TP
#: dpkg-genchanges.1:87 dpkg-gencontrol.1:53 dpkg-source.1:137
#, no-wrap
msgid "B<-D>I<field>B<=>I<value>"
msgstr "B<-D>I<Feld>B<=>I<Wert>"

#. type: Plain text
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
msgid "Override or add an output control file field."
msgstr "Überschreibe oder ergänze ein Ausgabe-Steuerdatei-Feld."

#. type: TP
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
#, no-wrap
msgid "B<-U>I<field>"
msgstr "B<-U>I<field>"

#. type: Plain text
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:143
msgid "Remove an output control file field."
msgstr "Entferne ein Ausgabe-Steuerdatei-Feld."

#. type: TP
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:104
#, no-wrap
msgid "B<-c>I<controlfile>"
msgstr "B<-c>I<Steuerdatei>"

#. type: Plain text
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>."
msgstr ""
"Gibt die Haupt-Steuerdatei an, aus der Informationen gelesen werden sollen. "
"Standardmäßig B<debian/control>."

#. type: TP
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64 dpkg-parsechangelog.1:16
#: dpkg-source.1:111
#, no-wrap
msgid "B<-l>I<changelogfile>"
msgstr "B<-l>I<Changelog-Datei>"

#. type: Plain text
#: dpkg-genchanges.1:103 dpkg-gencontrol.1:69 dpkg-parsechangelog.1:21
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>."
msgstr ""
"Gibt die Änderungsprotokolldatei an, aus der Informationen gelesen werden "
"sollen. Standardmäßig B<debian/changelog>."

#. type: Plain text
#: dpkg-genchanges.1:107
msgid ""
"Read the list of files to be uploaded here, rather than using B<debian/"
"files>."
msgstr ""
"Lese die Liste der hochzuladenen Dateien von hier, statt B<debian/files> zu "
"verwenden."

#. type: TP
#: dpkg-genchanges.1:107 dpkg-gencontrol.1:73 dpkg-parsechangelog.1:21
#: dpkg-source.1:118
#, no-wrap
msgid "B<-F>I<changelogformat>"
msgstr "B<-F>I<Changelog-Format>"

#. type: Plain text
#: dpkg-genchanges.1:112 dpkg-gencontrol.1:78 dpkg-parsechangelog.1:26
#: dpkg-source.1:123
msgid ""
"Specifies the format of the changelog. By default the format is read from a "
"special line near the bottom of the changelog or failing that defaults to "
"the debian standard format."
msgstr ""
"Gibt das Format der Änderungsprotokolldatei an. Standardmäßig wird das "
"Format aus einer speziellen Zeile in der Nähe des Endes der "
"Änderungsprotokolldatei gelesen oder, falls dies fehlschlägt, wird das "
"Debian-Standardformat angenommen."

#. type: TP
#: dpkg-genchanges.1:112
#, no-wrap
msgid "B<-u>I<uploadfilesdir>"
msgstr "B<-u>I<Hochladedateiverzeichnis>"

#. type: Plain text
#: dpkg-genchanges.1:123
msgid ""
"Look for the files to be uploaded in I<uploadfilesdir> rather than B<..> "
"(B<dpkg-genchanges> needs to find these files so that it can include their "
"sizes and checksums in the B<.changes> file)."
msgstr ""
"Suche nach Dateien, die hochgeladen werden sollen, in "
"I<Hochladedateiverzeichnis> statt in B<..> (B<dpkg-genchanges> muss diese "
"Dateien finden, so dass es ihre Größen und Prüfsummen in die B<.changes>-"
"Datei aufnehmen kann."

#. type: TP
#: dpkg-genchanges.1:123 dpkg-gensymbols.1:421
#, no-wrap
msgid "B<-q>"
msgstr "B<-q>"

#. type: Plain text
#: dpkg-genchanges.1:131
msgid ""
"Usually B<dpkg-genchanges> will produce informative messages on standard "
"error, for example about how many of the package's source files are being "
"uploaded.  B<-q> suppresses these messages."
msgstr ""
"Normalerweise schreibt B<dpkg-genchanges> informative Meldungen auf die "
"Standard-Fehlerausgabe, beispielsweise wie viele Quelldateien des Pakets "
"hochgeladen werden. B<-q> unterdrückt diese Meldungen."

#. type: Plain text
#: dpkg-genchanges.1:147
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-genchanges> reads the data here when producing a B<.changes> file."
msgstr ""
"Die Liste der erstellten Dateien, die Teil der zum Hochladen vorbereiteten "
"Dateien sind. B<dpkg-genchanges> liest hier die Daten, wenn es die Datei B<."
"changes> erstellt."

#. type: TH
#: dpkg-gencontrol.1:1
#, no-wrap
msgid "dpkg-gencontrol"
msgstr "dpkg-gencontrol"

#. type: Plain text
#: dpkg-gencontrol.1:4
msgid "dpkg-gencontrol - generate Debian control files"
msgstr "dpkg-gencontrol - erstelle Debian control-Dateien"

#. type: Plain text
#: dpkg-gencontrol.1:8
msgid "B<dpkg-gencontrol> [I<option>...]"
msgstr "B<dpkg-gencontrol> [I<Option>...]"

#. type: Plain text
#: dpkg-gencontrol.1:14
msgid ""
"B<dpkg-gencontrol> reads information from an unpacked Debian source tree and "
"generates a binary package control file (which defaults to debian/tmp/DEBIAN/"
"control); during this process it will simplify the relation fields."
msgstr ""
"B<dpkg-gencontrol> liest Informationen aus einem entpackten Debian-"
"Quellcodebaum und erzeugt eine binäre Paketsteuerdatei (standardmäßig debian/"
"tmp/DEBIAN/control); dabei vereinfacht es die Felder mit Paketbeziehungen."

#. type: Plain text
#: dpkg-gencontrol.1:27
msgid ""
"Thus I<Pre-Depends>, I<Depends>, I<Recommends> and I<Suggests> are "
"simplified in this order by removing dependencies which are known to be true "
"according to the stronger dependencies already parsed. It will also remove "
"any self-dependency (in fact it will remove any dependency which evaluates "
"to true given the current version of the package as installed). Logically it "
"keeps the intersection of multiple dependencies on the same package. The "
"order of dependencies is preserved as best as possible: if any dependency "
"must be discarded due to another dependency appearing further in the field, "
"the superseding dependency will take the place of the discarded one."
msgstr ""
"Daher werden I<Pre-Depends>, I<Depends>, I<Recommends> und I<Suggests> in "
"dieser Reihenfolge vereinfacht, indem Abhängigkeiten, die aufgrund der "
"jeweils ermittelten stärkeren Abhängigkeit bereits erfüllt sind, entfernt "
"werden. Es wird auch alle Selbstabhängigkeiten entfernen (tatsächlich werden "
"alle Abhängigkeiten entfernt, die aufgrund der installierten Version des "
"aktuellen Pakets automatisch erfüllt werden). Logisch betrachtet behält es "
"den Durchschnitt von mehrfachen Abhängigkeiten auf das gleiche Paket. Die "
"Reihenfolge der Abhängigkeiten wird so gut wie möglich beibehalten: falls "
"eine Abhängigkeit aufgrund einer weiter hinten im Feld auftauchenden "
"weiteren Abhängigkeit gestrichen werden muss, so übernimmt die letztere "
"Abhängigkeit den Platz der gestrichenen."

#. type: Plain text
#: dpkg-gencontrol.1:32
msgid ""
"The other relation fields (I<Enhances>, I<Conflicts>, I<Breaks>, I<Replaces> "
"and I<Provides>)  are also simplified individually by computing the union of "
"the various dependencies when a package is listed multiple times in the "
"field."
msgstr ""
"Die anderen Paketbeziehungsfelder (I<Enhances>, I<Conflicts>, I<Breaks>, "
"I<Replaces> und I<Provides>) werden auch individuell vereinfacht, indem die "
"Vereinigung der verschiedenen Abhängigkeiten berechnet wird, wenn ein Paket "
"mehrfach in dem Feld aufgeführt ist."

#. type: Plain text
#: dpkg-gencontrol.1:36
msgid ""
"B<dpkg-gencontrol> also adds an entry for the binary package to B<debian/"
"files>."
msgstr ""
"B<dpkg-gencontrol> fügt auch einen Eintrag für das Binärpaket in B<debian/"
"files> hinzu."

#. type: Plain text
#: dpkg-gencontrol.1:41
msgid "Sets the version number of the binary package which will be generated."
msgstr "Setzt die Versionsnummer des zu erstellenden Binärpaketes."

#. type: Plain text
#: dpkg-gencontrol.1:45
msgid ""
"Set an output substitution variable. See B<deb-substvars>(5) for discussion "
"of output substitution."
msgstr ""
"Setzt eine Ausgabesubstitutionsvariable. Lesen Sie B<deb-substvars>(5) für "
"eine Besprechung der Ausgabesubstitution."

#. type: Plain text
#: dpkg-gencontrol.1:53
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Lese die Substitutionsvariablen aus I<substvardatei>; standardmäßig B<debian/"
"substvars>. Diese Option kann mehrfach verwandt werden, um "
"Substitutionsvariablen aus mehreren Dateien einzulesen."

#. type: TP
#: dpkg-gencontrol.1:78 dpkg-gensymbols.1:373
#, no-wrap
msgid "B<-p>I<package>"
msgstr "B<-p>I<Paket>"

#. type: Plain text
#: dpkg-gencontrol.1:85
msgid ""
"Generate information for the binary package I<package>.  If the source "
"control file lists only one binary package then this option may be omitted; "
"otherwise it is essential to select which binary package's information to "
"generate."
msgstr ""
"Erstellt Informationen für das Binärpaket I<Paket>. Falls die Steuerdatei "
"der Quellen nur ein Binärpakete aufführt, kann diese Option weggelassen "
"werden; andernfalls ist sie notwendig, um festzulegen, von welchen "
"Binärpaketen die Informationen erstellt werden sollen."

#. type: TP
#: dpkg-gencontrol.1:85
#, no-wrap
msgid "B<-n>I<filename>"
msgstr "B<-n>I<Dateiname>"

#. type: Plain text
#: dpkg-gencontrol.1:90
msgid ""
"Assume the filename of the package will be I<filename> instead of the normal "
"package_version_arch.deb filename."
msgstr ""
"Gehe davon aus, das der Dateiname des Pakets I<Dateiname> sein wird, statt "
"des normalen Dateinamens Paket_Version_Architektur.deb."

#. type: TP
#: dpkg-gencontrol.1:90
#, no-wrap
msgid "B<-is>, B<-ip>, B<-isp>"
msgstr "B<-is>, B<-ip>, B<-isp>"

#. type: Plain text
#: dpkg-gencontrol.1:99
msgid ""
"These options are ignored for compatibility with older versions of dpkg-dev "
"but are now deprecated. Previously they were used to tell dpkg-gencontrol to "
"include the Section and Priority fields in the control file. This is now the "
"default behaviour. If you want to get the old behaviour you can use the B<-"
"U> option to delete the fields from the control file."
msgstr ""
"Diese Optionen werden aufgrund der Kompatibilität mit älteren Versionen von "
"dpkg-dev ignoriert, sind aber jetzt veraltet. Bisher wurden sie verwendet, "
"um dpkg-gencontrol mitzuteilen, die Felder »Section« und »Priority« in die "
"Steuerdatei mit aufzunehmen. Dies passiert jetzt standardmäßig. Falls Sie "
"das alte Verhalten erreichen möchten, können Sie die Option B<-U> verwenden, "
"um Felder aus der Steuerdatei zu entfernen."

#. type: TP
#: dpkg-gencontrol.1:99
#, no-wrap
msgid "B<-P>I<packagebuilddir>"
msgstr "B<-P>I<Paketbauverzeichnis>"

#. type: Plain text
#: dpkg-gencontrol.1:112
msgid ""
"Tells B<dpkg-source> that the package is being built in I<packagebuilddir> "
"instead of B<debian/tmp>.  This value is used to find the default value of "
"the B<Installed-Size> substitution variable and control file field (using "
"B<du>), and for the default location of the output file."
msgstr ""
"Teilt B<dpkg-source> mit, dass das Paket in I<Paketbauverzeichnis> statt in "
"B<debian/tmp> gebaut wird. Dieser Wert wird dazu verwendet, den Standardwert "
"der Substitutionsvariablen B<Installed-Size> und des Feldes der Steuerdatei "
"(mittels B<du>) zu finden, und für den Standard-Ablageplatz der Ausgabedatei."

#. type: TP
#: dpkg-gencontrol.1:112 dpkg-gensymbols.1:391 dpkg-shlibdeps.1:150
#, no-wrap
msgid "B<-O>"
msgstr "B<-O>"

#. type: Plain text
#: dpkg-gencontrol.1:121
msgid ""
"Print the control file to standard output, rather than to B<debian/tmp/"
"DEBIAN/control> (or I<packagebuilddir>B</DEBIAN/control> if B<-P> was used)."
msgstr ""
"Gebe die Steuerdatei in die Standardausgabe statt nach B<debian/tmp/DEBIAN/"
"control> (oder I<Paketbauverzeichnis>B</DEBIAN/control> falls B<-P> "
"verwendet worden ist) aus."

#. type: TP
#: dpkg-gencontrol.1:129
#, no-wrap
msgid "B<debian/control>"
msgstr "B<debian/control>"

#. type: Plain text
#: dpkg-gencontrol.1:134
msgid ""
"The main source control information file, giving version-independent "
"information about the source package and the binary packages it can produce."
msgstr ""
"Die Haupt-Steuer-Informationsdatei für die Quellen. Sie gibt "
"versionsunabhängige Informationen über das Quellpaket und die Binärpakete, "
"die sie erstellen kann, an."

#. type: Plain text
#: dpkg-gencontrol.1:141
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-gencontrol> adds the presumed filenames of binary packages whose "
"control files it generates here."
msgstr ""
"Die Liste der erstellten Dateien, die Teil des Uploads sind, der vorbereitet "
"wird. B<dpkg-gencontrol> fügt die vermuteten Dateinamen von Binärpaketen "
"hinzu, deren Steuerdateien es hier generiert."

#. type: Plain text
#: dpkg-gencontrol.1:148 dpkg-shlibdeps.1:337
msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-gensymbols.1:2
#, no-wrap
msgid "dpkg-gensymbols"
msgstr "dpkg-gensymbols"

#. type: Plain text
#: dpkg-gensymbols.1:5
msgid ""
"dpkg-gensymbols - generate symbols files (shared library dependency "
"information)"
msgstr ""
"dpkg-gensymbols - erstelle Symboldateien (Abhängigkeitsinformationen für "
"Laufzeitbibliotheken)"

#. type: Plain text
#: dpkg-gensymbols.1:9
msgid "B<dpkg-gensymbols> [I<option>...]"
msgstr "B<dpkg-gensymbols> [I<Option>...]"

#. type: Plain text
#: dpkg-gensymbols.1:16
msgid ""
"B<dpkg-gensymbols> scans a temporary build tree (debian/tmp by default) "
"looking for libraries and generate a I<symbols> file describing them. This "
"file, if non-empty, is then installed in the DEBIAN subdirectory of the "
"build tree so that it ends up included in the control information of the "
"package."
msgstr ""
"B<dpkg-gensymbols> durchsucht einen temporären Baubaum (standardmäßig debian/"
"tmp), sucht nach Bibliotheken und erstellt eine Datei I<symbols>, die diese "
"beschreibt. Diese Datei wird, falls sie nicht leer ist, in das "
"Unterverzeichnis DEBIAN des Baubaums installiert, so dass sie schlussendlich "
"in der Steuerinformation des Pakets auftaucht."

#. type: Plain text
#: dpkg-gensymbols.1:20
msgid ""
"When generating those files, it uses as input some symbols files provided by "
"the maintainer. It looks for the following files (and use the first that is "
"found):"
msgstr ""
"Beim Erstellen dieser Dateien verwendet es als Eingabe einige vom Betreuer "
"bereitgestellte Symboldateien. Es sucht nach den folgenden Dateien (und "
"verwendet die erste, die gefunden wird):"

#. type: Plain text
#: dpkg-gensymbols.1:22
msgid "debian/I<package>.symbols.I<arch>"
msgstr "debian/I<Paket>.symbols.I<Architektur>"

#. type: Plain text
#: dpkg-gensymbols.1:24
msgid "debian/symbols.I<arch>"
msgstr "debian/symbols.I<Architektur>"

#. type: Plain text
#: dpkg-gensymbols.1:26
msgid "debian/I<package>.symbols"
msgstr "debian/I<Paket>.symbols"

#. type: Plain text
#: dpkg-gensymbols.1:28
msgid "debian/symbols"
msgstr "debian/symbols"

#. type: Plain text
#: dpkg-gensymbols.1:36
msgid ""
"The main interest of those files is to provide the minimal version "
"associated to each symbol provided by the libraries. Usually it corresponds "
"to the first version of that package that provided the symbol, but it can be "
"manually incremented by the maintainer if the ABI of the symbol is extended "
"without breaking backwards compatibility. It's the responsibility of the "
"maintainer to keep those files up-to-date and accurate, but B<dpkg-"
"gensymbols> helps him."
msgstr ""
"Der Hauptzweck dieser Dateien besteht darin, die minimale Version "
"bereitzustellen, die mit jedem von der Bibliothek bereitgestellten Symbol "
"verknüpft ist. Normalerweise entspricht dies der ersten Version des Pakets, "
"die dieses Symbol bereitgestellt hat, kann aber vom Betreuer erhöht werden, "
"falls die ABI des Symbols ohne Brechen der Rückwärtskompatibilität erweitert "
"wurde. Es liegt in der Verwantwortung des Betreuers, diese Dateien aktuell "
"zu halten, aber B<dpkg-gensymbols> hilft ihm."

#. type: Plain text
#: dpkg-gensymbols.1:42
msgid ""
"When the generated symbols files differ from the maintainer supplied one, "
"B<dpkg-gensymbols> will print a diff between the two versions.  Furthermore "
"if the difference is too significant, it will even fail (you can customize "
"how much difference you can tolerate, see the B<-c> option)."
msgstr ""
"Wenn die erstellten Symboldateien sich von denen, die der Betreuer "
"bereitgestellt hat, unterscheiden, wird B<dpkg-gensymbols> ein Diff zwischen "
"den zwei Versionen anzeigen. Falls die Unterschiede desweiteren zu "
"gravierend sind, wird es sogar fehlschlagen (Sie können einstellen, wie "
"große Unterschiede Sie tolerieren können, sehen Sie hierzu die Option B<-c>)."

#. type: SH
#: dpkg-gensymbols.1:42
#, no-wrap
msgid "MAINTAINING SYMBOLS FILES"
msgstr "SYMBOLDATEIEN PFLEGEN"

#. type: Plain text
#: dpkg-gensymbols.1:55
msgid ""
"The symbols files are really useful only if they reflect the evolution of "
"the package through several releases. Thus the maintainer has to update them "
"every time that a new symbol is added so that its associated minimal version "
"matches reality. To do this properly he can use the diffs contained in the "
"build logs. In most cases, the diff applies directly to his debian/"
"I<package>.symbols file. That said, further tweaks are usually needed: it's "
"recommended for example to drop the Debian revision from the minimal version "
"so that backports with a lower version number but the same upstream version "
"still satisfy the generated dependencies.  If the Debian revision can't be "
"dropped because the symbol really got added by the Debian specific change, "
"then one should suffix the version with \"~\"."
msgstr ""
"Die Symboldateien sind nur wirklich nützlich, falls sie die Entwicklung "
"eines Paketes über mehrere Veröffentlichungen hinweg wiedergeben. Daher muss "
"der Betreuer sie immer aktualisieren, wenn eine neues Symbol hinzugefügt "
"wird, so dass die zugeordnete minimale Version der Realität entspricht. Um "
"dies vernünftig durchzuführen, kann er Diffs aus den Bauprotokolle "
"verwenden. Meistens kann der Diff direkt auf die Datei debian/I<Paket>."
"symbols angewandt werden. Allerdings werden normalerweise weitere "
"Anpassungen notwendig: es wird beispielsweise empfohlen, die Debian-Revision "
"von der minimalen Version zu entfernen, so dass Backports mit einer "
"niedrigeren Versionsnummer aber der gleichen Version der Originalautoren "
"immer noch die erstellten Abhängigkeiten erfüllen. Falls die Debian-Revision "
"nicht entfernt werden kann, da das Symbol wirklich von der Debian-"
"spezifischen Änderung hinzugefügt wurde, dann sollte der Version »~« "
"angehängt werden."

#. type: Plain text
#: dpkg-gensymbols.1:59
msgid ""
"Before applying any patch to the symbols file, the maintainer should double-"
"check that it's sane. Public symbols are not supposed to disappear, so the "
"patch should ideally only add new lines."
msgstr ""
"Bevor irgendein Patch auf die Symboldatei angewendet wird, sollte der "
"Betreuer zweimal prüfen, dass der Patch vernünftig ist. Öffentliche Symbole "
"sollten nicht verschwinden, daher sollte der Patch idealerweise nur neue "
"Zeilen hinzufügen."

#. type: Plain text
#: dpkg-gensymbols.1:64
msgid ""
"Note that you can put comments in symbols files: any line with '#' as the "
"first character is a comment except if it starts with '#include' (see "
"section B<Using includes>). Lines starting with '#MISSING:' are special "
"comments documenting symbols that have disappeared."
msgstr ""
"Beachten Sie, dass Sie in Symboldateien Kommentare einfügen können: jede "
"Zeile, die mit »#« als ersten Zeichen beginnt, ist ein Kommentare, falls sie "
"nicht mit »#include« beginnt (siehe Abschnitt B<Includes verwenden>). "
"Zeilen, die mit »#MISSING:« anfangen, sind besondere Kommentare, die "
"verschwundene Symbole dokumentieren."

#. type: SS
#: dpkg-gensymbols.1:64
#, no-wrap
msgid "Using #PACKAGE# substitution"
msgstr "Verwendung der #PACKAGE#-Ersetzung"

#. type: Plain text
#: dpkg-gensymbols.1:72
msgid ""
"In some rare cases, the name of the library varies between architectures.  "
"To avoid hardcoding the name of the package in the symbols file, you can use "
"the marker I<#PACKAGE#>. It will be replaced by the real package name during "
"installation of the symbols files. Contrary to the I<#MINVER#> marker, "
"I<#PACKAGE#> will never appear in a symbols file inside a binary package."
msgstr ""
"In einigen seltenen Fällen unterscheidet sich der Name der Bibliothek auf "
"verschiedenen Architekturen. Um zu vermeiden, dass der Paketname in der "
"Symboldatei fest kodiert wird, können Sie die Markierung I<#PACKAGE#> "
"verwenden. Während der Installation der Symboldatei wird sie durch den "
"echten Paketnamen ersetzt. Anders als die Markierung I<#MINVER#> wird "
"I<#PACKAGE#> nie in der Symboldatei innerhalb eines Binärpakets auftauchen."

#. type: SS
#: dpkg-gensymbols.1:72
#, no-wrap
msgid "Using symbol tags"
msgstr "Verwendung von Symbolkennzeichnungen"

#. type: Plain text
#: dpkg-gensymbols.1:79
msgid ""
"Symbol tagging is useful for marking symbols that are special in some way.  "
"Any symbol can have an arbitrary number of tags associated with it. While "
"all tags are parsed and stored, only a some of them are understood by B<dpkg-"
"gensymbols> and trigger special handling of the symbols. See subsection "
"B<Standard symbol tags> for reference of these tags."
msgstr ""
"Symbolkennzeichnungen sind nützlich, um Symbole zu markieren, die in "
"irgendeiner Weise besonders sind. Jedes Symbol kann eine beliebige Anzahl "
"zugeordneter Kennzeichnungen besitzen. Während alle Kennzeichnungen "
"ausgewertet und gespeichert werden, werden nur einige von B<dpkg-gensymbols> "
"verstanden und lösen eine Spezialbehandlung der Symbole aus. Lesen Sie den "
"Unterabschnit B<Standardsymbolkennzeichnungen> für eine Referenz dieser "
"Kennzeichnungen."

#. type: Plain text
#: dpkg-gensymbols.1:91
msgid ""
"Tag specification comes right before the symbol name (no whitespace is "
"allowed in between). It always starts with an opening bracket B<(>, ends "
"with a closing bracket B<)> and must contain at least one tag. Multiple tags "
"are separated by the B<|> character. Each tag can optionally have a value "
"which is separated form the tag name by the B<=> character. Tag names and "
"values can be arbitrary strings except they cannot contain any of the "
"special B<)> B<|> B<=> characters. Symbol names following a tag "
"specification can optionally be quoted with either B<'> or B<\"> characters "
"to allow whitespaces in them. However, if there are no tags specified for "
"the symbol, quotes are treated as part of the symbol name which continues up "
"until the first space."
msgstr ""
"Kennzeichnungsspezifikationen kommen direkt vor dem Symbolnamen (dazwischen "
"sind keine Leerzeichen erlaubt). Sie beginnen immer mit einer öffnenden "
"Klammer B<(>, enden mit einer schließenden Klammer B<)> und müssen "
"mindestens eine Kennzeichnung enthalten. Mehrere Kennzeichnungen werden "
"durch das Zeichen B<|> getrennt. Jede Kennzeichnungen kann optional einen "
"Wert enthalten, der von der Kennzeichnung durch das Zeichen B<=> getrennt "
"wird. Kennzeichennamen und -werte können beliebige Zeichenketten sein, sie "
"dürfen allerdings keine der der besonderen Zeichen B<)> B<|> B<=> enthalten. "
"Symbolnamen, die einer Kennzeichnungsspezifikation folgen, können optional "
"mit den Zeichen B<'> oder B<\"> zitiert werden, um Leerzeichen darin zu "
"erlauben. Falls keine Kennzeichnungen für das Symbol spezifiziert sind, "
"werden Zitatzeichen als Teil des Symbolnamens behandelt, der bis zum ersten "
"Leerzeichen geht."

#. type: Plain text
#: dpkg-gensymbols.1:95
#, no-wrap
msgid ""
" (tag1=i am marked|tag name with space)\"tagged quoted symbol\"@Base 1.0\n"
" (optional)tagged_unquoted_symbol@Base 1.0 1\n"
" untagged_symbol@Base 1.0\n"
msgstr ""
" (Kennz1=bin markiert|Name mit Leerraum)\"zitiertes gekennz Symbol\"@Base 1.0\n"
" (optional)gekennzeichnet_unzitiertes_Symbol@Base 1.0 1\n"
" ungekennzeichnetes_Symbol@Base 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:101
msgid ""
"The first symbol in the example is named I<tagged quoted symbol> and has two "
"tags: I<tag1> with value I<i am marked> and I<tag name with space> that has "
"no value. The second symbol named I<tagged_unquoted_symbol> is only tagged "
"with the tag named I<optional>. The last symbol is an example of the normal "
"untagged symbol."
msgstr ""
"Das erste Symbol im Beispiel heißt I<zitiertes gekennz Symbol> und hat zwei "
"Kennzeichnungen: I<Kennz1> mit dem Wert I<bin markiert> und I<Name mit "
"Leerraum> ohne Wert. Das zweite Symbol heißt "
"I<gekennzeichnet_unzitiertes_Symbol> und ist nur mit dem Kennzeichen namens "
"I<optional> gekennzeichnet. Das letzte Symbol ist ein Beispiel eines "
"normalen, nicht gekennzeichneten Symbols."

#. type: Plain text
#: dpkg-gensymbols.1:113
msgid ""
"Since symbol tags are an extension of the I<deb-symbols(5)> format, they can "
"only be part of the symbols files used in source packages (those files "
"should then be seen as templates used to build the symbols files that are "
"embedded in binary packages). When B<dpkg-gensymbols> is called without the "
"I<-t> option, it will output symbols files compatible to the I<deb-symbols(5)"
"> format: it fully processes symbols according to the requirements of their "
"standard tags and strips all tags from the output. On the contrary, in "
"template mode (I<-t>) all symbols and their tags (both standard and unknown "
"ones)  are kept in the output and are written in their original form as they "
"were loaded."
msgstr ""
"Da Symbolkennzeichnungen eine Erweiterung des Formats I<deb-symbols(5)> "
"sind, können sie nur Teil der in Quellpaketen verwandten Symboldateien sein "
"(diese Dateien sollten dann als Vorlagen zum Bau der Symboldateien, die in "
"Binärpakete eingebettet werden, gesehen werden). Wenn B<dpkg-gensymbols> "
"ohne die Option I<-t> aufgerufen wird, wird es alle Symbole ausgeben, die "
"zum Format I<deb-symbols(5)> kompatibel sind: Es verarbeitet die Symbole "
"entsprechend der Anforderungen ihrer Standardkennzeichnungen und entfernt "
"alle Kennzeichnungen aus der Ausgabe. Im Gegensatz dazu werden alle Symbole "
"und ihre Kennzeichnungen (sowohl die Standardkennzeichnungen als auch die "
"unbekannten) im Vorlagenmodus (I<-t>) in der Ausgabe beibehalten und in "
"ihrer Originalform wie sie geladen wurden auch geschrieben."

#. type: SS
#: dpkg-gensymbols.1:113
#, no-wrap
msgid "Standard symbol tags"
msgstr "Standard-Symbolkennzeichnungen"

#. type: TP
#: dpkg-gensymbols.1:114
#, no-wrap
msgid "B<optional>"
msgstr "B<optional>"

#. type: Plain text
#: dpkg-gensymbols.1:124
msgid ""
"A symbol marked as optional can disappear from the library at any time and "
"that will never cause B<dpkg-gensymbols> to fail. However, disappeared "
"optional symbols will continuously appear as MISSING in the diff in each new "
"package revision.  This behaviour serves as a reminder for the maintainer "
"that such a symbol needs to be removed from the symbol file or readded to "
"the library. When the optional symbol, which was previously declared as "
"MISSING, suddenly reappears in the next revision, it will be upgraded back "
"to the \"existing\" status with its minimum version unchanged."
msgstr ""
"Ein als »optional« gekennzeichnetes Symbol kann jederzeit von der Bibliothek "
"verschwinden und wird nie zum Fehlschlag von B<dpkg-gensymbols> führen. "
"Verschwundene optionale Symbole werden kontinuierlich als MISSING (Fehlend) "
"in dem Diff in jeder neuen Paketversion auftauchen. Dieses Verhalten dient "
"als Erinnerung für den Betreuer, dass so ein Symbol aus der Symboldatei "
"entfernt oder wieder der Bibliothek hinzugefügt werden muss. Wenn das "
"optionale Symbol, dass bisher als MISSING bezeichnet gewesen war, plötzlich "
"in der nächsten Version wieder auftaucht, wird es wieder auf den Status "
"»existing« (existierend) gebracht, wobei die minimale Version unverändert "
"bleibt."

#. type: Plain text
#: dpkg-gensymbols.1:129
msgid ""
"This tag is useful for symbols which are private where their disappearance "
"do not cause ABI breakage. For example, most of C++ template instantiations "
"fall into this category. Like any other tag, this one may also have an "
"arbitrary value: it could be used to indicate why the symbol is considered "
"optional."
msgstr ""
"Diese Markierung ist für private Symbole nützlich, deren Verschwinden keinen "
"ABI-Bruch auslöst. Beispielsweise fallen die meisten C++-Template-"
"Instanziierungen in diese Kategorie. Wie jede andere Markierung kann auch "
"diese einen beliebigen Wert haben: sie könnte angeben, warum dieses Symbol "
"als optional betrachtet wird."

#. type: TP
#: dpkg-gensymbols.1:129
#, no-wrap
msgid "B<arch=>I<architecture list>"
msgstr "B<arch=>I<Architekturliste>"

#. type: Plain text
#: dpkg-gensymbols.1:142
msgid ""
"This tag allows one to restrict the set of architectures where the symbol is "
"supposed to exist. When the symbols list is updated with the symbols "
"discovered in the library, all arch-specific symbols which do not concern "
"the current host architecture are treated as if they did not exist. If an "
"arch-specific symbol matching the current host architecture does not exist "
"in the library, normal procedures for missing symbols apply and it may cause "
"B<dpkg-gensymbols> to fail. On the other hand, if the arch-specific symbol "
"is found when it was not supposed to exist (because the current host "
"architecture is not listed in the tag), it is made arch neutral (i.e. the "
"arch tag is dropped and the symbol will appear in the diff due to this "
"change), but it is not considered as new."
msgstr ""
"Die Markierung erlaubt es, den Satz an Architekturen einzugrenzen, auf denen "
"das Symbol existieren sollte. Wenn die Symbolliste mit den in der Bibliothek "
"entdeckten Symbolen aktualisiert wird, werden alle architekturspezifischen "
"Symbole, die nicht auf die aktuelle Host-Architektur passen, so behandelt, "
"als ob sie nicht existierten. Falls ein architekturspezifisches Symbol, das "
"auf die aktuelle Host-Architektur passt, in der Bibliothek nicht existiert, "
"werden die normalen Regeln für fehlende Symbole angewandt und B<dpkg-"
"gensymbols> könnte dadurch fehlschlagen. Auf der anderen Seite, falls das "
"architekturspezifische Symbol gefunden wurde, wenn es nicht existieren "
"sollte (da die aktuelle Host-Architektur nicht in der Markierung aufgeführt "
"ist), wird sie architekturneutral gemacht (d.h. die Architekturmarkierung "
"wird entfernt und das Symbol wird im Diff aufgrund dieser Änderung "
"auftauchen), aber es wird nicht als neu betrachtet."

#. type: Plain text
#: dpkg-gensymbols.1:148
msgid ""
"When operating in the default non-template mode, among arch-specific symbols "
"only those that match the current host architecture are written to the "
"symbols file. On the contrary, all arch-specific symbols (including those "
"from foreign arches) are always written to the symbol file when operating in "
"template mode."
msgstr ""
"Beim Betrieb im standardmäßigen nicht-Vorlagen-Modus werden unter den "
"architekturspezifischen Symbolen nur die in die Symboldatei geschrieben, die "
"auf die aktuelle Host-Architektur passen. Auf der anderen Seite werden beim "
"Betrieb im Vorlagenmodus alle architekturspezifischen Symbole (darunter auch "
"die von fremden Architekturen) immer in die Symboldatei geschrieben."

#. type: Plain text
#: dpkg-gensymbols.1:154
msgid ""
"The format of I<architecture list> is the same as the one used in the "
"I<Build-Depends> field of I<debian/control> (except the enclosing square "
"brackets []). For example, the first symbol from the list below will be "
"considered only on alpha, amd64, kfreebsd-amd64 and ia64 architectures while "
"the second one anywhere except on armel."
msgstr ""
"Das Format der I<Architekturliste> ist das gleiche wie das des Feldes "
"I<Build-Depends> in I<debian/control> (außer den einschließenden eckigen "
"Klammern []). Beispielsweise wird das erste Symbol aus der folgenden Liste "
"nur auf den Architekturen Alpha, Amd64, kFreebsd-amd64 und Ia64 betrachtet, "
"während das zweite überall außer auf Armel betrachtet wird."

#. type: Plain text
#: dpkg-gensymbols.1:157
#, no-wrap
msgid ""
" (arch=alpha amd64 kfreebsd-amd64 ia64)a_64bit_specific_symbol@Base 1.0\n"
" (arch=!armel)symbol_armel_does_not_have@Base 1.0\n"
msgstr ""
" (arch=alpha amd64 kfreebsd-amd64 ia64)ein_64bit_spezifisches_Symbol@Base 1.0\n"
" (arch=!armel)Symbol_hat_Armel_nicht@Base 1.0\n"

#. type: TP
#: dpkg-gensymbols.1:157
#, no-wrap
msgid "B<ignore-blacklist>"
msgstr "B<ignore-blacklist>"

#. type: Plain text
#: dpkg-gensymbols.1:165
msgid ""
"dpkg-gensymbols has an internal blacklist of symbols that should not appear "
"in symbols files as they are usually only side-effects of implementation "
"details of the toolchain. If for some reason, you really want one of those "
"symbols to be included in the symbols file, you should tag the symbol with "
"B<ignore-blacklist>. It can be necessary for some low level toolchain "
"libraries like libgcc."
msgstr ""
"dpkg-gensymbols verfügt über eine interne Ausschußliste (»blacklist«) von "
"Symbolen, die nicht in Symboldateien auftauchen sollten, da sie "
"normalerweise nur Seiteneffekte von Implementierungsdetails in der "
"Werkzeugkette darstellen. Falls Sie aus irgendeinem Grund wollen, dass diese "
"Symbole in der Symboldatei aufgenommen werden, sollten Sie das Symbol mit "
"B<ignore-blacklist> kennzeichnen. Dies kann für einige grundlegende "
"Bibliotheken der Werkzeugkette wie libgcc notwendig sein."

#. type: TP
#: dpkg-gensymbols.1:165 dpkg-gensymbols.1:202
#, no-wrap
msgid "B<c++>"
msgstr "B<c++>"

#. type: Plain text
#: dpkg-gensymbols.1:169
msgid ""
"Denotes I<c++> symbol pattern. See B<Using symbol patterns> subsection below."
msgstr ""
"Gibt I<c++>-Symbolmuster an. Lesen Sie den Unterabschnitt B<Verwendung von "
"Symbolmuster> unten."

#. type: TP
#: dpkg-gensymbols.1:169 dpkg-gensymbols.1:233
#, no-wrap
msgid "B<symver>"
msgstr "B<symver>"

#. type: Plain text
#: dpkg-gensymbols.1:173
msgid ""
"Denotes I<symver> (symbol version) symbol pattern. See B<Using symbol "
"patterns> subsection below."
msgstr ""
"Gibt I<symver> (Symbolversion)-Symbolmuster an. Lesen Sie den Unterabschnitt "
"B<Verwendung von Symbolmuster> unten."

#. type: TP
#: dpkg-gensymbols.1:173 dpkg-gensymbols.1:258
#, no-wrap
msgid "B<regex>"
msgstr "B<regex>"

#. type: Plain text
#: dpkg-gensymbols.1:177
msgid ""
"Denotes I<regex> symbol pattern. See B<Using symbol patterns> subsection "
"below."
msgstr ""
"Gibt I<regex>-Symbolmuster an. Lesen Sie den Unterabschnitt B<Verwendung von "
"Symbolmuster> unten."

#. type: SS
#: dpkg-gensymbols.1:177
#, no-wrap
msgid "Using symbol patterns"
msgstr "Verwendung von Symbolmustern"

#. type: Plain text
#: dpkg-gensymbols.1:185
msgid ""
"Unlike a standard symbol specification, a pattern may cover multiple real "
"symbols from the library. B<dpkg-gensymbols> will attempt to match each "
"pattern against each real symbol that does I<not> have a specific symbol "
"counterpart defined in the symbol file. Whenever the first matching pattern "
"is found, all its tags and properties will be used as a basis specification "
"of the symbol. If none of the patterns matches, the symbol will be "
"considered as new."
msgstr ""
"Anders als die Standardsymbolspezifikation kann ein Muster mehrere reale "
"Symbole aus der Bibliothek abdecken. B<dpkg-gensymbols> wird versuchen, "
"jedes Muster auf jedes reale Symbol, für das I<kein> spezifisches "
"Symbolgegenstück in der Symboldatei definiert ist, zu passen. Wann immer das "
"erste passende Muster gefunden wurde, werden alle Kennzeichnungen und "
"Eigenschaften als Basisspezifikation des Symbols verwandt. Falls keines der "
"Muster passt, wird das Symbol als neu betrachtet."

#. type: Plain text
#: dpkg-gensymbols.1:193
msgid ""
"A pattern is considered lost if it does not match any symbol in the library. "
"By default this will trigger a B<dpkg-gensymbols> failure under I<-c1> or "
"higher level. However, if the failure is undesired, the pattern may be "
"marked with the I<optional> tag. Then if the pattern does not match "
"anything, it will only appear in the diff as MISSING. Moreover, like any "
"symbol, the pattern may be limited to the specific architectures with the "
"I<arch> tag. Please refer to B<Standard symbol tags> subsection above for "
"more information."
msgstr ""
"Ein Muster wird als verloren betrachtet, falls es auf kein Symbol in der "
"Bibliothek passt. Standardmäßig wird dies ein Versagen von B<dpkg-"
"gensymbols> in der Stufe I<-c1> oder höher auslösen. Falls der Fehlschlag "
"allerdings unerwünscht ist, kann das Muster mit der Kennzeichnung "
"I<optional> markiert werden. Falls das Muster dann auf nichts passt wird es "
"im Diff nur als MISSING (fehlend) auftauchen. Desweiteren kann das Muster "
"wie jedes Symbol auf die spezielle Architektur mit der Kennzeichnung I<arch> "
"beschränkt werden. Bitte lesen Sie den Unterabschnitt B<Standard "
"Symbolkennzeichnungen> oben für weitere Informationen."

#. type: Plain text
#: dpkg-gensymbols.1:200
msgid ""
"Patterns are an extension of the I<deb-symbols(5)> format hence they are "
"only valid in symbol file templates. Pattern specification syntax is not any "
"different from the one of a specific symbol. However, symbol name part of "
"the specification serves as an expression to be matched against "
"I<name@version> of the real symbol. In order to distinguish among different "
"pattern types, a pattern will typically be tagged with a special tag."
msgstr ""
"Muster sind eine Erweiterung des Formats I<deb-symbols(5)>; sie sind daher "
"nur in Symboldatei-Vorlagen gültig. Die Musterspezifikationssyntax "
"unterscheidet sich nicht von der eines spezifischen Symbols. Allerdings "
"dient der Symbolnamenteil der Spezifikation als Ausdruck, der gegen "
"I<Name@Version> eines realen Symbols gepasst wird. Um zwischen den "
"verschiedenen Mustertypen zu unterscheiden, wird es typischerweise mit einer "
"speziellen Kennzeichnung gekennzeichnet."

#. type: Plain text
#: dpkg-gensymbols.1:202
msgid "At the moment, B<dpkg-gensymbols> supports three basic pattern types:"
msgstr "Derzeit unterstützt B<dpkg-gensymbols> drei grundlegene Mustertypen:"

#. type: Plain text
#: dpkg-gensymbols.1:214
msgid ""
"This pattern is denoted by the I<c++> tag. It matches only C++ symbols by "
"their demangled symbol name (as emitted by B<c++filt>(1) utility). This "
"pattern is very handy for matching symbols which mangled names might vary "
"across different architectures while their demangled names remain the same. "
"One group of such symbols is I<non-virtual thunks> which have architecture "
"specific offsets embedded in their mangled names. A common instance of this "
"case is a virtual destructor which under diamond inheritance needs a non-"
"virtual thunk symbol. For example, even if _ZThn8_N3NSB6ClassDD1Ev@Base on "
"32bit architectures will probably be _ZThn16_N3NSB6ClassDD1Ev@Base on 64bit "
"ones, it can be matched with a single I<c++> pattern:"
msgstr ""
"Dieses Muster wird durch die Kennzeichnung I<c++> verzeichnet. Es passt nur "
"auf die entworrenen (»demangled«) Symbolnamen (wie sie vom Hilfswerkzeug B<c+"
"+filt>(1) ausgegeben werden). Dieses Muster ist sehr hilfreich um auf "
"Symbole zu passen, bei dem die verworrenen (»mangled«) Namen sich auf "
"verschiedenen Architekturen unterscheiden während die entworrenen die "
"gleichen bleiben. Eine Gruppe solcher Symbole ist I<non-virtual thunks>, die "
"einen architekturspezifischen Versatz in ihren verworrenen Namen eingebettet "
"haben. Eine häufige Instanz dieses Falles ist ein virtueller Destruktur, der "
"unter rautenförmiger Vererbung ein nicht-virtuelles Thunk-Symbol benötigt. "
"Selbst wenn beispielsweise _ZThn8_N3NSB6ClassDD1Ev@Base auf 32 Bit-"
"Architekturen _ZThn16_N3NSB6ClassDD1Ev@Base auf 64 Bit-Architekturen ist, "
"kann es mit einem einzigen I<c++>-Muster gepasst werden:"

#. type: Plain text
#: dpkg-gensymbols.1:220
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" [...]\n"
" (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n"
" [...]\n"
msgstr ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" [...]\n"
" (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n"
" [...]\n"

#. type: Plain text
#: dpkg-gensymbols.1:222
msgid ""
"The demangled name above can be obtained by executing the following command:"
msgstr ""
"Der entworrene Name oben kann durch Ausführung folgenden Befehls erhalten "
"werden:"

#. type: Plain text
#: dpkg-gensymbols.1:224
#, no-wrap
msgid " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"
msgstr " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"

#. type: Plain text
#: dpkg-gensymbols.1:232
msgid ""
"Please note that while mangled name is unique in the library by definition, "
"this is not necessarily true for demangled names. A couple of distinct real "
"symbols may have the same demangled name. For example, that's the case with "
"non-virtual thunk symbols in complex inheritance configurations or with most "
"constructors and destructors (since g++ typically generates two real symbols "
"for them). However, as these collisions happen on the ABI level, they should "
"not degrade quality of the symbol file."
msgstr ""
"Bitte beachten Sie, dass per Definition zwar der verworrene Name in der "
"Bibliothek eindeutig ist, die aber nicht notwendigerweise für die "
"entworrenen Namen zutrifft. Ein Satz von unterschiedlichen realen Symbolen "
"können den gleichen entworrenen Namen haben. Beispielsweise ist das der Fall "
"bei nicht-virtuellen Thunk-Symbolen in komplexen Vererbungskonfigurationen "
"oder bei den meisten Konstruktoren und Destruktoren (da g++ typischerweise "
"zwei reale Symbole für sie generiert). Da diese Kollisionen aber auf dem ABI-"
"Niveau passieren, sollten sie nicht die Qualität der Symboldatei reduzieren."

#. type: Plain text
#: dpkg-gensymbols.1:239
msgid ""
"This pattern is denoted by the I<symver> tag. Well maintained libraries have "
"versioned symbols where each version corresponds to the upstream version "
"where the symbol got added. If that's the case, you can use a I<symver> "
"pattern to match any symbol associated to the specific version. For example:"
msgstr ""
"Dieses Muster wird durch die Kennzeichnung I<symver> verzeichnet. Gut "
"betreute Bibliotheken verfügen über versionierte Symbole, wobei jede Version "
"zu der Version der Originalautoren passt, in der dieses Symbol hinzugefügt "
"wurde. Falls das der Fall ist, können SIe ein I<symver>-Muster verwenden, um "
"auf jedes zu einer spezifizierten Version zugeordnete Symbol zu passen. "
"Beispiel:"

#. type: Plain text
#: dpkg-gensymbols.1:246
#, no-wrap
msgid ""
"libc.so.6 libc6 #MINVER#\n"
" (symver)GLIBC_2.0 2.0\n"
" [...]\n"
" (symver)GLIBC_2.7 2.7\n"
" access@GLIBC_2.0 2.2\n"
msgstr ""
"libc.so.6 libc6 #MINVER#\n"
" (symver)GLIBC_2.0 2.0\n"
" [...]\n"
" (symver)GLIBC_2.7 2.7\n"
" access@GLIBC_2.0 2.2\n"

#. type: Plain text
#: dpkg-gensymbols.1:252
msgid ""
"All symbols associated with versions GLIBC_2.0 and GLIBC_2.7 will lead to "
"minimal version of 2.0 and 2.7 respectively with the exception of the symbol "
"access@GLIBC_2.0. The latter will lead to a minimal dependency on libc6 "
"version 2.2 despite being in the scope of the \"(symver)GLIBC_2.0\" pattern "
"because specific symbols take precedence over patterns."
msgstr ""
"Alle Version GLIBC_2.0 und GLIBC_2.7 zugeordneten Symbole werden zu einer "
"minimalen Version 2.0 bzw. 2.7 führen, wobei das Symbol access@GLIBC_2.0 die "
"Ausnahme darstellt. Es wird zu einer minimalen Abhängigkeit auf libc6 "
"Version 2.2 führen, obwohl es im Geltungsbereich des Musters »(symver)"
"GLIBC_2.0« passt, da spezielle Symbole vor Mustern Vorrang haben."

#. type: Plain text
#: dpkg-gensymbols.1:257
msgid ""
"Please note that while old style wildcard patterns (denoted by \"*@version\" "
"in the symbol name field) are still supported, they have been deprecated by "
"new style syntax \"(symver|optional)version\". For example, \"*@GLIBC_2.0 "
"2.0\" should be written as \"(symver|optional)GLIBC_2.0 2.0\" if the same "
"behaviour is needed."
msgstr ""
"Bitte beachten Sie, dass Platzhaltermuster im alten Format (angezeigt durch "
"»*@version« im Symbolnamenfeld) zwar noch unterstützt werden, sie aber durch "
"die Syntax im neuen Format »(symver|optional)version« abgelöst wurden. "
"Beispielsweise sollte »*@GLIBC_2.0 2.0« als »(symver|optional)GLIBC_2.0 2.0« "
"geschrieben werden, falls das gleiche Verhalten benötigt wird."

#. type: Plain text
#: dpkg-gensymbols.1:265
msgid ""
"Regular expression patterns are denoted by the I<regex> tag. They match by "
"the perl regular expression specified in the symbol name field. A regular "
"expression is matched as it is, therefore do not forget to start it with the "
"I<^> character or it may match any part of the real symbol I<name@version> "
"string. For example:"
msgstr ""
"Muster mit regulären Ausdrücken werden durch die Kennzeichnung I<regex> "
"verzeichnet. Sie passen auf den regulären Ausdruck von Perl, der im "
"Symbolnamenfeld angegeben ist. Ein regulärer Ausdruck wird wie er ist "
"gepasst. Denken Sie daher daran, ihn mit dem Zeichen I<^> zu beginnen, da er "
"ansonsten auf jeden Teil der Zeichenkette des realen Symbols I<name@version> "
"passt. Beispiel:"

#. type: Plain text
#: dpkg-gensymbols.1:270
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" (regex)\"^mystack_.*@Base$\" 1.0\n"
" (regex|optional)\"private\" 1.0\n"
msgstr ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" (regex)\"^mystack_.*@Base$\" 1.0\n"
" (regex|optional)\"private\" 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:275
msgid ""
"Symbols like \"mystack_new@Base\", \"mystack_push@Base\", \"mystack_pop@Base"
"\" etc.  will be matched by the first pattern while e.g. "
"\"ng_mystack_new@Base\" won't.  The second pattern will match all symbols "
"having the string \"private\" in their names and matches will inherit "
"I<optional> tag from the pattern."
msgstr ""
"Symbole wie »mystack_new@Base«, »mystack_push@Base«, »mystack_pop@Base« usw. "
"werden vom ersten Muster gepasst, während dies z.B. für "
"»ng_mystack_new@Base« nicht der Fall ist. Das zweite Muster wird auf alle "
"Symbole, die die Zeichenkette »private« in ihren Namen enthalten, passen und "
"die gepassten Symbole erben die Kennzeichnung I<optional> vom Muster."

#. type: Plain text
#: dpkg-gensymbols.1:280
msgid ""
"Basic patterns listed above can be combined where it makes sense. In that "
"case, they are processed in the order in which the tags are specified. For "
"example, both"
msgstr ""
"Die oben aufgeführten grundlegenden Muster können - wo es Sinn ergibt - "
"kombiniert werden. In diesem Fall werden sie in der Reihenfolge verarbeitet, "
"in der die Kennzeichnungen angegeben sind. Im Beispiel"

#. type: Plain text
#: dpkg-gensymbols.1:283
#, no-wrap
msgid ""
" (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n"
" (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n"
msgstr ""
" (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n"
" (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:293
msgid ""
"will match symbols \"_ZN3NSA6ClassA7Private11privmethod1Ei@Base\" and "
"\"_ZN3NSA6ClassA7Private11privmethod2Ei@Base\". When matching the first "
"pattern, the raw symbol is first demangled as C++ symbol, then the demangled "
"name is matched against the regular expression. On the other hand, when "
"matching the second pattern, regular expression is matched against the raw "
"symbol name, then the symbol is tested if it is C++ one by attempting to "
"demangle it. A failure of any basic pattern will result in the failure of "
"the whole pattern.  Therefore, for example, "
"\"__N3NSA6ClassA7Private11privmethod\\edEi@Base\" will not match either of "
"the patterns because it is not a valid C++ symbol."
msgstr ""
"werden die Symbole »_ZN3NSA6ClassA7Private11privmethod1Ei@Base« und "
"»_ZN3NSA6ClassA7Private11privmethod2Ei@Base« gepasst. Beim Passen der ersten "
"Musters wird das rohe Symbol erst als C++-Symbol entworren, dann wird der "
"entworrende Name gegen den regulären Ausdruck gepasst. Auf der anderen Seite "
"wird beim Passen des zweiten Musters der reguläre Ausdruck gegen den rohen "
"Symbolnamen gepasst, dann wird das Symbol überprüft, ob es ein C++-Symbol "
"ist, indem das Entwirren versucht wird. Ein Fehlschlag eines einfachen "
"Musters wird zum Fehlschlag des gesamten Musters führen. Daher wird "
"beispielsweise »__N3NSA6ClassA7Private11privmethod\\edEi@Base« keines der "
"Muster passen, da es kein gültiges C++-Symbol ist."

#. type: Plain text
#: dpkg-gensymbols.1:299
msgid ""
"In general, all patterns are divided into two groups: aliases (basic I<c++> "
"and I<symver>) and generic patterns (I<regex>, all combinations of multiple "
"basic patterns). Matching of basic alias-based patterns is fast (O(1))  "
"while generic patterns are O(N) (N - generic pattern count) for each "
"symbol.  Therefore, it is recommended not to overuse generic patterns."
msgstr ""
"Im Allgemeinen werden die Muster in zwei Kategorien eingeteilt: Aliase "
"(grundlegende I<c++>- und I<symver>-Muster) und generische Muster (I<regex> "
"und alle Kombinationen grundlegender Muster). Passen von grundlegenden alias-"
"basierenden Mustern ist schnell (O(1)), während generische Muster O(N) "
"(wobei N die Anzahl der generischen Muster ist) für jedes Symbol ist. Daher "
"wird empfohlen, generische Muster nicht zu viel zu verwenden."

#. type: Plain text
#: dpkg-gensymbols.1:306
msgid ""
"When multiple patterns match the same real symbol, aliases (first I<c++>, "
"then I<symver>) are preferred over generic patterns. Generic patterns are "
"matched in the order they are found in the symbol file template until the "
"first success.  Please note, however, that manual reordering of template "
"file entries is not recommended because B<dpkg-gensymbols> generates diffs "
"based on the alphanumerical order of their names."
msgstr ""
"Wenn mehrere Muster auf das gleiche Symbol passen, werden Aliase (zuerst I<c+"
"+>, dann I<symver>) gegenüber den generischen Mustern bevorzugt. Generische "
"Muster werden in der Reihenfolge, in der sie in der Symboldateivorlage "
"gefunden werden, gepasst, bis zum ersten Erfolg. Beachten Sie aber, dass das "
"manuelle Anordnen der Vorlagendateieinträge nicht empfohlen wird, da B<dpkg-"
"gensymbols> Diffs basierend auf der alphanumerischen Reihenfolge ihrer Namen "
"erstellt."

#. type: SS
#: dpkg-gensymbols.1:306
#, no-wrap
msgid "Using includes"
msgstr "Includes verwenden"

#. type: Plain text
#: dpkg-gensymbols.1:311
msgid ""
"When the set of exported symbols differ between architectures, it may become "
"inefficient to use a single symbol file. In those cases, an include "
"directive may prove to be useful in a couple of ways:"
msgstr ""
"Wenn der Satz der exportierten Symbolen sich zwischen Architekturen "
"unterscheidet, kann es ineffizient werden, eine einzige Symboldatei zu "
"verwenden. In diesen Fällen kann sich eine Include-Direktive in einer Reihe "
"von Arten als nützlich erweisen:"

#. type: Plain text
#: dpkg-gensymbols.1:315
msgid ""
"You can factorize the common part in some external file and include that "
"file in your I<package>.symbols.I<arch> file by using an include directive "
"like this:"
msgstr ""
"Sie können den gemeinsamen Teil in eine externe Datei auslagern und diese "
"Datei dann in Ihre I<Paket>.symbols.I<Arch>-Datei mit einer include-"
"Direktive wie folgt einbinden:"

#. type: Plain text
#: dpkg-gensymbols.1:317
msgid "#include \"I<packages>.symbols.common\""
msgstr "#include \"I<Pakete>.symbols.common\""

#. type: Plain text
#: dpkg-gensymbols.1:319
msgid "The include directive may also be tagged like any symbol:"
msgstr ""
"Die Include-Direktive kann auch wie jedes Symbol gekennzeichnet werden:"

#. type: Plain text
#: dpkg-gensymbols.1:321
msgid "(tag|..|tagN)#include \"file-to-include\""
msgstr "(Kennzeichen|...|KennzeichenN)#include \"einzubindende-Datei\""

#. type: Plain text
#: dpkg-gensymbols.1:326
msgid ""
"As a result, all symbols included from I<file-to-include> will be considered "
"to be tagged with I<tag> .. I<tagN> by default. You can use this feature to "
"create a common I<package>.symbols file which includes architecture specific "
"symbol files:"
msgstr ""
"Als Ergebnis werden alle Symbole aus I<einzubindende-Datei> standardmäßig "
"als mit I<Kennzeichen> ... I<KennzeichenN> gekennzeichnet betrachtet. Sie "
"können diese Funktionalität benutzen, um eine gemeinsame Datei I<Paket>."
"symbols zu erstellen, die architekturspezifische Symboldateien einbindet:"

#. type: Plain text
#: dpkg-gensymbols.1:331
#, no-wrap
msgid ""
"  common_symbol1@Base 1.0\n"
" (arch=amd64 ia64 alpha)#include \"package.symbols.64bit\"\n"
" (arch=!amd64 !ia64 !alpha)#include \"package.symbols.32bit\"\n"
"  common_symbol2@Base 1.0\n"
msgstr ""
"  common_symbol1@Base 1.0\n"
" (arch=amd64 ia64 alpha)#include \"Paket.symbols.64bit\"\n"
" (arch=!amd64 !ia64 !alpha)#include \"Paket.symbols.32bit\"\n"
"  common_symbol2@Base 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:340
msgid ""
"The symbols files are read line by line, and include directives are "
"processed as soon as they are encountered. This means that the content of "
"the included file can override any content that appeared before the include "
"directive and that any content after the directive can override anything "
"contained in the included file. Any symbol (or even another #include "
"directive) in the included file can specify additional tags or override "
"values of the inherited tags in its tag specification. However, there is no "
"way for the symbol to remove any of the inherited tags."
msgstr ""
"Die Symboldateien werden Zeile für Zeile gelesen und include-Direktiven "
"werden bearbeitet, sobald sie erkannt werden. Das bedeutet, dass der Inhalt "
"der Include-Datei jeden Inhalt überschreiben kann, der vor der Include-"
"Direktive aufgetaucht ist und Inhalt nach der Direktive alles aus der "
"Include-Datei überschreiben kann. Jedes Symbol (oder sogar weitere #include-"
"Direktiven) in der Include-Datei kann zusätzliche Kennzeichnungen "
"spezifizieren oder Werte der vererbtgen Kennzeichnungen in ihrer "
"Kennzeichnungsspezifikation überschreiben. Allerdings gibt es keine "
"Möglichkeit für ein Symbol, die ererbten Kennzeichnungen zu überschreiben."

#. type: Plain text
#: dpkg-gensymbols.1:345
msgid ""
"An included file can repeat the header line containing the SONAME of the "
"library. In that case, it overrides any header line previously read.  "
"However, in general it's best to avoid duplicating header lines. One way to "
"do it is the following:"
msgstr ""
"Eine eingebundene Datei kann die Kopfzeile wiederholen, die den SONAME der "
"Bibliothek enthält. In diesem Fall überschreibt sie jede vorher gelesene "
"Kopfzeile. Allerdings ist es im Allgemeinen am Besten, die Wiederholung von "
"Kopfzeilen zu vermeiden. Ein Weg dies zu erreichen, ist wie folgt:"

#. type: Plain text
#: dpkg-gensymbols.1:348
#, no-wrap
msgid ""
"#include \"libsomething1.symbols.common\"\n"
" arch_specific_symbol@Base 1.0\n"
msgstr ""
"#include \"libirgendwas1.symbols.common\"\n"
" arch_spezifisches_Symbol@Base 1.0\n"

#. type: SS
#: dpkg-gensymbols.1:348
#, no-wrap
msgid "Good library management"
msgstr "Gute Bibliotheksverwaltung"

#. type: Plain text
#: dpkg-gensymbols.1:351
msgid "A well-maintained library has the following features:"
msgstr "Eine gut verwaltete Bibliothek hat die folgenden Eigenschaften:"

#. type: Plain text
#: dpkg-gensymbols.1:355
msgid ""
"its API is stable (public symbols are never dropped, only new public symbols "
"are added) and changes in incompatible ways only when the SONAME changes;"
msgstr ""
"seine API ist stabil (öffentliche Symbole entfallen nie, nur neue "
"öffentliche Symbole werden hinzugefügt) und inkompatible Änderungen erfolgen "
"nur, wenn sich der SONAME ändert,"

#. type: Plain text
#: dpkg-gensymbols.1:358
msgid ""
"ideally, it uses symbol versioning to achieve ABI stability despite internal "
"changes and API extension;"
msgstr ""
"idealerweise verwendet sie Symbolversionierung, um ABI-Stabilität trotz "
"interner Änderungen und API-Erweiterungen zu erreichen,"

#. type: Plain text
#: dpkg-gensymbols.1:361
msgid ""
"it doesn't export private symbols (such symbols can be tagged optional as "
"workaround)."
msgstr ""
"sie exportiert nie private Symbole (als Hilfslösung können diese als "
"optional gekennzeichnet werden)."

#. type: Plain text
#: dpkg-gensymbols.1:369
msgid ""
"While maintaining the symbols file, it's easy to notice appearance and "
"disappearance of symbols. But it's more difficult to catch incompatible API "
"and ABI change. Thus the maintainer should read thoroughly the upstream "
"changelog looking for cases where the rules of good library management have "
"been broken. If potential problems are discovered, the upstream author "
"should be notified as an upstream fix is always better than a Debian "
"specific work-around."
msgstr ""
"Bei der Verwaltung der Symboldatei kann das Auftauchen und Verschwinden von "
"Symbolen leicht bemerkt werden. Es ist aber schwieriger, inkompatbile API- "
"und ABI-Änderungen zu bemerken. Daher sollte der Betreuer intensiv die "
"Changelog-Einträge durchschauen und nach Fällen suchen, in denen die Regeln "
"der guten Bibliotheksverwaltung gebrochen wurden. Falls mögliche Probleme "
"entdeckt wurden, sollten der Originalautor informiert werden, da eine "
"Korrektur vom Originalautor immer besser als eine Debian-spezifische "
"Hilfslösung ist."

#. type: TP
#: dpkg-gensymbols.1:370
#, no-wrap
msgid "B<-P>I<package-build-dir>"
msgstr "B<-P>I<Paketbauverzeichnis>"

#. type: Plain text
#: dpkg-gensymbols.1:373
msgid "Scan I<package-build-dir> instead of debian/tmp."
msgstr "Suche nach I<Paketbauverzeichnis> statt nach debian/tmp."

#. type: Plain text
#: dpkg-gensymbols.1:377
msgid ""
"Define the package name. Required if more than one binary package is listed "
"in debian/control (or if there's no debian/control file)."
msgstr ""
"Definiert den Paketnamen. Benötigt, falls mehr als ein binäres Paket in "
"debian/control aufgeführt ist (oder falls es keine Datei debian/control "
"gibt)."

#. type: Plain text
#: dpkg-gensymbols.1:381
msgid ""
"Define the package version. Defaults to the version extracted from debian/"
"changelog. Required if called outside of a source package tree."
msgstr ""
"Definiert die Paketversion. Standardmäßig wird eie Version aus debian/"
"changelog ausgelesen. Benötigt, falls der Aufruf außerhalb des "
"Quellpaketbaums erfolgt."

#. type: TP
#: dpkg-gensymbols.1:381
#, no-wrap
msgid "B<-e>I<library-file>"
msgstr "B<-e>I<Bibliotheksdatei>"

#. type: Plain text
#: dpkg-gensymbols.1:387
msgid ""
"Only analyze libraries explicitly listed instead of finding all public "
"libraries. You can use a regular expression in I<library-file> to match "
"multiple libraries with a single argument (otherwise you need multiple B<-"
"e>)."
msgstr ""
"Nur die explizit aufgeführten Bibliotheken untersuchen statt alle "
"öffentlichen Bibliotheken zu finden. Sie können einen regulären Ausdruck in "
"I<Bibliotheksdatei> verwenden, um mehrere Bibliotheken mit einem einzelnen "
"Argument zu passen (andernfalls benötigen Sie mehrere B<-e>)."

#. type: TP
#: dpkg-gensymbols.1:387
#, no-wrap
msgid "B<-I>I<filename>"
msgstr "B<-I>I<Dateiname>"

#. type: Plain text
#: dpkg-gensymbols.1:391
msgid ""
"Use I<filename> as reference file to generate the symbols file that is "
"integrated in the package itself."
msgstr ""
"Verwende I<Dateiname> als Referenzdatei, um die Symboldatei zu erstellen, "
"die dann im Paket selbst integriert wird."

#. type: Plain text
#: dpkg-gensymbols.1:395
msgid ""
"Print the generated symbols file to standard output, rather than being "
"stored in the package build tree."
msgstr ""
"Gebe die erstellte Symboldatei in die Standardausgabe aus statt sie im "
"Paketbaubaum zu speichern."

#. type: TP
#: dpkg-gensymbols.1:395
#, no-wrap
msgid "B<-O>I<filename>"
msgstr "B<-O>I<Dateiname>"

#. type: Plain text
#: dpkg-gensymbols.1:401
msgid ""
"Store the generated symbols file as I<filename>. If I<filename> is pre-"
"existing, its content is used as basis for the generated symbols file.  You "
"can use this feature to update a symbols file so that it matches a newer "
"upstream version of your library."
msgstr ""
"Speichere die erstellte Symboldatei unter I<Dateiname>. Falls I<Dateiname> "
"bereits existiert, wird deren Inhalt als Grundlage für die erstellte "
"Symboldatei verwandt. Sie können diese Funktionalität benutzen, um eine "
"Symboldatei zu aktualisieren, so dass sie zu einer neueren Version der "
"Originalautoren Ihrer Bibliothek passt."

#. type: TP
#: dpkg-gensymbols.1:401
#, no-wrap
msgid "B<-t>"
msgstr "B<-t>"

#. type: Plain text
#: dpkg-gensymbols.1:410
msgid ""
"Write the symbol file in template mode rather than the format compatible "
"with I<deb-symbols(5)>. The main difference is that in the template mode "
"symbol names and tags are written in their original form contrary to the "
"post-processed symbol names with tags stripped in the compatibility mode.  "
"Moreover, some symbols might be omitted when writing a standard I<deb-symbols"
"(5)> file (according to the tag processing rules) while all symbols are "
"always written to the symbol file template."
msgstr ""
"Schreibe die Symboldatei im Vorlagenmodus statt im zu I<deb-symbols(5)> "
"kompatiblen Format. Der Hauptunterschied besteht darin, dass im "
"Vorlagenmodus die Symbolnamen und Kennzeichnungen in ihrer Originalform "
"geschrieben werden, im Gegensatz zu den verarbeiteten Symbolnamen mit "
"entfernen Kennzeichnungen im Kompatibilitätsmodus. Desweiteren könnten "
"einige Symbole beim Schreiben einer Standard I<deb-symbols(5)>-Datei "
"entfernt werden (gemäß der Verarbeitungsregeln für Kennzeichen), während in "
"der Symboldateivorlage immer alle Symbole geschrieben werden."

#. type: TP
#: dpkg-gensymbols.1:410
#, no-wrap
msgid "B<-c>I<[0-4]>"
msgstr "B<-c>I<[0-4]>"

#. type: Plain text
#: dpkg-gensymbols.1:418
msgid ""
"Define the checks to do when comparing the generated symbols file with the "
"template file used as starting point. By default the level is 1. Increasing "
"levels do more checks and include all checks of lower levels. Level 0 never "
"fails. Level 1 fails if some symbols have disappeared. Level 2 fails if some "
"new symbols have been introduced. Level 3 fails if some libraries have "
"disappeared. Level 4 fails if some libraries have been introduced."
msgstr ""
"Definiert die Prüfungen, die beim Vergleich der erstellten Symboldatei mit "
"der Vorlagendatei als Startpunkt erfolgen sollen. Standardardstufe ist 1. "
"Zunehmende Stufen führen mehr Prüfungen durch und enthalten alle Prüfungen "
"der niedrigeren Stufen. Stufe 0 schlägt nie fehl. Stufe 1 schlägt fehl, wenn "
"einige Symbole verschwunden sind. Stufe 2 schlägt fehlt, falls einige neue "
"Symbole eingeführt wurden. Stufe 3 schlägt fehl, falls einige Bibliotheken "
"verschwunden sind. Stufe 4 schlägt fehl, falls einige Bibliotheken "
"hinzugekommen sind."

#. type: Plain text
#: dpkg-gensymbols.1:421
msgid ""
"This value can be overridden by the environment variable "
"DPKG_GENSYMBOLS_CHECK_LEVEL."
msgstr ""
"Dieser Wert kann von der Umgebungsvariablen DPKG_GENSYMBOLS_CHECK_LEVEL "
"überschrieben werden."

# oder -> und vor Zeile "keine Warnung"
#. type: Plain text
#: dpkg-gensymbols.1:427
msgid ""
"Keep quiet and never generate a diff between generated symbols file and the "
"template file used as starting point or show any warnings about new/lost "
"libraries or new/lost symbols. This option only disables informational "
"output but not the checks themselves (see I<-c> option)."
msgstr ""
"Ruhig verhalten und nie einen Diff zwischen der erstellten Symboldatei und "
"der als Startpunkt verwandten Vorlagendatei erstellen oder keine Warnungen "
"bezüglich neuer/verlorender Bibliotheken oder neuer/verlorender Symbole "
"ausgeben. Diese Option deaktiviert nur die informative Ausgabe aber nicht "
"die Prüfungen selbst (sehen Sie hierzu die Option I<-c>)."

#. type: TP
#: dpkg-gensymbols.1:427
#, no-wrap
msgid "B<-a>I<arch>"
msgstr "B<-a>I<Architektur>"

#. type: Plain text
#: dpkg-gensymbols.1:432
msgid ""
"Assume I<arch> as host architecture when processing symbol files. Use this "
"option to generate a symbol file or diff for any architecture provided its "
"binaries are already available."
msgstr ""
"Nehme I<Arch> als Host-Architektur beim Verarbeiten der Symboldateien an. "
"Verwenden Sie diese Option, um Symboldateien oder Diffs für beliebige "
"Architekturen zu erstellen, vorausgesetzt, die Binärprogramme sind bereits "
"verfügbar."

#. type: Plain text
#: dpkg-gensymbols.1:437
msgid ""
"Enable debug mode. Numerous messages are displayed to explain what B<dpkg-"
"gensymbols> does."
msgstr ""
"Debug-Modus aktivieren. Eine Vielzahl von Nachrichten wird angezeigt, um zu "
"erklären, was B<dpkg-gensymbols> durchführt."

#. type: TP
#: dpkg-gensymbols.1:437
#, no-wrap
msgid "B<-V>"
msgstr "B<-V>"

#. type: Plain text
#: dpkg-gensymbols.1:443
msgid ""
"Enable verbose mode. The generated symbols file contains deprecated symbols "
"as comments. Furthermore in template mode, pattern symbols are followed by "
"comments listing real symbols that have matched the pattern."
msgstr ""
"Ausführlichen Modus aktivieren. Die erstellte Symboldatei enthält veraltete "
"Symbole als Kommentare. Im Vorlagenmodus werden Mustersymbole desweiteren "
"von Kommentaren gefolgt, die die echten Symbole aufführen, die auf dieses "
"Muster passen."

#. type: Plain text
#: dpkg-gensymbols.1:452
msgid "B<http://people.redhat.com/drepper/symbol-versioning>"
msgstr "B<http://people.redhat.com/drepper/symbol-versioning>"

#. type: Plain text
#: dpkg-gensymbols.1:454
msgid "B<http://people.redhat.com/drepper/goodpractice.pdf>"
msgstr "B<http://people.redhat.com/drepper/goodpractice.pdf>"

#. type: Plain text
#: dpkg-gensymbols.1:456
msgid "B<http://people.redhat.com/drepper/dsohowto.pdf>"
msgstr "B<http://people.redhat.com/drepper/dsohowto.pdf>"

#. type: Plain text
#: dpkg-gensymbols.1:459
msgid "B<deb-symbols>(5), B<dpkg-shlibdeps>(1)."
msgstr "B<deb-symbols>(5), B<dpkg-shlibdeps>(1)."

#. type: Plain text
#: dpkg-gensymbols.1:462
msgid "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-maintscript-helper.1:1
#, no-wrap
msgid "dpkg-maintscript-helper"
msgstr "dpkg-maintscript-helper"

#. type: Plain text
#: dpkg-maintscript-helper.1:4
msgid ""
"dpkg-maintscript-helper - works around known dpkg limitations in maintainer "
"scripts"
msgstr ""
"dpkg-maintscript-helper - Bekannte Einschränkungen in Dpkg in "
"Betreuerskripten umgehen"

#. type: Plain text
#: dpkg-maintscript-helper.1:8
msgid ""
"B<dpkg-maintscript-helper> I<command> [I<parameter>...] B<--> I<maint-script-"
"parameter>..."
msgstr ""
"B<dpkg-maintscript-helper> I<Befehl> [I<Parameter>...] B<--> I<Betr-Skript-"
"Parameter>..."

#. type: SH
#: dpkg-maintscript-helper.1:9
#, no-wrap
msgid "COMMANDS AND PARAMETERS"
msgstr "BEFEHLE UND PARAMETER"

#. type: Plain text
#: dpkg-maintscript-helper.1:12
msgid "B<rm_conffile> I<conffile> [I<lastversion> [I<package>]]"
msgstr "B<rm_conffile> I<Conffile> [I<letzteVersion> [I<Paket>]]"

#. type: Plain text
#: dpkg-maintscript-helper.1:14
msgid ""
"B<mv_conffile> I<oldconffile> I<newconffile> [I<lastversion> [I<package>]]"
msgstr ""
"B<mv_conffile> I<AlteConffile> I<NeueConffile> [I<letzteVersion> [I<Paket>]]"

#. type: Plain text
#: dpkg-maintscript-helper.1:20
msgid ""
"This program is designed to be run within maintainer scripts to achieve some "
"tasks that dpkg can't (yet) handle natively either because of design "
"decisions or due to current limitations."
msgstr ""
"Dieses Programm wurde so entworfen, dass es in Betreuerskripten ausgeführt "
"werden kann, um einige Aufgaben zu erledigen, die Dpkg (noch) nicht selbst "
"erledigen kann, entweder aufgrund von Design-Entscheidungen oder aufgrund "
"aktueller Einschränkungen."

#. type: Plain text
#: dpkg-maintscript-helper.1:27
msgid ""
"Many of those tasks require coordinated actions from several maintainer "
"scripts (B<preinst>, B<postinst>, B<prerm>, B<postrm>). To avoid mistakes "
"the same call simply needs to be put in all scripts and the program will "
"automatically adapt its behaviour based on the environment variable "
"B<DPKG_MAINTSCRIPT_NAME> and on the maintainer scripts arguments that you "
"have to forward after a double dash."
msgstr ""
"Viele dieser Aufgaben benötigen koordinierte Aktionen aus mehreren "
"Betreuerskripten (B<preinst>, B<postinst>, B<prerm>, B<postrm>). Um Fehler "
"zu vermeiden, wird der gleiche Aufruf einfach in alle Skripte eingefügt und "
"das Programm wird sein Verhalten automatisch abhängig von der Variable "
"B<DPKG_MAINTSCRIPT_NAME> und den Argumenten im Betreuerskript, die Sie nach "
"einem doppelten Schrägstrich übergeben müssen, anpassen."

#. type: SH
#: dpkg-maintscript-helper.1:28
#, no-wrap
msgid "CONFFILE RELATED TASKS"
msgstr "CONFFILE-BEZOGENE AUFGABEN"

#. type: Plain text
#: dpkg-maintscript-helper.1:38
msgid ""
"When upgrading a package, dpkg will not automatically remove a conffile (a "
"configuration file for which dpkg should preserve user changes) if it is not "
"present in the newer version. There are two principal reasons for this; the "
"first is that the conffile could've been dropped by accident and the next "
"version could restore it, users wouldn't want their changes thrown away. The "
"second is to allow packages to transition files from a dpkg-maintained "
"conffile to a file maintained by the package's maintainer scripts, usually "
"with a tool like debconf or ucf."
msgstr ""
"Beim Upgrade eines Pakets wird Dpkg ein Conffile (eine Konfigurationsdatei, "
"bei der Dpkg die Änderungen des Benutzers erhalten soll) nicht automatischen "
"entfernen, falls sie nicht in der neueren Version enthalten ist. Es gibt "
"zwei Hauptgründe dafür; der erste ist, dass die Conffile versehentlich "
"entfallen sein und die nächste Version sie wieder herstellen könnte und die "
"Benutzer die Änderung nicht weggeworfen sehen wollen. Der zweite besteht "
"darin, dass Paketen erlaubt werden soll, von einer Dpkg-betreuten Conffile "
"auf eine Datei, die von den Betreuerskripten des Pakets, normalerweise mit "
"einem Werkzeug wie Debconf oder Ucf, verwaltet wird, umzustellen."

#. type: Plain text
#: dpkg-maintscript-helper.1:43
msgid ""
"This means that if a package is intended to rename or remove a conffile, it "
"must explicitly do so and B<dpkg-maintscript-helper> can be used to "
"implement graceful deletion and moving of conffiles within maintainer "
"scripts."
msgstr ""
"Das bedeutet, falls ein Paket eine Conffile umbenennen oder entfernen soll, "
"muss es dies explizit durchführen und B<dpkg-maintscript-helper> kann dazu "
"verwandt werden, eine sanfte Löschung und Verschiebung von Conffiles "
"innerhalb von Betreuerskripten durchzuführen."

#. type: SS
#: dpkg-maintscript-helper.1:44
#, no-wrap
msgid "REMOVING A CONFFILE"
msgstr "EINE CONFFILE ENTFERNEN"

#. type: Plain text
#: dpkg-maintscript-helper.1:50
msgid ""
"If a conffile is completely removed, it should be removed from disk, unless "
"the user has modified it. If there are local modifications, they should be "
"preserved. If the package upgrades aborts, the newly obsolete conffile "
"should not disappear."
msgstr ""
"Falls eine Conffile komplett entfernt wird, sollte sie von der Platte "
"entfernt werden, falls der Benutzer sie nicht verändert hat. Falls es lokale "
"Anpassungen gibt, sollten diese erhalten werden. Falls das Upgrade des "
"Pakets abgebrochen wird, sollte die neuerdings veraltete Conffile nicht "
"verschwinden."

#. type: Plain text
#: dpkg-maintscript-helper.1:53
msgid ""
"All of this is implemented by putting the following shell snippet in the "
"B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""
"All dies wird durch Einsetzen der folgenden Shell-Schnipsel in die "
"Betreuerskripte B<preinst>, B<postinst> und B<postrm> implementiert:"

#. type: Plain text
#: dpkg-maintscript-helper.1:56
#, no-wrap
msgid ""
"    dpkg-maintscript-helper rm_conffile \\e\n"
"        I<conffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""
"    dpkg-maintscript-helper rm_conffile \\e\n"
"        I<Conffile> I<letzteVersion> I<Paket> -- \"$@\"\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:66
msgid ""
"I<conffile> is the filename of the conffile to remove.  I<lastversion> is "
"the last version of the package that contained the conffile (or the last "
"version of the package that did not take care to remove the obsolete "
"conffile if this was not immediately implemented).  If I<lastversion> is "
"empty or omitted, then the operation is tried on every upgrade. I<package> "
"is the package name, it's optional as it will default to "
"$DPKG_MAINTSCRIPT_PACKAGE (this variable is set by dpkg to the name of the "
"package acted upon). All the parameters of the maintainer scripts have to be "
"forwarded to the program after \"--\"."
msgstr ""
"I<Conffile> ist der Dateiname der zu entfernenden Conffile. I<letzteVersion> "
"ist die letzte Version des Pakets, das die Conffile enthielt (oder die "
"letzte Version des Pakets, das sich nicht darum kümmerte, die veraltete "
"Conffile zu löschen, falls dies nicht sofort implementiert wurde). Falls "
"I<letzteVersion> leer oder entfallen ist wird die Durchführung bei jedem "
"Upgrade versucht. I<Paket> ist der Paketname. Er ist optional, da er "
"standardmäßig mit $DPKG_MAINTSCRIPT_PACKAGE belegt ist (diese Variable wird "
"von Dpkg auf den Namen des momentan in Bearbeitung befindlichen Pakets "
"gesetzt). Alle Parameter des Betreuerskripts müssen nach »--« an das "
"Programm weitergeleitet werden."

#. type: Plain text
#: dpkg-maintscript-helper.1:75
msgid ""
"Current implementation: in the B<preinst>, it checks if the conffile was "
"modified and renames it either to I<conffile>B<.dpkg-remove> (if not "
"modified) or to I<conffile>B<.dpkg-backup> (if modified). In the "
"B<postinst>, the latter file is renamed to I<conffile>B<.dpkg-bak> and kept "
"for reference as it contains user modifications but the former will be "
"removed. If the package upgrade aborts, the B<postrm> reinstalls the "
"original conffile. During purge, the B<postrm> will also delete the B<.dpkg-"
"bak> file kept up to now."
msgstr ""
"Aktuelle Implementierung: im B<preinst> wird geprüft, ob die Conffile "
"geändert wurde. Dann wird sie entweder in I<Conffile>B<.dpkg-remove> (falls "
"sie nicht geändert wurde) oder in I<Conffile>B<.dpkg-backup> (falls sie "
"geändert wurde) umbenannt. Im B<postinst> wird letztere in I<Conffile>B<."
"dpkg-bak> umbenannt und als Referenz behalten, da sie Benutzeränderungen "
"enthält, während erstere entfernt wird. Falls das Upgrade des Pakets "
"abgebrochen wird, reinstalliert B<postrm> die ursprüngliche Conffile. "
"Während des vollständigen Löschens wird B<postrm> auch die bisher behaltene "
"Datei B<.dpkg-bak> entfernen."

#. type: SS
#: dpkg-maintscript-helper.1:76
#, no-wrap
msgid "RENAMING A CONFFILE"
msgstr "EINE CONFFILE UMBENENNEN"

#. type: Plain text
#: dpkg-maintscript-helper.1:83
msgid ""
"If a conffile is moved from one location to another, you need to make sure "
"you move across any changes the user has made. This may seem a simple change "
"to the B<preinst> script at first, however that will result in the user "
"being prompted by dpkg to approve the conffile edits even though they are "
"not responsible of them."
msgstr ""
"Falls eine Conffile von einem Ort zu einem anderen verschoben wird, müssen "
"Sie sicherstellen, dass Sie auch alle Änderungen des Benutzers mit "
"übernehmen. Anfänglich erscheint dies als einfache Änderung am Skript "
"B<preinst>, allerdings wird dies dazu führen, dass der Benutzer von Dpkg "
"aufgefordert wird, die Bearbeitung der Conffile zu bestätigen, obwohl sie "
"für diese gar nicht verantwortlich sind."

#. type: Plain text
#: dpkg-maintscript-helper.1:87
msgid ""
"Graceful renaming can be implemented by putting the following shell snippet "
"in the B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""
"Sanfte Umbenennung kann durch Einsetzen der folgenden Shell-Schnipsel in die "
"Betreuerskripte B<preinst>, B<postinst> und B<postrm> implementiert werden:"

#. type: Plain text
#: dpkg-maintscript-helper.1:90
#, no-wrap
msgid ""
"    dpkg-maintscript-helper mv_conffile \\e\n"
"        I<oldconffile> I<newconffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""
"    dpkg-maintscript-helper mv_conffile \\e\n"
"        I<alteConffile> I<neueConffile> I<letzteVersion> I<Paket> -- \"$@\"\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:100
msgid ""
"I<oldconffile> and I<newconffile> are the old and new name of the conffile "
"to rename. I<lastversion> is the last version of the package that contained "
"the conffile with the old name. If I<lastversion> is empty or omitted, then "
"the operation is tried on every upgrade (note: it's safer to give the "
"version and have the operation tried only once). I<package> is the package "
"name, it's optional as it will default to $DPKG_MAINTSCRIPT_PACKAGE (this "
"variable is set by dpkg to the name of the package acted upon). All the "
"parameters of the maintainer scripts have to be forwarded to the program "
"after \"--\"."
msgstr ""
"I<alteConffile> und I<neueConffile> sind der alte und der neue Name der "
"umzubenennenden Conffile. I<letzteVersion> ist die letzte Version des "
"Pakets, die die Conffile mit dem alten Namen enthielt. Falls "
"I<letzteVersion> leer oder entfallen ist, wird die Durchführung bei jedem "
"Upgrade versucht (Hinweis: Es ist sicherer, die Version anzugeben und die "
"Durchführung nur einmal versuchen zu lassen). I<Paket> ist der Paketname. Er "
"ist optional, da er standardmäßig mit $DPKG_MAINTSCRIPT_PACKAGE belegt ist "
"(diese Variable wird von Dpkg auf den Namen des momentan in Bearbeitung "
"befindlichen Pakets gesetzt). Alle Parameter des Betreuerskripts müssen nach "
"»--« an das Programm weitergeleitet werden."

#. type: Plain text
#: dpkg-maintscript-helper.1:108
msgid ""
"Current implementation: the B<preinst> checks if the conffile has been "
"modified, if yes it's left on place otherwise it's renamed to "
"I<oldconffile>B<.dpkg-remove>. On configuration, the B<postinst> removes "
"I<oldconffile>B<.dpkg-remove> and renames I<oldconffile> to I<newconffile> "
"if I<oldconffile> is still available. On abort-upgrade/abort-install, the "
"B<postrm> renames I<oldconffile>B<.dpkg-remove> back to I<oldconffile> if "
"required."
msgstr ""
"Aktuelle Implementierung: das B<preinst> überprüft, ob die Conffile "
"verändert wurde, falls ja, verbleibt sie am Platz, andernfalls wird sie in "
"I<alteConffile>B<.dpkg-remove> umbenannt. Bei der Konfiguration entfernt das "
"B<postinst> I<alteConffile>B<.dpkg-remove> und bennent I<alteConffile> in "
"I<neueConffile> um, falls I<alteConffile> noch existiert. Falls abort-"
"upgrade/abort-install eintritt, benennt das B<postrm> wieder "
"I<alteConffile>B<.dpkg-remove> in I<alteConffile> zurück, falls notwendig."

#. type: SH
#: dpkg-maintscript-helper.1:109
#, no-wrap
msgid "INTEGRATION IN PACKAGES"
msgstr "INTEGRATION IN PAKETE"

#. type: Plain text
#: dpkg-maintscript-helper.1:116
msgid ""
"Given that B<dpkg-maintscript-helper> is used in the B<preinst>, using it "
"unconditionally requires a pre-dependency to ensure that the required "
"version of dpkg has been unpacked before. The required version depends on "
"the command used, for B<rm_conffile> and B<mv_conffile> it is 1.15.7.2:"
msgstr ""
"Da B<dpkg-maintscript-helper> im B<preinst> verwandt wird, benötigt der "
"bedingungslose Einsatz eine pre-Abhängigkeit (I<pre-dependency>), um "
"sicherzustellen, dass die Mindestversion von Dpkg breits entpackt wurde. Die "
"benötigte Version hängt vom verwandten Befehl ab, für B<rm_conffile> und "
"B<mv_conffile> lautet sie 1.15.7.2:"

#. type: Plain text
#: dpkg-maintscript-helper.1:118
#, no-wrap
msgid "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"
msgstr "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:123
msgid ""
"But in many cases the operation done by the program is not critical for the "
"package, and instead of using a pre-dependency we can call the program only "
"if we know that the required command is supported by the currently installed "
"dpkg:"
msgstr ""
"In vielen Fällen sind aber die Ausführungen des Programms für das Paket "
"nicht kritisch und statt einer pre-Abhängigkeit soll das Programm nur "
"aufgerufen werden, falls bekannt ist, dass der benötigte Befehl vom derzeit "
"installierten Dpkg unterstützt wird:"

#. type: Plain text
#: dpkg-maintscript-helper.1:127
#, no-wrap
msgid ""
"    if dpkg-maintscript-helper supports I<command>; then\n"
"        dpkg-maintscript-helper I<command> ...\n"
"    fi\n"
msgstr ""
"    if dpkg-maintscript-helper supports I<command>; then\n"
"        dpkg-maintscript-helper I<command> ...\n"
"    fi\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:130
msgid "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"

#. type: Plain text
#: dpkg-maintscript-helper.1:132
msgid "Copyright \\(co 2008 Joey Hess"
msgstr "Copyright \\(co 2008 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:134
msgid "Copyright \\(co 2007 Guillem Jover"
msgstr "Copyright \\(co 2007 Guillem Jover"

#. type: Plain text
#: dpkg-maintscript-helper.1:136
msgid "Copyright \\(co 2005 Scott James Remnant"
msgstr "Copyright \\(co 2005 Scott James Remnant"

#. type: TH
#: dpkg-mergechangelogs.1:1
#, no-wrap
msgid "dpkg-mergechangelogs"
msgstr "dpkg-mergechangelogs"

#. type: Plain text
#: dpkg-mergechangelogs.1:4
msgid "dpkg-mergechangelogs - 3-way merge of debian/changelog files"
msgstr ""
"dpkg-mergechangelogs - 3-Wege-Zusammenführung von debian/changelog-Dateien"

#. type: Plain text
#: dpkg-mergechangelogs.1:8
msgid ""
"B<dpkg-mergechangelogs> [I<option>...] I<old> I<new-a> I<new-b> [I<out>]"
msgstr ""
"B<dpkg-mergechangelogs> [I<Option>...] I<alt> I<neu-a> I<neu-b> [I<Ausgabe>]"

#. type: Plain text
#: dpkg-mergechangelogs.1:15
msgid ""
"This program will use the 3 provided versions of the Debian changelog to "
"generate a merged changelog file. The resulting changelog is stored in the "
"file I<out> or output to the standard output if that parameter is not given."
msgstr ""
"Dieses Programm wird die drei bereitgestellten Versionen des Debian-"
"Changelogs verwenden, um eine zusammengeführte Changelog-Datei zu erstellen. "
"Das resultierende Changelog wird in der Datei I<Ausgabe> gespeichert oder an "
"die Standardausgabe ausgegeben, falls dieser Parameter fehlt."

#. type: Plain text
#: dpkg-mergechangelogs.1:26
msgid ""
"Each entry is identified by its version number and they are assumed to be "
"not conflicting, they are simply merged in the right order (by decreasing "
"version number). When B<--merge-prereleases> is used, the part of the "
"version number after the last tilde is dropped so that 1.0-1~exp1 and "
"1.0-1~exp5 are considered to be the same entry. When the same version is "
"available in both I<new-a> and I<new-b>, a standard line-based 3-way merge "
"is attempted (provided that the module Algorithm::Merge is available \\[em] "
"it's part of the package libalgorithm-merge-perl \\[em] otherwise you get a "
"global conflict on the content of the entry)."
msgstr ""
"Jeder Eintrag wird durch seine Versionsnummer identifiziert und es wird "
"angenommen, dass sie nicht im Konflikt stehen, sie werden einfach in der "
"richtigen Reihenfolge eingemischt (in absteigender Reihenfolge). Wenn B<--"
"merge-prereleases> verwandt wird, wird der Anteil der Versionsnummer nach "
"der letzten Tilde entfernt, so dass 1.0-1~exp1 und 1.0-1~exp5 als gleicher "
"Eintrag angenommen werden. Wenn die gleiche Version sowohl in I<neu-a> als "
"auch in I<neu-b> verfügbar ist, wird eine normale, zeilenbasierte 3-Wege-"
"Zusammenführung versucht (vorausgesetzt, dass das Modul Algorithm::Merge "
"verfügbar ist \\[em] es ist Teil des Pakets libalgorithm-merge-perl \\[em] "
"andernfalls erhalten Sie einen globalen Konflikt im Inhalt des Eintrags)."

#. type: TP
#: dpkg-mergechangelogs.1:28
#, no-wrap
msgid "B<--merge-prereleases>, B<-m>"
msgstr "B<--merge-prereleases>, B<-m>"

#. type: Plain text
#: dpkg-mergechangelogs.1:33
msgid ""
"Drop the part after the last tilde in the version number when doing version "
"comparison to identify if two entries are supposed to be the same or not."
msgstr ""
"Entfernt den Teil nach der letzten Tilde in der Versionsnummer beim "
"Versionsvergleich, um festzustellen, ob zwei Einträge identisch sein sollen "
"oder nicht."

#. type: Plain text
#: dpkg-mergechangelogs.1:38
msgid ""
"This is useful when you keep using the same changelog entry but you increase "
"its version number regularly. For instance, you might have 2.3-1~exp1, "
"2.3-1~exp2, ... until the official release 2.3-1 and they are all the same "
"changelog entry that has evolved over time."
msgstr ""
"Dies ist nützlich, wenn Sie den gleichen Changelog-Eintrag beibehalten, aber "
"regelmäßig die Versionsnummer erhöhen. Beispielsweise könnten Sie "
"2.3-1~exp1, 2.3-1~exp2, ... bis zur offiziellen Veröffentlichung 2.3-1 "
"verwenden und alle enthalten den gleichen Changelog-Eintrag, der sich im "
"Laufe der Zeit entwickelt hat."

#. type: SH
#: dpkg-mergechangelogs.1:45
#, no-wrap
msgid "LIMITATIONS"
msgstr "EINSCHRÄNKUNGEN"

#. type: Plain text
#: dpkg-mergechangelogs.1:50
msgid ""
"Anything that is not parsed by Dpkg::Changelog is lost during the merge.  "
"This might include stuff like vim modelines, comments which were not "
"supposed to be there, etc."
msgstr ""
"Alles, was nicht von Dpkg::Changelog ausgewertet werden kann, geht beim "
"Zusammenführen verloren. Dies betrifft Zeug wie Modelines von Vim, "
"Kommentare, die eigentlich nicht da sein sollten, usw."

#. type: SH
#: dpkg-mergechangelogs.1:51
#, no-wrap
msgid "INTEGRATION WITH GIT"
msgstr "INTEGRATION MIT GIT"

#. type: Plain text
#: dpkg-mergechangelogs.1:56
msgid ""
"If you want to use this program to merge Debian changelog files in a git "
"repository, you have first to register a new merge driver in B<.git/config> "
"or B<~/.gitconfig>:"
msgstr ""
"Falls Sie dieses Programm dazu verwenden möchten, Debian-Changelog-Dateien "
"in einem Git-Depot zusammenzuführen, müssen Sie zuerst einen neuen Merge-"
"Driver in B<.git/config> oder in B<~/.gitconfig> registrieren:"

#. type: Plain text
#: dpkg-mergechangelogs.1:60
#, no-wrap
msgid ""
" [merge \"dpkg-mergechangelogs\"]\n"
"     name = debian/changelog merge driver\n"
"     driver = dpkg-mergechangelogs -m %O %A %B %A\n"
msgstr ""
" [merge \"dpkg-mergechangelogs\"]\n"
"     name = debian/changelog merge driver\n"
"     driver = dpkg-mergechangelogs -m %O %A %B %A\n"

#. type: Plain text
#: dpkg-mergechangelogs.1:64
msgid ""
"Then you have to setup the merge attribute for the debian/changelog file "
"either in B<.gitattributes> in the repository itself, or in B<.git/info/"
"attributes>:"
msgstr ""
"Dann müssen Sie entweder in B<.gitattributes> im Depot selbst oder in B<.git/"
"info/attributes> das Merge-Attribut für die Datei debian/changelog "
"einrichten:"

#. type: Plain text
#: dpkg-mergechangelogs.1:66
#, no-wrap
msgid " debian/changelog merge=dpkg-mergechangelogs\n"
msgstr " debian/changelog merge=dpkg-mergechangelogs\n"

#. type: Plain text
#: dpkg-mergechangelogs.1:68
msgid "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-name.1:6
#, no-wrap
msgid "dpkg-name"
msgstr "dpkg-name"

#. type: Plain text
#: dpkg-name.1:9
msgid "dpkg-name - rename Debian packages to full package names"
msgstr "dpkg-name - Debian-Pakete zu vollen Paketnamen umbenennen"

#. type: Plain text
#: dpkg-name.1:15
msgid "B<dpkg-name> [I<option>...] [B<-->] I<file>..."
msgstr "B<dpkg-name> [I<Option>...] [B<-->] I<Datei>..."

#. type: Plain text
#: dpkg-name.1:29
msgid ""
"This manual page documents the B<dpkg-name> program which provides an easy "
"way to rename B<Debian> packages into their full package names. A full "
"package name consists of I<package>B<_>I<version>B<_>I<architecture>B<."
">I<package-type> as specified in the control file of the package. The "
"I<version> part of the filename consists of the upstream version information "
"optionally followed by a hyphen and the revision information. The I<package-"
"type> part comes from that field if present or fallbacks to B<deb>."
msgstr ""
"Diese Handbuchseite dokumentiert das B<dpkg-name>-Programm, das eine "
"einfache Möglichkeit bereitstellt, B<Debian>-Pakete in ihren vollen "
"Paketnamen umzubenennen. Ein voller Paketname besteht aus "
"I<Paket>B<_>I<Version>B<_>I<Architektur>B<.>I<Pakettyp> wie in der "
"Steuerdatei des Pakets spezifiziert. Der I<Version>-Teil des Dateinamens "
"besteht aus der Versionsinformation der Originalautoren optional gefolgt von "
"einem Gedankenstrich und der Revisionsinformation. Der I<Pakettyp>-Teil "
"entstammt dem Feld I<package_type> (falls vorhanden) oder wird auf B<deb> "
"gesetzt."

#. type: TP
#: dpkg-name.1:31
#, no-wrap
msgid "B<-a>, B<--no-architecture>"
msgstr "B<-a>, B<--no-architecture>"

#. type: Plain text
#: dpkg-name.1:34
msgid "The destination filename will not have the architecture information."
msgstr "Der Zieldateiname wird keine Architekturinformation enthalten."

#. type: TP
#: dpkg-name.1:34
#, no-wrap
msgid "B<-k>, B<--symlink>"
msgstr "B<-k>, B<--symlink>"

#. type: Plain text
#: dpkg-name.1:37
msgid "Create a symlink, instead of moving."
msgstr "Lege einen Symlink an, anstatt zu verschieben."

#. type: TP
#: dpkg-name.1:37
#, no-wrap
msgid "B<-o>, B<--overwrite>"
msgstr "B<-o>, B<--overwrite>"

#. type: Plain text
#: dpkg-name.1:41
msgid ""
"Existing files will be overwritten if they have the same name as the "
"destination filename."
msgstr ""
"Existierende Dateien werden überschrieben, falls sie den gleichen Namen wie "
"der Zieldateiname haben."

#. type: TP
#: dpkg-name.1:41
#, no-wrap
msgid "B<-s>, B<--subdir> [I<dir>]"
msgstr "B<-s>, B<--subdir> [I<Verzeichnis>]"

#. type: Plain text
#: dpkg-name.1:53
msgid ""
"Files will be moved into a subdirectory. If the directory given as argument "
"exists the files will be moved into that directory otherwise the name of the "
"target directory is extracted from the section field in the control part of "
"the package. The target directory will be `unstable/binary-I<architecture>/"
"I<section>'. If the section is not found in the control, then `no-section' "
"is assumed, and in this case, as well as for sections `non-free' and "
"`contrib' the target directory is `I<section>/binary-I<architecture>'. The "
"section field isn't required so a lot of packages will find their way to the "
"`no-section' area. Use this option with care, it's messy."
msgstr ""
"Dateien werden in ein Unterverzeichnis verschoben. Falls das als Argument "
"existierende Verzeichnis existiert, dann werden die Dateien in das "
"Verzeichnis verschoben, andernfalls wird das Zielverzeichnis aus dem "
"»section«-Feld des Steuerteils des Pakets extrahiert. Das Zielverzeichnis "
"wird »unstable/binary-I<Architektur>/I<Bereich>« sein. Falls der Bereich "
"nicht in der Steuerdatei gefunden werden kann, dann wird »no-section« "
"angenommen, und in diesem Fall, wie auch für die Bereiche »non-free« und "
"»contrib« ist das Zielverzeichnis »I<Bereich>/binary-I<Architektur>«. Das "
"Bereichsfeld muss nicht angegeben werden, daher werden viele Pakete ihren "
"Weg in das »no-section«-Gebiet finden. Verwenden Sie diese Option mit "
"Vorsicht, sie ist unordentlich."

#. type: TP
#: dpkg-name.1:53
#, no-wrap
msgid "B<-c>, B<--create-dir>"
msgstr "B<-c>, B<--create-dir>"

#. type: Plain text
#: dpkg-name.1:58
msgid ""
"This option can used together with the -s option. If a target directory "
"isn't found it will be created automatically.  B<Use this option with care.>"
msgstr ""
"Diese Option kann zusammen mit der Option -s verwendet werden. Falls das "
"Zielverzeichnis nicht gefunden werden kann, wird es automatisch angelegt. "
"B<Verwenden Sie diese Option mit Vorsicht.>"

#. type: TP
#: dpkg-name.1:61
#, no-wrap
msgid "B<-v>, B<--version>"
msgstr "B<-v>, B<--version>"

#. type: TP
#: dpkg-name.1:66
#, no-wrap
msgid "B<dpkg-name bar-foo.deb>"
msgstr "B<dpkg-name bar-foo.deb>"

#. type: Plain text
#: dpkg-name.1:71
msgid ""
"The file `bar-foo.deb' will be renamed to bar-foo_1.0-2_i386.deb or "
"something similar (depending on whatever information is in the control part "
"of `bar-foo.deb')."
msgstr ""
"Die Datei »bar-foo.deb« wird in bar-foo_1.0-2_i386.deb oder etwas ähnliches "
"(abhängig von der Information, die in dem Steuerteil von »bar-foo.deb« ist) "
"umbenannt."

#. type: TP
#: dpkg-name.1:71
#, no-wrap
msgid "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>"
msgstr "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>"

#. type: Plain text
#: dpkg-name.1:76
msgid ""
"All files with the extension `deb' in the directory /root/debian and its "
"subdirectory's will be renamed by dpkg-name if required into names with no "
"architecture information."
msgstr ""
"Alle Dateien mit der Endung »deb« im Verzeichnis /root/debian und seiner "
"Unterverzeichnisse werden von dpkg-name - falls notwendig - ohne "
"Architekturinformation umbenannt."

#. type: TP
#: dpkg-name.1:76
#, no-wrap
msgid "B<find -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a -o -s -c>"
msgstr "B<find -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a -o -s -c>"

#. type: Plain text
#: dpkg-name.1:82
msgid ""
"B<Don't do this.> Your archive will be messed up completely because a lot of "
"packages don't come with section information.  B<Don't do this.>"
msgstr ""
"B<Machen Sie dies nicht.> Ihr Archiv wird eine komplette Schweinerei werden, "
"da viele Pakete nicht mit Bereichsinformationen kommen. B<Machen Sie dies "
"nicht.>"

#. type: TP
#: dpkg-name.1:82
#, no-wrap
msgid "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"
msgstr "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"

#. type: Plain text
#: dpkg-name.1:85
msgid "This can be used when building new packages."
msgstr "Dies kann beim Bau neuer Pakete verwendet werden."

#. type: Plain text
#: dpkg-name.1:95
msgid ""
"Some packages don't follow the name structure "
"I<package>B<_>I<version>B<_>I<architecture>B<.deb>.  Packages renamed by "
"dpkg-name will follow this structure. Generally this will have no impact on "
"how packages are installed by B<dselect>(1)/B<dpkg>(1), but other "
"installation tools might depend on this naming structure."
msgstr ""
"Einige Pakete folgen nicht der Namensstruktur "
"I<Paket>B<_>I<Version>B<_>I<Architektur>B<.deb>. Pakete, die von dpkg-name "
"umbenannt wurden, folgen dieser Struktur. Im Allgemeinen hat diese keinen "
"Einfluss darauf, wie Pakete von B<dselect>(1)/B<dpkg>(1) installiert werden, "
"aber andere Installationswerkzeuge können von dieser Benennungsstruktur "
"abhängen."

#. type: Plain text
#: dpkg-name.1:103
msgid ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."
msgstr ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."

#. type: Plain text
#: dpkg-name.1:106
msgid "Copyright \\(co 1995,1996 Erick Branderhorst"
msgstr "Copyright \\(co 1995,1996 Erick Branderhorst"

#. type: TH
#: dpkg-parsechangelog.1:1
#, no-wrap
msgid "dpkg-parsechangelog"
msgstr "dpkg-parsechangelog"

#. type: Plain text
#: dpkg-parsechangelog.1:4
msgid "dpkg-parsechangelog - parse Debian changelog files"
msgstr "dpkg-parsechangelog - auswerten von Debian changelog-Dateien"

#. type: Plain text
#: dpkg-parsechangelog.1:8
msgid "B<dpkg-parsechangelog> [I<option>...]"
msgstr "B<dpkg-parsechangelog> [I<Option>...]"

#. type: Plain text
#: dpkg-parsechangelog.1:14
msgid ""
"B<dpkg-parsechangelog> reads and parses the changelog of an unpacked Debian "
"source tree and outputs the information in it to standard output in a "
"machine-readable form."
msgstr ""
"B<dpkg-parsechangelog> liest das Änderungsprotokoll (»changelog«) eines "
"entpackten Debian-Quellcodebaums ein, wertet diese aus und gibt die "
"Informationen in der Standard-Ausgabe in maschinenlesbarer Form aus."

#. type: TP
#: dpkg-parsechangelog.1:26
#, no-wrap
msgid "B<-L>I<libdir>"
msgstr "B<-L>I<libverzeichnis>"

#. type: Plain text
#: dpkg-parsechangelog.1:33
msgid ""
"Specify an additional directory to search for parser scripts.  This "
"directory is searched before the default directories which are currently B</"
"usr/local/lib/dpkg/parsechangelog> and B</usr/lib/dpkg/parsechangelog>."
msgstr ""
"Spezifiziere ein zusätzliches Verzeichnis, dass nach Parser-Skripten "
"durchsucht werden soll. Diese Verzeichnis wird vor den "
"Standardverzeichnissen (derzeit B</usr/local/lib/dpkg/parsechangelog> und B</"
"usr/lib/dpkg/parsechangelog>) durchsucht."

#. type: SS
#: dpkg-parsechangelog.1:39
#, no-wrap
msgid "Parser Options"
msgstr "Parser-Optionen:"

#. type: Plain text
#: dpkg-parsechangelog.1:44
msgid ""
"The following options can be used to influence the output of the changelog "
"parser, e.g. the range of entries or the format of the output. They need to "
"be supported by the parser script in question. See also B<CAVEATS>."
msgstr ""
"Die folgenden Optionen können verwendet werden, um die Ausgabe des Changelog-"
"Parsers zu beinflussen, z.B. den Bereich der Einträge oder das Format der "
"Ausgabe. Sie müssen vom in Frage kommenden Parser-Skript unterstützt werden. "
"Lesen Sie auch B<WARNUNGEN>."

#. type: TP
#: dpkg-parsechangelog.1:44
#, no-wrap
msgid "B<--format>I< outputformat>"
msgstr "B<--format>I< Ausgabeformat>"

#. type: Plain text
#: dpkg-parsechangelog.1:53
msgid ""
"Set the output format. Currently supported values are I<dpkg> and "
"I<rfc822>.  I<dpkg> is the classic output format (from before this option "
"existed) and the default. It consists of one paragraph in Debian control "
"format (see B<deb-control>(5)). If more than one entry is requested, then "
"most fields are taken from the latest entry, except otherwise stated:"
msgstr ""
"Setze das Ausgabeformat. Derzeit werden die Werte I<dpkg> und I<rfc822> "
"unterstützt. I<dpkg> ist das klassische Ausgabeformat (es existiert länger "
"als diese Option), das voreingestellt ist. Es besteht aus einem Absatz im "
"Debian-Steuerformat (lesen Sie B<deb-control>(5)). Falls mehr als ein "
"Eintrag angefordert wird, dann werden die meisten Felder aus dem letzten "
"Eintrag verwendet, falls dies nicht anders angegeben wird:"

#. type: TP
#: dpkg-parsechangelog.1:54
#, no-wrap
msgid "B<Source:>I< pkg-name>"
msgstr "B<Source:>I< Paketname>"

#. type: TP
#: dpkg-parsechangelog.1:56
#, no-wrap
msgid "B<Version:>I< version>"
msgstr "B<Version:>I< Version>"

#. type: TP
#: dpkg-parsechangelog.1:58
#, no-wrap
msgid "B<Distribution:>I< target-distribution>"
msgstr "B<Distribution:>I< Ziel-Distribution>"

#. type: TP
#: dpkg-parsechangelog.1:60
#, no-wrap
msgid "B<Urgency:>I< urgency>"
msgstr "B<Urgency:>I< Dringlichkeit>"

#. type: Plain text
#: dpkg-parsechangelog.1:63
msgid "The highest urgency of all included entries is used."
msgstr "Die höchste Dringlichkeit aller enthaltenen Einträge wird verwendet."

#. type: TP
#: dpkg-parsechangelog.1:63
#, no-wrap
msgid "B<Maintainer:>I< author>"
msgstr "B<Maintainer:>I< Autor>"

#. type: TP
#: dpkg-parsechangelog.1:65
#, no-wrap
msgid "B<Date:>I< date>"
msgstr "B<Date:>I< Datum>"

#. type: TP
#: dpkg-parsechangelog.1:67
#, no-wrap
msgid "B<Closes:>I< bug-number>"
msgstr "B<Closes:>I< Fehlernummer>"

#. type: Plain text
#: dpkg-parsechangelog.1:70
msgid "The Closes fields of all included entries are merged."
msgstr "Die Felder »Closes« aller enthaltenen Einträge werden zusammengefasst."

#. type: TP
#: dpkg-parsechangelog.1:70
#, no-wrap
msgid "B<Changes:>I< changelog-entries>"
msgstr "B<Changes:>I< Changelog-Einträge>"

#. type: Plain text
#: dpkg-parsechangelog.1:77
msgid ""
"The text of all changelog entries is concatenated. To make this field a "
"valid Debian control format multiline field empty lines are replaced with a "
"single full stop and all lines is intended by one space character. The exact "
"content depends on the changelog format."
msgstr ""
"Der Text aller Changelog-Einträge wird aneinandergehängt. Um aus diesem Feld "
"ein gültiges mehrzeiliges Feld im Debian Steuer-Format zu bekomen, werden "
"leere Zeilen mit einem einzelnen Satzpunkt ersetzt und alle Zeilen durch ein "
"Leerzeichen eingerückt. Der genaue Inhalt hängt vom Changelog-Format ab."

#. type: Plain text
#: dpkg-parsechangelog.1:80
msgid "There might be additional user-defined fields present."
msgstr "Es können zusätzliche benutzerdefinierte Felder vorhanden sein."

#. type: Plain text
#: dpkg-parsechangelog.1:84
msgid ""
"The B<rfc822> format uses the same fields but outputs a separate paragraph "
"for each changelog entry so that all metadata for each entry is preserved."
msgstr ""
"Das B<rfc822>-Format verwendet die gleichen Felder, gibt aber einzelne "
"Absätze für jeden Changelog-Eintrag aus, so dass alle Metadaten für jeden "
"Eintrag erhalten bleiben."

#. type: TP
#: dpkg-parsechangelog.1:84
#, no-wrap
msgid "B<--since> I<version>, B<-s>I<version>,B< -v>I<version>"
msgstr "B<--since> I<Version>, B<-s>I<Version>,B< -v>I<Version>"

#. type: Plain text
#: dpkg-parsechangelog.1:87
msgid "include all changes later than I<version>."
msgstr "füge alle Änderungen neuer als aus I<Version> hinzu."

#. type: TP
#: dpkg-parsechangelog.1:87
#, no-wrap
msgid "B<--until> I<version>, B<-u>I<version>"
msgstr "B<--until> I<Version>, B<-u>I<Version>"

#. type: Plain text
#: dpkg-parsechangelog.1:90
msgid "include all changes earlier than I<version>."
msgstr "füge alle Änderungen älter als aus I<Version> hinzu."

#. type: TP
#: dpkg-parsechangelog.1:90
#, no-wrap
msgid "B<--from> I<version>, B<-f>I<version>"
msgstr "B<--from> I<Version>, B<-f>I<Version>"

#. type: Plain text
#: dpkg-parsechangelog.1:93
msgid "include all changes equal or later than I<version>."
msgstr "füge alle Änderungen aus oder neuer als aus I<Version> hinzu."

#. type: TP
#: dpkg-parsechangelog.1:93
#, no-wrap
msgid "B<--to> I<version>, B<-t>I<version>"
msgstr "B<--to> I<Version>, B<-t>I<Version>"

#. type: Plain text
#: dpkg-parsechangelog.1:96
msgid "include all changes up to or equal than I<version>."
msgstr "füge alle Änderungen aus oder älter als aus I<Version> hinzu."

#. type: TP
#: dpkg-parsechangelog.1:96
#, no-wrap
msgid "B<--count> I<number>, B<-c>I<number>, B<-n>I<number>"
msgstr "B<--count> I<Anzahl>, B<-c>I<Anzahl>, B<-n>I<Anzahl>"

#. type: Plain text
#: dpkg-parsechangelog.1:100
msgid ""
"include I<number> entries from the top (or the tail if I<number> is lower "
"than 0)."
msgstr ""
"füge I<Anzahl> Einträge vom Kopf (oder vom Fuß, falls I<Anzahl> negativ ist) "
"hinzu."

#. type: TP
#: dpkg-parsechangelog.1:100
#, no-wrap
msgid "B<--offset> I<number>, B<-o>I<number>"
msgstr "B<--offset> I<Zahl>, B<-o>I<Zahl>"

#. type: Plain text
#: dpkg-parsechangelog.1:104
msgid ""
"change the starting point for --count, counted from the top (or the tail if "
"I<number> is lower than 0)."
msgstr ""
"ändere den Startpunkt für --count, gezählt vom Kopf (oder Fuß falls, falls "
"I<Zahl> negativ ist)."

#. type: TP
#: dpkg-parsechangelog.1:104 update-alternatives.8:268
#, no-wrap
msgid "B<--all>"
msgstr "B<--all>"

#. type: Plain text
#: dpkg-parsechangelog.1:108
msgid ""
"include all changes. Note: other options have no effect when this is in use."
msgstr ""
"alle Änderungen aufnehmen. Hinweis: Andere Optionen haben keine Wirkung, "
"wenn diese verwandt wird."

#. type: Plain text
#: dpkg-parsechangelog.1:114
msgid ""
"All B<Parser Options> except for -v are only supported in B<dpkg>, version "
"1.14.16 and later. Third party parsers for changelog formats other than "
"I<debian> might not support all options."
msgstr ""
"Alle B<Parser-Optionen> außer -v werden nur von B<dpkg> Version 1.14.16 oder "
"neuer unterstützt. Parser von Dritten für Changelog-Formate außer I<debian> "
"könnten nicht alle Optionen unterstützen."

#. type: TP
#: dpkg-parsechangelog.1:116
#, no-wrap
msgid "B<debian/changelog>"
msgstr "B<debian/changelog>"

#. type: Plain text
#: dpkg-parsechangelog.1:122
msgid ""
"The changelog file, used to obtain version-dependent information about the "
"source package, such as the urgency and distribution of an upload, the "
"changes made since a particular release, and the source version number "
"itself."
msgstr ""
"Die changelog-Datei wird verwendet, um versionsabhängige Informationen über "
"das Quellpaket, wie beispielsweise die Dringlichkeit (»urgency«) und die "
"Distribution des Uploads, die Änderungen seit einer bestimmten "
"Veröffentlichung und die Quellversionsnummer selbst zu erhalten."

#. type: Plain text
#: dpkg-parsechangelog.1:129
msgid "Copyright \\(co 2007, 2008 Frank Lichtenheld"
msgstr "Copyright \\(co 2007, 2008 Frank Lichtenheld"

#. type: TH
#: dpkg-query.1:1
#, no-wrap
msgid "dpkg-query"
msgstr "dpkg-query"

#. type: Plain text
#: dpkg-query.1:4
msgid "dpkg-query - a tool to query the dpkg database"
msgstr "dpkg-query - ein Werkzeug, um die dpkg-Datenbank abzufragen"

#. type: Plain text
#: dpkg-query.1:8
msgid "B<dpkg-query> [I<option>...] I<command>"
msgstr "B<dpkg-query> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-query.1:12
msgid ""
"B<dpkg-query> is a tool to show information about packages listed in the "
"B<dpkg> database."
msgstr ""
"B<dpkg-query> ist ein Werkzeug, um Informationen über Pakete zu zeigen, die "
"in der B<dpkg>-Datenbank aufgeführt sind."

#. type: TP
#: dpkg-query.1:14
#, no-wrap
msgid "B<-l>, B<--list> [I<package-name-pattern>...]"
msgstr "B<-l>, B<--list> [I<Paketname-Muster> ...]"

#. type: Plain text
#: dpkg-query.1:24
msgid ""
"List packages matching given pattern. If no I<package-name-pattern> is "
"given, list all packages in I</var/lib/dpkg/status>, excluding the ones "
"marked as not-installed (i.e. those which have been previously purged). "
"Normal shell wildchars are allowed in I<package-name-pattern>. Please note "
"you will probably have to quote I<package-name-pattern> to prevent the shell "
"from performing filename expansion. For example this will list all package "
"names starting with ``libc6'':"
msgstr ""
"Liste Pakete auf, deren Namen auf ein bestimmtes Muster passt. Falls kein "
"I<Paketname-Muster> angegeben ist, liste alle Pakete in I</var/lib/dpkg/"
"status> auf. Dabei werden alle Pakete ausgeschlossen, die als »nicht-"
"installiert markiert sind (d.h. früher endgültig entfernt wurden). Beachten "
"Sie, dass Sie wahrscheinlich I<Paketname-Muster> durch Anführungszeichen "
"schützen müssen, um die Shell an der Dateinamen-Expansion zu hindern. "
"Folgender Befehl listet beispielsweise alle Paketnamen, die mit »libc6« "
"beginnen, auf:"

#. type: Plain text
#: dpkg-query.1:27
#, no-wrap
msgid "  B<dpkg-query -l \\(aqlibc6*\\(aq>\n"
msgstr "  B<dpkg-query -l \\(aqlibc6*\\(aq>\n"

#. type: Plain text
#: dpkg-query.1:31
msgid ""
"The first three columns of the output show the desired action, the package "
"status, and errors, in that order."
msgstr ""
"Die ersten drei Spalten der Ausgabe zeigen die gewünschte Aktion, den "
"Paketstatus und Fehler, in dieser Reihenfolge."

#. type: Plain text
#: dpkg-query.1:33
msgid "Desired action:"
msgstr "Gewünschte Aktion:"

#. type: Plain text
#: dpkg-query.1:39
#, no-wrap
msgid ""
"  u = Unknown\n"
"  i = Install\n"
"  h = Hold\n"
"  r = Remove\n"
"  p = Purge\n"
msgstr ""
"  u = Unbekannt\n"
"  i = Installieren\n"
"  h = Halten\n"
"  r = Entfernen\n"
"  p = Vollständig Löschen\n"

#. type: Plain text
#: dpkg-query.1:42
msgid "Package status:"
msgstr "Paketstatus:"

#. type: Plain text
#: dpkg-query.1:51
#, no-wrap
msgid ""
"  n = Not-installed\n"
"  c = Config-files\n"
"  H = Half-installed\n"
"  U = Unpacked\n"
"  F = Half-configured\n"
"  W = Triggers-awaiting\n"
"  t = Triggers-pending\n"
"  i = Installed\n"
msgstr ""
"  n = Nicht installiert\n"
"  c = Config-Datei\n"
"  H = Halb installiert\n"
"  U = Entpackt\n"
"  F = Fehlgeschl. Konfiguration\n"
"  W = Trigger erWartet\n"
"  t = Trigger anhängig\n"
"  i = Installiert\n"

#. type: Plain text
#: dpkg-query.1:54
msgid "Error flags:"
msgstr "Fehler-Schalter:"

#. type: Plain text
#: dpkg-query.1:57
#, no-wrap
msgid ""
"  E<lt>emptyE<gt> = (none)\n"
"  R = Reinst-required\n"
msgstr ""
"  E<lt>leerE<gt> = (kein)\n"
"  R = Neuinstallation notwendig\n"

#. type: Plain text
#: dpkg-query.1:62
msgid ""
"An uppercase status or error letter indicates the package is likely to cause "
"severe problems. Please refer to B<dpkg>(1) for information about the above "
"states and flags."
msgstr ""
"Ein Großbuchstabe als Status oder Fehler zeigt an, dass das Paket "
"wahrscheinlich schwere Fehler verursachen wird. Bitte lesen Sie B<dpkg>(1) "
"über die oben genannten Zustände und Schalter."

#. type: Plain text
#: dpkg-query.1:67
msgid ""
"The output format of this option is not configurable, but varies "
"automatically to fit the terminal width. It is intended for human readers, "
"and is not easily machine-readable. See B<-W> (B<--show>)  and B<--"
"showformat> for a way to configure the output format."
msgstr ""
"Das Ausgabeformat dieser Option kann nicht konfiguriert werden, variiert "
"aber automatisch mit der Terminalbreite. Die Ausgabe ist für menschliche "
"Leser gedacht und nicht leicht maschinenlesbar. Lesen Sie über die Optionen "
"B<-W> (B<--show>) und B<--showformat>, um das Ausgabeformat zu konfigurieren."

#. type: TP
#: dpkg-query.1:67
#, no-wrap
msgid "B<-W>, B<--show> [I<package-name-pattern>...]"
msgstr "B<-W>, B<--show> [I<Paketname-Muster> ...]"

#. type: Plain text
#: dpkg-query.1:74
msgid ""
"Just like the B<--list> option this will list all packages matching the "
"given pattern. However the output can be customized using the B<--"
"showformat> option.  The default output format gives one line per matching "
"package, each line having the name and installed version of the package, "
"separated by a tab."
msgstr ""
"Genau wie die B<--list>-Option wird dies alle Pakete, die auf das angegebene "
"Muster passen, aufführen. Allerdings kann die Ausgabe mit der B<--"
"showformat>-Option angepasst werden. Im Standardausgabeformat wird eine "
"Zeile pro passendem Paket ausgegeben, wobei in jeder Zeile Name und "
"installierte Version des Pakets getrennt durch einen Tabulator enthalten "
"sind."

#. type: TP
#: dpkg-query.1:74
#, no-wrap
msgid "B<-s>, B<--status> I<package-name>..."
msgstr "B<-s>, B<--status> I<Paketname> ..."

#. type: Plain text
#: dpkg-query.1:79
msgid ""
"Report status of specified package. This just displays the entry in the "
"installed package status database. When multiple I<package-name> are listed, "
"the requested status entries are separated by an empty line."
msgstr ""
"Berichte Zustand des angegebenen Paketes. Dies zeigt nur den Eintrag in der "
"Datenbank der Zustände der installierten Pakete. Wenn mehrere I<Paketname> "
"aufgeführt sind, werden die angeforderten Statuseinträge durch Leerzeilen "
"getrennt."

#. type: TP
#: dpkg-query.1:79
#, no-wrap
msgid "B<-L>, B<--listfiles> I<package-name>..."
msgstr "B<-L>, B<--listfiles> I<Paketname> ..."

#. type: Plain text
#: dpkg-query.1:85
msgid ""
"List files installed to your system from I<package-name>. When multiple "
"I<package-name> are listed, the requested lists of files are separated by an "
"empty line. However, note that files created by package-specific "
"installation-scripts are not listed."
msgstr ""
"Aufführen von Dateien, die durch I<Paketname> installiert wurden. Wenn "
"mehrere I<Paketname> aufgeführt sind, werden die angeforderten Dateilisten "
"durch Leerzeilen getrennt. Beachten Sie aber, dass Dateien, die durch Paket-"
"spezifische Installationsskripte angelegt wurden, nicht aufgeführt werden."

#. type: TP
#: dpkg-query.1:85
#, no-wrap
msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgstr "B<-c>, B<--control-path> I<Paketname> [I<Steuerdatei>]"

#. type: Plain text
#: dpkg-query.1:93
msgid ""
"List paths for control files installed to your system from I<package-name>.  "
"If I<control-file> is specified then only list the path for that control "
"file if it is present. B<Warning>: this command is semi-public, it should be "
"used only as a last resort solution, and if no other interface is available. "
"It might get deprecated later on if better interfaces or the current "
"architectural deficiencies have been solved."
msgstr ""
"Listet die Pfade für Steuerdateien auf, die von I<Paketname> auf Ihrem "
"System installiert wurden. Falls I<Steuerdatei> angegeben wurde, liste nur "
"den Pfad für diese Steuerdatei auf, falls sie existiert. B<Warnung:>: Dieser "
"Befehl ist halb-öffentlich, er sollte nur als letzter Rettungsanker verwandt "
"werden, falls keine weitere Schnittstelle verfügbar ist. Er könnte später "
"veraltet werden, falls bessere Schnittstellen oder die aktuellen, "
"Architektur-bedingten Defizite gelöst wurden."

#. type: TP
#: dpkg-query.1:93
#, no-wrap
msgid "B<-S>, B<--search> I<filename-search-pattern>..."
msgstr "B<-S>, B<--search> I<Dateiname-Suchmuster> ..."

#. type: Plain text
#: dpkg-query.1:99
msgid ""
"Search for packages that own files corresponding to the given pattern.  "
"Standard shell wildchars can be used in the pattern.  This command will not "
"list extra files created by maintainer scripts, nor will it list "
"alternatives."
msgstr ""
"Suche nach Paketen, denen Paketen, die auf ein bestimmtes Muster passen, "
"gehören. Die normalen Jokerzeichen (»wildcards«) der Shell können in diesem "
"Muster verwandt werden. Dieser Befehl wird weder die zusätzlichen Dateien, "
"die durch Betreuer-Skripte angelegt wurden, noch Alternativen aufführen."

#. type: TP
#: dpkg-query.1:99
#, no-wrap
msgid "B<-p>, B<--print-avail> I<package-name>..."
msgstr "B<-p>, B<--print-avail> I<Paketname>"

#. type: Plain text
#: dpkg-query.1:105
msgid ""
"Display details about I<package-name>, as found in I</var/lib/dpkg/"
"available>. When multiple I<package-name> are listed, the requested "
"I<available> entries are separated by an empty line."
msgstr ""
"Zeige Details über I<Paketname> an, wie diese in I</var/lib/dpkg/available> "
"vorliegen. Wenn mehrere I<Paketname> aufgeführt sind, werden die "
"angeforderten I<available>-Einträge durch Leerzeilen getrennt."

#. type: Plain text
#: dpkg-query.1:110
msgid ""
"Users of APT-based frontends should use B<apt-cache show> I<package-name> "
"instead as the I<available> file is only kept up-to-date when using "
"B<dselect>."
msgstr ""
"Benutzer APT-basierter Oberflächen sollten B<apt-cache show> I<Paketname> "
"verwenden, da die Datei I<available> nur bei der Benutzung von B<dselect> "
"aktuell bleibt."

#. type: TP
#: dpkg-query.1:122
#, no-wrap
msgid "B<-f>, B<--showformat=>I<format>"
msgstr "B<-f>, B<--showformat=>I<Format>"

#. type: Plain text
#: dpkg-query.1:129
msgid "In the format string, \\(lqB<\\e>\\(rq introduces escapes:"
msgstr ""
"In der Formatzeichenkette leitet \\(lqB<\\e>\\(rq Escape-Sequenzen ein:"

#. type: Plain text
#: dpkg-query.1:134
#, no-wrap
msgid ""
"    B<\\en>  newline\n"
"    B<\\er>  carriage return\n"
"    B<\\et>  tab\n"
msgstr ""
"    B<\\en>  Zeilenumbruch\n"
"    B<\\er>  Wagenrücklauf\n"
"    B<\\et>  Tabulator\n"

#. type: Plain text
#: dpkg-query.1:139
msgid ""
"\\(lqB<\\e>\\(rq before any other character suppresses any special meaning "
"of the following character, which is useful for \\(lqB<\\e>\\(rq and \\(lqB<"
"$>\\(rq."
msgstr ""
"\\(lqB<\\e>\\(rq vor einem anderen Zeichen unterdrückt jede spezielle "
"Bedeutung des folgenden Zeichens. Dies ist für \\(lqB<\\e>\\(rq und \\(lqB<$>"
"\\(rq nützlich."

#. type: Plain text
#: dpkg-query.1:147
msgid ""
"Package information can be included by inserting variable references to "
"package fields using the syntax \\(lqB<${>I<field>[B<;>I<width>]B<}>\\(rq. "
"Fields are printed right-aligned unless the width is negative in which case "
"left alignment will be used. The following I<field>s are recognised but they "
"are not necessarily available in the status file (only internal fields or "
"fields stored in the binary package end up in it):"
msgstr ""
"Paketinformationen können einbezogen werden, indem Variablenreferenzen auf "
"Paketfelder eingefügt werden. Hierbei wird folgende Syntax verwendet: \\(lqB<"
"${>I<Feld>[B<;>I<Breite>]B<}>\\(rq. Felder werden rechtsbündig ausgegeben, "
"falls die Breite nicht negativ ist und somit linksbündige Ausgabe erfolgt. "
"Die folgenden I<Feld>er werden verstanden, sind aber nicht notwendigerweise "
"in der Status-Datei verfügbar (nur interne Felder oder Felder, die im "
"Binärpaket abgespeichert sind, landen dort):"

#. type: Plain text
#: dpkg-query.1:182
#, no-wrap
msgid ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (internal)\n"
"    B<Config-Version> (internal)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (internal, front-end related)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (internal, front-end related)\n"
"    B<MSDOS-Filename> (internal, front-end related)\n"
"    B<Maintainer>\n"
"    B<Origin>\n"
"    B<Package>\n"
"    B<Pre-Depends>\n"
"    B<Priority>\n"
"    B<Provides>\n"
"    B<Recommends>\n"
"    B<Replaces>\n"
"    B<Revision> (obsolete)\n"
"    B<Section>\n"
"    B<Size> (internal, front-end related)\n"
"    B<Source>\n"
"    B<Status> (internal)\n"
"    B<Suggests>\n"
"    B<Tag> (usually not in the .deb but in the repository Packages files)\n"
"    B<Triggers-Awaited> (internal)\n"
"    B<Triggers-Pending> (internal)\n"
"    B<Version>\n"
msgstr ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (intern)\n"
"    B<Config-Version> (intern)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (intern, Oberflächen-bezogen)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (intern, Oberflächen-bezogen)\n"
"    B<MSDOS-Filename> (intern, Oberflächen-bezogen)\n"
"    B<Maintainer>\n"
"    B<Origin>\n"
"    B<Package>\n"
"    B<Pre-Depends>\n"
"    B<Priority>\n"
"    B<Provides>\n"
"    B<Recommends>\n"
"    B<Replaces>\n"
"    B<Revision> (veraltet)\n"
"    B<Section>\n"
"    B<Size> (intern, Oberflächen-bezogen)\n"
"    B<Source>\n"
"    B<Status> (intern)\n"
"    B<Suggests>\n"
"    B<Tag> (normalerweise nicht in dem .deb sondern in den Packages-Dateien des Depots\n"
"    B<Triggers-Awaited> (intern)\n"
"    B<Triggers-Pending> (intern)\n"
"    B<Version>\n"

#. type: Plain text
#: dpkg-query.1:190
msgid ""
"The default format string is \\(lqB<${Package}\\et${Version}\\en>\\(rq.  "
"Actually, all other fields found in the status file (i.e. user defined "
"fields) can be requested, too. They will be printed as-is, though, no "
"conversion nor error checking is done on them.  To get the name of the dpkg "
"maintainer and the installed version, you could run:"
msgstr ""
"Die Standard-Formatzeichenkette ist \\(lqB<${Package}\\et${Version}\\en>"
"\\(rq. Tatsächlich können auch alle anderen Felder, die in der Statusdatei "
"gefunden werden können (d.h. benutzerdefinierte Felder), abgefragt werden. "
"Sie werden so dargestellt, wie sie gefunden werden, es erfolgt keine "
"Umwandlung oder Fehlerüberprüfung. Um den Namen des Dpkg-Betreuers und die "
"installierte Version zu erhalten, könnten Sie folgendes ausführen:"

#. type: Plain text
#: dpkg-query.1:193
#, no-wrap
msgid "  B<dpkg-query -W -f=\\(aq${Package} ${Version}\\et${Maintainer}\\en\\(aq dpkg>\n"
msgstr "  B<dpkg-query -W -f=\\(aq${Package} ${Version}\\et${Maintainer}\\en\\(aq dpkg>\n"

#. type: SH
#: dpkg-query.1:195 dpkg-split.1:179 start-stop-daemon.8:259
#: update-alternatives.8:374
#, no-wrap
msgid "EXIT STATUS"
msgstr "RÜCKGABEWERT"

#. type: TP
#: dpkg-query.1:196 dpkg-split.1:180 start-stop-daemon.8:260
#: start-stop-daemon.8:289 update-alternatives.8:375
#, no-wrap
msgid "B<0>"
msgstr "B<0>"

#. type: Plain text
#: dpkg-query.1:199
msgid "The requested query was successfully performed."
msgstr "Die angeforderte Abfrage wurde erfolgreich ausgeführt."

#. type: TP
#: dpkg-query.1:199 dpkg-split.1:186 start-stop-daemon.8:270
#: start-stop-daemon.8:292
#, no-wrap
msgid "B<1>"
msgstr "B<1>"

#. type: Plain text
#: dpkg-query.1:203
msgid ""
"Problems were encountered while parsing the command line or performing the "
"query, including no file or package being found (except for --control-path)."
msgstr ""
"Beim Lesen der Kommandozeile oder beim Ausführen der Abfrage traten Probleme "
"auf. Dazu gehören auch keine Datei oder Paket gefunden (außer für --control-"
"path)."

#. type: Plain text
#: dpkg-query.1:213
msgid ""
"This setting influences the output of the B<--list> option by changing the "
"width of its output."
msgstr ""
"Diese Einstellung beeinflusst die Ausgabe der B<--list>-Option durch "
"Verändern der Breite ihrer Ausgabe."

#. type: Plain text
#: dpkg-query.1:216
msgid "Copyright \\(co 2001 Wichert Akkerman"
msgstr "Copyright \\(co 2001 Wichert Akkerman"

#. type: TH
#: dpkg-scanpackages.1:15
#, no-wrap
msgid "dpkg-scanpackages"
msgstr "dpkg-scanpackages"

#. type: Plain text
#: dpkg-scanpackages.1:18
msgid "dpkg-scanpackages - create Packages index files"
msgstr "dpkg-scanpackages - erstelle Packages-Index-Dateien"

#. type: Plain text
#: dpkg-scanpackages.1:26
msgid ""
"B<dpkg-scanpackages> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Packages>"
msgstr ""
"B<dpkg-scanpackages> [I<Option>...] I<Binär-Verz> [I<override-Datei> [I<Pfad-"
"Präfix>]] B<E<gt>> I<Pakete>"

#. type: Plain text
#: dpkg-scanpackages.1:39
msgid ""
"B<dpkg-scanpackages> sorts through a tree of Debian binary packages and "
"creates a Packages file, used by B<apt>(8), B<dselect>(1), etc, to tell the "
"user what packages are available for installation. These Packages files are "
"the same as those found on Debian archive sites and CD-ROMs. You might use "
"B<dpkg-scanpackages> yourself if making a directory of local packages to "
"install on a cluster of machines."
msgstr ""
"B<dpkg-scanpackages> schaut durch einen Baum von Debian-Binärpaketen und "
"erstellt eine Packages-Datei, die von B<apt>(8), B<dselect>(1) usw. "
"verwendet wird, um dem Benutzer zu erzählen, welche Pakete zur Installation "
"verfügbar sind. Diese Packages-Dateien sind die gleichen, die auch auf den "
"Debian-Archiv-Sites und CD-ROMs vorliegen. Sie können selbst B<dpkg-"
"scanpackages> verwenden, falls Sie ein Verzeichnis von lokalen Paketen zur "
"Installation auf einem Cluster von Maschinen anlegen."

#. type: Plain text
#: dpkg-scanpackages.1:51
msgid ""
"B<Note:> If you want to access the generated Packages file with B<apt> you "
"will probably need to compress the file with B<bzip2>(1)  (generating a "
"Packages.bz2 file) or B<gzip>(1)  (generating a Packages.gz file). apt "
"ignores uncompressed Packages files except on local access (i.e.  B<file://> "
"sources)."
msgstr ""
"B<Hinweis:> Falls Sie auf die erzeugte Packages-Datei mit B<apt> zugreifen "
"wollen, werden Sie wahrscheinlich die Datei mit B<bzip2>(1) komprimieren "
"müssen (und damit ein Packages.bz2-Datei erstellen). Apt ignoriert - "
"abgesehen von lokalem Zugriff (d.h. über B<file://>-Quellen) - "
"unkomprimierte Packages-Dateien."

#. type: Plain text
#: dpkg-scanpackages.1:58
msgid ""
"I<binarydir> is the name of the tree of the binary packages to process (for "
"example, B<contrib/binary-i386>).  It is best to make this relative to the "
"root of the Debian archive, because every Filename field in the new Packages "
"file will start with this string."
msgstr ""
"I<Binär-Verz> ist der Name des zu verarbeitenden Baums von Binärpaketen "
"(beispielsweise B<contrib/binary-i386>). Am besten wird dies relativ zur "
"Wurzel des Debian-Archivs erstellt, da jedes Filename-Feld in der neuen "
"Packages-Datei mit dieser Zeichenkette beginnen wird."

#. type: Plain text
#: dpkg-scanpackages.1:63
msgid ""
"I<overridefile> is the name of a file to read which contains information "
"about how the package fits into the distribution (it can be a compressed "
"file); see B<deb-override>(5)."
msgstr ""
"I<override-Datei> ist der Name einer einzulesenden Datei, die Informationen "
"darüber enthält, wie das Paket in die Distribution passt (sie kann eine "
"komprimierte Datei sein); siehe B<deb-override>(5)."

#. type: Plain text
#: dpkg-scanpackages.1:66
msgid ""
"I<pathprefix> is an optional string to be prepended to the Filename fields."
msgstr ""
"I<Pfad-Präfix> ist eine optionale Zeichenkette, die vor das Dateinamenfeld "
"gehängt werden soll."

#. type: Plain text
#: dpkg-scanpackages.1:70
msgid ""
"If more than one version of a package is found only the newest one is "
"included in the output. If they have the same version and only differ in "
"architecture only the first one found is used."
msgstr ""
"Falls mehr als eine Version eines Paketes gefunden wird, wird nur das neuste "
"in die Ausgabe aufgenommen. Falls sie die gleiche Version haben und sich nur "
"in der Architektur unterscheiden, wird das zuerst gefundene verwendet."

#. type: TP
#: dpkg-scanpackages.1:72
#, no-wrap
msgid "B<-t>, B<--type> I<type>"
msgstr "B<-t>, B<--type> I<Typ>"

#. type: Plain text
#: dpkg-scanpackages.1:75
msgid "Scan for *.I<type> packages, instead of *.deb."
msgstr "Suche nach *.I<Typ> statt *.deb-Paketen."

#. type: TP
#: dpkg-scanpackages.1:75
#, no-wrap
msgid "B<-u>, B<--udeb>"
msgstr "B<-u>, B<--udeb>"

#. type: Plain text
#: dpkg-scanpackages.1:78
msgid "B<Obsolete> alias for B<-tudeb>."
msgstr "B<Veralteter> Alias für B<-tudeb>."

#. type: IP
#: dpkg-scanpackages.1:78 dpkg-scansources.1:49
#, no-wrap
msgid "B<-e>, B<--extra-override> I<file>"
msgstr "B<-e>, B<--extra-override> I<Datei>"

#. type: Plain text
#: dpkg-scanpackages.1:84 dpkg-scansources.1:54
msgid ""
"Scan I<file> to find supplementary overrides (the file can be compressed). "
"See B<deb-extra-override>(5)  for more information on its format."
msgstr ""
"Durchsuche I<Datei>, um zusätzliche Overrides zu finden (die Datei kann "
"komprimiert sein). Lesen Sie B<deb-extra-override>(5) für weitere "
"Informationen über deren Format."

#. type: TP
#: dpkg-scanpackages.1:84
#, no-wrap
msgid "B<-a>, B<--arch> I<arch>"
msgstr "B<-a>, B<--arch> I<arch>"

#. type: Plain text
#: dpkg-scanpackages.1:88
msgid ""
"Use a pattern consisting of I<*_all.deb> and I<*_arch.deb> instead of "
"scanning for all debs."
msgstr ""
"Verwende ein Muster, das aus I<*_all.deb> und I<*_arch.deb> besteht, statt "
"nach allen Debs zu suchen."

#. type: TP
#: dpkg-scanpackages.1:88
#, no-wrap
msgid "B<-m>, B<--multiversion>"
msgstr "B<-m>, B<--multiversion>"

#. type: Plain text
#: dpkg-scanpackages.1:91
msgid "Include all found packages in the output."
msgstr "Nimm alle gefundenen Pakete in der Ausgabe auf."

#. type: TP
#: dpkg-scanpackages.1:91
#, no-wrap
msgid "B<-M>, B<--medium> I<id-string>"
msgstr "B<-M>, B<--medium> I<ID-Zeichenkette>"

#. type: Plain text
#: dpkg-scanpackages.1:96
msgid ""
"Add an X-Medium field containing the value I<id-string>. This field is "
"required if you want to generate B<Packages.cd> files for use by the multicd "
"access method of dselect."
msgstr ""
"Füge ein Feld X-Medium hinzu, das den Wert von I<ID-Zeichenkette> enthält. "
"Dieses Feld wird benötigt, falls Sie die Dateien B<Packages.cd> für den "
"Einsatz mit der Multicd-Zugriffsmethode von Dselect erstellen wollen."

#. type: SH
#: dpkg-scanpackages.1:103 update-alternatives.8:448
#, no-wrap
msgid "DIAGNOSTICS"
msgstr "DIAGNOSE"

#. type: Plain text
#: dpkg-scanpackages.1:109
msgid ""
"B<dpkg-scanpackages> outputs the usual self-explanatory errors. It also "
"warns about packages that are in the wrong subdirectory, are duplicated, "
"have a Filename field in their control file, are missing from the override "
"file, or have maintainer substitutions which do not take effect."
msgstr ""
"B<dpkg-scanpackages> gibt die gewöhnlichen selbsterklärenden Fehler aus. Es "
"warnt auch über Pakete, die im falschen Unterverzeichnis sind, doppelt "
"vorkommen, ein Filename-Feld in ihrer Steuerdatei haben, in der Override-"
"Datei fehlen oder für die Betreuer-Substitutionen vorliegen, die keinen "
"Effekt haben."

#. type: Plain text
#: dpkg-scanpackages.1:115
msgid ""
"B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<deb-extra-override>(5), "
"B<dpkg-scansources>(1)."
msgstr ""
"B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<deb-extra-override>(5), "
"B<dpkg-scansources>(1)."

#. type: TH
#: dpkg-scansources.1:1
#, no-wrap
msgid "dpkg-scansources"
msgstr "dpkg-scansources"

#. type: Plain text
#: dpkg-scansources.1:4
msgid "dpkg-scansources - create Sources index files"
msgstr "dpkg-scanpackages - erstelle Quell-Index-Dateien"

#. type: Plain text
#: dpkg-scansources.1:12
msgid ""
"B<dpkg-scansources> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Sources>"
msgstr ""
"B<dpkg-scansources> [I<Option>...] I<Binär-Verz> [I<override-Datei> [I<Pfad-"
"Prefix>]] B<E<gt>> I<Sources>"

#. type: Plain text
#: dpkg-scansources.1:17
msgid ""
"B<dpkg-scansources> scans the given I<binary-dir> for I<.dsc> files.  These "
"are used to create a Debian source index, which is output to stdout."
msgstr ""
"B<dpkg-scansources> durchsucht das übergebene I<Binär-Verz> nach I<.dsc>-"
"Dateien. Diese werden verwendet, um einen Debian-Quell-Index zu erstellen, "
"der auf der Standardausgabe ausgegeben wird."

#. type: Plain text
#: dpkg-scansources.1:28
msgid ""
"The I<override-file>, if given, is used to set priorities in the resulting "
"index records and to override the maintainer field given in the I<.dsc> "
"files. The file can be compressed. See B<deb-override>(5)  for the format of "
"this file. \\s-1NB:\\s0 Since the override file is indexed by binary, not "
"source, packages, there's a bit of a problem here. The current "
"implementation uses the highest priority of all the binary packages produced "
"by a I<.dsc> file for the priority of the source package, and the override "
"entry for the first binary package listed in the I<.dsc> file to modify "
"maintainer information. This might change."
msgstr ""
"Die I<override-Datei> wird, falls angegeben, verwendet, um die Prioritäten "
"in den ergebenen Index-Datensätzen zu setzen und sich über das Betreuer-Feld "
"in den I<.dsc>-Dateien hinwegzusetzen. Diese Datei kann komprimiert sein. "
"Lesen Sie B<dpkg-scanpackages>(1) für das Format dieser Datei. \\s-1Beachten "
"Sie\\s0: Da die override-Datei nach Binär- und nicht Quellpaketen indiziert "
"wird, gibt es hier ein kleines Problem. Die aktuelle Implementierung "
"verwendet die höchste Priorität aller von einer I<.dsc>-Datei erzeugten "
"Binärpakete für die Priorität des Quellpakets, und den Inhalt für das "
"Hinwegsetzen über die Betreuer-Information aus dem Eintrag für das erste in "
"der I<.dsc>-Datei aufgeführte Binärpaket. Dies könnte sich ändern."

#. type: Plain text
#: dpkg-scansources.1:32
msgid ""
"The I<path-prefix>, if given, is prepended to the directory field in the "
"generated source index. You generally use this to make the directory fields "
"contain the path from the top of the Debian archive hierarchy."
msgstr ""
"Der I<Pfad-Präfix> wird, falls angegeben, vor das Directory-Feld in dem "
"erzeugten Quell-Index vorangestellt. Sie verwenden dies im Allgemeinen, "
"damit das Directory-Feld den Pfad von der Spitze der Debian-Hierarchie "
"enthält."

#. type: Plain text
#: dpkg-scansources.1:43
msgid ""
"B<Note:> If you want to access the generated Sources file with B<apt>(8)  "
"you will probably need to compress the file with B<gzip>(1)  (generating a "
"Sources.gz file). apt ignores uncompressed Sources files except on local "
"access (i.e.  B<file://> sources)."
msgstr ""
"B<Hinweis:> Falls Sie auf die erzeugte Sources-Datei mit B<apt>(8) zugreifen "
"wollen, werden Sie wahrscheinlich die Datei mit B<gzip>(1) komprimieren "
"müssen (und damit ein Sources.gz-Datei erstellen). Apt ignoriert - abgesehen "
"von lokalem Zugriff (d.h. über B<file://>-Quellen) - unkomprimierte Sources-"
"Dateien."

#. type: IP
#: dpkg-scansources.1:45
#, no-wrap
msgid "B<-n>, B<--no-sort>"
msgstr "B<-n>, B<--no-sort>"

#. type: Plain text
#: dpkg-scansources.1:48
msgid ""
"Don't sort the index records. Normally they are sorted by source package "
"name."
msgstr ""
"Sortiere die Index-Datensätze nicht. Normalerweise werden sie nach "
"Quellpaketnamen sortiert."

#. type: IP
#: dpkg-scansources.1:54
#, no-wrap
msgid "B<-s>, B<--source-override> I<file>"
msgstr "B<-s>, B<--source-override> I<Datei>"

#. type: Plain text
#: dpkg-scansources.1:58
msgid ""
"Use I<file> as the source override file (the file can be compressed).  The "
"default is the name of the override file you specified with I<.src> appended."
msgstr ""
"Verwenden Sie I<Datei> als Quell-override-Datei (die Datei kann komprimiert "
"sein). Die Standardeinstellung ist der Name der override-Datei, die Sie "
"angegeben haben, um I<.src> ergänzt."

#. type: Plain text
#: dpkg-scansources.1:64
msgid ""
"The source override file is in a different format from the binary override "
"file. It contains only two whitespace separated fields, the first is the "
"source package name and the second is the section. Blank lines and comment "
"lines are ignored in the normal manner. If a package appears in both files "
"the source override takes precedence for setting the section."
msgstr ""
"Die Quell-override-Datei hat ein anderes Format als die Binär-override-Datei."
"Sie enthält nur zwei, durch Leerzeichen separierte Felder, der erste ist der "
"Quellpaketname und der zweite der Bereich. Leerzeilen und Kommentarzeilen "
"werden in normaler Art und Weise ignoriert. Falls ein Paket in beiden "
"Dateien auftaucht, dann nimmt die Quell-override Vorrang für die Einstellung "
"des Bereichs."

#. type: IP
#: dpkg-scansources.1:64
#, no-wrap
msgid "B<--debug>"
msgstr "B<--debug>"

#. type: Plain text
#: dpkg-scansources.1:66
msgid "Turn debugging on."
msgstr "Schalte Debugging ein."

#. type: Plain text
#: dpkg-scansources.1:75
msgid "B<deb-override>(5), B<deb-extra-override>(5), B<dpkg-scanpackages>(1)."
msgstr "B<deb-override>(5), B<deb-extra-override>(5), B<dpkg-scanpackages>(1)."

#. type: Plain text
#: dpkg-scansources.1:77
msgid "Roderick Schertler E<lt>roderick@argon.orgE<gt>"
msgstr "Roderick Schertler E<lt>roderick@argon.orgE<gt>"

#. type: TH
#: dpkg-shlibdeps.1:1
#, no-wrap
msgid "dpkg-shlibdeps"
msgstr "dpkg-shlibdeps"

#. type: Plain text
#: dpkg-shlibdeps.1:4
msgid "dpkg-shlibdeps - generate shared library substvar dependencies"
msgstr ""
"dpkg-shlibdeps - erstelle Substvar-Abhängigkeiten für Laufzeitbibliotheken"

#. type: Plain text
#: dpkg-shlibdeps.1:8
msgid "B<dpkg-shlibdeps> [I<option>...] [B<-e>]I<executable> [I<option>...]"
msgstr "B<dpkg-shlibdeps> [I<Option>...] [B<-e>]I<Programm> [I<Option>...]"

#. type: Plain text
#: dpkg-shlibdeps.1:22
msgid ""
"B<dpkg-shlibdeps> calculates shared library dependencies for executables "
"named in its arguments. The dependencies are added to the substitution "
"variables file B<debian/substvars> as variable names B<shlibs:"
">I<dependencyfield> where I<dependencyfield> is a dependency field name. Any "
"other variables starting with B<shlibs:> are removed from the file."
msgstr ""
"B<dpkg-shlibdeps> berechnet Abhängigkeiten von Laufzeitbibliotheken für "
"Programme, deren Name als Argument übergeben werden. Die Abhängigkeiten "
"werden zu der Datei der Substitutionsvariablen B<debian/substvars> als "
"Variablennamen B<shlibs:>I<Abhängigkeitsfeld> hinzugefügt, wobei "
"I<Abhängigkeitsfeld> der Feldname einer Abhängigkeit ist. Alle anderen "
"Variablen, die mit B<shlibs:> beginnen, werden aus der Datei entfernt."

#. type: Plain text
#: dpkg-shlibdeps.1:45
msgid ""
"B<dpkg-shlibdeps> has two possible sources of information to generate "
"dependency information. Either I<symbols> files or I<shlibs> files. For each "
"binary that B<dpkg-shlibdeps> analyzes, it finds out the list of libraries "
"that it's linked with.  Then, for each library, it looks up either the "
"I<symbols> file, or the I<shlibs> file (if the former doesn't exist or if "
"debian/shlibs.local contains the relevant dependency). Both files are "
"supposed to be provided by the library package and should thus be available "
"as /var/lib/dpkg/info/I<package>.I<symbols> or /var/lib/dpkg/info/I<package>."
"I<shlibs>. The package name is identified in two steps: find the library "
"file on the system (looking in the same directories that B<ld.so> would "
"use), then use B<dpkg -S >I<library-file> to lookup the package providing "
"the library."
msgstr ""
"B<dpkg-shlibdeps> hat zwei mögliche Informationsquellen zur Erstellung der "
"Abhängigkeitsinformationen. Entweder I<Symbol>- oder I<Shlibs>-Dateien. "
"B<dpkg-shlibdeps> findet für jedes Programm, das es analysiert, die "
"Bibliotheken heraus, gegen die es gelinkt ist. Bei jeder Bibliothek schaut "
"es entweder in die I<Symbol>- oder in in I<Shlibs>-Datei (falls erstere "
"nicht existiert odr falls debian/shlibs.local die relevanten Abhängigkeiten "
"enthält). Beide Dateien sollten von dem Bibliothekspaket bereitgestellt "
"werden und sollten daher als /var/lib/dpkg/info/I<Paket>.I<Symbol> oder /var/"
"lib/dpkg/info/I<Paket>.I<Shlibs> verfügbar sein. Der Paketname wird in zwei "
"Schritten identifiziert: zuerst wird die Bibliotheksdatei auf dem System "
"gefunden (durch Prüfung der gleichen Verzeichnisse wie bei B<ld.so>), dann "
"wird B<dpkg -S >I<Bibliotheksdatei> verwendet, um das Paket, das die "
"Bibliothek bereitstellt, zu ermitteln."

#. type: SS
#: dpkg-shlibdeps.1:45
#, no-wrap
msgid "Symbols files"
msgstr "Symboldateien"

#. type: Plain text
#: dpkg-shlibdeps.1:50
msgid ""
"Symbols files contain finer-grained dependency information by providing the "
"minimum dependency for each symbol that the library exports. The script "
"tries to find a symbols file associated to a library package in the "
"following places (first match is used):"
msgstr ""
"Symboldateien enthalten feiner-granulare Abhängigkeitsinformationen, indem "
"sie die Minimalabhängigkeit für jedes von der Bibliothek exportierte Symbol "
"beschreiben. Das Skript versucht, eine Symboldatei die zu dem "
"Bibliothekspaket gehört, an den folgenden Orten zuzuordnen (der erste "
"Treffer wird verwendet):"

#. type: IP
#: dpkg-shlibdeps.1:50
#, no-wrap
msgid "debian/*/DEBIAN/symbols"
msgstr "debian/*/DEBIAN/symbols"

#. type: Plain text
#: dpkg-shlibdeps.1:58
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are generated by B<dpkg-gensymbols>(1).  "
"They are only used if the library is found in a package's build tree. The "
"symbols file in that build tree takes precedence over symbols files from "
"other binary packages."
msgstr ""
"Informationen über Laufzeitbibliotheken, die vom aktuellen Bauprozess "
"erstellt werden, der auch B<dpkg-shlibdeps> aufruft. Sie werden von B<dpkg-"
"gensymbols>(1) erstellt. Sie werden nur verwendet, falls die Bibliothek im "
"Bau-Baum des Pakets gefunden wird. Die Symboldatei im Bau-Baum hat Vorrang "
"gegenüber Symboldateien aus anderen Binärpaketen."

#. type: IP
#: dpkg-shlibdeps.1:58
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols.I<arch>"
msgstr "/etc/dpkg/symbols/I<Paket>.symbols.I<Architektur>"

#. type: IP
#: dpkg-shlibdeps.1:59
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols"
msgstr "/etc/dpkg/symbols/I<Paket>.symbols"

#. type: Plain text
#: dpkg-shlibdeps.1:63
msgid ""
"Per-system overriding shared library dependency information.  I<arch> is the "
"architecture of the current system (obtained by B<dpkg-architecture -"
"qDEB_HOST_ARCH>)."
msgstr ""
"Systemabhängige Überschreibung der Abhängigkeitsinformationen von "
"Laufzeitbibliotheken. I<Architektur> ist die Architektur des aktuellen "
"Systems (ermittelt durch B<dpkg-architecture -qDEB_HOST_ARCH>)."

#. type: IP
#: dpkg-shlibdeps.1:63
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> symbols\\(rq"
msgstr "Ausgabe von \\(lqB<dpkg-query --control-path> I<Paket> symbols\\(rq"

#. type: Plain text
#: dpkg-shlibdeps.1:66 dpkg-shlibdeps.1:100
msgid ""
"Package-provided shared library dependency information.  Unless overridden "
"by --admindir, those files are located in /var/lib/dpkg."
msgstr ""
"Vom Paket bereitgestellte Abhängigkeitsinformationen für "
"Laufzeitbibliotheken. Falls nicht durch --admindir überschrieben, befinden "
"sich solche Dateien unter /var/lib/dpkg."

#. type: Plain text
#: dpkg-shlibdeps.1:73
msgid ""
"While scanning the symbols used by all binaries, B<dpkg-shlibdeps> remembers "
"the (biggest) minimal version needed for each library. At the end of the "
"process, it is able to write out the minimal dependency for every library "
"used (provided that the information of the I<symbols> files are accurate)."
msgstr ""
"Während des Durchsuchens aller vom Programm verwendeten Symbole erinnert "
"sich B<dpkg-shlibdeps> an die größte Minimalversion, die von jeder "
"Bibliothek benötigt wird. Am Ende des Prozesses ist es in der Lage, die "
"minimale Abhängigkeit für jede eingesetzte Bibliothek zu schreiben "
"(vorausgesetzt, die Informationen in den I<Symbol>-Dateien sind korrekt)."

#. type: Plain text
#: dpkg-shlibdeps.1:80
msgid ""
"As a safe-guard measure, a symbols file can provide a I<Build-Depends-"
"Package> meta-information field and B<dpkg-shlibdeps> will extract the "
"minimal version required by the corresponding package in the Build-Depends "
"field and use this version if it's higher than the minimal version computed "
"by scanning symbols."
msgstr ""
"Als Sicherheitsmaßnahme kann eine Symbols-Datei ein Meta-Informationsfeld "
"I<Build-Depends-Package> enthalten. B<dpkg-shlibdeps> extrahiert dann die "
"minimale Version, die von dem korrespondierenden Paket im Feld Build-Depends "
"benötigt wird, und verwendet diese Version, falls sie höher ist als die "
"minimale Version, die beim Durchsuchen der Symbole ermittelt wurde."

#. type: SS
#: dpkg-shlibdeps.1:80
#, no-wrap
msgid "Shlibs files"
msgstr "Shlibs-Dateien"

#. type: Plain text
#: dpkg-shlibdeps.1:84
msgid ""
"Shlibs files associate directly a library to a dependency (without looking "
"at the symbols). It's thus often stronger than really needed but very safe "
"and easy to handle."
msgstr ""
"Shlibs-Dateien ordnen Bibliotheken direkt Abhängigkeiten zu (ohne auf die "
"Symbole zu schauen). Daher ist dies oft stärker als benötigt, aber dafür "
"sicher und leicht zu handhaben."

#. type: Plain text
#: dpkg-shlibdeps.1:87
msgid ""
"The dependencies for a library are looked up in several places. The first "
"file providing information for the library of interest is used:"
msgstr ""
"Die Abhängigkeiten für eine Bibliothek wird an verschiedenen Stellen "
"nachgeschlagen. Die erste Datei, die Informationen für die betrachtete "
"Bibliothek bereitstellt, wird verwendet:"

#. type: IP
#: dpkg-shlibdeps.1:87
#, no-wrap
msgid "debian/shlibs.local"
msgstr "debian/shlibs.local"

#. type: Plain text
#: dpkg-shlibdeps.1:89
msgid "Package-local overriding shared library dependency information."
msgstr ""
"Paket-beschränkte Überschreibung der Abhängigkeitsinformationen von "
"Laufzeitbibliotheken."

#. type: IP
#: dpkg-shlibdeps.1:89
#, no-wrap
msgid "/etc/dpkg/shlibs.override"
msgstr "/etc/dpkg/shlibs.override"

#. type: Plain text
#: dpkg-shlibdeps.1:91
msgid "Per-system overriding shared library dependency information."
msgstr ""
"Systemabhängige Überschreibung der Abhängigkeitsinformationen von "
"Laufzeitbibliotheken."

#. type: IP
#: dpkg-shlibdeps.1:91
#, no-wrap
msgid "debian/*/DEBIAN/shlibs"
msgstr "debian/*/DEBIAN/shlibs"

#. type: Plain text
#: dpkg-shlibdeps.1:97
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are only used if the library is found in a "
"package's build tree. The shlibs file in that build tree takes precedence "
"over shlibs files from other binary packages."
msgstr ""
"Informationen über Laufzeitbibliotheken, die vom aktuellen Bauprozess "
"erstellt werden, der auch B<dpkg-shlibdeps> aufruft. Sie werden nur "
"verwendet, falls die Bibliothek im Bau-Verzeichnis eines Pakets gefunden "
"wird. Die Shlibs-Datei in diesem Bau-Verzeichnis hat gegenüber Shlibs-"
"Dateien von anderen Binärpaketen Vorrang."

#. type: IP
#: dpkg-shlibdeps.1:97
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> shlibs\\(rq"
msgstr "Ausgabe von \\(lqB<dpkg-query --control-path> I<Paket> shlibs\\(rq"

#. type: IP
#: dpkg-shlibdeps.1:100
#, no-wrap
msgid "/etc/dpkg/shlibs.default"
msgstr "/etc/dpkg/shlibs.default"

#. type: Plain text
#: dpkg-shlibdeps.1:102
msgid "Per-system default shared library dependency information."
msgstr ""
"Systemabhängige Vorgaben für Abhängigkeitsinformationen von "
"Laufzeitbibliotheken."

#. type: Plain text
#: dpkg-shlibdeps.1:106
msgid ""
"The extracted dependencies are then directly used (except if they are "
"filtered out because they have been identified as duplicate, or as weaker "
"than another dependency)."
msgstr ""
"Die extrahierten Abhängigkeiten werden direkt verwendet (es sei den, sie "
"werden als Dubletten herausgefiltert oder sie sind schwächer als eine andere "
"Abhängigkeit)."

#. type: Plain text
#: dpkg-shlibdeps.1:111
msgid ""
"B<dpkg-shlibdeps> interprets non-option arguments as executable names, just "
"as if they'd been supplied as B<-e>I<executable>."
msgstr ""
"B<dpkg-shlibdeps> interpretiert nicht-Options-Argumente als Namen von "
"ausführbaren Programmen, als ob diese mit B<-e>I<Programm> übergeben worden "
"wären."

#. type: TP
#: dpkg-shlibdeps.1:111
#, no-wrap
msgid "B<-e>I<executable>"
msgstr "B<-e>I<Programm>"

#. type: Plain text
#: dpkg-shlibdeps.1:115
msgid ""
"Include dependencies appropriate for the shared libraries required by "
"I<executable>."
msgstr ""
"Abhängigkeiten aufnehmen, die für von I<Programm> benötigte "
"Laufzeitbibliotheken angemessen sind."

#. type: TP
#: dpkg-shlibdeps.1:115
#, no-wrap
msgid "B<-d>I<dependencyfield>"
msgstr "B<-d>I<Abhängigkeitsfeld>"

#. type: Plain text
#: dpkg-shlibdeps.1:121
msgid ""
"Add dependencies to be added to the control file dependency field "
"I<dependencyfield>.  (The dependencies for this field are placed in the "
"variable B<shlibs:>I<dependencyfield>.)"
msgstr ""
"Füge Abhängigkeiten hinzu, die zum Abhängigkeitsfeld I<Abhängigkeitsfeld> "
"der Steuerdatei hinzugefügt werden sollen. (Die Abhängigkeiten für dieses "
"Feld werden in die Variable B<shlibs:>I<Abhängigkeitsfeld> geschrieben.)"

#. type: Plain text
#: dpkg-shlibdeps.1:131
msgid ""
"The B<-d>I<dependencyfield> option takes effect for all executables after "
"the option, until the next B<-d>I<dependencyfield>.  The default "
"I<dependencyfield> is B<Depends>."
msgstr ""
"Die Option B<-d>I<Abhängigkeitsfeld> betrifft alle Programme, die danach "
"angegeben werden, bis zum nächsten B<-d>I<Abhängigkeitsfeld>. Der "
"Standardwert für I<Abhängigkeitsfeld> ist B<Depends>."

#. type: Plain text
#: dpkg-shlibdeps.1:139
msgid ""
"If the same dependency entry (or set of alternatives) appears in more than "
"one of the recognised dependency field names B<Pre-Depends>, B<Depends>, "
"B<Recommends>, B<Enhances> or B<Suggests> then B<dpkg-shlibdeps> will "
"automatically remove the dependency from all fields except the one "
"representing the most important dependencies."
msgstr ""
"Falls der gleiche Abhängigkeitseintrag (oder ein Satz von Alternativen) mehr "
"als einmal in den erkannten Abhängigkeitsfeldnamen B<Pre-Depends>, "
"B<Depends>, B<Recommends>, B<Enhances> oder B<Suggests> auftaucht, wird "
"B<dpkg-shlibdeps> die Abhängigkeit von allen Feldern außer dem, das die "
"wichtigsten Abhängigkeiten repräsentiert, entfernen."

#. type: TP
#: dpkg-shlibdeps.1:139
#, no-wrap
msgid "B<-p>I<varnameprefix>"
msgstr "B<-p>I<Variablennamepräfix>"

#. type: Plain text
#: dpkg-shlibdeps.1:150
msgid ""
"Start substitution variables with I<varnameprefix>B<:> instead of B<shlibs:"
">.  Likewise, any existing substitution variables starting with "
"I<varnameprefix>B<:> (rather than B<shlibs:>)  are removed from the the "
"substitution variables file."
msgstr ""
"Beginn die Substitutionsvariablen mit I<Variablennamepräfix>B<:> statt mit "
"B<shlibs:>. Entsprechend werden alle Substitutionsvariablen, die mit "
"I<Variablennamepräfix>B<:> (statt mit B<shlibs:>) beginnen, aus den "
"Substitutionsvariablen entfernt."

#. type: Plain text
#: dpkg-shlibdeps.1:156
msgid ""
"Print substitution variable settings to standard output, rather than being "
"added to the substitution variables file (B<debian/substvars> by default)."
msgstr ""
"Gebe die Variableneinstellung in die Standardausgabe aus, statt sie zu der "
"Substitutionsvariablendatei (standardmäßig (B<debian/substvars>) "
"hinzuzufügen."

#. type: TP
#: dpkg-shlibdeps.1:156
#, no-wrap
msgid "B<-t>I<type>"
msgstr "B<-t>I<Typ>"

#. type: Plain text
#: dpkg-shlibdeps.1:163
msgid ""
"Prefer shared library dependency information tagged for the given package "
"type. If no tagged information is available, falls back to untagged "
"information. The default package type is \"deb\". Shared library dependency "
"information is tagged for a given type by prefixing it with the name of the "
"type, a colon, and whitespace."
msgstr ""
"Bevorzuge Abhängigkeitsinformationen für Laufzeitbibliotheken, die für ein "
"vorgegebenes Paket markiert sind. Falls keine Markierungsinformation "
"verfügbar ist, fällt dies auf unmarkierte Informationen zurück. Der Standard-"
"Pakettyp ist »deb«. Abhängigkeitsinformationen für Laufzeitbibliotheken "
"werden für einen vorgegebenen Typ markiert, indem vor sie der Namen des "
"Typs, ein Doppelpunkt und ein Leerzeichen gesetzt wird."

#. type: TP
#: dpkg-shlibdeps.1:163
#, no-wrap
msgid "B<-L>I<localshlibsfile>"
msgstr "B<-L>I<lokalshlibsdatei>"

#. type: Plain text
#: dpkg-shlibdeps.1:169
msgid ""
"Read overriding shared library dependency information from "
"I<localshlibsfile> instead of B<debian/shlibs.local>."
msgstr ""
"Lese die Hinwegsetz-Abhängigkeiten von Laufzeitbibliotheken aus "
"I<lokalshlibsdatei> statt aus B<debian/shlibs.local>."

#. type: Plain text
#: dpkg-shlibdeps.1:175
msgid ""
"Write substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>."
msgstr ""
"Schreibe Substitutionsvariablen in I<Substvardatei>; standardmäßig B<debian/"
"substvars>."

#. type: TP
#: dpkg-shlibdeps.1:175
#, no-wrap
msgid "B<-v>"
msgstr "B<-v>"

#. type: Plain text
#: dpkg-shlibdeps.1:180
msgid ""
"Enable verbose mode. Numerous messages are displayed to explain what B<dpkg-"
"shlibdeps> does."
msgstr ""
"Aktiviere ausführlichen Modus. Eine Vielzahl von Nachrichten wird angezeigt, "
"um zu erklären, was B<dpkg-shlibdeps> durchführt."

#. type: TP
#: dpkg-shlibdeps.1:180
#, no-wrap
msgid "B<-x>I<package>"
msgstr "B<-x>I<Paket>"

#. type: Plain text
#: dpkg-shlibdeps.1:187
msgid ""
"Exclude the package from the generated dependencies. This is useful to avoid "
"self-dependencies for packages which provide ELF binaries (executables or "
"library plugins) using a library contained in the same package. This option "
"can be used multiple times to exclude several packages."
msgstr ""
"Schließe das Paket von den generierten Abhängigkeiten aus. Dies ist für "
"Pakete nützlich, die ELF-Programmdateien (Programme oder "
"Bibliothekserweiterungen) bereitstellen, die eine Bibliothek im gleichen "
"Paket verwenden, um selbst-Abhängigkeiten zu vermeiden. Diese Option kann "
"mehrfach verwendet werden, um mehrere Pakete auszuschließen."

#. type: TP
#: dpkg-shlibdeps.1:187
#, no-wrap
msgid "B<-S>I<pkgbuilddir>"
msgstr "B<-S>I<Paketbauverzeichnis>"

#. type: Plain text
#: dpkg-shlibdeps.1:194
msgid ""
"Look into I<pkgbuilddir> first when trying to find a library. This is useful "
"when the source package builds multiple flavors of the same library and you "
"want to ensure that you get the dependency from a given binary package. You "
"can use this option multiple times: directories will be tried in the same "
"order before directories of other binary packages."
msgstr ""
"Schaue beim Versuch, eine Bibliothek zu finden, zuerst in "
"I<Paketbauverzeichnis>. Dies ist nützlich, wenn das Quellpaket mehrere "
"Spielarten der gleichen Bibliothek baut und Sie sicherstellen wollen, dass "
"Sie die Abhängigkeit aus einem bestimmten Binärpaket erhalten. Sie können "
"diese Option mehrfach verwenden: Verzeichnisse werden in der gleichen "
"Reihenfolge vor Verzeichnissen anderer Binärpakete probiert."

#. type: TP
#: dpkg-shlibdeps.1:194
#, no-wrap
msgid "B<--ignore-missing-info>"
msgstr "B<--ignore-missing-info>"

#. type: Plain text
#: dpkg-shlibdeps.1:200
msgid ""
"Do not fail if dependency information can't be found for a shared library.  "
"Usage of this option is discouraged, all libraries should provide dependency "
"information (either with shlibs files, or with symbols files)  even if they "
"are not yet used by other packages."
msgstr ""
"Falls keine Abhängigkeitsinformationen für die Laufzeitbibliothek gefunden "
"werden kann, erfolgt kein Fehlschlag. Von der Verwendung dieser Option wird "
"abgearten, da alle Bibliotheken Abhängigkeitsinformationen bereitstellen "
"sollten (entweder über shlibs-Dateien oder über symbols-Dateien), selbst "
"falls diese noch nicht von anderen Paketen verwendet werden."

#. type: TP
#: dpkg-shlibdeps.1:200
#, no-wrap
msgid "B<--warnings=>I<value>"
msgstr "B<--warnings=>I<Wert>"

#. type: Plain text
#: dpkg-shlibdeps.1:211
msgid ""
"I<value> is a bit field defining the set of warnings that can be emitted by "
"B<dpkg-shlibdeps>.  Bit 0 (value=1) enables the warning \"symbol I<sym> used "
"by I<binary> found in none of the libraries\", bit 1 (value=2) enables the "
"warning \"dependency on I<library> could be avoided\" and bit 2 (value=4)  "
"enables the warning \"I<binary> shouldn't be linked with I<library>\".  The "
"default I<value> is 3: the first two warnings are active by default, the "
"last one is not. Set I<value> to 7 if you want all warnings to be active."
msgstr ""
"I<Wert> ist ein Bitfeld, das den Satz an Warnungen definiert, die von B<dpkg-"
"shlibdeps> ausgegeben werden können. Bit 0 (Wert=1) aktiviert die Warnung "
"»Symbol I<Sym>, verwendet von I<Programm>, in keiner der Bibliotheken "
"gefunden.«, Bit 1 (Wert=2) aktiviert die Warnung »Abhängigkeit von "
"I<Bibliothek> könnte vermieden werden« und Bit 2 (Wert=4) aktiviert die "
"Warnung »I<Programm> sollte nicht gegen I<Bibliothek> gelinkt werden«. "
"Standardmäßig ist I<Wert> 3: die ersten zwei Warnungen sind standardmäßig "
"aktiv, die letzte nicht. Setzten Sie I<Wert> auf 7, falls Sie möchten, dass "
"alle Warnungen aktiv sein sollen."

#. type: SH
#: dpkg-shlibdeps.1:222
#, no-wrap
msgid "WARNINGS"
msgstr "WARNUNGEN"

#. type: Plain text
#: dpkg-shlibdeps.1:230
msgid ""
"Since B<dpkg-shlibdeps> analyzes the set of symbols used by each binary of "
"the generated package, it is able to emit warnings in several cases. They "
"inform you of things that can be improved in the package. In most cases, "
"those improvements concern the upstream sources directly. By order of "
"decreasing importance, here are the various warnings that you can encounter:"
msgstr ""
"Da B<dpkg-shlibdeps> den Symbolsatz, der von jedem Programm des erstellten "
"Pakets verwendet wird, analysiert, ist es in mehreren Fällen in der Lage, "
"Warnungen auszugeben. Sie informieren Sie über Dinge, die im Paket "
"verbessert werden können. Meistens betreffen diese Verbesserungen direkt die "
"Quellen der Originalautoren. In der Reihenfolge abnehmender Wichtigkeit "
"folgen hier die relevanten Warnungen, die auftauchen könnten:"

#. type: TP
#: dpkg-shlibdeps.1:230
#, no-wrap
msgid "B<symbol>I< sym>B< used by >I<binary>B< found in none of the libraries.>"
msgstr "B<Symbol> I< Symbol>B<, verwendet von >I<Programm>B<, in keiner der Bibliotheken gefunden.>"

#. type: Plain text
#: dpkg-shlibdeps.1:236
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a library and it needs to be linked "
"with an additional library during the build process (option B<-l>I<library> "
"of the linker)."
msgstr ""
"Das angegebene Symbol wurde nicht in den Bibliotheken gefunden, gegen die "
"das Programm gelinkt wurde. I<Programm> ist höchstwahrscheinlich eine "
"Bibliothek und muss mit zusätzlichen Bibliotheken während des Bau-Prozesses "
"gelinkt werden (Option B<-l>I<Bibliothek> des Linkers)."

#. type: TP
#: dpkg-shlibdeps.1:236
#, no-wrap
msgid "I<binary>B< contains an unresolvable reference to symbol >I<sym>B<: it's probably a plugin>"
msgstr "I<Programm>B< enthält eine nicht-auflösbare Referenz auf Symbol >I<Sym>B<: wahrscheinlich eine Erweiterung>."

#. type: Plain text
#: dpkg-shlibdeps.1:249
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a plugin and the symbol is probably "
"provided by the program that loads this plugin. In theory a plugin doesn't "
"have any SONAME but this binary does have one and as such it could not be "
"clearly identified as such. However the fact that the binary is stored in a "
"non-public directory is a strong indication that's it's not a normal shared "
"library. If the binary is really a plugin, then disregard this warning. But "
"there's always the possibility that it's a real library and that programs "
"linking to it are using an RPATH so that the dynamic loader finds it. In "
"that case, the library is broken and needs to be fixed."
msgstr ""
"Das angegebene Symbol wurde nicht in den Bibliotheken gefunden, die mit "
"diesem Programm verlinkt sind. Das I<Progamm> ist höchstwahrscheinlich eine "
"Erweiterung und das Symbol wird von dem Programm bereitgestellt, das diese "
"Erweiterung lädt. Theoretisch verfügt eine Erweiterung nicht über einen "
"SONAMEn, allerdings ist dies bei diesem Programm der Fall und daher konnte "
"es nicht eindeutig als Erweiterung erkannt werden. Die Tatsache, dass dieses "
"Programm in einem nicht-öffentlichen Verzeichnis gespeichert wird ist "
"allerdings ein starkes Anzeichen dafür, dass es keine normale gemeinsam "
"benutzte Bibliothek ist. Falls dieses Programm tatsächlich eine Erweiterung "
"ist, ignorieren Sie die Warnung. Allerdings besteht immer die Möglichkeit, "
"dass es eine echte Bibliothek ist und dass Programme, die damit verlinken, "
"einen RPATH verwenden, so dass der dynamische Lader sie findet. In diesem "
"Fall ist die Bibliothek beschädigt und muss repariert werden."

#. type: TP
#: dpkg-shlibdeps.1:249
#, no-wrap
msgid "B<dependency on >I<library>B< could be avoided if >I<binaries>B< were not uselessly linked against it (they use none of its symbols).>"
msgstr "B<Abhängigkeit von >I<Bibliothek>B< könnte vermieden werden, falls >I<Programm>B< nicht unnötigerweise dagegen gelinkt wäre (es verwendet keines seiner Symbole.>"

#. type: Plain text
#: dpkg-shlibdeps.1:255
msgid ""
"None of the I<binaries> that are linked with I<library> use any of the "
"symbols provided by the library. By fixing all the binaries, you would avoid "
"the dependency associated to this library (unless the same dependency is "
"also generated by another library that is really used)."
msgstr ""
"Keines der I<Programme> die gegen I<Bibliothek> gelinkt sind verwendet eines "
"der von der Bibliothek bereitgestellten Symbole. Indem Sie die Programme "
"korrigierten, vermieden Sie die Abhängigkeit, die mit dieser Bibliothek "
"verbunden ist (es sei denn, die Abhängigkeit wird auch durch eine andere "
"Bibliothek generiert, die diese Bibliothek wirklich verwendet)."

#. type: TP
#: dpkg-shlibdeps.1:255
#, no-wrap
msgid "I<binary>B< shouldn't be linked with >I<library>B< (it uses none of its symbols).>"
msgstr "I<Programm>B< sollte nicht gegen >I<Bibliothek>B< gelinkt werden (es verwendet keines ihrer Symbole).>"

#. type: Plain text
#: dpkg-shlibdeps.1:262
msgid ""
"The I<binary> is linked to a library that it doesn't need. It's not a "
"problem but some small performance improvements in binary load time can be "
"obtained by not linking this library to this binary. This warning checks the "
"same information than the previous one but does it for each binary instead "
"of doing the check globally on all binaries analyzed."
msgstr ""
"Das I<Programm> ist gegen eine Bibliothek gelinkt, die es nicht benötigt. "
"Das ist kein Problem, aber bei der Ladezeit können kleine "
"Leistungsverbesserungen erreicht werden, indem diese Bibliothek nicht in das "
"Programm gelinkt wird. Diese Warnung überprüft die gleichen Informationen "
"wie die vorhergehende, allerdings für jedes Programm statt global für alle "
"überprüften Programme."

#. type: SH
#: dpkg-shlibdeps.1:262
#, no-wrap
msgid "ERRORS"
msgstr "FEHLER"

#. type: Plain text
#: dpkg-shlibdeps.1:269
msgid ""
"B<dpkg-shlibdeps> will fail if it can't find a public library used by a "
"binary or if this library has no associated dependency information (either "
"shlibs file or symbols file). A public library has a SONAME and is versioned "
"(libsomething.so.I<X>). A private library (like a plugin) should not have a "
"SONAME and doesn't need to be versioned."
msgstr ""
"B<dpkg-shlibdeps> wird fehlschlagen, falls es eine vom Programm verwendete "
"öffentliche Bibliothek nicht finden kann oder falls diese Bibliothek keine "
"zugeordneten Abhängigkeitsinformationen hat (entweder eine Shlibs- oder "
"Symbols-Datei). Eine öffentliche Bibliothek hat einen SONAME und ist "
"versioniert (libirgendwas.so.I<X>). Eine private Bibliothek (wie z.B. ein "
"Erweiterung) sollte keinen SONAME haben und braucht nicht versioniert zu "
"sein."

#. type: TP
#: dpkg-shlibdeps.1:269
#, no-wrap
msgid "B<couldn't find library >I<library-soname>B< needed by >I<binary>B< (its RPATH is '>I<rpath>B<')>"
msgstr "B<konnte Bibliothek >I<SONAME-der-Bibliothek>B< benötigt von >I<Programm>B< nicht finden (ihr RPATH ist »>I<rpath>B<«).>"

#. type: Plain text
#: dpkg-shlibdeps.1:285
msgid ""
"The I<binary> uses a library called I<library-soname> but B<dpkg-shlibdeps> "
"has been unable to find the library.  B<dpkg-shlibdeps> creates a list of "
"directories to check as following: directories listed in the RPATH of the "
"binary, directories listed in /etc/ld.so.conf, directories listed in the "
"LD_LIBRARY_PATH environment variable, and standard public directories (/"
"lib, /usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those "
"directories in the package's build tree of the binary being analyzed, in the "
"packages' build trees indicated with the -S command-line option, in other "
"packages' build trees that contains a DEBIAN/shlibs or DEBIAN/symbols file "
"and finally in the root directory.  If the library is not found in any of "
"those directories, then you get this error."
msgstr ""
"Das I<Programm> verwendet eine Bibliothek mit Namen I<SONAME-der-"
"Bibliothek>, aber B<dpkg-shlibdeps> konnte diese Bibliothek nicht finden. "
"B<dpkg-shlibdeps> erstellt folgendermaßen eine Liste der zu prüfenden "
"Verzeichnisse: im RPATH des Programms aufgeführte Verzeichnisse, in /etc/ld."
"so.conf aufgeführte Verzeichnisse, in der Umgebungsvariable LD_LIBRARY_PATH "
"aufgeführte Verzeichnisse und standardmäßige öffentliche Verzeichnisse (/"
"lib, /usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Dann prüft es diese "
"Verzeichnisse im Bau-Baum des analysierten Pakets, in den mit der "
"Kommandozeilenoption -S angegebenen Paketbauverzeichnisse, in anderen "
"Paketbau-Bäumen, die eine DEBIAN/shlibs- oder DEBIAN/symbols-Datei enthalten "
"und schließlich im Wurzelverzeichnis. Falls die Bibliothek nicht in einem "
"dieser Verzeichnisse gefunden wird, erhalten Sie diesen Fehler."

#. type: Plain text
#: dpkg-shlibdeps.1:291
msgid ""
"If the library not found is in a private directory of the same package, then "
"you want to add the directory to LD_LIBRARY_PATH. If it's in another binary "
"package being built, you want to make sure that the shlibs/symbols file of "
"this package is already created and that LD_LIBRARY_PATH contains the "
"appropriate directory if it also is in a private directory."
msgstr ""
"Falls sich die nicht gefundene Bibliothek in einem privaten Verzeichnis des "
"gleichen Pakets befindet, müssen Sie das Verzeichnis zu LD_LIBRARY_PATH "
"hinzufügen. Falls sie sich in einem anderen gerade zu bauenden Paket "
"befindet, müssen Sie sicherstellen, dass die »shlibs/symbols«-Datei dieses "
"Pakets bereits angelegt ist und dass LD_LIBRARY_PATH das geeignete "
"Verzeichnis enthält, falls die Bibliothek zudem in einem privaten "
"Verzeichnis liegt."

#. type: TP
#: dpkg-shlibdeps.1:291
#, no-wrap
msgid "B<no dependency information found for >I<library-file>B< (used by >I<binary>B<).>"
msgstr "B<Keine Abhängigkeitsinformationen für >I<Bibliotheksdatei>B< (verwendet von >I<Programm>B<) gefunden.>"

#. type: Plain text
#: dpkg-shlibdeps.1:304
msgid ""
"The library needed by I<binary> has been found by B<dpkg-shlibdeps> in "
"I<library-file> but B<dpkg-shlibdeps> has been unable to find any dependency "
"information for that library. To find out the dependency, it has tried to "
"map the library to a Debian package with the help of B<dpkg -S >I<library-"
"file>.  Then it checked the corresponding shlibs and symbols files in /var/"
"lib/dpkg/info/, and in the various package's build trees (debian/*/DEBIAN/)."
msgstr ""
"Die von I<Programm> benötigte Bibliothek wurde von B<dpkg-shlibdeps> in "
"I<Bibliotheksdatei> gefunden, allerdings konnte B<dpkg-shlibdeps> keine "
"Abhängigkeitsinformationen für diese Bibliothek ermitteln. Um die "
"Abhängigkeit herauszufinden, hat es versucht, die Bibliothek mittels B<dpkg -"
"S >I<Bibliotheksdatei> auf ein Debian-Paket abzubilden. Dann überprüfte es "
"die zugehörigen Shlibs- und Symboldateien in /var/lib/dpkg/info/ und die "
"verschiedenen Paketbaubäume ((debian/*/DEBIAN/)."

#. type: Plain text
#: dpkg-shlibdeps.1:318
msgid ""
"This failure can be caused by a bad or missing shlibs or symbols file in the "
"package of the library. It might also happen if the library is built within "
"the same source package and if the shlibs files has not yet been created (in "
"which case you must fix debian/rules to create the shlibs before calling "
"B<dpkg-shlibdeps>). Bad RPATH can also lead to the library being found under "
"a non-canonical name (example: /usr/lib/openoffice.org/../lib/libssl."
"so.0.9.8 instead of /usr/lib/libssl.so.0.9.8) that's not associated to any "
"package, B<dpkg-shlibdeps> tries to work around this by trying to fallback "
"on a canonical name (using B<realpath>(3))  but it might not always work. "
"It's always best to clean up the RPATH of the binary to avoid problems."
msgstr ""
"Dieser Fehlschlag kann durch defekte oder fehlende Shlibs- oder "
"Symboldateien im Paket der Bibliothek ausgelöst werden. Er könnte auch "
"auftreten, falls die Bibliothek im gleichen Quellpaket gebaut wird und die "
"Shlibs-Datei noch nicht angelegt wurde (wobei Sie in diesem Fall debian/"
"rules korrigieren müssen, damit die Shlibs-Datei erstellt wird bevor B<dpkg-"
"shlibdeps> aufgerufen wird). Defekte RPATH können auch dazu führen, dass die "
"Bibliothek unter nicht-kanonischen Namen gefunden wird (beispielsweise /usr/"
"lib/openoffice.org/../lib/libssl.so.0.9.8 statt /usr/lib/libssl.so.0.9.8), "
"so dass dann diese keinem Paket zugeordnet ist; B<dpkg-shlibdeps> versucht "
"dies zu umgehen, indem es auf einen kanonischen Namen (mittels B<realpath>"
"(3)) zurückfällt, allerdings könnte dies manchmal nicht funktionieren. Es "
"ist immer am besten, den RPATH zu bereinigen, um Probleme zu vermeiden."

#. type: Plain text
#: dpkg-shlibdeps.1:324
msgid ""
"Calling B<dpkg-shlibdeps> in verbose mode (-v) will provide much more "
"information about where it tried to find the dependency information. This "
"might be useful if you don't understand why it's giving you this error."
msgstr ""
"Viele weitere Informationen darüber, wo nach Abhängigkeitsinformationen "
"gesucht wird, können durch einen Aufruf von B<dpkg-shlibdeps> im "
"geschwätzigen Modus (-v) erhalten werden. Dies kann nützlich sein, falls Sie "
"nicht verstehen, warum es Ihnen diesen Fehler meldet."

#. type: Plain text
#: dpkg-shlibdeps.1:328
msgid "B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1)."
msgstr "B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1)."

#. type: Plain text
#: dpkg-shlibdeps.1:335
msgid "Copyright \\(co 2006 Frank Lichtenheld"
msgstr "Copyright \\(co 2006 Frank Lichtenheld"

#. type: TH
#: dpkg-source.1:2
#, no-wrap
msgid "dpkg-source"
msgstr "dpkg-source"

#. type: Plain text
#: dpkg-source.1:5
msgid "dpkg-source - Debian source package (.dsc) manipulation tool"
msgstr "dpkg-source - Debian Quellpaket- (.dsc) Manipulations-Werkzeuge"

#. type: Plain text
#: dpkg-source.1:9
msgid "B<dpkg-source> [I<option>...] I<command>"
msgstr "B<dpkg-source> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-source.1:13
msgid "B<dpkg-source> packs and unpacks Debian source archives."
msgstr "B<dpkg-source> packt und entpackt Debian Quellarchive."

#. type: Plain text
#: dpkg-source.1:17
msgid ""
"None of these commands allow multiple options to be combined into one, and "
"they do not allow the value for an option to be specified in a separate "
"argument."
msgstr ""
"Keiner dieser Befehle erlaubt es, mehrere Optionen zu einer zu kombinieren, "
"und sie erlauben es nicht, den Wert einer Option in einem separaten Argument "
"zu speichern."

#. type: TP
#: dpkg-source.1:19
#, no-wrap
msgid "B<-x >I<filename>B<.dsc >[I<output-directory>]"
msgstr "B<-x >I<Dateiname>B<.dsc> [I<Ausgabe-Verzeichnis>]"

#. type: Plain text
#: dpkg-source.1:29
msgid ""
"Extract a source package. One non-option argument must be supplied, the name "
"of the Debian source control file (B<.dsc>).  An optional second non-option "
"argument may be supplied to specify the directory to extract the source "
"package to, this must not exist. If no output directory is specified, the "
"source package is extracted into a directory named I<source>-I<version> "
"under the current working directory."
msgstr ""
"Extrahiere ein Quellpaket. Ein nicht-Options-Argument muss angegeben werden, "
"der Name der Debian Quell-Steuer-Datei (B<.dsc>). Optional kann ein zweites "
"nicht-Options-Argument angegeben werden, um das Verzeichnis anzugeben, in "
"das das Quellpaket extrahiert werden soll. Dieses Verzeichis darf dann nicht "
"existieren. Falls kein Ausgabeverzeichnis angegeben ist, wird das Quellpaket "
"in das Verzeichnis namens I<Quelle>-I<Version> unterhalb des aktuellen "
"Arbeitsverzeichnisses extrahiert."

#. type: Plain text
#: dpkg-source.1:35
msgid ""
"B<dpkg-source> will read the names of the other file(s) making up the source "
"package from the control file; they are assumed to be in the same directory "
"as the B<.dsc>."
msgstr ""
"B<dpkg-source> wird die Namen der anderen Datei(en) aus der Steuerdatei "
"einlesen, die das Quellpaket ergeben; es wird angenommen, dass diese im "
"gleichen Verzeichnis wie die B<.dsc> liegen."

#. type: Plain text
#: dpkg-source.1:43
msgid ""
"The files in the extracted package will have their permissions and "
"ownerships set to those which would have been expected if the files and "
"directories had simply been created - directories and executable files will "
"be 0777 and plain files will be 0666, both modified by the extractors' "
"umask; if the parent directory is setgid then the extracted directories will "
"be too, and all the files and directories will inherit its group ownership."
msgstr ""
"Die Dateien in dem extrahierten Paket werden die Rechte und Eigentümer "
"haben, die erwartet würden, falls die Dateien und Verzeichnisse einfach "
"angelegt worden wären - Verzeichnisse und Programmdateien werden 0777 und "
"einfache Dateien 0666, beide durch die umask der Person, die extrahiert, "
"entsprechend angepasst; falls das übergeordnete Verzeichnis setgid ist, "
"werden dies die extrahierten Verzeichnisse auch sein, und alle Dateien und "
"Verzeichnisse werden die Gruppeneigentümerschaft erben."

#. type: Plain text
#: dpkg-source.1:48
msgid ""
"If the source package uses a non-standard format (currently this means all "
"formats except \"1.0\"), its name will be stored in B<debian/source/format> "
"so that the following builds of the source package use the same format by "
"default."
msgstr ""
"Falls das Quellpaket ein nicht-Standard-Format verwendet (derzeit bedeutet "
"sind dies alle Formate außer »1.0«) wird sein Name in B<debian/source/"
"format> gespeichert, so dass alle folgenden Bauversuchen des Quellpakets "
"standardmäßig das gleiche Format verwenden."

#. type: TP
#: dpkg-source.1:49
#, no-wrap
msgid "B<-b> I<directory> [I<format-specific-parameters>]"
msgstr "B<-b> I<Verzeichnis> [I<Format-abhängige-Parameter>]"

#. type: Plain text
#: dpkg-source.1:56
msgid ""
"Build a source package. The first non-option argument is taken as the name "
"of the directory containing the debianized source tree (i.e. with a debian "
"sub-directory and maybe changes to the original files).  Depending on the "
"source package format used to build the package, additional parameters might "
"be accepted."
msgstr ""
"Baue ein Quellpaket. Das erste nicht-Options-Argument wird als Name des "
"Verzeichnisses verwandt, das den debianisierten (d.h. mit einem "
"Unterverzeichnis debian und ggf. Änderungen an den Originaldateien "
"versehenen) Quellbaum enthält. Abhängig vom dem zum Bau verwandten "
"Quellpaketformat könnten zusätzliche Parameter akzeptiert werden."

#. type: Plain text
#: dpkg-source.1:65
msgid ""
"B<dpkg-source> will build the source package with the first format found in "
"this ordered list: the format indicated with the I<--format> command line "
"option, the format indicated in B<debian/source/format>, \"1.0\". The "
"fallback to \"1.0\" is deprecated and will be removed at some point in the "
"future, you should always document the desired source format in B<debian/"
"source/format>. See section B<SOURCE PACKAGE FORMATS> for an extensive "
"description of the various source package formats."
msgstr ""
"B<dpkg-source> wird das Quellpaket mit dem ersten gefundenen Format aus der "
"folgenden geordneten Liste bauen: dem mit der Kommandozeilenoption(en) I<--"
"format> angegeben Format, dem in B<debian/source/format> angegebenen Format, "
"»1.0«. Die Rückfalloption »1.0« ist veraltet und wird irgendwann in der "
"Zukunft entfernt werden, Sie sollten das gewünschte Quellformat immmer in "
"B<debian/source/format> dokumentieren. Die verschiedenen Quellpaketformate "
"werden im Abschnitt B<QUELLPAKET-FORMATE> ausführlich beschrieben."

#. type: TP
#: dpkg-source.1:66
#, no-wrap
msgid "B<--print-format> I<directory>"
msgstr "B<--print-format> I<Verzeichnis>"

#. type: Plain text
#: dpkg-source.1:71
msgid ""
"Print the source format that would be used to build the source package if "
"B<dpkg-source -b >I<directory> was called (in the same conditions and with "
"the same parameters)."
msgstr ""
"Gibt das Quellformat aus, dass zum Bau des Quellpakets verwandt würde, falls "
"B<dpkg-source -b >I<Verzeichnis> aufgerufen würde (unter den gleichen "
"Bedingungen und mit den gleichen Parametern)."

#. type: TP
#: dpkg-source.1:72
#, no-wrap
msgid "B<--before-build> I<directory>"
msgstr "B<--before-build> I<Verzeichnis>"

#. type: Plain text
#: dpkg-source.1:81
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"before any build of the package (B<dpkg-buildpackage> calls it very early "
"even before B<debian/rules clean>). This command is idempotent and can be "
"called multiple times. Not all source formats implement something in this "
"hook, and those that do usually prepare the source tree for the build for "
"example by ensuring that the Debian patches are applied."
msgstr ""
"Der entsprechende Hook dess Quellpaketformats soll ausgeführt werden. Dieser "
"Hook wird vor jedem Bau des Pakets aufgerufen (B<dpkg-buildpackage> ruft ihn "
"sehr früh, sogar vor B<debian/rules clean> auf). Dieser Befehl ist "
"idempotent und kann mehrfach aufgerufen werden. Nicht alle Quellformate "
"implementieren in diesem Hook etwas und wenn dies erfolgt, dann gewöhnlich "
"zur Vorbereitung des Quellbaums für den Bau, in dem beispielsweise "
"sichergestellt wird, dass alle Debian-Patches angewandt sind."

#. type: TP
#: dpkg-source.1:82
#, no-wrap
msgid "B<--after-build> I<directory>"
msgstr "B<--after-build> I<Verzeichnis>"

#. type: Plain text
#: dpkg-source.1:89
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"after any build of the package (B<dpkg-buildpackage> calls it last). This "
"command is idempotent and can be called multiple times. Not all source "
"formats implement something in this hook, and those that do usually use it "
"to undo what B<--before-build> has done."
msgstr ""
"Der entsprechende Hook dess Quellpaketformats soll ausgeführt werden. Dieser "
"Hook wird nach jedem Bau des Pakets aufgerufen (B<dpkg-buildpackage> ruft "
"als letztes auf). Dieser Befehl ist idempotent und kann mehrfach aufgerufen "
"werden. Nicht alle Quellformate implementieren in diesem Hook etwas und wenn "
"dies erfolgt, dann gewöhnlich um rückgängig zu machen, was B<--before-build> "
"durchgeführt hat."

#. type: TP
#: dpkg-source.1:90
#, no-wrap
msgid "B<--commit> [I<directory>] ..."
msgstr "B<--commit> [I<Verzeichnis>] ..."

#. type: Plain text
#: dpkg-source.1:95
msgid ""
"Record changes in the source tree unpacked in I<directory>. This command can "
"take supplementary parameters depending on the source format.  It will error "
"out for formats where this operation doesn't mean anything."
msgstr ""
"Zeichnet Änderungen am in I<Verzeichnis> entpackten Quellbaum auf. Dieser "
"Befehl kann zusätzliche Parameter akzeptieren, abhängig vom Quellformat. Er "
"wird zu einer Fehlermeldung bei Formaten, für denen dieser Vorgang keine "
"Bedeutung hat, führen."

#. type: SH
#: dpkg-source.1:103
#, no-wrap
msgid "GENERIC BUILD OPTIONS"
msgstr "GENERISCHE BAUOPTIONEN"

#. type: Plain text
#: dpkg-source.1:111
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""
"Bestimmt die Hauptquell-»control«-Datei, aus der Informationen ausgelesen "
"werden sollen. Der Standardwert ist B<debian/control>. Falls der Pfadname "
"relativ ist, wird dieser relativ zum obersten Verzeichnis des Quellbaums "
"interpretiert."

#. type: Plain text
#: dpkg-source.1:118
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""
"Bestimmt die »change log«-Datei, aus der Informationen ausgelesen werden "
"sollen. Der Standardwert ist B<debian/changelog>. Falls der Pfadname relativ "
"ist, wird dieser relativ zum obersten Verzeichnis des Quellbaums "
"interpretiert."

#. type: TP
#: dpkg-source.1:123
#, no-wrap
msgid "B<--format=>I<value>"
msgstr "B<--format=>I<Wert>"

#. type: Plain text
#: dpkg-source.1:127
msgid ""
"Use the given format for building the source package. It does override any "
"format given in B<debian/source/format>."
msgstr ""
"Verwende das angegebene Format zum Bau des Quellpakets. Es überschreibt "
"jedes in B<debian/source/format> angegebene Format."

#. type: Plain text
#: dpkg-source.1:137
msgid ""
"Read substitution variables in I<substvarsfile>; the default is to not read "
"any file. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Lese Substitutionsvariablen aus I<substvardatei>; standardmäßig wird keine "
"Datei gelesen. Diese Option kann mehrfach verwandt werden, um "
"Substitutionsvariablen aus mehreren Dateien einzulesen."

#. type: TP
#: dpkg-source.1:143
#, no-wrap
msgid "B<-Z>I<compression>, B<--compression>=I<compression>"
msgstr "B<-Z>I<Komprimierung>, B<--compression>=I<Komprimierung>"

#. type: Plain text
#: dpkg-source.1:151
msgid ""
"Specify the compression to use for created files (tarballs and diffs).  Note "
"that this option will not cause existing tarballs to be recompressed, it "
"only affects new files. Supported values are: I<gzip>, I<bzip2>, I<lzma> and "
"I<xz>.  I<gzip> is the default. I<xz> is only supported since dpkg-dev "
"1.15.5."
msgstr ""
"Gibt die Komprimierung an, die für die angelegte Dateien (Tarbälle und "
"Diffs) verwendet wird. Beachten Sie, dass diese Option nicht dazu führt, "
"dass existierende Tarbälle rekomprimiert werden, sie betrifft nur neue "
"Dateien. Unterstützte Werte sind I<gzip>, I<bzip2>, I<lzma> und I<xz>. "
"I<gzip> ist voreingestellt. I<xz> wird erst seit Dpkg-dev 1.15.5 unterstützt."

#. type: TP
#: dpkg-source.1:151
#, no-wrap
msgid "B<-z>I<level>, B<--compression-level>=I<level>"
msgstr "B<-z>I<Stufe>, B<--compression-level>=I<Stufe>"

#. type: Plain text
#: dpkg-source.1:157
msgid ""
"Compression level to use. As with B<-Z> it only affects newly created files. "
"Supported values are: I<1> to I<9>, I<best>, and I<fast>.  The default is "
"I<9> for gzip and bzip2, I<6> for xz and lzma."
msgstr ""
"Zu verwendende Komprimierstufe. Wie bei B<-Z> betrifft dies nur neu "
"angelegte Dateien. Unterstützte Werte sind I<1> bis I<9>, I<best> (am "
"besten) und I<fast> (schnell). Der Standardwert ist I<9> für Gzip und Bzip2, "
"I<6> für Xz und Lzma."

#. type: TP
#: dpkg-source.1:157
#, no-wrap
msgid "B<-i>[I<regexp>], B<--diff-ignore>[=I<regexp>]"
msgstr "B<-i>[I<regexp>], B<--diff-ignore>[=I<regexp>]"

#. type: Plain text
#: dpkg-source.1:169
msgid ""
"You may specify a perl regular expression to match files you want filtered "
"out of the list of files for the diff. (This list is generated by a find "
"command.) (If the source package is being built as a version 3 source "
"package using a VCS, this can be used to ignore uncommited changes on "
"specific files. Using -i.* will ignore all of them.)  B<-i> by itself "
"enables the option, with a default regexp that will filter out control files "
"and directories of the most common revision control systems, backup and swap "
"files and Libtool build output directories. There can only be one active "
"regexp, of multiple B<-i> options only the last one will take effect."
msgstr ""
"Sie können einen regulären Perl-Ausdruck angeben, der auf Dateien passt, die "
"Sie aus der Liste der Dateien für den Diff entfernen möchten; diese Liste "
"wird von einem Find-Befehl generiert. Falls das Quellpaket als Version 3-"
"Quellpaket mittels eines VCS gebaut wird, ignoriert dies stattdessen "
"Änderungen an bestimmten Dateien, die noch nicht übertragen (»committed«) "
"wurden (mit -i.* werden alle davon ignoriert). B<-i> aktiviert diese Option "
"mit einem voreingestellten regulären Ausdruck, der Steuerdateien und -"
"Verzeichnisse der häufigsten Revisionskontrollsysteme, Backups, Swap-Dateien "
"und Bau-Ausgabeverzeichnisse von Libtool herausgefiltert. Es kann nur einen "
"aktiven regulären Ausdruck geben, von mehrfach angegebenen B<-i>-Optionen "
"wird nur die letzte berücksichtigt."

#. type: Plain text
#: dpkg-source.1:179
msgid ""
"This is very helpful in cutting out extraneous files that get included in "
"the diff, e.g. if you maintain your source in a revision control system and "
"want to use a checkout to build a source package without including the "
"additional files and directories that it will usually contain (e.g. CVS/, ."
"cvsignore, .svn/). The default regexp is already very exhaustive, but if you "
"need to replace it, please note that by default it can match any part of a "
"path, so if you want to match the begin of a filename or only full "
"filenames, you will need to provide the necessary anchors (e.g. '(^|/)', "
"'($|/)') yourself."
msgstr ""
"Dies ist sehr hilfreich, um irrelevante Dateien, die im Diff aufgenommen "
"werden, zu entfernen. Falls Sie zum Beispiel Ihre Quellen in einem "
"Revisionskontrollsystem speichern und »Checkout« verwenden möchten, um Ihr "
"Quellpaket zu bauen, ohne die zusätzlichen Dateien und Verzeichnisse, die "
"darin typischerweise enthalten sind (z.B. CVS/, .cvsignore, .svn/), mit "
"aufzunehmen. Der voreingestellte reguläre Ausdruck ist bereits sehr "
"erschöpfend, aber falls Sie ihn ersetzen müssen, beachten Sie, dass er "
"standardmäßig auf alle Teile des Pfades passen kann. Falls Sie daher nur den "
"Anfang eines Pfades oder komplette Dateinamen vergleichen wollen, müssen Sie "
"die notwendigen Anker (z.B. »(^|/)«, »($|/)«) selbst bereitstellen."

#. type: TP
#: dpkg-source.1:179
#, no-wrap
msgid "B<--extend-diff-ignore>=I<regexp>"
msgstr "B<--extend-diff-ignore>=I<regexp>"

#. type: Plain text
#: dpkg-source.1:186
msgid ""
"The perl regular expression specified will extend the default value of B<--"
"diff-ignore> and its current value (if set). It does this by concatenating "
"\"B<|>I<regexp>\" to the existing value.  This option is convenient to use "
"in B<debian/source/options> to exclude some auto-generated files from the "
"automatic patch generation."
msgstr ""
"Der angegebene reguläre Ausdruck (Perl-Format) wird den standardmäßigen Wert "
"von B<--diff-ignore> and dessen aktuellen Wert (falls gesetzt) erweiteren. "
"Dies erfolgt, indem »B<|>I<regexp>« an den existierenden Wert angehängt "
"wird. Diese Option ist bequem in B<debian/source/options> zu nutzen, um "
"einige automatisch erstellten Dateien von der automatischen Patch-Erzeugung "
"auszuschließen."

#. type: TP
#: dpkg-source.1:186
#, no-wrap
msgid "B<-I>[I<file-pattern>], B<--tar-ignore>[=I<file-pattern>]"
msgstr "B<-I>[I<Dateimuster>], B<--tar-ignore>[=I<Dateimuster>]"

#. type: Plain text
#: dpkg-source.1:195
msgid ""
"If this option is specified, the pattern will be passed to B<tar>(1)'s --"
"exclude option when it is called to generate a .orig.tar or .tar file. For "
"example, -ICVS will make tar skip over CVS directories when generating a ."
"tar.gz file. The option may be repeated multiple times to list multiple "
"patterns to exclude."
msgstr ""
"Falls diese Option angegeben wird, wird der Dateiname an die --exclude-"
"Option von B<tar>(1) weitergegeben, wenn es zur Erstellung der Datei .orig."
"tar oder .tar aufgerufen wird. Zum Beispiel führt -ICVS dazu, dass tar über "
"CVS-Verzeichnisse hinweggeht, wenn es eine .tar-Datei erstellt. Diese Option "
"kann mehrfach wiederholt werden, um mehrere Muster aufzuführen, die "
"ausgeschlossen werden sollen."

#. type: Plain text
#: dpkg-source.1:200
msgid ""
"B<-I> by itself adds default --exclude options that will filter out control "
"files and directories of the most common revision control systems, backup "
"and swap files and Libtool build output directories."
msgstr ""
"B<-I> fügt standardmäßig von selbst --exclude-Optionen hinzu, die die "
"Steuerdateien und -Verzeichnisse der häufigsten Revisionskontrollsysteme, "
"Backups, Swap-Dateien und Bau-Ausgabeverzeichnisse von Libtool herausfiltern."

#. type: Plain text
#: dpkg-source.1:212
msgid ""
"B<Note:> While they have similar purposes, B<-i> and B<-I> have very "
"different syntax and semantics. B<-i> can only be specified once and takes a "
"perl compatible regular expression which is matched against the full "
"relative path of each file. B<-I> can specified multiple times and takes a "
"filename pattern with shell wildcards.  The pattern is applied to the full "
"relative path but also to each part of the path individually. The exact "
"semantic of tar's --exclude option is somewhat complicated, see http://www."
"gnu.org/software/tar/manual/tar.html#wildcards for a full documentation."
msgstr ""
"B<Hinweis:> Obwohl sie ähnliche Zwecke verfolgen, haben B<-i> und B<-I> eine "
"sehr verschiedene Syntax und Semantik. B<-i> kann nur einmal angegeben "
"werden und nimmt einen regulären Perlausdruck an, der gegen den vollen "
"relativen Pfad jeder Datei geprüft wird. B<-I> kann mehrfach angegeben "
"werden und nimmt ein Dateinamen-Muster mit Shell-Jokerzeichen an. Das Muster "
"wird gegen den vollen relativen Pfad aber auch individuell gegen jeden Teil "
"des Pfades angewendet. Die exakte Symantik der Option --exclude ist etwas "
"kompliziert, lesen Sie http://www.gnu.org/software/tar/manual/tar."
"html#wildcards für eine komplette Dokumentation."

#. type: Plain text
#: dpkg-source.1:215
msgid ""
"The default regexp and patterns for both options can be seen in the output "
"of the B<--help> command."
msgstr ""
"Der voreingestellte reguläre Ausdruck und Muster für beide Optionen können "
"in der Ausgabe des Befehls B<--help> gesehen werden."

#. type: SH
#: dpkg-source.1:215
#, no-wrap
msgid "GENERIC EXTRACT OPTIONS"
msgstr "GENERISCHE EXTRAHIERUNGSOPTIONEN"

#. type: TP
#: dpkg-source.1:216
#, no-wrap
msgid "B<--no-copy>"
msgstr "B<--no-copy>"

#. type: Plain text
#: dpkg-source.1:219
msgid "Do not copy original tarballs near the extracted source package."
msgstr ""
"Kopiere die Original-Tarbälle in die Nähe des extrahierten Quellpakets."

#. type: TP
#: dpkg-source.1:219
#, no-wrap
msgid "B<--no-check>"
msgstr "B<--no-check>"

#. type: Plain text
#: dpkg-source.1:222
msgid "Do not check signatures and checksums before unpacking."
msgstr "Prüfe Signaturen und Prüfsummen vor dem Entpacken nicht."

#. type: TP
#: dpkg-source.1:222
#, no-wrap
msgid "B<--require-valid-signature>"
msgstr "B<--require-valid-signature>"

#. type: Plain text
#: dpkg-source.1:230
msgid ""
"Refuse to unpack the source package if it doesn't contain an OpenPGP "
"signature that can be verified either with the user's I<trustedkeys.gpg> "
"keyring, one of the vendor-specific keyrings, or one of the official Debian "
"keyrings (I</usr/share/keyrings/debian-keyring.gpg> and I</usr/share/"
"keyrings/debian-maintainers.gpg>)."
msgstr ""
"Entpacken des Quellpakets ablehnen, falls es keine OpenPGP-Signatur enthält, "
"die entweder mit dem I<trustedkeys.gpg>-Schlüsselring des Benutzers, mit "
"einem der Schlüsselringen des Lieferanten oder mit einem der offiziellen "
"Debian-Schüsselringe (I</usr/share/keyrings/debian-keyring.gpg> und I</usr/"
"share/keyrings/debian-maintainers.gpg>) überprüft werden kann."

#. type: SH
#: dpkg-source.1:231
#, no-wrap
msgid "SOURCE PACKAGE FORMATS"
msgstr "QUELLPAKET-FORMATE"

#. type: Plain text
#: dpkg-source.1:236
msgid ""
"If you don't know what source format to use, you should probably pick either "
"\"3.0 (quilt)\" or \"3.0 (native)\". See http://wiki.debian.org/Projects/"
"DebSrc3.0 for information on the deployment of those formats within Debian."
msgstr ""
"Falls Sie nicht wissen, welches Quellformat Sie verwenden sollen, verwenden "
"Sie wahrscheinlich am besten entweder »3.0 (quilt)« oder »3.0 (native)«. "
"Lesen Sie http://wiki.debian.org/Projects/DebSrc3.0 für Informationen über "
"den Einsatz dieser Formate innerhalb von Debian."

#. type: SS
#: dpkg-source.1:237
#, no-wrap
msgid "Format: 1.0"
msgstr "Format: 1.0"

#. type: Plain text
#: dpkg-source.1:241
msgid ""
"A source package in this format consists either of a B<.orig.tar.gz> "
"associated to a B<.diff.gz> or a single B<.tar.gz> (in that case the package "
"is said to be I<native>)."
msgstr ""
"Ein Quellpaket in diesem Format besteht entweder aus einem B<.orig.tar.gz> "
"mit zugehörigem B<.diff.gz> oder einem einzelnen B<.tar.gz> (in diesem Fall "
"wird das Paket als I<nativ> bezeichnet)."

#. type: Plain text
#: dpkg-source.1:243 dpkg-source.1:411 dpkg-source.1:586 dpkg-source.1:625
msgid "B<Extracting>"
msgstr "B<Extrahieren>"

#. type: Plain text
#: dpkg-source.1:253
msgid ""
"Extracting a native package is a simple extraction of the single tarball in "
"the target directory. Extracting a non-native package is done by first "
"unpacking the B<.orig.tar.gz> and then applying the patch contained in the "
"B<.diff.gz> file. The timestamp of all patched files is reset to the "
"extraction time of the source package (this avoids timestamp skews leading "
"to problems when autogenerated files are patched). The diff can create new "
"files (the whole debian directory is created that way) but can't remove "
"files (empty files will be left over)."
msgstr ""
"Extrahieren eines nativen Pakets ist ein einfaches Extrahieren eines "
"einzelnen Tarballs in das Zielverzeichnis. Extrahieren eines nicht-nativen "
"Pakets erfolgt zuerst durch Entpacken des B<.orig.tar.gz> und dann durch "
"Anwendung des Patches aus der B<.diff.gz>-Datei. Der Zeitstempel aller "
"gepatchten Dateien wird auf den Zeitpunkt der Extrahierung des Quellpakets "
"zurückgesetzt (das vermeidet Zeitstempelversätze, die zu Problemen führen, "
"wenn autogenerierte Dateien gepatcht werden). Der Diff kann neue Dateien "
"anlegen (das gesamte Debian-Verzeichnis wird auf diese Weise erstellt), kann "
"aber keine Dateien entfernen (leere Dateien bleiben zurück)."

#. type: Plain text
#: dpkg-source.1:255 dpkg-source.1:439 dpkg-source.1:597 dpkg-source.1:630
msgid "B<Building>"
msgstr "B<Bauen>"

#. type: Plain text
#: dpkg-source.1:261
msgid ""
"Building a native package is just creating a single tarball with the source "
"directory. Building a non-native package involves extracting the original "
"tarball in a separate \".orig\" directory and regenerating the B<.diff.gz> "
"by comparing the source package I<directory> with the .orig directory."
msgstr ""
"Bauen eines nativen Paket besteht nur aus dem Erstellen eines einzigen "
"Tarballs mit dem Quellverzeichnis. Bauen eines nicht-nativen Pakets schließt "
"das Extrahieren des Original-Tarballs in ein separates Verzeichnis ».orig« "
"und die Neuerstellung des B<.diff.gz> durch Vergleich des Quellpaket-"
"I<Verzeichnisses> mit dem Verzeichnis .orig ein."

#. type: TP
#: dpkg-source.1:262
#, no-wrap
msgid "B<Build options (with -b):>"
msgstr "B<Bau-Optionen (mit -b):>"

#. type: Plain text
#: dpkg-source.1:275
msgid ""
"If a second non-option argument is supplied it should be the name of the "
"original source directory or tarfile or the empty string if the package is a "
"Debian-specific one and so has no Debianisation diffs. If no second argument "
"is supplied then B<dpkg-source> will look for the original source tarfile "
"I<package>B<_>I<upstream-version>B<.orig.tar.gz> or the original source "
"directory I<directory>B<.orig> depending on the B<-sX> arguments."
msgstr ""
"Falls ein zweites nicht-Options-Argument angegeben ist, sollte es der Namen "
"des Originalquellverzeichnisses oder der Tardatei sein. Falls das Paket "
"Debian-spezifisch ist, dann sollte dieses Argument die leere Zeichenkette "
"sein, da es kein Debianisierungs-Diff gibt. Falls kein zweites Argument "
"übergeben wird, dann schaut B<dpkg-source> nach der ursprünglichen Tardatei "
"I<Paket>B<_>I<Upstream-Version>B<.orig.tar.>I<Erweiterung> oder dem "
"ursprünglichen Quellverzeichnis I<Verzeichnis>B<.orig>, abhängig von den B<-"
"sX>-Argumenten."

#. type: Plain text
#: dpkg-source.1:281
msgid ""
"B<-sa>, B<-sp>, B<-sk>, B<-su> and B<-sr> will not overwrite existing "
"tarfiles or directories. If this is desired then B<-sA>, B<-sP>, B<-sK>, B<-"
"sU> and B<-sR> should be used instead."
msgstr ""
"B<-sa>, B<-sp>, B<-sk>, B<-su> und B<-sr> werden keine existierenden "
"Tardateien oder Verzeichnisse überschreiben. Falls dies gewünscht ist, "
"sollten stattdessen B<-sA>, B<-sP>, B<-sK>, B<-sU> und B<-sR> verwendet "
"werden."

#. type: TP
#: dpkg-source.1:281
#, no-wrap
msgid "B<-sk>"
msgstr "B<-sk>"

#. type: Plain text
#: dpkg-source.1:290
msgid ""
"Specifies to expect the original source as a tarfile, by default "
"I<package>B<_>I<upstream-version>B<.orig.tar.>I<extension>.  It will leave "
"this original source in place as a tarfile, or copy it to the current "
"directory if it isn't already there. The tarball will be unpacked into "
"I<directory>B<.orig> for the generation of the diff."
msgstr ""
"Gibt an, dass die Originalquellen als Tardatei erwartet werden sollen, "
"standardmäßig I<Paket>B<_>I<Ursprungsversion>B<.orig.tar>I<Erweiterung>. Es "
"wird diese Originalquellen als Tardatei am Platz belassen, oder sie in das "
"aktuelle Verzeichnis kopieren, falls sie dort noch nicht sind. Der Tarball "
"wird nach I<Verzeichnis>B<.orig> für die Erstellung des Diffs entpackt."

#. type: TP
#: dpkg-source.1:290 dpkg-source.1:359
#, no-wrap
msgid "B<-sp>"
msgstr "B<-sp>"

#. type: Plain text
#: dpkg-source.1:295
msgid "Like B<-sk> but will remove the directory again afterwards."
msgstr "Wie B<-sk>, aber das Verzeichnis wird danach entfernt."

#. type: TP
#: dpkg-source.1:295 dpkg-source.1:365
#, no-wrap
msgid "B<-su>"
msgstr "B<-su>"

#. type: Plain text
#: dpkg-source.1:303
msgid ""
"Specifies that the original source is expected as a directory, by default "
"I<package>B<->I<upstream-version>B<.orig> and B<dpkg-source> will create a "
"new original source archive from it."
msgstr ""
"Gibt an, dass die Originalquellen als Verzeichnis erwartet werden, "
"standardmäßig I<Paket>B<->I<Ursprungsversion>B<.orig>. B<dpkg-source> wird "
"daraus ein neues Original-Quellarchiv erstellen."

#. type: TP
#: dpkg-source.1:303
#, no-wrap
msgid "B<-sr>"
msgstr "B<-sr>"

#. type: Plain text
#: dpkg-source.1:308
msgid "Like B<-su> but will remove that directory after it has been used."
msgstr "Wie B<-su>, aber das Verzeichnis wird nach der Verwendung entfernt."

#. type: TP
#: dpkg-source.1:308
#, no-wrap
msgid "B<-ss>"
msgstr "B<-ss>"

#. type: Plain text
#: dpkg-source.1:316
msgid ""
"Specifies that the original source is available both as a directory and as a "
"tarfile. dpkg-source will use the directory to create the diff, but the "
"tarfile to create the B<.dsc>.  This option must be used with care - if the "
"directory and tarfile do not match a bad source archive will be generated."
msgstr ""
"Gibt an, dass die Originalquellen sowohl als Verzeichnis als auch als "
"Tardatei verfügbar sind. dpkg-source wird das Verzeichnis zur Erstellung des "
"Diffs verwenden, aber die Tardatei für die B<.dsc>. Diese Option muss mit "
"Vorsicht verwendet werden - falls das Verzeichnis und die Tardatei nicht "
"zusammen passen, wird ein fehlerhaftes Quellarchiv erstellt."

#. type: TP
#: dpkg-source.1:316 dpkg-source.1:368
#, no-wrap
msgid "B<-sn>"
msgstr "B<-sn>"

#. type: Plain text
#: dpkg-source.1:322
msgid ""
"Specifies to not look for any original source, and to not generate a diff.  "
"The second argument, if supplied, must be the empty string. This is used for "
"Debian-specific packages which do not have a separate upstream source and "
"therefore have no debianisation diffs."
msgstr ""
"Gibt an, dass nicht nach Originalquellen geschaut und kein Diff erstellt "
"werden soll. Das zweite Argument, falls angegeben, muss die leere "
"Zeichenkette sein. Dies wird für Debian-spezifische Pakete verwendet, die "
"keine Quellen von Originalautoren und somit kein Debianisierungs-Diff haben."

#. type: TP
#: dpkg-source.1:322
#, no-wrap
msgid "B<-sa> or B<-sA>"
msgstr "B<-sa> oder B<-sA>"

#. type: Plain text
#: dpkg-source.1:348
msgid ""
"Specifies to look for the original source archive as a tarfile or as a "
"directory - the second argument, if any, may be either, or the empty string "
"(this is equivalent to using B<-sn>).  If a tarfile is found it will unpack "
"it to create the diff and remove it afterwards (this is equivalent to B<-"
"sp>); if a directory is found it will pack it to create the original source "
"and remove it afterwards (this is equivalent to B<-sr>); if neither is found "
"it will assume that the package has no debianisation diffs, only a "
"straightforward source archive (this is equivalent to B<-sn>).  If both are "
"found then B<dpkg-source> will ignore the directory, overwriting it, if B<-"
"sA> was specified (this is equivalent to B<-sP>)  or raise an error if B<-"
"sa> was specified.  B<-sA> is the default."
msgstr ""
"Gibt an, dass nach dem Original-Quellarchiv als Tardatei oder als "
"Verzeichnis gesucht werden soll - das zweite Argument, falls vorhanden, kann "
"eines von beiden sein, oder die leere Zeichenkette (dies ist äquivalent zur "
"Verwendung von B<-sn>). Falls eine Tardatei gefunden wird, wird diese zur "
"Erstellung eines Diffs entpackt und danach entfernt (dies ist äquivalent zu "
"B<-sp>); falls ein Verzeichnis gefunden wird, wird dieses gepackt, um die "
"Originalquellen zu erstellen und danach entfernt (dies ist äquivalent zu B<-"
"sr>); falls keines von beiden gefunden wird, wird angenommen, dass das Paket "
"kein Debianisierungs-Diff sondern nur ein direktes Quellarchiv (dies ist "
"äquivalent zu B<-sn>). Falls sowohl ein Verzeichnis als auch eine Tar-Datei "
"gefunden werden, dann ignoriert B<dpkg-source> das Verzeichnis, und "
"überschreibt es, falls B<-sA> angegeben wurde (dies ist äquivalent zu B<-"
"sP>) oder löst einen Fehler aus, falls B<-sa> angegeben wurde. B<-sA> ist "
"die Voreinstellung."

#. type: TP
#: dpkg-source.1:348 dpkg-source.1:541
#, no-wrap
msgid "B<--abort-on-upstream-changes>"
msgstr "B<--abort-on-upstream-changes>"

#. type: Plain text
#: dpkg-source.1:354
msgid ""
"The process fails if the generated diff contains changes to files outside of "
"the debian sub-directory. This option is not allowed in B<debian/source/"
"options> but can be used in B<debian/source/local-options>."
msgstr ""
"Der Prozess schlägt fehl, falls das erstellte Diff Änderungen an Dateien "
"außerhalb des Unterverzeichnisses »debian« enthält. Diese Option ist in "
"B<debian/source/options> nicht erlaubt, kann aber in B<debian/source/local-"
"options> verwandt werden."

#. type: TP
#: dpkg-source.1:355
#, no-wrap
msgid "B<Extract options (with -x):>"
msgstr "B<Extrahierungs-Optionen (mit -x):>"

#. type: Plain text
#: dpkg-source.1:359
msgid "In all cases any existing original source tree will be removed."
msgstr "In allen Fällen werden die Originalquellbäume entfernt."

#. type: Plain text
#: dpkg-source.1:365
msgid ""
"Used when extracting then the original source (if any) will be left as a "
"tarfile. If it is not already located in the current directory or if an "
"existing but different file is there it will be copied there.  (B<This is "
"the default>)."
msgstr ""
"Verwendet beim Extrahieren. Die Originalquellen (falls vorhanden) werden als "
"Tar-Datei belassen. Falls diese sich nicht im aktuellen Verzeichnis befinden "
"oder falls eine existierende, aber davon verschiedene Datei bereits "
"vorhanden ist, wird sie dort hin kopiert. (B<Dies ist die Voreinstellung.>)"

#. type: Plain text
#: dpkg-source.1:368
msgid "Unpacks the original source tree."
msgstr "Entpackt den Originalquellbaum."

#. type: Plain text
#: dpkg-source.1:373
msgid ""
"Ensures that the original source is neither copied to the current directory "
"nor unpacked. Any original source tree that was in the current directory is "
"still removed."
msgstr ""
"Stellt sicher, dass die Originalquellen weder in das aktuelle Verzeichnis "
"kopiert noch entpackt werden. Jeder Originalquellbaum, der im aktuellen "
"Verzeichnis war, wird dennoch entfernt."

#. type: Plain text
#: dpkg-source.1:378
msgid ""
"All the B<-s>I<X> options are mutually exclusive. If you specify more than "
"one only the last one will be used."
msgstr ""
"Alle B<-s>I<X>-Optionen schließen sich paarweise aus. Falls Sie mehr als "
"eine angeben, wird nur die letzte verwendet."

#. type: TP
#: dpkg-source.1:378 dpkg-source.1:555
#, no-wrap
msgid "B<--skip-debianization>"
msgstr "B<--skip-debianization>"

#. type: Plain text
#: dpkg-source.1:381
msgid "Skips application of the debian diff on top of the upstream sources."
msgstr ""
"Überspringt die Anwendung des Debian-Diffs auf die Quellen der "
"Originalautoren."

#. type: SS
#: dpkg-source.1:382
#, no-wrap
msgid "Format: 2.0"
msgstr "Format: 2.0"

#. type: Plain text
#: dpkg-source.1:386
msgid ""
"Also known as wig&pen. This format is not recommended for wide-spread usage, "
"the format \"3.0 (quilt)\" replaces it. Wig&pen was the first specification "
"of a new-generation source package format."
msgstr ""
"Auch als »wig&pen« bekannt. Dieses Format wird nicht für den breiten Einsatz "
"empfohlen, es wird durch das Format »3.0 (quilt)« ersetzt. Wig&pen war die "
"erste Spezifikation eines Paketformats der nächsten Generation."

#. type: Plain text
#: dpkg-source.1:391
msgid ""
"The behaviour of this format is the same as the \"3.0 (quilt)\" format "
"except that it doesn't use an explicit list of patches. All files in "
"B<debian/patches/> matching the perl regular expression B<[\\ew-]+> must be "
"valid patches: they are applied at extraction time."
msgstr ""
"Das Verhalten dieses Formats ist identisch zum Format »3.0 (quilt)«, "
"abgesehen davon, dass es keine explizite Liste von Patches verwendet. Alle "
"Dateien in B<debian/patches/>, die auf den regulären Perlausdruck B<"
"[\\ew-]+> passen, müssen gültige Patches sein: sie werden zum Zeitpunkt der "
"Extrahierung angewandt."

#. type: Plain text
#: dpkg-source.1:394
msgid ""
"When building a new source package, any change to the upstream source is "
"stored in a patch named B<zz_debian-diff-auto>."
msgstr ""
"Wenn ein neues Quellpaket gebaut wird, werden alle Änderungen an den Quellen "
"der Originalautoren in einem Patch mit Namen B<zz_debian-diff-auto> "
"gespeichert."

#. type: SS
#: dpkg-source.1:395
#, no-wrap
msgid "Format: 3.0 (native)"
msgstr "Format: 3.0 (native)"

#. type: Plain text
#: dpkg-source.1:401
msgid ""
"This format is an extension of the native package format as defined in the "
"1.0 format. It supports all compression methods and will ignore by default "
"any VCS specific files and directories as well as many temporary files (see "
"default value associated to B<-I> option in the B<--help> output)."
msgstr ""
"Dieses Format ist eine Erweiterung des nativen Paketformats wie es im 1.0-"
"Format definiert ist. Es unterstützt alle Kompressionsmethoden und ignoriert "
"standardmäßig alle VCS-spezifischen Dateien und Verzeichnisse sowie viele "
"temporäre Dateien (lesen Sie den Standardwert der Option B<-I> bei der "
"Ausgabe von B<--help>)."

#. type: SS
#: dpkg-source.1:402
#, no-wrap
msgid "Format: 3.0 (quilt)"
msgstr "Format: 3.0 (quilt)"

#. type: Plain text
#: dpkg-source.1:409
msgid ""
"A source package in this format contains at least an original tarball (B<."
"orig.tar.>I<ext> where I<ext> can be B<gz>, B<bz2>, B<lzma> and B<xz>) and a "
"debian tarball (B<.debian.tar.>I<ext>). It can also contain additional "
"original tarballs (B<.orig->I<component>B<.tar.>I<ext>).  I<component> can "
"only contain alphanumeric characters and dashes (\"-\")."
msgstr ""
"Ein Quellpaket in diesem Format enthält mindestens einen Original-Tarball "
"(B<.orig.tar.>I<erw>, wobei I<erw> B<gz>, B<bz2>, B<lzma> und B<xz> sein "
"kann) und einen Debian-Tarball (B<.debian.tar.>I<erw>). Es kann auch "
"zusätzliche Original-Tarbälle (B<.orig->I<Komponente>B<.tar.>I<erw>)) "
"enthalten. I<Komponente> kann nur alphanumerische Zeichen und "
"Gedankenstriche (»-«) enthalten."

#. type: Plain text
#: dpkg-source.1:420
msgid ""
"The main original tarball is extracted first, then all additional original "
"tarballs are extracted in subdirectories named after the I<component> part "
"of their filename (any pre-existing directory is replaced). The debian "
"tarball is extracted on top of the source directory after prior removal of "
"any pre-existing B<debian> directory. Note that the debian tarball must "
"contain a B<debian> sub-directory but it can also contain binary files "
"outside of that directory (see B<--include-binaries> option)."
msgstr ""
"Der Haupt-Originaltarball wird zuerst extrahiert, dann werden alle "
"zusätzlichen Originaltarbälle in Unterverzeichnisse extrahiert, die nach dem "
"I<Komponente>n-Teil ihres Dateinamens benannt werden (jedes bereits "
"existierende Verzeichnis wird ersetzt). Der Debian-Tarball wird auf das "
"Quellverzeichnis extrahiert, nachdem jedes bereits existierende B<debian>-"
"Verzeichnis entfernt wurde. Beachten Sie, dass der Debian-Tarball ein "
"B<debian>-Unterverzeichnis enthalten muss, er aber auch Binärdateien "
"außerhalb dieses Verzeichnisses enthalten darf (sehen Sie hierzu die Option "
"B<--include-binaries>)."

#. type: Plain text
#: dpkg-source.1:432
msgid ""
"All patches listed in B<debian/patches/debian.series> or B<debian/patches/"
"series> are then applied.  If the former file is used and the latter one "
"doesn't exist (or is a symlink), then the latter is replaced with a symlink "
"to the former. This is meant to simplify usage of quilt to manage the set of "
"patches. Note however that while B<dpkg-source> parses correctly series "
"files with explicit options used for patch application (stored on each line "
"after the patch filename and one or more spaces), it does ignore those "
"options and always expect patches that can be applied with the B<-p1> option "
"of B<patch>. It will thus emit a warning when it encounters such options, "
"and the build is likely to fail."
msgstr ""
"Dann werden alle in B<debian/patches/debian.series> oder B<debian/patches/"
"series> aufgeführten Patches angewandt. Falls die erstere Datei verwandt "
"wird und die letztere nicht existiert (oder ein Symlink ist), dann wird die "
"letztere mit einem Symlink zu ersterer ersetzt. Dies ist zur Vereinfachung "
"der Verwendung von Quilt gedacht, um den Satz an Patches zu verwalten. "
"Beachten Sie allerdings, dass B<dpkg-source> zwar Seriendateien auswertet, "
"in denen explizite Optionen für die Anwendung der Patches verwandt werden "
"(diese werden auf jede Zeile nach dem Patch-Dateinamen und einem oder "
"mehreren Leerzeichen gespeichert), diese Optionen dann aber ignoriert und "
"immer erwartet, dass die Patches mit der Option B<-p1> von B<patch> "
"angewandt werden können. Es wird daher eine Warnung ausgeben, wenn es auf "
"solche Optionen trifft, und der Bau wird wahrscheinlich fehlschlagen."

#. type: Plain text
#: dpkg-source.1:434
msgid ""
"Similarly to quilt's default behaviour, the patches can remove files too."
msgstr "Ähnlich wie bei Quilt können Patches auch Dateien entfernen."

#. type: Plain text
#: dpkg-source.1:437
msgid ""
"The file B<.pc/applied-patches> is created if some patches have been applied "
"during the extraction."
msgstr ""
"Die Datei B<.pc/applied-patches> wird angelegt, falls einige Patches während "
"der Extrahierung angewandt wurden."

#. type: Plain text
#: dpkg-source.1:451
msgid ""
"All original tarballs found in the current directory are extracted in a "
"temporary directory by following the same logic as for the unpack, the "
"debian directory is copied over in the temporary directory, and all patches "
"except the automatic patch (B<debian-changes->I<version> or B<debian-"
"changes>, depending on B<--single-debian-patch>) are applied. The temporary "
"directory is compared to the source package directory. When the diff is non-"
"empty, the build fails unless B<--single-debian-patch> or B<--auto-commit> "
"has been used, in which case the diff is stored in the automatic patch.  If "
"the automatic patch is created/deleted, it's added/removed from the series "
"file and from the quilt metadata."
msgstr ""
"Alle im aktuellen Verzeichnis gefundenen Original-Tarbälle werden in ein "
"temporäres Verzeichnis entpackt. Hierbei wird die gleiche Logik wie für das "
"Entpacken verwandt, das debian-Verzeichnis wird in das temporäre Verzeichnis "
"kopiert und alle Patches außer dem automatischen Patch (B<debian-changes-"
">I<Version> oder B<debian-changes>, abhängig von B<--single-debian-patch>) "
"werden angewandt. Das temporäre Verzeichnis wird mit dem "
"Quellpaketverzeichnis verglichen. Wenn der Diff nicht leer ist, schlägt der "
"Bau fehl, falls nicht B<--single-debian-patch> oder B<--auto-commit> "
"verwandt wurde; in diesem Fall wird der Diff im automatischen Patch "
"gespeichert. Falls der automatische Patch erzeugt/gelöscht wird, wird er zu "
"der Datei series und den Quilt-Metadaten hinzugefügt bzw. aus diesen "
"gelöscht."

#. type: Plain text
#: dpkg-source.1:459
msgid ""
"Any change on a binary file is not representable in a diff and will thus "
"lead to a failure unless the maintainer deliberately decided to include that "
"modified binary file in the debian tarball (by listing it in B<debian/source/"
"include-binaries>). The build will also fail if it finds binary files in the "
"debian sub-directory unless they have been whitelisted through B<debian/"
"source/include-binaries>."
msgstr ""
"Änderungen an Binärdateien können in einem Diff nicht dargestellt werden und "
"führen daher zu einem Fehlschlag, es sei denn, der Betreuer hat sich "
"absichtlich dazu entschlossen, die veränderte Binärdatei dem Debian-Tarball "
"hinzuzufügen (indem er sie in B<debian/source/include-binaries> aufgeführt "
"hat). Der Bau wird auch fehlschlagen, falls er Binärdateien im debian-"
"Unterverzeichnis findet, die nicht über B<debian/source/include-binaries> "
"freigegeben wurden."

#. type: Plain text
#: dpkg-source.1:462
msgid ""
"The updated debian directory and the list of modified binaries is then used "
"to generate the debian tarball."
msgstr ""
"Das aktualisierte debian-Verzeichnis und die Liste der veränderten Programme "
"wird dann zur Erstellung des Debian-Tarballs verwandt."

#. type: Plain text
#: dpkg-source.1:468
msgid ""
"The automatically generated diff doesn't include changes on VCS specific "
"files as well as many temporary files (see default value associated to B<-i> "
"option in the B<--help> output). In particular, the B<.pc> directory used by "
"quilt is ignored during generation of the automatic patch."
msgstr ""
"Der automatisch erstellte Diff enthält keine Änderungen an VCS-spezifischen "
"sowie vielen temporären Dateien (lesen Sie hierzu den zur Option B<-i> "
"zugeordneten Standardwert in der Ausgabe von B<--help>). Insbesondere wird "
"das von Quilt verwandte B<.pc>-Verzeichnis während der Erstellung des "
"automatischen Patches ignoriert."

#. type: Plain text
#: dpkg-source.1:477
msgid ""
"Note: B<dpkg-source> B<--before-build> (and B<-b>) will ensure that all "
"patches listed in the series file are applied so that a package build always "
"has all patches applied. It does this by finding unapplied patches (they are "
"listed in the B<series> file but not in B<.pc/applied-patches>), and if the "
"first patch in that set can be applied without errors, it will apply them "
"all. The option B<--no-preparation> can be used to disable this behavior."
msgstr ""
"Hinweis: B<dpkg-source> B<--before-build> (und B<-b>) stellen sicher, dass "
"alle in der Series-Datei aufgeführten Patches angewendet sind, so dss ein "
"Paketbau immer mit allen angewandten Patches durchgeführt wird. Dies "
"erfolgt, indem nicht angewandte Patches ermittelt werden (sie sind in der "
"Datei B<series>, aber nicht in der Datei B<.pc/applied-patches> aufgeführt) "
"und wenn der erste Patch in dem Satz ohne Fehler angewandt werden kann, "
"werden sie alle angewandt. Die Option B<--no-preparation> kann zum "
"Abschalten dieses Verhaltens verwandt werden."

#. type: Plain text
#: dpkg-source.1:480
msgid "B<Recording changes>"
msgstr "B<Änderungen aufzeichnen>"

#. type: TP
#: dpkg-source.1:480
#, no-wrap
msgid "B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]"
msgstr "B<--commit> [I<Verzeichnis>] [I<Patch-Name>] [I<Patch-Datei>]"

#. type: Plain text
#: dpkg-source.1:490
msgid ""
"Generates a patch corresponding to the local changes that are not managed by "
"the quilt patch system and integrates it in the patch system under the name "
"I<patch-name>. If the name is missing, it will be asked interactively. If "
"I<patch-file> is given, it is used as the patch corresponding to the local "
"changes to integrate. This is mainly useful after a build failure that pre-"
"generated this file. Once integrated, an editor is launched so that you can "
"edit the meta-information in the patch header."
msgstr ""
"Erstellt einen Patch, der den lokalen Änderungen entspricht, die nicht vom "
"Quilt-Patch-System verwaltet werden und integriert es unter dem Namen "
"I<Patch-Name> in das Patch-System. Falls der Name fehlt, wird er interaktiv "
"erfragt. Falls I<Patch-Datei> angegeben ist, wird er als Patch, der zu den "
"lokalen Änderungen, die integriert werden sollen, gehört, verwandt. Dies ist "
"primär nach einem Baufehler nützlich, der diese Datei vorgenerierte. Sobald "
"die Patch integriert wurde, wird ein Editor gestartet, so dass Sie die "
"Metainformationen in den Kopfzeilen des Patches einfügen können."

#. type: Plain text
#: dpkg-source.1:493 dpkg-source.1:567 dpkg-source.1:606
msgid "B<Build options>"
msgstr "B<Bau-Optionen>"

#. type: TP
#: dpkg-source.1:493
#, no-wrap
msgid "B<--allow-version-of-quilt-db=>I<version>"
msgstr "B<--allow-version-of-quilt-db=>I<Version>"

#. type: Plain text
#: dpkg-source.1:501
msgid ""
"Allow B<dpkg-source> to build the source package if the version of the quilt "
"metadata is the one specified, even if B<dpkg-source> doesn't know about it. "
"Effectively this says that the given version of the quilt metadata is "
"compatible with the version 2 that B<dpkg-source> currently supports. The "
"version of the quilt metadata is stored in B<.pc/.version>."
msgstr ""
"Erlaubt es B<dpkg-source>, ein Quellpaket zu bauen, falls die Version der "
"Quilt-Metadaten die angegebene ist, selbst falls B<dpkg-source> nichts davon "
"weiß. Effektiv teilt dies mit, dass die angegebene Version der Quilt-"
"Metadaten zu Version 2, die B<dpkg-source> derzeit unterstützt, kompatibel "
"ist. Die Version der Quilt-Metadaten wird in B<.pc/.version> gespeichert."

#. type: TP
#: dpkg-source.1:501
#, no-wrap
msgid "B<--include-removal>"
msgstr "B<--include-removal>"

#. type: Plain text
#: dpkg-source.1:505
msgid ""
"Do not ignore removed files and include them in the automatically generated "
"patch."
msgstr ""
"Ignoriere entfernte Dateien nicht und füge sie zu dem automatisch "
"generierten Patch hinzu."

#. type: TP
#: dpkg-source.1:505
#, no-wrap
msgid "B<--include-timestamp>"
msgstr "B<--include-timestamp>"

#. type: Plain text
#: dpkg-source.1:508
msgid "Include timestamp in the automatically generated patch."
msgstr "Füge Zeitstempel zu dem automatisch generierten Patch hinzu."

#. type: TP
#: dpkg-source.1:508
#, no-wrap
msgid "B<--include-binaries>"
msgstr "B<--include-binaries>"

#. type: Plain text
#: dpkg-source.1:513
msgid ""
"Add all modified binaries in the debian tarball. Also add them to B<debian/"
"source/include-binaries>: they will be added by default in subsequent builds "
"and this option is thus no more needed."
msgstr ""
"Füge alle veränderten Programme zu dem debian-Tarball hinzu. Füge sie auch "
"in B<debian/source/include-binaries>: sie werden in folgenden Bauten "
"standardmäßig hinzugefügt und diese Option wird daher dann nicht mehr "
"benötigt."

#. type: TP
#: dpkg-source.1:513
#, no-wrap
msgid "B<--no-preparation>"
msgstr "B<--no-preparation>"

#. type: Plain text
#: dpkg-source.1:517
msgid ""
"Do not try to prepare the build tree by applying patches which are "
"apparently unapplied."
msgstr ""
"Versuche nicht den Bau-Baum durch Anwenden aller derzeit nicht angewandten "
"Patches vorzubreiten."

#. type: TP
#: dpkg-source.1:517
#, no-wrap
msgid "B<--single-debian-patch>"
msgstr "B<--single-debian-patch>"

#. type: Plain text
#: dpkg-source.1:528
msgid ""
"Use B<debian/patches/debian-changes> instead of B<debian/patches/debian-"
"changes->I<version> for the name of the automatic patch generated during "
"build. This option is particularly useful when the package is maintained in "
"a VCS and a patch set can't reliably be generated. Instead the current diff "
"with upstream should be stored in a single patch. The option would be put in "
"B<debian/source/local-options> and would be accompanied by a B<debian/source/"
"local-patch-header> file explaining how the Debian changes can be best "
"reviewed, for example in the VCS that is used."
msgstr ""
"Verwende B<debian/patches/debian-changes> statt B<debian/patches/debian-"
"changes->I<Version> als Namen für den während des Baus automatisch "
"generierten Patch. Diese Option ist insbesondere nützlich, wenn das Paket in "
"einem VCS betreut wird und ein Patch-Satz nicht zuverlässig erstellt werden "
"kann. Stattdessen sollte der aktuelle Diff zu den Quellen der "
"Originalautoren in einem einzelnen Patch gespeichert werden. Diese Option "
"sollte in B<debian/source/local-options> eingestellt werden und würde dann "
"von einer Datei B<debian/source/local-patch-header> begleitet, in der "
"erklärt wird, wie die Debian-Änderungen am besten begutachtet werden können, "
"beispielsweise im eingesetzten VCS."

#. type: TP
#: dpkg-source.1:528
#, no-wrap
msgid "B<--create-empty-orig>"
msgstr "B<--create-empty-orig>"

#. type: Plain text
#: dpkg-source.1:534
msgid ""
"Automatically create the main original tarball as empty if it's missing and "
"if there are supplementary original tarballs. This option is meant to be "
"used when the source package is just a bundle of multiple upstream software "
"and where there's no \"main\" software."
msgstr ""
"Erstelle den Hauptoriginal-Tarball automatisch als leer falls er fehlt und "
"falls es ergänzende Original-Tarbälle gibt. Diese Option ist dafür gedacht, "
"wenn das Quellpaket nur eine Sammlung von mehreren Softwaren der "
"Originalautoren ist und es keine »Haupt«-Software gibt."

#. type: TP
#: dpkg-source.1:534
#, no-wrap
msgid "B<--unapply-patches>"
msgstr "B<--unapply-patches>"

#. type: Plain text
#: dpkg-source.1:541
msgid ""
"Unapply the patches in the B<--after-build> hook. You usually don't need "
"this option as dpkg-source will automatically unapply the patches if it did "
"apply them during B<--before-build>. This option is only allowed in B<debian/"
"source/local-options> so that all generated source packages have the same "
"behavior by default."
msgstr ""
"Entfernt die Patches im Hook B<--after-build>. Normalerweise benötigen Sie "
"diese Option nicht, da Dpkg-source alle Patches automatisch entfernen wird, "
"wenn es sie während B<--before-build> angewandt hatte. Diese Option ist nur "
"in B<debian/source/local-options> erlaubt, so dass alle erstellten "
"Quellpakete standardmäßig das gleiche Verhalten zeigen."

#. type: Plain text
#: dpkg-source.1:548
msgid ""
"The process fails if an automatic patch has been generated. This option can "
"be used to ensure that all changes were properly recorded in separate quilt "
"patches prior to the source package build. This option is not allowed in "
"B<debian/source/options> but can be used in B<debian/source/local-options>."
msgstr ""
"Dieser Prozess schlägt fehl, falls ein automatischer Patch erstellt wurde. "
"Diese Option kann dazu verwandt werden, sicherzustellen, dass alle "
"Änderungen korrekt in separaten Quilt-Patches aufgezeichnet wurden, bevor "
"das Paket gebaut wurde. Diese Option ist in B<debian/source/options> nicht "
"erlaubt, kann aber in B<debian/source/local-options> verwandt werden."

#. type: TP
#: dpkg-source.1:548
#, no-wrap
msgid "B<--auto-commit>"
msgstr "B<--auto-commit>"

#. type: Plain text
#: dpkg-source.1:552
msgid ""
"The process doesn't fail if an automatic patch has been generated, instead "
"it's immediately recorded in the quilt series."
msgstr ""
"Der Vorgang schlägt nicht fehl, falls ein automatischer Patch erstellt "
"wurde, stattdessen wird dieser sofort in die Quilt-Serie aufgenommen."

#. type: Plain text
#: dpkg-source.1:555
msgid "B<Extract options>"
msgstr "B<Extrahierungs-Optionen>"

#. type: Plain text
#: dpkg-source.1:558
msgid "Skips extraction of the debian tarball on top of the upstream sources."
msgstr ""
"Überspringt das Entpacken des Debian-Tarballs auf die Quellen der "
"Originalautoren."

#. type: TP
#: dpkg-source.1:558
#, no-wrap
msgid "B<--skip-patches>"
msgstr "B<--skip-patches>"

#. type: Plain text
#: dpkg-source.1:561
msgid "Do not apply patches at the end of the extraction."
msgstr "Wende am Ende der Extrahierung keine Patches an."

#. type: SS
#: dpkg-source.1:562
#, no-wrap
msgid "Format: 3.0 (custom)"
msgstr "Format: 3.0 (custom)"

#. type: Plain text
#: dpkg-source.1:565
msgid ""
"This format is special. It doesn't represent a real source package format "
"but can be used to create source packages with arbitrary files."
msgstr ""
"Dieses Format ist besonders. Es stellt kein echtes Quellpaket dar, kann aber "
"zur Erstellung eines Quellpakets mit beliebigen Dateien verwandt werden."

#. type: Plain text
#: dpkg-source.1:571
msgid ""
"All non-option arguments are taken as files to integrate in the generated "
"source package. They must exist and are preferably in the current directory. "
"At least one file must be given."
msgstr ""
"Alle Argumente, die keine Optionen sind, werden als Dateien verstanden, die "
"in das generierte Quellpaket integriert werden sollen. Sie müssen existieren "
"und sich bevorzugt im aktuellen Verzeichnis befinden. Mindestens eine Datei "
"muss angegeben werden."

#. type: TP
#: dpkg-source.1:571
#, no-wrap
msgid "B<--target-format=>I<value>"
msgstr "B<--target-format=>I<Wert>"

#. type: Plain text
#: dpkg-source.1:576
msgid ""
"B<Required>. Defines the real format of the generated source package.  The "
"generated .dsc file will contain this value in its I<Format> field and not "
"\"3.0 (custom)\"."
msgstr ""
"B<Notwendig>. Definiert das echte Format des generierten Quellpakets. Die "
"generierte .dsc-Datei wird diesen Wert und nicht »3.0 (custom)« in ihrem "
"I<Format>-Feld enthalten."

#. type: SS
#: dpkg-source.1:577
#, no-wrap
msgid "Format: 3.0 (git)"
msgstr "Format: 3.0 (git)"

#. type: Plain text
#: dpkg-source.1:579
msgid "This format is experimental."
msgstr "Dieses Format ist experimentell."

#. type: Plain text
#: dpkg-source.1:584
msgid ""
"A source package in this format consists of a single bundle of a git "
"repository B<.git> to hold the source of a package.  There may also be a B<."
"gitshallow> file listing revisions for a shallow git clone."
msgstr ""
"Ein Quellpaket in diesem Format besteht aus einem einzelnen Bündel eines Git-"
"Depots B<.git>, um die Quellen des Pakets zu verwahren. Es kann auch eine "
"Datei B<.gitshallow> geben, die die Revisionen für einen flachen Git-Clone "
"aufführt."

#. type: Plain text
#: dpkg-source.1:590
msgid ""
"The bundle is cloned as a git repository to the target directory.  If there "
"is a gitshallow file, it is installed as `.git/shallow` inside the cloned "
"git repository."
msgstr ""
"Das Bündel wird als Git-Depot in das Zielverzeichnis geklont. Falls es eine "
"Datei gitshallow gibt, wird diese als ».git/shallow« innerhalb des geklonten "
"Git-Depots installiert."

#. type: Plain text
#: dpkg-source.1:595
msgid ""
"Note that by default the new repository will have the same branch checked "
"out that was checked out in the original source. (Typically \"master\", but "
"it could be anything.) Any other branches will be available under `remotes/"
"origin/`."
msgstr ""
"Beachten Sie, dass standardmäßig im neuen Depot der gleiche Zweig "
"ausgecheckt ist, der auch in der ursprünglichen Quelle ausgecheckt war "
"(typischerweise »master«, es könnte aber auch was beliebig anderes sein). "
"Alle anderen Zweige sind unter »remotes/origin/« verfügbar."

#. type: Plain text
#: dpkg-source.1:600 dpkg-source.1:633
msgid ""
"Before going any further, some checks are done to ensure that we don't have "
"any non-ignored uncommitted changes."
msgstr ""
"Bevor fortgefahren wird, werden einige Überprüfungen ausgeführt, um "
"sicherzustellen, dass keine nicht-ignorierten, nicht-übertragene "
"(»uncommitted«) Änderungen vorliegen."

#. type: Plain text
#: dpkg-source.1:604
msgid ""
"B<git-bundle>(1) is used to generate a bundle of the git repository.  By "
"default, all branches and tags in the repository are included in the bundle."
msgstr ""
"B<git-bundle>(1) wird zur Erstellung des Bündels des Git-Depots verwandt. "
"Standardmäßig werden alle Zweige und Markierungen im Depot im Bündel "
"einbezogen."

#. type: TP
#: dpkg-source.1:606
#, no-wrap
msgid "B<--git-ref=>I<ref>"
msgstr "B<--git-ref=>I<Referenz>"

#. type: Plain text
#: dpkg-source.1:616
msgid ""
"Allows specifying a git ref to include in the git bundle. Use disables the "
"default behavior of including all branches and tags. May be specified "
"multiple times. The I<ref> can be the name of a branch or tag to include. It "
"may also be any parameter that can be passed to B<git-rev-list>(1). For "
"example, to include only the master branch, use --git-ref=master. To include "
"all tags and branches, except for the private branch, use --git-ref=--all --"
"git-ref=^private"
msgstr ""
"Erlaubt die Angabe einer Git-Referenz zur Aufnahme in dem Git-Bündel. Die "
"Verwendung deaktiviert das standardmäßige Verhalten, alle Zweige und "
"Markierungen aufzunehmen. Kann mehrfach angegeben werden. I<Referenz> kann "
"der Name eines Zweiges oder einer Markierung, der/die aufgenommen werden "
"soll, sein. Es kann auch ein Parameter sein, der an B<git-rev-list>(1) "
"übergeben werden kann. Verwenden Sie beispielsweise »--git-ref=master«, um "
"nur den Master-Zweig aufzunehmen. Um alle Markierungen und Zweige außer dem "
"Zweig »private« aufzunehmen, verwenden Sie »--git-ref=--all --git-"
"ref=^private."

#. type: TP
#: dpkg-source.1:616
#, no-wrap
msgid "B<--git-depth=>I<number>"
msgstr "B<--git-depth=>I<Zahl>"

#. type: Plain text
#: dpkg-source.1:620
msgid ""
"Creates a shallow clone with a history truncated to the specified number of "
"revisions."
msgstr ""
"Erstellt einen seichten Klon mit einem Verlauf, der bei der angegebenen "
"Anzahl an Revisionen abgeschnitten wird."

#. type: SS
#: dpkg-source.1:620
#, no-wrap
msgid "Format: 3.0 (bzr)"
msgstr "Format: 3.0 (bzr)"

#. type: Plain text
#: dpkg-source.1:623
msgid ""
"This format is experimental. It generates a single tarball containing the "
"bzr repository."
msgstr ""
"Dieses Formate ist experimentell. Es erstellt einen einzigen Tarball, der "
"das Bzr-Depot enthält."

#. type: Plain text
#: dpkg-source.1:628
msgid ""
"The tarball is unpacked and then bzr is used to checkout the current branch."
msgstr ""
"Der Tarball wird entpackt und dann wird Bzr verwandt, um den aktuellen Zweig "
"auszuchecken."

#. type: Plain text
#: dpkg-source.1:637
msgid ""
"Then the VCS specific part of the source directory is copied over to a "
"temporary directory. Before this temporary directory is packed in a tarball, "
"various cleanup are done to save space."
msgstr ""
"Dann wird der VCS-spezifische Teil des Quellpakets in ein temporäres "
"Verzeichnis kopiert. Bevor dieses temporäre Verzeichnis in einen Tarball "
"gepackt wird, werden verschiedene Bereinigungen durchgeführt, um Platz zu "
"sparen."

#. type: SH
#: dpkg-source.1:637
#, no-wrap
msgid "WARNINGS AND ERRORS"
msgstr "WARNUNGEN UND FEHLER"

#. type: SS
#: dpkg-source.1:638
#, no-wrap
msgid "no source format specified in debian/source/format"
msgstr "kein Quellformat in debian/source/format angegeben"

#. type: Plain text
#: dpkg-source.1:644
msgid ""
"The file B<debian/source/format> should always exist and indicate the "
"desired source format. For backwards compatibility, format \"1.0\" is "
"assumed when the file doesn't exist but you should not rely on this: at some "
"point in the future dpkg-source will be modified to fail when that file "
"doesn't exist."
msgstr ""
"Die Datei B<debian/source/format> sollte immer existieren und das gewünschte "
"Quellformat angeben. Für Rückwärtskompatibilität wird das Format »1.0« "
"angenommen, wenn die Datei nicht existiert, aber Sie sollten sich nicht "
"darauf verlassen: Irgendwann in der Zukunft wird dpkg-source verändert und "
"dann fehlschlagen, wenn diese Datei nicht existiert."

#. type: Plain text
#: dpkg-source.1:650
msgid ""
"The rationale is that format \"1.0\" is no longer the recommended format, "
"you should usually pick one of the newer formats (\"3.0 (quilt)\", \"3.0 "
"(native)\") but B<dpkg-source> will not do this automatically for you.  If "
"you want to continue using the old format, you should be explicit about it "
"and put \"1.0\" in B<debian/source/format>."
msgstr ""
"Die Begründung liegt darin, dass »1.0« nicht mehr das empfohlene Format ist, "
"Sie sollten normalerweise eines der neueren Formate (»3.0 (quilt)«, »3.0 "
"(native)«) auswählen, aber B<dpkg-source> wird dies nicht für Sie "
"automatisch vornehmen. Falls Sie weiterhin das alte Format verwenden "
"möchten, sollten Sie dies explizit angeben und »1.0« in B<debian/source/"
"format> eintragen."

#. type: SS
#: dpkg-source.1:650
#, no-wrap
msgid "the diff modifies the following upstream files"
msgstr "der Diff verändert die folgenden Dateien der Originalautoren"

#. type: Plain text
#: dpkg-source.1:657
msgid ""
"When using source format \"1.0\" it is usually a bad idea to modify upstream "
"files directly as the changes end up hidden and mostly undocumented in the ."
"diff.gz file. Instead you should store your changes as patches in the debian "
"directory and apply them at build-time. To avoid this complexity you can "
"also use the format \"3.0 (quilt)\" that offers this natively."
msgstr ""
"Beim Einsatz des Quellformats »1.0« ist es normalerweise keine gute Idee, "
"die Dateien der Originalautoren direkt zu verändern, da die Änderungen "
"größtenteils versteckt und undokumentiert in der diff.gz-Datei verschwinden. "
"Stattdessen sollten Sie Ihre Änderungen als Patches im debian-Verzeichnis "
"speichern und während des Baus anwenden. Um diese Komplexität zu vermeiden, "
"können Sie auch das Format »3.0 (quilt)« verwenden, das dies von sich aus "
"anbietet."

#. type: SS
#: dpkg-source.1:657
#, no-wrap
msgid "cannot represent change to I<file>"
msgstr "kann Änderungen an I<Datei> nicht darstellen"

#. type: Plain text
#: dpkg-source.1:663
msgid ""
"Changes to upstream sources are usually stored with patch files, but not all "
"changes can be represented with patches: they can only alter the content of "
"plain text files. If you try replacing a file with something of a different "
"type (for example replacing a plain file with a symlink or a directory), you "
"will get this error message."
msgstr ""
"Änderungen an den Quellen der Originalautoren werden normalerweise als Patch-"
"Dateien gespeichert, aber nicht alle Änderungen können als Patches "
"dargestellt werden: Sie können nur Änderungen am Inhalt einfacher "
"Textdateien vornehmen. Falls Sie versuchen, eine Datei mit etwas eines "
"anderen Typs zu ersetzen (beispielsweise eine einfache Datei mit einem "
"Symlink oder einem Verzeichnis), werden Sie diese Fehlermeldung erhalten."

#. type: SS
#: dpkg-source.1:663
#, no-wrap
msgid "newly created empty file I<file> will not be represented in diff"
msgstr "neu angelegte leere Datei I<Datei> wird im Diff nicht dargestellt werden"

#. type: Plain text
#: dpkg-source.1:666
msgid ""
"Empty files can't be created with patch files. Thus this change is not "
"recorded in the source package and you are warned about it."
msgstr ""
"Leere Dateien können nicht mit Patchdateien erstellt werden. Daher wird "
"diese Änderung nicht im Quellpaket aufgezeichnet und Sie erhalten dazu diese "
"Warnung."

#. type: SS
#: dpkg-source.1:666
#, no-wrap
msgid "executable mode I<perms> of I<file> will not be represented in diff"
msgstr "ausführbarer Modus I<Rechte> von I<Datei> wird nicht im Diff dargestellt werden"

#. type: SS
#: dpkg-source.1:667
#, no-wrap
msgid "special mode I<perms> of I<file> will not be represented in diff"
msgstr "besonderer Modus I<Rechte> von I<Datei> wird nicht im Diff dargestellt werden"

#. type: Plain text
#: dpkg-source.1:671
msgid ""
"Patch files do not record permissions of files and thus modified permissions "
"are not stored in the source package. This warning reminds you of that fact."
msgstr ""
"Patch-Dateien speichern nicht die Rechte von Dateien und daher werden "
"geänderte Rechte nicht im Quellpaket gespeichert. Diese Warnung erinnert Sie "
"an diese Tatsache."

#. type: SH
#: dpkg-source.1:671
#, no-wrap
msgid "FILE FORMATS"
msgstr "DATEIFORMATE"

#. type: SS
#: dpkg-source.1:672
#, no-wrap
msgid "debian/source/format"
msgstr "debian/source/format"

#. type: Plain text
#: dpkg-source.1:676
msgid ""
"This file contains on a single line the format that should be used to build "
"the source package (possible formats are described above). No leading or "
"trailing spaces are allowed."
msgstr ""
"Diese Datei enthält auf einer einzelnen Zeile das Format, das zum Bau des "
"Quellpakets verwandt werden soll (mögliche Formate sind oben beschrieben). "
"Leerzeichen am Zeilenanfang oder -ende sind nicht erlaubt."

#. type: SS
#: dpkg-source.1:676
#, no-wrap
msgid "debian/source/include-binaries"
msgstr "debian/source/include-binaries"

#. type: Plain text
#: dpkg-source.1:680
msgid ""
"This file contains a list of binary files (one per line) that should be "
"included in the debian tarball. Leading and trailing spaces are stripped.  "
"Lines starting with \"#\" are comments and are skipped. Empty lines are "
"ignored."
msgstr ""
"Diese Datei enthält eine Liste von Binärdateien (eine pro Zeile), die in den "
"Debian-Tarball aufgenommen werden sollen. Leerzeichen am Anfang und Ende der "
"Zeile werden entfernt. Zeilen, die mit »#« anfangen, sind Kommentare und "
"werden übersprungen. Leere Zeilen werden ignoriert."

#. type: SS
#: dpkg-source.1:680
#, no-wrap
msgid "debian/source/options"
msgstr "debian/source/options"

#. type: Plain text
#: dpkg-source.1:686
msgid ""
"This file contains a list of long options that should be automatically "
"prepended to the set of command line options of a B<dpkg-source -b> or "
"B<dpkg-source --print-format> call. Options like B<--compression> and B<--"
"compression-level> are well suited for this file."
msgstr ""
"Diese Datei enhält eine Liste an Optionen, die automatisch vor den Satz an "
"Befehlszeilenoptionen bei einem Aufruf B<dpkg-source -b> oder B<dpkg-source "
"--print-format> gesetzt werden sollen. Optionen wie B<-compression> und B<--"
"compression-level> sind für diese Datei gut geeignet."

#. type: Plain text
#: dpkg-source.1:692
msgid ""
"Each option should be put on a separate line. Empty lines and lines starting "
"with \"#\" are ignored. The leading \"--\" should be stripped and short "
"options are not allowed. Optional spaces are allowed around the \"=\" symbol "
"and optional quotes are allowed around the value.  Here's an example of such "
"a file:"
msgstr ""
"Jede Option sollte auf einer separaten Zeile stehen. Leerzeilen und Zeilen, "
"die mit »#« beginnen, werden ignoriert. Das einleitende »--« sollte entfernt "
"werden und kurze Optionen sind nicht erlaubt. Optionale Leerzeichen um das "
"»=«-Symbol sowie optionale Anführungszeichen um den Wert sind erlaubt. Hier "
"ist ein Beispiel für so eine Datei:"

#. type: Plain text
#: dpkg-source.1:700
#, no-wrap
msgid ""
"  # let dpkg-source create a debian.tar.bz2 with maximal compression\n"
"  compression = \"bzip2\"\n"
"  compression-level = 9\n"
"  # use debian/patches/debian-changes as automatic patch\n"
"  single-debian-patch\n"
"  # ignore changes on config.{sub,guess}\n"
"  extend-diff-ignore = \"(^|/)(config.sub|config.guess)$\"\n"
msgstr ""
"  # lass dpkg-source ein debian.tar.bz2 mit maximaler Komprimierung\n"
"  # erstellen\n"
"  compression = \"bzip2\"\n"
"  compression-level = 9\n"
"  # verwende debian/patches/debian-changes als automatischen Patch\n"
"  single-debian-patch\n"
"  # ignoriere Änderungen von config.{sub,guess}\n"
"  extend-diff-ignore = \"(^|/)(config.sub|config.guess)$\"\n"

#. type: Plain text
#: dpkg-source.1:703
msgid ""
"Note: B<format> options are not accepted in this file, you should use "
"B<debian/source/format> instead."
msgstr ""
"Hinweis: B<--format>-Optionen werden in dieser Datei nicht akzeptiert, Sie "
"sollten stattdessen B<debian/source/format> verwenden."

#. type: SS
#: dpkg-source.1:703
#, no-wrap
msgid "debian/source/local-options"
msgstr "debian/source/local-options"

#. type: Plain text
#: dpkg-source.1:708
msgid ""
"Exactly like B<debian/source/options> except that the file is not included "
"in the generated source package. It can be useful to store a preference tied "
"to the maintainer or to the VCS repository where the source package is "
"maintained."
msgstr ""
"Genau wie B<debian/source/options>, außer das die Datei nicht in das "
"erstellte Quellpaket aufgenommen wird. Dies kann nützlich sein, um "
"Voreinstellungen zu speichern, die an einen bestimmten Betreuer oder an ein "
"bestimmtes VCS, in dem das Paket gewartet wird, gebunden sind."

#. type: SS
#: dpkg-source.1:708
#, no-wrap
msgid "debian/source/local-patch-header"
msgstr "debian/source/local-patch-header"

#. type: SS
#: dpkg-source.1:709
#, no-wrap
msgid "debian/source/patch-header"
msgstr "debian/source/patch-header"

#. type: Plain text
#: dpkg-source.1:713
msgid ""
"Free form text that is put on top of the automatic patch generated in "
"formats \"2.0\" or \"3.0 (quilt)\". B<local-patch-header> is not included in "
"the generated source package while B<patch-header> is."
msgstr ""
"Formloser Text, der an den Anfang des in den Formaten »2.0« und »3.0 "
"(quilt)« generierten automatischen Patches gestellt wird. B<local-patch-"
"header> wird dem erstellen Quellpaket nicht hinzugefügt, B<patch-header> "
"dagegen schon."

#. type: SS
#: dpkg-source.1:713
#, no-wrap
msgid "debian/patches/series"
msgstr "debian/patches/series"

#. type: Plain text
#: dpkg-source.1:722
msgid ""
"This file lists all patches that have to be applied (in the given order)  on "
"top of the upstream source package. Leading and trailing spaces are "
"stripped. Lines starting with \"#\" are comments and are skipped. Empty "
"lines are ignored. Remaining lines start with a patch filename (relative to "
"the B<debian/patches/> directory) up to the first space character or the end "
"of line. Optional quilt options can follow up to the end of line or the "
"first \"#\" preceded by one or more spaces (which marks the start of a "
"comment up to the end of line)."
msgstr ""
"Diese Datei führt alle Patches auf, die (in der angegebenen Reihenfolge) auf "
"das Quellpaket der Originalautoren angewandt werden müssen. Leerzeichen am "
"Anfang und Ende werden entfernt. Zeilen, die mit »#« anfangen, sind "
"Kommentare und werden übersprungen. Leere Zeilen werden ignoriert. Die "
"verbleibenen Zeilen beginnen mit dem Dateinamen eines Patches (relativ zum "
"Verzeichnis B<debian/patches/>) bis zum ersten Leerzeichen oder bis zum "
"Zeilenende. Bis zum Ende der Zeile oder bis zum ersten »#« gefolgt von einem "
"oder mehreren Leerzeichen (dies markiert den Beginn eines Kommentars, der "
"bis zum Zeilenende geht) können optionale Quilt-Befehle folgen."

#. type: Plain text
#: dpkg-source.1:729
msgid "B<dpkg-deb>(1), B<dpkg>(1), B<dselect>(1)."
msgstr "B<dpkg-deb>(1), B<dpkg>(1), B<dselect>(1)."

#. type: Plain text
#: dpkg-source.1:736
msgid "Copyright \\(co 2008-2011 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2008-2011 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-split.1:2
#, no-wrap
msgid "dpkg-split"
msgstr "dpkg-split"

#. type: Plain text
#: dpkg-split.1:5
msgid "dpkg-split - Debian package archive split/join tool"
msgstr "dpkg-split - Debian-Paketarchiv Teilungs- und Zusammensetzwerkzeug"

#. type: Plain text
#: dpkg-split.1:9
msgid "B<dpkg-split> [I<option>...] I<command>"
msgstr "B<dpkg-split> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-split.1:15
msgid ""
"B<dpkg-split> splits Debian binary package files into smaller parts and "
"reassembles them again, to support the storage of large package files on "
"small media such as floppy disks."
msgstr ""
"B<dpkg-split> zerteilt Debian-Binärpaketdateien in kleinere Teile und setzt "
"diese wieder zusammen, um die Lagerung von großen Paketdateien auf kleinen "
"Medien wie Disketten zu ermöglichen."

#. type: Plain text
#: dpkg-split.1:19
msgid ""
"It can be operated manually using the B<--split>, B<--join> and B<--info> "
"options."
msgstr ""
"Es kann manuell mit den Optionen B<--split>, B<--join> und B<--info> "
"verwendet werden."

#. type: Plain text
#: dpkg-split.1:27
msgid ""
"It also has an automatic mode, invoked using the B<--auto> option, where it "
"maintains a queue of parts seen but not yet reassembled and reassembles a "
"package file when it has seen all of its parts. The B<--listq> and B<--"
"discard> options allow the management of the queue."
msgstr ""
"Es hat auch einen automatischen Modus, der über die B<--auto>-Option "
"aufgerufen wird, wo es eine Liste von Teilen, die bereits gesehen, aber noch "
"nicht wieder zusammengesetzt wurden, verwaltet. Sobald alle Teile gesehen "
"wurden, wird dann die Datei wieder zusammengesetzt. Die Optionen B<--listq> "
"und B<--discard> erlauben die Verwaltung dieser Liste."

#. type: Plain text
#: dpkg-split.1:30
msgid ""
"All splitting, joining and queueing operations produce informative messages "
"on standard output; these may safely be ignored."
msgstr ""
"Alle Teilungs-, Vereinigungs- und Warteoperationen erzeugen informative "
"Nachrichten auf der Standardausgabe; diese können ohne Risiko ignoriert "
"werden."

#. type: TP
#: dpkg-split.1:32
#, no-wrap
msgid "B<-s>, B<--split> I<complete-archive> [I<prefix>]"
msgstr "B<-s>, B<--split> I<Komplettarchiv> [I<Präfix>]"

#. type: Plain text
#: dpkg-split.1:35
msgid "Splits a single Debian binary package into several parts."
msgstr "Teilt ein einzelnes Debian-Binärpaket in mehrere Teile."

#. type: Plain text
#: dpkg-split.1:43
msgid ""
"The parts are named I<prefix>B<.>I<N>B<of>I<M>B<.deb> where I<N> is the part "
"number, starting at 1, and I<M> is the total number of parts (both in "
"decimal)."
msgstr ""
"Die Teile werden I<Präfix>B<.>I<N>B<of>I<M>B<.deb> benannt, wobei I<N> die "
"bei 1 beginnende Teilnummer und I<M> die Gesamtzahl der Teile ist (beide "
"Angaben dezimal)."

#. type: Plain text
#: dpkg-split.1:51
msgid ""
"If no I<prefix> is supplied then the I<complete-archive> filename is taken, "
"including directory, with any trailing B<.deb> removed."
msgstr ""
"Falls kein I<Präfix> bereitgestellt wird, wird der Dateiname von "
"I<Komplettarchiv> genommen, einschließlich Verzeichnis, wobei das "
"abschließende B<.deb> entfernt wird."

#. type: TP
#: dpkg-split.1:51
#, no-wrap
msgid "B<-j>, B<--join> I<part>..."
msgstr "B<-j>, B<--join> I<Teil>..."

#. type: Plain text
#: dpkg-split.1:55
msgid ""
"Joins the parts of a package file together, reassembling the original file "
"as it was before it was split."
msgstr ""
"Vereint die Teile einer Paketdatei, und baut damit die Originaldatei wieder "
"zusammen, wie sie vor dem Aufteilen war."

#. type: Plain text
#: dpkg-split.1:59
msgid ""
"The part files given as arguments must be all the parts of exactly the same "
"original binary file. Each part must occur exactly once in the argument "
"list, though the parts to not need to be listed in order."
msgstr ""
"Die Teildateien, die als Argument übergeben werden, müssen alle Teile der "
"gleichen Originaldatei sein. Jeder Teil muss genau einmal in der "
"Argumentliste auftauchen, allerdings müssen die Teile nicht in ihrer "
"Reihenfolge aufgeführt werden."

#. type: Plain text
#: dpkg-split.1:64
msgid ""
"The parts must of course all have been generated with the same part size "
"specified at split time, which means that they must usually have been "
"generated by the same invocation of B<dpkg-split --split>."
msgstr ""
"Die Teile müssen natürlich alle mit der gleichen zur Zeit des Aufteilens "
"angegeben Teil-Größe generiert worden sein. Dies bedeutet, dass sie für "
"gewöhnlich von dem gleichen Aufruf von B<dpkg-split --split> erzeugt worden "
"sein müssen."

#. type: Plain text
#: dpkg-split.1:66
msgid "The parts' filenames are not significant for the reassembly process."
msgstr ""
"Die Dateinamen der Teile sind für den Prozess des Wiederzusammenbauens nicht "
"relevant."

#. type: Plain text
#: dpkg-split.1:69
msgid ""
"By default the output file is called I<package>B<_>I<version>B<_>I<arch>B<."
"deb>."
msgstr ""
"Standardmäßig wird die Ausgabedatei I<Paket>B<->I<Version>B<_>I<Arch>B<.deb> "
"genannt."

#. type: TP
#: dpkg-split.1:70
#, no-wrap
msgid "B<-I>, B<--info> I<part>..."
msgstr "B<-I>, B<--info> I<Teil>..."

#. type: Plain text
#: dpkg-split.1:75
msgid ""
"Prints information, in a human-readable format, about the part file(s)  "
"specified. Arguments which are not binary package parts produce a message "
"saying so instead (but still on standard output)."
msgstr ""
"Gibt Informationen über die angegebenen Teildatei(en) in menschenlesbarem "
"Format aus. Argumente, die keine Binärpaketdateien sind, führen zu einer "
"entsprechenden Nachricht (allerdings auch in der Standardausgabe)."

#. type: TP
#: dpkg-split.1:75
#, no-wrap
msgid "B<-a>, B<--auto -o> I<complete-output part>"
msgstr "B<-a>, B<--auto -o> I< Komplettausgabe Teil>"

#. type: Plain text
#: dpkg-split.1:78
msgid "Automatically queue parts and reassemble a package if possible."
msgstr ""
"Reiht Teile automatisch in die Warteschlange und setzt, falls möglich, ein "
"Paket wieder zusammen."

#. type: Plain text
#: dpkg-split.1:83
msgid ""
"The I<part> specified is examined, and compared with other parts of the same "
"package (if any) in the queue of packages file parts."
msgstr ""
"Der angegebene I<Teil> wird untersucht und mit anderen Teilen desselben "
"Paketes (falls vorhanden) in der Warteschlange der Paketdatei-Teile "
"verglichen."

#. type: Plain text
#: dpkg-split.1:90
msgid ""
"If all parts of the package file of which I<part> is a part are available "
"then the package is reassembled and written to I<complete-output> (which "
"should not usually already exist, though this is not an error)."
msgstr ""
"Falls alle Teile der Paketdatei, von der I<Teil> ein Teil ist, verfügbar "
"sind, dann wird das Paket wieder zusammengesetzt und nach I<Komplettausgabe> "
"geschrieben (welche für gewöhnlich noch nicht existieren sollte, obgleich "
"dies kein Fehler ist)."

#. type: Plain text
#: dpkg-split.1:96
msgid ""
"If not then the I<part> is copied into the queue and I<complete-output> is "
"not created."
msgstr ""
"Falls nicht, wird I<Teil> in die Warteschlange kopiert und "
"I<Komplettausgabe> wird nicht erzeugt."

#. type: Plain text
#: dpkg-split.1:103
msgid ""
"If I<part> is not a split binary package part then B<dpkg-split> will exit "
"with status B<1>; if some other trouble occurs then it will exit with status "
"B<2>."
msgstr ""
"Falls I<Teil> kein Teil eines aufgeteilten Binärpaketes ist, dann beendet "
"sich I<dpkg-split> mit Rückgabecode B<1>; falls irgendwelche anderen "
"Probleme auftreten lautet der Rückgabecode B<2>."

#. type: Plain text
#: dpkg-split.1:110
msgid ""
"The B<--output> or B<-o> option must be supplied when using B<--auto>.  (If "
"this were not mandatory the calling program would not know what output file "
"to expect.)"
msgstr ""
"Die Option B<--output> oder B<-o> muss bei Verwenden von B<--auto> angegeben "
"werden. (Falls dies nicht obligatorisch wäre, wüsste das Programm nicht, "
"welche Ausgabedatei es zu erwarten hätte.)"

#. type: TP
#: dpkg-split.1:110
#, no-wrap
msgid "B<-l>, B<--listq>"
msgstr "B<-l>, B<--listq>"

#. type: Plain text
#: dpkg-split.1:113
msgid "Lists the contents of the queue of packages to be reassembled."
msgstr ""
"Listet den Inhalt der Warteschlange der wieder zusammenzubauenden Pakete auf."

#. type: Plain text
#: dpkg-split.1:117
msgid ""
"For each package file of which parts are in the queue the output gives the "
"name of the package, the parts in the queue, and the total number of bytes "
"stored in the queue."
msgstr ""
"Für jede Paketdatei, von der Teile in der Warteschlange sind, enthält die "
"Ausgabe den Namen des Paketes, die Teile in der Warteschlange sowie die "
"Gesamtanzahl gespeicherter Bytes in der Warteschlange."

#. type: TP
#: dpkg-split.1:117
#, no-wrap
msgid "B<-d>, B<--discard> [I<package>...]"
msgstr "B<-d>, B<--discard> [I<Paket>...]"

#. type: Plain text
#: dpkg-split.1:121
msgid ""
"This discards parts from the queue of those waiting for the remaining parts "
"of their packages."
msgstr ""
"Dies löscht Teile aus der Warteschlange derer, die auf die verbleibenden "
"Teile ihrer Pakete warten."

#. type: Plain text
#: dpkg-split.1:126
msgid ""
"If no I<package> is specified then the queue is cleared completely; if any "
"are specified then only parts of the relevant package(s) are deleted."
msgstr ""
"Falls kein I<Paket> agegeben wird, wird die Warteschlange komplett geleert; "
"falls irgendwelche angegeben sind, werden nur die Teile des/der passenden "
"Pakete(s) gelöscht."

#. type: TP
#: dpkg-split.1:134
#, no-wrap
msgid "B<--depotdir>I< directory>"
msgstr "B<--depotdir>I< Verzeichnis>"

#. type: Plain text
#: dpkg-split.1:139
msgid ""
"Specifies an alternative directory for the queue of parts awaiting automatic "
"reassembly. The default is B</var/lib/dpkg>."
msgstr ""
"Gibt ein alternatives Verzeichnis für die Warteschlange von Teilen, die auf "
"automatisches Wiederzusammenführen warten, an. Standardmäßig ist dies B</var/"
"lib/dpkg>."

#. type: TP
#: dpkg-split.1:139
#, no-wrap
msgid "B<-S>, B<--partsize> I<kibibytes>"
msgstr "B<-S>, B<--partsize> I<kibibytes>"

#. type: Plain text
#: dpkg-split.1:143
msgid ""
"Specifies the maximum part size when splitting, in kibibytes (1024 bytes). "
"The default is 450 KiB."
msgstr ""
"Gibt die maximale Teilgröße in kibibytes (1024 bytes) beim Aufteilen an. "
"Standardmäßig ist dies 450 kiB."

#. type: TP
#: dpkg-split.1:143
#, no-wrap
msgid "B<-o>, B<--output> I<complete-output>"
msgstr "B<-o>, B<--output> I<Komplettausgabe>"

#. type: Plain text
#: dpkg-split.1:146
msgid "Specifies the output file name for a reassembly."
msgstr "Gibt den Ausgabe-Dateinamen für ein Wiederzusammenbauen an."

#. type: Plain text
#: dpkg-split.1:151
msgid ""
"This overrides the default for a manual reassembly (B<--join>)  and is "
"mandatory for an automatic queue-or-reassemble (B<--auto>)."
msgstr ""
"Dies hebt die Voreinstellung für ein manuelles Wiederzusammenbauen auf (B<--"
"join>) und ist zwingend für ein automatisches Einreihen-oder-Zusammenbauen "
"(B<--auto>) notwendig."

#. type: TP
#: dpkg-split.1:151
#, no-wrap
msgid "B<-Q>, B<--npquiet>"
msgstr "B<-Q>, B<--npquiet>"

#. type: Plain text
#: dpkg-split.1:162
msgid ""
"When doing automatic queue-or-reassembly B<dpkg-split> usually prints a "
"message if it is given a I<part> that is not a binary package part. This "
"option suppresses this message, to allow programs such as B<dpkg> to cope "
"with both split and unsplit packages without producing spurious messages."
msgstr ""
"Falls Sie ein automatisches Einreihen oder Wiederzusammensetzen durchführen, "
"gibt B<dpkg-split> normalerweise eine Meldung aus, falls ein übergebener "
"I<Teil> kein Binärpaketteil ist. Diese Option unterdrückt diese Meldung um "
"Programmen wie B<dpkg> zu erlauben, sowohl mit geteilten als auch "
"ungeteilten Paketen umzugehen, ohne störende Meldungen zu erzeugen."

#. type: TP
#: dpkg-split.1:162
#, no-wrap
msgid "B<--msdos>"
msgstr "B<--msdos>"

#. type: Plain text
#: dpkg-split.1:167
msgid ""
"Forces the output filenames generated by B<--split> to be msdos-compatible."
msgstr ""
"Erzwingt, dass die von B<--split> erzeugten Ausgabe-Dateinamen MSDOS-"
"kompatibel sind."

#. type: Plain text
#: dpkg-split.1:173
msgid ""
"This mangles the prefix - either the default derived from the input filename "
"or the one supplied as an argument: alphanumerics are lowercased, plus signs "
"are replaced by B<x>'s and all other characters are discarded."
msgstr ""
"Dies verstümmelt den Präfix - entweder den voreingestellten aus dem Eingabe-"
"Dateinamen abgeleiteten oder den als Argument übergebenen: alphanummerische "
"Zeichen werden klein geschrieben, Pluszeichen werden durch B<x> ersetzt und "
"alle anderen Zeichen werden entfernt."

#. type: Plain text
#: dpkg-split.1:178
msgid ""
"The result is then truncated as much as is necessary, and filenames of the "
"form I<prefixN>B<of>I<M>B<.deb> are generated."
msgstr ""
"Das Ergebnis wird dann soweit wie nötig abgeschnitten, und Dateinamen der "
"Form I<PräfixN>B<of>I<M>B<.deb> werden generiert."

#. type: Plain text
#: dpkg-split.1:186
msgid ""
"The requested split, merge, or other command succeeded.  B<--info> commands "
"count as successful even if the files are not binary package parts."
msgstr ""
"Das angeforderte Aufteilen, Zusammenfügen oder ein anderer Befehl war "
"erfolgreich. B<--info>-Befehle werden als erfolgreich gewertet, sogar falls "
"die Dateien keine Teile eines Binärpaketes waren."

#. type: Plain text
#: dpkg-split.1:193
msgid ""
"Only occurs with B<--auto> and indicates that the I<part> file was not a "
"binary package part."
msgstr ""
"Tritt nur bei B<--auto> auf und zeigt an, dass die Datei I<Teil> kein Teil "
"eines Binärprogramms war."

#. type: TP
#: dpkg-split.1:193 start-stop-daemon.8:275 update-alternatives.8:378
#, no-wrap
msgid "B<2>"
msgstr "B<2>"

#. type: Plain text
#: dpkg-split.1:198
msgid ""
"Some kind of trouble happened, such as a system call failure, a file that "
"looked like a package part file but was corrupted, a usage error or some "
"other problem."
msgstr ""
"Eine bestimmte Gattung von Problemen trat auf, wie zum Beispiel ein "
"Fehlschlag eines Systemaufrufs, eine Datei, die wie ein Paketteil aussah "
"aber beschädigt war, ein Benutzungsfehler oder einige andere Probleme."

#. type: Plain text
#: dpkg-split.1:202
msgid ""
"Full details of the packages in the queue are impossible to get without "
"digging into the queue directory yourself."
msgstr ""
"Volle Details über die Pakete in der Warteschlange sind nicht zu erhalten, "
"ohne selbst im Warteschlangenverzeichnis zu wühlen."

#. type: Plain text
#: dpkg-split.1:205
msgid ""
"There is no easy way to test whether a file that may be a binary package "
"part is one."
msgstr ""
"Es gibt keine einfache Art zu testen, ob eine Datei, die ein Teil eines "
"Binärpaketes sein könnte, eines ist."

#. type: TP
#: dpkg-split.1:207
#, no-wrap
msgid "I</var/lib/dpkg/parts>"
msgstr "I</var/lib/dpkg/parts>"

#. type: Plain text
#: dpkg-split.1:211
msgid ""
"The default queue directory for part files awaiting automatic reassembly."
msgstr ""
"Das voreingestellte Verzeichnis für die Warteschlange der Teil-Dateien, die "
"auf automatisches Zusammenfügen warten."

#. type: Plain text
#: dpkg-split.1:216
msgid ""
"The filenames used in this directory are in a format internal to B<dpkg-"
"split> and are unlikely to be useful to other programs, and in any case the "
"filename format should not be relied upon."
msgstr ""
"Die in diesem Verzeichnis benutzten Dateinamen liegen in einem intern B<dpkg-"
"split>-Format vor und sind sehr wahrscheinlich für andere Programme nicht "
"nützlich, und in keinem Fall sollte sich auf das Format der Dateinamen "
"verlassen werden."

#. type: Plain text
#: dpkg-split.1:222
msgid "B<deb>(5), B<deb-control>(5), B<dpkg-deb>(1), B<dpkg>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg-deb>(1), B<dpkg>(1)."

#. type: TH
#: dpkg-statoverride.8:1
#, no-wrap
msgid "dpkg-statoverride"
msgstr "dpkg-statoverride"

#. type: TH
#: dpkg-statoverride.8:1
#, no-wrap
msgid "Debian project"
msgstr "Debian-Projekt"

#. type: Plain text
#: dpkg-statoverride.8:4
msgid "dpkg-statoverride - override ownership and mode of files"
msgstr ""
"dpkg-statoverride - über Eigentümerschaft und Modus von Dateien hinwegsetzen"

#. type: Plain text
#: dpkg-statoverride.8:8
msgid "B<dpkg-statoverride> [I<option>...] I<command>"
msgstr "B<dpkg-statoverride> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-statoverride.8:18
msgid ""
"`B<stat overrides>' are a way to tell B<dpkg>(1)  to use a different owner "
"or mode for a file when a package is installed. (note: I use the word `file' "
"here, but in reality this can be any filesystem object that dpkg handles, "
"including directories, devices, etc.). This can be used to force programs "
"that are normally setuid to be install without a setuid flag, or only "
"executable by a certain group."
msgstr ""
"»B<Stat-Hinwegsetzungen>« sind eine Möglichkeit B<dpkg>(1) zu berichten, "
"einen anderen Eigentümer oder Modus für eine Datei zu verwenden, wenn ein "
"Paket installiert wird. (Hinweis: Ich verwende das Wort »Datei« hier, aber "
"tatsächlich kann dies jedes Dateisystemobjekt sein, das Dpkg handhabt, "
"darunter Verzeichnisse, Geräte, usw.). Dies kann dazu verwendet werden, "
"Programme, die normalerweise setuid sind, dazu zu zwingen, ohne setuid-"
"Markierung zu installieren, oder nur von einer bestimmten Gruppe ausführbar "
"zu sein."

#. type: Plain text
#: dpkg-statoverride.8:22
msgid ""
"B<dpkg-statoverride> is a utility to manage the list of stat overrides. It "
"has three basic functions: adding, removing and listing overrides."
msgstr ""
"B<dpkg-statoverride> ist ein Hilfswerkzeug um die Liste der Status-"
"Hinwegsetzungen zu verwalten. Es hat drei grundlegende Funktionen: "
"Hinzufügen, Entfernen und Auflisten von Hinwegsetzungen."

#. type: TP
#: dpkg-statoverride.8:24
#, no-wrap
msgid "B<--add>I< user group mode file>"
msgstr "B<--add>I< Benutzer Gruppe Modus Datei>"

#. type: Plain text
#: dpkg-statoverride.8:32
msgid ""
"Add an override for I<file>. I<file> does not need to exist when this "
"command is used; the override will be stored and used later.  Users and "
"groups can be specified by their name (for example B<root> or B<nobody>), or "
"by their number by prepending the number with a `B<#>' (for example B<#0> or "
"B<#65534>). The I<mode> needs to be specified in octal."
msgstr ""
"Füge eine Hinwegsetzung für I<Datei> hinzu. I<Datei> muss noch nicht "
"existieren wenn dieser Befehl verwendet wird; die Hinwegsetzung wird "
"aufbewahrt und später verwendet. Benutzer und Gruppen können über ihren "
"Namen (beispielsweise B<root> oder B<nobody>) spezifiziert werden, oder über "
"ihre Nummer mit vorangestelltem »B<#>« (beispielsweise B<#0> oder "
"B<#65534>). Der I<Modus> muss oktal angegeben werden."

#. type: Plain text
#: dpkg-statoverride.8:35
msgid ""
"If --update is specified and I<file> exists, it is immediately set to the "
"new owner and mode."
msgstr ""
"Falls --update angegeben ist und die I<Datei> existiert, dann wird diese "
"sofort auf den neuen Eigentümer und Modus eingestellt."

#. type: Plain text
#: dpkg-statoverride.8:39
msgid ""
"Remove an override for I<file>, the status of I<file> is left unchanged by "
"this command."
msgstr ""
"Entfernt eine Hinwegsetzung für I<Datei>, der Status von I<Datei> bleibt "
"durch diesen Befehl unverändert."

#. type: TP
#: dpkg-statoverride.8:39
#, no-wrap
msgid "B<--list> [I<glob-pattern>]"
msgstr "B<--list> [I<Glob-Muster>]"

#. type: Plain text
#: dpkg-statoverride.8:44
msgid ""
"List all overrides. If a glob pattern is specified restrict the output to "
"overrides which match the glob. If there are no overrides or none match the "
"glob B<dpkg-statoverride> will exit with an exitcode of 1."
msgstr ""
"Liste alle Hinwegsetzungen auf. Falls ein Glob-Muster spezifiziert wurde, "
"begrenze die Ausgabe auf Hinwegsetzungen, die auf den Glob passen. Falles es "
"keine Hinwegsetzungen gibt oder keine auf den Glob passt, wird sich B<dpkg-"
"statoverride> mit einem Exit-Wert von 1 beenden."

#. type: Plain text
#: dpkg-statoverride.8:56
msgid ""
"Change the I<directory> of the dpkg database where the statoverride file is "
"also stored. Defaults to I</var/lib/dpkg>."
msgstr ""
"Wechsle das I<Verzeichnis> der Dpkg-Datenbank, wo auch die statoverride-"
"Datei gelagert ist. Der Standard ist I</var/lib/dpkg>."

#. type: TP
#: dpkg-statoverride.8:56 update-alternatives.8:336
#, no-wrap
msgid "B<--force>"
msgstr "B<--force>"

#. type: Plain text
#: dpkg-statoverride.8:60
msgid ""
"Force an action, even if a sanity check would otherwise prohibit it.  This "
"is necessary to override an existing override."
msgstr ""
"Erzwinge eine Aktion, selbst wenn eine Sinn-Überprüfung diese normalerweise "
"verböte. Dies ist notwendig, um sich über eine existierende Hinwegsetzung "
"hinwegzusetzen."

#. type: TP
#: dpkg-statoverride.8:60
#, no-wrap
msgid "B<--update>"
msgstr "B<--update>"

#. type: Plain text
#: dpkg-statoverride.8:64
msgid ""
"Immediately try to change the file to the new owner and mode if it exists."
msgstr ""
"Versuche die Datei sofort auf den neuen Eigentümer und neuen Modus zu "
"ändern, falls sie existiert."

#. type: Plain text
#: dpkg-statoverride.8:67
msgid "Be less verbose about what we do."
msgstr "Sei nicht so ausführlich darüber, was wir machen."

#. type: TP
#: dpkg-statoverride.8:75
#, no-wrap
msgid "I</var/lib/dpkg/statoverride>"
msgstr "I</var/lib/dpkg/statoverride>"

#. type: Plain text
#: dpkg-statoverride.8:80
msgid ""
"File which contains the current list of stat overrides of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as `status' or `available'."
msgstr ""
"Datei, die die aktuelle Liste der Hinwegsetzungen auf dem System enthält. "
"Sie befindet sich im Dpkg-Administrationsverzeichnis, zusammen mit anderen "
"für Dpkg wichtigen Dateien, wie »status« oder »available«."

#. type: Plain text
#: dpkg-statoverride.8:83
msgid ""
"Note: B<dpkg-statoverride> preserves the old copy of this file, with "
"extension \"-old\", before replacing it with the new one."
msgstr ""
"Hinweis: B<dpkg-statoverride> erhält die alte Kopie dieser Datei mit der "
"Endung »-old« bevor es sie mit einer neuen ersetzt."

#. type: TH
#: dpkg-trigger.1:1
#, no-wrap
msgid "dpkg-trigger"
msgstr "dpkg-trigger"

#. type: Plain text
#: dpkg-trigger.1:4
msgid "dpkg-trigger - a package trigger utility"
msgstr "dpkg-trigger - ein Paket-Trigger-Hilfswerkzeug"

#. type: Plain text
#: dpkg-trigger.1:8
msgid "B<dpkg-trigger> [I<option>...] I<trigger-name>"
msgstr "B<dpkg-trigger> [I<Option>...] I<Trigger-Name>"

#. type: Plain text
#: dpkg-trigger.1:11
msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgstr "B<dpkg-trigger> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-trigger.1:15
msgid ""
"B<dpkg-trigger> is a tool to explicitly activate triggers and check for its "
"support on the running B<dpkg>."
msgstr ""
"B<dpkg-trigger> ist ein Werkzeug, um Trigger (deutsch: Auslöser) explizit zu "
"aktivieren und den laufenden B<dpkg> auf deren Unterstützung hin zu "
"überprüfen."

#. type: Plain text
#: dpkg-trigger.1:21
msgid ""
"This can be used by maintainer scripts in complex and conditional situations "
"where the file triggers, or the declarative B<activate> triggers control "
"file directive, are insufficiently rich. It can also be used for testing and "
"by system administrators (but note that the triggers won't actually be run "
"by B<dpkg-trigger>)."
msgstr ""
"Dies kann von Betreuerskripten in komplexen und if-then-else-Situationen "
"verwandt werden, wo die Datei-Trigger oder die Steuerung von Dateidirektiven "
"durch explizite B<activate>-Trigger nicht ausreichen. Es kann auch zum "
"Testen und von Systemadministratoren verwandt werden (beachten Sie aber, "
"dass Trigger nicht tatsächlich durch B<dpkg-trigger> ausgeführt werden)."

#. type: Plain text
#: dpkg-trigger.1:23
msgid "Unrecognised trigger name syntaxes are an error for B<dpkg-trigger>."
msgstr ""
"Nicht erkannte Triggernamen-Syntaxen sind für B<dpkg-trigger> ein Fehler."

#. type: TP
#: dpkg-trigger.1:25
#, no-wrap
msgid "B<--check-supported>"
msgstr "B<--check-supported>"

#. type: Plain text
#: dpkg-trigger.1:31
msgid ""
"Check if the running B<dpkg> supports triggers (usually called from a "
"postinst). Will exit B<0> if a triggers-capable B<dpkg> has run, or B<1> "
"with an error message to stderr if not. Normally, however, it is better just "
"to activate the desired trigger with B<dpkg-trigger>."
msgstr ""
"Überprüfe, ob der laufende B<dpkg> Trigger unterstützt (normalerweise vom "
"Postinst aufgerufen). Endet mit B<0>, falls ein Trigger-fähiger B<dpkg> "
"ausgeführt wurde, oder mit B<1> und einer Fehlermeldung nach Stderr, falls "
"nicht. Normalerweise ist es allerdings besser, einfach den gewünschten "
"Trigger mit B<dpkg-trigger> zu aktivieren."

#. type: TP
#: dpkg-trigger.1:43
#, no-wrap
msgid "B<--by-package=>I<package>"
msgstr "B<--by-package=>I<Paket>"

#. type: Plain text
#: dpkg-trigger.1:49
msgid ""
"Override trigger awaiter (normally set by B<dpkg> through the "
"B<DPKG_MAINTSCRIPT_PACKAGE> environment variable of the maintainer scripts, "
"naming the package to which the script belongs, and this will be used by "
"default)."
msgstr ""
"Überschreibe den Trigger-Erwartenden (normalerweise wird dies von B<dpkg> "
"durch die Umgebungsvariable B<DPKG_MAINTSCRIPT_PACKAGE> der Betreuerskripte "
"gesetzt, wobei das Paket benannt wird, zu dem das Skript gehört und dies "
"wird standardmäßig verwandt)."

#. type: TP
#: dpkg-trigger.1:49
#, no-wrap
msgid "B<--no-await>"
msgstr "B<--no-await>"

#. type: Plain text
#: dpkg-trigger.1:56
msgid ""
"This option arranges that the calling package T (if any) need not await the "
"processing of this trigger; the interested package(s) I, will not be added "
"to T's trigger processing awaited list and T's status is unchanged.  T may "
"be considered installed even though I may not yet have processed the trigger."
msgstr ""
"Diese Option arrangiert, dass das aufrufende Paket T (falls zutreffend) "
"nicht auf die Abarbeitung des Triggers warten muss, das bzw. die "
"interessierte(n) Paket(e) I werden nicht zu der Liste der auf Bearbeitung "
"wartenden Trigger von T hinzugefügt und der Status von T bleibt unverändert. "
"T kann als installiert betrachtet werden, obwohl I den Trigger noch nicht "
"verarbeitet haben könnte."

#. type: TP
#: dpkg-trigger.1:56
#, no-wrap
msgid "B<--no-act>"
msgstr "B<--no-act>"

#. type: Plain text
#: dpkg-trigger.1:59
msgid "Just test, do not actually change anything."
msgstr "Nur testen, nichts tatsächlich ändern."

#. type: Plain text
#: dpkg-trigger.1:69
msgid ""
"B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr ""
"B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."

#. type: TH
#: dpkg-vendor.1:1
#, no-wrap
msgid "dpkg-vendor"
msgstr "dpkg-vendor"

#. type: Plain text
#: dpkg-vendor.1:4
msgid "dpkg-vendor - queries information about distribution vendors"
msgstr "dpkg-vendor - fragt Informationen über den Distributionslieferanten ab"

#. type: Plain text
#: dpkg-vendor.1:8
msgid "B<dpkg-vendor> [I<option>...] I<command>"
msgstr "B<dpkg-vendor> [I<Option>...] I<Befehl>"

#. type: Plain text
#: dpkg-vendor.1:13
msgid ""
"B<dpkg-vendor> is a tool to query information about vendors listed in B</etc/"
"dpkg/origins>. B</etc/dpkg/origins/default> contains information about the "
"current vendor."
msgstr ""
"B<dpkg-vendor> ist ein Werkzeug, um Informationen über in B</etc/dpkg/"
"origins> aufgeführte Lieferanten (engl. »vendor«) abzufragen. B</etc/dpkg/"
"origins/default> enthält Informationen über den aktuellen Lieferanten."

#. type: TP
#: dpkg-vendor.1:15
#, no-wrap
msgid "B<--is>I< vendor>"
msgstr "B<--is>I< Lieferant>"

#. type: Plain text
#: dpkg-vendor.1:19
msgid ""
"Exits with B<0> if the current vendor is I<vendor>. Otherwise exits with non-"
"zero."
msgstr ""
"Beendet sich mit B<0>, falls der aktuelle Lieferant I<Lieferant> ist, "
"ansonsten mit einem von Null verschiedenen Wert."

#. type: TP
#: dpkg-vendor.1:19
#, no-wrap
msgid "B<--derives-from>I< vendor>"
msgstr "B<--derives-from>I< Lieferant>"

#. type: Plain text
#: dpkg-vendor.1:24
msgid ""
"Exits with B<0> if the current vendor distribution is a derivative of "
"I<vendor>, otherwise exits with non-zero. It uses the \"Parent\" field to "
"browse all ancestors of the current vendor."
msgstr ""
"Beendet sich mit B<0>, falls die aktuelle Lieferant-Distribution von "
"I<Lieferant> abgeleitet ist, ansonsten mit einem von Null verschiedenen "
"Wert. Es verwendet das Feld »Parent«, um alle Vorfahren des aktuellen "
"Lieferanten zu ermitteln."

#. type: TP
#: dpkg-vendor.1:24
#, no-wrap
msgid "B<--query>I< field>"
msgstr "B<--query>I< Feld>"

#. type: Plain text
#: dpkg-vendor.1:28
msgid ""
"Print on standard output the value of the vendor-specific I<field> for the "
"current vendor."
msgstr ""
"Gibt auf der Standardausgabe den Wert des Lieferanten-spezifischen I<Feld>es "
"für den aktuellen Lieferanten aus."

#. type: TP
#: dpkg-vendor.1:36
#, no-wrap
msgid "B<--vendor>I< vendor>"
msgstr "B<--vendor>I< Lieferant>"

#. type: Plain text
#: dpkg-vendor.1:41
msgid ""
"Assumes the current vendor is I<vendor> instead of discovering it with the "
"B<DEB_VENDOR> environment variable or B</etc/dpkg/origins/default>."
msgstr ""
"Nimmt an, dass der aktuelle Lieferant I<Lieferant> ist, statt ihn über die "
"Umgebungsvariable B<DEB_VENDOR> oder aus B</etc/dpkg/origins/default> zu "
"ermitteln."

#. type: TP
#: dpkg-vendor.1:43
#, no-wrap
msgid "B<DEB_VENDOR>"
msgstr "B<DEB_VENDOR>"

#. type: Plain text
#: dpkg-vendor.1:47
msgid ""
"This setting defines the current vendor. If not set, it will discover the "
"current vendor by reading B</etc/dpkg/origins/default>."
msgstr ""
"Diese Einstellung definiert den aktuellen Lieferanten. Falls nicht gesetzt, "
"wird er aus B</etc/dpkg/origins/default> ermittelt."

#. type: Plain text
#: dpkg-vendor.1:50 update-alternatives.8:498
msgid "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"

#. type: TH
#: dselect.1:1
#, no-wrap
msgid "dselect"
msgstr "dselect"

#. type: Plain text
#: dselect.1:4
msgid "dselect - Debian package management frontend"
msgstr "dselect - Debian-Paketverwaltungsoberfläche"

#. type: Plain text
#: dselect.1:8
msgid "B<dselect> [I<option>...] [I<action>]"
msgstr "B<dselect> [I<Option>...] I<Aktion>"

#. type: Plain text
#: dselect.1:17
#, no-wrap
msgid ""
"B<dselect>\n"
"is one of the primary user interfaces for managing packages on a Debian\n"
"system. At the B<dselect> main menu, the system administrator can:\n"
" - Update the list of available package versions,\n"
" - View the status of installed and available packages,\n"
" - Alter package selections and manage dependencies,\n"
" - Install new packages or upgrade to newer versions.\n"
msgstr ""
"B<dselect>\n"
"ist eine der primären Benutzerschnittstellen zur Verwaltung von Paketen auf\n"
"einem Debian-System. Im Basis-Menü von B<dselect> kann der Systemadministrator:\n"
" - Die Liste der verfügbaren Paketversionen aktualisieren,\n"
" - Den Status der installierten und verfügbaren Pakete betrachten,\n"
" - Die Paketauswahl ändern und Abhängigkeiten verwalten,\n"
" - Neue Pakete installieren oder ein Upgrade auf neuere Versionen durchführen.\n"

#. type: Plain text
#: dselect.1:29
msgid ""
"B<dselect> operates as a front-end to B<dpkg>(1), the low-level debian "
"package handling tool. It features a full-screen package selections manager "
"with package depends and conflicts resolver. When run with administrator "
"privileges, packages can be installed, upgraded and removed. Various access "
"methods can be configured to retrieve available package version information "
"and installable packages from package repositories.  Depending on the used "
"access method, these repositories can be public archive servers on the "
"internet, local archive servers or cdroms.  The recommended access method is "
"I<apt>, which is provided by the package B<apt>."
msgstr ""
"B<dselect> arbeitet als Oberfläche von B<dpkg>(1), dem systemnahen Debian-"
"Paket-Handhabungswerkzeug. Es bietet einen Vollbildschirm-Paketauswahl-"
"Verwalter mit einem Paketeabhängigkeits- und -konfliktlöser. Bei Aufruf mit "
"Administratorprivilegien können Pakete installiert und entfernt sowie "
"Upgrades durchgeführt werden. Verschiedene Zugriffsmethoden können "
"konfiguriert werden um verfügbare Paketinformationen und installierbare "
"Pakete aus Paketdepots zu holen. Abhängig von der verwendeten "
"Zugriffsmethode können diese Depots öffentliche Archiv-Server im Internet, "
"lokale Archiv-Server oder CD-ROMs sein. Die empfohlene Zugriffsmethode ist "
"I<apt>, die vom Paket B<apt> bereitgestellt wird."

#. type: Plain text
#: dselect.1:35
msgid ""
"Normally B<dselect> is invoked without parameters. An interactive menu is "
"presented, offering the user a list of actions. If an action is given as "
"argument, then that action is started immediately. Several command line "
"parameters are still available to modify the running behaviour of B<dselect> "
"or show additional information about the program."
msgstr ""
"Normalerweise wird B<dselect> ohne Parameter aufgerufen. Es wird ein "
"interaktives Menü präsentiert, das dem Benutzer eine Liste von Aktionen "
"anbietet. Falls eine Aktion als Argument übergeben wird, wird diese Aktion "
"sofort begonnen. Es sind noch mehrere Kommandozeilenparameter vorhanden, um "
"das Laufzeitverhalten von B<dselect> zu verändern oder zusätzliche "
"Informationen über das Programm anzuzeigen."

#. type: Plain text
#: dselect.1:43
msgid ""
"All options can be specified both on the command line and in the B<dselect> "
"configuration file I</etc/dpkg/dselect.cfg> or the files on the "
"configuration directory I</etc/dpkg/dselect.cfg.d/>. Each line in the "
"configuration file is either an option (exactly the same as the command line "
"option but without leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""
"Alle Optionen können sowohl auf der Kommandozeile als auch in der "
"Konfigurationsdatei I</etc/dpkg/dselect.cfg> oder in den Dateien im "
"Konfigurationsverzeichnis I</etc/dpkg/dselect.cfg.d/> von B<dselect> "
"angegeben werden. Jede Zeile in der Konfigurationsdatei ist entweder eine "
"Option (exakt identisch mit der Kommandozeilenoption, nur ohne einleitende "
"Gedankenstriche) oder ein Kommentar (falls sie mit B<#> beginnt)."

#. type: Plain text
#: dselect.1:49
msgid ""
"Changes the directory where the dpkg `I<status>', `I<available>' and similar "
"files are located. This defaults to I</var/lib/dpkg> and normally there "
"shouldn't be any need to change it."
msgstr ""
"Ändert das Verzeichnis, in dem die Dateien »I<status>«, »I<available>« und "
"ähnliche Dateien von Dpkg liegen. Standardmäßig ist dies I</var/lib/dpkg> "
"und normalerweise sollte es keinen Grund geben, dieses zu ändern."

#. type: TP
#: dselect.1:49
#, no-wrap
msgid "B<--debug>I< file >|I< >B<-D>I<file>"
msgstr "B<--debug>I< Datei>|I< >B<-D>I<Datei>"

#. type: Plain text
#: dselect.1:52
msgid "Turn on debugging. Debugging information is sent to I<file>."
msgstr ""
"Aktiviere Debugging. Debug-Informationen werden nach I<Datei> gesendet."

#. type: TP
#: dselect.1:52
#, no-wrap
msgid "B<--expert>"
msgstr "B<--expert>"

#. type: Plain text
#: dselect.1:56
msgid ""
"Turns on expert mode, i.e. doesn't display possibly annoying help messages."
msgstr ""
"Aktiviert den Expertenmodus, d.h. zeigt keine möglicherweise nervenden "
"Hilfeinformationen an."

#. type: TP
#: dselect.1:56
#, no-wrap
msgid "B<--colour>|B<--color> I<screenpart:>[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]"
msgstr "[B<--colour>|B<--color> I<Bildschirmteil:>[I<Vordergrund>],[I<Hintergrund>][I<:Attr>[I<+Attr+..>]]]"

#. type: Plain text
#: dselect.1:63
msgid ""
"Configures screen colors. This works only if your display supports colors.  "
"This option may be used multiple times (and is best used in I<dselect.cfg>). "
"Each use changes the color (and optionally, other attributes) of one part of "
"the screen.  The parts of the screen (from top to bottom) are:"
msgstr ""
"Konfiguriert die Bildschirmfarben. Dies funktioniert nur, falls Ihr "
"Bildschirm Farben unterstützt. Diese Option kann mehrfach verwendet werden "
"(und wird am besten in I<dselect.cfg> verwendet). Jede Verwendung ändert die "
"Farben (und optional andere Attribute) eines Teils des Bildschirms. Die "
"Teile des Bildschirms (von oben nach unten) sind:"

#. type: TP
#: dselect.1:64
#, no-wrap
msgid "B<title>"
msgstr "B<title>"

#. type: Plain text
#: dselect.1:67
msgid "The screen title."
msgstr "Der Bildschirm-Titel."

#. type: TP
#: dselect.1:67
#, no-wrap
msgid "B<listhead>"
msgstr "B<listhead>"

#. type: Plain text
#: dselect.1:70
msgid "The header line above the list of packages."
msgstr "Die Kopfzeile über der Paketliste."

#. type: TP
#: dselect.1:70
#, no-wrap
msgid "B<list>"
msgstr "B<list>"

#. type: Plain text
#: dselect.1:73
msgid "The scrolling list of packages (and also some help text)."
msgstr "Die scrollende Liste von Paketen (und auch etwas Hilfetext)."

#. type: TP
#: dselect.1:73
#, no-wrap
msgid "B<listsel>"
msgstr "B<listsel>"

#. type: Plain text
#: dselect.1:76
msgid "The selected item in the list."
msgstr "Der ausgewählte Eintrag in der Liste."

#. type: TP
#: dselect.1:76
#, no-wrap
msgid "B<pkgstate>"
msgstr "B<pkgstate>"

#. type: Plain text
#: dselect.1:80
msgid ""
"In the list of packages, the text indicating the current state of each "
"package."
msgstr ""
"In der Liste der Pakete, der Text, der den aktuellen Zustand jedes Pakets "
"anzeigt."

#. type: TP
#: dselect.1:80
#, no-wrap
msgid "B<pkgstatesel>"
msgstr "B<pkgstatesel>"

#. type: Plain text
#: dselect.1:84
msgid ""
"In the list of packages, the text indicating the current state of the "
"currently selected package."
msgstr ""
"In der Liste der Pakete, der Text, der den aktuellen Zustand des aktuell "
"ausgewählten Paketes anzeigt."

#. type: TP
#: dselect.1:84
#, no-wrap
msgid "B<infohead>"
msgstr "B<infohead>"

#. type: Plain text
#: dselect.1:87
msgid ""
"The header line that displays the state of the currently selected package."
msgstr ""
"Die Kopfzeile, die den Zustand des aktuell ausgewählten Paketes anzeigt."

#. type: TP
#: dselect.1:87
#, no-wrap
msgid "B<infodesc>"
msgstr "B<infodesc>"

#. type: Plain text
#: dselect.1:90
msgid "The package's short description."
msgstr "Die Kurzbeschreibung des Pakets."

#. type: TP
#: dselect.1:90
#, no-wrap
msgid "B<info>"
msgstr "B<info>"

#. type: Plain text
#: dselect.1:93
msgid "Used to display package info such as the package's description."
msgstr "Verwendet um Paketinformationen wie die Paketbeschreibung anzuzeigen."

#. type: TP
#: dselect.1:93
#, no-wrap
msgid "B<infofoot>"
msgstr "B<infofoot>"

#. type: Plain text
#: dselect.1:96
msgid "The last line of the screen when selecting packages."
msgstr "Die unterste Zeile des Bildschirms bei der Paketauswahl."

#. type: TP
#: dselect.1:96
#, no-wrap
msgid "B<query>"
msgstr "B<query>"

#. type: Plain text
#: dselect.1:99
msgid "Used to display query lines"
msgstr "Verwendet zum Anzeigen von Abfragezeilen"

#. type: TP
#: dselect.1:99
#, no-wrap
msgid "B<helpscreen>"
msgstr "B<helpscreen>"

#. type: Plain text
#: dselect.1:102
msgid "Color of help screens."
msgstr "Farbe der Hilfebildschirme."

#. type: Plain text
#: dselect.1:107
msgid ""
"After the part of the screen comes a colon and the color specification. You "
"can specify either the foreground color, the background color, or both, "
"overriding the compiled-in colors. Use standard curses color names."
msgstr ""
"Nach dem Teil des Bildschirms kommt ein Doppelpunkt und die Farbangabe. Sie "
"können entweder die Vordergrundfarbe, die Hintergrundfarbe oder beide "
"angeben und damit die eingebauten Werte überschreiben. Verwenden Sie die "
"Standard-Farbnamen von Curses."

#. type: Plain text
#: dselect.1:113
msgid ""
"Optionally, after the color specification is another colon, and an attribute "
"specification. This is a list of one or more attributes, separated by plus "
"(\"+\") characters. Available attributes include (not all of these will work "
"on all terminals): normal, standout, underline, reverse, blink, bright, dim, "
"bold"
msgstr ""
"Optional kann nach der Farbangabe ein weiterer Doppelpunkt und eine Attribut-"
"Angabe folgen. Dies ist eine Liste von einem oder mehreren Attribut(en), "
"getrennt durch Plus-Zeichen (»+«). Folgende Attribute sind verfügbar (aber "
"nicht alle funktionieren in allen Terminals): normal, standout, underline, "
"reverse, blink, bright, dim, bold"

#. type: Plain text
#: dselect.1:116
msgid "Print a brief help text and exit successfully."
msgstr "Gib einen kurzen Hilfetext aus und beende sich erfolgreich."

#. type: Plain text
#: dselect.1:119
msgid "Print version information and exit successfully."
msgstr "Gebe Versionsinformationen aus und beende sich erfolgreich."

#. type: Plain text
#: dselect.1:126
msgid ""
"When B<dselect> is started it can perform the following actions, either "
"directly if it was specified on the command line or by prompting the user "
"with a menu of available actions if running interactively:"
msgstr ""
"Wenn B<Dselect> gestartet wird, kann es die folgenden Aktionen durchführen, "
"entweder direkt, falls sie auf der Kommandozeile angegeben wurde oder indem "
"dem Benutzer ein Menü der verfügbaren Aktionen bei interkativen Betrieb "
"angezeigt wird:"

#. type: SS
#: dselect.1:126
#, no-wrap
msgid "access"
msgstr "Zugriff"

#. type: Plain text
#: dselect.1:128
msgid "Choose and configure an access method to access package repositories."
msgstr "Wähle und konfiguriere eine Zugriffsmethode für Paketdepots."

#. type: Plain text
#: dselect.1:134
msgid ""
"By default, B<dselect> provides several methods such as I<cdrom>, "
"I<multi_cd>, I<nfs>, I<multi_nfs>, I<harddisk>, I<mounted>, I<multi_mount>, "
"I<floppy> or I<ftp>, but other packages may provide additional methods, eg. "
"the I<apt> access method provided by the B<apt> package."
msgstr ""
"Standardmäßig stellt B<dselect> mehrere Methoden wie I<cdrom>, I<multi_cd>, "
"I<nfs>, I<multi_nfs>, I<harddisk>, I<mounted>, I<multi_mount>, I<floppy> "
"oder I<ftp> zur Verfügung, aber andere Pakete können zusätzliche Methoden "
"bereitstellen, z.B. stellt das B<apt>-Paket die I<apt>-Zugriffsmethode "
"bereit."

#. type: Plain text
#: dselect.1:136
msgid "The use of the I<apt> access method is strongly recommended."
msgstr ""
"Die Verwendung der I<apt>-Zugriffsmethode wird nachdrücklich empfohlen."

# Aktualisieren wäre besser als Erneuern, aber das müsste ich im Menü dann
# abkürzen. Sven
# HK: Daher hier untypische Übersetzung!
#. type: SS
#: dselect.1:137
#, no-wrap
msgid "update"
msgstr "Erneuern"

#. type: Plain text
#: dselect.1:139
msgid "Refresh the available packages database."
msgstr "Die verfügbare Paketdatenbank auffrischen."

#. type: Plain text
#: dselect.1:146
msgid ""
"Retrieves a list of available package versions from the package repository, "
"configured for the current access method, and update the dpkg database. The "
"package lists are commonly provided by the repository as files named "
"I<Packages> or I<Packages.gz>.  These files can be generated by repository "
"maintainers, using the program B<dpkg-scanpackages>(1)."
msgstr ""
"Holt die Liste der verfügbaren Paketversionen aus dem Paket-Depot, das für "
"die aktuelle Zugriffsmethode konfiguriert ist, und aktualisiert die "
"Datenbank von dpkg. Die Paketliste wird im Depot typischerweise in Dateien "
"mit den Namen I<Packages> oder I<Packages.gz> bereitgestellt. Diese Dateien "
"können von den Betreuern des Depots mit dem Programm B<dpkg-scanpackages>(1) "
"erstellt werden."

# HK: »Erneuern« s.o.
#. type: Plain text
#: dselect.1:149
msgid ""
"Details of the update action depend on the access method's implementation.  "
"Normally the process is straightforward and requires no user interaction."
msgstr ""
"Die Details der Aktion »Erneuern« hängen von der Implementierung der "
"Zugriffsmethode ab. Normalerweise ist der Prozess unkompliziert und verlangt "
"keine Benutzerinteraktionen."

#. type: SS
#: dselect.1:150
#, no-wrap
msgid "select"
msgstr "Auswählen"

#. type: Plain text
#: dselect.1:152
msgid "View or manage package selections and dependencies."
msgstr "Paketauswahlen oder -abhängigkeiten betrachten oder verwalten."

#. type: Plain text
#: dselect.1:158
msgid ""
"This is the main function of B<dselect>. In the select screen, the user can "
"review a list of all available and installed packages. When run with "
"administrator privileges, it is also possible to interactively change "
"packages selection state. B<dselect> tracks the implications of these "
"changes to other depending or conflicting packages."
msgstr ""
"Dies ist die Hauptfunktionalität von B<dselect>. Im Auswahlbildschirm kann "
"der Benutzer die Liste der verfügbaren und installierten Pakete begutachten. "
"Wenn B<dselect> mit administrativen Rechten ausgeführt wird ist es auch "
"möglich, den Paketauswahlzustand interaktiv zu verändern. B<dselect> "
"verfolgt die Auswirkungen dieser Änderungen auf andere abhängige oder im "
"Konflikt stehende Pakete."

#. type: Plain text
#: dselect.1:165
msgid ""
"When a conflict or failed depends is detected, a dependency resolution "
"subscreen is prompted to the user. In this screen, a list of conflicting or "
"depending packages is shown, and for each package listed, the reason for its "
"listing is shown. The user may apply the suggestions proposed by B<dselect>, "
"override them, or back out all the changes, including the ones that created "
"the unresolved depends or conflicts."
msgstr ""
"Wenn ein Konflikt oder eine fehlgeschlagene Abhängigkeit erkannt wird, wird "
"dem Benutzer ein Unterbildschirm mit einer Lösung der "
"Abhängigkeitsproblematik angeboten. Auf diesem Bildschirm wird eine Liste "
"der im Konflikt stehenden oder abhängigen Pakete gezeigt, wobei für jedes "
"aufgeführte Paket der Grund ebenfalls angegeben ist. Der Benutzer kann die "
"Vorschläge von B<dselect> annehmen, sich über sie hinwegsetzen oder alle "
"Änderungen zurücknehmen, darunter diejenigen, die zu den unerfüllten "
"Abhängigkeiten oder Konflikten führten."

#. type: Plain text
#: dselect.1:168
msgid ""
"The use of the interactive package selections management screen is explained "
"in more detail below."
msgstr ""
"Die Verwendung des interaktiven Paketauswahlbildschirms wird unten "
"detaillierter beschrieben."

#. type: SS
#: dselect.1:169
#, no-wrap
msgid "install"
msgstr "Installieren"

#. type: Plain text
#: dselect.1:171
msgid "Installs selected packages."
msgstr "Installiert ausgewählte Pakete."

#. type: Plain text
#: dselect.1:177
msgid ""
"The configured access method will fetch installable or upgradable packages "
"from the relevant repositories and install these using B<dpkg>.  Depending "
"on the implementation of the access method, all packages can be prefetched "
"before installation, or fetched when needed.  Some access methods may also "
"remove packages that were marked for removal."
msgstr ""
"Die konfigurierte Zugriffsmethode wird installierbare oder für ein Upgrade "
"verfügbare Pakete aus den relevanten Depots holen und dann mittels B<dpkg> "
"installieren. Abhängig von der Implementation der Zugriffsmethode können "
"alle Pakete vor der Installation bereits geholt werden, oder bei Bedarf "
"geholt werden. Bei einigen Zugriffsmethoden werden auch Pakete entfernt, die "
"zur Entfernung markiert wurden."

#. type: Plain text
#: dselect.1:185
msgid ""
"If an error occurred during install, it is usually advisable to run install "
"again. In most cases, the problems will disappear or be solved.  If problems "
"persist or the installation performed was incorrect, please investigate into "
"the causes and circumstances, and file a bug in the Debian bug tracking "
"system. Instructions on how to do this can be found at http://bugs.debian."
"org/ or by reading the documentation for B<bug>(1) or B<reportbug>(1), if "
"these are installed."
msgstr ""
"Falls während der Installation ein Fehler auftrat ist es normalerweise "
"empfehlenswert, die Installation erneut durchzuführen. In den meisten Fällen "
"wird das Problem verschwinden oder gelöst werden. Falls Probleme bleiben "
"oder die durchgeführte Installation nicht korrekt war, untersuchen Sie bitte "
"den Grund und die Umstände und reichen Sie einen Fehler in der "
"Fehlerdatenbank von Debian ein. Anleitungen wie dies erfolgen kann, sind auf "
"http://bugs.debian.org/ verfügbar oder können durch Lesen der Dokumentation "
"für B<bug>(1) oder B<reportbug>(1) (falls diese installiert sind) erhalten "
"werden."

#. type: Plain text
#: dselect.1:192
msgid ""
"Details of the install action depend on the access method's implementation.  "
"The user's attention and input may be required during installation, "
"configuration or removal of packages. This depends on the maintainer scripts "
"in the package. Some packages make use of the B<debconf>(1)  library, "
"allowing for more flexible or even automated installation setups."
msgstr ""
"Details der Installationsaktion hängen von der Implementierung der "
"Zugriffsmethode ab. Die Aufmerksamkeit und Eingabe des Benutzers könnten "
"während der Installation, Konfiguration oder dem Entfernen von Paketen "
"notwendig sein. Dies hängt von den Betreuerskripten im Paket ab. Einige "
"Pakete verwenden die Bibliothek B<debconf>(1), die flexiblere oder sogar "
"automatisierte Installationseinrichtungen erlaubt."

#. type: SS
#: dselect.1:193
#, no-wrap
msgid "config"
msgstr "Konfig"

#. type: Plain text
#: dselect.1:195
msgid "Configures any previously installed, but not fully configured packages."
msgstr ""
"Konfiguriert alle bisher installierten, aber noch nicht voll konfigurierten "
"Pakete."

#. type: SS
#: dselect.1:196
#, no-wrap
msgid "remove"
msgstr "Löschen"

#. type: Plain text
#: dselect.1:198
msgid "Removes or purges installed packages, that are marked for removal."
msgstr ""
"Löscht oder entfernt installierte Pakete vollständig, die zum Löschen "
"markiert sind."

#. type: SS
#: dselect.1:199
#, no-wrap
msgid "quit"
msgstr "Beenden"

#. type: Plain text
#: dselect.1:201
msgid "Quit B<dselect>"
msgstr "B<Dselect> beenden"

#. type: Plain text
#: dselect.1:203
msgid "Exits the program with zero (successful) errorcode."
msgstr "Beendet das Programm mit dem Fehlercode Null (erfolgreich)."

#. type: SH
#: dselect.1:205
#, no-wrap
msgid "Package selections management"
msgstr "Paketauswahlverwaltung"

#. type: SS
#: dselect.1:207
#, no-wrap
msgid "Introduction"
msgstr "Einführung"

#. type: Plain text
#: dselect.1:223
msgid ""
"B<dselect> directly exposes the administrator to some of the complexities "
"involved with managing large sets of packages with many interdependencies. "
"For a user who is unfamiliar with the concepts and the ways of the debian "
"package management system, it can be quite overwhelming. Although B<dselect> "
"is aimed at easing package management and administration, it is only "
"instrumental in doing so and can not be assumed to be a sufficient "
"substitute for administrator skill and understanding. The user is required "
"to be familiar with the concepts underlying the Debian packaging system.  In "
"case of doubt, consult the B<dpkg>(1) manpage and the Debian Policy manual, "
"contained in the B<debian-policy> package."
msgstr ""
"B<dselect> setzt den Administrator direkt einigen Komplexitäten aus, die "
"beim Verwalten großer Paketmengen mit vielen Abhängigkeiten untereinander "
"auftreten. Für einen Benutzer, der sich mit den Konzepten und den Arten des "
"Debian-Paktverwaltungssystems nicht auskennt kann dies recht überwältigend "
"sein. Obwohl B<dselect> darauf abzielt, die Paketverwaltung und -"
"administration zu vereinfachen, kann es dazu nur ein Werkzeug sein und somit "
"nicht ausreichende Administratorfähigkeiten und Administratorverständnis "
"ersetzen. Es wird vom Benutzer erwartet, dass er mit den Konzepten des "
"unterliegenden Debian-Paketsystems vertraut ist. Im Zweifelsfall ziehen Sie "
"die Handbuchseite B<dpkg>(1) und das Debian-Richtlinien-Handbuch zu Rate. "
"Letzteres ist auf Englisch im Paket B<debian-policy> enthalten."

#. type: Plain text
#: dselect.1:229
msgid ""
"Unless B<dselect> is run in expert or immediate mode, a help screen is first "
"displayed when choosing this action from the menu. The user is I<strongly> "
"advised to study all of the information presented in the online help "
"screens, when one pops up.  The online help screens can at any time be "
"invoked with the B<'?'> key."
msgstr ""
"Falls B<dselect> nicht im Experten- oder direkten Modus läuft wird zuerst "
"ein Hilfebildschirm angezeigt, wenn diese Aktion vom Menü ausgewählt wird. "
"Dem Benutzer wird I<nachdrücklich> empfohlen, die gesamten in der Online-"
"Hilfe angezeigten Informationen zu prüfen, wenn diese angezeigt werden. Die "
"Online-Hilfebildschirme können jederzeit mit der Taste B<»?«> aufgerufen "
"werden."

#. type: SS
#: dselect.1:230
#, no-wrap
msgid "Screen layout"
msgstr "Bildschirmlayout"

#. type: Plain text
#: dselect.1:238
msgid ""
"The select screen is by default split in a top and a bottom half.  The top "
"half shows a list of packages. A cursor bar can select an individual "
"package, or a group of packages, if applicable, by selecting the group "
"header. The bottom half of the screen shows some details about the package "
"currently selected in the top half of the screen.  The type of detail that "
"is displayed can be varied."
msgstr ""
"Der Auswahlbildschirm ist standardmäßig in eine obere und eine untere Hälfte "
"geteilt. Die obere Hälft zeigt eine Liste von Paketen. Ein Cursorbalken "
"wählt individuelle Pakete oder, falls zutreffend, eine Gruppe von Paketen "
"durch Auswahl der Gruppenkopfzeile aus. Die untere Hälfte des Bildschirms "
"zeigt einige Details über das derzeit in der oberen Hälfte des Bildschirms "
"ausgewählte Paket an. Die Art der angezeigten Details kann variiert werden."

#. type: Plain text
#: dselect.1:241
msgid ""
"Pressing the B<'I'> key toggles a full-screen display of the packages list, "
"an enlarged view of the package details, or the equally split screen."
msgstr ""
"Drücken der Taste B<»I«> schaltet zwischen der Vollbilddarstellung der "
"Paketliste, einer vergrößerten Darstellung der Paketdetails und dem "
"gleichmäßig geteilten Bildschirm um."

#. type: SS
#: dselect.1:242
#, no-wrap
msgid "Package details view"
msgstr "Paket-Detailbetrachtung"

#. type: Plain text
#: dselect.1:251
#, no-wrap
msgid ""
"The package details view by default shows the extended package description\n"
"for the package that is currently selected in the packages status list.\n"
"The type of detail can be toggled by pressing the B<'i'> key. This\n"
"alternates between:\n"
" - the extended description\n"
" - the control information for the installed version\n"
" - the control information for the available version\n"
msgstr ""
"Standardmäßig zeigt die Paket-Detailbetrachtung die ausführliche\n"
"Paketbeschreibung des derzeit in der Paketstatusliste ausgewählten Pakets.\n"
"Die Art der Details kann durch Drücken der Taste B<»i«> umgeschaltet werden.\n"
"Diese wechseln zwischen:\n"
" - der ausführlichen Beschreibung\n"
" - der Steuerinformation für die installierte Version\n"
" - der Steuerinformation für die verfügbare Version\n"

#. type: Plain text
#: dselect.1:255
msgid ""
"In a dependency resolution screen, there is also the possibility of viewing "
"the specific unresolved depends or conflicts related to the package and "
"causing it to be listed."
msgstr ""
"Im Bildschirm der Abhängigkeitsauflösung gibt es auch die Möglichkeit, die "
"spezifizierten nicht aufgelösten Abhängigkeiten oder Konflikte mit Bezug zu "
"dem Paket anzuschauen und deren Auflistung zu erreichen."

#. type: SS
#: dselect.1:256
#, no-wrap
msgid "Packages status list"
msgstr "Paketstatusliste"

#. type: Plain text
#: dselect.1:261
msgid ""
"The main select screen displays a list of all packages known to the debian "
"package management system. This includes packages installed on the system "
"and packages known from the available packages database."
msgstr ""
"Der Hauptauswahlbildschirm zeigt eine Liste aller Pakete, die dem Debian-"
"Paketverwaltungssystem bekannt sind. Dies beinhaltet alle auf dem System "
"installierten Pakete und Pakete, die aus den verfügbaren Paketdatenbanken "
"bekannt sind."

#. type: Plain text
#: dselect.1:269
msgid ""
"For every package, the list shows the package's status, priority, section, "
"installed and available versions, the package name and its short "
"description, all in one line. By pressing the B<'V'> key, the display of the "
"installed and available version can be toggled between on an off. By "
"pressing the B<'v'> key, the package status display is toggled between "
"verbose and shorthand.  Shorthand display is the default."
msgstr ""
"Für jedes Paket zeigt die Liste den Paketstatus, die Priorität, den Bereich, "
"installierte und verfügbare Versionen, den Namen und die Kurzbeschreibung "
"des Paketes, alles in einer Zeile. Durch Drücken der Taste B<»V«> kann die "
"Anzeige der installierten und verfügbaren Version zwischen ein und aus "
"umgeschaltet werden. Durch Drücken der Taste B<»v«> wird die Anzeige des "
"Paketstatus zwischen ausführlich und verkürzt umgeschaltet. Die verkürzte "
"Anzeige ist voreingestellt."

#. type: Plain text
#: dselect.1:275
msgid ""
"The shorthand status indication consists of four parts: an error flag, which "
"should normally be clear, the current status, the last selection state and "
"the current selection state.  The first two relate to the actual state of "
"the package, the second pair are about the selections set by the user."
msgstr ""
"Die Kurzstatusangabe besteht aus vier Teilen: einer Fehlermarkierung, die "
"normalerweise leer sein sollte, dem aktuellen Status, dem letzten "
"Auswahlstatus und dem aktuellen Auswahlstatus. Die ersten zwei beziehen sich "
"auf den derzeitigen Status des Pakets, das zweite Paar behandeln die vom "
"Benutzer gesetzte Auswahl."

#. type: Plain text
#: dselect.1:293
#, no-wrap
msgid ""
"These are the meanings of the shorthand package status indicator codes:\n"
" Error flag:\n"
"  I<empty>   no error\n"
"  B<R>       serious error, needs reinstallation;\n"
" Installed state:\n"
"  I<empty>   not installed;\n"
"  B<*>       fully installed and configured;\n"
"  B<->       not installed but some config files may remain;\n"
"  B<U>       unpacked but not yet configured;\n"
"  B<C>       half-configured (an error happened);\n"
"  B<I>       half-installed (an error happened).\n"
" Current and requested selections:\n"
"  B<*>       marked for installation or upgrade;\n"
"  B<->       marked for removal, configuration files remain;\n"
"  B<=>       on hold: package will not be processed at all;\n"
"  B<_>       marked for purge, also remove configuration;\n"
"  B<n>       package is new and has yet to be marked.\n"
msgstr ""
"Dies sind die Bedeutungen der kurzen Paketstatus-Anzeige-Codes:\n"
" Fehlermarkierung:\n"
"  I<leer>    kein Fehler\n"
"  B<R>       schwerwiegender Fehler, Neuinstallation notwendig;\n"
" Installierter Status:\n"
"  I<leer>    nicht installiert;\n"
"  B<*>       vollständig installiert und konfiguriert;\n"
"  B<->       nicht installiert, aber einige Konfigurationsdateien könnten bleiben;\n"
"  B<U>       entpackt, aber noch nicht konfiguriert;\n"
"  B<C>       halb konfiguriert (ein Fehler ist aufgetreten);\n"
"  B<I>       halb installiert (ein Fehler ist aufgetreten).\n"
" Aktuelle und angeforderte Auswahlen:\n"
"  B<*>       markiert zur Installation oder Upgrade;\n"
"  B<->       markiert zur Entfernung, Konfigurationsdateien bleiben;\n"
"  B<=>       auf »halten«: Paket wird überhaupt nicht verarbeitet werden;\n"
"  B<_>       markiert zum vollständigen Löschen, auch der Konfiguration;\n"
"  B<n>       Paket ist neu und muss erst noch markiert werden.\n"

#. type: SS
#: dselect.1:294
#, no-wrap
msgid "Cursor and screen movement"
msgstr "Cursor- und Bildschirm-Bewegung"

#. type: Plain text
#: dselect.1:299
msgid ""
"The package selection list and the dependency conflict resolution screens "
"can be navigated using motion commands mapped to the following keys:"
msgstr ""
"Die Paketauswahllisten und die Abhängigkeitskonflikte-Lösungsbildschirme "
"können mit den Bewegungsbefehlen navigiert werden, die auf die folgenden "
"Tasten abgebildet sind:"

#. type: Plain text
#: dselect.1:316
#, no-wrap
msgid ""
"  B<p, Up, k>           move cursor bar up\n"
"  B<n, Down, j>         move cursor bar down\n"
"  B<P, Pgup, Backspace> scroll list 1 page up\n"
"  B<N, Pgdn, Space>     scroll list 1 page down\n"
"  B<^p>                 scroll list 1 line up\n"
"  B<^n>                 scroll list 1 line down\n"
"  B<t, Home>            jump to top of list\n"
"  B<e, End>             jump to end of list\n"
"  B<u>                  scroll info 1 page up\n"
"  B<d>                  scroll info 1 page down\n"
"  B<^u>                 scroll info 1 line up\n"
"  B<^d>                 scroll info 1 line down\n"
"  B<B, Left-arrow>      pan display 1/3 screen left\n"
"  B<F, Right-arrow>     pan display 1/3 screen right\n"
"  B<^b>                 pan display 1 character left\n"
"  B<^f>                 pan display 1 character right\n"
msgstr ""
"  B<p, Hoch, k>                bewege Cursor-Balken hoch\n"
"  B<n, Runter, j>              bewege Cursor-Balken runter\n"
"  B<P, Bild hoch, Rückschritt> scrolle Liste eine Seite hoch\n"
"  B<N, Bild runter, Leertaste> scrolle Liste eine Seite runter\n"
"  B<^p>                        scrolle Liste eine Zeile hoch\n"
"  B<^n>                        scrolle Liste eine Zeile runter\n"
"  B<t, Pos 1>                  springe zum Listen-Anfang\n"
"  B<e, Ende>                   springe zum Listen-Ende\n"
"  B<u>                         scrolle Info eine Seite hoch\n"
"  B<d>                         scrolle Info eine Seite runter\n"
"  B<^u>                        scrolle Info eine Zeile hoch\n"
"  B<^d>                        scrolle Info eine Zeile runter\n"
"  B<B, Linker Pfeil>           bewege Bildschirm 1/3-Bildschirmbreite links\n"
"  B<F, Rechter Pfeil>          bewege Bildschirm 1/3-Bildschirmbreite rechts\n"
"  B<^b>                        bewege Bildschirm ein Zeichen nach links\n"
"  B<^f>                        bewege Bildschirm ein Zeichen nach rechts\n"

#. type: SS
#: dselect.1:317
#, no-wrap
msgid "Searching and sorting"
msgstr "Suchen und Sortieren"

#. type: Plain text
#: dselect.1:331
msgid ""
"The list of packages can be searched by package name. This is done by "
"pressing B<'/'>, and typing a simple search string. The string is "
"interpreted as a B<regex>(7)  regular expression.  If you add B<'/d'> to the "
"search expression, dselect will also search in descriptions. If you add B<'/"
"i'> the search will be case insensitive.  You may combine these two suffixes "
"like this: B<'/id'>.  Repeated searching is accomplished by repeatedly "
"pressing the B<'n'> or B<'\\e'> keys, until the wanted package is found.  If "
"the search reaches the bottom of the list, it wraps to the top and continues "
"searching from there."
msgstr ""
"Die Liste der Pakete kann nach Paketnamen durchsucht werden. Dies erfolgt "
"durch Drücken von B<»/«> und der Eingabe einer einfachen Suchzeichenkette. "
"Die Zeichenkette wird als regulärer Ausdruck gemäß B<regex>(7) "
"interpretiert. Falls Sie zu dem Suchausdruck B<»/d«> hinzufügen wird Dselect "
"auch in Beschreibungen suchen. Falls Sie B<»/i«> hinzufügen, wird Groß-/"
"Kleinschreibung ignoriert. Sie können die Suffixe wie folgt kombinieren: B<»/"
"id«>. Wiederholtes Suchen wird durch Drücken von B<»n«> oder B<»\\e«> "
"erreicht, bis das gewünschte Paket gefunden wurde. Falls die Suche das Ende "
"der Liste erreicht, springt sie zum Anfang und fährt von dort fort."

#. type: Plain text
#: dselect.1:338
#, no-wrap
msgid ""
"The list sort order can be varied by pressing\n"
"the B<'o'> and B<'O'> keys repeatedly.\n"
"The following nine sort orderings can be selected:\n"
" alphabet          available           status\n"
" priority+section  available+priority  status+priority\n"
" section+priority  available+section   status+section\n"
msgstr ""
"Die List-Sortierreihenfolge kann durch wiederholtes\n"
"Drücken der Tasten B<»o«> and B<»O«> verändert werden.\n"
"Die folgenden Sortierreihenfolgen können ausgewählt werden:\n"
" alphabetisch      verfügbar           Status\n"
" Priorität+Bereich verfügbar+Priorität Status+Priorität\n"
" Bereich+Priorität verfügbar+Bereich   Status+Bereich\n"

#. type: Plain text
#: dselect.1:341
msgid ""
"Where not listed above explicitly, alphabetic order is used as the final "
"subordering sort key."
msgstr ""
"Wo dies oben nicht explizit aufgeführt ist, wird alphabetische Reihenfolge "
"als abschließender Unterordnungs-Sortierschlüssel verwendet."

#. type: SS
#: dselect.1:342
#, no-wrap
msgid "Altering selections"
msgstr "Auswahlen ändern"

#. type: Plain text
#: dselect.1:351
#, no-wrap
msgid ""
"The requested selection state of individual packages may be\n"
"altered with the following commands:\n"
"  B<+, Insert>    install or upgrade\n"
"  B<=, H>         hold in present state and version\n"
"  B<:, G>         unhold: upgrade or leave uninstalled\n"
"  B<-, Delete>    remove, but leave configuration\n"
"  B<_>            remove & purge configuration\n"
msgstr ""
"Der angeforderte Auswahlstatus individueller Pakete kann mit\n"
"den folgenden Befehlen geändert werden:\n"
"  B<+, Einfg>     Installieren oder Upgrade durchführen\n"
"  B<=, H>         gegenwärtigen Status und Version beibehalten\n"
"  B<:, G>         Loslassen: Upgrad durchführen oder uninstalliert lassen\n"
"  B<-, Entf>      Entfernen, aber Konfiguration behalten\n"
"  B<_>            Entfernen und Konfiguration löschen\n"

#. type: Plain text
#: dselect.1:355
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution screen. "
"This will be further explained below."
msgstr ""
"Wenn sich aus der Änderungsanforderung eine oder mehrere unerfüllte "
"Abhängigkeiten oder Konflikte ergeben, bietet B<dselect> dem Benutzer einen "
"Bildschirm zu Abhängigkeitsauflösung an. Dieser wird weiter unten "
"detaillierter beschrieben."

#. type: Plain text
#: dselect.1:360
msgid ""
"It is also possible to apply these commands to groups of package selections, "
"by pointing the cursor bar onto a group header. The exact grouping of "
"packages is dependent on the current list ordering settings."
msgstr ""
"Es ist auch möglich, die Befehle auf Gruppen von Paketauswahlen anzuwenden, "
"indem mit dem Cursor-Balken die Gruppen-Überschrift ausgewählt wird. Die "
"genaue Gruppierung der Pakete hängt von den Einstellungen der aktuellen "
"Listensortierung ab."

#. type: Plain text
#: dselect.1:366
msgid ""
"Proper care should be taken when altering large groups of selections, "
"because this can instantaneously create large numbers of unresolved depends "
"or conflicts, all of which will be listed in one dependency resolution "
"screen, making them very hard to handle. In practice, only hold and unhold "
"operations are useful when applied to groups."
msgstr ""
"Veränderungen von großen Gruppen von Auswahlen sollten vorsichtig "
"durchgeführt werden, da dies sofort zu einer großen Anzahl an nicht-"
"aufgelösten Abhängigkeiten oder Konflikten führen kann, die dann alle im "
"Bildschirm der Abhängigkeitsauflösung dargestellt werden. Dies kann dann "
"schwer zu handhaben sein. In der Praxis sind nur die Operationen Halten und "
"Loslassen nützlich, wenn sie auf Gruppen angewandt werden."

#. type: SS
#: dselect.1:367
#, no-wrap
msgid "Resolving depends and conflicts"
msgstr "Abhängigkeiten und Konflikte auflösen"

#. type: Plain text
#: dselect.1:372
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution screen. "
"First however, an informative help screen is displayed."
msgstr ""
"Wenn sich aus der Änderungsanforderung eine oder mehrere unerfüllte "
"Abhängigkeiten oder Konflikte ergeben, bietet B<dselect> dem Benutzer einen "
"Bildschirm zu Abhängigkeitsauflösung an. Zuerst wird allerdings ein "
"Hilfebildschirm angezeigt."

#. type: Plain text
#: dselect.1:379
msgid ""
"The top half of this screen lists all the packages that will have unresolved "
"depends or conflicts, as a result of the requested change, and all the "
"packages whose installation can resolve any of these depends or whose "
"removal can resolve any of the conflicts.  The bottom half defaults to show "
"the depends or conflicts that cause the currently selected package to be "
"listed."
msgstr ""
"Die obere Hälfte dieses Bildschirms führt alle Pakete auf, die auf Grund der "
"angeforderten Änderung unerfüllte Abhängigkeiten oder Konflikte haben und "
"alle Pakete, deren Installation (einige) dieser Abhängigkeiten erfüllen oder "
"deren Entfernung (einige) der Konflikte beseitigen kann. Die untere Hälfte "
"zeigt standardmäßig die Abhängigkeiten oder Konflikte, die zu der Auflistung "
"des derzeit ausgewählte Paketes geführt haben."

#. type: Plain text
#: dselect.1:385
msgid ""
"When the sublist of packages is displayed initially, B<dselect> may have "
"already set the requested selection status of some of the listed packages, "
"in order to resolve the depends or conflicts that caused the dependency "
"resolution screen to be displayed. Usually, it is best to follow up the "
"suggestions made by B<dselect>."
msgstr ""
"Wenn anfänglich eine Teilliste von Paketen dargestellt wird, könnte "
"B<dselect> bereits den erbetenen Auswahlstatus von einigen der aufgeführten "
"Pakete gesetzt haben, um die Abhängigkeiten oder Konflikte aufzulösen, die "
"dazu geführt hatten, dass der Bildschirm zu Abhängigkeitsauflösung angezeigt "
"wurde. Normalerweise ist es am besten, den Vorschlägen von B<dselect> zu "
"folgen."

#. type: Plain text
#: dselect.1:393
msgid ""
"The listed packages' selection state may be reverted to the original "
"settings, as they were before the unresolved depends or conflicts were "
"created, by pressing the B<'R'> key. By pressing the B<'D'> key, the "
"automatic suggestions are reset, but the change that caused the dependency "
"resolution screen to be prompted is kept as requested.  Finally, by pressing "
"B<'U'>, the selections are again set to the automatic suggestion values."
msgstr ""
"Durch Drücken der Taste B<»R«> kann der Auswahlzustand der aufgeführten "
"Pakete zu den Originaleinstellungen zurückgesetzt werden, wie er vor den "
"unaufgelösten Abhängigkeiten oder Konflikten war. Durch Drücken der Taste "
"B<»D«> werden die automatischen Vorschläge zurückgesetzt, aber die "
"Änderungen, die zu der Anzeige des Abhängigkeitsauflösungsbildschirms "
"geführt hatten, werden wie gebeten beibehalten. Schließlich werden durch "
"Drücken der Taste B<»U«> die Auswahlen wieder auf die automatischen "
"Auswahlwerte gesetzt."

#. type: SS
#: dselect.1:394
#, no-wrap
msgid "Establishing the requested selections"
msgstr "Die angeforderten Auswahlen einrichten"

#. type: Plain text
#: dselect.1:401
msgid ""
"By pressing B<enter>, the currently displayed set of selections is accepted. "
"If B<dselect> detects no unresolved depends as a result of the requested "
"selections, the new selections will be set.  However, if there are any "
"unresolved depends, B<dselect> will again prompt the user with a dependency "
"resolution screen."
msgstr ""
"Durch Drücken von B<Enter> wird die derzeit angezeigte Auswahlgruppe "
"akzeptiert. Falls B<dselect> keine unaufgelösten Abhängigkeit als Ergebnis "
"der angeforderten Auswahl entdeckt, wird die neue Auswahl gesetzt. Falls es "
"allerdings unaufgelöste Abhängigkeiten gibt, wird B<dselect> dem Benutzer "
"erneut den Bildschirm mit der Abhängigkeitsauflösung anzeigen."

#. type: Plain text
#: dselect.1:407
msgid ""
"To alter a set of selections that creates unresolved depends or conflicts "
"and forcing B<dselect> to accept it, press the B<'Q'> key. This sets the "
"selections as specified by the user, unconditionally. Generally, don't do "
"this unless you've read the fine print."
msgstr ""
"Um die Menge der Auswahlen zu ändern, die unaufgelöste Abhängigkeiten oder "
"Konflikte erzeugt und B<dselect> zu zwingen, diese zu akzeptieren, drücken "
"Sie die Taste B<»Q«>. Dies setzt die Auswahl wie vom Benutzer angegeben, "
"ohne Bedingungen. Machen Sie dies nur, wenn Sie sich über die Konsequenzen "
"im Klaren sind."

#. type: Plain text
#: dselect.1:414
msgid ""
"The opposite effect, to back out any selections change requests and go back "
"to the previous list of selections, is attained by pressing the B<'X'> or "
"B<escape> keys. By repeatedly pressing these keys, any possibly detrimental "
"changes to the requested package selections can be backed out completely to "
"the last established settings."
msgstr ""
"Der gegenteilige Effekt, um alle Auswahländerungen zurückzusetzen und zurück "
"auf die vorherige Auswahlliste zu gehen, wird durch Drücken der Tasten "
"B<»X«> oder B<»Esc«> erreicht. Durch wiederholtes Drücken dieser Tasten "
"können möglicherweise schädliche Änderungen an der angeforderten "
"Paketauswahl komplett auf die letzten bestehenden Einstellungen "
"zurückgesetzt werden."

#. type: Plain text
#: dselect.1:421
msgid ""
"If you mistakenly establish some settings and wish to revert all the "
"selections to what is currently installed on the system, press the B<'C'> "
"key.  This is somewhat similar to using the unhold command on all packages, "
"but provides a more obvious panic button in cases where the user pressed "
"B<enter> by accident."
msgstr ""
"Falls Sie bestimmte Einstellungen aus Versehen vornehmen und alle Auswahlen "
"so zurücksetzen wollen, dass diese den bereits auf dem System installierten "
"Paketen entsprechen, dann drücken Sie die Taste B<»C«>. Dies ähnelt etwas "
"der Verwendung des Befehls Loslassen, angewendet auf alle Pakete, bietet "
"aber einen etwas deutlicheren Panikknopf, falls der Benutzer aus Versehen "
"die B<Eingabetaste> gedrückt hat."

#. type: Plain text
#: dselect.1:428
msgid ""
"If set, B<dselect> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""
"Falls gesetzt wird B<dselect> es als das Verzeichnis verwenden, aus dem die "
"benutzerspezifische Konfigurationsdatei gelesen wird."

#. type: Plain text
#: dselect.1:434
msgid ""
"The B<dselect> package selection interface is confusing to some new users.  "
"Reportedly, it even makes seasoned kernel developers cry."
msgstr ""
"Die Paketauswahl-Schnittstelle von B<Dselect> bringt einige neue Benutzer "
"durcheinander. Gerüchteweise bringt sie sogar erfahrene Kernelentwickler zum "
"Heulen."

#. type: Plain text
#: dselect.1:436
msgid "The documentation is lacking."
msgstr "Die Dokumentation ist verbesserungswürdig."

#. type: Plain text
#: dselect.1:438
msgid "There is no help option in the main menu."
msgstr "Es gibt keine Hilfe-Option im Hauptmenü."

#. type: Plain text
#: dselect.1:440
msgid "The visible list of available packages cannot be reduced."
msgstr ""
"Die sichtbare Liste von verfügbaren Paketen kann nicht verkleinert werden."

#. type: Plain text
#: dselect.1:444
msgid ""
"The built in access methods can no longer stand up to current quality "
"standards. Use the access method provided by apt, it is not only not broken, "
"it is also much more flexible than the built in access methods."
msgstr ""
"Die eingebauten Zugriffsmethoden können sich nicht mehr mit aktuellen "
"Qualitätsstandards messen. Verwenden Sie die von apt bereitgestellte "
"Zugriffsmethode, sie funktioniert nicht nur, sondern ist sogar flexibler als "
"die eingebauten Zugriffsmethoden."

#. type: Plain text
#: dselect.1:450
msgid "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."
msgstr "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."

#. type: Plain text
#: dselect.1:455
msgid ""
"B<dselect> was written by Ian Jackson (ijackson@gnu.ai.mit.edu). Full list "
"of contributors may be found in 'dselect --version'."
msgstr ""
"B<Dselect> wurde von Ian Jackson (ijackson@gnu.ai.mit.edu) geschrieben. Die "
"komplette Liste der Beitragenden kann mittels »dselect --version« "
"herausgefunden werden."

#. type: Plain text
#: dselect.1:458
msgid ""
"This manual page was written by Juho Vuori E<lt>javuori@cc.helsinki.fiE<gt>, "
"Josip Rodin and Joost kooij."
msgstr ""
"Diese Handbuchseite wurde von Juho Vuori E<lt>javuori@cc.helsinki.fiE<gt>, "
"Josip Rodin und Joost kooij geschrieben."

#. type: TH
#: dselect.cfg.5:1
#, no-wrap
msgid "dselect.cfg"
msgstr "dselect.cfg"

#. type: TH
#: dselect.cfg.5:1
#, no-wrap
msgid "2011-07-03"
msgstr "2011-07-03"

#. type: Plain text
#: dselect.cfg.5:4
msgid "dselect.cfg - dselect configuration file"
msgstr "dselect.cfg - dselect Konfigurationsdatei"

#. type: Plain text
#: dselect.cfg.5:11
msgid ""
"This file contains default options for dselect. Each line contains a single "
"option which is exactly the same as a normal command line option for dselect "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""
"Diese Datei enthält Standardoptionen für dselect. Jede Zeile enthält eine "
"einzelne Option, die exakt die gleiche wie für die normalen Kommandozeilen-"
"Option von dselect sind, abgesehen von den einleitenden Gedankenstrichen, "
"die hier nicht verwendet werden. Anführungszeichen (»Quotes«) um "
"Optionswerte werden entfernt. Kommentare sind durch Einleiten einer Zeile "
"mit einem Rautenzeichen (»B<#>«) erlaubt."

#. type: Plain text
#: dselect.cfg.5:14
msgid "I</etc/dpkg/dselect.cfg.d/[0-9a-zA-Z_-]*>"
msgstr "I</etc/dpkg/dselect.cfg.d/[0-9a-zA-Z_-]*>"

#. type: Plain text
#: dselect.cfg.5:16
msgid "I</etc/dpkg/dselect.cfg>"
msgstr "I</etc/dpkg/dselect.cfg>"

#. type: Plain text
#: dselect.cfg.5:18
msgid "I<~/.dselect.cfg>"
msgstr "I<~/.dselect.cfg>"

#. type: Plain text
#: dselect.cfg.5:22
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dselect>."
msgstr ""
"Lesen Sie I</usr/share/doc/dpkg/THANKS> für die Liste der Leute, die zu "
"B<dselect> beigetragen haben."

#. type: Plain text
#: dselect.cfg.5:24
msgid "B<dselect>(1)."
msgstr "B<dselect>(1)."

#. type: TH
#: start-stop-daemon.8:1
#, no-wrap
msgid "start-stop-daemon"
msgstr "start-stop-daemon"

#. type: Plain text
#: start-stop-daemon.8:4
msgid "start-stop-daemon - start and stop system daemon programs"
msgstr "start-stop-daemon - startet und stoppt System-Daemon-Programme"

#. type: Plain text
#: start-stop-daemon.8:8
msgid "B<start-stop-daemon> [I<option>...] I<command>"
msgstr "B<start-stop-daemon> [I<Option>...] I<Befehl>"

#. type: Plain text
#: start-stop-daemon.8:14
msgid ""
"B<start-stop-daemon> is used to control the creation and termination of "
"system-level processes.  Using one of the matching options, B<start-stop-"
"daemon> can be configured to find existing instances of a running process."
msgstr ""
"B<start-stop-daemon> wird zur Steuerung der Erzeugung und Beendigung von "
"Prozessen auf Systemebene verwendet. Durch die Verwendung einer der Abgleich-"
"Optionen kann B<start-stop-daemon> so konfiguriert werden, dass er "
"existierende Instanzen von einem laufenden Prozess finden kann."

#. type: Plain text
#: start-stop-daemon.8:33
msgid ""
"Note: unless B<--pidfile> is specified, B<start-stop-daemon> behaves similar "
"to B<killall>(1).  B<start-stop-daemon> will scan the process table looking "
"for any processes which match the process name, uid, and/or gid (if "
"specified). Any matching process will prevent B<--start> from starting the "
"daemon. All matching processes will be sent the TERM signal (or the one "
"specified via B<--signal> or B<--retry>) if B<--stop> is specified. For "
"daemons which have long-lived children which need to live through a B<--"
"stop>, you must specify a pidfile."
msgstr ""
"Hinweis: Falls B<--pidfile> nicht angegeben ist, verhält sich B<start-stop-"
"daemon> ähnlich zu B<killall>(1). B<start-stop-daemon> wird die "
"Prozesstabelle nach Prozessen durchsuchen, die auf den Prozessnamen, uid und/"
"oder gid (falls angegeben) passen. Jeder passende Prozess wird B<--start> "
"daran hindern, den Daemon zu starten. Allen passenden Prozessen wird das "
"TERM-Signal (oder das mit B<--signal> oder B<--retry> angegebene) geschickt, "
"falls B<--stop> angegeben ist. Für Daemons die langlebige Kinder haben, die "
"ein B<--stop> überleben müssen, müssen Sie eine PID-Datei angeben."

#. type: TP
#: start-stop-daemon.8:35
#, no-wrap
msgid "B<-S>, B<--start> [B<-->] I<arguments>"
msgstr "B<-S>, B<--start> [B<-->] I<Argumente>"

#. type: Plain text
#: start-stop-daemon.8:52
msgid ""
"Check for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> does nothing, and exits with error status 1 (0 if B<--"
"oknodo> is specified).  If such a process does not exist, it starts an "
"instance, using either the executable specified by B<--exec> or, if "
"specified, by B<--startas>.  Any arguments given after B<--> on the command "
"line are passed unmodified to the program being started."
msgstr ""
"Prüfe auf Existenz eines angegebenen Prozesses. Falls ein solcher Prozess "
"existiert führt B<start-stop-daemon> nichts aus und beendet sich mit "
"Fehlerstatus 1 (0, falls B<--oknodo> angegeben wurde). Falls ein solcher "
"Prozess nicht existiert, dann startet es eine Instanz, entweder unter "
"Verwendung des ausführbaren Programms, das mittels B<--exec> (oder, falls "
"angegeben, mittels B<--startas>) spezifiziert wurde. Jedes weitere auf der "
"Kommandozeile nach B<--> angegebene Argument wird unverändert an das zu "
"startende Programm weitergegeben."

#. type: TP
#: start-stop-daemon.8:52
#, no-wrap
msgid "B<-K>, B<--stop>"
msgstr "B<-K>, B<--stop>"

#. type: Plain text
#: start-stop-daemon.8:70
msgid ""
"Checks for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> sends it the signal specified by B<--signal>, and exits "
"with error status 0.  If such a process does not exist, B<start-stop-daemon> "
"exits with error status 1 (0 if B<--oknodo> is specified). If B<--retry> is "
"specified, then B<start-stop-daemon> will check that the process(es) have "
"terminated."
msgstr ""
"Überprüft auf die Existenz eines speziellen Prozesses. Falls ein solcher "
"Prozess existiert, dann sendet B<start-stop-daemon> das durch B<--signal> "
"angegebene Signal und beendet sich mit Fehlerstatus 0. Falls kein solcher "
"Prozess existiert, dann beendet sich B<start-stop-daemon> mit Fehlerstatus 1 "
"(0 falls B<--oknodo> angegeben ist). Falls B<--retry> angegeben wurde, wird "
"B<start-stop-daemon> überprüfen, ob der/die Prozess(e) beendet wurden."

#. type: TP
#: start-stop-daemon.8:70
#, no-wrap
msgid "B<-T>, B<--status>"
msgstr "B<-T>, B<--status>"

#. type: Plain text
#: start-stop-daemon.8:74
msgid ""
"Check for the existence of a specified process, and returns an exit status "
"code, according to the LSB Init Script Actions."
msgstr ""
"Überprüft auf die Existenz eines bestimmten Prozesses und liefert den Exit-"
"Status-Code entsprechend der »LSB Init Script Actions« zurück."

#. type: TP
#: start-stop-daemon.8:74
#, no-wrap
msgid "B<-H>, B<--help>"
msgstr "B<-H>, B<--help>"

#. type: Plain text
#: start-stop-daemon.8:77
msgid "Show usage information and exit."
msgstr "Zeige Bedienungsinformationen und beendet sich."

#. type: TP
#: start-stop-daemon.8:77
#, no-wrap
msgid "B<-V>, B<--version>"
msgstr "B<-V>, B<--version>"

#. type: Plain text
#: start-stop-daemon.8:80
msgid "Show the program version and exit."
msgstr "Zeige die Programmversion und beendet sich."

#. type: SH
#: start-stop-daemon.8:81
#, no-wrap
msgid "MATCHING OPTIONS"
msgstr "ABGLEICH-OPTIONEN"

#. type: TP
#: start-stop-daemon.8:82
#, no-wrap
msgid "B<-p>, B<--pidfile> I<pid-file>"
msgstr "B<-p>, B<--pidfile> I<pid-Datei>"

#. type: Plain text
#: start-stop-daemon.8:86
msgid "Check whether a process has created the file I<pid-file>."
msgstr "Überprüfe, ob ein Prozess die Datei I<pid-Datei> angelegt hat."

#. type: TP
#: start-stop-daemon.8:86
#, no-wrap
msgid "B<-x>, B<--exec> I<executable>"
msgstr "B<-x>, B<--exec> I<Programm>"

#. type: Plain text
#: start-stop-daemon.8:90
msgid ""
"Check for processes that are instances of this executable (according to B</"
"proc/>I<pid>B</exe>)."
msgstr ""
"Überprüfe auf Prozesse die (laut B</proc/>I<pid>B</exe>) Instanzen von "
"diesem Programm sind."

#. type: TP
#: start-stop-daemon.8:90
#, no-wrap
msgid "B<-n>, B<--name> I<process-name>"
msgstr "B<-n>, B<--name> I<Prozessname>"

#. type: Plain text
#: start-stop-daemon.8:96
msgid ""
"Check for processes with the name I<process-name> (according to B</proc/"
">I<pid>B</stat>)."
msgstr ""
"Überprüfe (laut B</proc/>I<pid>B</stat>) auf Prozesse mit dem Namen "
"I<Prozessname>."

#. type: TP
#: start-stop-daemon.8:96
#, no-wrap
msgid "B<-u>, B<--user> I<username>|I<uid>"
msgstr "B<-u>, B<--user> I<Benutzername>|I<uid>"

#. type: Plain text
#: start-stop-daemon.8:102
msgid ""
"Check for processes owned by the user specified by I<username> or I<uid>."
msgstr ""
"Überprüfe auf Prozesse die dem mit I<Benutzername> oder I<uid> "
"spezifizierten Benutzer gehören."

#. type: TP
#: start-stop-daemon.8:104
#, no-wrap
msgid "B<-g>, B<--group> I<group>|I<gid>"
msgstr "B<-g>, B<--group> I<Gruppe>|I<gid>"

#. type: Plain text
#: start-stop-daemon.8:107
msgid "Change to I<group> or I<gid> when starting the process."
msgstr "Wechsle zum Starten des Prozesses zur I<Gruppe> oder I<gid>."

#. type: TP
#: start-stop-daemon.8:107
#, no-wrap
msgid "B<-s>, B<--signal> I<signal>"
msgstr "B<-s>, B<--signal> I<Signal>"

#. type: Plain text
#: start-stop-daemon.8:112
msgid ""
"With B<--stop>, specifies the signal to send to processes being stopped "
"(default TERM)."
msgstr ""
"Mit B<--stop> wird das an den zu beendenden Prozess zu sendende Signal "
"spezifiziert (standardmäßig TERM)."

#. type: TP
#: start-stop-daemon.8:112
#, no-wrap
msgid "B<-R>, B<--retry> I<timeout>|I<schedule>"
msgstr "B<-R>, B<--retry> I<Zeitüberschreitung>|I<Plan>"

#. type: Plain text
#: start-stop-daemon.8:122
msgid ""
"With B<--stop>, specifies that B<start-stop-daemon> is to check whether the "
"process(es)  do finish. It will check repeatedly whether any matching "
"processes are running, until none are. If the processes do not exit it will "
"then take further action as determined by the schedule."
msgstr ""
"Mit B<--stop> spezifiziert, dass B<start-stop-daemon> überprüfen soll, ob "
"der Prozess (die Prozesse) sich beenden. Es überprüft wiederholt, ob "
"passende Prozesse laufen, bis dies nicht mehr der Fall ist. Falls sich die "
"Prozesse nicht beenden, werden weitere im »Plan« angegebene Aktionen "
"durchgeführt."

#. type: Plain text
#: start-stop-daemon.8:133
msgid ""
"If I<timeout> is specified instead of I<schedule>, then the schedule "
"I<signal>B</>I<timeout>B</KILL/>I<timeout> is used, where I<signal> is the "
"signal specified with B<--signal>."
msgstr ""
"Falls I<Zeitüberschreitung> anstelle von I<Plan> spezifiziert wird, dann "
"wird der Plan I<Signal>B</>I<Zeitüberschreitung>B</KILL/"
">I<Zeitüberschreitung> verwendet, wobei I<Signal> das mit B<--signal> "
"spezifizierte Signal ist."

#. type: Plain text
#: start-stop-daemon.8:149
msgid ""
"I<schedule> is a list of at least two items separated by slashes (B</>); "
"each item may be B<->I<signal-number> or [B<->]I<signal-name>, which means "
"to send that signal, or I<timeout>, which means to wait that many seconds "
"for processes to exit, or B<forever>, which means to repeat the rest of the "
"schedule forever if necessary."
msgstr ""
"I<Plan> ist eine Liste von mindestens zwei durch Schrägstriche (B</>)  "
"getrennten Punkten; jeder Punkt kann aus B<->I<Signalnummer> oder [B<->]"
"I<Signalname> bestehen, was bedeutet, dass dieses Signal gesendet werden "
"soll, oder aus I<Zeitüberschreitung>, was bedeutet, dass soviele Sekunden "
"auf das Beenden von Prozessen gewartet werden soll, oder aus B<forever> was "
"bedeutet, den Rest des Plans falls notwendig für immer zu wiederholen."

#. type: Plain text
#: start-stop-daemon.8:159
msgid ""
"If the end of the schedule is reached and B<forever> is not specified, then "
"B<start-stop-daemon> exits with error status 2.  If a schedule is specified, "
"then any signal specified with B<--signal> is ignored."
msgstr ""
"Falls das Ende des Plans erreicht wird und B<forever> nicht spezifiziert "
"wurde, dann beendet sich der B<start-stop-daemon> mit dem Fehlerstatus 2. "
"Falls ein Plan spezifiziert wurde, dann wird jedes mit B<--signal> "
"spezifizierte Signal ignoriert."

#. type: TP
#: start-stop-daemon.8:159
#, no-wrap
msgid "B<-a>, B<--startas> I<pathname>"
msgstr "B<-a>, B<--startas> I<Pfadname>"

#. type: Plain text
#: start-stop-daemon.8:167
msgid ""
"With B<--start>, start the process specified by I<pathname>.  If not "
"specified, defaults to the argument given to B<--exec>."
msgstr ""
"Mit B<--start> wird der über I<Pfadname> spezifizierte Prozess gestartet. "
"Falls nicht angegeben, werden standardmäßig die an B<--exec> übergebenen "
"Argumente verwendet."

#. type: TP
#: start-stop-daemon.8:167
#, no-wrap
msgid "B<-t>, B<--test>"
msgstr "B<-t>, B<--test>"

#. type: Plain text
#: start-stop-daemon.8:171
msgid ""
"Print actions that would be taken and set appropriate return value, but take "
"no action."
msgstr ""
"Gebe die Aktionen aus, die erledigt würden und setze die entsprechenden "
"Rückgabewerte, führe aber keine Aktionen durch."

#. type: TP
#: start-stop-daemon.8:171
#, no-wrap
msgid "B<-o>, B<--oknodo>"
msgstr "B<-o>, B<--oknodo>"

#. type: Plain text
#: start-stop-daemon.8:174
msgid "Return exit status 0 instead of 1 if no actions are (would be) taken."
msgstr ""
"Liefert den Rückgabewert 0 anstatt 1 falls keine Aktionen ausgeführt wurden "
"(würden)."

#. type: TP
#: start-stop-daemon.8:174
#, no-wrap
msgid "B<-q>, B<--quiet>"
msgstr "B<-q>, B<--quiet>"

#. type: Plain text
#: start-stop-daemon.8:177
msgid "Do not print informational messages; only display error messages."
msgstr "Gebe keine informativen Meldungen aus, zeige nur Fehlermeldungen an."

#. type: TP
#: start-stop-daemon.8:177
#, no-wrap
msgid "B<-c>, B<--chuid> I<username>|I<uid>[B<:>I<group>|I<gid>]"
msgstr "B<-c >, B< --chuid >I<Benutzername>|I<uid>[B<:>I<Gruppe>|I<gid>]"

#. type: Plain text
#: start-stop-daemon.8:195
msgid ""
"Change to this username/uid before starting the process. You can also "
"specify a group by appending a B<:>, then the group or gid in the same way "
"as you would for the `chown' command (I<user>B<:>I<group>).  If a user is "
"specified without a group, the primary GID for that user is used.  When "
"using this option you must realize that the primary and supplemental groups "
"are set as well, even if the B<--group> option is not specified. The B<--"
"group> option is only for groups that the user isn't normally a member of "
"(like adding per process group membership for generic users like B<nobody>)."
msgstr ""
"Wechsele vor dem Start des Prozesses zu diesem Benutzername/uid. Sie können "
"durch Anhängen von B<:> auch die Gruppe spezifizieren, in diesem Fall wird "
"die Gruppe oder gid wie bei dem »chown«-Befehl (I<Benutzer>B<:>I<Gruppe>) "
"angegeben. Falls ein Benutzer ohne Gruppe angegeben ist, wird die primäre "
"GID für diesen Benutzer verwandt. Wenn Sie diese Option verwenden, müssen "
"Sie daran denken, dass die primäre und zusätzliche Gruppen auch gesetzt "
"werden, selbst wenn die Option B<--group> nicht angegeben wird. Die Option "
"B<--group> ist nur für Gruppen, in denen der Benutzer normalerweise kein "
"Mitglied ist (wie das Hinzufügen von pro-Prozess Gruppenmitgliedschaften für "
"generische Benutzer wie B<nobody>)."

#. type: TP
#: start-stop-daemon.8:195
#, no-wrap
msgid "B<-r>, B<--chroot> I<root>"
msgstr "B<-r>, B<--chroot> I<Wurzel>"

#. type: Plain text
#: start-stop-daemon.8:201
msgid ""
"Chdir and chroot to I<root> before starting the process. Please note that "
"the pidfile is also written after the chroot."
msgstr ""
"Chdir und chroot vor dem Start des Prozesse zu I<Wurzel>. Bitte beachten "
"Sie, dass die PID-Datei auch nach dem chroot geschrieben wird."

#. type: TP
#: start-stop-daemon.8:201
#, no-wrap
msgid "B<-d>, B<--chdir> I<path>"
msgstr "B<-d>, B<--chdir> I<Pfad>"

#. type: Plain text
#: start-stop-daemon.8:209
msgid ""
"Chdir to I<path> before starting the process. This is done after the chroot "
"if the B<-r>|B<--chroot> option is set. When not specified, start-stop-"
"daemon will chdir to the root directory before starting the process."
msgstr ""
"Chdir vor dem Starten des Prozesses zu I<Pfad>. Dies wird, falls die B<-r>|"
"B<--chroot> Option gesetzt ist, nach dem chroot durchgeführt. Falls nicht "
"angegeben, wird start-stop-daemon vor dem Prozess-Start in das "
"Wurzelverzeichnis wechseln."

#. type: TP
#: start-stop-daemon.8:209
#, no-wrap
msgid "B<-b>, B<--background>"
msgstr "B<-b>, B<--background>"

#. type: Plain text
#: start-stop-daemon.8:221
msgid ""
"Typically used with programs that don't detach on their own. This option "
"will force B<start-stop-daemon> to fork before starting the process, and "
"force it into the background.  B<WARNING: start-stop-daemon> cannot check "
"the exit status if the process fails to execute for B<any> reason. This is a "
"last resort, and is only meant for programs that either make no sense "
"forking on their own, or where it's not feasible to add the code for them to "
"do this themselves."
msgstr ""
"Typischerweise verwendet für Programme, die sich nicht selbständig ablösen. "
"Diese Option zwingt B<start-stop-daemon> vor dem Start des Prozesses einen "
"Fork durchzuführen, und zwingt diesen dann in den Hintergrund. B<WARNUNG: "
"start-stop-daemon> kann nicht den Rückgabewert überprüfen, falls der Prozess "
"aus B<irgendeinem> Grund nicht startet. Dies ist ein letztes Mittel und ist "
"nur für Programme gedacht, bei denen das selbstständige Forken keinen Sinn "
"ergibt oder wo es nicht sinnvoll ist, den Code hierfür hinzuzufügen."

#. type: TP
#: start-stop-daemon.8:221
#, no-wrap
msgid "B<-N>, B<--nicelevel> I<int>"
msgstr "B<-N>, B<--nicelevel> I<Ganzzahl>"

#. type: Plain text
#: start-stop-daemon.8:224
msgid "This alters the priority of the process before starting it."
msgstr "Dies ändert die Priorität des Prozesses bevor er gestartet wird."

#. type: TP
#: start-stop-daemon.8:224
#, no-wrap
msgid "B<-P>, B<--procsched> I<policy>B<:>I<priority>"
msgstr "B<-P>, B<--procsched> I<Strategie>B<:>I<Priorität>"

#. type: Plain text
#: start-stop-daemon.8:230
msgid ""
"This alters the process scheduler policy and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 0. The currently supported "
"policy values are B<other>, B<fifo> and B<rr>."
msgstr ""
"Dies ändert die Prozesssteuerstrategie (»process scheduler policy«) und die "
"Priorität des Prozesses, bevor dieser gestartet wird. Die Priorität kann "
"optional festgelegt werden, indem ein B<:> gefolgt von einem Wert angegeben "
"wird. Die Standard-I<Priorität> beträgt 0. Die derzeit unterstützten Werte "
"für die Strategie lauten B<other>, B<fifo> und B<rr>."

#. type: TP
#: start-stop-daemon.8:230
#, no-wrap
msgid "B<-I>, B<--iosched> I<class>B<:>I<priority>"
msgstr "B<-I>, B<--iosched> I<Klasse>B<:>I<Priorität>"

#. type: Plain text
#: start-stop-daemon.8:237
msgid ""
"This alters the IO scheduler class and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 4, unless I<class> is "
"B<idle>, then I<priority> will always be 7. The currently supported values "
"for I<class> are B<idle>, B<best-effort> and B<real-time>."
msgstr ""
"Dies ändert die IO-Steuerklasse (»IO scheduler class«) und die Priorität des "
"Prozesses, bevor dieser gestartet wird. Die Priorität kann optional "
"festgelegt werden, indem ein B<:> gefolgt von einem Wert angegeben wird. Die "
"Standard-I<Priorität> beträgt 4, außer I<Klasse> lautet B<idle>, dann "
"beträgt sie immer 7. Die derzeit unterstützten Werte für die I<Klasse> "
"lauten B<idle>, B<best-effort> und B<real-time>."

#. type: TP
#: start-stop-daemon.8:237
#, no-wrap
msgid "B<-k>, B<--umask> I<mask>"
msgstr "B<-k>, B<--umask> I<Maske>"

#. type: Plain text
#: start-stop-daemon.8:240
msgid "This sets the umask of the process before starting it."
msgstr "Dies setzt die umask des Prozesses bevor er gestartet wird."

#. type: TP
#: start-stop-daemon.8:240
#, no-wrap
msgid "B<-m>, B<--make-pidfile>"
msgstr "B<-m>, B<--make-pidfile>"

#. type: Plain text
#: start-stop-daemon.8:255
msgid ""
"Used when starting a program that does not create its own pid file. This "
"option will make B<start-stop-daemon> create the file referenced with B<--"
"pidfile> and place the pid into it just before executing the process. Note, "
"the file will not be removed when stopping the program.  B<NOTE:> This "
"feature may not work in all cases. Most notably when the program being "
"executed forks from its main process. Because of this, it is usually only "
"useful when combined with the B<--background> option."
msgstr ""
"Verwendet, wenn ein Programm gestartet wird, das keine eigene PID-Datei "
"anlegt. Diese Option sorgt dafür, dass B<start-stop-daemon> die mit B<--"
"pidfile> referenzierte Datei anlegt und die PID kurz vor der Ausführung des "
"Prozesse hineinlegt. Beachten Sie, dass die Datei nicht entfernt wird, wenn "
"das Programm beendet wird. B<HINWEIS:> Diese Funktion könnte in nicht allen "
"Fällen funktionieren. Insbesondere wenn das auszuführende Programm sich vom "
"Hauptprozess forkt. Deshalb ist diese Option normalerweise nur in "
"Kombination mit der Option B<--background> sinnvoll."

#. type: Plain text
#: start-stop-daemon.8:258
msgid "Print verbose informational messages."
msgstr "Gibt ausführliche informative Meldungen aus."

#. type: Plain text
#: start-stop-daemon.8:270
msgid ""
"The requested action was performed. If B<--oknodo> was specified, it's also "
"possible that nothing had to be done.  This can happen when B<--start> was "
"specified and a matching process was already running, or when B<--stop> was "
"specified and there were no matching processes."
msgstr ""
"Die angeforderte Aktion wurde durchgeführt. Falls B<--oknodo> angegeben "
"wurde, kann es auch sein, dass nicht durchgeführt wurde. Das kann passieren, "
"wenn B<--start> angegeben wurde und der passende Prozess bereits lief oder "
"wenn B<--stop> angegeben wurde und es keinen passenden Prozess gab."

#. type: Plain text
#: start-stop-daemon.8:275
msgid "If B<--oknodo> was not specified and nothing was done."
msgstr "Falls B<--oknodo> nicht angegeben war und nichts durchgeführt wurde."

#. type: Plain text
#: start-stop-daemon.8:283
msgid ""
"If B<--stop> and B<--retry> were specified, but the end of the schedule was "
"reached and the processes were still running."
msgstr ""
"Falls B<--stop> und B<--retry> angegeben waren, aber das Ende des Plans "
"erreicht wurde und die Prozesse noch liefen."

#. type: TP
#: start-stop-daemon.8:283 start-stop-daemon.8:295
#, no-wrap
msgid "B<3>"
msgstr "B<3>"

#. type: Plain text
#: start-stop-daemon.8:286
msgid "Any other error."
msgstr "Jeder andere Fehler."

#. type: Plain text
#: start-stop-daemon.8:289
msgid ""
"When using the B<--status> command, the following status codes are returned:"
msgstr ""
"Bei der Verwendung des Befehls B<--status> werden die folgenden Statuscodes "
"zurückgeliefert:"

#. type: Plain text
#: start-stop-daemon.8:292
msgid "Program is running."
msgstr "Programm läuft."

#. type: Plain text
#: start-stop-daemon.8:295
msgid "Program is not running and the pid file exists."
msgstr "Programm läuft nicht und die PID-Datei existiert."

#. type: Plain text
#: start-stop-daemon.8:298
msgid "Program is not running."
msgstr "Programm läuft nicht."

#. type: TP
#: start-stop-daemon.8:298
#, no-wrap
msgid "B<4>"
msgstr "B<4>"

#. type: Plain text
#: start-stop-daemon.8:301
msgid "Unable to determine program status."
msgstr "Programmstatus kann nicht bestimmt werden."

#. type: Plain text
#: start-stop-daemon.8:305
msgid ""
"Start the B<food> daemon, unless one is already running (a process named "
"food, running as user food, with pid in food.pid):"
msgstr ""
"Starte den Daemon B<food> falls noch keiner läuft (ein Prozess mit Namen "
"food, der als Benutzer food mit PID in food.pid läuft):"

#. type: Plain text
#: start-stop-daemon.8:308
#, no-wrap
msgid "start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon\n"
msgstr "start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon\n"

#. type: Plain text
#: start-stop-daemon.8:311
msgid "Send B<SIGTERM> to B<food> and wait up to 5 seconds for it to stop:"
msgstr ""
"Schicke B<SIGTERM> an B<food> und warte bis zu fünf Sekunden auf sein "
"Beenden:"

#. type: Plain text
#: start-stop-daemon.8:314
#, no-wrap
msgid "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry 5\n"
msgstr "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry 5\n"

#. type: Plain text
#: start-stop-daemon.8:317
msgid "Demonstration of a custom schedule for stopping B<food>:"
msgstr "Vorführung eines angepassten Plans zum Beenden von B<food>:"

#. type: Plain text
#: start-stop-daemon.8:320
#, no-wrap
msgid "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry=TERM/30/KILL/5\n"
msgstr "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry=TERM/30/KILL/5\n"

#. type: Plain text
#: start-stop-daemon.8:326
msgid ""
"Marek Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> based on a "
"previous version by Ian Jackson E<lt>ian@chiark.greenend.org.ukE<gt>."
msgstr ""
"Marek Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> basierend "
"auf einer vorherigen Version von Ian Jackson E<lt>ian@chiark.greenend.org."
"ukE<gt>."

#. type: Plain text
#: start-stop-daemon.8:328
msgid ""
"Manual page by Klee Dienes E<lt>klee@mit.eduE<gt>, partially reformatted by "
"Ian Jackson."
msgstr ""
"Handbuchseite von Klee Dienes E<lt>klee@mit.eduE<gt>, teilweise von Ian "
"Jackson umformatiert."

#. type: TH
#: update-alternatives.8:8
#, no-wrap
msgid "update-alternatives"
msgstr "update-alternatives"

#. type: Plain text
#: update-alternatives.8:11
msgid ""
"update-alternatives - maintain symbolic links determining default commands"
msgstr ""
"update-alternatives - Verwaltung symbolischer Links zur Bestimmung von "
"Standardwerten für Befehle"

#. type: Plain text
#: update-alternatives.8:15
msgid "B<update-alternatives> [I<option>...] I<command>"
msgstr "B<update-alternatives> [I<Option>...] I<Befehl>"

#. type: Plain text
#: update-alternatives.8:20
msgid ""
"B<update-alternatives> creates, removes, maintains and displays information "
"about the symbolic links comprising the Debian alternatives system."
msgstr ""
"B<update-alternatives> erzeugt, entfernt, verwaltet und zeigt die "
"Informationen über die symbolischen Links, die das »Debian Alternativ-"
"System« bilden, an."

#. type: Plain text
#: update-alternatives.8:28
msgid ""
"It is possible for several programs fulfilling the same or similar functions "
"to be installed on a single system at the same time.  For example, many "
"systems have several text editors installed at once.  This gives choice to "
"the users of a system, allowing each to use a different editor, if desired, "
"but makes it difficult for a program to make a good choice for an editor to "
"invoke if the user has not specified a particular preference."
msgstr ""
"Es ist möglich, mehrere Programme, die die gleiche oder ähnliche "
"Funktionalität bereitstellen, gleichzeitig auf einem System zu installieren. "
"Beispielsweise sind auf vielen Systemen mehrere Texteditoren gleichzeitig "
"installiert. Dies gibt den Benutzern eines Systems die Möglichkeit, falls "
"gewünscht, jeweils einen anderen Editor zu verwenden, allerdings wird es "
"damit für ein Programm schwierig, einen guten Wahl für einen Editor zum "
"Starten zu treffen, falls der Benutzer keine spezielle Wahl getroffen hat."

#. type: Plain text
#: update-alternatives.8:50
msgid ""
"Debian's alternatives system aims to solve this problem.  A generic name in "
"the filesystem is shared by all files providing interchangeable "
"functionality.  The alternatives system and the system administrator "
"together determine which actual file is referenced by this generic name.  "
"For example, if the text editors B<ed>(1)  and B<nvi>(1)  are both installed "
"on the system, the alternatives system will cause the generic name I</usr/"
"bin/editor> to refer to I</usr/bin/nvi> by default. The system administrator "
"can override this and cause it to refer to I</usr/bin/ed> instead, and the "
"alternatives system will not alter this setting until explicitly requested "
"to do so."
msgstr ""
"Debians Alternativ-System hat das Ziel, dieses Problem zu lösen. Ein "
"generischer Name im Dateisystem wird von allen Dateien, die austauschbare "
"Funktionalität bereitstellen, verwendet. Das Alternativ-System bestimmt "
"zusammen mit dem Systemadministrator welche Datei tatsächlich durch diesen "
"generischen Namen referenziert wird. Falls beispielsweise sowohl der "
"Texteditor B<ed>(1) als auch B<nvi>(1) im System installiert sind, wird das "
"Alternativ-System dafür sorgen, dass der generische Name I</usr/bin/editor> "
"standardmäßig auf I</usr/bin/nvi> zeigt. Der Systemadministrator kann dies "
"Ändern und dafür sorgen, dass er stattdessen auf I</usr/bin/ed> zeigt, und "
"das Alternativ-System wird diese Einstellung nicht verändern, bis es "
"explizit dazu aufgefordert wird."

#. type: Plain text
#: update-alternatives.8:60
msgid ""
"The generic name is not a direct symbolic link to the selected alternative.  "
"Instead, it is a symbolic link to a name in the I<alternatives> "
"I<directory>, which in turn is a symbolic link to the actual file "
"referenced.  This is done so that the system administrator's changes can be "
"confined within the I</etc> directory: the FHS (q.v.) gives reasons why this "
"is a Good Thing."
msgstr ""
"Der generische Name ist nicht ein direkter symbolischer Link auf die "
"ausgewählte Alternative. Stattdessen ist es ein symbolischer Link auf einen "
"Namen im I<Alternativ-Verzeichnis>, welches wiederum ein symbolischer Link "
"auf die tatsächlich referenzierte Datei ist. Dies ist so realisiert, damit "
"die Änderungen des Systemadministrators auf das I</etc> Verzeichnis "
"beschränkt bleiben: der FHS (siehe dort) erklärt warum dies eine Gute Idee "
"ist."

#. type: Plain text
#: update-alternatives.8:72
msgid ""
"When each package providing a file with a particular functionality is "
"installed, changed or removed, B<update-alternatives> is called to update "
"information about that file in the alternatives system.  B<update-"
"alternatives> is usually called from the B<postinst> (configure) or B<prerm> "
"(install) scripts in Debian packages."
msgstr ""
"Für jedes Paket, das eine Datei mit einer bestimmten Funktionalität "
"bereitstellt, wird bei der Installation, der Änderung oder der Entfernung "
"B<update-alternatives> aufgerufen, um die Informationen über diese Datei im "
"Alternativ-System zu aktualisieren. B<update-alternatives> wird gewöhnlich "
"vom Skript B<postinst> (configure) oder B<prerm> (install) eines Debian-"
"Paketes aufgerufen."

#. type: Plain text
#: update-alternatives.8:91
msgid ""
"It is often useful for a number of alternatives to be synchronised, so that "
"they are changed as a group; for example, when several versions of the B<vi>"
"(1)  editor are installed, the man page referenced by I</usr/share/man/man1/"
"vi.1> should correspond to the executable referenced by I</usr/bin/vi>.  "
"B<update-alternatives> handles this by means of I<master> and I<slave> "
"links; when the master is changed, any associated slaves are changed too.  A "
"master link and its associated slaves make up a I<link> I<group>."
msgstr ""
"Es ist oft sinnvoll, dass eine Reihe von Alternativen synchronisiert werden, "
"so dass sie als Gruppe geändert werden; wenn beispielsweise mehrere "
"Versionen des B<vi>(1) Editors installiert sind, sollte die Handbuchseite, "
"die durch I</usr/share/man/man1/vi.1> referenziert wird, zu dem ausführbaren "
"Programm, dass durch I</usr/bin/vi> referenziert wird, gehören. B<update-"
"alternatives> erledigt dies mit Hilfe von I<Master-> und I<Slave-Links>; "
"wird der Master-Link geändert, wird auch jeder zugehörige Slave-Link "
"geändert. Ein Master-Link und seine zugehörigen Slave-Links bilden zusammen "
"eine I<Link-Gruppe>."

#. type: Plain text
#: update-alternatives.8:100
msgid ""
"Each link group is, at any given time, in one of two modes: automatic or "
"manual.  When a group is in automatic mode, the alternatives system will "
"automatically decide, as packages are installed and removed, whether and how "
"to update the links.  In manual mode, the alternatives system will retain "
"the choice of the administrator and avoid changing the links (except when "
"something is broken)."
msgstr ""
"Eine Linkgruppe ist zu jeder Zeit in einem der beiden Modi: automatisch oder "
"manuell. Ist eine Gruppe im automatischen Modus, dann wird das Alternativ-"
"System bei der Paketinstallation und -entfernung automatisch entscheiden, ob "
"und wie die Links aktualisiert werden. Im manuellen Modus wird das "
"Alternativ-System die Wahl des Administrators beibehalten und Änderungen der "
"Links vermeiden (außer irgendetwas ist defekt)."

#. type: Plain text
#: update-alternatives.8:109
msgid ""
"Link groups are in automatic mode when they are first introduced to the "
"system.  If the system administrator makes changes to the system's automatic "
"settings, this will be noticed the next time B<update-alternatives> is run "
"on the changed link's group, and the group will automatically be switched to "
"manual mode."
msgstr ""
"Beim erstmaligen Einführen in das System befindet sich eine Linkgruppe im "
"automatischen Modus. Führt der Systemadministrator Änderungen an den "
"automatischen Einstellungen des Systems durch, wird dies beim nächsten "
"Aufruf von B<update-alternatives> auf die Linkgruppe bemerkt und die Gruppe "
"wird automatisch in den manuellen Modus umgeschaltet."

#. type: Plain text
#: update-alternatives.8:116
msgid ""
"Each alternative has a I<priority> associated with it.  When a link group is "
"in automatic mode, the alternatives pointed to by members of the group will "
"be those which have the highest priority."
msgstr ""
"Jede Alternative hat eine ihr zugeordnete I<Priorität>. Befindet sich eine "
"Linkgruppe im automatischen Modus, zeigen die Mitglieder einer Gruppe auf "
"die Alternative mit der höchsten Priorität."

#. type: Plain text
#: update-alternatives.8:133
msgid ""
"When using the B<--config> option, B<update-alternatives> will list all of "
"the choices for the link group of which given I<name> is the master "
"alternative name. The current choice is marked with a '*'.  You will then be "
"prompted for your choice regarding this link group.  Depending on the choice "
"made, the link group might no longer be in I<auto> mode. You will need to "
"use the B<--auto> option in order to return to the automatic mode (or you "
"can rerun B<--config> and select the entry marked as automatic)."
msgstr ""
"Wird die B<--config>-Option verwendet, dann zeigt B<update-alternatives> "
"alle Auswahlmöglichkeiten für die Link-Gruppe an, für die der gegebene "
"I<Name> der Master-Alternative-Name ist. Die aktuelle Auswahl ist mit »*« "
"markiert. Sie werden dann aufgefordert, Ihre Auswahl bezüglich der "
"Linkgruppe anzugeben. Abhängig von der getroffenen Auswahl könnte sich die "
"Link-Gruppe nicht mehr im I<automatischen> Modus befinden. Sie müssen dann "
"die Option B<--auto> verwenden, um wieder in den automatischen Zustand "
"zurückzukehren (oder Sie können B<--config> erneut ausführen und den als "
"automatisch markierten Eintrag auswählen)."

#. type: Plain text
#: update-alternatives.8:137
msgid ""
"If you want to configure non-interactively you can use the B<--set> option "
"instead (see below)."
msgstr ""
"Falls Sie nicht-interaktiv konfigurieren möchten, können Sie stattdessen die "
"B<--set> Option verwenden (siehe unten)."

#. type: Plain text
#: update-alternatives.8:148
msgid ""
"Different packages providing the same file need to do so B<cooperatively>.  "
"In other words, the usage of B<update-alternatives> is B<mandatory> for all "
"involved packages in such case. It is not possible to override some file in "
"a package that does not employ the B<update-alternatives> mechanism."
msgstr ""
"Verschiedene Pakete, die die gleiche Datei bereitstellen, müssen dies "
"B<kooperativ> durchführen. Anders gesagt ist in diesem Fall die Verwendung "
"von B<update-alternatives> für alle beteiligten Pakete B<zwingend>. Es ist "
"nicht möglich, sich über eine Datei in einem Paket hinwegzusetzen, welches "
"den B<update-alternatives>-Mechanismus nicht verwendet."

#. type: SH
#: update-alternatives.8:149
#, no-wrap
msgid "TERMINOLOGY"
msgstr "BEGRIFFE"

#. type: Plain text
#: update-alternatives.8:154
msgid ""
"Since the activities of B<update-alternatives> are quite involved, some "
"specific terms will help to explain its operation."
msgstr ""
"Da die Tätigkeiten von B<update-alternatives> recht komplex sind, sollen "
"einige spezielle Begriffe helfen, seine Vorgehensweise zu erläutern."

#. type: TP
#: update-alternatives.8:154
#, no-wrap
msgid "generic name (or alternative link)"
msgstr "generischer Name (oder Alternativ-Link)"

#. type: Plain text
#: update-alternatives.8:160
msgid ""
"A name, like I</usr/bin/editor>, which refers, via the alternatives system, "
"to one of a number of files of similar function."
msgstr ""
"Ein Name wie I</usr/bin/editor>, der sich über das Alternativ-System auf "
"eine Reihe von Dateien mit ähnlicher Funktionalität bezieht."

#. type: TP
#: update-alternatives.8:160
#, no-wrap
msgid "alternative name"
msgstr "Alternativ-Name"

#. type: Plain text
#: update-alternatives.8:163
msgid "The name of a symbolic link in the alternatives directory."
msgstr "Der Name eines symbolischen Links im Alternativ-Verzeichnis."

#. type: TP
#: update-alternatives.8:163
#, no-wrap
msgid "alternative (or alternative path)"
msgstr "Alternative (oder Alternativ-Pfad)"

#. type: Plain text
#: update-alternatives.8:167
msgid ""
"The name of a specific file in the filesystem, which may be made accessible "
"via a generic name using the alternatives system."
msgstr ""
"Der Name einer speziellen Datei im Dateisystem, die mittels eines "
"generischen Namens über das Alternativ-System zugreifbar gemacht werden kann."

#. type: TP
#: update-alternatives.8:167
#, no-wrap
msgid "alternatives directory"
msgstr "Alternativ-Verzeichnis"

#. type: Plain text
#: update-alternatives.8:172
msgid "A directory, by default I</etc/alternatives>, containing the symlinks."
msgstr ""
"Ein Verzeichnis, standardmäßig I</etc/alternatives>, das die Symlinks "
"enthält."

#. type: TP
#: update-alternatives.8:172
#, no-wrap
msgid "administrative directory"
msgstr "administratives Verzeichnis"

#. type: Plain text
#: update-alternatives.8:179
msgid ""
"A directory, by default I</var/lib/dpkg/alternatives>, containing B<update-"
"alternatives>' state information."
msgstr ""
"Ein Verzeichnis, standardmäßig I</var/lib/dpkg/alternatives>, das die "
"B<update-alternatives> Zustandsinformationen enthält."

#. type: TP
#: update-alternatives.8:179
#, no-wrap
msgid "link group"
msgstr "Linkgruppe"

#. type: Plain text
#: update-alternatives.8:182
msgid "A set of related symlinks, intended to be updated as a group."
msgstr ""
"Ein Satz zusammengehörender Symlinks, die als Gruppe aktualisiert werden "
"sollen."

#. type: TP
#: update-alternatives.8:182
#, no-wrap
msgid "master link"
msgstr "Master-Link"

#. type: Plain text
#: update-alternatives.8:186
msgid ""
"The alternative link in a link group which determines how the other links in "
"the group are configured."
msgstr ""
"Der Alternativ-Link in einer Linkgruppe der bestimmt, wie die anderen Links "
"in der Gruppe konfiguriert werden."

#. type: TP
#: update-alternatives.8:186
#, no-wrap
msgid "slave link"
msgstr "Slave-Link"

#. type: Plain text
#: update-alternatives.8:190
msgid ""
"An alternative link in a link group which is controlled by the setting of "
"the master link."
msgstr ""
"Ein Alternativ-Link in einer Linkgruppe, der durch die Einstellung des "
"Master-Links gesteuert wird."

#. type: TP
#: update-alternatives.8:190
#, no-wrap
msgid "automatic mode"
msgstr "automatischer Modus"

#. type: Plain text
#: update-alternatives.8:196
msgid ""
"When a link group is in automatic mode, the alternatives system ensures that "
"the links in the group point to the highest priority alternative appropriate "
"for the group."
msgstr ""
"Ist eine Linkgruppe im automatischen Modus, dann sorgt das Alternativ-System "
"dafür, dass die Links in der Gruppe auf die für die Gruppe passende "
"Alternative mit der höchsten Priorität zeigen."

#. type: TP
#: update-alternatives.8:196
#, no-wrap
msgid "manual mode"
msgstr "manueller Modus"

#. type: Plain text
#: update-alternatives.8:201
msgid ""
"When a link group is in manual mode, the alternatives system will not make "
"any changes to the system administrator's settings."
msgstr ""
"Ist eine Linkgruppe im manuellen Modus, dann führt das Alternativ-System "
"keine Änderungen an den Einstellungen des Systemadministrators durch."

#. type: TP
#: update-alternatives.8:203
#, no-wrap
msgid "B<--install> I<link name path priority> [B<--slave> I<link name path>]..."
msgstr "B<--install> I<Link Name Pfad Priorität> [B<--slave> I<Link Name Pfad>] ..."

#. type: Plain text
#: update-alternatives.8:222
msgid ""
"Add a group of alternatives to the system.  I<link> is the generic name for "
"the master link, I<name> is the name of its symlink in the alternatives "
"directory, and I<path> is the alternative being introduced for the master "
"link.  The arguments after B<--slave> are the generic name, symlink name in "
"the alternatives directory and the alternative path for a slave link.  Zero "
"or more B<--slave> options, each followed by three arguments, may be "
"specified. Note that the master alternative must exist or the call will "
"fail. However if a slave alternative doesn't exist, the corresponding slave "
"alternative link will simply not be installed (a warning will still be "
"displayed). If some real file is installed where an alternative link has to "
"be installed, it is kept unless B<--force> is used."
msgstr ""
"Füge eine Gruppe von Alternativen zum System hinzu. I<Link> ist der "
"generische Name des Master-Links, I<Name> ist der Name seines Symlinks im "
"Alternativ-Verzeichnis und I<Pfad> ist die Alternative, die für den Master-"
"Link eingeführt wird. Die Argumente nach B<--slave> sind der generische "
"Name, Symlink-Name in dem Alternativ-Verzeichnis und der Alternativ-Pfad für "
"den Slave-Link. Null oder mehrere B<--slave>-Optionen, jede von drei "
"Argumenten gefolgt, können spezifiziert werden. Beachten Sie, dass die "
"Master-Alternative existieren muss, ansonsten schlägt der Aufruf fehl. Falls "
"allerdings eine Slave-Alternative nicht existiert wird der zugehörige Slave-"
"Alternative-Link einfach nicht installiert (es wird noch eine Warnung "
"ausgegeben). Falls eine echte Datei an einer Stelle installiert wird, an der "
"ein Alternativ-Link installiert werden muss, wird diese beibehalten, solange "
"B<--force> nicht verwandt wird."

#. type: Plain text
#: update-alternatives.8:233
msgid ""
"If the alternative name specified exists already in the alternatives "
"system's records, the information supplied will be added as a new set of "
"alternatives for the group.  Otherwise, a new group, set to automatic mode, "
"will be added with this information.  If the group is in automatic mode, and "
"the newly added alternatives' priority is higher than any other installed "
"alternatives for this group, the symlinks will be updated to point to the "
"newly added alternatives."
msgstr ""
"Falls der angegebene Alternativ-Name bereits in den Aufzeichnungen des "
"Alternativ-Systems existiert, werden die angegebenen Informationen als neuer "
"Satz von Alternativen für die Gruppe hinzugefügt. Andernfalls wird eine neue "
"Gruppe, eingestellt im automatischen Modus, mit dieser Information "
"hinzugefügt. Falls die Gruppe sich im automatischen Modus befindet und die "
"Priorität der neu hinzugefügten Alternative höher ist als die jeder anderen "
"installierten Alternative für diese Gruppe werden die Symlinks aktualisiert, "
"so dass sie auf die neu hinzugefügte Alternative zeigen."

#. type: TP
#: update-alternatives.8:233
#, no-wrap
msgid "B<--set> I<name path>"
msgstr "B<--set> I<Name Pfad>"

#. type: Plain text
#: update-alternatives.8:242
msgid ""
"Set the program I<path> as alternative for I<name.> This is equivalent to "
"B<--config> but is non-interactive and thus scriptable."
msgstr ""
"Setzt das Programm I<Pfad> als Alternative für I<Name>. Dies ist äquivalent "
"zu B<--config>, ist aber nicht interaktiv und kann somit geskriptet werden."

#. type: TP
#: update-alternatives.8:242
#, no-wrap
msgid "B<--remove> I<name path>"
msgstr "B<--remove> I<Name Pfad>"

#. type: Plain text
#: update-alternatives.8:263
msgid ""
"Remove an alternative and all of its associated slave links.  I<name> is a "
"name in the alternatives directory, and I<path> is an absolute filename to "
"which I<name> could be linked. If I<name> is indeed linked to I<path>, "
"I<name> will be updated to point to another appropriate alternative (and the "
"group is put back in automatic mode), or removed if there is no such "
"alternative left.  Associated slave links will be updated or removed, "
"correspondingly.  If the link is not currently pointing to I<path>, no links "
"are changed; only the information about the alternative is removed."
msgstr ""
"Entferne eine Alternative und alle zugehörigen Slave-Links. I<Name> ist ein "
"Name im Alternativ-Verzeichnis, und I<Pfad> ist ein absoluter Dateiname zu "
"dem I<Name> gelinkt werden könnte. Falls I<Name> tatsächlich nach I<Pfad> "
"gelinkt ist, dann wird I<Name> aktualisiert, um auf eine andere geeignete "
"Alternative zu zeigen (und die Gruppe wird wieder in den automatischen Modus "
"versetzt) oder entfernt, falls keine solche Alternative übrig bleibt. "
"Zugehörige Slave-Links werden entsprechend aktualisiert oder entfernt. Falls "
"der Link derzeit nicht auf I<Pfad> zeigt, werden keine Links geändert; nur "
"die Information über die Alternative wird entfernt."

#. type: TP
#: update-alternatives.8:263
#, no-wrap
msgid "B<--remove-all> I<name>"
msgstr "B<--remove-all> I<Name>"

#. type: Plain text
#: update-alternatives.8:268
msgid ""
"Remove all alternatives and all of their associated slave links.  I<name> is "
"a name in the alternatives directory."
msgstr ""
"Entferne alle Alternativen und deren zugehörige Slave-Links. I<Name> ist ein "
"Name im Alternativ-Verzeichnis."

#. type: Plain text
#: update-alternatives.8:275
msgid ""
"Call B<--config> on all alternatives. It can be usefully combined with B<--"
"skip-auto> to review and configure all alternatives which are not configured "
"in automatic mode. Broken alternatives are also displayed.  Thus a simple "
"way to fix all broken alternatives is to call B<yes \\[aq]\\[aq] | update-"
"alternatives --force --all>."
msgstr ""
"Ruft B<--config> für alle Alternativen auf. In der Kombination mit B<--skip-"
"auto> kann dies nützlich sein, um alle Alternativen zu prüfen und zu "
"konfigurieren, die sich nicht im automatischen Modus befinden. Defekte "
"Alternativen werden auch angezeigt. Um alle defekten Alternativen zu "
"reparieren dient daher ein einfacher Aufruf von B<yes \\[aq]\\[aq] | update-"
"alternatives --force --all>."

#. type: TP
#: update-alternatives.8:275
#, no-wrap
msgid "B<--auto> I<name>"
msgstr "B<--auto> I<Name>"

#. type: Plain text
#: update-alternatives.8:282
msgid ""
"Switch the link group behind the alternative for I<name> to automatic mode.  "
"In the process, the master symlink and its slaves are updated to point to "
"the highest priority installed alternatives."
msgstr ""
"Überführt die Linkgruppe hinter der Alternative mit Name I<Name> in den "
"automatischen Modus. Bei diesem Prozess werden der Master-Symlink und seine "
"Slave-Links aktualisiert, um auf die installierte Alternative mit höchster "
"Priorität zu zeigen."

#. type: TP
#: update-alternatives.8:282
#, no-wrap
msgid "B<--display> I<name>"
msgstr "B<--display> I<Name>"

#. type: Plain text
#: update-alternatives.8:291
msgid ""
"Display information about the link group.  Information displayed includes "
"the group's mode (auto or manual), which alternative the master link "
"currently points to, what other alternatives are available (and their "
"corresponding slave alternatives), and the highest priority alternative "
"currently installed."
msgstr ""
"Zeige Informationen über die Linkgruppe an. Die angezeigten Informationen "
"enthalten den Modus der Gruppe (automatisch oder manuell), auf welche "
"Alternative der Master-Link derzeit zeigt, welche weiteren Alternativen zur "
"Verfügung stehen (und ihre zugehörigen Slave-Alternativen), und die "
"installierte Alternative mit der höchsten Priorität."

#. type: TP
#: update-alternatives.8:291
#, no-wrap
msgid "B<--get-selections>"
msgstr "B<--get-selections>"

#. type: Plain text
#: update-alternatives.8:299
msgid ""
"List all master alternative names (those controlling a link group)  and "
"their status. Each line contains up to 3 fields (separated by one or more "
"spaces). The first field is the alternative name, the second one is the "
"status (either \"auto\" or \"manual\"), and the last one contains the "
"current choice in the alternative (beware: it's a filename and thus might "
"contain spaces)."
msgstr ""
"Führe alle Master-Alternativ-Namen (die eine Linkgruppe steuern) mit ihrem "
"Status auf. Jede Zeile enthält bis zu 3 Felder (getrennt durch mindestens "
"ein Leerzeichen). Im ersten Feld steht der Alternativ-Name, im zweiten der "
"Status (entweder »auto« oder »manual«) und im letzten die derzeitige Wahl "
"der Alternative (Achtung: Dies ist ein Dateiname, der Leerzeichen enthalten "
"kann)."

#. type: Plain text
#: update-alternatives.8:304
msgid ""
"Read configuration of alternatives on standard input in the format generated "
"by B<update-alternatives --get-selections> and reconfigure them accordingly."
msgstr ""
"Lese eine Konfiguration von Alternativen über die Standardeingabe im von "
"B<update-alternatives --get-selections> generierten Format und konfiguriere "
"die Alternativen entsprechend neu."

#. type: TP
#: update-alternatives.8:304
#, no-wrap
msgid "B<--query> I<name>"
msgstr "B<--query> I<Name>"

#. type: Plain text
#: update-alternatives.8:309
msgid ""
"Display information about the link group like --display does, but in a "
"machine parseable way (see section B<QUERY FORMAT> below)."
msgstr ""
"Zeige alle Informationen über die Linkgruppe an, wie dies auch von --display "
"erfolgt, allerdings in einem maschinenlesbaren Format (siehe Abschnitt "
"B<ABFRAGE-FORMAT> unten)."

#. type: TP
#: update-alternatives.8:309
#, no-wrap
msgid "B<--list> I<name>"
msgstr "B<--list> I<Name>"

#. type: Plain text
#: update-alternatives.8:312
msgid "Display all targets of the link group."
msgstr "Zeige alle Ziele der Linkgruppe an."

#. type: TP
#: update-alternatives.8:312
#, no-wrap
msgid "B<--config> I<name>"
msgstr "B<--config> I<Name>"

#. type: Plain text
#: update-alternatives.8:316
msgid ""
"Show available alternatives for a link group and allow the user to "
"interactively select which one to use. The link group is updated."
msgstr ""
"Zeige die verfügbaren Alternativen für eine Linkgruppe an und erlaube es dem "
"Benutzer interaktiv auszuwählen, welche zu benutzen ist. Die Linkgruppe wird "
"aktualisiert."

#. type: TP
#: update-alternatives.8:324
#, no-wrap
msgid "B<--altdir>I< directory>"
msgstr "B<--altdir>I< Verzeichnis>"

#. type: Plain text
#: update-alternatives.8:328
msgid ""
"Specifies the alternatives directory, when this is to be different from the "
"default."
msgstr ""
"Spezifiziert das Alternativ-Verzeichnis, wenn sich dieses von der "
"Standardeinstellung unterscheiden soll."

#. type: Plain text
#: update-alternatives.8:332
msgid ""
"Specifies the administrative directory, when this is to be different from "
"the default."
msgstr ""
"Spezifiziert das administrative Verzeichnis, wenn sich dieses von der "
"Standardeinstellung unterscheiden soll."

#. type: TP
#: update-alternatives.8:332
#, no-wrap
msgid "B<--log>I< file>"
msgstr "B<--log>I< Datei>"

#. type: Plain text
#: update-alternatives.8:336
msgid ""
"Specifies the log file, when this is to be different from the default (/var/"
"log/alternatives.log)."
msgstr ""
"Gibt die Protokolldatei an, wenn diese sich von der Vorgabe (/var/log/"
"alternatives.log) unterscheiden soll."

#. type: Plain text
#: update-alternatives.8:340
msgid ""
"Let B<update-alternatives> replace or drop any real file that is installed "
"where an alternative link has to be installed or removed."
msgstr ""
"Lässt B<update-alternatives> alle echten Dateien ersetzen oder entfernen, "
"die sich an Stellen befinden, an denen ein Alternativ-Link installiert "
"werden muss."

#. type: TP
#: update-alternatives.8:340
#, no-wrap
msgid "B<--skip-auto>"
msgstr "B<--skip-auto>"

#. type: Plain text
#: update-alternatives.8:345
msgid ""
"Skip configuration prompt for alternatives which are properly configured in "
"automatic mode. This option is only relevant with B<--config> or B<--all>."
msgstr ""
"Überspringt die Konfigurationsabfrage für Alternativen, die korrekt im "
"automatische Modus konfiguriert sind. Diese Option ist nur mit B<--config> "
"oder B<--all> relevant."

#. type: TP
#: update-alternatives.8:345
#, no-wrap
msgid "B<--verbose>"
msgstr "B<--verbose>"

#. type: Plain text
#: update-alternatives.8:350
msgid "Generate more comments about what B<update-alternatives> is doing."
msgstr "Erzeugt mehr Kommentare über die Tätigkeit von B<update-alternatives>."

#. type: Plain text
#: update-alternatives.8:353
msgid "Don't generate any comments unless errors occur."
msgstr "Erzeuge keine Kommentare, es sei denn, ein Fehler tritt auf."

#. type: Plain text
#: update-alternatives.8:359
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the base administrative directory."
msgstr ""
"Falls gesetzt und die Option B<--admindir> nicht angegeben wurde, wird dies "
"als Basis-Administrationsverzeichnis verwandt."

#. type: TP
#: update-alternatives.8:361
#, no-wrap
msgid "I</etc/alternatives/>"
msgstr "I</etc/alternatives/>"

#. type: Plain text
#: update-alternatives.8:367
msgid ""
"The default alternatives directory.  Can be overridden by the B<--altdir> "
"option."
msgstr ""
"Das standardmäßige Alternativ-Verzeichnis. Kann mittels der Option B<--"
"altdir> geändert werden."

#. type: TP
#: update-alternatives.8:367
#, no-wrap
msgid "I</var/lib/dpkg/alternatives/>"
msgstr "I</var/lib/dpkg/alternatives/>"

#. type: Plain text
#: update-alternatives.8:373
msgid ""
"The default administration directory.  Can be overridden by the B<--"
"admindir> option."
msgstr ""
"Das standardmäßige administrative Verzeichnis. Kann mittels der B<--"
"admindir> Option geändert werden."

#. type: Plain text
#: update-alternatives.8:378
msgid "The requested action was successfully performed."
msgstr "Die angeforderte Aktion wurde erfolgreich ausgeführt."

#. type: Plain text
#: update-alternatives.8:382
msgid ""
"Problems were encountered whilst parsing the command line or performing the "
"action."
msgstr ""
"Beim Lesen der Kommandozeile oder beim Ausführen der Aktion traten Probleme "
"auf."

#. type: SH
#: update-alternatives.8:383
#, no-wrap
msgid "QUERY FORMAT"
msgstr "ABFRAGE-FORMAT"

#. type: Plain text
#: update-alternatives.8:388
msgid ""
"The B<update-alternatives --query> format is using an RFC822-like flat "
"format. It's made of I<n> + 1 blocks where I<n> is the number of "
"alternatives available in the queried link group. The first block contains "
"the following fields:"
msgstr ""
"Das Format von B<update-alternatives --query> ist ein RFC822-artiges, "
"flaches Format. Es besteht aus I<n>+1 Blöcken, wobei I<n> die Anzahl der in "
"einer abgefragten Linkgruppe verfügbaren Alternativen ist. Der erste Block "
"enthält die folgenden Felder:"

#. type: TP
#: update-alternatives.8:388
#, no-wrap
msgid "B<Link:>I< link>"
msgstr "B<Link:>I< Link>"

#. type: Plain text
#: update-alternatives.8:391
msgid "The generic name of the alternative."
msgstr "Der generische Name der Alternative."

#. type: TP
#: update-alternatives.8:391
#, no-wrap
msgid "B<Status:>I< status>"
msgstr "B<Status:>I< Status>"

#. type: Plain text
#: update-alternatives.8:394
msgid "The status of the alternative (B<auto> or B<manual>)."
msgstr "Der Status der Alternative (B<auto> oder B<manual>)."

#. type: TP
#: update-alternatives.8:394
#, no-wrap
msgid "B<Best:>I< best-choice>"
msgstr "B<Best:>I< beste-Wahl>"

#. type: Plain text
#: update-alternatives.8:398
msgid ""
"The path of the best alternative for this link group. Not present if there "
"is no alternatives available."
msgstr ""
"Der Pfad der besten Alternative für diese Linkgruppe. Nicht vorhanden, falls "
"keine Alternative verfügbar ist."

#. type: TP
#: update-alternatives.8:398
#, no-wrap
msgid "B<Value:>I< currently-selected-alternative>"
msgstr "B<Value:>I< derzeit-ausgewählte-Alternative>"

#. type: Plain text
#: update-alternatives.8:402
msgid ""
"The path of the currently selected alternative. It can also take the magic "
"value B<none>. It is used if the link doesn't exist."
msgstr ""
"Der Pfad der derzeit ausgewählten Alternative. Es akzeptiert auch den "
"magischen Wert B<none>, der verwandt wird, falls der Link nicht existiert."

#. type: TP
#: update-alternatives.8:403
#, no-wrap
msgid "The other blocks describe the available alternatives in the queried link group:"
msgstr "Die anderen Blöcke beschreiben die verfügbaren Alternativen in der abgefragten Linkgruppe:"

#. type: TP
#: update-alternatives.8:405
#, no-wrap
msgid "B<Alternative:>I< path-of-this-alternative>"
msgstr "B<Alternative:>I< Pfad-dieser-Alternativen>"

#. type: Plain text
#: update-alternatives.8:408
msgid "Path to this block's alternative."
msgstr "Pfad zum Block dieser Alternativen."

#. type: TP
#: update-alternatives.8:408
#, no-wrap
msgid "B<Priority:>I< priority-value>"
msgstr "B<Priority:>I< Prioritätswert>"

#. type: Plain text
#: update-alternatives.8:411
msgid "Value of the priority of this alternative."
msgstr "Wert der Priorität dieser Alternativen."

#. type: TP
#: update-alternatives.8:411
#, no-wrap
msgid "B<Slaves:>I< list-of-slaves>"
msgstr "B<Slaves:>I< Liste-von-Slaves>"

#. type: Plain text
#: update-alternatives.8:417
msgid ""
"When this header is present, the B<next> lines hold all slave alternatives "
"associated to the master link of the alternative. There is one slave per "
"line. Each line contains one space, the generic name of the slave "
"alternative, another space, and the path to the slave alternative."
msgstr ""
"Wenn diese Kopfzeile vorhanden ist enthält die B<nächste> Zeile alle Slave-"
"Alternativen, die dem Masterlink dieser Alternativen zugeordnet sind. Pro "
"Zeile wird ein Slave aufgeführt. Jede Zeile enthält ein Leerzeichen, den "
"generischen Namen des Slaves, ein weiteres Leerzeichen und den Pfad zu der "
"Slave-Alternative."

#. type: TP
#: update-alternatives.8:418
#, no-wrap
msgid "B<Example>"
msgstr "B<Beispiel>"

#. type: Plain text
#: update-alternatives.8:426
#, no-wrap
msgid ""
"$ update-alternatives --query editor\n"
"Link: editor\n"
"Status: auto\n"
"Best: /usr/bin/vim.gtk\n"
"Value: /usr/bin/vim.gtk\n"
msgstr ""
"$ update-alternatives --query editor\n"
"Link: editor\n"
"Status: auto\n"
"Best: /usr/bin/vim.gtk\n"
"Value: /usr/bin/vim.gtk\n"

#. type: Plain text
#: update-alternatives.8:431
#, no-wrap
msgid ""
"Alternative: /bin/ed\n"
"Priority: -100\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/ed.1.gz\n"
msgstr ""
"Alternative: /bin/ed\n"
"Priority: -100\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/ed.1.gz\n"

#. type: Plain text
#: update-alternatives.8:446
#, no-wrap
msgid ""
"Alternative: /usr/bin/vim.gtk\n"
"Priority: 50\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/vim.1.gz\n"
" editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz\n"
" editor.pl.ISO8859-2.1.gz /usr/share/man/pl.ISO8859-2/man1/vim.1.gz\n"
" editor.it.ISO8859-1.1.gz /usr/share/man/it.ISO8859-1/man1/vim.1.gz\n"
" editor.pl.UTF-8.1.gz /usr/share/man/pl.UTF-8/man1/vim.1.gz\n"
" editor.it.1.gz /usr/share/man/it/man1/vim.1.gz\n"
" editor.fr.UTF-8.1.gz /usr/share/man/fr.UTF-8/man1/vim.1.gz\n"
" editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz\n"
" editor.it.UTF-8.1.gz /usr/share/man/it.UTF-8/man1/vim.1.gz\n"
" editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz\n"
" editor.fr.ISO8859-1.1.gz /usr/share/man/fr.ISO8859-1/man1/vim.1.gz\n"
msgstr ""
"Alternative: /usr/bin/vim.gtk\n"
"Priority: 50\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/vim.1.gz\n"
" editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz\n"
" editor.pl.ISO8859-2.1.gz /usr/share/man/pl.ISO8859-2/man1/vim.1.gz\n"
" editor.it.ISO8859-1.1.gz /usr/share/man/it.ISO8859-1/man1/vim.1.gz\n"
" editor.pl.UTF-8.1.gz /usr/share/man/pl.UTF-8/man1/vim.1.gz\n"
" editor.it.1.gz /usr/share/man/it/man1/vim.1.gz\n"
" editor.fr.UTF-8.1.gz /usr/share/man/fr.UTF-8/man1/vim.1.gz\n"
" editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz\n"
" editor.it.UTF-8.1.gz /usr/share/man/it.UTF-8/man1/vim.1.gz\n"
" editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz\n"
" editor.fr.ISO8859-1.1.gz /usr/share/man/fr.ISO8859-1/man1/vim.1.gz\n"

#. type: Plain text
#: update-alternatives.8:458
msgid ""
"With B<--verbose> B<update-alternatives> chatters incessantly about its "
"activities on its standard output channel.  If problems occur, B<update-"
"alternatives> outputs error messages on its standard error channel and "
"returns an exit status of 2.  These diagnostics should be self-explanatory; "
"if you do not find them so, please report this as a bug."
msgstr ""
"Mit B<--verbose> quatscht B<update-alternatives> ohne Unterlass über seine "
"Aktivitäten auf seinem Standardausgabekanal. Falls Probleme auftreten, gibt "
"B<update-alternatives> eine Fehlermeldung auf seinem Standardfehlerkanal aus "
"und beendet sich mit dem Exit-Status 2. Die Diagnostiken sollten "
"selbsterklärend sein; falls Sie dies nicht so empfinden, melden Sie dies "
"bitte als Fehler."

#. type: Plain text
#: update-alternatives.8:464
msgid ""
"There are several packages which provide a text editor compatible with "
"B<vi>, for example B<nvi> and B<vim>. Which one is used is controlled by the "
"link group B<vi>, which includes links for the program itself and the "
"associated manpage."
msgstr ""
"Es gibt mehrere Pakete, die einen zum B<vi>-kompatiblen Texteditor "
"bereitstellen, beispielsweise B<nvi> und B<vim>. Welcher benutzt wird, wird "
"durch die Linkgruppe B<vi> eingestellt, welche Links für das Programm selber "
"und die zugehörige Handbuchseite beinhaltet."

#. type: Plain text
#: update-alternatives.8:467
msgid ""
"To display the available packages which provide B<vi> and the current "
"setting for it, use the B<--display> action:"
msgstr ""
"Um alle verfügbaren Programme anzuzeigen, die B<vi> bereitstellen, und die "
"dazu gehörigen Einstellungen, benutzen Sie die Aktion B<--display>:"

#. type: Plain text
#: update-alternatives.8:470
msgid "B<update-alternatives --display vi>"
msgstr "B<update-alternatives --display vi>"

#. type: Plain text
#: update-alternatives.8:474
msgid ""
"To choose a particular B<vi> implementation, use this command as root and "
"then select a number from the list:"
msgstr ""
"Um eine bestimmte B<vi>-Implementation auszuwählen, benutzen Sie als Root "
"den folgenden Befehl und wählen dann eine Zahl aus der Liste aus:"

#. type: Plain text
#: update-alternatives.8:477
msgid "B<update-alternatives --config vi>"
msgstr "B<update-alternatives --config vi>"

#. type: Plain text
#: update-alternatives.8:481
msgid ""
"To go back to having the B<vi> implementation chosen automatically, do this "
"as root:"
msgstr ""
"Um zur automatischen Auswahl der B<vi>-Implementation zurückzukehren, führen "
"Sie folgendes als Root aus:"

#. type: Plain text
#: update-alternatives.8:484
msgid "B<update-alternatives --auto vi>"
msgstr "B<update-alternatives --auto vi>"

#. type: Plain text
#: update-alternatives.8:488
msgid ""
"If you find a bug, please report it using the Debian bug-tracking system."
msgstr ""
"Falls Sie einen Fehler finden, melden Sie ihn bitte über die Fehlerdatenbank "
"von Debian."

#. type: Plain text
#: update-alternatives.8:493
msgid ""
"If you find any discrepancy between the operation of B<update-alternatives> "
"and this manual page, it is a bug, either in the implementation or the "
"documentation; please report it."
msgstr ""
"Falls Sie einen Unterschied zwischen der Implementation von B<update-"
"alternatives> und dieser Handbuchseite finden, ist dies ein Fehler, entweder "
"in der Implementation oder in der Dokumentation; bitte melden Sie dies."

#. type: Plain text
#: update-alternatives.8:504
msgid ""
"This manual page is copyright 1997,1998 Charles Briscoe-Smith and others."
msgstr ""
"Diese Handbuchseite ist Copyright 1997,1998 durch Charles Briscoe-Smith und "
"anderen."

#. type: Plain text
#: update-alternatives.8:507
msgid ""
"This is free documentation; see the GNU General Public Licence version 2 or "
"later for copying conditions. There is NO WARRANTY."
msgstr ""
"Dies ist Freie Dokumentation; lesen Sie die GNU General Public License "
"Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE Haftung."

#. type: Plain text
#: update-alternatives.8:510
msgid "B<ln>(1), FHS, the Filesystem Hierarchy Standard."
msgstr ""
"B<ln>(1), FHS, der Dateisystem Hierarchie-Standard (Filesystem Hierarchy "
"Standard)."

#~ msgid "B<Build-Features:>I< features-list>"
#~ msgstr "B<Build-Features:> I< Funktionalitätsliste>"

#~ msgid ""
#~ "A comma-separated list of names of build-time features that are supported "
#~ "by the source package. Currently, the only supported feature is B<build-"
#~ "arch>. It allows dpkg-buildpackage to call the I<build-arch> or I<build-"
#~ "indep> targets in place of I<build>."
#~ msgstr ""
#~ "Eine durch Komma separierte Liste von Funktionalitätsnamen, die vom "
#~ "Quellpaket für den Paketbau unterstützt werden. Derzeit ist die einzige "
#~ "unterstützte Funktionalität B<build-arch>. Dies erlaubt es Dpkg-"
#~ "buildpackage, die Ziele I<build-arch> oder I<build-indep> anstelle von "
#~ "I<build> aufzurufen."

#~ msgid ""
#~ "by the package maintainer with one of the following files (the first "
#~ "found is used): B<debian/buildflags.>I<arch>, B<debian/buildflags.>I<os>, "
#~ "B<debian/buildflags>. The I<arch> substitution corresponds to the "
#~ "DEB_HOST_ARCH variable returned by B<dpkg-architecture> while I<os> "
#~ "corresponds to DEB_HOST_ARCH_OS."
#~ msgstr ""
#~ "durch den Paketbetreuer mittels einer der folgenden Dateien (die zuerst "
#~ "gefundene wird verwandt): B<debian/buildflags.>I<Arch>, B<debian/"
#~ "buildflags.>I<OS>, B<debian/buildflags>. Die Ersetzung I<Arch> entspricht "
#~ "der von B<dpkg-architecture> zurückgelieferten Variablen DEB_HOST_ARCH, "
#~ "während I<OS> DEB_HOST_ARCH_OS entspricht."

#~ msgid ""
#~ "B<debian/buildflags.>I<arch>B<, debian/buildflags.>I<os>B<, debian/"
#~ "buildflags>"
#~ msgstr ""
#~ "B<debian/buildflags.>I<Arch>B<, debian/buildflags.>I<OS>B<, debian/"
#~ "buildflags>"

#~ msgid "Package maintainer configuration file."
#~ msgstr "Konfigurationsdatei des Paketverwalters"

#~ msgid ""
#~ "Those environment variables should not be set by official packages, they "
#~ "are meant for users who are recompiling a Debian package and would like "
#~ "to change the compilation flags."
#~ msgstr ""
#~ "Diese Umgebungsvariablen sollten von offiziellen Paketen nicht gesetzt "
#~ "werden, sie sind für Benutzer gedacht, die ein Debian-Paket neu "
#~ "übersetzen und die Übersetzungsschalter ändern wollen."

#~ msgid "2010-07-29"
#~ msgstr "2010-07-29"

#~ msgid "Compiler flags"
#~ msgstr "Compiler-Schalter"

#~ msgid ""
#~ "The B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> and B<LDFLAGS> "
#~ "environment variables are set to the values that B<dpkg-buildflags> "
#~ "returned. See its manual page for more information."
#~ msgstr ""
#~ "Die Umgebungsvariablen B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> und "
#~ "B<LDFLAGS> werden auf die Werte gesetzt, die B<dpkg-buildflags> "
#~ "zurückliefert. Lesen Sie die Handbuchseite für weitere Informationen."

#~ msgid "B<Package:> E<lt>package nameE<gt>"
#~ msgstr "B<Package:> E<lt>PaketnameE<gt>"

#~ msgid "B<Multi-Arch:> E<lt>same|foreign|allowedE<gt> "
#~ msgstr "B<Multi-Arch:> E<lt>same|foreign|allowedE<gt> "

#~ msgid "2011-04-15"
#~ msgstr "2011-04-15"

#~ msgid "2008-08-18"
#~ msgstr "2008-08-18"

#~ msgid "2009-08-15"
#~ msgstr "2009-08-15"

#~ msgid "2009-11-21"
#~ msgstr "2009-11-21"

#~ msgid "2011-04-26"
#~ msgstr "2011-04-26"

#~ msgid "2010-10-12"
#~ msgstr "2010-10-12"

#~ msgid "2009-08-07"
#~ msgstr "2009-08-07"

#~ msgid "2010-04-16"
#~ msgstr "2010-04-16"

#~ msgid "2009-05-19"
#~ msgstr "2009-05-19"

#~ msgid "2011-04-28"
#~ msgstr "2011-04-28"

#~ msgid "2009-10-01"
#~ msgstr "2009-10-01"

#~ msgid "2009-06-26"
#~ msgstr "2009-06-26"

#~ msgid "2009-05-10"
#~ msgstr "2009-05-10"

#~ msgid "2010-03-07"
#~ msgstr "2010-03-07"

#~ msgid ""
#~ "B<dselect> [B<--admindir> I<E<lt>directoryE<gt>>] [B<--help>] [B<--"
#~ "version>] [B<--expert>] [B<--debug>|B<-D>I<E<lt>fileE<gt>>] "
#~ "[I<E<lt>actionE<gt>>] [B<--colour>|B<--color> I<screenpart:>"
#~ "[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]]"
#~ msgstr ""
#~ "B<dselect> [B<--admindir> I<E<lt>VerzeichnisE<gt>>] [B<--help>] [B<--"
#~ "version>] [B<--expert>] [B<--debug>|B<-D>I<E<lt>DateiE<gt>>] "
#~ "[I<E<lt>AktionE<gt>>] [B<--colour>|B<--color> I<Bildschirmteil:>"
#~ "[I<Vordergrund>],[I<Hintergrund>][I<:Attr>[I<+Attr+..>]]]"

#~ msgid "B<--admindir>I< E<lt>directoryE<gt>>"
#~ msgstr "B<--admindir>I< E<lt>VerzeichnisE<gt>>"

#~ msgid "USAGE"
#~ msgstr "VERWENDUNG"

#~ msgid ""
#~ "Note: B<dpkg-source> expects the source tree to have all patches listed "
#~ "in the series file applied when you generate the source package.  This is "
#~ "not the case when the source tree has been obtained by unpacking a source "
#~ "package using the Format: 1.0 for instance. To mitigate the problem, "
#~ "B<dpkg-source> will apply the patches by itself if it believes that they "
#~ "have not yet been applied. To detect this situation, it uses the "
#~ "following heuristic: it finds the list of supposedly unapplied patches "
#~ "(they are listed in the B<series> file but not in B<.pc/applied-"
#~ "patches>), and if the first patch in that set can be applied without "
#~ "errors, it will apply them all.  The option B<--no-preparation> can be "
#~ "used to disable this behaviour. This operation is usually done as part of "
#~ "the B<--prepare-build> command."
#~ msgstr ""
#~ "Hinweis: B<dpkg-source> erwartet, dass alle Patches aus der Series-Datei "
#~ "auf dem Quellbaum angewandt wurden, wenn Sie das Quellpaket erstellen. "
#~ "Dies ist z.B. nicht der Fall, wenn der Quellbaum durch Entpacken eines "
#~ "Quellpakets im Format: 1.0 erhalten wurde. Um das Problem zu entschärfen, "
#~ "wird B<dpkg-source> die Patches selbst anwenden, falls es glaubt, dass "
#~ "sie noch nicht angewandt wurden. Um diese Situation zu erkennen, "
#~ "verwendet es die folgende Heuristik: Es findet die Liste der vermutlich "
#~ "noch nicht angewandten Patches (sie sind in der Datei B<series>, aber "
#~ "nicht in der Datei B<.pc/applied-patches> aufgeführt) und wenn der erste "
#~ "Patch in dem Satz ohne Fehler angewandt werden kann, werden sie alle "
#~ "angewandt. Die Option B<--no-preparation> kann zum Abschalten dieses "
#~ "Verhaltens verwandt werden. Dieser Ablauf passiert normalerweise als Teil "
#~ "des Befehls B<--prepare-build>."

#~ msgid "2010-11-22"
#~ msgstr "2010-11-22"

#~ msgid "2011-02-05"
#~ msgstr "2011-02-05"

#~ msgid ""
#~ "B<dpkg> can also be used as a front-end to B<dpkg-deb>(1).  The following "
#~ "are B<dpkg-deb> actions, and if they are encountered, B<dpkg> just runs "
#~ "B<dpkg-deb> with the parameters given to it:"
#~ msgstr ""
#~ "B<dpkg> kann auch als Oberfläche für B<dpkg-deb>(1) verwendet werden. Die "
#~ "folgenden Aktionen gehören zu B<dpkg-deb>, und wenn sie angetroffen "
#~ "werden, startet B<dpkg> einfach B<dpkg-deb> mit den übergebenen "
#~ "Parametern:"

#~ msgid ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract>, and\n"
#~ "    B<--fsys-tarfile>.\n"
#~ msgstr ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract> und\n"
#~ "    B<--fsys-tarfile>.\n"

#~ msgid "Please refer to B<dpkg-deb>(1) for information about these actions."
#~ msgstr ""
#~ "Bitte lesen Sie B<dpkg-deb>(1) für weitere Informationen über diese "
#~ "Aktionen."

#~ msgid "B<--new>, B<--old>"
#~ msgstr "B<--new>, B<--old>"

#~ msgid ""
#~ "Select new or old binary package format. This is a B<dpkg-deb>(1)  option."
#~ msgstr ""
#~ "Wähle das alte oder neue Binärpaketformat. Dies ist eine B<dpkg-deb>(1)-"
#~ "Option."

#~ msgid ""
#~ "Don't read or check contents of control file while building a package.  "
#~ "This is a B<dpkg-deb>(1) option."
#~ msgstr ""
#~ "Lese oder überprüfe den Inhalt der Steuerdatei beim Paketbau nicht. Dies "
#~ "ist eine B<dpkg-deb>(1)-Option."

#~ msgid "2011-04-20"
#~ msgstr "2011-04-20"

#~ msgid "0"
#~ msgstr "0"

#~ msgid "1"
#~ msgstr "1"

#~ msgid ""
#~ "B<start-stop-daemon> returns 0 if the requested action was performed, or "
#~ "if B<--oknodo> is specified and either B<--start> was specified and a "
#~ "matching process was already running, or B<--stop> was specified and "
#~ "there were no matching processes. If B<--oknodo> was not specified and "
#~ "nothing was done, 1 is returned. If B<--stop> and B<--retry> were "
#~ "specified, but the end of the schedule was reached and the processes were "
#~ "still running, the error value is 2. For all other errors, the status is "
#~ "3."
#~ msgstr ""
#~ "B<start-stop-daemon> liefert 0, falls die angeforderte Aktion ausgeführt "
#~ "wurde oder B<--oknodo> angegeben und entweder B<--start> angegeben wurde "
#~ "und ein passender Prozess lief bereits oder B<--stop> angebeben wurde und "
#~ "es gab keinen passenden Prozess. Falls B<--oknodo> nicht angegeben wurde "
#~ "und nichts erfolgte, wird 1 zurückgeliefert. Falls B<--stop> und B<--"
#~ "retry> angegeben wurden, aber das Ende des Plans errreicht wurde und der "
#~ "Prozess noch läuft, lautet der Fehlerwert 2. Bei allen anderen Fehlern "
#~ "ist der Status 3."

#~ msgid "2"
#~ msgstr "2"

#~ msgid ""
#~ "B<dpkg-split> uses some rather out-of-date conventions for the the "
#~ "filenames of Debian packages."
#~ msgstr ""
#~ "B<dpkg-split> benutzt einige ziemlich veraltete Konventionen für die "
#~ "Dateinamen von Debian-Paketen."

#~ msgid ""
#~ "The architecture is not represented in the part files' header, only in "
#~ "the control information of the contained binary package file, and it is "
#~ "not present in the filenames generated."
#~ msgstr ""
#~ "Die Architektur wird nicht im Kopf der Teil-Dateien dargestellt, nur in "
#~ "den Steuer-Informationen der enthaltenen Binärpaket-Datei, und sie ist "
#~ "nicht in den erzeugten Dateinamen wiedergegeben."

#~ msgid "2010-01-28"
#~ msgstr "2010-01-28"

#~ msgid ""
#~ "The first member is named B<debian-split> and contains a series of lines, "
#~ "separated by newlines. Currently seven lines are present.  The first is "
#~ "the format version number, B<2.1> at the time this manual page was "
#~ "written. The second is the package name. The third is the package "
#~ "version. The fourth is the md5sum of the package.  The fifth is the total "
#~ "size of the package. The sixth is the maximum part size. The seventh is "
#~ "the current part number, followed by a slash and the total amount of "
#~ "parts (as in \\(oq1/10\\(cq)."
#~ msgstr ""
#~ "Das erste Mitglied heißt B<debian-split> und enthält eine Reihe von "
#~ "Zeilen, die durch Zeilenumbrüche getrennt sind. Derzeit sind sieben Zeile "
#~ "vorhanden. Die erste ist die Formatversionsnummer, B<2.1> zum Zeitpunkt "
#~ "zu dem diese Handbuchseite geschrieben wurde. Die Zweite ist der "
#~ "Paketname. Die Dritte die Paketversion. Die Vierte ist die Md5sum des "
#~ "Pakets. Die Fünfte ist die Gesamtgröße des Pakets. Die Sechste ist die "
#~ "maximale Teilgröße. Die Siebte ist die aktuelle Teilnummer, gefolgt von "
#~ "einem Schrägstrich und der Gesamtanzahl von Teilen (wie in "
#~ "\\(oq1/10\\(cq)."

#~ msgid "2009-03-08"
#~ msgstr "2009-03-08"

#~ msgid "File"
#~ msgstr "Datei"

#~ msgid "2009-11-11"
#~ msgstr "2009-11-11"

#~ msgid "2009-02-26"
#~ msgstr "2009-02-26"

#~ msgid "2009-04-13"
#~ msgstr "2009-04-13"

#~ msgid "I<admindir>/info/I<package>.symbols"
#~ msgstr "I<adminverz>/info/I<Paket>.symbols"

#~ msgid "I<admindir>/info/I<package>.shlibs"
#~ msgstr "I<Adminverz>/info/I<Paket>.shlibs"

#~ msgid "2010-11-05"
#~ msgstr "2010-11-05"

#~ msgid ""
#~ "An error occurred. Unfortunately at the time of writing I<extended-error-"
#~ "message> can contain newlines, although in locales where the translators "
#~ "have not made mistakes every newline is followed by at least one space."
#~ msgstr ""
#~ "Ein Fehler ist aufgetreten. Unglücklicherweise kann zum Zeitpunkt der "
#~ "Erstellung dieser Informationen I<ausführliche-Fehlermeldung> "
#~ "Zeilenumbrüche enthalten. In Standorteinstellungen (»locales«), in denen "
#~ "Übersetzer sorgfältig gearbeitet haben, wird allerdings jeder "
#~ "Zeilenumbruch von einem Leerzeichen gefolgt."

#~ msgid ""
#~ "This format is experimental. It uses a bundle of a git repository to hold "
#~ "the source of a package."
#~ msgstr ""
#~ "Dieses Format ist experimentell. Es verwendet ein Bündel eines Git-"
#~ "Depots, um die Quellen eines Paketes zu verwahren."

#~ msgid "The bundle is cloned to a new git repository."
#~ msgstr "Das Bündel wird in ein neues Git-Depot geklont."

#~ msgid "2007-10-08"
#~ msgstr "2007-10-08"

#~ msgid "2010-04-11"
#~ msgstr "2010-04-11"

#~ msgid ""
#~ "Defined by B<dpkg> on the maintainer script environment to the private "
#~ "library directory of the currently running B<dpkg> instance."
#~ msgstr ""
#~ "Wird von B<dpkg> für die Betreuer-Skript-Umgebung auf das private "
#~ "Bibliotheksverzeichnis der aktuell laufenden Instanz von B<dpkg> gesetzt."

#~ msgid "Format: 3.0 (git) and 3.0 (bzr)"
#~ msgstr "Format: 3.0 (git) und 3.0 (bzr)"

#~ msgid ""
#~ "I<priority> and I<section> place the package within the release tree; "
#~ "these ought not to be found in the control file. If the package is found "
#~ "in a subdirectory of I<binarydir>, that will be checked against "
#~ "I<section>."
#~ msgstr ""
#~ "I<Priorität> und I<Bereich> platzieren das Paket innerhalb des "
#~ "Veröffentlichungs-Baums; diese sollten nicht in der Steuerdatei gefunden "
#~ "werden. Falls das Paket in einem Unterverzeichnis des I<Binär-Verz> "
#~ "gefunden wird, dann wird dies mit I<Bereich> überprüft."

#~ msgid "for the current user with B<~/.config/dpkg-buildflags.conf>;"
#~ msgstr "für den aktuellen Benutzer mit B<~/.config/dpkg-buildflags.conf>"

#~ msgid "B<~/.config/dpkg-buildflags.conf>"
#~ msgstr "B<~/.config/dpkg-buildflags.conf>"

#~ msgid ""
#~ "It prepares the build environment by setting various environment "
#~ "variables (see B<ENVIRONMENT>)."
#~ msgstr ""
#~ "Es bereitet die Bauumgebung vor, indem verschiedene Umgebungsvariablen "
#~ "gesetzt werden (siehe B<UMGEBUNG>)."

#~ msgid ""
#~ "It calls B<dpkg-source> to generate the source package (unless a binary-"
#~ "only build has been requested with B<-b>, B<-B> or B<-A>)."
#~ msgstr ""
#~ "Es ruft B<dpkg-source> auf, um das Quellpaket zu erstellen (falls nicht "
#~ "mit B<-b>, B<-B> oder B<-A> ein rein-binärer Bau erbeten wurde)."

#~ msgid ""
#~ "If B<-tc> is specified, it will call B<fakeroot debian/rules clean> again."
#~ msgstr ""
#~ "Falls B<-tc> angegeben ist, wird B<fakeroot debian/rules clean> erneut "
#~ "aufgerufen."

#~ msgid ""
#~ "If the host architecture differs from the build architecture (as is the "
#~ "case for a cross-compilation), and if the environment variable "
#~ "B<PKG_CONFIG_LIBDIR> is not set, then it is set to a value suitable for "
#~ "cross-compilation (\"/usr/I<gnu-system-type>/lib/pkgconfig/:/usr/share/"
#~ "pkgconfig\")."
#~ msgstr ""
#~ "Falls sich die Host-Architektur von der Bau-Architektur unterscheidet "
#~ "(wie diese bei Cross-Kompilierung der Fall ist) und falls die "
#~ "Umgebungsvariable B<PKG_CONFIG_LIBDIR> nicht gesetzt ist, dann wird sie "
#~ "auf einen Wert gesetzt, der für Cross-Kompilierung geeignet ist (»/usr/"
#~ "I<gnu-system-type>/lib/pkgconfig/:/usr/share/pkgconfig«)."

#~ msgid "[I<tag:>] I<library> I<version> I<dependencies>"
#~ msgstr "[I<Markierung:>] I<Bibliothek> I<Version> I<Abhängigkeiten>"

#~ msgid ""
#~ "Some environment variables defining compiler and linker options are set "
#~ "to default values unless already present in the environment. Note that "
#~ "this mechanism was only introduced in version 1.14.17 of dpkg-dev and not "
#~ "all I<rules> files and build tools will honour these variables, yet."
#~ msgstr ""
#~ "Einige Umgebungsvariablen für Einstellungen der Optionen des Compilers "
#~ "und Linkers werden auf Standardwerte gesetzt, falls sie noch nicht in der "
#~ "Umgebung gesetzt wurden. Beachten Sie, dass dieser Mechanismus erst in "
#~ "dpkg-dev Version 1.14.17 eingeführt wurde und noch nicht alle I<rules>-"
#~ "Dateien und Bauwerkzeuge diese Variablen berücksichtigen."

#~ msgid ""
#~ "Optimization options which are passed to the Debian build system and can/"
#~ "should be overridden by the package build if needed (default value: B<-g -"
#~ "O2>, or B<-g\\ -O0> if B<noopt> is specified in DEB_BUILD_OPTIONS). "
#~ "Overriding options can be used to explicitly set a higher optimization "
#~ "level, or work around compiler bugs, which only can be seen with some "
#~ "optimization levels (the last opt level \"wins\")."
#~ msgstr ""
#~ "Optimierungs-Optionen, die an das Debian-Bausystem weitergegeben und vom "
#~ "Paketbausystem bei Bedarf überschrieben werden können/sollten "
#~ "(Vorgabewert: B<-g -O2> oder B<-g\\ -O0> falls B<noopt> in "
#~ "DEB_BUILD_OPTIONS angegeben ist). Das Überschreiben der Optionen kann "
#~ "dazu verwendet werden, explizit eine höhere Optimierungsstufe zu setzen "
#~ "oder um Compiler-Fehler zu umgehen, die nur bei einigen "
#~ "Optimierungsstufen auftreten (die letzte Optimierungsstufe »gewinnt«)."

#~ msgid "B<CFLAGS_APPEND>"
#~ msgstr "B<CFLAGS_APPEND>"

#~ msgid ""
#~ "Optimization options appended to the compiler flags, which must not be "
#~ "overwritten by the package (mostly used to for test builds). Default "
#~ "value: empty."
#~ msgstr ""
#~ "Optimierungsoptionen, die an die Compiler-Schalter angehängt werden, die "
#~ "nicht vom Paket überschrieben werden dürfen (hauptsächlich zum Testen). "
#~ "Standardmäßig leer."

#~ msgid "Same as B<CFLAGS> for C++ sources."
#~ msgstr "Identisch zu B<CFLAGS> für C++-Quellen."

#~ msgid "B<CXXFLAGS_APPEND>"
#~ msgstr "B<CXXFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for C++ sources."
#~ msgstr "Identisch zu B<CFLAGS_APPEND> für C++-Quellen."

#~ msgid "Same as B<CFLAGS> for Fortran sources."
#~ msgstr "Identisch zu B<CFLAGS> für Fortran-Quellen."

#~ msgid "B<FFLAGS_APPEND>"
#~ msgstr "B<FFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for Fortran sources."
#~ msgstr "Identisch zu B<CFLAGS_APPEND> für Fortran-Quellen."

#~ msgid ""
#~ "Preprocessor flags which are passed to the Debian build system and can/"
#~ "should be overridden by the package build if needed (default: empty). "
#~ "This macro is seldom used (most build systems just use B<CFLAGS> instead "
#~ "of B<CPPFLAGS>)."
#~ msgstr ""
#~ "Präprozessor-Schalter, die an das Debian-Bausystem weitergegeben und vom "
#~ "Paketbausystem bei Bedarf überschrieben werden können/sollten "
#~ "(Vorgabewert: leer). Dieses Makro wird selten benutzt (die meisten "
#~ "Bausysteme verwenden einfach B<CFLAGS> statt B<CPPFLAGS>)."

#~ msgid "B<CPPFLAGS_APPEND>"
#~ msgstr "B<CPPFLAGS_APPEND>"

#~ msgid ""
#~ "Preprocessor flags appended to the preprocessor flags, which must not be "
#~ "overwritten by the package (mostly used to for test builds). Default "
#~ "value: empty."
#~ msgstr ""
#~ "Präprozessor-Schalter, die an die Präprozessor-Schalter angehängt werden, "
#~ "die nicht vom Paket überschrieben werden dürfen (hauptsächlich zum "
#~ "Testen). Standardmäßig leer."

#~ msgid "B<LDFLAGS_APPEND>"
#~ msgstr "B<LDFLAGS_APPEND>"

#~ msgid ""
#~ "Optimization options appended to the compiler flags when linking code, "
#~ "which must not be overwritten by the package (mostly used to for test "
#~ "builds). Default value: empty."
#~ msgstr ""
#~ "Optimierungs-Optionen, die an den Compiler beim Linken von Code angehängt "
#~ "werden und die nicht vom Paket überschrieben werden dürfen (hauptsächlich "
#~ "zum Testen). Standardmäßig leer."

#~ msgid "Copyright \\(co 2008 Rapha\\[:e]l Hertzog"
#~ msgstr "Copyright \\(co 2008 Rapha\\[:e]l Hertzog"

#~ msgid "include all changes."
#~ msgstr "füge alle Änderungen hinzu."

#~ msgid ""
#~ "B<dpkg-source> will build the source package with the first format found "
#~ "in this ordered list: the format indicated with the I<--format> command-"
#~ "line option, the format indicated in B<debian/source/format>, \"1.0\". "
#~ "See section B<SOURCE PACKAGE FORMATS> for an extensive description of the "
#~ "various source package formats."
#~ msgstr ""
#~ "B<dpkg-source> wird das Quellpaket mit dem ersten gefundenen Format aus "
#~ "der folgenden geordneten Liste bauen: dem mit der Kommandozeilenoption"
#~ "(en) I<--format> angegeben Format, dem in B<debian/source/format> "
#~ "angegebenen Format, »1.0«. Die verschiedenen Quellpaketformate werden im "
#~ "Abschnitt B<QUELLPAKET-FORMATE> ausführlich beschrieben."

#~ msgid ""
#~ "If you don't know what source format you should use, you should probably "
#~ "pick either \"3.0 (quilt)\" or \"3.0 (native)\". They will become the "
#~ "default formats in the near future. See http://wiki.debian.org/Projects/"
#~ "DebSrc3.0 for information on the deployment of those formats within "
#~ "Debian."
#~ msgstr ""
#~ "Falls Sie nicht wissen, welches Quellformat Sie verwenden sollen, "
#~ "verwenden Sie wahrscheinlich am besten entweder »3.0 (quilt)« oder »3.0 "
#~ "(native)«. Sie werden in der nahen Zukunft die Standardformate werden. "
#~ "Lesen Sie http://wiki.debian.org/Projects/DebSrc3.0 für Informationen "
#~ "über den Einsatz dieser Formate innerhalb von Debian."

#~ msgid "Copyright \\(co 2008-2009 Rapha\\[:e]l Hertzog"
#~ msgstr "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"

#~ msgid "ENVIRONMENT VARIABLES"
#~ msgstr "UMGEBUNGSVARIABLEN"

#~ msgid "2009-06-13"
#~ msgstr "2009-06-13"

#~ msgid "2009-01-07"
#~ msgstr "2009-01-07"

#~ msgid "2009-09-06"
#~ msgstr "2009-09-16"

#~ msgid ""
#~ "Print the source format that would be used to build the source package if "
#~ "B<dpkg-source -b >I<directory> was called (in the same conditions and "
#~ "with the same parameters). In particular it's important that the upstream "
#~ "tarball (if any) can be found in the current directory."
#~ msgstr ""
#~ "Gibt das Quellformat aus, dass zum Bau des Quellpakets verwandt würde, "
#~ "falls B<dpkg-source -b >I<Verzeichnis> aufgerufen würde (unter den "
#~ "gleichen Bedingungen und mit den gleichen Optionen). Insbesondere ist es "
#~ "wichtig, dass der Tarball der Originalautoren (falls vorhanden) im "
#~ "aktuellen Verzeichnis gefunden werden kann."

#~ msgid "2009-08-20"
#~ msgstr "2009-08-20"

#~ msgid "2009-11-12"
#~ msgstr "2009-11-12"

#~ msgid "B<--licence>, B<--license>"
#~ msgstr "B<--licence>, B<--license>"

#~ msgid "Display B<dpkg> licence."
#~ msgstr "Zeige die B<dpkg>-Lizenz an."

#~ msgid "B<DPKG_NO_TSTP>"
#~ msgstr "B<DPKG_NO_TSTP>"

#~ msgid ""
#~ "Define this to something if you prefer B<dpkg> starting a new shell "
#~ "rather than suspending itself, while doing a shell escape."
#~ msgstr ""
#~ "Definieren sie diese zu irgendetwas, falls Sie es bevorzugen, dass "
#~ "B<dpkg> eine neue Shell startet statt sich selber zu suspendieren, "
#~ "während es einen »Shell-Escape« durchführt."

#~ msgid "B<--license>, B<--licence>"
#~ msgstr "B<--licence>, B<--license>"

#~ msgid "Show the copyright licensing terms and exit."
#~ msgstr "Zeigt die Kopier-Lizenzierungsbedingungen und beendet sich."

#~ msgid ""
#~ "Read substitution variables in I<substvarsfile>; the default is B<debian/"
#~ "substvars>."
#~ msgstr ""
#~ "Lese Substitutionsvariablen aus I<substvardatei>; standardmäßig ist dies "
#~ "B<debian/substvars>."

#~ msgid "B<-l>, B<--license>"
#~ msgstr "B<-l>, B<--license>"

#~ msgid "B<-I>[I<file-pattern>]"
#~ msgstr "B<-I>[I<Dateimuster>]"

#~ msgid "B<--licence>|B<--license>"
#~ msgstr "B<--licence>|B<--license>"

#~ msgid ""
#~ "Displays the B<dselect> copyright and license information and exits "
#~ "successfully."
#~ msgstr ""
#~ "Zeige die Copyright- und Lizenzinformationen von B<dselect> und beende "
#~ "sich erfolgreich."

#~ msgid "2009-12-31"
#~ msgstr "2009-12-31"

#~ msgid ""
#~ "The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>."
#~ msgstr ""
#~ "Die Datei ist ein B<ar>-Archiv mit einer magischen Zahl von B<!"
#~ "E<lt>archE<gt>>."

#~ msgid "B<-h>"
#~ msgstr "B<-h>"

#~ msgid ""
#~ "The file B<debian/patches/.dpkg-source-applied> is created if some "
#~ "patches have been applied during the extraction."
#~ msgstr ""
#~ "Die Datei B<debian/patches/.dpkg-source-applied> wird angelegt, falls "
#~ "einige Patches während der Extrahierung angewandt wurden."

#~ msgid ""
#~ "All original tarballs found in the current directory are extracted in a "
#~ "temporary directory by following the same logic as for the unpack, the "
#~ "debian directory is copied over in the temporary directory, and all "
#~ "patches except B<debian-changes->I<version> are applied.  The temporary "
#~ "directory is compared to the source package directory and the diff (if "
#~ "non-empty) is stored in B<debian/patches/debian-changes->I<version>. Any "
#~ "change on a binary file is not representable in a diff and will thus lead "
#~ "to a failure unless the maintainer deliberately decided to include that "
#~ "modified binary file in the debian tarball (by listing it in B<debian/"
#~ "source/include-binaries>). The build will also fail if it finds binary "
#~ "files in the debian sub-directory unless they have been whitelisted "
#~ "through B<debian/source/include-binaries>."
#~ msgstr ""
#~ "Alle im aktuellen Verzeichnis gefundenen Original-Tarbälle werden in ein "
#~ "temporäres Verzeichnis entpackt. Hierbei wird die gleiche Logik wie für "
#~ "das Entpacken verwandt, das debian-Verzeichnis wird in das temporäre "
#~ "Verzeichnis kopiert und alle Patches außer B<debian-changes->I<Version> "
#~ "werden angewandt. Änderungen an Binärdateien können in einem Diff nicht "
#~ "dargestellt werden und führen daher zu einem Fehlschlag, es sei denn, der "
#~ "Betreuer hat sich absichtlich dazu entschlossen, die veränderte "
#~ "Binärdatei dem Debian-Tarball hinzuzufügen (indem er sie in B<debian/"
#~ "source/include-binaries> aufgeführt hat). Der Bau wird auch fehlschlagen, "
#~ "falls er Binärdateien im debian-Unterverzeichnis findet, die nicht über "
#~ "B<debian/source/include-binaries> freigegeben wurden."

#~ msgid ""
#~ "Note: B<dpkg-source> expects the source tree to have all patches listed "
#~ "in the series file applied when you generate the source package.  This is "
#~ "not the case when the source tree has been obtained by unpacking a source "
#~ "package using the Format: 1.0 for instance. To mitigate the problem, "
#~ "B<dpkg-source> will apply the patches by itself if it believes that they "
#~ "have not yet been applied. To detect this situation, it uses the "
#~ "following heuristic: if a B<.pc> subdirectory is detected, it will call "
#~ "B<quilt unapplied> to find out if some patches are not applied. After "
#~ "that, it will take the first patch of the series (or the first unapplied "
#~ "patch returned by B<quilt unapplied>, if any) and verify if it can be "
#~ "applied without errors. If the verification succeeds, it concludes that "
#~ "patches have not been applied and will apply them all.  The option B<--no-"
#~ "preparation> can be used to disable this behaviour."
#~ msgstr ""
#~ "Hinweis: B<dpkg-source> erwartet, dass alle Patches aus der Series-Datei "
#~ "auf dem Quellbaum angewandt wurden, wenn Sie das Quellpaket erstellen. "
#~ "Dies ist z.B. nicht der Fall, wenn der Quellbaum durch Entpacken eines "
#~ "Quellpakets im Format: 1.0 erhalten wurde. Um das Problem zu entschärfen, "
#~ "wird B<dpkg-source> die Patches selbst anwenden, falls es glaubt, dass "
#~ "sie noch nicht angewandt wurden. Um diese Situation zu erkennen, "
#~ "verwendet es die folgende Heuristik: Falls ein Unterverzeichnis B<.pc> "
#~ "erkannt wird, wird B<quilt unapplied> aufgerufen, um herauszufinden, ob "
#~ "einige Patches noch nicht angewandt wurden. Danach wird es den ersten "
#~ "Patch der Serie (oder - falls vorhandenden - den ersten von B<quilt "
#~ "unapplied> zurückgelieferten nicht angewandten Patch) anwenden und "
#~ "überprüfen, dass er ohne Fehler angewandt werden kann. Falls diese "
#~ "Überprüfung gelingt schließt es, dass die Patches noch nicht angewandt "
#~ "wurden und wendet sie alle an. Die Option B<--no-preparation> kann zum "
#~ "Abschalten dieses Verhaltens verwandt werden."

#~ msgid "B<--without-quilt>"
#~ msgstr "B<--without-quilt>"

#~ msgid ""
#~ "Don't use quilt to apply patches but dpkg-source's own code. It won't be "
#~ "possible to use quilt directly on the unpacked directory but it will be "
#~ "free of quilt's temporary files as well."
#~ msgstr ""
#~ "Verwende zur Anwendung der Patches nicht Quilt, sondern den Code von dpkg-"
#~ "source. Auf dem entpackten Verzeichnis kann Quilt nicht direkt verwandt "
#~ "werden, aber es wird auch frei von Quilts temporären Dateien sein."

#~ msgid ""
#~ "  # let dpkg-source create a debian.tar.bz2 with maximal compression\n"
#~ "  compression = \"bzip2\"\n"
#~ "  compression-level = 9\n"
#~ msgstr ""
#~ "  # lass dpkg-source ein debian.tar.bz2 mit maximaler Komprimierung\n"
#~ "  # erstellen\n"
#~ "  compression = \"bzip2\"\n"
#~ "  compression-level = 9\n"

#~ msgid "2008-04-09"
#~ msgstr "2008-04-09"

#~ msgid "2007-03-06"
#~ msgstr "2007-03-06"

#~ msgid "2007-06-12"
#~ msgstr "2007-06-12"

#~ msgid "B<-Z>I<compression>"
#~ msgstr "B<-Z>I<Komprimierung>"

#~ msgid "B<-z>I<level>"
#~ msgstr "B<-z>I<Stufe>"

#~ msgid "2009-01-04"
#~ msgstr "2009-01-04"

#~ msgid "2009-02-18"
#~ msgstr "2009-02-18"

#~ msgid ""
#~ "I<overridefile> is the name of a file to read which contains information "
#~ "about how the package fits into the distribution; see B<deb-override>(5)."
#~ msgstr ""
#~ "I<override-Datei> ist der Name einer einzulesenden Datei, die "
#~ "Informationen darüber enthält, wie das Paket in die Distribution passt; "
#~ "siehe B<deb-override>(5)."

#~ msgid ""
#~ "Scan I<file> to find supplementary overrides. See B<deb-extra-override>"
#~ "(5)  for more information on its format."
#~ msgstr ""
#~ "Durchsuche I<Datei>, um zusätzliche Overrides zu finden. Lesen Sie B<deb-"
#~ "extra-override>(5) für weitere Informationen über deren Format."

#~ msgid ""
#~ "The I<override-file>, if given, is used to set priorities in the "
#~ "resulting index records and to override the maintainer field given in the "
#~ "I<.dsc> files. See B<dpkg-scanpackages>(1)  for the format of this file. "
#~ "\\s-1NB:\\s0 Since the override file is indexed by binary, not source, "
#~ "packages, there's a bit of a problem here. The current implementation "
#~ "uses the highest priority of all the binary packages produced by a I<."
#~ "dsc> file for the priority of the source package, and the override entry "
#~ "for the first binary package listed in the I<.dsc> file to modify "
#~ "maintainer information. This might change."
#~ msgstr ""
#~ "Die I<override-Datei> wird, falls angegeben, verwendet, um die "
#~ "Prioritäten in den ergebenen Index-Datensätzen zu setzen und sich über "
#~ "das Betreuer-Feld in den I<.dsc>-Dateien hinwegzusetzen. Lesen Sie B<dpkg-"
#~ "scanpackages>(1) für das Format dieser Datei. \\s-1Beachten Sie\\s0: Da "
#~ "die override-Datei nach Binär- und nicht Quellpaketen indiziert wird, "
#~ "gibt es ein hier kleines Problem. Die aktuelle Implementierung verwendet "
#~ "die höchste Priorität aller von einer I<.dsc>-Datei erzeugten Binärpakete "
#~ "für die Priorität des Quellpakets, und den Inhalt für das Hinwegsetzen "
#~ "über die Betreuer-Information aus dem Eintrag für das erste in der I<."
#~ "dsc>-Datei aufgeführte Binärpaket. Dies könnte sich ändern."

#~ msgid ""
#~ "Use I<file> as the source override file. The default is the name of the "
#~ "override file you specified with I<.src> appended."
#~ msgstr ""
#~ "Verwenden Sie I<Datei> als Quell-override-Datei. Die Standardeinstellung "
#~ "ist der Name der override-Datei, die Sie angegeben haben, um I<.src> "
#~ "ergänzt."

#~ msgid ""
#~ "Specify the compression to use for created files (tarballs and diffs).  "
#~ "Note that this option will not cause existing tarballs to be "
#~ "recompressed, it only affects new files. Supported values are: I<gzip>, "
#~ "I<bzip2>, and I<lzma>.  I<gzip> is the default."
#~ msgstr ""
#~ "Gibt die Komprimierung an, die für die angelegte Dateien (Tarbälle und "
#~ "Diffs) verwendet wird. Beachten Sie, dass diese Option nicht dazu führt, "
#~ "dass existierende Tarbälle rekomprimiert werden, sie betrifft nur neue "
#~ "Dateien. Unterstützte Werte sind I<gzip>, I<bzip2> und I<lzma>. I<gzip> "
#~ "ist voreingestellt."

#~ msgid ""
#~ "A source package in this format contains at least an original tarball (B<."
#~ "orig.tar.>I<ext> where I<ext> can be B<gz>, B<bz2> and B<lzma>) and a "
#~ "debian tarball (B<.debian.tar.>I<ext>). It can also contain additional "
#~ "original tarballs (B<.orig->I<component>B<.tar.>I<ext>).  I<component> "
#~ "can only contain alphanumeric characters and dashes (\"-\")."
#~ msgstr ""
#~ "Ein Quellpaket in diesem Format enthält mindestens einen Original-Tarball "
#~ "(B<.orig.tar.>I<erw>, wobei I<erw> B<gz>, B<bz2> und B<lzma> sein kann) "
#~ "und einen Debian-Tarball (B<.debian.tar.>I<erw>). Es kann auch "
#~ "zusätzliche Original-Tarbälle (B<.orig->I<Komponente>B<.tar.>I<erw>)) "
#~ "enthalten. I<Komponente> kann nur alphanumerische Zeichen und "
#~ "Gedankenstriche (»-«) enthalten."

#~ msgid "2008-04-06"
#~ msgstr "2008-04-06"

#~ msgid ""
#~ "All options can be specified both on the command line and in the B<dpkg> "
#~ "configuration file I</etc/dpkg/dpkg.cfg>. Each line in the configuration "
#~ "file is either an option (exactly the same as the command line option but "
#~ "without leading dashes) or a comment (if it starts with a B<#>)."
#~ msgstr ""
#~ "Alle Optionen können auf der Kommandozeile oder in der B<dpkg>-"
#~ "Konfigurationsdatei I</etc/dpkg/dpkg.cfg> angegeben werden. Jede Zeile in "
#~ "der Konfigurationsdatei ist entweder eine Option (exakt die gleiche wie "
#~ "die Befehlszeilenoption nur ohne führende Gedankenstriche) oder ein "
#~ "Kommentar (falls sie mit B<#> beginnt)."

#~ msgid ""
#~ "The DEB_HOST_ARCH_CPU and DEB_HOST_ARCH_OS variables were only introduced "
#~ "in relatively recent versions of B<dpkg-architecture> (since dpkg "
#~ "1.13.2), before this I<debian/rules> files tended to check the values of "
#~ "the DEB_HOST_GNU_CPU or DEB_HOST_GNU_TYPE variables which have been "
#~ "subject to change."
#~ msgstr ""
#~ "Die DEB_HOST_ARCH_CPU- und DEB_HOST_ARCH_OS-Variablen wurden erst in "
#~ "einer relativ neuen Version von B<dpkg-architecture> eingeführt (seit "
#~ "Dpkg 1.13.2), vorher tendierten die I<debian/rules>-Dateien dazu, die "
#~ "Werte der DEB_HOST_GNU_CPU- oder DEB_HOST_GNU_TYPE-Variablen zu "
#~ "überprüfen, die aber Änderungen unterlagen."

#~ msgid ""
#~ "Scan I<file> to find supplementary overrides. Each line contains 3 space "
#~ "separated fields: package name, field name to override, new field value."
#~ msgstr ""
#~ "Durchsuche I<Datei> um zusätzliche Overrides zu finden. Jede Zeile "
#~ "enthält drei durch Leerzeichen getrennte Felder: Paketname, zu "
#~ "überschreibender Feldname und neuer Feldwert."

#~ msgid ""
#~ "B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<dpkg-scansources>(1)."
#~ msgstr ""
#~ "B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<dpkg-scansources>(1)."

#~ msgid "B<deb-override>(5), B<dpkg-scanpackages>(1)."
#~ msgstr "B<deb-override>(5), B<dpkg-scanpackages>(1)."

#~ msgid ""
#~ "B<dpkg-source> will build the source package with the first format that "
#~ "works from this ordered list: the format(s) indicated with the I<--"
#~ "format> command-line option(s), the format indicated in B<debian/source/"
#~ "format>, \"1.0\", \"3.0 (native)\". See below for an extensive "
#~ "description of various source package formats."
#~ msgstr ""
#~ "B<dpkg-source> wird das Quellpaket mit dem ersten Format aus der "
#~ "folgenden geordneten Liste bauen, das funktioniert: den Format(en), die "
#~ "mit den Kommandozeilenoption(en) I<--format> angegeben sind, das in "
#~ "B<debian/source/format> bezeichnete Format, »1.0«, »3.0 (native)«. Die "
#~ "verschiedenen Quellpaketformate sind weiter unten ausführlich beschrieben."

#~ msgid ""
#~ "All options can be specified both on the commandline and in the "
#~ "B<dselect> configuration file I</etc/dpkg/dselect.cfg>. Each line in the "
#~ "configuration file is either an option (exactly the same as the "
#~ "commandline option but without leading dashes) or a comment (if it starts "
#~ "with a B<#>)."
#~ msgstr ""
#~ "Alle Optionen können sowohl auf der Kommandozeile als auch in der "
#~ "Konfigurationsdatei I</etc/dpkg/dselect.cfg> von B<dselect> angegeben "
#~ "werden. Jede Zeile in der Konfigurationsdatei ist entweder eine Option "
#~ "(exakt identisch mit der Kommandozeilenoption, nur ohne einleitende "
#~ "Gedankenstriche) oder ein Kommentar (falls sie mit B<#> beginnt)."

#~ msgid "Forget about uninstalled unavailable packages."
#~ msgstr ""
#~ "Vergiss Informationen über nicht installierte, nicht verfügbare Pakete."

#~ msgid "install-info"
#~ msgstr "install-info"

#~ msgid "install-info - create or update entry in Info dir file"
#~ msgstr ""
#~ "install-info - Erzeuge oder aktualisiere Einträge in der Info-"
#~ "Verzeichnisdatei"

#~ msgid ""
#~ "B<install-info> [B<--version>] [B<--help>] [B<--debug>] [B<--"
#~ "maxwidth=>I<nnn>] [B<--section >I<regexp>B< >I<title>] [B<--"
#~ "infodir=>I<xxx>] [B<--align=>I<nnn>] [B<--quiet>] [B<--menuentry=>I<xxx>] "
#~ "[B<--description=>I<xxx>] [B<--remove>|B<--remove-exactly>] [B<-->] "
#~ "I<filename>"
#~ msgstr ""
#~ "B<install-info> [B<--version>] [B<--help>] [B<--debug>] [B<--"
#~ "maxwidth=>I<nnn>] [B<--section >I<Regexp>B< >I<Titel>] [B<--"
#~ "infodir=>I<xxx>] [B<--align=>I<nnn>] [B<--quiet>] [B<--menuentry=>I<xxx>] "
#~ "[B<--description=>I<xxx>] [B<--remove>|B<--remove-exactly>] [B<-->] "
#~ "I<Dateiname>"

#~ msgid ""
#~ "B<install-info> creates, updates or removes entries in the Info B<dir> "
#~ "file. When updating or creating entries, if no description is specified "
#~ "on the command line or in the Info file, it attempts to guess a "
#~ "description from the contents of the file."
#~ msgstr ""
#~ "B<install-info> erstellt, aktualisiert oder entfernt Einträge in der "
#~ "B<dir>-Datei von Info. Beim Aktualisieren oder Einfügen von Einträgen "
#~ "versucht es die Beschreibung vom Inhalt der Datei zu raten, falls keine "
#~ "Beschreibung auf der Befehlszeile oder in der Info-Datei angegeben wird."

#~ msgid ""
#~ "See the description of the B<--section> option for details of where the "
#~ "entry will be placed and a description of the expected format of the "
#~ "B<dir> file."
#~ msgstr ""
#~ "Siehe die Beschreibung der Option B<--section> zu Details wo der Eintrag "
#~ "platziert wird und einer Beschreibung des erwarteten Formats der Datei "
#~ "B<dir>."

#~ msgid "B<[--] >I<filename>"
#~ msgstr "B<[--] >I<Dateiname>"

#~ msgid ""
#~ "Gives the filename of the Info file whose menu entry is to be created, "
#~ "updated or removed. If B<--remove-exactly> is specified, then I<filename> "
#~ "should be the exact entry name to be removed (e.g. \"emacs-20/emacs\" or "
#~ "\"gcc\"), otherwise the basename of this filename is used as the referent "
#~ "of the menu entry which is created, unless there's an overriding START-"
#~ "INFO-DIR entry inside the given file. This file must therefore exist (or "
#~ "be about to be installed, or have previously existed when removing an "
#~ "entry) in the same directory as the B<dir> file (see the B<--infodir> "
#~ "option)."
#~ msgstr ""
#~ "Gibt den Dateinamen der Info-Datei an, deren Menüeintrag erstellt, "
#~ "aktualisiert oder entfernt werden soll. Falls B<--remove-exactly> "
#~ "angegeben wird, dann sollte I<Dateiname> der exakte Eintragsname sein, "
#~ "der entfernt werden soll (z.B. »emacs-20/emacs« oder »gcc«), andernfalls "
#~ "wird der Basisname des Dateinamens als Referenzierender des zu "
#~ "erstellenden Menüeintrags verwendet, es sei denn, es gibt einen "
#~ "überschreibenden START-INFO-DIR-Eintrag innerhalb der übergebenen Datei. "
#~ "Diese Datei muss daher im gleichen Verzeichnis wie die B<dir>-Datei "
#~ "existieren (oder gerade installiert werden, oder muss früher existiert "
#~ "haben, wenn ein Eintrag entfernt wird) (lesen Sie die Informationen zu "
#~ "der Option B<--infodir>)."

#~ msgid ""
#~ "If I<filename> ends in B<.gz>, it is taken to refer to a file compressed "
#~ "with B<gzip>; if it doesn't exist, but a corresponding I<filename>B<.gz> "
#~ "does, the latter is used instead."
#~ msgstr ""
#~ "Falls I<Dateiname> auf B<.gz> endet, wird er als Verweis auf eine mit "
#~ "B<gzip> komprimierte Datei genommen; falls er nicht existiert, aber eine "
#~ "entsprechende I<Dateiname>B<.gz> existiert, wird stattdessen letztere "
#~ "benutzt."

#~ msgid ""
#~ "When adding or updating entries, the file must exist at the path "
#~ "specified (possibly with an additional B<.gz> extension)."
#~ msgstr ""
#~ "Beim Hinzufügen oder Aktualisieren von Einträgen muss die Datei an dem "
#~ "angegebenen Pfad existieren (möglicherweise mit einer zusätzlichen B<.gz>-"
#~ "Endung)."

#~ msgid "B<--remove>"
#~ msgstr "B<--remove>"

#~ msgid ""
#~ "Specifies that the entry for the file I<filename> is to be removed; by "
#~ "default entries are created or updated."
#~ msgstr ""
#~ "Spezifiziert, dass der Eintrag für die Datei I<Dateiname> entfernt werden "
#~ "soll; standardmäßig werden Einträge erstellt oder aktualisiert."

#~ msgid ""
#~ "If the removal results in a section becoming empty, the section heading "
#~ "(and the spare blank line) will be removed as well, unless this is the "
#~ "last section in the file or B<--keep-old> is specified. See the B<--"
#~ "section> option for details about the expected format of the B<dir> file."
#~ msgstr ""
#~ "Falls die Entfernung dazu führt, dass ein Abschnitt leer wird, wird auch "
#~ "die Abschnittsüberschrift (und die überflüssige Leerzeile) entfernt, "
#~ "falls dies nicht der letzte Abschnitt in der Datei ist oder B<--keep-old> "
#~ "angegeben wird. Lesen Sie hierzu auch über die B<--section>-Option für "
#~ "Details über das erwartete Format der B<dir>-Datei."

#~ msgid ""
#~ "If there are several suitable entries in the B<dir> file, only those in "
#~ "the first matching contiguous group will be removed and the others "
#~ "silently ignored."
#~ msgstr ""
#~ "Falls es mehrere passende Einträge in B<Verz> gibt, werden nur die in der "
#~ "ersten passenden zusammenhängenden Gruppe entfernt, die anderen werden "
#~ "ohne Rückmeldung ignoriert."

#~ msgid ""
#~ "It is not an error for no suitable entry to be found, though B<install-"
#~ "info> will issue a warning unless the B<--quiet> option was specified."
#~ msgstr ""
#~ "Es ist kein Fehler, wenn kein passender Eintrag gefunden wird, jedoch "
#~ "gibt B<install-info> eine Warnung aus. Diese Warnung kann durch Angabe "
#~ "der Option B<--quiet> unterdrückt werden."

#~ msgid ""
#~ "When B<--remove> is specified the B<--maxwidth>, B<--align> and B<--"
#~ "calign> formatting options are silently ignored."
#~ msgstr ""
#~ "Wenn B<--remove> angegeben wird, werden die Formatierungsoptionen B<--"
#~ "maxwidth>, B<--align> und B<--calign> ohne Rückmeldung ignoriert."

#~ msgid "B<--remove-exactly>"
#~ msgstr "B<--remove-exactly>"

#~ msgid ""
#~ "This option is essentially the same as B<--remove> except that "
#~ "I<filename> is taken as the exact entry to be removed, rather than as the "
#~ "name of an existing file. This can be important when trying to remove "
#~ "entries that refer to info files in subdirectories (e.g. \"emacs-20/emacs"
#~ "\") because B<--remove> will operate on the basename of the given "
#~ "I<filename> rather than the exact name given. (i.e.  B<--remove> "
#~ "\"emacs-20/emacs\" would cause B<install-info> to look for \"emacs\", not "
#~ "\"emacs-20/emacs\")."
#~ msgstr ""
#~ "Diese Option ist im Prinzip die gleiche wie B<--remove>, abgesehen davon, "
#~ "dass I<Dateiname> als exakter Eintrag angesehen wird, der entfernt werden "
#~ "soll, statt als Name einer existierenden Datei. Dies kann wichtig sein, "
#~ "wenn Einträge entfernt werden sollen, die sich auf Info-Dateien in "
#~ "Unterverzeichnissen beziehen (z.B. »emacs-20/emacs«), da B<--remove> mit "
#~ "dem Basisnamen (»basename«) des übergebenen I<Dateiname>ns, statt des "
#~ "exakten Namens, arbeiten wird (d.h. B<--remove> »emacs-20/emacs« würde "
#~ "dazu führen, dass B<install-info> nach »emacs« und nicht »emacs-20/emacs« "
#~ "sucht)."

#~ msgid "B<--section >I<regexp title>"
#~ msgstr "B<--section >I<Regexp Titel>"

#~ msgid ""
#~ "Specifies that if a new entry is to be made, it should be placed in a "
#~ "section of the B<dir> file whose title matches I<regexp>.  If no such "
#~ "section exists, one will be created as the second to last section in the "
#~ "file (see below) with title I<title>.  A section is a part of the B<dir> "
#~ "menu delimited by blank lines; the first line is assumed to be the title."
#~ msgstr ""
#~ "Gibt an, dass, falls ein neuer Eintrag erfolgen soll, dieser in einem "
#~ "Abschnitt der Datei B<dir> platziert werden soll, dessen Titel auf "
#~ "I<Regexp> passt. Falls ein solcher Abschnitt nicht existiert, wird er als "
#~ "der vorletzte in der Datei (siehe unten) mit dem Titel I<Titel> erzeugt. "
#~ "Ein Abschnitt ist ein durch Leerzeilen begrenzter Teil des Menüs B<dir>; "
#~ "von der ersten Zeile wird angenommen, dass sie der Titel ist."

#~ msgid ""
#~ "If a new entry is to be created, B<install-info> will attempt to insert "
#~ "it within the section in alphabetic order. If the entries in the section "
#~ "aren't already sorted, the new location within the section will be "
#~ "unpredictable. The order of existing entries will not be changed."
#~ msgstr ""
#~ "Falls ein neuer Eintrag erstellt werden soll, wird B<install-info> "
#~ "versuchen, diesen innerhalb des Abschnitts in alphabetischer Reihenfolge "
#~ "einzufügen. Falls die Einträge noch nicht alphabetisch sortiert sind, "
#~ "kann der Platz innerhalb des Abschnitts nicht vorhergesagt werden. Die "
#~ "Reihenfolge der existierenden Einträge wird nicht geändert."

#~ msgid ""
#~ "If the B<--section> option is not specified, B<install-info> will look "
#~ "for a title in the Info file itself by looking for an entry of the form"
#~ msgstr ""
#~ "Falls die Option B<--section> nicht angegeben ist, wird B<install-info> "
#~ "nach einem Titel in der Info-Datei selbst suchen, indem es nach einem "
#~ "Eintrag der folgenden Form schaut:"

#~ msgid "B<INFO-DIR-SECTION>I< title>"
#~ msgstr "B<INFO-DIR-SECTION>I< Titel>"

#~ msgid ""
#~ "If no section title is found, the default is to append new entries to the "
#~ "end of the file. The last section (even if it only consists of the title "
#~ "line) should always exist to ensure that new sections are created in the "
#~ "right place. The final section should be titled to reflect the fact that "
#~ "Info files with no better specified location are appended to it."
#~ msgstr ""
#~ "Falls kein Abschnittstitel gefunden wird, ist die Voreinstellung, neue "
#~ "Einträge an das Ende der Datei anzuhängen. Der letzte Abschnitt (selbst "
#~ "falls dieser nur aus der Titelzeile besteht) sollte immer existieren, um "
#~ "sicherzustellen, dass neue Abschnitte am richtigen Ort erstellt werden. "
#~ "Der letzte Abschnitt sollte so mit einem Titel benannt werden, dass die "
#~ "Tatsache ausgedrückt wird, dass Info-Dateien ohne besseren Ort hier "
#~ "angehängt werden."

#~ msgid ""
#~ "If there is already an entry for the Info file being installed, it is "
#~ "replaced in situ with the new entry."
#~ msgstr ""
#~ "Falls es bereits einen Eintrag für die zu installierende Infodatei gibt, "
#~ "wird dieser in situ durch den neuen Eintrag ersetzt."

#~ msgid ""
#~ "If a section is specified when removing an entry, the section is ignored "
#~ "and a warning is issued."
#~ msgstr ""
#~ "Falls beim Entfernen eines Eintrags ein Abschnitt angegeben wird, wird "
#~ "der Abschnitt ignoriert und eine Warnung ausgegeben."

#~ msgid ""
#~ "If a section is requested when adding an entry, but the file contains no "
#~ "section headings at all, then B<install-info> will create both the "
#~ "requested section and a Miscellaneous section at the end of the file."
#~ msgstr ""
#~ "Falls beim Hinzufügen eines Eintrags ein Abschnitt angefordert wird, aber "
#~ "die Datei überhaupt keine Abschnittsüberschriften enthält, erzeugt "
#~ "B<install-info> sowohl den angeforderten als auch einen Abschnitt für "
#~ "Verschiedenes am Ende der Datei."

#~ msgid "B<--infodir=>I<infodir>"
#~ msgstr "B<--infodir=>I<Infoverz>"

#~ msgid ""
#~ "Specifies that the B<dir> file is, and the installed copy of the new Info "
#~ "file was, is or will be located in I<infodir>.  The default is B</usr/"
#~ "share/info/>."
#~ msgstr ""
#~ "Gibt an, das die Datei B<dir> sich in I<Infoverz> befindet oder befinden "
#~ "wird, wo auch die installierte Kopie der neuen Infodatei war. Der "
#~ "Standardwert ist B</usr/share/info/>."

#~ msgid "B<--align=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--align=>I<nnn> B< [veraltet]>"

#~ msgid ""
#~ "Specifies that the first line of the description should be indented at "
#~ "least I<nnn> characters; extra spaces will be added as required. If "
#~ "necessary because of the length of the B<dir> menu entry details, it may "
#~ "be offset more. The default is 27."
#~ msgstr ""
#~ "Bestimmt, dass die erste Zeile der Beschreibung mindestens I<nnn>-Zeichen "
#~ "weit eingezogen werden soll; zusätzliche Zeichen werden nach Bedarf "
#~ "hinzugefügt. Falls notwendig aufgrund der Länge des Details des B<dir>-"
#~ "Menüeintrages, könnte der Ausgleich größer sein. Der Standardwert beträgt "
#~ "27."

#~ msgid "B<--calign=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--calign=>I<nnn>B< [veraltet]>"

#~ msgid ""
#~ "Specifies that the second and subsequent lines of the description should "
#~ "be indented at least I<nnn> characters. The default is 29."
#~ msgstr ""
#~ "Gibt an, dass die zweite und folgende Zeilen der Beschreibung mindestens "
#~ "um I<nnn>-Zeichen eingerückt werden sollen. Der Standardwert beträgt 29."

#~ msgid "B<--maxwidth=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--maxwidth=>I<nnn>B< [veraltet]>"

#~ msgid ""
#~ "Specifies that the maximum width for the Info file is I<nnn>.  This is "
#~ "used when word-wrapping the descriptive text.  The default is 79."
#~ msgstr ""
#~ "Spezifiziert, dass die maximale Breite für die Info-Datei I<nnn> beträgt. "
#~ "Dies wird verwendet, falls die Beschreibung umgebrochen werden muss. Der "
#~ "Standardwert is 79."

#~ msgid ""
#~ "Prevents the usual display of the new menu entry just before it is "
#~ "inserted and of the messages announcing the replacement and removal of "
#~ "existing entries and the creation and deletion of sections."
#~ msgstr ""
#~ "Unterdrückt die gewöhnliche Anzeige des neuen Menüeintrags bevor er "
#~ "eingefügt wird und von Nachrichten, die das Ersetzen und Entfernen "
#~ "existierender Einträge und das Erzeugen und Löschen von Abschnitten "
#~ "ankündigen."

#~ msgid "Causes B<install-info> to display its usage information and exit."
#~ msgstr ""
#~ "Bringt B<install-info> dazu, seinen Gebrauchshinweis auszugeben und sich "
#~ "zu beenden."

#~ msgid ""
#~ "Causes B<install-info> to display its version and copyright information "
#~ "and exit."
#~ msgstr ""
#~ "Bringt B<install-info> dazu, seine Version und Copyrightinformationen "
#~ "auszugeben und sich zu beenden."

#~ msgid ""
#~ "Specifies that the description to use after the menu entry in new or "
#~ "updated entries be I<xxx>.  The default is to use the the value specified "
#~ "in the Info file itself; this is found by searching for a section of the "
#~ "form"
#~ msgstr ""
#~ "Gibt die nach dem Menü-Eintrag in neuen oder aktualisierten Einträgen zu "
#~ "benutzende Beschreibung I<xxx> an. Die Voreinstellung ist den in der "
#~ "Infodatei selbst angegebenen Wert zu benutzen; dieser wird gefunden, "
#~ "indem nach einem Abschnitt der folgenden Form gesucht wird:"

#~ msgid "B<START-INFO-DIR-ENTRY>"
#~ msgstr "B<START-INFO-DIR-ENTRY>"

#~ msgid "B<* Auto-PGP: (auto-pgp). PGP under GNU Emacs.>"
#~ msgstr "B<* Auto-PGP: (auto-pgp). PGP under GNU Emacs.>"

#~ msgid "B<END-INFO-DIR-ENTRY>"
#~ msgstr "B<END-INFO-DIR-ENTRY>"

#~ msgid ""
#~ "If the entry found in the Info file itself extends across several lines, "
#~ "each giving a menu entry, the text found in the file is used verbatim. In "
#~ "this case, the alphabetic ordering scheme is turned off, and the entries "
#~ "are inserted at the top of section in question. In this case, the B<--"
#~ "menuentry>, B<--maxwidth>, B<--align>, B<--calign> and B<--menuentry> "
#~ "options are ignored."
#~ msgstr ""
#~ "Falls der Eintrag, der in der Info-Datei selbst gefunden wird, sich über "
#~ "mehrere Zeilen ausdehnt, wobei jede Zeile einen Menüeintrag angibt, wird "
#~ "der in der Datei gefundene Text wörtlich übernommen. In diesem Fall wird "
#~ "das alphabetische Sortierschema abgeschaltet und die Einträge werden am "
#~ "Anfang des in Frage kommenden Abschnitts eingefügt. In diesem Fall werden "
#~ "die Optionen B<--menuentry>, B<--maxwidth>, B<--align>, B<--calign> und "
#~ "B<--menuentry> ignoriert."

#~ msgid ""
#~ "If there is no B<dir> entry in the file, the program will try to find a "
#~ "paragraph early in the file starting B<this file documents>.  It will "
#~ "capitalise the first character of the remainder, and use that."
#~ msgstr ""
#~ "Falls es in der Datei keinen B<dir>-Eintrag gibt, versucht das Programm "
#~ "im Anfangsbereich der Datei einen Absatz zu finden, der mit B<this file "
#~ "documents> beginnt. Es macht aus dem ersten Zeichen des Folgenden einen "
#~ "Großbuchstaben und verwendet dieses."

#~ msgid "It is an error for none of these methods to yield a description."
#~ msgstr ""
#~ "Es ist ein Fehler, wenn keine dieser Methoden eine Beschreibung ergibt."

#~ msgid ""
#~ "If a description argument is given when B<--remove> is specified, it is "
#~ "ignored and a warning is issued."
#~ msgstr ""
#~ "Falls eine Beschreibungs-Argument zusammen mit B<--remove> angegeben ist, "
#~ "wird dieses ignoriert und eine Warnung ausgegeben."

#~ msgid "B<--menuentry=>I<xxx>"
#~ msgstr "B<--menuentry=>I<xxx>"

#~ msgid ""
#~ "Specifies that the entry in the menu should be I<xxx>.  The default is to "
#~ "use the the value specified in the Info file itself.  If this is not "
#~ "present, the basename of the Info file is used (any B<.info >is deleted, "
#~ "and the entry is made mixed case).  See above for details of the format "
#~ "expected for the menu entry in the Info file."
#~ msgstr ""
#~ "Gibt an, dass der Eintrag im Menü I<xxx> sein soll. Die Voreinstellung "
#~ "ist, den in der Info-Datei selbst angegebenen Wert zu benutzen. Falls "
#~ "dieser nicht vorhanden ist, wird der Basisname der Info-Datei benutzt "
#~ "(jegliches B<.info> wird gelöscht, und der Eintrag wird in gemischte Groß-"
#~ "Klein-Schreibung überführt). Für Details über das erwartete Format des "
#~ "Menüeintrags in der Info-Datei siehe oben."

#~ msgid ""
#~ "When removing entries, the value of the B<--menuentry> option must match "
#~ "the actual menu entry field in the menu item to be removed (case not "
#~ "significant). If B<--menuentry> is omitted, no check on the menu entry is "
#~ "done."
#~ msgstr ""
#~ "Beim Entfernen von Einträgen muss die Option B<--menuentry> auf das "
#~ "tatsächliche Menüeintragsfeld im Menüeintrag passen, das entfernt werden "
#~ "soll (Groß-/Kleinschreibung ist nicht relevant). Falls B<--menuentry> "
#~ "nicht angegeben wird, erfolgt keine Prüfung des Menüeintrags."

#~ msgid "B<--keep-old>"
#~ msgstr "B<--keep-old>"

#~ msgid ""
#~ "Inhibits the replacement of existing entries and the removal of empty "
#~ "sections."
#~ msgstr ""
#~ "Verhindert die Ersetzung existierender Einträge und das Entfernen leerer "
#~ "Abschnitte."

#~ msgid ""
#~ "If the file being installed already has an entry in the Info B<dir> file, "
#~ "the old entry will be left alone instead of being replaced; the default "
#~ "is to overwrite any old entry found with the newly generated one."
#~ msgstr ""
#~ "Falls die zu installierende Datei bereits einen Eintrag in der B<dir>-"
#~ "Datei hat, wird der alte Eintrag unverändert gelassen und nicht ersetzt; "
#~ "standardmäßig werden gefundene alte Einträge mit den neu generierten "
#~ "überschrieben."

#~ msgid ""
#~ "If B<--remove> is specified, B<--keep-old> will prevent the removal of "
#~ "the section heading which would otherwise happen if the section is made "
#~ "empty by the removal."
#~ msgstr ""
#~ "Falls B<--remove> angegeben ist, verhindert B<--keep-old> das Entfernen "
#~ "der Abschnittsüberschrift, was andernfalls passieren würde, falls der "
#~ "Abschnitt durch das Entfernen leer werden würde."

#~ msgid ""
#~ "Enables test mode, which inhibits the update of the Info B<dir> file."
#~ msgstr ""
#~ "Aktiviert den Testmodus, in dem das Aktualisieren der Info B<dir>-Datei "
#~ "verhindert wird."

#~ msgid ""
#~ "Enables debugging mode, in which the results of some internal processing "
#~ "steps are shown."
#~ msgstr ""
#~ "Aktiviert den Fehlersuche-Modus, bei dem die Ergebnisse einiger interner "
#~ "Bearbeitungsschritte angezeigt werden."

#~ msgid "B<emacs>(1), B<info>(1), B<gzip(1).>"
#~ msgstr "B<emacs>(1), B<info>(1), B<gzip(1).>"

#~ msgid "Copyright \\(co 1994 Ian Jackson"
#~ msgstr "Copyright \\(co 1994 Ian Jackson"

#~ msgid "822-date"
#~ msgstr "822-date"

#~ msgid "2007-01-24"
#~ msgstr "2007-01-24"

#~ msgid "822-date - Print date and time in RFC2822 format"
#~ msgstr "822-date - Datum und Uhrzeit im RFC2822-Format ausgeben"

#~ msgid "B<822-date>"
#~ msgstr "B<822-date>"

#~ msgid ""
#~ "B<822-date> displays the current date and time in the format described in "
#~ "RFC2822.  It does so by simply calling B<date>(1)  with the B<-R> option."
#~ msgstr ""
#~ "B<822-date> zeigt das aktuelle Datum und Uhrzeit an, wie es im RFC2822 "
#~ "beschriebenen ist. Dies erfolgt einfach durch Aufruf von B<date>(1) mit "
#~ "der B<-R>-Option."

#~ msgid ""
#~ "B<Using 822-date is deprecated since> B<date>(1)  provides the same "
#~ "functionality when called with the B<-R>."
#~ msgstr ""
#~ "B<Der Einsatz von 822-date wird nicht mehr empfohlen, da> B<date>(1) die "
#~ "gleiche Funktionalität bietet, wenn es mit B<-R> aufgerufen wird."

#~ msgid "B<822-date> does not take any arguments or options."
#~ msgstr "B<822-date> nimmt keine Argumente oder Optionen an."

#~ msgid "This facility really ought to be part of B<date>(1)."
#~ msgstr "Diese Anlage sollte wirklich ein Teil von B<date>(1) sein."

#~ msgid "I<Internet Message Format> (RFC2822), B<date>(1)."
#~ msgstr "I<Internet Message Format> (RFC2822), B<date>(1)."

#~ msgid ""
#~ "B<822-date> is a really simple wrapper around B<date>(1).  By its "
#~ "simplicity, the code is probably not copyrightable and should be "
#~ "considered to be in the public domain. This man page was written by Frank "
#~ "Lichtenheld based on an earlier version by Ian Jackson and was also put "
#~ "in the public domain."
#~ msgstr ""
#~ "B<822-date> ist tatsächlich eine wirklich einfache Aufrufhülle um B<date>"
#~ "(1). Aufgrund seiner Einfachheit kann der Code wahrscheinlich nicht "
#~ "urheberrechtlich geschützt werden und sollte als Teil des »Public Domain« "
#~ "betrachtet werden. Diese Handbuchseite wurde von Frank Lichtenheld "
#~ "geschrieben und basiert auf einer früheren Version von Ian Jackson die "
#~ "auch im Public Domain liegt."

#~ msgid "Do not clean the source tree (implies B<-b>)."
#~ msgstr "Den Quellbaum nicht säubern (impliziert B<-b>)."

#~ msgid "Vendor identification"
#~ msgstr "Identifzierung des Lieferanten"

#~ msgid ""
#~ "The variable B<DEB_VENDOR> will be set to the name of the current vendor "
#~ "if I</etc/dpkg/origins/default> exists and can be used to look up the "
#~ "vendor name. If the variable already exists, and contains the name of an "
#~ "existing vendor in I</etc/dpkg/origins>, it will be kept; otherwise the "
#~ "variable is unset."
#~ msgstr ""
#~ "Die Variable B<DEB_VENDOR> wird auf den Namen des derzeitigen Lieferanten "
#~ "(englisch: »vendor«) gesetzt, falls I</etc/dpkg/origins/default> "
#~ "existiert und zum Nachschlagen des Lieferanten genutzt werden kann. Falls "
#~ "die Variable bereits existiert und den Namen eines existierenden "
#~ "Lieferanten in I</etc/dpkg/origins> enthält, wird diese beibehalten; "
#~ "andernfalls wird die Variable zurückgesetzt (d.h. sie ist im Bauprozess "
#~ "nicht gesetzt)."

#~ msgid ""
#~ "B<Deprecated>. Set an output substitution variable.  See B<deb-substvars>"
#~ "(5) for a discussion of output substitution."
#~ msgstr ""
#~ "B<Veraltet>. Setzt eine Ausgabesubstitutionsvariable. Lesen Sie B<deb-"
#~ "substvars>(5) für eine Besprechung der Ausgabesubstitution."

#~ msgid "cleanup-info"
#~ msgstr "cleanup-info"

#~ msgid ""
#~ "cleanup-info - clean up the mess that bogus install-info may have done"
#~ msgstr "cleanup-info - räumt den Müll von schwindelhaften install-info auf"

#~ msgid "B<cleanup-info> [I<options>] [B<-->] [I<dirname>]"
#~ msgstr "B<cleanup-info> [I<Optionen>] [B<-->] [I<Verzeichnisname>]"

#~ msgid ""
#~ "B<cleanup-info> is a Perl script that tries to clean up the mess that "
#~ "bogus B<install-info>(8)  may have done.  It gathers all sections with "
#~ "the same heading into a single one.  It tries to be smart about cases and "
#~ "trailing colon/spaces."
#~ msgstr ""
#~ "B<cleanup-info> ist ein Perl-Skript das versucht, den Müll aufzuräumen, "
#~ "den ein schwindelhaftes B<install-info>(8) hinterlassen haben könnte. Es "
#~ "sammelt alle Bereiche mit der gleichen Überschrift in einen einzelnen "
#~ "zusammen. Es versucht, pfiffig über Groß-/Kleinschreibung und angehängte "
#~ "Doppelpunkte/Leerzeichen zu sein."

#~ msgid ""
#~ "Other clean-ups include removing of empty sections, and squeezing the "
#~ "blank lines (in entries part only)."
#~ msgstr ""
#~ "Weitere Aufräumarbeiten beinhalten die Entfernung leerer Bereiche und das "
#~ "Zusammenquetschen leerer Zeilen (nur im Bereich der Einträge)."

#~ msgid ""
#~ "Order of sections is preserved (the first encountered section counts).  "
#~ "Order of entries within a section is preserved."
#~ msgstr ""
#~ "Die Reihenfolge der Bereiche wird erhalten (der erste aufgetretene "
#~ "Bereich zählt). Die Reihenfolge der Einträge innerhalb eines Bereichs "
#~ "wird erhalten."

#~ msgid ""
#~ "Please be B<extremely careful> when using this utility - it might not be "
#~ "100% safe. cleanup-info tries to be careful with your info dir file, but "
#~ "only until it writes it. You should back the file up prior to using this "
#~ "script."
#~ msgstr ""
#~ "Bitte seien Sie B<extrem vorsichtig> bei der Verwendung dieses "
#~ "Hilfswerkzeuges - es könnte nicht 100 % sicher sein. cleanup-info "
#~ "versucht vorsichtig mit Ihrer Info-Dir-Datei zu sein, aber nur bis es sie "
#~ "schreibt. Sie sollten eine Sicherheitskopie anlegen, bevor sie dies "
#~ "Skript verwenden."

#~ msgid "B<--unsafe>"
#~ msgstr "B<--unsafe>"

#~ msgid "Set some additional possibly useful options."
#~ msgstr "Stelle einige zusätzliche möglicherweise nützliche Optionen ein."

#~ msgid ""
#~ "B<Warning: the `--unsafe' option may garble an otherwise correct file!>"
#~ msgstr ""
#~ "B<Warnung: die »--unsafe«-Option kann eine ansonsten korrekte Datei "
#~ "verstümmeln!>"

#~ msgid "I</usr/info/dir> or I<E<lt>dirnameE<gt>/dir>"
#~ msgstr "I</usr/info/dir> oder I<E<lt>VerzeichnisnameE<gt>/dir>"

#~ msgid ""
#~ "The info directory file. The lock file is named the same, with \".lock\" "
#~ "suffix."
#~ msgstr ""
#~ "Die info-Verzeichnisdatei. Die Lock-Datei heißt genauso, mit dem ».lock«-"
#~ "Suffix."

#~ msgid "Probably many."
#~ msgstr "Wahrscheinlich viele."

#~ msgid "B<install-info>(8), B<info>(1)."
#~ msgstr "B<install-info>(8), B<info>(1)."

#~ msgid "Copyright \\(co 1996 Kim-Minh Kaplan"
#~ msgstr "Copyright \\(co 1996 Kim-Minh Kaplan"

#~ msgid ""
#~ "The third, last required member is named B<data.tar.gz>.  It contains the "
#~ "filesystem archive as a gzipped tar archive."
#~ msgstr ""
#~ "Das dritte, letzte benötigte Mitglied heißt B<data.tar.gz>. Es enthält "
#~ "das Dateisystemarchiv als gezipptes Tar-Archiv."

#~ msgid "2008-01-30"
#~ msgstr "2008-01-30"

#~ msgid "generic name"
#~ msgstr "generischer Name"

#~ msgid "symlink"
#~ msgstr "Symlink"

#~ msgid ""
#~ "Without any further qualification, this means a symbolic link in the "
#~ "alternatives directory: one which the system administrator is expected to "
#~ "adjust."
#~ msgstr ""
#~ "Ohne weitere Angabe bedeutet dies ein symbolischer Link im Alternativ-"
#~ "Verzeichnis: einer derer, die vom Systemadministrator angepasst werden "
#~ "sollen."

#~ msgid "Call B<--config> on all alternatives."
#~ msgstr "Rufe B<--config> für alle Alternativen auf."

#~ msgid "B<Error:> E<lt>error detailsE<gt>"
#~ msgstr "B<Error:> E<lt>FehlerdetailsE<gt>"

#~ msgid "mailto:joeyh@debian.org"
#~ msgstr "mailto:joeyh@debian.org"

#~ msgid "E<lt>joeyh@debian.orgE<gt>"
#~ msgstr "E<lt>joeyh@debian.orgE<gt>"

#~ msgid "mailto:wakkerma@debian.org"
#~ msgstr "mailto:wakkerma@debian.org"

#~ msgid "E<lt>wakkerma@debian.orgE<gt>"
#~ msgstr "E<lt>wakkerma@debian.orgE<gt>"

#~ msgid "2007-07-18"
#~ msgstr "2007-07-18"

#~ msgid "2007-10-06"
#~ msgstr "2007-10-06"

#~ msgid "2008-03-14"
#~ msgstr "2008-03-14"

#~ msgid ""
#~ "B<dpkg-buildpackage> is a control script which can be used to help "
#~ "automate the building of a package."
#~ msgstr ""
#~ "B<dpkg-buildpackage> ist ein Steuerskript, das zu Automatisierung des "
#~ "Bauens von Paketen verwendet werden kann."

#~ msgid ""
#~ "The B<-s>I<x> options control whether the original source archive is "
#~ "included in the upload if any source is being generated (i.e.  B<-b>, B<-"
#~ "B> or B<-A> haven't been used)."
#~ msgstr ""
#~ "Die B<-s>I<x>-Optionen steuern, ob das Original-Quellarchiv dem Upload "
#~ "hinzugefügt wird, falls irgendwelche Quellen erzeugt werden (d.h. B<-b>, "
#~ "B<-B> oder B<-A> nicht verwendet wurden)."

#~ msgid ""
#~ "By default, or if specified, the original source will be included if the "
#~ "version number ends in B<-0> or B<-1>, i.e. if the Debian revision part "
#~ "of the version number is B<0> or B<1>."
#~ msgstr ""
#~ "Standardmäßig, oder falls angegeben wird, werden die Originalquellen "
#~ "hinzugefügt, falls die Versionsnummer auf B<-0> oder B<-1> endet, d.h. "
#~ "der Debian-Revisionsanteil der Versionsnummer B<0> oder B<1> ist."

#~ msgid ""
#~ "Use changelog information from all versions strictly later than "
#~ "I<version>."
#~ msgstr ""
#~ "Verwende »changelog«-Informationen von allen Versionen, die strikt neuer "
#~ "als I<Version> sind."

#~ msgid "B<-E>"
#~ msgstr "B<-E>"

#~ msgid ""
#~ "Turn certain warnings into errors. Only B<dpkg-source> uses this, but "
#~ "B<dpkg-buildpackage> recognizes it, and passes it thru to B<dpkg-source>."
#~ msgstr ""
#~ "Verwandle bestimme Warnungen in Fehler. Nur B<dpkg-source> verwendet "
#~ "dies, aber B<dpkg-buildpackage> erkennt es und leitet es an B<dpkg-"
#~ "source> weiter."

#~ msgid "B<-W>"
#~ msgstr "B<-W>"

#~ msgid ""
#~ "Negates a previously set B<-E>.  Only B<dpkg-source> uses this, but "
#~ "B<dpkg-buildpackage> recognizes it, and passes it thru to B<dpkg-source>."
#~ msgstr ""
#~ "Verneint ein vorher gesetzte B<-E>. Nur B<dpkg-source> verwendet dies, "
#~ "aber B<dpkg-buildpackage> erkennt es und leitet es an B<dpkg-source> "
#~ "weiter."

#~ msgid "2007-09-08"
#~ msgstr "2007-09-08"

#~ msgid ""
#~ "There is no authentication on B<.deb> files; in fact, there isn't even a "
#~ "straightforward checksum."
#~ msgstr ""
#~ "Es gibt keine Authentifizierung von B<.deb>-Dateien; in der Tat gibt es "
#~ "sogar noch nicht mal eine direkte Prüfsumme."

#~ msgid "2008-03-02"
#~ msgstr "2008-03-02"

#~ msgid "2008-01-13"
#~ msgstr "2008-01-13"

#~ msgid "2008-03-25"
#~ msgstr "2008-03-25"

#~ msgid "2008-03-16"
#~ msgstr "2008-03-16"

#~ msgid "2008-04-08"
#~ msgstr "2008-04-08"

#~ msgid ""
#~ "A simpler one-shot command to retrieve and update the I<available> file "
#~ "is B<dselect update>."
#~ msgstr ""
#~ "Ein einfacherer Befehl, um die I<available>-Datei in einem Aufruf "
#~ "abzurufen und zu aktualisieren ist B<dselect update>."

#~ msgid ""
#~ "Display details about I<package-name>, as found in I</var/lib/dpkg/"
#~ "available>."
#~ msgstr ""
#~ "Zeige Details über I<Paketname> an, wie sie in I</var/lib/dpkg/available> "
#~ "enthalten sind."

#~ msgid ""
#~ "This is a variant of the 2.0 format. The differences concern the "
#~ "management of the patches. This format uses an explicit list of patches "
#~ "contained in B<debian/patches/debian.series> or B<debian/patches/series>."
#~ msgstr ""
#~ "Dies ist eine Variante des 2.0-Formats. Die Unterschiede betreffen die "
#~ "Verwaltung der Patches. Dieses Format verwendet eine explizite Liste von "
#~ "Patches, die in B<debian/patches/debian.series> oder B<debian/patches/"
#~ "series> enthalten sind."

#~ msgid "Unpacking of tarballs is done exactly like in the 2.0 format."
#~ msgstr "Das Entpacken des Tarballs erfolgt exakt wie im 2.0-Format."

#~ msgid ""
#~ "The B<.pc> directory used by quilt is ignored during generation of the "
#~ "automatic patch."
#~ msgstr ""
#~ "Das von Quilt verwandte B<.pc>-Verzeichnis wird während der Erstellung "
#~ "des automatischen Patches ignoriert."

#~ msgid "It supports all the options of the 2.0 format."
#~ msgstr "Es unterstützt alle Optionen des 2.0-Formats."

#~ msgid ""
#~ "Send package status info to file descriptor I<E<lt>nE<gt>>. This can be "
#~ "given multiple times. Status updates are of the form `status: "
#~ "E<lt>pkgE<gt>: E<lt>pkg stateE<gt>'.  Errors are reported as `status: "
#~ "E<lt>pkgE<gt>: error: extend-error-message'.  Configuration file "
#~ "conflicts are reported as `status: conffile-prompt: conffile : 'current-"
#~ "conffile' 'new-conffile' useredited distedited'."
#~ msgstr ""
#~ "Sende Paketstatusinformationen an den Dateideskriptor I<E<lt>nE<gt>>. "
#~ "Diese Option kann mehrfach angegeben werden. Statusaktualisierungen sind "
#~ "von der Form: »status: E<lt>PktE<gt>: E<lt>Pkt StatusE<gt>«. Fehler "
#~ "werden als »status: E<lt>PktE<gt>: error: Ausführliche-Fehlermeldung« "
#~ "berichtet. Konfigurationsdateikonflikte werden als »status: Conffile-"
#~ "Eingabeaufforderung: conffile : »aktuelle-conffile« »neue-conffile« "
#~ "useredited distedited« berichtet."

#~ msgid "2008-01-03"
#~ msgstr "2008-01-03"

#~ msgid ""
#~ "Furthermore, in some cases, this will lead to a non-versioned dependency "
#~ "on the library that could have been avoided if the binary was only linked "
#~ "against libraries that it really uses. The exception to this rule is when "
#~ "several binaries are linked against the same set of libraries but each "
#~ "binary only uses a subset of those. You will have warnings on individual "
#~ "binaries, but the set of libraries needed at the package level is the "
#~ "same whether you fix the binaries or not."
#~ msgstr ""
#~ "Desweiteren führt dies in einigen Fällen zu einer unversionierten "
#~ "Abhängigkeit auf diese Bibliothek, die vermieden werden könnte, falls das "
#~ "Programm nur gegen Bibliotheken gelinkt wäre, die es wirklich verwendet. "
#~ "Die Ausnahme dieser Regel liegt dann vor, wenn mehrere Programme gegen "
#~ "den gleichen Satz an Bibliotheken gelinkt sind, aber jedes Programm nur "
#~ "eine Teilmenge davon verwendet. Sie werden für die einzelnen Programme "
#~ "individuelle Warnungen erhalten, aber der benötigte Satz an Bibliotheken "
#~ "ist auf der Paketebene identisch, ob sie die Programme korrigieren oder "
#~ "nicht."

#~ msgid "B<-b> I<directory> [I<orig-directory>|I<orig-targz>|\\(aq\\(aq]"
#~ msgstr "B<-b> I<Verzeichnis> [I<Orig-Verzeichnis>|I<Orig-targz>|\\(aq\\(aq]"

#~ msgid "This option turns certain warnings into errors."
#~ msgstr "Diese Option ändert bestimmte Warnungen in Fehler."

#~ msgid "This option negates a previously set B<-E>."
#~ msgstr "Diese Option verneint ein vorher gesetztes B<-E>."

#~ msgid ""
#~ "The binary package entries in the B<debian/files> file will be passed "
#~ "through variable substitution twice. This should not matter, since B<$>, "
#~ "B<{> and B<}> are not legal in package names or version numbers."
#~ msgstr ""
#~ "Die Binärpaketeinträge in der Datei B<debian/files> durchlaufen zweimal "
#~ "die Variablensubstitution. Dies sollte egal sein, da B<$>, B<{> and B<}> "
#~ "in Paketnamen oder Versionsnummern keine gültigen Zeichen sind."

#~ msgid "shlibs"
#~ msgstr "shlibs"

#~ msgid "FIXME not used in the source!?"
#~ msgstr "FIXME wird in den Quellen nicht verwendet!?"

#~ msgid ""
#~ "Don't actually do anything, just say what would be done.  This option is "
#~ "not yet implemented."
#~ msgstr ""
#~ "Führe nichts durch, sondern teile nur mit, was getan würde. Diese Option "
#~ "ist noch nicht implementiert."

#~ msgid ""
#~ "Shared library information generated by the current build process that "
#~ "also invoked B<dpkg-shlibdeps>."
#~ msgstr ""
#~ "Laufzeitbibliotheksinformationen, die vom aktuellen Bauprozess erstellt "
#~ "werden, der auch B<dpkg-shlibdeps> aufruft."

#~ msgid ""
#~ "See I</usr/share/doc/dpkg/THANKS> for the list of people who have\n"
#~ "contributed to B<dpkg>.\n"
#~ msgstr ""
#~ "Lesen Sie I</usr/share/doc/dpkg/THANKS> für die Liste der Leute, die zu\n"
#~ "B<dpkg> beigetragen haben.\n"

#~ msgid ""
#~ "This is very helpful in cutting out extraneous files that get included in "
#~ "the .diff.gz, (eg: \"debian/BUGS_TODO/*\" or \"debian/RCS/*,v\"). For "
#~ "instance, if you maintain a package that you track via remote CVS, where "
#~ "you don't have access permissions for committing the debian control files "
#~ "and making tags for I<cvs-buildpackage(1)>, it is necessary to perform an "
#~ "extra checkout/update into a directory you keep pristine, to generate "
#~ "the .orig.tar.gz from. That directory will have CVS/Entries files in it "
#~ "that will contain timestamps that differ from the ones in your working "
#~ "directory, thus causing them to be unnecessarily included in every .diff."
#~ "gz, unless you use the B<-i> switch."
#~ msgstr ""
#~ "Dies ist sehr hilfreich, um zusätzliche Dateien herauszuschneiden, die in "
#~ "den .diff.gz aufgenommen werden (z.B. »debian/BUGS_TODO/*« oder »debian/"
#~ "RCS/*,v«). Falls Sie zum Beispiel ein Paket betreuen, das Sie über "
#~ "entferntes CVS nachverfolgen, in dem Sie keine Berechtigung haben, die "
#~ "Debian Steuer-Dateien einzureichen und Markierungen für I<cvs-buildpackage"
#~ "(1)> vorzunehmen ist es notwendig, ein zusätzliches Checkout/Update in "
#~ "ein Verzeichnis vorzunehmen, das sie ursprünglich halten. Dieses "
#~ "Verzeichnis wird CVS/Entries-Dateien beinhalten, die bestimmte "
#~ "Zeitstempel enthalten, die sich vom aktuellen Verzeichnis unterscheiden "
#~ "und daher dazu führen, dass diese unnötigerweise in jedem .diff.gz "
#~ "erscheinen, falls Sie nicht den Schalter B<-i> verwenden."

#~ msgid ""
#~ "This is free software; see the GNU General Public Licence version 2 or "
#~ "later for copying conditions. There is NO warranty."
#~ msgstr ""
#~ "Dies ist Freie Software; lesen Sie die GNU General Public License Version "
#~ "2 oder neuer für die Kopierbedingungen. Es gibt KEINE Haftung."

#~ msgid "The utilities and this manpage were written by Ian Jackson."
#~ msgstr ""
#~ "Diese Hilfsprogramme und diese Handbuchseite wurden von Ian Jackson "
#~ "geschrieben."

#~ msgid "B<--root=>I<dir> | B<--admindir=>I<dir> | B<--instdir=>I<dir>"
#~ msgstr "B<--root=>I<Verz> | B<--admindir=>I<Verz> | B<--instdir=>I<Verz>"

#~ msgid ""
#~ "These options control whether the original source archive is included in "
#~ "the upload generated by B<dpkg-buildpackage> if any source is being "
#~ "generated (i.e., B<-b> or B<-B> haven't been used)."
#~ msgstr ""
#~ "Diese Optionen steuern, ob das Original-Quellarchiv dem durch B<dpkg-"
#~ "buildpackage> generierten Upload hinzugefügt wird, falls die Quellen "
#~ "erzeugt werden (d.h. B<-b> or B<-B> nicht verwendet wurden)."

#~ msgid ""
#~ "Include the original source if the version number ends in B<-0> or B<-1>, "
#~ "i.e. if the Debian revision part of the version number is B<0> or B<1>.  "
#~ "B<This is the default.>"
#~ msgstr ""
#~ "Nehme die Originalquellen hinzu, falls die Versionsnummer auf B<-0> oder "
#~ "B<-1> endet, d.h. falls der Debian-Revisionsanteil der Versionsnummer "
#~ "B<0> oder B<1> lautet. B<Dies ist die Standardeinstellung.>"

#~ msgid ""
#~ "B<dpkg-deb> and this manpage were written by Ian Jackson.  They are "
#~ "Copyright (C) 1995-1996 by him and released under the GNU General Public "
#~ "Licence version 2 or later; there is NO WARRANTY. See I</usr/share/doc/"
#~ "dpkg/copyright> and I</usr/share/common-licenses/GPL> for details."
#~ msgstr ""
#~ "B<dpkg-deb> und diese Handbuchseite wurden von Ian Jackson geschrieben. "
#~ "Sie unterliegen dem Copyright (C) 1995-1996 von ihm und sind unter der "
#~ "GNU General Public License Version 2 oder neuer veröffentlicht; es gibt "
#~ "KEINE HAFTUNG. Lesen Sie I</usr/share/doc/dpkg/copyright> und I</usr/"
#~ "share/common-licenses/GPL> für Details."

#~ msgid ""
#~ "B<-sa> forces the inclusion of the original source; B<-sd> forces its "
#~ "exclusion and includes only the diff."
#~ msgstr ""
#~ "B<-sa> erzwingt die Hinzunahme der Originalquellen; B<-sd> erzwingt deren "
#~ "Fortlassung und enthält nur den Diff."

#~ msgid ""
#~ "Copyright 1995,1996 Erick Branderhorst.  B<dpkg-name> is free software; "
#~ "see the GNU General Public Licence version 2 or later for copying "
#~ "conditions. There is B<no> warranty."
#~ msgstr ""
#~ "Copyright 1995,1996 Erick Branderhorst. B<dpkg-name> ist Freie Software; "
#~ "lesen Sie die GNU General Public License Version 2 oder neuer für die "
#~ "Kopierbedingungen. Es gibt B<keine> Haftung."

#~ msgid ""
#~ "B<dpkg-split> and this manpage were written by Ian Jackson. They are "
#~ "Copyright (C) 1995-1996 by him and released under the GNU General Public "
#~ "Licence version 2 or later; there is NO WARRANTY. See I</usr/share/doc/"
#~ "dpkg/copyright> and I</usr/share/common-licenses/GPL> for details."
#~ msgstr ""
#~ "B<dpkg-split> und diese Handbuchseite wurden von Ian Jackson geschrieben. "
#~ "Sie unterliegen dem Copyright (C) 1995-1996 von ihm und sind unter der "
#~ "GNU General Public License Version 2 oder neuer veröffentlicht; es gibt "
#~ "KEINE HAFTUNG. Lesen Sie I</usr/share/doc/dpkg/copyright> und I</usr/"
#~ "share/common-licenses/GPL> für Details."

#~ msgid ""
#~ "Copyright 1994, Ian Jackson.  B<install-info> is free software; see the "
#~ "GNU General Public Licence version 2 or later for copying conditions. "
#~ "There is I<no> warranty."
#~ msgstr ""
#~ "Copyright 1994, Ian Jackson. B<install-info> ist Freie Software; lesen "
#~ "Sie die GNU General Public License Version 2 oder neuer für die "
#~ "Kopierbedingungen. Es gibt I<keine> Haftung."

#~ msgid ""
#~ "Debian update-alternatives is copyright 1995 Ian Jackson. It is free "
#~ "software; see the GNU General Public Licence version 2 or later for "
#~ "copying conditions. There is NO warranty."
#~ msgstr ""
#~ "Debian update-alternatives unterliegt dem Copyright 1995 von Ian Jackson. "
#~ "Es ist Freie Software; lesen Sie die GNU General Public License Version 2 "
#~ "oder neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG."

#~ msgid ""
#~ "This manual page is copyright 1997/98 Charles Briscoe-Smith.  This is "
#~ "free documentation; see the GNU General Public Licence version 2 or later "
#~ "for copying conditions. There is NO WARRANTY."
#~ msgstr ""
#~ "Diese Handbuchseite unterliegt dem Copyright 1997/98 von Charles Briscoe-"
#~ "Smith. Dies ist Freie Dokumentation; lesen Sie die GNU General Public "
#~ "License Version 2 oder neuer für die Kopierbedingungen. Es gibt KEINE "
#~ "HAFTUNG."

#~ msgid ""
#~ "You can find the GNU GPL in /usr/share/common-licenses/GPL on any Debian "
#~ "system."
#~ msgstr ""
#~ "Sie können die GNU GPL auf Debian-Systemen unter /usr/share/common-"
#~ "licenses/GPL finden."

#~ msgid ""
#~ "dpkg-scansources - search for '.dsc' files and build the 'Sources' index"
#~ msgstr ""
#~ "dpkg-scansources - suche nach ».dsc«-Dateien und baue den »Sources«-Index"

#~ msgid "I<Standard for the Format of ARPA Internet Text Messages> (RFC822),"
#~ msgstr "I<Standard for the Format of ARPA Internet Text Messages> (RFC822),"

#~ msgid ""
#~ "I<Requirements for Internet Hosts -- Application and Support> (RFC1123) "
#~ "section 5.2.14,"
#~ msgstr ""
#~ "I<Requirements for Internet Hosts -- Application and Support> (RFC1123) "
#~ "Abschnitt 5.2.14,"

#~ msgid ""
#~ "B<822-date> and this manpage were written by Ian Jackson. They are hereby "
#~ "placed by him into the public domain."
#~ msgstr ""
#~ "B<822-date> und diese Handbuchseite wurden von Ian Jackson geschrieben. "
#~ "Sie werden hiermit von ihm lizenzfrei zur Verfügung gestellt."

#~ msgid ""
#~ "B<cleanup-info> [B<--help>] [B<--unsafe>] [B<--version>] [B<-->] "
#~ "[I<E<lt>dirnameE<gt>>]"
#~ msgstr ""
#~ "B<cleanup-info> [B<--help>] [B<--unsafe>] [B<--version>] [B<-->] "
#~ "[I<E<lt>Verzeichnisname<gt>>]"

#~ msgid "Output the help screen and exit successfully."
#~ msgstr "Gebe den Hilfebildschirm aus und beende sich erfolgreich."

#~ msgid "Output version and exit successfully."
#~ msgstr "Gebe die Version aus und beende sich erfolgreich"

#~ msgid "Print a usage message."
#~ msgstr "Gebe einen Bedienungshinweis aus.\n"

#~ msgid "Print program version."
#~ msgstr "Zeige die Programm-Version."

#~ msgid "B<dpkg-deb> B<-W>|B<--show> [B<--showformat>=I<format>] I<archive>"
#~ msgstr "B<dpkg-deb> B<-W>|B<--show> [B<--showformat>=I<Format>] I<Archiv>"

#~ msgid ""
#~ "B<dpkg-deb> B<-x>|B<--extract>|B<-X>|B<--vextract> I<archive directory>"
#~ msgstr ""
#~ "B<dpkg-deb> B<-x>|B<--extract>|B<-X>|B<--vextract> I<Archiv-Verzeichnis>"

#~ msgid ""
#~ "Prints B<dpkg-deb>'s usage message, giving a summary of its options and "
#~ "their uses."
#~ msgstr ""
#~ "Gibt einen Bedienungshinweis, mit einer Zusammenfassung seiner Optionen "
#~ "und deren Verwendungen, aus."

#~ msgid "Prints B<dpkg-deb>'s version number."
#~ msgstr "Gibt B<dpkg-deb>'s Versionsnummer aus."

#~ msgid "B<dpkg-divert> [I<options>] B<--remove> I<E<lt>fileE<gt>>"
#~ msgstr "B<dpkg-divert> [I<Optionen>] B<--remove> I<E<lt>DateiE<gt>>"

#~ msgid "B<dpkg-divert> [I<options>] B<--list> I<E<lt>glob-patternE<gt>>"
#~ msgstr "B<dpkg-divert> [I<Optionen>] B<--list> I<E<lt>Glob-MusterE<gt>>"

#~ msgid "B<dpkg-divert> [I<options>] B<--truename> I<E<lt>fileE<gt>>"
#~ msgstr "B<dpkg-divert> [I<Optionen>] B<--truename> I<E<lt>DateiE<gt>>"

#~ msgid ""
#~ "B<dpkg-divert> is the utility used to set up and update the list of "
#~ "diversions. It functions in three basic modes - adding, removing, and "
#~ "listing diversions.  The options are B<--add>, B<--remove>, and B<--"
#~ "list>, respectively. Additionally, it can print out the real name for a "
#~ "diverted file with B<--truename>. Other options (listed below) may also "
#~ "be specified."
#~ msgstr ""
#~ "B<dpkg-divert> ist das Hilfswerkzeug, das dazu verwendet wird, die Liste "
#~ "der Umleitungen zu erstellen und zu aktualisieren. Es funktioniert in "
#~ "drei grundlegenden Modi: Hinzufügen, Entfernen und Auflisten von "
#~ "Umleitungen. Die Optionen sind respektive B<--add>, B<--remove> und B<--"
#~ "list>. Zusätzlich kann es den echten Namen für eine umgeleitete Datei mit "
#~ "B<--truename> ausgeben. Andere Optionen (unten aufgeführt) können auch "
#~ "angegeben werden."

#~ msgid "Output short usage instructions, and exit successfully."
#~ msgstr "Gebe kurze Bedienungsanweisungen aus und beende sich erfolgreich."

#~ msgid "Output program name and version and exit successfully."
#~ msgstr "Gibt Programmnamen und Version aus und beende sich erfolgreich"

#~ msgid ""
#~ "B<dpkg-name> [B<-a>|B<--no-architecture>] [B<-o>|B<--overwrite>] [B<-s>|"
#~ "B<--subdir> [I<dir>]] [B<-c>|B<--create-dir>] [B<-h>|B<--help>] [B<-v>|"
#~ "B<--version>] [B<-l>|B<--license>] [B<-k>|B<--symlink>] [B<-->] [I<files>]"
#~ msgstr ""
#~ "B<dpkg-name> [B<-a>|B<--no-architecture>] [B<-o>|B<--overwrite>] [B<-s>|"
#~ "B<--subdir> [I<Verzeichnis>]] [B<-c>|B<--create-dir>] [B<-h>|B<--help>] "
#~ "[B<-v>|B<--version>] [B<-l>|B<--license>] [B<-k>|B<--symlink>] [B<-->] "
#~ "[I<Dateien>]"

#~ msgid "Print a usage message and exit successfully."
#~ msgstr "Gebe einen Bedienungshinweis aus und beende sich erfolgreich."

#~ msgid ""
#~ "Print copyright information and (a reference to GNU) license information "
#~ "and exit successfully."
#~ msgstr ""
#~ "Gebe Copyright-Informationen aus und (eine Referenz auf GNU-)"
#~ "Lizenzinformationen und beende sich erfolgreich."

#~ msgid "Display licence and copyright information."
#~ msgstr "Gebe Lizenz- und Copyright-Informationen aus."

#~ msgid "Display version information."
#~ msgstr "Gibt Versionsinformationen aus."

#~ msgid ""
#~ "B<dpkg-scanpackages> [B<-u>] [B<-a> I<E<lt>archE<gt>> ] [B<-m>] "
#~ "I<binarydir> I<overridefile> [I<pathprefix>] B<E<gt>> I<Packages>"
#~ msgstr ""
#~ "B<dpkg-scanpackages> [B<-u>] [B<-a> I<E<lt>ArchE<gt>> ] [B<-m>] I<Binär-"
#~ "Verz> I<Override-Datei> [I<Pfad-Präfix>] B<E<gt>> I<Packages>"

#~ msgid ""
#~ "When B<-a>I<E<lt>archE<gt>> is specified, then instead of scanning for "
#~ "all debs, a pattern consisting of *_all.deb and *_arch.deb is used."
#~ msgstr ""
#~ "Wenn B<-a>I<E<lt>ArchE<gt>> angegeben ist, dann wird ein Muster bestehend "
#~ "aus *_all.deb und *_arch.deb verwendet, anstatt nach allen Debs zu suchen."

#~ msgid "THE OVERRIDE FILE"
#~ msgstr "DIE OVERRIDE-DATEI"

#~ msgid ""
#~ "dpkg-source, dpkg-gencontrol, dpkg-shlibdeps, dpkg-genchanges, dpkg-"
#~ "buildpackage, dpkg-distaddfile, dpkg-parsechangelog - Debian source "
#~ "package tools"
#~ msgstr ""
#~ "dpkg-source, dpkg-gencontrol, dpkg-shlibdeps, dpkg-genchanges, dpkg-"
#~ "buildpackage, dpkg-distaddfile, dpkg-parsechangelog - Debian Quellpaket-"
#~ "Werkzeuge"

#~ msgid "COMMON OPTIONS"
#~ msgstr "GEMEINSAME OPTIONEN"

#~ msgid ""
#~ "Many of these programs share options; these are described here, together "
#~ "with the programs that accept them."
#~ msgstr ""
#~ "Viele dieser Programme haben Optionen gemeinsam; diese sind hier "
#~ "beschrieben, zusammen mit den Programmen, die diese akzeptieren."

#~ msgid ""
#~ "Display the particular program's usage message, including a synopsis of "
#~ "the options it understands.  This option is understood by all the source "
#~ "package tools."
#~ msgstr ""
#~ "Ziege den Gebrauchshinweis für das bestimmte Programm an, darunter eine "
#~ "Übersicht der Optionen, die es versteht. Diese Option wird von allen "
#~ "Werkzeugen für Quellpakete verstanden."

#~ msgid ""
#~ "Display the particular program's version, including copyright and license "
#~ "information.  This option is understood by all the source package tools."
#~ msgstr ""
#~ "Zeige die Version das bestimmte Programm an, darunter Copyright und "
#~ "Lizenz-Informationen. Diese Option wird von allen Werkzeugen für "
#~ "Quellpakete verstanden."

#~ msgid ""
#~ "This is free software; see the GNU General Public Licence version 2 or "
#~ "later for copying conditions. There is NO WARRANTY. See B</usr/share/doc/"
#~ "dpkg/copyright> and B</usr/share/common-licenses/GPL> for details."
#~ msgstr ""
#~ "Dies ist Freie Software; lesen Sie die GNU General Public License Version "
#~ "2 oder neuer für die Kopierbedingungen. Es gibt KEINE HAFTUNG. Lesen Sie "
#~ "B</usr/share/doc/dpkg/copyright> und B</usr/share/common-licenses/GPL> "
#~ "für Details."

#~ msgid ""
#~ "Prints B<dpkg-split>'s usage message, giving a summary of its options and "
#~ "their uses."
#~ msgstr ""
#~ "Gibt B<dpkg-split>s Bedienungshinweis mit einer Zusammenfassung seiner "
#~ "Optionen und deren Verwendungen aus."

#~ msgid "Prints B<dpkg-split>'s version number."
#~ msgstr "Gibt B<dpkg-split>s Versionsnummer aus."

#~ msgid ""
#~ "B<dpkg-statoverride> [I<options>] B<--add>I< E<lt>userE<gt> "
#~ "E<lt>groupE<gt> E<lt>modeE<gt> E<lt>fileE<gt>>"
#~ msgstr ""
#~ "B<dpkg-statoverride> [I<Optionen>] B<--add>I< E<lt>BenutzerE<gt> "
#~ "E<lt>GruppeE<gt> E<lt>ModusE<gt> E<lt>DateiE<gt>>"

#~ msgid "B<dpkg-statoverride> [I<options>] B<--remove>I< E<lt>fileE<gt>>"
#~ msgstr "B<dpkg-statoverride> [I<Optionen>] B<--remove>I< E<lt>DateiE<gt>>"

#~ msgid ""
#~ "B<dpkg-statoverride> [I<options>] B<--list> [I<E<lt>glob-patternE<gt>>]"
#~ msgstr ""
#~ "B<dpkg-statoverride> [I<Optionen>] B<--list> [I<E<lt>Glob-MusterE<gt>>]"

#~ msgid "Print help information; then exit."
#~ msgstr "Gibt Hilfeinformationen aus und beendet sich dann."

#~ msgid "Print version information; then exit."
#~ msgstr "Gibt Versionsinformationen aus und beendet sich dann."

#~ msgid ""
#~ "B<update-alternatives> [I<options>] B<--install> I<genname symlink altern "
#~ "priority> [B<--slave> I<genname symlink> I<altern>]..."
#~ msgstr ""
#~ "B<update-alternatives> [I<Optionen>] B<--install> I<Genname Symlink "
#~ "Altern Priorität> [B<--slave> I<Genname Symlink> I<Altern>]..."

#~ msgid "B<update-alternatives> [I<options>] B<--remove> I<name path>"
#~ msgstr "B<update-alternatives> [I<Optionen>] B<--remove> I<Name Pfad>"

#~ msgid "B<update-alternatives> [I<options>] B<--remove-all> I<name>"
#~ msgstr "B<update-alternatives> [I<Optionen>] B<--remove-all> I<Name>"

#~ msgid "B<update-alternatives> [I<options>] B<--display> I<name>"
#~ msgstr "B<update-alternatives> [I<Optionen>] B<--display> I<Name>"

#~ msgid "B<update-alternatives> [I<options>] B<--list> I<name>"
#~ msgstr "B<update-alternatives> [I<Optionen>] B<--list> I<Name>"

#~ msgid "B<update-alternatives> [I<options>] B<--config> I<name>"
#~ msgstr "B<update-alternatives> [I<Optionen>] B<--config> I<Name>"

#~ msgid "B<update-alternatives> [I<options>] B<--set> I<name path>"
#~ msgstr "B<update-alternatives> [I<Optionen>] B<--set> I<Name Pfad>"

#~ msgid ""
#~ "Exactly one action must be specified if B<update-alternatives> is to "
#~ "perform any meaningful task.  Any number of the common options may be "
#~ "specified together with any action."
#~ msgstr ""
#~ "Genau eine Aktion muss angegeben werden, falls B<update-alternatives> "
#~ "eine sinnvolle Aufgabe erfüllen soll. Eine beliebige Anzahl von "
#~ "allgemeinen Optionen kann zusammen mit jeder Aktion spezifiziert werden."

#~ msgid "Give some usage information."
#~ msgstr "Gebe Benutzungshinweise"

#~ msgid "Tell which version of B<update-alternatives> this is."
#~ msgstr "Gebe die Version von B<update-alternatives> aus."

#~ msgid "I<E<lt>divert-toE<gt>> is the name used by other packages' versions."
#~ msgstr ""
#~ "I<E<lt>umzuleitende<gt>> ist der Name der Datei, der von Versionen "
#~ "anderer Pakete benutzt wird."

#~ msgid "Specifies that all packages' versions are diverted."
#~ msgstr "Gibt an, dass die Versionen aus allen Paketen umgeleitet sind."

#~ msgid ""
#~ "Give some usage information (and say which version of B<update-"
#~ "alternatives> this is)."
#~ msgstr ""
#~ "Gibe Hinweise zur Benutzung (und erzähle, welche Version von B<update-"
#~ "alternatives)> dies ist."
