diff --git a/documentation/linux_configuration.pdf b/documentation/linux_configuration.pdf index 34287b0..4c47774 100644 --- a/documentation/linux_configuration.pdf +++ b/documentation/linux_configuration.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c87d2fbd2ebc5733fe8e2f9f839a843a395b2bfacd7915f394313cee746b67a0 -size 982740 +oid sha256:11b29ce0f826602b5befe7ab366c046e826c6ddcd43059d333a7d67abcb095fa +size 996979 diff --git a/documentation/linux_configuration.tex b/documentation/linux_configuration.tex index 14abb80..f6a644e 100644 --- a/documentation/linux_configuration.tex +++ b/documentation/linux_configuration.tex @@ -31,6 +31,12 @@ % Math mode with value and units framework, e.g. for 15.11.18.1 \usepackage{siunitx} +\hypersetup{ + pdftitle={Linux Konfiguration in deutscher Sprache}, + pdfsubject={(c) KW4NZ, Tom}, + pdfauthor={Thomas Kuschel}, + pdfkeywords={Linux Kernel, make, menuconfig, menucfg, makepkg, Arch, Dell, configuration} +} % The following is to use subparagraph without intending: \makeatletter \renewcommand\subparagraph{% diff --git a/documentation/linux_configuration_15_device_drivers.tex b/documentation/linux_configuration_15_device_drivers.tex index 4f3f161..5a81e3f 100644 --- a/documentation/linux_configuration_15_device_drivers.tex +++ b/documentation/linux_configuration_15_device_drivers.tex @@ -1814,7 +1814,213 @@ Diese Option allein fügt keinen Kernelcode hinzu. Wenn Sie N sagen, werden alle Optionen in diesem Untermenü übersprungen und deaktiviert; tun Sie dies nur, wenn Sie wissen, was Sie tun. +\subsubsection{Null test block driver} +CONFIG\_BLK\_DEV\_NULL\_BLK [=m] \textbf{[M]}\\* +\textit{Für diese Option gibt es keine Hilfe.} -%% +\subsubsection{Normal floppy disk support} +CONFIG\_BLK\_DEV\_FD [=m] \textbf{[M]}\\* +Wenn Sie das/die Diskettenlaufwerk(e) Ihres PCs unter Linux verwenden wollen, +sagen Sie Y. Informationen über diesen Treiber, die besonders für +IBM Thinkpad"=Benutzer wichtig sind, sind in\\ +$<$file:Documentation/admin-guide/blockdev/floppy.rst$>$ enthalten. +Diese Datei enthält auch den Ort der Floppy"=Treiber"=FAQ sowie den Ort +des fdutils"=Pakets, das verwendet wird, um zusätzliche Parameter des Treibers zur +Laufzeit zu konfigurieren. +Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: +Das Modul wird \texttt{floppy} genannt. + +\paragraph{Support for raw floppy disk commands (DEPRECATED)}$~$\\ +CONFIG\_BLK\_DEV\_FD\_RAWCMD [=n] \textbf{[~]}\\* +Wenn Sie echte physische Disketten verwenden wollen und spezielle +Low"=Level"=Hardware"=Zugriffe auf diese durchführen wollen (z.~B. auf nicht +standardisierte Formate zugreifen und diese verwenden), dann aktivieren Sie +diese Option.\\ +Beachten Sie, dass der Code, der durch diese Option aktiviert wird, selten verwendet +wird und instabil oder unsicher sein könnte, und Distros sollten ihn nicht aktivieren.\\ +Hinweis: FDRAWCMD ist veraltet und wird in naher Zukunft aus dem Kernel entfernt werden. +Wenn Sie unsicher sind, sagen Sie N. + +\subsubsection{Block Device Driver for Micron PCIe SSDs} +CONFIG\_BLK\_DEV\_PCIESSD\_MTIP32XX [=m] \textbf{[M]}\\* +Dies aktiviert den Blocktreiber für Micron PCIe SSDs. + +\subsubsection{Compressed RAM block device support} +CONFIG\_ZRAM [=m] \textbf{[M]}\\* +Erzeugt virtuelle Blockgeräte namens /dev/zramX (X = 0, 1, ...). +Die auf diese Platten geschriebenen Seiten werden komprimiert und im Speicher selbst +abgelegt. Diese Festplatten ermöglichen eine sehr schnelle E/A und die Komprimierung +führt zu einer beträchtlichen Speichereinsparung. +Es gibt mehrere Anwendungsfälle, zum Beispiel: /tmp"=Speicher, Verwendung als +Swap"=Platten und vielleicht noch viele mehr.\\ +Siehe Documentation/admin-guide/blockdev/zram.rst für weitere Informationen. + +\paragraph{Default zram compressor () \texorpdfstring{$\rightarrow$}{->}}$~$\\ +\textit{Für diese Option gibt es keine Hilfe.} + +\subparagraph{lzo-rle}$~$\\ +CONFIG\_ZRAM\_DEF\_COMP\_LZORLE [=n] \textbf{[~]}\\* +\textit{Für diese Option gibt es keine Hilfe.} + +\subparagraph{zstd}$~$\\ +CONFIG\_ZRAM\_DEF\_COMP\_ZSTD [=y] \textbf{[Y]}\\* +\textit{Für diese Option gibt es keine Hilfe.} + +\subparagraph{lz4}$~$\\ +CONFIG\_ZRAM\_DEF\_COMP\_LZ4 [=n] \textbf{[~]}\\* +\textit{Für diese Option gibt es keine Hilfe.} + +\subparagraph{lzo}$~$\\ +CONFIG\_ZRAM\_DEF\_COMP\_LZO [=n] \textbf{[~]}\\* +\textit{Für diese Option gibt es keine Hilfe.} + +\subparagraph{lz4hc}$~$\\ +CONFIG\_ZRAM\_DEF\_COMP\_LZ4HC [=n] \textbf{[~]}\\* +\textit{Für diese Option gibt es keine Hilfe.} + +\subparagraph{842}$~$\\ +CONFIG\_ZRAM\_DEF\_COMP\_842 [=n] \textbf{[~]}\\* +\textit{Für diese Option gibt es keine Hilfe.} + +\subsubsection{Write back incompressible or idle page to backing device} +CONFIG\_ZRAM\_WRITEBACK [=y] \textbf{[Y]}\\* +Bei inkompressiblen Seiten wird kein Speicherplatz gespart, um sie im Speicher zu +halten. Stattdessen wird sie auf das Sicherungsgerät geschrieben. +Für diese Funktion sollte der Administrator das Sicherungsgerät über +\texttt{/sys/block/zramX/backing\_dev} einrichten.\\ +Mit \texttt{/sys/block/zramX/$\{$idle,writeback$\}$} kann die Anwendung das +Zurückschreiben der inaktiven Seite auf das Backing-Device anfordern, +um sie im Speicher zu speichern.\\ +Siehe Dokumentation/admin-guide/blockdev/zram.rst für weitere Informationen. + +\subsubsection{Track zRAM block status} +CONFIG\_ZRAM\_MEMORY\_TRACKING [=y] \textbf{[Y]}\\* +Mit dieser Funktion kann der Administrator den Status der zugewiesenen +zRAM"=Blöcke verfolgen. Der Administrator kann die Informationen über +/sys/kernel/debug/zram/zramX/block\_state einsehen.\\ +Weitere Informationen finden Sie unter Documentation/admin-guide/blockdev/zram.rst. + +\subsubsection{Enable multiple compression streams} +CONFIG\_ZRAM\_MULTI\_COMP [=y] \textbf{[Y]}\\* +Dies ermöglicht Multikompressionsströme, so dass ZRAM"=Seiten mit einem potenziell +langsameren, aber effektiveren Kompressionsalgorithmus neu komprimieren kann.\\ +Beachten Sie, dass die IDLE"=Seiten"=Neukomprimierung +ZRAM\_MEMORY\_TRACKING erfordert. + +\subsubsection{Loopback device support} +CONFIG\_BLK\_DEV\_LOOP [=m] \textbf{[M]}\\* +Sie können dann ein Dateisystem auf diesem Blockgerät erstellen und es genauso +einbinden, wie Sie andere Blockgeräte einbinden würden, z.~B. Festplattenpartitionen, +CD"=ROM"=Laufwerke oder Diskettenlaufwerke. Die Loop"=Geräte sind spezielle +Block"=Gerätedateien mit der Hauptnummer~7 und heißen normalerweise +\texttt{/dev/loop0}, \texttt{/dev/loop1} usw. +Dies ist nützlich, wenn Sie ein ISO"=9660"=Dateisystem überprüfen wollen, bevor Sie +die CD brennen, oder wenn Sie Diskettenabbilder verwenden wollen, ohne sie vorher +auf Diskette zu schreiben. Außerdem vermeiden einige Linux"=Distributionen die +Notwendigkeit einer eigenen Linux"=Partition, indem sie ihr komplettes +Root"=Dateisystem in einer DOS"=FAT-Datei unter Verwendung dieses +Loop"=Gerätetreibers ablegen. +Um das Loop"=Gerät zu verwenden, benötigen Sie das Dienstprogramm \texttt{losetup}, +das Sie im Paket util-linux finden, siehe +\url{https://www.kernel.org/pub/linux/utils/util-linux/}.\\ +Der Loop"=Device"=Treiber kann auch verwendet werden, um ein Dateisystem in einer +Partition, einer Diskette oder einer normalen Datei zu \glqq verstecken\grqq{}, +entweder durch Verschlüsselung (Verwürfelung der Daten) oder durch Steganographie +(Verstecken der Daten in den niedrigen Bits z.~B. einer Sounddatei). Dies ist auch +sicher, wenn sich die Datei auf einem entfernten Dateiserver befindet. + +Beachten Sie, dass dieses Loop"=Gerät nichts mit dem Loopback"=Gerät zu tun hat, +das für Netzwerkverbindungen vom Rechner zu sich selbst verwendet wird. + +Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: +Das Modul wird \texttt{loop} genannt. +Die meisten Benutzer werden hier mit N antworten. + +\paragraph{Number of loop devices to pre-create at init time}$~$\\ +CONFIG\_BLK\_DEV\_LOOP\_MIN\_COUNT [=0] \textbf{[0]}\\* +Statische Anzahl von Schleifengeräten, die zum Zeitpunkt der Initialisierung +unbedingt vorab erstellt werden müssen. + +Dieser Standardwert kann auf der Kernel-Befehlszeile oder mit dem Modul-Parameter +\text{loop.max\_loop} überschrieben werden. +Der historische Standardwert ist 8. Wenn eine späte Version von losetup(8) +aus dem Jahr 2011 verwendet wird, kann er auf 0 gesetzt werden, da benötigte +Loop-Geräte dynamisch mit der Schnittstelle \texttt{/dev/loop-control} +zugewiesen werden können. + +\subsubsection{DRBD Distributed Replicated Block Device support} +CONFIG\_BLK\_DEV\_DRBD [=m] \textbf{[M]}\\* +HINWEIS: Für die Authentifizierung von Verbindungen müssen Sie CRYPTO\_HMAC und +eine Hash"=Funktion auswählen. + +DRBD ist ein gemeinsam genutztes, synchron repliziertes Blockgerät. Es wurde als +Baustein für Hochverfügbarkeitscluster entwickelt und ist in diesem Zusammenhang +ein \glqq Drop"=in\grqq{}"=Ersatz für gemeinsam genutzten Speicher. Vereinfacht +könnte man es als ein Netzwerk"=RAID\,1 betrachten.\\ +Jedes untergeordnete Gerät hat eine Rolle, die \glqq primär\grqq{} oder +\glqq sekundär\grqq{} sein kann. Auf dem Knoten mit dem primären Gerät soll die +Anwendung laufen und auf das Gerät (/dev/drbdX) zugreifen. Jeder Schreibvorgang +wird an das lokale \glqq Lower Level Block Device\grqq{} +\textit{(Blockgerät der unteren Ebene)} und über das Netz an den Knoten mit dem +Gerät im \glqq sekundären\glqq{} Zustand gesendet. Das sekundäre Gerät schreibt +die Daten einfach in sein untergeordnetes Blockgerät.\\ +DRBD kann auch im Dual"=Primary"=Modus verwendet werden (Gerät auf beiden Knoten +beschreibbar), was bedeutet, dass es in einem Shared"=Nothing"=Cluster die +Semantik einer gemeinsamen Festplatte aufweisen kann. Natürlich muss zusätzlich +zu Dual"=Primary DRBD ein Cluster"=Dateisystem verwendet werden, um die +Cache"=Kohärenz zu gewährleisten.\\ +Für ein automatisches Failover benötigen Sie einen Clustermanager (z.~B. Heartbeat).\\ +Siehe auch: \url{https://www.drbd.org/}, \url{http://www.linux-ha.org}\\ +Wenn Sie unsicher sind, sagen Sie N. + +\paragraph{DRBD fault injection}$~$\\ +CONFIG\_DRBD\_FAULT\_INJECTION [=n] \textbf{[~]}\\* +Sagen Sie hier Y, wenn Sie IO-Fehler simulieren wollen, um das Verhalten von +DRBD zu testen. +Die eigentliche Simulation von IO"=Fehlern erfolgt durch das Schreiben von +3~Werten in:\\[0.5em] +\texttt{/sys/module/drbd/parameters/}\\[0.5em] +enable\_faults: Bitmaske von...\\ +\begin{tabular}[h]{rll} +1 & Metadaten&schreiben (meta data write)\\ +2&&lesen (meta data read)\\ +4 & Resync-Daten&schreiben\\ +8&&lesen\\ +16 & \multicolumn{2}{l}{Daten schreiben}\\ +32 & \multicolumn{2}{l}{Daten lesen}\\ +64& \multicolumn{2}{l}{Lesen im Voraus}\\ +128& \multicolumn{2}{l}{kmalloc der Bitmap}\\ +256& \multicolumn{2}{l}{Zuweisung von Peer"=Anfragen}\\ +512& \multicolumn{2}{l}{insert data corruption auf der Empfangsseite} +\end{tabular}\\[0.5em] +fault\_devs: Bitmaske der Nebennummern +fault\_rate: Häufigkeit in Prozent\\[0.5em] +Beispiel:\\ +Simulieren Sie Datenschreibfehler auf \texttt{/dev/drbd0} mit einer +Wahrscheinlichkeit von $\qty{5}{\percent}$.\\ +\texttt{ +echo 16 $>$ /sys/module/drbd/parameters/enable\_faults\\ +echo 1 $>$ /sys/module/drbd/parameters/fault\_devs\\ +echo 5 $>$ /sys/module/drbd/parameter/fault\_rate}\\[0.5em] +Wenn Sie unsicher sind, sagen Sie N. + +\subsubsection{Network block device support} +CONFIG\_BLK\_DEV\_NBD [=m] \textbf{[M]}\\* +Wenn Sie hier Y angeben, kann Ihr Computer als Client für Netzwerk"=Blockgeräte +fungieren, d.~h. er kann von Servern exportierte Blockgeräte verwenden +(Dateisysteme einhängen usw.). Die Kommunikation zwischen Client und Server läuft +über das TCP/IP"=Netzwerk, aber für das Client"=Programm ist dies verborgen: es +sieht aus wie ein normaler lokaler Dateizugriff auf eine spezielle +Blockgeräte"=Datei wie \texttt{/dev/nd0}. +Netzwerk"=Blockgeräte erlauben es auch, ein Blockgerät im Userland laufen zu lassen (so dass Server und Client physisch +derselbe Computer sind, der über das Loopback-Netzwerkgerät kommuniziert). +Lesen Sie $<$file:Documentation/admin-guide/blockdev/nbd.rst$>$ für weitere Informationen, insbesondere darüber, wo Sie +den Server"=Code finden, der im Userspace läuft und keine spezielle Kernel"=Unterstützung benötigt. +Beachten Sie, dass dies nichts mit den Netzwerk"=Dateisystemen NFS oder Coda zu tun hat; Sie können hier N sagen, +auch wenn Sie beabsichtigen, NFS oder Coda zu verwenden. +Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{nbd} heißen. +Wenn Sie unsicher sind, sagen Sie N. + +% %% \texorpdfstring{$\rightarrow$}{->} %% \textit{Für diese Option gibt es keine Hilfe.} \ No newline at end of file