Hallo Mitübersetzer, ich habe nun die gesamte Vorlage überarbeitet. Die meisten Änderungen betreffen zusätzliche Formatierungen. Ich hoffe, ich bin da nicht über das Ziel hinausgeschossen. Ich werde die Vorlage in drei Teilstücken vorstellen. Hier ist nun Teil2/3. Vorab vielen Dank für Korrekturen und Verbesserungsvorschläge, Christoph -- Ist die Katze gesund schmeckt sie dem Hund.
# type: SH #. type: SH #: ../doc/fakeroot.1:124 #, no-wrap msgid "EXAMPLES" msgstr "BEISPIELE" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:129 msgid "" "Here is an example session with B<fakeroot>. Notice that inside the fake " "root environment file manipulation that requires root privileges succeeds, " "but is not really happening." msgstr "" "Hier folgt eine Beispielsitzung mit B<fakeroot>. Beachten Sie, dass " "innerhalb der gefälschten Root-Umgebung eine Dateimanipulation, die " "Root-Rechte erfordert, erfolgreich ist, obwohl sie nicht wirklich " "stattfindet." # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:152 #, no-wrap msgid "" "$ whoami\n" "joost\n" "$ fakeroot /bin/bash\n" "# whoami\n" "root\n" "# mknod hda3 b 3 1\n" "# ls -ld hda3\n" "brw-r--r-- 1 root root 3, 1 Jul 2 22:58 hda3\n" "# chown joost:root hda3\n" "# ls -ld hda3\n" "brw-r--r-- 1 joost root 3, 1 Jul 2 22:58 hda3\n" "# ls -ld /\n" "drwxr-xr-x 20 root root 1024 Jun 17 21:50 /\n" "# chown joost:users /\n" "# chmod a+w /\n" "# ls -ld /\n" "drwxrwxrwx 20 joost users 1024 Jun 17 21:50 /\n" "# exit\n" "$ ls -ld /\n" "drwxr-xr-x 20 root root 1024 Jun 17 21:50 //\n" "$ ls -ld hda3\n" "-rw-r--r-- 1 joost users 0 Jul 2 22:58 hda3\n" msgstr "" "$ whoami\n" "joost\n" "$ fakeroot /bin/bash\n" "# whoami\n" "root\n" "# mknod hda3 b 3 1\n" "# ls -ld hda3\n" "brw-r--r-- 1 root root 3, 1 Jul 2 22:58 hda3\n" "# chown joost:root hda3\n" "# ls -ld hda3\n" "brw-r--r-- 1 joost root 3, 1 Jul 2 22:58 hda3\n" "# ls -ld /\n" "drwxr-xr-x 20 root root 1024 Jun 17 21:50 /\n" "# chown joost:users /\n" "# chmod a+w /\n" "# ls -ld /\n" "drwxrwxrwx 20 joost users 1024 Jun 17 21:50 /\n" "# exit\n" "$ ls -ld /\n" "drwxr-xr-x 20 root root 1024 Jun 17 21:50 //\n" "$ ls -ld hda3\n" "-rw-r--r-- 1 joost users 0 Jul 2 22:58 hda3\n" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:156 msgid "Only the effects that user B<joost> could do anyway happen for real." msgstr "" "In Wirklichkeit geschieht nur das, was Benutzer B<joost> sowieso tun könnte." # FIXME debuild → B<debuild>(1) # FIXME -rfakeroot → B<-rfakeroot> # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:168 msgid "" "B<fakeroot> was specifically written to enable users to create Debian GNU/" "Linux packages (in the B<deb(5)> format) without giving them root " "privileges. This can be done by commands like B<dpkg-buildpackage " "-rfakeroot> or B<debuild -rfakeroot> (actually, -rfakeroot is default in " "debuild nowadays, so you don't need that argument)." msgstr "" "B<fakeroot> wurde insbesondere geschrieben, um es Benutzern zu ermöglichen, " "Debian-GNU/Linux-Pakete (im B<deb(5)>-Format) zu erstellen, ohne ihnen " "Root-Rechte zu geben. Dies kann durch Befehle wie B<dpkg-buildpackage " "-rfakeroot> oder B<debuild -rfakeroot> erledigt werden (tatsächlich ist " "B<-rfakeroot> heutzutage in B<debuild>(1) Vorgabe, so dass Sie dieses " "Argument nicht brauchen)." # type: SH #. type: SH #: ../doc/fakeroot.1:168 #, no-wrap msgid "SECURITY ASPECTS" msgstr "SICHERHEITSASPEKTE" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:172 msgid "" "B<fakeroot> is a regular, non-setuid program. It does not enhance a user's " "privileges, or decrease the system's security." msgstr "" "B<fakeroot> ist ein normales nicht-setuid-Programm. Es vergrößert weder die " "Benutzerrechte, noch vermindert es die Sicherheit des Systems." # type: SH #. type: SH #: ../doc/fakeroot.1:172 #, no-wrap msgid "FILES" msgstr "DATEIEN" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:175 msgid "" "I</usr/lib/*/libfakeroot-*.so> The shared library containing the wrapper " "functions." msgstr "" "I</usr/lib/*/libfakeroot-*.so> Die dynamische Bibliothek, die die " "Wrapper-Funktionen enthält" # type: SH #. type: SH #: ../doc/fakeroot.1:175 #, no-wrap msgid "ENVIRONMENT" msgstr "UMGEBUNG" # type: IP #. type: IP #: ../doc/fakeroot.1:177 #, no-wrap msgid "B<FAKEROOTKEY>" msgstr "B<FAKEROOTKEY>" # FIXME fakeroot → B<fakeroot> # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:188 msgid "" "The key used to communicate with the fakeroot daemon. Any program started " "with the right B<LD_PRELOAD> and a B<FAKEROOTKEY> of a running daemon will " "automatically connect to that daemon, and have the same \"fake\" view of the " "file system's permissions/ownerships (assuming the daemon and connecting " "program were started by the same user)." msgstr "" "Der Schlüssel, der benutzt wird, um mit dem B<fakeroot>-Dämon zu " "kommunizieren. Jedes Programm, das mit dem richtigen B<LD_PRELOAD> und einem " "B<FAKEROOTKEY> eines laufenden Dämons gestartet wird, verbindet sich " "automatisch zu diesem Dämon und hat die gleiche »gefälschte« Sicht auf die " "Zugriffsrechte und Eigentümerschaften des Dateisystems (unter der Annahme, " "dass Dämon und verbindendes Programm vom gleichen Benutzer gestartet " "wurden)." # type: IP #. type: IP #: ../doc/fakeroot.1:188 #, no-wrap msgid "B<LD_LIBRARY_PATH>" msgstr "B<LD_LIBRARY_PATH>" # type: IP #. type: IP #: ../doc/fakeroot.1:190 #, no-wrap msgid "B<LD_PRELOAD>" msgstr "B<LD_PRELOAD>" # FIXME LD_LIBRARY_PATH=/usr/lib/fakeroot → B<LD_LIBRARY_PATH=/usr/lib/fakeroot> # FIXME LD_PRELOAD=libfakeroot.so.0 → B<LD_PRELOAD=libfakeroot.so.0> # FIXME fakeroot → B<fakeroot> # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:203 msgid "" "fakeroot is implemented by wrapping system calls. This is accomplished by " "setting LD_LIBRARY_PATH=/usr/lib/fakeroot and LD_PRELOAD=libfakeroot.so.0. " "That library is loaded before the system's C library, and so most of the " "library functions are intercepted by it. If you need to set either " "B<LD_LIBRARY_PATH> or B<LD_PRELOAD> from within a fakeroot environment, it " "should be set relative to the given paths, as in " "B<LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/bar/>" msgstr "" "B<fakeroot> wurde mittels Umhüllung von Systemaufrufen implementiert. Dies " "wird durch die Einstellungen B<LD_LIBRARY_PATH=/usr/lib/fakeroot> und " "B<LD_PRELOAD=libfakeroot.so.0> bewerkstelligt. Diese Bibliothek wird vor der " "C-Bibliothek des Systems geladen. Daher werden die meisten " "Bibliotheksfunktionen von ihr abgefangen. Falls Sie entweder " "B<LD_LIBRARY_PATH> oder B<LD_PRELOAD> aus einer B<fakeroot>-Umgebung heraus " "setzen müssen, sollte es relativ zum angegebenen Pfad geschehen wie in " "B<LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/bar/>" # type: SH #. type: SH #: ../doc/fakeroot.1:204 #, no-wrap msgid "LIMITATIONS" msgstr "EINSCHRÄNKUNGEN" # type: IP #. type: IP #: ../doc/fakeroot.1:206 #, no-wrap msgid "B<Library versions>" msgstr "B<Bibliotheksversionen>" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:213 msgid "" "Every command executed within B<fakeroot> needs to be linked to the same " "version of the C library as B<fakeroot> itself." msgstr "" "Jeder innerhalb B<fakeroot> ausgeführte Befehl muss zu der gleichen Version " "der C-Bibliothek gelinkt werden wie B<fakeroot> selbst." # type: IP #. type: IP #: ../doc/fakeroot.1:213 #, no-wrap msgid "B<open()/create()>" msgstr "B<open()/create()>" # FIXME fakeroot → B<fakeroot> # FIXME open() → B<open>(2) # FIXME create() → B<creat>(2) # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:217 msgid "" "fakeroot doesn't wrap open(), create(), etc. So, if user B<joost> does either" msgstr "" "B<fakeroot> umhüllt nicht B<open>(2), B<creat>(2), usw. Falls Benutzer " "B<joost> also entweder" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:221 #, no-wrap msgid "" "touch foo\n" "fakeroot\n" "ls -al foo\n" msgstr "" "touch foo\n" "fakeroot\n" "ls -al foo\n" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:223 msgid "or the other way around," msgstr "oder andersherum" # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:227 #, no-wrap msgid "" "fakeroot\n" "touch foo\n" "ls -al foo\n" msgstr "" "fakeroot\n" "touch foo\n" "ls -al foo\n" # FIXME fakeroot → B<fakeroot> # FIXME B<open()> → B<open>(2) # FIXME B<create()> → B<creat>(2) # FIXME B<stat()> → B<stat>(2) # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:264 msgid "" "fakeroot has no way of knowing that in the first case, the owner of foo " "really should be B<joost> while the second case it should have been " "B<root>. For the Debian packaging, defaulting to giving all \"unknown\" " "files uid=gid=0, is always OK. The real way around this is to wrap B<open()> " "and B<create()>, but that creates other problems, as demonstrated by the " "libtricks package. This package wrapped many more functions, and tried to do " "a lot more than B<fakeroot .> It turned out that a minor upgrade of libc " "(from one where the B<stat()> function didn't use B<open()> to one with a " "B<stat()> function that did (in some cases) use B<open()>), would cause " "unexplainable segfaults (that is, the libc6 B<stat()> called the wrapped " "B<open()>, which would then call the libc6 B<stat()>, etc). Fixing them " "wasn't all that easy, but once fixed, it was just a matter of time before " "another function started to use open(), never mind trying to port it to a " "different operating system. Thus I decided to keep the number of functions " "wrapped by fakeroot as small as possible, to limit the likelihood of \\" "(oqcollisions\\(cq." msgstr "" "ausführt, hat B<fakeroot> im ersten Fall keine Möglichkeit zu wissen, dass " "der Benutzer von foo wirklich B<joost> sein soll, während es im zweiten Fall " "B<root> gewesen sein soll. Für die Debian-Paketierung ist es immer in " "Ordnung, allen »unbekannten« Dateien uid=gid=0 zu geben. Der wahre Weg, dies " "zu umgehen ist, B<open>(2) und B<creat>(2) zu verhüllen, aber dies erzeugt " "neue Probleme, wie vom Paket libtricks gezeigt wird. Dieses Paket verhüllte " "mehr Funktionen und versuchte viel mehr als B<fakeroot> zu tun. Es stellte " "sich heraus, dass ein unbedeutendes Upgrade von libc (von einer, in der die " "Funktion B<stat>(2) B<open>(2) nicht nutzte, zu einer mit einer " "B<stat>(2)-Funktion, die (in einigen Fällen) B<open>(2) benutzte), " "unerklärbare Schutzverletzungen verursachen würde (das heißt, das " "libc6-B<stat>(2) ruft das verhüllte B<open>(2) auf, das dann " "libc6-B<stat>(2) aufrufen würde, usw). Das Beheben war alles andere als " "einfach, aber einmal behoben, war es nur eine Frage der Zeit, bevor eine " "andere Funktion begann B<open>(2) zu benutzen, ganz zu schweigen vom " "Versuch, es auf andere Betriebssysteme zu portieren. Daher wurde " "entschieden, die Anzahl der von B<fakeroot> verhüllten Funktionen so klein " "wie möglich zu halten, um die Wahrscheinlichkeit von »Kollisionen« so " "gering wie möglich zu halten." # type: IP #. type: IP #: ../doc/fakeroot.1:264 #, no-wrap msgid "B<GNU configure (and other such programs)>" msgstr "B<GNU configure (und andere derartige Programme)>" # FRAGE: wie fprmatiert man die vielen configure richtig? # FIXME fakeroot → B<fakeroot> # type: Plain text #. type: Plain text #: ../doc/fakeroot.1:272 msgid "" "fakeroot, in effect, is changing the way the system behaves. Programs that " "probe the system like GNU configure may get confused by this (or if they " "don't, they may stress fakeroot so much that fakeroot itself becomes " "confused). So, it's advisable not to run \"configure\" from within fakeroot. " "As configure should be called in the \"debian/rules build\" target, running " "\"dpkg-buildpackage -rfakeroot\" correctly takes care of this." msgstr "" "B<fakeroot> ändert in der Tat die Art, wie sich das System verhält. " "Programme, die das System gründlich prüfen, wie GNU-configure könnten " "dadurch verwirrt werden (oder, wenn nicht, könnten sie B<fakeroot> so " "beanspruchen, dass B<fakeroot> selbst verwirrt wird). Daher ist es ratsam, " "»configure« nicht innerhalb von B<fakeroot> auszuführen. Da configure im " "»debian/rules build«-Ziel aufgerufen werden sollte, erledigt dies " "»dpkg-buildpackage -rfakeroot« korrekt."
Attachment:
signature.asc
Description: PGP signature