Section IPv6 added
This commit is contained in:
+10
@@ -12,4 +12,14 @@
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
*.log
|
||||
*.aux
|
||||
*.gz
|
||||
*.out
|
||||
*.tmp
|
||||
*.old
|
||||
*.new
|
||||
# removed .backup
|
||||
.backup
|
||||
*/*/.backup
|
||||
|
||||
|
||||
+3
-1
@@ -4,7 +4,7 @@
|
||||
Die CPU muss die Virtualisierung unterst"utzen. Hierzu kann man die Eigenschaften der CPU abfragen. Intel CPU's m"ussen die Option {\ttfamily vmx} unterst"utzen und AMD CPU's {\ttfamily svm}.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Abfrage CPU Info]
|
||||
root@tux>egrep '(vmx|svm)' /proc/cpuinfo
|
||||
root@tux>grep -E '(vmx|svm)' /proc/cpuinfo
|
||||
\end{lstlisting}
|
||||
Zus"atzlich kann man nachschauen, ob die Kernel Module geladen worden sind.
|
||||
\listBash
|
||||
@@ -32,6 +32,7 @@ Die nachfolgenden Pakete werden für die Installation von Qemu benötigt.
|
||||
\begin{lstlisting}[captionpos=b, caption=Installation]
|
||||
root@tux>pacman -S qemu-full qemu-guest-agent virt-manager virt-viewer bridge-utils
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
In der Datei /etc/libvirt/libvirtd.conf werden von zwei Einträgen das # entfernt. Danach wird dem User die Gruppe {\fftamily libvirt} hinzugefügt. Zum Abschluss aktivieren wor den Dienst libvirtd und melden uns einmal Ab und wieder An, damit die Änderungen greifen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Konfiguration]
|
||||
@@ -62,6 +63,7 @@ virsh #
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{User}
|
||||
Damit auch ein normaler User Virtuelle Maschinen erstellen und verwalten kann, muss er Mitglied in den Gruppen {\ttfamily libvirt, libvirt-qemu, qemu, kvm} sein. In den Distributionen sind nicht alle Gruppen vorhanden. In Arch Linux sind es zum Beispiel {\ttfamily kvm und libvirt}. Unter Debian sind es die Gruppen {\ttfamily kvm, libvirt, libvirt-qemu}.
|
||||
\newpage
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Datastore
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
+69
-2
@@ -15,6 +15,42 @@ Am einfachsten ist es , das Programm aus dem Snap Store zu installieren. Es wird
|
||||
uws@tux>sudo snap install multipass
|
||||
\end{lstlisting}
|
||||
%------------------------------------------------------------------------------
|
||||
% Subsection: VM Storage Loacation ändern
|
||||
%------------------------------------------------------------------------------
|
||||
\subsection{VM Storage Loacation ändern}
|
||||
Möchte man den Pfad für die VM's ändern, so kann man das folgendermaßen machen. Vorher sollten alle Machine gestoppt werden.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=VM Storage LOcation]
|
||||
uws@tux># Stoppen des Multipass daemon
|
||||
uws@tux>sudo snap stop multipass
|
||||
|
||||
uws@tux># Anlegen des neuen Verzechnisses und Berechtigungen
|
||||
uws@tux>mkdir -p /datastore/multipass/data
|
||||
uws@tux>mkdir -p /datastore/multipass/cache
|
||||
uws@tux>sudo -R chown root /datastore/multipass
|
||||
|
||||
uws@tux># Einen neuen Service erstellen
|
||||
uws@tux>sudo mkdir /etc/systemd/system/snap.multipass.multipassd.service.d
|
||||
uws@tux>sudo cat /etc/systemd/system/snap.multipass.multipassd.service.d/override.conf
|
||||
[Service]
|
||||
Environment=MULTIPASS_STORAGE=/datastore/multipass
|
||||
|
||||
uws@tux># Laden der Konfiguration
|
||||
uws@tux>sudo systemctl daemon-reload
|
||||
|
||||
uws@tux># Kopieren der VM's
|
||||
uws@tux>sudo -r /var/snap/multipass/common/data/multipassd /datastore/multipass/data
|
||||
uws@tux>sudo -r /var/snap/multipass/common/cache/multipassd /datastore/multipass/cache
|
||||
|
||||
uws@tux># Ändern der Pfade in den Konfigurationsdateien
|
||||
uws@tux># /datastore/multipass/data/multipass-vm-instance.json
|
||||
uws@tux># /datastore/multipass/cache/multipassd/vault/multipassd-instance-records.json
|
||||
|
||||
uws@tux># Multipass daemon starten
|
||||
uws@tux>sudo snap start multipass
|
||||
\end{lstlisting}
|
||||
Nun können die Maschinen gestarten werden.
|
||||
%------------------------------------------------------------------------------
|
||||
% Subsection: VMs installieren
|
||||
%------------------------------------------------------------------------------
|
||||
\subsection{VMs installieren}
|
||||
@@ -91,10 +127,14 @@ drwx------ 3 ubuntu ubuntu 4096 Feb 12 13:45 .ansible
|
||||
.
|
||||
.
|
||||
\end{lstlisting}
|
||||
%------------------------------------------------------------------------------
|
||||
% Subsection: Clone Machine
|
||||
%------------------------------------------------------------------------------
|
||||
\subsection{Clone Machine}
|
||||
Wurde in einer VM z.B. Software nach installiert und man benötigt dann weitere Maschinen, so kann man mit {\ttfamily clone} die VM Klonen. Die VM darf für das Klonen nicht mehr laufen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=VM Clone]
|
||||
uws@tux>multipass clone ubuntu-01 --name ubuntu-02
|
||||
uws@tux>multipass --name ubuntu-02 clone ubuntu-01
|
||||
Cloned from ubuntu-01 to ubuntu-02.
|
||||
\end{lstlisting}
|
||||
%------------------------------------------------------------------------------
|
||||
@@ -105,7 +145,6 @@ Zwei Möglichkeiten gibt es, mit einer laufenden VM Daten auszutauschen, Entwede
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Daten Austausch]
|
||||
uws@tux>multipass mount /home/uws/Bilder ubuntu-01
|
||||
|
||||
uws@tux>multipass mount /home/uws/Bilder ubuntu-01:/home/ubuntu/Picture
|
||||
|
||||
uws@tux># Entfernt alle Mount Points
|
||||
@@ -199,4 +238,32 @@ uws@tux>multipass get local.ubuntu-01.cpus
|
||||
uws@tux># Einen Wert neu setzten
|
||||
uws@tux>multipass set local.ubuntu-01.cpus=2
|
||||
\end{lstlisting}
|
||||
Disk Size ändern.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Disk Size ändern]
|
||||
uws@tux>multipass stop ubuntu-01
|
||||
uws@tux>multipass set local.ubuntu-01.disk=40G
|
||||
uws@tux>multipass start ubuntu-01
|
||||
\end{lstlisting}
|
||||
%------------------------------------------------------------------------------
|
||||
% Subsection: Netzwek
|
||||
%------------------------------------------------------------------------------
|
||||
\subsection{Netzwerk anzeigen}
|
||||
Alle vorhandenen Netzwerke können mit dem folgenden Befehl ausgegeben werden.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Netzwerk]
|
||||
uws@tux>multipass networks
|
||||
Name Type Description
|
||||
br-2c2d9e9dd676 bridge Network bridge
|
||||
br-6a1492a6a73f bridge Network bridge
|
||||
br-7846a271a60e bridge Network bridge
|
||||
br-8a5d02bc7bfa bridge Network bridge
|
||||
br-dbb481757c70 bridge Network bridge
|
||||
docker0 bridge Network bridge
|
||||
docker_gwbridge bridge Network bridge
|
||||
eno1 ethernet Ethernet device
|
||||
mpqemubr0 bridge Network bridge
|
||||
virbr0 bridge Network bridge
|
||||
\end{lstlisting}
|
||||
|
||||
\end{justify}
|
||||
|
||||
@@ -72,6 +72,7 @@ uws@tux>borg create [-v] [--stats] [--list] [--progress] /repo/path::Sunday /dat
|
||||
-e, \verb|--|exclude & Ausschlie"sen von Dateien / Verzeichnissen. Kann mehrfach angegeben werden.\\
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
\newpage
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Backup Scripten
|
||||
%-------------------------------------------------------------------------------
|
||||
@@ -177,6 +178,7 @@ All archives: 902.14 GB 848.43 GB 151.90 GB
|
||||
Unique chunks Total chunks
|
||||
Chunk index: 220795 1195021
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Info Archiv]
|
||||
uws@tux>borg info /repo/path::Montag
|
||||
|
||||
+14
-1
@@ -1,6 +1,6 @@
|
||||
\section{Functions}
|
||||
%---------------------------------------------------
|
||||
% Subsection: Notes Pfade
|
||||
% Subsection: List Functions
|
||||
%---------------------------------------------------
|
||||
\subsection{List Functions}
|
||||
\begin{justify}
|
||||
@@ -33,4 +33,17 @@ uws@tux>zypeset -f FunctionName
|
||||
uws@tux># or
|
||||
uws@tux>type FunctionName
|
||||
\end{lstlisting}
|
||||
%---------------------------------------------------
|
||||
% Subsection: Function in Alias
|
||||
%---------------------------------------------------
|
||||
\subsection{Function in Alias}
|
||||
In einem Alias kann man auch eine Function definieren.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Function in Alias]
|
||||
alias md2pdf='function Md2Pdf(){ pandoc --verbose --toc --number-sections --default-image-extension=pdf -V lang=de -o $(basename "$1" .md).pdf "$1" ; }; Md2Pdf'
|
||||
|
||||
alias decode='function myDecode(){ echo "$1" | base64 -d; }; myDecode'
|
||||
|
||||
alias encode='function myEncode(){ echo "$1" | base64; }; myEncode'
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
||||
|
||||
+8
-7
@@ -1,5 +1,5 @@
|
||||
\section{Grep}
|
||||
Für {ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolgend eine Auswahl von Parametern.
|
||||
Für {\ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolgend eine Auswahl von Parametern.
|
||||
\begin{longtable}[l]{p{2cm}p{5cm}p{9cm}}
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Kurzform}} & \multicolumn {1}{l}{\textbf{Langform}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
|
||||
\hline
|
||||
@@ -15,7 +15,7 @@ Für {ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolg
|
||||
\caption{Parameter} \\
|
||||
\endlastfoot
|
||||
-A num & \verb|--|after-contect=num & Gibt zusätzlich nach dem passenden Suchbegriff die num Zeilen aus \\
|
||||
-a text & --text & Eine Binäre Datei wird verarbeitet, als wäre sie Text. Entpricht \ver|--|binary-files=text \\
|
||||
-a text & --text & Eine Binäre Datei wird verarbeitet, als wäre sie Text. Entpricht \verb|--|binary-files=text \\
|
||||
-B num & \verb|--|before-context=num & Gibt zusätzlich vor dem passenden Suchbegriff die num Zeilen aus \\
|
||||
-b & \verb|--|byte-offset & gibt den Byte-Offset innerhalb der Datei vor jeder gefundenen Zeile an \\
|
||||
-C num &\verb|--|context=num & gibt zusätzlich NUM Zeilen von Kontext aus. Zwischen zusammenhängende Gruppen von Treffern werden Zeilen mit \verb|"–"| eingefügt \\
|
||||
@@ -39,6 +39,7 @@ Für {ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolg
|
||||
-v & \verb|--|invert-match & Es werden alle Zeilen ausgegeben, die nicht das Suchmuster enthalten \\
|
||||
-w & \verb|--|word-regexp & Es werden nur die Zeilen ausgegeben, die aus vollständigen Wörterm nestehen \\
|
||||
\end{longtable}
|
||||
\newpage
|
||||
%----------------------------------------------------------
|
||||
% In Farbe
|
||||
%----------------------------------------------------------
|
||||
@@ -88,9 +89,9 @@ rman-0816 Errors found
|
||||
Mit {\ttfamily grep} kann man die Optionen {\ttfamily -E} oder {\ttfamily -e} nehmen. {\ttfamily Egrep} ist ein {\ttfamily grep} mit der Option {\ttfamily -E}. Gibt man ein {\ttfamily .*} in dem Suchstring ein, so ist es wie ein {\ttfamily und}. Ein {\ttfamily oder} wird mit einem {\ttfamily Pipe} gemacht. Nachfolgend sind einige Beispiele aufgelistet.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Mehrere W"orter Suchen]
|
||||
uws@tux>grep -i "Manager\|Sales" employee.txt
|
||||
100 Thomas Manager Sales 5,000€
|
||||
400 Willi Manager Marketing 2,500€
|
||||
uws@tux>grep -i "Manager|Sales" employee.txt
|
||||
100 Thomas Manager Sales 5,000
|
||||
400 Willi Manager Marketing 2,500
|
||||
|
||||
uws@tux>grep -i -E "Manager|Sales" employee.txt
|
||||
|
||||
@@ -99,7 +100,7 @@ uws@tux>egrep -i "manager|sales" employee.txt
|
||||
uws@tux>grep -e "Manager" -e "Sales" employee.txt
|
||||
|
||||
uws@tux>grep -E "Manager.*Sales" employee.txt
|
||||
100 Thomas Manager Sales 5,000€
|
||||
100 Thomas Manager Sales 5,000
|
||||
\end{lstlisting}
|
||||
%----------------------------------------------------------
|
||||
% Zeilen Nummer
|
||||
@@ -130,7 +131,7 @@ Mit {\ttfamily -v} wird alles ausgegeben, au"ser dem Suchstring.
|
||||
\begin{lstlisting}[captionpos=b, caption=Alles Suchen]
|
||||
uws@tux>grep -v "RMAN-08" /home/uws/log/rman_level0.log
|
||||
Recovery Manager: Release 11.1.0.6.0 - Production on Mon Apr 29 19:00:00 2013
|
||||
Copyright © 1982, 2007 Oracle. All rights reserved
|
||||
Copyright 1982, 2007 Oracle. All rights reserved
|
||||
\end{lstlisting}
|
||||
%----------------------------------------------------------
|
||||
% Ausgabe Datei
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
\section{Hexadezimal}
|
||||
%---------------------------------------------------
|
||||
% Subsection: Allgemein
|
||||
%---------------------------------------------------
|
||||
\subsection{Allgemein}
|
||||
\begin{justify}
|
||||
Eine Hexadezimal Zahl ist eine Potenz von 16. \\
|
||||
16^{0} = 0-9, \verb|a-f| \\
|
||||
16^{1} = 16 \\
|
||||
16^{2} = 16 * 16 = 256 \\
|
||||
16^{3} = 16 * 16 * 16 = 4096 \\
|
||||
16^{4} = 16 * 16 * 16 * 16 = 65536 $ \\
|
||||
16^{5} = 16 * 16 * 16 * 16 * 16 = 1048576
|
||||
|
||||
\begin{justify}
|
||||
Die Buchstaben \verb|a-f| stehen f\"ur: \\
|
||||
|
||||
a=10, b=11, c=12, d=13, e=14 und f=15
|
||||
\end{justify}
|
||||
%---------------------------------------------------
|
||||
% Subsection: Hexadezimal nach Dezimal
|
||||
%---------------------------------------------------
|
||||
\subsection{Hexadezimal nach Dezimal}
|
||||
Die Hexadezimal Zahl 154b3 wollen wir nun in Dezimal umrechnen. Hierzu können wir folgendes aufschreiben: \\
|
||||
16^{4}\hspace{0.5cm} 16^{3}\hspace{0.5cm} 16^{2}\hspace{0.5cm} 16^{1}\hspace{0.5cm} 16^{0} \\
|
||||
1\hspace{0.9cm}5\hspace{0.9cm}4\hspace{0.9cm}b\hspace{0.9cm}3 \\
|
||||
Berechnung: \\
|
||||
% -- Inline Math Block mit $ ... $ --
|
||||
% -- Math Block mit
|
||||
%\begin{equation}
|
||||
% Inhalt...
|
||||
%\end{equation}
|
||||
$ 1 * 65536 + 5 * 4096 + 4 * 256 + 11 * 16 + 3 * 1 = 87219 $
|
||||
%---------------------------------------------------
|
||||
% Subsection: Dezimal nach Hexadezimal
|
||||
%---------------------------------------------------
|
||||
\subsection{Dezimal nach Hexadezimal}
|
||||
Die Zahl 5078 wollen wir nun in eine Hexadezimal Zahl umrechnen. \\
|
||||
$ 5078 / 4096 = 1 $ => Rest 982 \\
|
||||
$ 982 / 256 = 3 $ => Rest 214 \\
|
||||
$ 214 / 16 = 13 $ => Rest 6 (13=d)\\
|
||||
$ 6 = 6 $ \\
|
||||
Die Hexadezimal Zahl ist nun: 13d6
|
||||
\end{justify}
|
||||
@@ -28,5 +28,7 @@
|
||||
\input{Kapitel2/Curl} % Curl
|
||||
\input{Kapitel2/Latex} % Latex
|
||||
\input{Kapitel2/Base64} % Base64 Codierung
|
||||
\input{Kapitel2/Hexadezimal}
|
||||
\input{Kapitel2/Kde}
|
||||
\newpage
|
||||
\input{Kapitel2/Functions}
|
||||
+1
-1
@@ -41,7 +41,7 @@ Aus einer Tex-Datei kann man mit {\ttfamily xelatex} oder {\ttfamily pdflatex} P
|
||||
% Subsection: Package ngerman
|
||||
%---------------------------------------------------
|
||||
\subsection{Package ngerman}
|
||||
Wir bei dem erstellen einer PDF-Datei eine Meldung ausgegeben, es würde das Package ngerman fehlen,so kann man es mit dem Paketmanager der Distribution nachinstallieren.
|
||||
Wird bei dem erstellen einer PDF-Datei eine Meldung ausgegeben, es w\"urde das Package ngerman fehlen,so kann man es mit dem Paketmanager der Distribution nachinstallieren.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Sty-Dateien]
|
||||
uws@tux># Arch Linux und Manjaro
|
||||
|
||||
@@ -69,7 +69,7 @@ Hirsch Z4 4
|
||||
%----------------------------------------------------------
|
||||
\subsubsection{Build-In Variablen Beispiele}
|
||||
{\ttfamily \verb|$|0}\\
|
||||
Anstelle von {\ttfamily print \$0}} kann man auch nur {\ttfamily print} angeben und es werden alle Inhalte ausgegeben.
|
||||
Anstelle von {\ttfamily print \$0} kann man auch nur {\ttfamily print} angeben und es werden alle Inhalte ausgegeben.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel \$0]
|
||||
uws@tux># Alternative: awk '{print}' employees.txt
|
||||
@@ -150,7 +150,7 @@ Man B6 2
|
||||
Praveen M42 3
|
||||
Hirsch Z4 4
|
||||
|
||||
uws@ŧux># Anzeige der ersten und letzten Spalte
|
||||
uws@tux># Anzeige der ersten und letzten Spalte
|
||||
uws@tux>awk '{print $1,$NF}' employees.txt
|
||||
ajay 45000
|
||||
sunil 25000
|
||||
|
||||
+4
-2
@@ -11,6 +11,7 @@
|
||||
\input{Kapitel3/USB_Geraete}
|
||||
\newpage
|
||||
\input{Kapitel3/Formatieren}
|
||||
\newpage
|
||||
\input{Kapitel3/FestplattenPartitionenShow}
|
||||
\input{Kapitel3/BootPartitionClone}
|
||||
\input{Kapitel3/IsoImage}
|
||||
@@ -18,9 +19,10 @@
|
||||
\input{Kapitel3/Hdparm}
|
||||
\input{Kapitel3/LoopbackDevice}
|
||||
\input{Kapitel3/FestplattenStatistic}
|
||||
\input{Kapitel3/FilesystemReadOnlyModus}
|
||||
\input{Kapitel3/FilesystemReadOnlyModus}
|
||||
\newpage
|
||||
\input{Kapitel3/PartitonsInfo}
|
||||
\include{Kapitel3/SwapSize}
|
||||
\input{Kapitel3/SwapSize}
|
||||
\newpage
|
||||
\input{Kapitel3/RAID}
|
||||
\input{Kapitel3/SSHMount}
|
||||
|
||||
+1
-1
@@ -158,6 +158,7 @@ Mit {\ttfamily examine und scan} zeigt den erkannten Array an.
|
||||
root@tux>mdadm --examine --scan
|
||||
ARRAY /dev/md/Datastore metadata=1.2 UUID=8c08f95f:a4a0da14:d1386b30:eeaa6de4 name=fsgo220:Datastore
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Raid loeschen
|
||||
%-------------------------------------------------------------------------------
|
||||
@@ -172,7 +173,6 @@ root@tux>mdadm --zero-superblock /dev/loop1
|
||||
root@tux>mdadm --zero-superblock /dev/loop2
|
||||
root@tux>mdadm --remove /dev/md/md0
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Platte entfernen
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
@@ -29,6 +29,7 @@ Eine neue Swap Partition kann man folgenderma"sen einbinden.
|
||||
root@tux>swapon /dev/sda2
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
||||
\newpage
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Swapfile
|
||||
%-------------------------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
\section{Dpkg (Debian)}
|
||||
\begin{justify}
|
||||
Mit dem Programm {\ttfamily dpkg} werden DEB-Pakete verwaltet, wie z.B. Installiert oder gelöscht.
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Paket installieren
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Paket installieren}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Paket installieren]
|
||||
uws@tux>sudo dpkg -i <Packege.deb>
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Paket löschen
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Paket löschen}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Paket löschen]
|
||||
uws@tux>sudo dpkg -r <PackageName>
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Paket Reconfigure
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Paket Reconfigure}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Paket reconfigure]
|
||||
uws@tux>sudo dpkg-reconfigure <PackageName>
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
||||
@@ -9,6 +9,7 @@
|
||||
\input{Kapitel4/Yum} % Red Hat
|
||||
\newpage
|
||||
\input{Kapitel4/Apt} % Debian
|
||||
\input{Kapitel4/Dpkg} % Debian
|
||||
\newpage
|
||||
\input{Kapitel4/Pacman} % Arch Linux
|
||||
\include{Kapitel4/Pamac} % Arch Linux
|
||||
|
||||
@@ -186,6 +186,17 @@ uws@tux>sudo pacman -Qdti | less
|
||||
uws@tux># Löschen
|
||||
uws@tux>sudo pacman -Qdtq | pacman -Rns -
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsubsection{Update schlägt fehl wegen Linux Firmare Nvidia}
|
||||
Schlägt ein Update fehl, weil eine Abhängigkeit mit der {\ttfamily linux-firmware-nvidia} nicht aufgelöst werden kann, so kann man das Paket folgendermaßen entfernen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Firmware löschen]
|
||||
uws@tux># Anzeigen
|
||||
uws@tux>sudo pacman -Q linux-firmware
|
||||
|
||||
uws@tux># Löschen
|
||||
uws@tux>sudo pacman -Rns linux-firmware
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Befehle
|
||||
|
||||
@@ -59,8 +59,8 @@ uws@tux>ip a
|
||||
.
|
||||
.
|
||||
|
||||
uws@tux># IPv6 = -6 and show only device wlan0
|
||||
uws@tux>ip -4 a wlan0
|
||||
uws@tux># IPv6 = -6
|
||||
uws@tux>ip -o -4 a
|
||||
|
||||
uws@tux># List inet values
|
||||
uws@tux>ip -f inet a s
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
\section{IPv6}
|
||||
\begin{justify} % Blocksatz
|
||||
Eine IPv6 Adresse ist 128 bit lang. Dier ersten 64 bit ist das {\ttfamily Präfix} und die letzten 64 bit das {\ttfamily Interface-Identifier}. Die IPv6 Adresse besteht aus 8 Blöcken zu je 4 Stellen. Die Blöcke werden mit einem {\ttfamily Doppelpunkt} voneinenader getrennt, wie in diesem Beispiel zu sehen: \\ fda4:34ae:228b:dfba:02c4:88a2e:0370:7344. \\
|
||||
Die ersten 64bit bestehen aus dem Präfix, Global ID und der Subnet ID. Die Global ID und Subnet ID kann selbst festgelegt werden.
|
||||
\begin{itemize}
|
||||
\item Präfix: 20
|
||||
\item Global ID: 99bc7ec715
|
||||
\item Subnet ID: 4260
|
||||
\item IPv6: 2099:bc7e:c715:4260::/64
|
||||
\end{itemize}
|
||||
Die Werte werden in Hexadezimal angegeben.
|
||||
\begin{itemize}
|
||||
\item Innerhalb eines Blocks dürfen führende Nullen ausgelassen werden. \\
|
||||
Aus 2001:0db8:0000:08d3:0000:8a2e:0070:7344 kann man auch 2001:db8:0:8d3:0:8a2e:70:7344
|
||||
\item Ein oder mehrere aufeinander folgenden Blöcke, deren Wert 0 bzw. 0000 beträgt, dürfen ausgelassen werden. Dies wird durch zwei Doppelpunkte angezeigt. Diese Regel darf nur einmal durchgeführt werden. Die IP-Adresse 2001:db8:0:0:0:0:1428:57ab kann auch 2001:db8::1428:57ab geschrieben werden.
|
||||
\item Die Reduktion der IPv6 Adresse darf nur einmal durchgeführt werden. \\
|
||||
Die Adresse 2001:0db8:0:0:835:0:0:0 darf entwerde zu 2001:db8:0:0:8d4:: oder zu 2001:db8:::8d3:0:0:0 gekürzt werden. Es empfiehlt sich, die Gruppe mit den meisten Null-Blöcken zu kürzen.
|
||||
\end{itemize}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Netz_Notation
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Netz Notation}
|
||||
IPv6-Netzwerke werden in der CIDR-Notation aufgeschrieben. Dazu werden die erste Adresse und die Länge des Präfixes in Bits getrennt durch einen Schrägstrich notiert. Hier nun ein Beispiel: \\
|
||||
2001:0db8:1234::/48 steht für den Range 2001:0db8:1234:0000:0000:0000:0000:0000 \\
|
||||
bis 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff.
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Private IPv6
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Private IPv6}
|
||||
Eine Private IPv6 Adresse fängt mit {\ttfamily fd} an. Das Präfix {\ttfamily fc} ist für global zugewiesene, eindeutige ULA reserviert.
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: URI_Notation
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{URI Notation}
|
||||
In einem Browser wird die IPv6 Adresse in eckigen Klammern gesetz, das verhindert die fälschliche Interpretation von Portnummern. \\
|
||||
https://[2001:0db8:85a3:08d3::0370:7344]/ \\
|
||||
Mit der Angabe einer Port Nummer: \\
|
||||
https://[2001:0db8:85a3:08d3::0370:7344]:8080/
|
||||
\end{justify}
|
||||
@@ -23,3 +23,4 @@
|
||||
\newpage
|
||||
\input{Kapitel5/NetzwerkCheck}
|
||||
\input{Kapitel5/Netzwerkzugriffe}
|
||||
\input{Kapitel5/IPv6}
|
||||
|
||||
@@ -51,7 +51,10 @@ In der nachfolgenden Tabelle sind einige Optionen f"ur iperf und auch iperf3 auf
|
||||
\verb|-|w, \verb|--|windows \verb|[k][m]| & TCP Window size\\
|
||||
\verb|-|l, \verb|--|len \verb|[k][m]| & Length of Buffer to read/write default 8k\\
|
||||
\end{longtable}
|
||||
\newpage
|
||||
\begin{justify}
|
||||
Der Nachfolger von iperf ist iperf3.
|
||||
\end{justify}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Iperf3 Server start]
|
||||
uws@tux1>iperf3 -s
|
||||
@@ -201,6 +204,7 @@ today 18.77 MiB | 88.16 MiB | 106.93 MiB | 18.69 kbit/s
|
||||
----------------------+-------------+-------------+---------------
|
||||
estimated 33.78 MiB | 158.68 MiB | 192.47 MiB |
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
Ausgabe in einer Datei.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Ausgabe Datei]
|
||||
|
||||
+19
-2
@@ -1,9 +1,9 @@
|
||||
\section{Ping}
|
||||
\begin{justify}
|
||||
\subsection{IP-Range durchsuchen}
|
||||
\begin{justify}
|
||||
Ausgeben von erreichbaren Ger"aten.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Ping, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=Ping]
|
||||
root@tux>for i in $(seq 10 30); do ping -c 1 "192.168.30.$i" | grep "bytes from"; done
|
||||
64 bytes from 192.168.30.10: icmp_seq=1 ttl=64 time=39.8 ms
|
||||
64 bytes from 192.168.30.20: icmp_seq=1 ttl=255 time=1.50 ms
|
||||
@@ -22,4 +22,21 @@ Oder mit dem Befehl:
|
||||
\begin{lstlisting}[captionpos=b, caption=sysctl]
|
||||
uws@tux>sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"
|
||||
\end{lstlisting}
|
||||
%===============================================================================
|
||||
% Subsection: Ping als User
|
||||
%===============================================================================
|
||||
\subsection{Ping als User}
|
||||
Führt man ein {\ttfamily ping} als normaler User aus und es kommt dann die folgende Fehlermeldung: \\
|
||||
ping: socket: Die Operation ist nicht erlaubt \\
|
||||
ping: fehlende cap\verb|_|net\verb|_|raw+p Fähigkeit oder setuid? \\
|
||||
Die Lösung ist, das man mit {\ttfamily setcap} den fehlenden Parameter setzt.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Setcap]
|
||||
uws@tux>sudo setcap cap_net_raw+p /usr/bin/ping
|
||||
|
||||
uws@tux># Check
|
||||
uws@tux>sudo getcap /usr/bin/ping
|
||||
|
||||
/usr/bin/ping cap_net_raw=ep
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
||||
+5
-1
@@ -15,10 +15,14 @@ root@tux># run single command
|
||||
root@tux>arch-chroot /mnt/new/root mkinitcpio -p linux54
|
||||
\end{lstlisting}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Chroot hand]
|
||||
\begin{lstlisting}[captionpos=b, caption=Chroot Hand]
|
||||
root@tux>mkdir -p /mnt/new/root
|
||||
|
||||
root@tux>mount /dev/sdxx /mnt/new/root
|
||||
root@tux># Für BTRFS Systeme
|
||||
root@tux>mount /dev/sdxx /mnt/new/root -o subvol=@
|
||||
root@tux># Für EFI
|
||||
root@tux>mount /dev/sdxx /mnt/new
|
||||
|
||||
root@tux>cd /mnt/new/root
|
||||
root@tux>mount -t proc proc proc/
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
\begin{justify}
|
||||
Informationen "uber die CPU stehen in {\ttfamily /proc/cpuinfo}.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=CPU Info, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=CPU Info]
|
||||
uws@tux>cat /proc/cpuinfo
|
||||
processor : 0
|
||||
vendor_id : GenuineIntel
|
||||
@@ -10,18 +10,16 @@ cpu family : 6
|
||||
model : 26
|
||||
model name : Intel® Xeon® CPU X5550 @ 2.67GHz
|
||||
.
|
||||
.
|
||||
\end{lstlisting}
|
||||
Auch mit dem Befehl {\ttfamily lscpu} kann man sich Informationen
|
||||
"uber die CPU's anzeigen lassen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=CPU Info, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=CPU Info]
|
||||
uws@tux>lscpu
|
||||
Architecture: i686
|
||||
CPU op-mode(s): 32bit, 64bit
|
||||
Byte Order: Little Endian
|
||||
CPU(s): 2
|
||||
.
|
||||
.
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
\newpage
|
||||
\input{Kapitel8/Benachrichtigungen}
|
||||
\input{Kapitel8/Kernel}
|
||||
\newpage
|
||||
\input{Kapitel8/Chroot}
|
||||
\input{Kapitel8/Samba}
|
||||
\input{Kapitel8/DisplayServer}
|
||||
|
||||
@@ -116,11 +116,14 @@ root@tux>timedatectl status
|
||||
NTP synchrinized: yes
|
||||
RTC in local TZ: yes
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Anzeigen Journal / Filtern
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Anzeigen Journal / Filtern}
|
||||
\begin{justify}
|
||||
Wird {\ttfamily journalctl} ohne Optionen aufgerufen, so werden alle Eintr"age zur Laufzeit und dem letzten Reboot angezeigt. Bei jedem Neustart des Rechners wird die Zeile {\ttfamily \verb|--| Reboot \verb|--|} angezeigt. Nur Error Meldungen kann man sich mit {\ttfamily -p err} anzeigen lassen. Es werden alle Meldungen angezeigt, nicht nur die letzten nach einem Reboot.
|
||||
\end{justify}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Boot Errors]
|
||||
uws@tux>sudo journalctl -b -p err
|
||||
|
||||
+25
-5
@@ -3,14 +3,14 @@
|
||||
\begin{justify}
|
||||
Mit dem Dienst {\ttfamily NTP} (\underline{N}etwort \underline{T}ime \underline{P}rotocol) ist es m"oglich, einen Zeitserver auf zusetzten. Ist auf dem Rechner der Dienst {\ttfamily ntp} konfiguriert, so kann man mit den nachfolgenden Befehlen Informationen "uber die Zeitsynchronisation abfragen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation abfragen, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation abfragen]
|
||||
uws@tux>ntpq -p
|
||||
|
||||
uws@tux>watch ntpq -np
|
||||
\end{lstlisting}
|
||||
Der Dienst {\ttfamily ntp} kann manuell gestartet werden, um eine Synchronisation mit den Zeitservern vorzunehmen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation starten, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation starten]
|
||||
uws@tux>/etc/init.d/ntpd [start] [restart] [force-reloaded] [status] # for init startup
|
||||
|
||||
uws@tux>sudo systemctl restart ntpd # for systemD
|
||||
@@ -19,7 +19,7 @@ uws@tux>service ntpd force-reloaded # for oracle linux
|
||||
\end{lstlisting}
|
||||
Die Systemzeit sollte bei jedem Starten und Herunterfahren des Rechners in die Realtime Clock des Rechners geschrieben werden. Falls das nicht geschieht, so kann man dieses mit dem Befehl {\ttfamily hwclock} vornehmen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Realtime Clock, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=Realtime Clock]
|
||||
uws@tux>hwclock --show
|
||||
|
||||
uws@tux>hwclock --systohc
|
||||
@@ -28,7 +28,7 @@ uws@tux>hwclock --help
|
||||
\end{lstlisting}
|
||||
In der Datei {\ttfamily /etc/ntp.conf} werden die abzufragenden Zeitserver eingetragen. Sind mehrere Zeitserver konfiguriert, so kann man mit {\ttfamily prefer} einen bevorzugten Zeitserver definieren.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitserver, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitserver]
|
||||
------schnipp------
|
||||
server <zeitserver1> prefer}
|
||||
server <zeitzerver2>
|
||||
@@ -37,7 +37,7 @@ server <zeitzerver3>
|
||||
\end{lstlisting}
|
||||
Der Client kann sich die Uhrzeit auch manuell von dem Zeitserver holen. Hierzu wird in der Console der Befehl {\ttfamily ntpdate} genommen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitserver kontaktieren, label=lst:bash]
|
||||
\begin{lstlisting}[captionpos=b, caption=Zeitserver kontaktieren]
|
||||
uws@tux>sudo ntpdate <zeitserver>
|
||||
\end{lstlisting}
|
||||
Folgende Zeitserver gibt es im Internet und k"onnen verwendet werden. Es ist nur eine Auswahl an Zeitservern.
|
||||
@@ -65,4 +65,24 @@ Folgende Zeitserver gibt es im Internet und k"onnen verwendet werden. Es ist nur
|
||||
\end{tabular}
|
||||
\caption{Zeitserver (Auswahl)}
|
||||
\end{table}
|
||||
\newpage
|
||||
%===============================================================================
|
||||
% Subsection: Zeitzone
|
||||
%===============================================================================
|
||||
\subsection{Zeitzone}
|
||||
Die Anzeige der Zeitzone und das setzten einer neuen Zeitzone wird mit dem Programm {\ttfamily timedatectl} gemacht.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Timedatectl]
|
||||
uws@tux>timedatectl
|
||||
Local time: Mi 2025-10-08 11:08:42 CEST
|
||||
Universal time: Mi 2025-10-08 09:08:42 UTC
|
||||
RTC time: Mi 2025-10-08 09:08:42
|
||||
Time zone: Europe/Berlin (CEST, +0200)
|
||||
System clock synchronized: yes
|
||||
NTP service: active
|
||||
RTC in local TZ: no
|
||||
|
||||
uws@tux># Setting new timezone
|
||||
uws@tux>sudo timedatectl set-timezone Europe/Berlin
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
||||
|
||||
+2
-2
@@ -185,8 +185,8 @@ dem Remote System ohne Passwort anmelden. Kann gut in Scripte verwendet werden.
|
||||
uws@tux>ssh-keygen -t rsa -b 4096 -f ~/.ssh/Remote1.rsa -C "Remote1 connection"
|
||||
\end{lstlisting}
|
||||
-t => Typ des Schl"ussels, hier RSA\\
|
||||
-b => L"ange des Schl"ussels, hier 4096 Bits. Je l"anger, desto schwerer zu entschl"usseln.
|
||||
-f => Name der Schlüsseldatei
|
||||
-b => L"ange des Schl"ussels, hier 4096 Bits. Je l"anger, desto schwerer zu entschl"usseln.\\
|
||||
-f => Name der Schlüsseldatei\\
|
||||
-C => Kommentar
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: SSH Key send
|
||||
|
||||
Binary file not shown.
+561
-542
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user