Multiple Section revised

This commit is contained in:
Uwe Schimanski
2026-03-07 18:48:39 +01:00
parent 6e76d0b013
commit 9b40fdf6d0
17 changed files with 866 additions and 156 deletions
-2
View File
@@ -7,10 +7,8 @@
\newpage
\input{Kapitel1/ShellGedaechnis}
\input{Kapitel1/BefehleMehrzeilig}
\newpage
\input{Kapitel1/Tastenzuordnung}
\input{Kapitel1/Tastaturfunktionen}
\newpage
\input{Kapitel1/Prompt}
\clearpage
\input{Kapitel1/EditorVI}
+261
View File
@@ -0,0 +1,261 @@
\section{Nano}
\begin{justify}
Der Editor Nano wird meistens standardmäßig installiert. Sollte er nicht installiert sein, so kann man ihn mit dem jeweiligen Paketmanager der Distribution installieren.
\listBash
\begin{lstlistings}[captionpos=b, caption=Installation]
uws@tux># Arch Linux and other
uws@tux>sudo pacman -S nano
uws@tux># Debian
uws@tux>sudo apt install nano -y
uws@tux># RHEL, Oracle Linux, Alma Linux
uws@tux>sudo yum install nano -y
uws@tux># or
uws@tux>sudo dnf install nano -y
uws@tux># SLES, SUSE
uws@tux>sudo zypper install nano
\end{lstlistings}
%------------------------------------------------------------------------------
% Subsection: Konfiguration
%------------------------------------------------------------------------------
\subsection{Konfiguration}
\begin{justify}
Die Einstellungen f"ur den VI Editor k"onnen global in der Datei {\ttfamily /etc/vimrc} oder f"ur jeden Benutzer in der Datei {\ttfamily ~/.vimrc} vorgenommen werden. Weitere Informationen "uber die vimrc gibt es hier: \url{https://www.linode.com/docs/tools-reference/tools/introduction-to-vim-customization/}
\listBash
\begin{lstlisting}[captionpos=b, caption=Beispiel vimrc]
" Kommentarzeile
" Syntax Color einschalten
syntax on
set nowrap
" Color config, possible colors
" black, blue, cyan, gra, grey, green, magenta, red, white, yellow, brown
" DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow
" LightGray, LightGrey, DarkGray, DarkGrey, LighBlue, LightBlue, LightCyan
" LightRed, LightMagenta, LightYellow
" highlight groups= comment, constant, normal, nontext, special, cursor
hi normal ctermfg=white ctermbg=black guifg=white guibg=black
hi nontext ctermfg=blue ctermbg=black guifg=blue guibg=black
hi comment ctermfg=green ctermbg=white
" Backup
set backup
set backupdir=~/tmp
" swap file
set dir=~/tmp
" show line numbers
set number
" show editing mode (insert/replace) on the last line
set showmode
" highlight matching brackets
set showmatch
" make searches case insensitive
set ignorecase
" Tab size (Anzeige und Plazierung)
set tabstop=3
" show cursor line and column in the status line
set ruler
" color scheme, files under /usr/share/vim/vim72/colors
color desert
\end{lstlisting}
%-------------------------------------------------------------------------------
% Section: Starten
%-------------------------------------------------------------------------------
\newpage
\subsection{Starten}
Den Editor {\ttfamily vi} kann man mit verschiedenen Optionen "offnen.
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
vi & Ohne Datei starten\\
vi <datei> & Starten mit der angegebenen Datei\\
vi +<datei> & Es wird in einer Kopie gearbeitet und erst bei dem beenden des Editors wird die Datei geschrieben\\
vi -r<datei> & Die Bearbeitung wird nach einem Absturz an der gleichen Stelle fortgesetzt\\
vi -R<datei> & Die Datei wird schreibgesch"utzt ge"offnet\\
\end{tabular}
\caption{Starten vi}
\end{table}
%-------------------------------------------------------------------------------
% Subsesction: Befehle
%-------------------------------------------------------------------------------
\subsection{Befehle}
Folgende Befehle gibt es im VI-Editor. Dieses ist aber nur ein Ausschnitt der Befehle.
\begin{flushleft}
\textbf{Speichern und Beenden}
\end{flushleft}
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
:q & Editor beenden\\
:q! & Editor beenden ohne zu speichern\\
:w & Datei speichern\\
:w! & Speichern erzwingen\\
:wq oder ZZ & Speichern und beenden\\
<strg> + z & Shell starten, zur"uck mit {\ttfamily fg}\\
\end{tabular}
\caption{Speichern und Beenden}
\end{table}
%---------- Kopieren ----------
\begin{flushleft}
\textbf{Kopieren}
\end{flushleft}
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
yy & Kopiert die aktuelle Zeile in den Puffer\\
ny & Kopiert n+1 Zeilen in den Puffer\\
yw & Kopiert ein Wort in den Buffer\\
\end{tabular}
\caption{Kopieren}
\end{table}
\newpage
%---------- Sonstiges ----------
\begin{flushleft}
\textbf{Sonstiges}
\end{flushleft}
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
u & Undo\\
U & Alle "Anderungen der aktuellen Zeile zur"ucknehmen\\
\end{tabular}
\caption{Sonstiges}
\end{table}
%---------- Navigieren ----------
\begin{flushleft}
\textbf{Navigieren}
\end{flushleft}
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
G & An das Ende springen\\
1G & In die erste Zeile Springen\\
0 & An dem Anfang der Zeile springen\\
\verb|^| & An dem Anfang der Zeile springen\\
\$ & An das Ende der Zeile springen\\
b & An den Anfang des letzten Wortes springen\\
w & An den Anfang des n"achsten Wortes springen\\
e & An das Ende des letzten Wortes springen\\
h & Ein Zeichen nach links\\
j & Eine Zeile nach unten\\
k & Eine Zeile nach oben\\
l & Ein Zeichen nach rechts\\
nG & n-te Zeile der Datei\\
H & Die erste Zeile des Bildschirms\\
+ & Die n"achste Zeile des Textanfangs\\
- & Die vorgerige Zeile des Textanfangs\\
( & Satzanfang\\
) & Satzende\\
\verb|{| & Absatzanfang\\
\verb|}| & Absatzende\\
\verb|[| & Am Anfang der Datei springen\\
\verb|]| & Am Ende der Datei springen\\
<strg> + u & Nach oben bl"attern\\
<strg> + d & Nach unten bl"attern\\
L & In der letzten Zeile der Bildschirmausgabe springen\\
\end{tabular}
\caption{Navigieren}
\end{table}
\newpage
%---------- Loeschen ----------
\begin{flushleft}
\textbf{L"oschen}
\end{flushleft}
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
x & Zeichen l"oschen\\
r & Zeichen ersetzen\\
s & Zeichen ersetzen und in den Bearbeitungsmodus wechseln\\
dd & Aktuelle Zeilen ausschneiden (Zwischenablage)\\
\verb|[|n\verb|]|dd & Die n"achsten [n] Zeilen ausschneiden\\
C & Zeile l"oschen\\
V & Zeile markieren\\
v & Zeichen markieren\\
d & Markierten Text l"oschen\\
cw & Aktuelles Wort ersetzten\\
dw & Aktuelles Wort l"oschen, incl. angeh"angtem Leerzeichen\\
de & Aktuelles Wort l"oschen, "uber Zeile hinaus\\
dl & Zeichen unter Cursor-Position l"oschen\\
dj & Zwei Zeilen l"oschen, Position ist die 1. Zeile\\
dk & Zwei Zeilen l"oschen, Position ist die 2. Zeile\\
:5,10d & Zeilen 5 bis 10 l"oschen\\
:.,\$d & Alle Zeilen l"oschen\\
nx & N-Zeichen ab Cursorposition\\
dL & Bis zum unteren Bildschirmrand l"oschen\\
d) & Bis zum Absatzende l"oschen\\
D & Bis zum Zeilenende l"oschen\\
\end{tabular}
\caption{L"oschen}
\end{table}
\newpage
%---------- Einfuegen ----------
\begin{flushleft}
\textbf{Einf"ugen}
\end{flushleft}
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
p & Zwischenablage nach aktueller Zeile einf"ugen\\
P & Zwischenablage vor aktueller Zeile einf"ugen\\
R & Text "uberschreiben\\
J & Aktuelle Zeile an das Ende der vorherigen Zeile anh"angen\\
o & Eine Zeile nach der aktuellen Zeile einf"ugen und in den Bearbeitungsmodus wechseln\\
O & Eine Zeile vor der aktuellen Zeile einf"ugen und in den Bearbeitungsmodus wechseln\\
a & Ein Leerzeichen einf"ugen und in den Bearbeitungsmodus wechseln\\
A & Zum Ende der Zeile springen und in den Bearbeitungsmodus wechseln\\
i & In den Bearbeitungsmodus wechseln\\
I & Am Anfang in den Bearbeitungsmodus wechseln\\
s<text> & Ein Zeichen wird durch Text ersetzt\\
S<text> & Eine ganze Zeile wird durch Text ersetzt\\
ns<text> & N-Zeichen werden durch Text ersetzt\\
cw<text> & Ein Wort durch Text ersetzt\\
\end{tabular}
\caption{Einf"ugen}
\end{table}
%---------- Suchen und Ersetzen ----------
\begin{flushleft}
\textbf{Suchen und Ersetzen}
\end{flushleft}
\begin{table}[ht]
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
\hline
\hline
/Tux & Suchen nach dem Wort Tux\\
/ & Suche wiederholen\\
n & Suche wiederholen\\
:s/nach/durch & In aktueller Zeile suchen und ersetzen\\
:1,7s/nach/durch & In Zeile 1 bis 7 suchen und ersetzen\\
:\verb|%|/nach/durch & In allen Zeilen suchen und ersetzen\\
?<nach> & Die Suche erfolgt r"uckw"arts\\
? & Wiederholung r"uckw"arts\\
:s/nach/durch/g & Nur in der aktuellen Zeile wird gesucht und ersetzt\\
\end{tabular}
\caption{Suchen und Ersetzen}
\end{table}
\end{justify}
+4 -2
View File
@@ -1,11 +1,13 @@
\section{Prompt}
\subsection{Bash}
\begin{justify}
Den Prompt kann mit der Variable {\ttfamily PS1} eingestellt werden.
Den Prompt kann mit der Variable {\ttfamily PS1} eingestellt werden. Den Prompt für einen Mehrzeiligen Befehl wird mit {\ttfamily PS2} gemacht. Die Variable {\ttfamily PS3} kann man für Abfragen, wie z.B. mit {\ttfamily select} verwenden.
\listBash
\begin{lstlisting}[captionpos=b, caption=Setzen PS1]
\begin{lstlisting}[captionpos=b, caption=Setzen PS1 und PS2]
uws@tux>export PS1="[\t] \u@\h:\w>"
[10:26:22] uws@tux:~>
[10:26:22] uws@tux:~>export PS2="Next> "
\end{lstlisting}
In der nachfolgenden Tabelle ist ein Auszug der Escape Sequencen.
\begin{table}[ht]
+51 -8
View File
@@ -30,24 +30,64 @@ Für die Bash History gibt es mehrere Variablen, einige sind in der nächsten Ta
HISTFILESIZE & Angabe der maximalen Einträge in der Datei\\
HISTSIZE & Angabe der Einträge im History Buffer\\
HISTCONTROL & Hiermit kann man steuern, was in der History gespeichert werden soll\\
HISTIGNORE & Befehle von der Speicherung ausnehmen\\
HISTTIMEFORMAT & Angabe des Datums Formats\\
\end{longtable}
\begin{justify}
Für die Vatiable HISTCONTROL gibt es folgende Werte:
\end{justify}
\begin{itemize}
\item ignorespace - Ignorieren von Befehlen die am Anfang ein Leerzeichen haben
\item ignoredups - Ignorieren von doppelten Kommandos
\item ignoreboth - Beide Werte
\end{itemize}
Bei der Angabe des Datum Formats kann man folgende Werte setzen.
Bei der Angabe des Datum Formats kann man alle {\ttfamily strftime-kompatiblen} Wert nehmen.
\begin{itemize}
\item \verb|%|F - Datum
\item \verb|%|T - Uhrzeit
\item \verb|%|Y - Jahr 4-stellig
\item \verb|%|m - Monat 2-stellig
\item \verb|%|d - Tag
\item \verb|%|H - Stunde (24)
\item \verb|%|M - Minuten
\item \verb|%|S - Sekunden
\end{itemize}
Die Liste für {\ttfamily HISTIGNORE} wird durch Doppelpunkte voneinander getrennt. Die Syntax für {\ttfamily HISTIGNORE} ist: \\
export HISTIGNORE="pattern1:pattern2:pattern3" \\
Die wichtigsten Patzhalter sind:
\begin{itemize}
\item * - Platzhalter für beliebigen Text
\item \verb|&| - Platzhalter für den vorherigen History Eintrag
\item \verb|[ \t]*| - Ignoriert Befehle, die am Anfang mit einem Leerzeichen oder Tab beginnen
\end{itemize}
\listBash
\begin{lstlisting}[captionpos=b, caption=HISTIGNORE]
export HISTIGNORE="&:[ \t]*:ls:ls *:sudo rm *:rm *:shutdown *:reboot *:halt *"
\end{lstlisting}
Ebenso gibt es drei Schalter. die man zusätzlich setzen kann. Mit den beiden letzen Schaltern wird der Eintrag zwar aus der History geholt, aber er wird nicht sofort gestartet. Man hat die Möglichkeit, den Befehl zu ändern oder auch sich den Befehl genau anzuschauen.
\begin{itemize}
\item histappend
\item histreedit - Schlägt die Historienerweiterung fehl, wird die eingegebene Zeile erneut angezeigt und kann korrigiert werden.
\item histverify - Vor der Ausführung sehen Sie, was nach der Historienerweiterung tatsächlich ausgeführt wird.
\end{itemize}
\listBash
\begin{lstlisting}[captionpos=b, caption=Schalter]
shopt -s histappend
shopt -s histreedit
shopt -s histverify
uws@tux>shopt | grep hist
cmdhist on
histappend on
histreedit on
histverify on
lithist off
\end{lstlisting}
Hier ein paar Beispiele.
\listBash
\begin{lstlisting}[captionpos=b, caption=Beispiele Variablen]
uws@tux>grep HIST .bash_history
export HISTTIMEFORMAT='%F %T - '
uws@tux>grep HIST .bashrc
export HISTTIMEFORMAT="%Y.%m%d %H:%M:%S - "
export HISTCONTROL=ignoreboth
@@ -63,7 +103,6 @@ Es werden in der Bash History nur die Einträge der aktuellen Sitzung gespeicher
\begin{lstlisting}[captionpos=b, caption=Alle Commands]
export PROMPT_COMMAND='history -a'
\end{lstlisting}
\newpage
%-------------------------------------------------------------------------------
% Section: Navigation
%-------------------------------------------------------------------------------
@@ -208,17 +247,21 @@ uws@tux>history -c
\subsection{Beispiele}
Hier sind einige Beispiele für die Bash History.
\listBash
\begin{lstlisting}[captionpos=b, caption=Beispiele Expansion Commands]
\begin{lstlisting}[captionpos=b, caption=Beispiele]
uws@tux>fc -l 24 26
24 pveam available --section system
25 pveam download local debian-12-standard_12.7-1_amd64.tar.zst
26 pveam download local debian-12-standard_12.7-1_amd64.tar.zst
uws@tux>fc -l -5
3 echo $PROMPT_COMMAND
44 shopt | grep hist
45 fc -l 1-4
46 fc -l 1 4
47 history 2
uws@tux>history 2
33 fc -l 24 26
34 history 2
33 2026.03.07 18:17:10 - fc -l 24 26
34 2026.03.07 18:17:30 - history 2
\end{lstlisting}
\end{justify}
+127
View File
@@ -0,0 +1,127 @@
\section{Icdiff}
\begin{justify}
Bei dem Programm {\ttfamily icdiff} kann man zwei Dateien vergleichen. Die Ausgabe erfolgt in einer Tabellarischen Form und die Unterschiede werden in Farbe dargestellt.
\begin{longtable}[l]{p{3cm}p{13cm}}
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endfirsthead
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endhead
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
\endfoot
\caption{Komprimierung und Archiv} \\
\endlastfoot
gzip & gzip \\
bzip2 & bzip2 \\
lzma & lzma oder 7z \\
xz & xz oder 7z \\
zstd & zstd \\
brotli & bro \\
lz4 & lz4 \\
zlib & pigz oder zlib-flate \\
dmg & 7z \\
tar & tar, optional archive\verb|_|color für Ausgabe in Farbe \\
ar & bsdtar oder ar \\
zip & unzip oder bsdtar \\
jar & unzip oder bsdtar \\
7-zip & 7zz oder 7zr oder 7z oder 7za \\
lzip & lzip \\
iso & bsdtar oder isoinfo oder 7z \\
rpm & rpm2cpio und cpio oder bsdtar \\
cab & cabextract oder 7z \\
cpio & cpio oder bsdtar oder 7z \\
appimage & unsquashfs \\
snap & unsquashfs \\
\end{longtable}
%\newpage
Eine Auswahl der Datei Typen.
\begin{longtable}[l]{p{3cm}p{13cm}}
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endfirsthead
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endhead
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
\endfoot
\caption{Datei Typen} \\
\endlastfoot
nroff(man) & mandoc oder man oder groff \\
shared library & nm \\
MS Word(doc) & wvText oder catdoc oder Libreoffice \\
MS Word(docx) & pandoc oder docx2txt oder Libreoffice \\
Powerpoint(ppt) & catppt \\
Powerpoint(pptx) & pptx2md oder Libreoffice \\
Excel(xls) & in2csv oder xls2csv \\
Excel(xlsx) & xlsx2csv(>=0.8.3) oder in2csv oder xlscat oder excel2csv oder Libreoffice \\
odt & pandoc oder odt2txt oder Libreoffice \\
odp & libreoffice \\
ods & xlscat oder Libreodffice \\
csv & csvtable oder csvlook oder column oder pandoc \\
rtf & unrtf oder Libreoffice \\
epub & pandoc \\
html, xml & xmg, w3m, lynx, elinks oder html2text \\
pdf & pdftotext oder perldoc \\
mp3 & ffprobe oder eyeD3 oder id3v2 \\
markdown & pandoc
java.class & procyon \\
binary data & strings \\
json & jp \\
\end{longtable}
%---------------------------------------------------
% Subsection: Installation
%---------------------------------------------------
\subsection{Installation}
Für Arch Linux Distributionen kann man das Paket mit dem Paket Manager installieren. Für Debian und deren Derivate kann das Script von der \href{https://lesspipe.org/downloads.html}{Projekt Seite} herunter geladen werden. Nach dem Download die Datei ausführbar machen und in das Verzeichnis {\ttfamily /usr/bin} kopieren.
\listBash
\begin{lstlisting}[captionpos=b, caption=Installation]
uws@tux># Arch Linux
uws@tux>sudo pacman -S lesspipe
uws@tux># Debian and other, after download
uws@tux>chmod +x lesspipe.sh
uws@tux>sudo cp lesspipe.sh /usr/bin
\end{lstlisting}
%---------------------------------------------------
% Subsection: Konfiguration
%---------------------------------------------------
\subsection{Konfiguration}
Damit {\ttfamily lesspipe} mit less zusammen arbeitet muss die Variable {\ttfamily LESSOPEN} gesetzt werden. Dieses geschieht am besten in der jeweiligen Konfigurationsdatei der Shell, für die Bash in der .bashrc.
\listBash
\begin{lstlisting}[captionpos=b, caption=LESSOPEN]
uws@tux>grep LESS .bashrc
export LESSOPEN="|lesspipe.sh %s"
\end{lstlisting}
%---------------------------------------------------
% Subsection: Syntax Highlight
%---------------------------------------------------
\subsection{Syntax Highlight}
Wenn das Programm {\ttfamily nvimpager} installiert ist, so wird dieses für die farbige Ausgabe verwendet. Ist es nicht installiert, werden die Programme {\ttfamily bat/batcat, pygmentize, source-highlight, code2color und vimcolor} ausprobiert. Für {\ttfamily pygmentize} und {\ttfamily bat/batcat} kann eine eingeschränkte Anzahl von Optionen für die Variable {\ttfamily LESSCOLORIZER} hinzugefügt werden.
\listBash
\begin{lstlisting}[captionpos=b, caption=LESSCOLORIZER]
LESSCOLORIZER='pygmentize -O style=foo'
LESSCOLORIZER='bat --style=foo --theme=bar' # --theme=default for default theme
\end{lstlisting}
Welche Script Sprachen die einzelnen Programme unterstützen, kann man sich folgendermaßen anzeigen lassen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Script Sprachen]
uws@tux>bat --list-languages
uws@tux>batcat --list-languages
uws@tux>pygmentize -L lexers
uws@tux>source-highlight --lang-list
uws@tux>code2color -h
uws@tux>vimcolor -L
\end{lstlisting}
\end{justify}
+3 -1
View File
@@ -16,4 +16,6 @@
\input{Kapitel12/Youtube}
\include{Kapitel12/LsDeluxe}
\input{Kapitel12/AsciiArt}
\input{Kapitel12/CodeOSS}
\input{Kapitel12/CodeOSS}
\newpage
\input{Kapitel12/Lesspipe}
+147
View File
@@ -0,0 +1,147 @@
\section{Lesspipe}
%---------------------------------------------------
% Subsection: Allgemein
%---------------------------------------------------
\subsection{Allgemein}
\begin{justify}
Das Programm {\ttfamily lesspipe.sh} ist eine Erweiterung von {\ttfamily less}. Mit dieser Erweiterung lassen sich weitere Formate ausgeben, wie z.B. PDF-Dateien, Kompromierte Dateien und Office Dateien. \\
Unterstützte Komprimierungsverfahren und Archivformate.
\begin{longtable}[l]{p{3cm}p{13cm}}
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endfirsthead
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endhead
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
\endfoot
\caption{Komprimierung und Archiv} \\
\endlastfoot
gzip & gzip \\
bzip2 & bzip2 \\
lzma & lzma oder 7z \\
xz & xz oder 7z \\
zstd & zstd \\
brotli & bro \\
lz4 & lz4 \\
zlib & pigz oder zlib-flate \\
dmg & 7z \\
tar & tar, optional archive\verb|_|color für Ausgabe in Farbe \\
ar & bsdtar oder ar \\
zip & unzip oder bsdtar \\
jar & unzip oder bsdtar \\
7-zip & 7zz oder 7zr oder 7z oder 7za \\
lzip & lzip \\
iso & bsdtar oder isoinfo oder 7z \\
rpm & rpm2cpio und cpio oder bsdtar \\
cab & cabextract oder 7z \\
cpio & cpio oder bsdtar oder 7z \\
appimage & unsquashfs \\
snap & unsquashfs \\
\end{longtable}
%\newpage
Eine Auswahl der Datei Typen.
\begin{longtable}[l]{p{3cm}p{13cm}}
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endfirsthead
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Typ}} & \multicolumn {1}{l}{\textbf{Erforderliches Programm}} \\
\hline
\hline
\endhead
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
\endfoot
\caption{Datei Typen} \\
\endlastfoot
nroff(man) & mandoc oder man oder groff \\
shared library & nm \\
MS Word(doc) & wvText oder catdoc oder Libreoffice \\
MS Word(docx) & pandoc oder docx2txt oder Libreoffice \\
Powerpoint(ppt) & catppt \\
Powerpoint(pptx) & pptx2md oder Libreoffice \\
Excel(xls) & in2csv oder xls2csv \\
Excel(xlsx) & xlsx2csv(>=0.8.3) oder in2csv oder xlscat oder excel2csv oder Libreoffice \\
odt & pandoc oder odt2txt oder Libreoffice \\
odp & libreoffice \\
ods & xlscat oder Libreodffice \\
csv & csvtable oder csvlook oder column oder pandoc \\
rtf & unrtf oder Libreoffice \\
epub & pandoc \\
html, xml & xmg, w3m, lynx, elinks oder html2text \\
pdf & pdftotext oder perldoc \\
mp3 & ffprobe oder eyeD3 oder id3v2 \\
markdown & pandoc
java.class & procyon \\
binary data & strings \\
json & jp \\
\end{longtable}
%---------------------------------------------------
% Subsection: Installation
%---------------------------------------------------
\subsection{Installation}
Für Arch Linux Distributionen kann man das Paket mit dem Paket Manager installieren. Für Debian und deren Derivate kann das Script von der \href{https://lesspipe.org/downloads.html}{Projekt Seite} herunter geladen werden. Nach dem Download die Datei ausführbar machen und in das Verzeichnis {\ttfamily /usr/bin} kopieren.
\listBash
\begin{lstlisting}[captionpos=b, caption=Installation]
uws@tux># Arch Linux
uws@tux>sudo pacman -S lesspipe
uws@tux># Debian and other, after download
uws@tux>chmod +x lesspipe.sh
uws@tux>sudo cp lesspipe.sh /usr/bin
\end{lstlisting}
%---------------------------------------------------
% Subsection: Konfiguration
%---------------------------------------------------
\subsection{Konfiguration}
Damit {\ttfamily lesspipe} mit less zusammen arbeitet muss die Variable {\ttfamily LESSOPEN} gesetzt werden. Dieses geschieht am besten in der jeweiligen Konfigurationsdatei der Shell, für die Bash in der .bashrc.
\listBash
\begin{lstlisting}[captionpos=b, caption=LESSOPEN]
uws@tux>grep LESS .bashrc
export LESSOPEN="|lesspipe.sh %s"
\end{lstlisting}
%---------------------------------------------------
% Subsection: Syntax Highlight
%---------------------------------------------------
\subsection{Syntax Highlight}
Wenn das Programm {\ttfamily nvimpager} installiert ist, so wird dieses für die farbige Ausgabe verwendet. Ist es nicht installiert, werden die Programme {\ttfamily bat/batcat, pygmentize, source-highlight, code2color und vimcolor} ausprobiert. Für {\ttfamily pygmentize} und {\ttfamily bat/batcat} kann eine eingeschränkte Anzahl von Optionen für die Variable {\ttfamily LESSCOLORIZER} hinzugefügt werden.
\listBash
\begin{lstlisting}[captionpos=b, caption=LESSCOLORIZER]
LESSCOLORIZER='pygmentize -O style=foo'
LESSCOLORIZER='bat --style=foo --theme=bar' # --theme=default for default theme
\end{lstlisting}
Welche Script Sprachen die einzelnen Programme unterstützen, kann man sich folgendermaßen anzeigen lassen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Script Sprachen]
uws@tux>bat --list-languages
uws@tux>batcat --list-languages
uws@tux>pygmentize -L lexers
uws@tux>source-highlight --lang-list
uws@tux>code2color -h
uws@tux>vimcolor -L
\end{lstlisting}
%---------------------------------------------------
% Subsection: Beispiele
%---------------------------------------------------
\subsection{Beispiele}
Als erstes Beispiel werden wir eine Datei aus einer Zip-Datei anzeigen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Zip-Datei]
uws@tux>less archive.zip:Readme.pdf
uws@tux>less Doku.rpm:archive.zip:Readme.pdf
\end{lstlisting}
Bei diesem Beispiel wird eine Datei aus einer Zip-Datei extrahiert. Nach der Angabe der zu extrahierenden Datei muss ein Doppelpunkt gesetzt werden.
\listBash
\begin{lstlisting}[captionpos=b, caption=Datei extrahieren]
uws@tux>less archive.zip:Picture01.png: > Picture01.png
\end{lstlisting}
\end{justify}
+1 -1
View File
@@ -168,7 +168,7 @@ uws@tux>multipass list [-vvvv]
Name State IPv4 Image
ubuntu-01 Running 10.80.122.178 Ubuntu 24.04 LTS
uws@tux>ubuntu info ubuntu-01
uws@tux>multipass info ubuntu-01
Name: ubuntu-01
State: Running
Snapshots: 0
+16 -2
View File
@@ -92,13 +92,20 @@ uws@tux>apt list | wc -l
% Section: Distributions Upgrade
%-------------------------------------------------------------------------------
\subsection{Distributions Upgrade}
Möchte man eine Debian Installation auf ein neues Release upgraden, so erfolgt dieses mit den nachfolgenden Schritten. In dem Beispiel wird von Debian 11 (bullseye) auf Debian 12 (bookworm) aktualisiert.
Möchte man eine Debian Installation auf ein neues Release upgraden, so erfolgt dieses mit den nachfolgenden Schritten. In dem Beispiel wird von Debian 11 (bullseye) auf Debian 12 (bookworm) aktualisiert. Dies funktioniert auch von Debian 12 nach Debian 13 (trixie).\\
Schaltet man sich auf einem entfernten Rechner mittels {\ttfamily ssh} auf, so ist es am besten, {\ttfamily screen} oder {\ttfamily tmux} zu installieren. Falls die Verbindung abbricht, so wird das Upgrade trotzdem weiterlaufen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Upgrade Distribution]
uws@tux># Installation screen
uws@tux>sudo apt istall screen -y
uws@tux># Screen session starten
uws@tux>sudo screen -S dist-upgrade
uws@tux># 1. Als erstes wird das aktuelle System aktualisiert
uws@tux>sudo apt update && sudo apt upgrade
uws@tux># 1. Ein Neustart des Systems
uws@tux># 2. Ein Neustart des Systems
uws@tux>sudo reboot now
uws@tux># 3. Edit source.list. Austausch bullseye durch bookworm
@@ -115,5 +122,12 @@ uws@tux>sudo apt full-upgrade
uws@tux># 7. Zum Abschluss ein Neustart
uws@tux>sudo reboot now
uws@tux># 8. Nacharbeiten nach dem reboot
uws@tux>sudo apt autoremove
uws@tux>sudo apt list '?obsolete'
uws@tux>sudo apt purge '?obsolete'
uws@tux>sudo apt list '?config-files'
uws@tux>sudo apt purge '?config-files'
\end{lstlisting}
\end{justify}
+4 -3
View File
@@ -8,10 +8,11 @@ Unter Arch Linux wird Software mit Kommandozeilen Werkzeug {\ttfamily pacman} ei
F"ur die Konfiguration von {\ttfamily Pacman} gibt es in dem Verzeichnis {\ttfamily /etc} die Datei {\ttfamily pacman.conf}. Eine Farbige Ausgabe der Meldungen erh"alt man, wenn die Option {\ttfamily color} eingeschaltet wurde. Seit der Version 6 von Pacman kann man parallele Downloads definieren. Ebenso kann man die Ausgabe der Progressbar als Pacman darstellen
\listBash
\begin{lstlisting}[captionpos=b, caption=Auszug pacman.conf]
uws@tux>egrep -i "download|color|candy" /etc/pacman.conf
Color
uws@tux>egrep -i "download|color|candy|VerbosePkg" /etc/pacman.conf
Color # Ausgabe in Farbe
ParallelDownloads=5
ILoveCandy # Pacman Progressbar
ILoveCandy # Pacman Progressbar
VerbosePkgLists # Ausfuehrliche Ausgabe
\end{lstlisting}
Die Download-Geschwindigkeit l"asst sich mit der Option {\ttfamily \verb|--|limit-rate}
festlegen. Diese Option wird dem Parameter {\ttfamily XferCommand} hinzugef"ugt.\\
+3 -3
View File
@@ -98,12 +98,12 @@ uws@tux>sudo dd if=/dev/sda bs=32K | \
Ein Restore von einem Image.
\listBash
\begin{lstlisting}[captionpos=b, caption=Restore]
uws@tux>sudo cat /backup/image.img.gz | \\
gunzip -d -c | \\
uws@tux>sudo cat /backup/image.img.gz | \
gunzip -d -c | \
dd of=/dev/sda bs=32K
uws@tux># Oder auch
uws@tux>sudo gunzio -c image.img.gz | \\
uws@tux>sudo gunzio -c image.img.gz | \
dd of=/dev/sdb
\end{lstlisting}
\newpage
+3 -1
View File
@@ -7,4 +7,6 @@
\input{Kapitel9/Displaymanager}
\include{Kapitel9/SCP}
\include{Kapitel9/RemoteDesktop}
\include{Kapitel9/Kasmvnc}
% Under Construction
%\include{Kapitel9/Kasmvnc}
\include{Kapitel9/Screen}
+31 -3
View File
@@ -394,7 +394,7 @@ fi
%-------------------------------------------------------------------------------
% Subsection: Security
%-------------------------------------------------------------------------------
\subsection{Security}
\subsection{Security - Fail2ban}
\subsubsection{Installation}
Um einen Server für Brut Force Attacken abzusichern, kann man {\ttfamily fail2ban} installieren. Erfolgen mehrere abgelehnte Anfragen von einer IP-Adresse, so wird diese IP-Adresse für einen bestimmten Zeitraum auf die Black-List gesetzt. Damit fail2ban funktioniert, muss eine Firewall installiert sein. Entweder {\ttfamily iptables} oder {\ttfamily ufw}.
\listBash
@@ -409,7 +409,7 @@ uws@tux>sudo apt install fail2ban # Debian
uws@tux>sudo pacman -S fail2ban # Arch Linux, Manjaro
\end{lstlisting}
\subsubsection{Konfiguration}
Nach der Installation kann fail2ban konfiguriert werden. Hierzu legen wir die Datei my-jail.con in dem Verzeichnis /etc/fail2ban/jail.d an.
Nach der Installation kann fail2ban konfiguriert werden. Hierzu legen wir die Datei {\ttfamily my-jail.conf} in dem Verzeichnis /etc/fail2ban/jail.d an. Man kann auch in dem Verzeichnis /etc/fail2ban die Datei {\ttfamily jail.local} anlegen umd Fail2ban zu konfigurieren.
\listBash
\begin{lstlisting}[captionpos=b, caption=Configuration]
uws@tux>cat /etc/fail2ban/jail.d/my-jail.conf
@@ -462,6 +462,7 @@ Nach dem Anlegen der Datei muss nun der fail2ban Dienst neu gestartet werden.
\begin{lstlisting}[captionpos=b, caption=Restart Service]
uws@tux>sudo systemctl restart fail2ban
\end{lstlisting}
Nach einer Änderng an der Konfiguration kann man mit {\ttfamily fail2ban-client reload} die neue Konfiguration laden.
\subsubsection{Befehle}
Als erstes prüfen wir, ob fail2ban funktioniert. Wenn fail2ban funktioniert, wird ein pong zurükgegeben.
\listBash
@@ -491,7 +492,10 @@ Status for the jail: sshd
|- Total banned: 84
`- Banned IP list: 103.101.225.67 103.176.96.75 104.168.68.119
\end{lstlisting}
\newpage
\begin{justify}
Ausgenommene IP-Adressen können auch ausgegeben werden.
\end{justify}
\listBash
\begin{lstlisting}[captionpos=b, caption=Anzeige ignoreip]
uws@tux>sudo fail2ban-client get sshd ignoreip
@@ -500,7 +504,30 @@ These IP addresses/networks are ignored:
|- ::1
`- 10.23.44.0/24
\end{lstlisting}
\newpage
Ausgabe der Bantime für einen Service. Die Ausgabe erfolgt in Sekunden.
\listBash
\begin{lstlisting}[captionpos=b, caption=Anzeige bantime]
uws@tux>sudo fail2ban-client get sshd bantime
259200
\end{lstlisting}
Die Anzahl der erlaupten Versuche für die Anmeldung kann man sich auch ausgeben lassen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Anzeige maxretry]
uws@tux>sudo fail2ban-client get sshd maxretry
3
\end{lstlisting}
Welche Log-Datei für die Auswertung genommen wird.
\listBash
\begin{lstlisting}[captionpos=b, caption=Anzeige logpath]
uws@tux>sudo fail2ban-client get sshd logpath
`- /var/log/auth.log
\end{lstlisting}
Anzeige der IP-Adressen, die gesperrt (banned) sind.
\listBash
\begin{lstlisting}[captionpos=b, caption=Anzeige banned]
uws@tux>sudo fail2ban-client get sshd banned
['193.32.162.212', '193.24.211.200', '46.29.239.136', '120.26.239.198']
\end{lstlisting}
Eine IP-Adresse kann auch manuell der Bannliste hinzugefügt werden, ebenso kann man auch eine davon entfernen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Bannliste]
@@ -521,6 +548,7 @@ root@tux>rm /var/run/utmp
root@tux>touch /var/run/utmp
\end{lstlisting}
\newpage
%-------------------------------------------------------------------------------
% Subsection: Tastaturlayout
%-------------------------------------------------------------------------------
+87
View File
@@ -0,0 +1,87 @@
\section{Screen}
\begin{justify}
Bei dem Programm {\ttfamily screen} handelt es sich um einen Terminalmultiplexer. Mit diesem Programm kann man virtuelle Terminals erstellen, die auch dann fortgeführt werden, wenn es zu einem Verbindungsabbruch (ssh) kommt. Bei einem Distributions Upgrade kann das sehr hilfreich sein, wenn man sich Remote auf einem System aufschalten muss.
%\begin{flushleft}
Hier einen Auswahl der Command Line Optionen von Screen.
%\end{flushleft}
\begin{longtable}[l]{p{3cm}p{13cm}}
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Option}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
\hline
\hline
\endfirsthead
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Option}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
\hline
\hline
\endhead
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
\endfoot
\caption{Command Optionen} \\
\endlastfoot
-a & Erzwingt die Integration aller Funktionen in die Terminalfunktion (termcap) jedes Fensters. \\
-c file & Verwendet eine benutzerdefinierte Konfigurationsdatei anstelle der Standarddatei .screenrc. \\
-dmS name & Startet den Bildschirm im abgetrennten Modus mit einem Sitzungsnamen (ähnlich einer Hintergrundaufgabe).\\
-ls \verb|[|match\verb|]| & Listet alle aktuellen Bildschirmsitzungen auf, optional mit Namensübereinstimmung.\\
-list \verb|[|match\verb|]| & Wie -ls.\\
-r \verb|[|session\verb|]| & Stellt die Verbindung zu einer getrennten Sitzung wieder her (sofern vorhanden).\\
-S name & Legt einen benutzerdefinierten Sitzungssocketnamen fest (hilfreich für die Verwaltung mehrerer Sitzungen).\\
-t title & Legt einen Fenstertitel fest (Name des Terminalfensters).\\
-U & Aktiviert UTF-8 Unterstützung innerhalb der Sitzung.\\
-v & Gibt die Bildschirmversion und das Build-Datum aus.\\
\end{longtable}
Die Shortcuts fangen immer mit {\ttfamily strg+a} an.
\begin{longtable}[l]{p{2cm}p{14cm}}
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Option}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
\hline
\hline
\endfirsthead
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Option}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
\hline
\hline
\endhead
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
\endfoot
\caption{Shortcut} \\
\endlastfoot
strg+a+A & Umbenennen des aktiven Fensters. \\
strg+a+n & Zum nächsten Fenster wechseln. \\
strg+a+p & Zum vorherigen Fenster wechseln. \\
strg+a+k & Schließen des aktuellen Fensters. \\
strg+a+S & Teilen des Fenster horizontal. Wechseln mit strg-a + Tab. \\
strg+a+X & Schließe das aktive geteilte Fenster. \\
strg+a+Q & Alle geteilten Fenster schließen. \\
strg+a+d & Verlassen einer Screen Sesion ohne sie zu beenden.\\
strg+a+r & Eine zuvor getrennte Sitzung wieder verbinden. \\
strg+a+[ & Kopiermodus aktivieren (zum Scrollen und Auswählen die Pfeiltasten verwenden). \\
strg+a+] & Fügt den kopierten Text in die Bildschirmsitzung ein. \\
\end{longtable}
\newpage
%-------------------------------------------------------------------------------
% Subsection: Beispiele
%-------------------------------------------------------------------------------
\subsection{Beispiele}
Starten einer neuen Sitzung.
\listBash
\begin{lstlisting}[captionpos=b, caption=Neue Sitzung]
uws@tux># Angabe des Namens optional
uws@tux>sreen -S dist-upgrade
\end{lstlisting}
Alle aktiven Sitzungen anzeigen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Sitzungen anzeigen]
uws@tux># Angabe des Namens optional
uws@tux>sreen -ls|-list [name]
There are screens on:
561489.MySession (Detached)
562789.dist-upgrade (Attached)
2 Sockets in /home/uws/.screen.
\end{lstlisting}
Sich mit einer Sitzung verbinden.
\listBash
\begin{lstlisting}[captionpos=b, caption=Sitzung verbinden]
uws@tux># sreen -r session_id|name
uws@tux>screen -r 561489
uws@tux># oder mit
uws@tux>screen -r MySession
\end{lstlisting}\end{justify}
BIN
View File
Binary file not shown.
+125 -124
View File
@@ -5,13 +5,13 @@
\contentsline {section}{\numberline {1.2}Shell Ged"achnis}{3}{section.1.2}%
\contentsline {subsection}{\numberline {1.2.1}Allgemein}{3}{subsection.1.2.1}%
\contentsline {subsection}{\numberline {1.2.2}Konfiguration}{3}{subsection.1.2.2}%
\contentsline {subsection}{\numberline {1.2.3}Alle Befehle speichern}{3}{subsection.1.2.3}%
\contentsline {subsection}{\numberline {1.2.3}Alle Befehle speichern}{4}{subsection.1.2.3}%
\contentsline {subsection}{\numberline {1.2.4}Navigation}{4}{subsection.1.2.4}%
\contentsline {subsection}{\numberline {1.2.5}Bash History Erweiterung}{4}{subsection.1.2.5}%
\contentsline {subsection}{\numberline {1.2.6}Bash History Modifier}{5}{subsection.1.2.6}%
\contentsline {subsection}{\numberline {1.2.7}History Einträge löschen}{5}{subsection.1.2.7}%
\contentsline {subsection}{\numberline {1.2.8}Beispiele}{5}{subsection.1.2.8}%
\contentsline {section}{\numberline {1.3}Befehle mehrzeilig}{6}{section.1.3}%
\contentsline {subsection}{\numberline {1.2.5}Bash History Erweiterung}{5}{subsection.1.2.5}%
\contentsline {subsection}{\numberline {1.2.6}Bash History Modifier}{6}{subsection.1.2.6}%
\contentsline {subsection}{\numberline {1.2.7}History Einträge löschen}{6}{subsection.1.2.7}%
\contentsline {subsection}{\numberline {1.2.8}Beispiele}{6}{subsection.1.2.8}%
\contentsline {section}{\numberline {1.3}Befehle mehrzeilig}{7}{section.1.3}%
\contentsline {section}{\numberline {1.4}Tastenzuordnung}{7}{section.1.4}%
\contentsline {section}{\numberline {1.5}Tastaturfunktionen}{7}{section.1.5}%
\contentsline {section}{\numberline {1.6}Prompt}{8}{section.1.6}%
@@ -603,33 +603,28 @@
\contentsline {subsection}{\numberline {10.2.13}Chroot f"ur Sftp}{250}{subsection.10.2.13}%
\contentsline {subsection}{\numberline {10.2.14}Sftp Beispiele}{252}{subsection.10.2.14}%
\contentsline {subsection}{\numberline {10.2.15}Login Mail}{252}{subsection.10.2.15}%
\contentsline {subsection}{\numberline {10.2.16}Security}{253}{subsection.10.2.16}%
\contentsline {subsection}{\numberline {10.2.16}Security - Fail2ban}{253}{subsection.10.2.16}%
\contentsline {subsubsection}{\numberline {10.2.16.1}Installation}{253}{subsubsection.10.2.16.1}%
\contentsline {subsubsection}{\numberline {10.2.16.2}Konfiguration}{253}{subsubsection.10.2.16.2}%
\contentsline {subsubsection}{\numberline {10.2.16.3}Befehle}{254}{subsubsection.10.2.16.3}%
\contentsline {subsection}{\numberline {10.2.17}Error}{255}{subsection.10.2.17}%
\contentsline {subsection}{\numberline {10.2.18}Tastaturlayout}{255}{subsection.10.2.18}%
\contentsline {subsection}{\numberline {10.2.19}Beispiele}{255}{subsection.10.2.19}%
\contentsline {section}{\numberline {10.3}Displaymanager}{256}{section.10.3}%
\contentsline {subsection}{\numberline {10.3.1}Konfiguration}{256}{subsection.10.3.1}%
\contentsline {subsection}{\numberline {10.3.2}Dienst starten}{256}{subsection.10.3.2}%
\contentsline {subsection}{\numberline {10.3.3}Root Login GDM}{256}{subsection.10.3.3}%
\contentsline {subsection}{\numberline {10.3.4} Anmelde Bildschirm}{256}{subsection.10.3.4}%
\contentsline {section}{\numberline {10.4}SCP}{257}{section.10.4}%
\contentsline {section}{\numberline {10.5}Remote Desktop}{258}{section.10.5}%
\contentsline {subsection}{\numberline {10.5.1}RDP - Arch Linux}{258}{subsection.10.5.1}%
\contentsline {subsubsection}{\numberline {10.5.1.1}Installation}{258}{subsubsection.10.5.1.1}%
\contentsline {subsubsection}{\numberline {10.5.1.2}Konfiguration}{258}{subsubsection.10.5.1.2}%
\contentsline {subsubsection}{\numberline {10.5.1.3}Troubleshooting}{259}{subsubsection.10.5.1.3}%
\contentsline {subsection}{\numberline {10.5.2}RDP - Debian}{259}{subsection.10.5.2}%
\contentsline {subsection}{\numberline {10.5.3}RDP mit ssh}{259}{subsection.10.5.3}%
\contentsline {section}{\numberline {10.6}Kasmvnc}{260}{section.10.6}%
\contentsline {subsection}{\numberline {10.6.1}Allgemein}{260}{subsection.10.6.1}%
\contentsline {subsubsection}{\numberline {10.6.1.1}Installation}{260}{subsubsection.10.6.1.1}%
\contentsline {subsubsection}{\numberline {10.6.1.2}Konfiguration}{260}{subsubsection.10.6.1.2}%
\contentsline {subsubsection}{\numberline {10.6.1.3}Troubleshooting}{260}{subsubsection.10.6.1.3}%
\contentsline {subsection}{\numberline {10.6.2}RDP - Debian}{261}{subsection.10.6.2}%
\contentsline {subsection}{\numberline {10.6.3}RDP mit ssh}{261}{subsection.10.6.3}%
\contentsline {subsection}{\numberline {10.2.18}Tastaturlayout}{256}{subsection.10.2.18}%
\contentsline {subsection}{\numberline {10.2.19}Beispiele}{256}{subsection.10.2.19}%
\contentsline {section}{\numberline {10.3}Displaymanager}{257}{section.10.3}%
\contentsline {subsection}{\numberline {10.3.1}Konfiguration}{257}{subsection.10.3.1}%
\contentsline {subsection}{\numberline {10.3.2}Dienst starten}{257}{subsection.10.3.2}%
\contentsline {subsection}{\numberline {10.3.3}Root Login GDM}{257}{subsection.10.3.3}%
\contentsline {subsection}{\numberline {10.3.4} Anmelde Bildschirm}{257}{subsection.10.3.4}%
\contentsline {section}{\numberline {10.4}SCP}{258}{section.10.4}%
\contentsline {section}{\numberline {10.5}Remote Desktop}{259}{section.10.5}%
\contentsline {subsection}{\numberline {10.5.1}RDP - Arch Linux}{259}{subsection.10.5.1}%
\contentsline {subsubsection}{\numberline {10.5.1.1}Installation}{259}{subsubsection.10.5.1.1}%
\contentsline {subsubsection}{\numberline {10.5.1.2}Konfiguration}{259}{subsubsection.10.5.1.2}%
\contentsline {subsubsection}{\numberline {10.5.1.3}Troubleshooting}{260}{subsubsection.10.5.1.3}%
\contentsline {subsection}{\numberline {10.5.2}RDP - Debian}{260}{subsection.10.5.2}%
\contentsline {subsection}{\numberline {10.5.3}RDP mit ssh}{260}{subsection.10.5.3}%
\contentsline {section}{\numberline {10.6}Screen}{261}{section.10.6}%
\contentsline {subsection}{\numberline {10.6.1}Beispiele}{262}{subsection.10.6.1}%
\contentsline {chapter}{\numberline {11}Benutzer / Gruppen}{263}{chapter.11}%
\contentsline {section}{\numberline {11.1}Benutzer}{263}{section.11.1}%
\contentsline {subsection}{\numberline {11.1.1}Anlegen}{263}{subsection.11.1.1}%
@@ -690,98 +685,104 @@
\contentsline {subsection}{\numberline {13.9.3}Beispiele}{287}{subsection.13.9.3}%
\contentsline {section}{\numberline {13.10}Ascii Art}{288}{section.13.10}%
\contentsline {section}{\numberline {13.11}CodeOSS}{288}{section.13.11}%
\contentsline {chapter}{\numberline {14}Virtualisierung}{289}{chapter.14}%
\contentsline {section}{\numberline {14.1}Qemu und KVM (Kernel-based Virtual Machine)}{289}{section.14.1}%
\contentsline {subsection}{\numberline {14.1.1}Voraussetzungen}{289}{subsection.14.1.1}%
\contentsline {subsection}{\numberline {14.1.2}Installation und Konfiguration Qemu}{289}{subsection.14.1.2}%
\contentsline {subsection}{\numberline {14.1.3}User}{290}{subsection.14.1.3}%
\contentsline {subsection}{\numberline {14.1.4}Datastore}{291}{subsection.14.1.4}%
\contentsline {subsection}{\numberline {14.1.5}Network}{291}{subsection.14.1.5}%
\contentsline {subsection}{\numberline {14.1.6}Maschine Location}{293}{subsection.14.1.6}%
\contentsline {subsection}{\numberline {14.1.7}Create Disk}{293}{subsection.14.1.7}%
\contentsline {subsection}{\numberline {14.1.8}Info Disk}{293}{subsection.14.1.8}%
\contentsline {subsection}{\numberline {14.1.9}Create Maschine}{294}{subsection.14.1.9}%
\contentsline {subsection}{\numberline {14.1.10}Konfiguration}{294}{subsection.14.1.10}%
\contentsline {subsection}{\numberline {14.1.11}Maschinen anzeigen}{294}{subsection.14.1.11}%
\contentsline {subsection}{\numberline {14.1.12}VM Console}{295}{subsection.14.1.12}%
\contentsline {subsection}{\numberline {14.1.13}Shutdown, Reboot und Start}{295}{subsection.14.1.13}%
\contentsline {subsection}{\numberline {14.1.14}Convert Disk}{295}{subsection.14.1.14}%
\contentsline {subsection}{\numberline {14.1.15}Resize Disk}{296}{subsection.14.1.15}%
\contentsline {subsection}{\numberline {14.1.16}Mount Disk Image}{296}{subsection.14.1.16}%
\contentsline {subsection}{\numberline {14.1.17}Anzeige UUID}{296}{subsection.14.1.17}%
\contentsline {subsection}{\numberline {14.1.18}Video RAM}{297}{subsection.14.1.18}%
\contentsline {subsection}{\numberline {14.1.19}Huge Pages}{297}{subsection.14.1.19}%
\contentsline {section}{\numberline {14.2}Troubleshooting (KVM)}{299}{section.14.2}%
\contentsline {subsection}{\numberline {14.2.1}Failed to start network default}{299}{subsection.14.2.1}%
\contentsline {subsection}{\numberline {14.2.2}Auswahl OS-System unvollständig}{299}{subsection.14.2.2}%
\contentsline {section}{\numberline {14.3}Virtual Box}{300}{section.14.3}%
\contentsline {subsection}{\numberline {14.3.1}Konfiguration}{300}{subsection.14.3.1}%
\contentsline {subsection}{\numberline {14.3.2}Verwaltung Console}{300}{subsection.14.3.2}%
\contentsline {subsection}{\numberline {14.3.3}Zugriff auf RDP Server}{301}{subsection.14.3.3}%
\contentsline {subsection}{\numberline {14.3.4}Gasterweiterung}{301}{subsection.14.3.4}%
\contentsline {subsection}{\numberline {14.3.5}PHPVirtualbox}{302}{subsection.14.3.5}%
\contentsline {section}{\numberline {14.4}Hyper-V}{303}{section.14.4}%
\contentsline {subsection}{\numberline {14.4.1} Light Display Manager}{303}{subsection.14.4.1}%
\contentsline {section}{\numberline {14.5}Multipass}{304}{section.14.5}%
\contentsline {subsection}{\numberline {14.5.1}Allgemein}{304}{subsection.14.5.1}%
\contentsline {subsection}{\numberline {14.5.2}Installation}{304}{subsection.14.5.2}%
\contentsline {subsection}{\numberline {14.5.3}VM Storage Loacation ändern}{304}{subsection.14.5.3}%
\contentsline {subsection}{\numberline {14.5.4}VMs installieren}{305}{subsection.14.5.4}%
\contentsline {subsection}{\numberline {14.5.5}VMs nutzen}{306}{subsection.14.5.5}%
\contentsline {subsection}{\numberline {14.5.6}Clone Machine}{306}{subsection.14.5.6}%
\contentsline {subsection}{\numberline {14.5.7}Daten Austausch}{306}{subsection.14.5.7}%
\contentsline {subsection}{\numberline {14.5.8}VMs Info}{307}{subsection.14.5.8}%
\contentsline {subsection}{\numberline {14.5.9}VMs starten / stoppen}{307}{subsection.14.5.9}%
\contentsline {subsection}{\numberline {14.5.10}VMs löschen}{307}{subsection.14.5.10}%
\contentsline {subsection}{\numberline {14.5.11}VMs Konfigurieren}{308}{subsection.14.5.11}%
\contentsline {subsection}{\numberline {14.5.12}Netzwerk anzeigen}{308}{subsection.14.5.12}%
\contentsline {section}{\numberline {14.6}Distrobox}{309}{section.14.6}%
\contentsline {subsection}{\numberline {14.6.1}Allgemein}{309}{subsection.14.6.1}%
\contentsline {subsection}{\numberline {14.6.2}Installation}{309}{subsection.14.6.2}%
\contentsline {subsection}{\numberline {14.6.3}Configuration}{309}{subsection.14.6.3}%
\contentsline {subsection}{\numberline {14.6.4}CLI Commands}{310}{subsection.14.6.4}%
\contentsline {subsection}{\numberline {14.6.5}Container erstellen}{311}{subsection.14.6.5}%
\contentsline {subsection}{\numberline {14.6.6}Container klonen}{311}{subsection.14.6.6}%
\contentsline {subsection}{\numberline {14.6.7}Container löschen}{311}{subsection.14.6.7}%
\contentsline {subsection}{\numberline {14.6.8}Hostnamen ändern}{312}{subsection.14.6.8}%
\contentsline {subsection}{\numberline {14.6.9}Ordner / Volumes einhängen}{312}{subsection.14.6.9}%
\contentsline {subsection}{\numberline {14.6.10}Gleichzeitig mehrere Container erstellen}{312}{subsection.14.6.10}%
\contentsline {chapter}{\numberline {15}Backup}{315}{chapter.15}%
\contentsline {section}{\numberline {15.1}Borg}{315}{section.15.1}%
\contentsline {subsection}{\numberline {15.1.1}Installation}{315}{subsection.15.1.1}%
\contentsline {subsection}{\numberline {15.1.2}Repository erstellen}{316}{subsection.15.1.2}%
\contentsline {subsection}{\numberline {15.1.3}Backup erstellen}{316}{subsection.15.1.3}%
\contentsline {subsection}{\numberline {15.1.4}Backup Scripten}{317}{subsection.15.1.4}%
\contentsline {subsection}{\numberline {15.1.5}Key Ex- und Import}{317}{subsection.15.1.5}%
\contentsline {subsection}{\numberline {15.1.6}Backup delete}{318}{subsection.15.1.6}%
\contentsline {subsection}{\numberline {15.1.7}Info Repo / Archiv}{318}{subsection.15.1.7}%
\contentsline {subsection}{\numberline {15.1.8}Mount / Umount}{319}{subsection.15.1.8}%
\contentsline {subsection}{\numberline {15.1.9}Change Passwort}{319}{subsection.15.1.9}%
\contentsline {subsection}{\numberline {15.1.10}Platzhalter}{319}{subsection.15.1.10}%
\contentsline {subsection}{\numberline {15.1.11}Restore}{320}{subsection.15.1.11}%
\contentsline {subsection}{\numberline {15.1.12}Backup "uberpr"ufen}{320}{subsection.15.1.12}%
\contentsline {subsection}{\numberline {15.1.13}Backup Rename}{320}{subsection.15.1.13}%
\contentsline {subsection}{\numberline {15.1.14}Borg unlock}{321}{subsection.15.1.14}%
\contentsline {section}{\numberline {15.2}Restic}{322}{section.15.2}%
\contentsline {subsection}{\numberline {15.2.1}Allgemein}{322}{subsection.15.2.1}%
\contentsline {subsection}{\numberline {15.2.2}Installation}{322}{subsection.15.2.2}%
\contentsline {subsection}{\numberline {15.2.3}Repository erstellen}{322}{subsection.15.2.3}%
\contentsline {subsection}{\numberline {15.2.4}Backup}{323}{subsection.15.2.4}%
\contentsline {subsection}{\numberline {15.2.5}Backup Vorhalten}{324}{subsection.15.2.5}%
\contentsline {subsection}{\numberline {15.2.6}Backup löschen}{324}{subsection.15.2.6}%
\contentsline {subsection}{\numberline {15.2.7}List Snapshots}{325}{subsection.15.2.7}%
\contentsline {subsection}{\numberline {15.2.8}List Files}{326}{subsection.15.2.8}%
\contentsline {subsection}{\numberline {15.2.9}Backup Statistik}{326}{subsection.15.2.9}%
\contentsline {subsection}{\numberline {15.2.10}Backup Check}{326}{subsection.15.2.10}%
\contentsline {subsection}{\numberline {15.2.11}Repository Unlock}{327}{subsection.15.2.11}%
\contentsline {subsection}{\numberline {15.2.12}Restore}{327}{subsection.15.2.12}%
\contentsline {subsection}{\numberline {15.2.13}Repository Keys}{327}{subsection.15.2.13}%
\contentsline {subsection}{\numberline {15.2.14}Probleme}{328}{subsection.15.2.14}%
\contentsline {subsubsection}{\numberline {15.2.14.1}Invalid Data returned}{328}{subsubsection.15.2.14.1}%
\contentsline {subsubsection}{\numberline {15.2.14.2}Error for tree}{328}{subsubsection.15.2.14.2}%
\contentsline {chapter}{\numberline {16}Security}{329}{chapter.16}%
\contentsline {section}{\numberline {16.1}Password Hash}{329}{section.16.1}%
\contentsline {subsection}{\numberline {16.1.1}Installation}{329}{subsection.16.1.1}%
\contentsline {subsection}{\numberline {16.1.2}Beispiele}{330}{subsection.16.1.2}%
\contentsline {subsection}{\numberline {16.1.3}Python Beispiel}{330}{subsection.16.1.3}%
\contentsline {chapter}{\numberline {17}Verweise / Links}{331}{chapter.17}%
\contentsline {section}{\numberline {13.12}Lesspipe}{289}{section.13.12}%
\contentsline {subsection}{\numberline {13.12.1}Allgemein}{289}{subsection.13.12.1}%
\contentsline {subsection}{\numberline {13.12.2}Installation}{290}{subsection.13.12.2}%
\contentsline {subsection}{\numberline {13.12.3}Konfiguration}{290}{subsection.13.12.3}%
\contentsline {subsection}{\numberline {13.12.4}Syntax Highlight}{290}{subsection.13.12.4}%
\contentsline {subsection}{\numberline {13.12.5}Beispiele}{291}{subsection.13.12.5}%
\contentsline {chapter}{\numberline {14}Virtualisierung}{293}{chapter.14}%
\contentsline {section}{\numberline {14.1}Qemu und KVM (Kernel-based Virtual Machine)}{293}{section.14.1}%
\contentsline {subsection}{\numberline {14.1.1}Voraussetzungen}{293}{subsection.14.1.1}%
\contentsline {subsection}{\numberline {14.1.2}Installation und Konfiguration Qemu}{293}{subsection.14.1.2}%
\contentsline {subsection}{\numberline {14.1.3}User}{294}{subsection.14.1.3}%
\contentsline {subsection}{\numberline {14.1.4}Datastore}{295}{subsection.14.1.4}%
\contentsline {subsection}{\numberline {14.1.5}Network}{295}{subsection.14.1.5}%
\contentsline {subsection}{\numberline {14.1.6}Maschine Location}{297}{subsection.14.1.6}%
\contentsline {subsection}{\numberline {14.1.7}Create Disk}{297}{subsection.14.1.7}%
\contentsline {subsection}{\numberline {14.1.8}Info Disk}{297}{subsection.14.1.8}%
\contentsline {subsection}{\numberline {14.1.9}Create Maschine}{298}{subsection.14.1.9}%
\contentsline {subsection}{\numberline {14.1.10}Konfiguration}{298}{subsection.14.1.10}%
\contentsline {subsection}{\numberline {14.1.11}Maschinen anzeigen}{298}{subsection.14.1.11}%
\contentsline {subsection}{\numberline {14.1.12}VM Console}{299}{subsection.14.1.12}%
\contentsline {subsection}{\numberline {14.1.13}Shutdown, Reboot und Start}{299}{subsection.14.1.13}%
\contentsline {subsection}{\numberline {14.1.14}Convert Disk}{299}{subsection.14.1.14}%
\contentsline {subsection}{\numberline {14.1.15}Resize Disk}{300}{subsection.14.1.15}%
\contentsline {subsection}{\numberline {14.1.16}Mount Disk Image}{300}{subsection.14.1.16}%
\contentsline {subsection}{\numberline {14.1.17}Anzeige UUID}{300}{subsection.14.1.17}%
\contentsline {subsection}{\numberline {14.1.18}Video RAM}{301}{subsection.14.1.18}%
\contentsline {subsection}{\numberline {14.1.19}Huge Pages}{301}{subsection.14.1.19}%
\contentsline {section}{\numberline {14.2}Troubleshooting (KVM)}{303}{section.14.2}%
\contentsline {subsection}{\numberline {14.2.1}Failed to start network default}{303}{subsection.14.2.1}%
\contentsline {subsection}{\numberline {14.2.2}Auswahl OS-System unvollständig}{303}{subsection.14.2.2}%
\contentsline {section}{\numberline {14.3}Virtual Box}{304}{section.14.3}%
\contentsline {subsection}{\numberline {14.3.1}Konfiguration}{304}{subsection.14.3.1}%
\contentsline {subsection}{\numberline {14.3.2}Verwaltung Console}{304}{subsection.14.3.2}%
\contentsline {subsection}{\numberline {14.3.3}Zugriff auf RDP Server}{305}{subsection.14.3.3}%
\contentsline {subsection}{\numberline {14.3.4}Gasterweiterung}{305}{subsection.14.3.4}%
\contentsline {subsection}{\numberline {14.3.5}PHPVirtualbox}{306}{subsection.14.3.5}%
\contentsline {section}{\numberline {14.4}Hyper-V}{307}{section.14.4}%
\contentsline {subsection}{\numberline {14.4.1} Light Display Manager}{307}{subsection.14.4.1}%
\contentsline {section}{\numberline {14.5}Multipass}{308}{section.14.5}%
\contentsline {subsection}{\numberline {14.5.1}Allgemein}{308}{subsection.14.5.1}%
\contentsline {subsection}{\numberline {14.5.2}Installation}{308}{subsection.14.5.2}%
\contentsline {subsection}{\numberline {14.5.3}VM Storage Loacation ändern}{308}{subsection.14.5.3}%
\contentsline {subsection}{\numberline {14.5.4}VMs installieren}{309}{subsection.14.5.4}%
\contentsline {subsection}{\numberline {14.5.5}VMs nutzen}{310}{subsection.14.5.5}%
\contentsline {subsection}{\numberline {14.5.6}Clone Machine}{310}{subsection.14.5.6}%
\contentsline {subsection}{\numberline {14.5.7}Daten Austausch}{310}{subsection.14.5.7}%
\contentsline {subsection}{\numberline {14.5.8}VMs Info}{311}{subsection.14.5.8}%
\contentsline {subsection}{\numberline {14.5.9}VMs starten / stoppen}{311}{subsection.14.5.9}%
\contentsline {subsection}{\numberline {14.5.10}VMs löschen}{311}{subsection.14.5.10}%
\contentsline {subsection}{\numberline {14.5.11}VMs Konfigurieren}{312}{subsection.14.5.11}%
\contentsline {subsection}{\numberline {14.5.12}Netzwerk anzeigen}{312}{subsection.14.5.12}%
\contentsline {section}{\numberline {14.6}Distrobox}{313}{section.14.6}%
\contentsline {subsection}{\numberline {14.6.1}Allgemein}{313}{subsection.14.6.1}%
\contentsline {subsection}{\numberline {14.6.2}Installation}{313}{subsection.14.6.2}%
\contentsline {subsection}{\numberline {14.6.3}Configuration}{313}{subsection.14.6.3}%
\contentsline {subsection}{\numberline {14.6.4}CLI Commands}{314}{subsection.14.6.4}%
\contentsline {subsection}{\numberline {14.6.5}Container erstellen}{315}{subsection.14.6.5}%
\contentsline {subsection}{\numberline {14.6.6}Container klonen}{315}{subsection.14.6.6}%
\contentsline {subsection}{\numberline {14.6.7}Container löschen}{315}{subsection.14.6.7}%
\contentsline {subsection}{\numberline {14.6.8}Hostnamen ändern}{316}{subsection.14.6.8}%
\contentsline {subsection}{\numberline {14.6.9}Ordner / Volumes einhängen}{316}{subsection.14.6.9}%
\contentsline {subsection}{\numberline {14.6.10}Gleichzeitig mehrere Container erstellen}{316}{subsection.14.6.10}%
\contentsline {chapter}{\numberline {15}Backup}{319}{chapter.15}%
\contentsline {section}{\numberline {15.1}Borg}{319}{section.15.1}%
\contentsline {subsection}{\numberline {15.1.1}Installation}{319}{subsection.15.1.1}%
\contentsline {subsection}{\numberline {15.1.2}Repository erstellen}{320}{subsection.15.1.2}%
\contentsline {subsection}{\numberline {15.1.3}Backup erstellen}{320}{subsection.15.1.3}%
\contentsline {subsection}{\numberline {15.1.4}Backup Scripten}{321}{subsection.15.1.4}%
\contentsline {subsection}{\numberline {15.1.5}Key Ex- und Import}{321}{subsection.15.1.5}%
\contentsline {subsection}{\numberline {15.1.6}Backup delete}{322}{subsection.15.1.6}%
\contentsline {subsection}{\numberline {15.1.7}Info Repo / Archiv}{322}{subsection.15.1.7}%
\contentsline {subsection}{\numberline {15.1.8}Mount / Umount}{323}{subsection.15.1.8}%
\contentsline {subsection}{\numberline {15.1.9}Change Passwort}{323}{subsection.15.1.9}%
\contentsline {subsection}{\numberline {15.1.10}Platzhalter}{323}{subsection.15.1.10}%
\contentsline {subsection}{\numberline {15.1.11}Restore}{324}{subsection.15.1.11}%
\contentsline {subsection}{\numberline {15.1.12}Backup "uberpr"ufen}{324}{subsection.15.1.12}%
\contentsline {subsection}{\numberline {15.1.13}Backup Rename}{324}{subsection.15.1.13}%
\contentsline {subsection}{\numberline {15.1.14}Borg unlock}{325}{subsection.15.1.14}%
\contentsline {section}{\numberline {15.2}Restic}{326}{section.15.2}%
\contentsline {subsection}{\numberline {15.2.1}Allgemein}{326}{subsection.15.2.1}%
\contentsline {subsection}{\numberline {15.2.2}Installation}{326}{subsection.15.2.2}%
\contentsline {subsection}{\numberline {15.2.3}Repository erstellen}{326}{subsection.15.2.3}%
\contentsline {subsection}{\numberline {15.2.4}Backup}{327}{subsection.15.2.4}%
\contentsline {subsection}{\numberline {15.2.5}Backup Vorhalten}{328}{subsection.15.2.5}%
\contentsline {subsection}{\numberline {15.2.6}Backup löschen}{328}{subsection.15.2.6}%
\contentsline {subsection}{\numberline {15.2.7}List Snapshots}{329}{subsection.15.2.7}%
\contentsline {subsection}{\numberline {15.2.8}List Files}{330}{subsection.15.2.8}%
\contentsline {subsection}{\numberline {15.2.9}Backup Statistik}{330}{subsection.15.2.9}%
\contentsline {subsection}{\numberline {15.2.10}Backup Check}{330}{subsection.15.2.10}%
\contentsline {subsection}{\numberline {15.2.11}Repository Unlock}{331}{subsection.15.2.11}%
\contentsline {subsection}{\numberline {15.2.12}Restore}{331}{subsection.15.2.12}%
\contentsline {subsection}{\numberline {15.2.13}Repository Keys}{331}{subsection.15.2.13}%
\contentsline {subsection}{\numberline {15.2.14}Probleme}{332}{subsection.15.2.14}%
\contentsline {subsubsection}{\numberline {15.2.14.1}Invalid Data returned}{332}{subsubsection.15.2.14.1}%
\contentsline {subsubsection}{\numberline {15.2.14.2}Error for tree}{332}{subsubsection.15.2.14.2}%
\contentsline {chapter}{\numberline {16}Security}{333}{chapter.16}%
\contentsline {section}{\numberline {16.1}Password Hash}{333}{section.16.1}%
\contentsline {subsection}{\numberline {16.1.1}Installation}{333}{subsection.16.1.1}%
\contentsline {subsection}{\numberline {16.1.2}Beispiele}{334}{subsection.16.1.2}%
\contentsline {subsection}{\numberline {16.1.3}Python Beispiel}{334}{subsection.16.1.3}%
\contentsline {chapter}{\numberline {17}Verweise / Links}{335}{chapter.17}%
+3 -6
View File
@@ -2,13 +2,10 @@
% Mit "a wird der Umlaut ä
Ich besch"aftige mich schon seit dem Jahr 1993 mit Unix. Unsere CAD Software lief damals auf Unix Maschinen
und 1998 habe ich dann Linux auf meinen Rechnern installiert. Damals habe ich SuSE installiert und bin bis heute
dieser Distribution treu geblieben.\\[2ex]
Die Shell unter Linux ist ein m"achtiges Werkzeug. Um mal schnell nach dem passenden Befehl nach zu schlagen,
wurde diese Dokumentation geschrieben. Zu den Befehlen gibt es meistens mehrere Parameter, die in dieser Dokumentation
nicht alle beschrieben werden. F"uer mehr Informationen kann man hierzu die Man Page aufrufen. Alle Befehle und auch die Scripte wurden in der Bash Shell ausprobiert und k"onnen auch in einer anderen Shell verwendet werden.\\[2ex]
und 1998 habe ich dann Linux auf meinen Rechnern installiert. Als erste Distribution habe ich SuSE installiert, heute habe ich Manjaro, Debian und Alma Linux im Einsatz.\\[2ex]
Die Shell unter Linux ist ein m"achtiges Werkzeug. Um mal schnell nach dem passenden Befehl nach zu schlagen, wurde diese Dokumentation geschrieben. Zu den Befehlen gibt es meistens mehrere Parameter, die in dieser Dokumentation nicht alle beschrieben werden. F"uer mehr Informationen kann man hierzu die Man Page aufrufen. Alle Befehle und auch die Scripte wurden in der Bash Shell ausprobiert und k"onnen auch in einer anderen Shell verwendet werden.\\[2ex]
%\ \\
Als OS Systeme wurden von mir OpenSuSE und Manjaro verwendet.\\[2ex]
Die Befehle wurden unter Manjaro und Debian getestet.\\[2ex]
%\ \\
Bei Fragen und Anregungen bin ich unter der folgenden Mail Adresse zu erreichen:\\
dXdzQHNlYWJhZXItYWcuZGU=