Das Terminal

Das Terminal stellt für jedes Betriebssystem ein mächtiges Konfigurationstool dar und ist oft für manches Schrauben direkt in den Eingeweiden des System ein unerläßliches Hilfsmittel. Informationen über dessen Handhabung findet man leicht und in Überfluss in den Tiefen des Internets. Diese Rubrik werde ich dann und wann und nach Lust und Laune mit (un-)interessanten und nützlichen Tips rund um das Terminal füllen.


Wichtige Terminalbefehle

Um ein Bild in ein bestimmtes Verzeichnis mit Zugriffsrechten zu kopieren, verwendet man den Copy (cp) Befehl:

 sudo cp andy-logo.jpg /usr/share/backgrounds/xfce

Ein Verzeichnis komplett mit Unterordnern außerhalb des Home-Verzeichnisses löschen:

  sudo rm -r meinordner

Ein Verzeichnis komplett mit Unterordnern und schreibgeschützten Inhalten löschen:

  rm -rf meinordner

... zur Übersicht


Zugriffsrechte mit chmod

chmod ändert Zugriffsrechte von Dateien und Ordnern.

chmod 777 meinedatei.txt
Ändert die Rechte der Datei auf Lesen, Schreiben und Ausführen.

chmod +x meinscript.sh
Macht eine Datei zusätzlich für alle ausführbar.

chmod -R 700 /foo/bar
Setz die Dateirechte rekursiv auf 700 im Ordner /foo/bar, also auf alle Dateien und Ordner die sich in /foo/bar befinden.

Rechte
Erste Stelle = Besitzer
Zweite Stelle = Gruppe
Dritte Stelle = Andere
7 = Voll
6 = Lesen und Schreiben
5 = Lesen und Ausführen
4 = Nur Lesen
3 = Schreiben und Ausführen
2 = Nur Schreiben
1 = Nur Ausführen
0 = Keine

... zur Übersicht


Zugriffsrechte HOME-Verzeichnis

Es gibt Situationen, in der Probleme beim Zugriff auf das Home-Verzeichnis auftauchen können. Um diese Zugriffsrechte wiederherzustellen, muss man durch Eingabe von "su" im Terminal ROOT werden:

  su

Rekursiv werden dann die Zuordnungen korrigiert, wobei das Homeverzeichnis dem entsprechenden User-Account zugeordnet wird:

  chown -R deinbenutzername:users /home/deinbenutzername

Allen anderen den Zugriff auf das Home-Verzeichnis verwehren:

  chmod -R o-rwx /home/deinbenutzername

Man kann ggf. allen in dieser Gruppe (users) den Zugriff verwehren, was aber keinesfalls üblich ist:

  chmod -R g-rwx /home/deinbenutzername

Dem User-Account Schreibzugriff erlauben:

  chmod -R u+w /home/deinbenutzername

... zur Übersicht


Downgrade eines Paketes

Es gibt Fälle, wo ein Downgrade eines Paketes auf eine ältere Version sinnvoll sein könnte. Mir ist es passiert, daß nach einem Pacman-Update auf Version 6.0.0.2 das Pamac Paket aus dem AUR inkompatibel wurde und sich nicht mehr aufrufen ließ. Durch ein Downgrade konnte ich Pamac jedoch wieder nutzen. Diese Lösung ist temporär und provisorisch, bis dieses Problem hoffentlich zeitnah gelöst sein wird.

Auf https://archive.archlinux.org sind alle offiziellen Pakete aufgelistet. Mit folgender Befehlszeile stufe ich hier auf eine ältere Paket-Version von Pacman 5.2.2.4 zurück:

  sudo pacman -U https://archive.archlinux.org/packages/p/pacman/pacman-5.2.2-4-x86_64.pkg.tar.zst

... zur Übersicht


Testdisk

Festplatte, USB-Stick oder SSD-Laufwerk werden mit einem Male nicht mehr erkannt ? Oft ist das aber nicht auf eine defekte Hardware zurückzuführen, sondern die Partitionstabelle oder Partitionsstruktur auf dem Datenträger wurde gelöscht. Sie kann aber mit einem relativ einfach zu bedienenden Dienstprogramm wie TestDisk wiederhergestellt werden. Es kann u.a.:

  • Daten von verlorenen Partitionen wiederherstellen
  • nicht startende Festplatten wieder bootbar machen
  • die Partitionstabelle reparieren

I. Installation

Die Installation von Testdisk geht mit Adminrechten über das Terminal:

  sudo pacman -S testdisk

Hinweis: Das Dienstprogramm kann nur im Terminal gestartet werden. Aber keine Sorge, die Bedienung des Programms ist recht einfach gehalten und auch für unerfahrene Linux-Anwender gut zu bedienen.

II. Reparatur-Optionen mit TestDisk

Das Tool ist jedoch zu leistungsfähig, um hier alle Reparatur- und Wiederherstellungsmöglichkeiten durchzugehen. Deshalb wollen wir uns nur auf die Wiederherstellung von Dateien und Verzeichnissen und auf das Reparieren der Partitionstabelle beschränken.

So kommt es mal öfters vor, daß man (versehentlich) das USB-Kabel eines externen Datenträgers abzieht, ohne ihn zuvor ordnungsgemäß ausgehängt zu haben. Etwaige noch bestehende Schreibzugriffe können dann die Partitionstabelle zerstören und auf den Datenträger kann nicht mehr zugegriffen werden. Selbst nach einem Rechner-Neustart sind die betroffenen Laufwerke im Dateimanager leider nicht mehr sichtbar und verfügbar.

Für die Reparatur gibt es zwei Vorgehensweisen:

a. Die Partitionstabelle reparieren
b. Dateien und Verzeichnisse auf einen anderen Datenträger kopieren bzw. retten.

Punkt a. ist die schnellere Variante. Nach der Reparatur der Partitionstabelle steht das Laufwerk wieder zur Verfügung. Aber dieser Vorgang klappt nicht immer und es besteht ein gewisses Risiko, daß dabei etwas schiefgehen kann. Sollte mit Testdisk der Zugriff auf Dateien und Verzeichnisse möglich sein, so preferiere ich erst einmal Punkt b.

Das kann je nach Größe der zu rettenden Dateien sehr zeitintensiv sein, jedoch ist dies erst einmal der etwas sichere Weg. Hat man nach Punkt b alle Dateien auf einen weiteren Datenträger gesichert, so kann man im Anschluß immer noch versuchen, mit Punkt a die Partitionstabelle wiederherzustellen. Im folgenden werden ausführlich die einzelnen Schritte erst zu Punkt b, dann zu Punkt a aufgezeigt.

Obwohl Testdisk in einem Terminalfenster ausgeführt wird, läßt sich problemlos mit den Pfeiltasten und der Eingabetaste navigieren. Dabei sollte man zuvor ein extra Verzeichnis für die wiederherzustellenden Dateien anlegen.

III. Sichern von Dateien & Verzeichnissen auf einen anderen Datenträger

Wir starten TestDisk im Terminal mit

  sudo testdisk

Da keine Logs benötigt werden, wählen wir:

[ No Log ]

Mit den oben/unten Pfeiltasten wird das zu reparierende Laufwerk ausgewählt, mit den rechts/links Pfeiltasten auf

[ Proceed ]

Wir übernehmen den vorgeschlagenen Partitionstabellen-Typ

[ Intel ]

oder

[ EFI GPT ]

Im nächsten Fenster steht die Analyse der aktuellen Partitionsstruktur und die Suche nach verlorenen Partitionen zur Auswahl.

[ Analyse ]

Als nächstes wird die aktuelle Partitionsstruktur angezeigt. Weiter geht es mit

[ Quick Search ]

Ein weiteres Fenster gibt weitere Einstellmöglichkeiten, wie mit der Festplatte zu verfahren ist. Wir drücken den Buchstaben p !

Nun sehen wir die Verzeichnisse und Dateien, die sich mit den Pfeiltasten ansteuern lassen. Die unten im Fenster angezeigte Legende ist selbsterklärend. Wir möchten komplett alle Dateien und Verzeichnisse kopieren und drücken deshalb den Buchstaben a, wobei nun alle selektierten Dateien und Verzeichnisse farblich hervorgehoben sind.

Wir drücken SHIFT + C (großes C), um die selektierten Dateien & Verzeichnisse zu kopieren. Im nächsten Fenster wird nach dem Ziel gefragt. Mit den Pfeiltasten können wir uns durch die Verzeichnisse hangeln und den gewünschten Ort bzw. (externen) Datenträger aussuchen. Der Kopier- bzw. Sicherungsvorgang startet mit Drücken des Buchstabens c

IV. Die Partitionstabelle wiederherstellen

Wir starten TestDisk im Terminal mit

  sudo testdisk

Da keine Logs benötigt werden, wählen wir:

[ No Log ]

Mit den oben/unten Pfeiltasten wird das zu reparierende Laufwerk ausgewählt, mit den rechts/links Pfeiltasten auf

[ Proceed ]

Wir übernehmen den vorgeschlagenen Partitionstabellen-Typ

[ Intel ]

oder

[ EFI GPT ]

Im nächsten Fenster steht die Analyse der aktuellen Partitionsstruktur und die Suche nach verlorenen Partitionen zur Auswahl.

[ Analyse ]

Als nächstes wird die aktuelle Partitionsstruktur angezeigt. Weiter geht es mit

[ Quick Search ]

Ein weiteres Fenster gibt weitere Einstellmöglichkeiten, wie mit der Festplatte zu verfahren ist. Wir drücken nochmals die ENTER-Taste und gelangen in ein weiteres Fenster. Die Reparatur der Partitionstabelle erfolgt abschließend mit

[ Write ]

Nach einem Rechner-Neustart dürfte das Laufwerk dann hoffentlich wieder zur Verfügung stehen. Bei einem externen Laufwerk reicht oftmals ein Ein- und Aushängen des Datenträgers bzw. das Abziehen und Anstecken des USB-Kabels.

Links

offizielle Webseite:
https://www.cgsecurity.org/wiki/TestDisk_DE

Tuhl Teim DE - Festplatte wird nicht mehr erkannt * Reparatur in 20 Sekunden
https://www.youtube.com/watch?v=Qm1rPiSDTAo

... zur Übersicht


Das Einbinden interner Datenträger mit fstab

Beim Anschließen externer (Wechsel-)Datenträger bindet Linux diese bei Bedarf ein. Möchte man hingegen interne Datenträger wie Festplatten und SSD's nachträglich in ein bestehendes Linux dauerhaft und automatisch mit dem Systemstart einbinden, ist es notwendig, sie in die Datei fstab aufzunehmen, die sich im Verzeichnis /etc befindet und jedesmal bei einem System-Neustart ausgelesen wird.

Bei einer Linux Neu-Installation werden alle vorhandenen (internen) Datenträger in der fstab automatisch eingetragen und eingehängt. Danach nimmt Linux an fstab von sich aus keine Änderungen mehr vor. Fügt man im Nachhinein neue Datenträger oder Partitionen hinzu oder ändert man die Partitionierung, so muss fstab manuell angepaßt werden.

Dazu muß erst die sogenannte UUID des einzubindenen Datenträgers ermittelt werden. Die UUID des Dateisystems ist eindeutig und wird somit sicher identifiziert. Sie ändert sich nicht, solange man den Datenträger nicht formatiert.

UUID's werden im Terminal angezeigt mit:

  lsblk -fs

Es wird beispielsweise folgende UUID angezeigt: 0ab64187-49cd-46f8-b1f2-27705e01edb3

Als nächstes muß der Einhängepunkt festgelegt werden. Soll der Datenträger z.B. in "/home/BENUTZER/Daten" bzw. "~/Daten" eingehängt werden, so muß zuvor dieses Verzeichnis mit einem Datei-Manager oder mit dem Terminal erstellt werden:

  mkdir ~/Daten

Wird das Verzeichnis außerhalb des Home-Verzeichnisses angelegt, werden natürlich Root-Rechte (sudo) benötigt. Vor der Änderung der Originaldatei sollte jedoch zuvor eine Sicherungskopie angelegt werden:

  sudo cp /etc/fstab /etc/fstab.backup

Der Einhängepunkt für das angelegte Verzeichnis wird nun in der Datei "/etc/fstab" mit Rootrechten zugeordnet. Dazu öffnen wir mit einem Editor die Datei fstab:

  sudo nano /etc/fstab

Hier wird die ermittelte UUID in einer neuen Zeile folgendermaßen eingefügt:

file system mount point type options dump pass
UUID=0ab64187-49cd-46f8-b1f2-27705e01edb3 /home/BENUTZER/Daten ext4 defaults 0 0
  • file system z.B. /dev/sda8, /dev/cdrom, UUID
  • mount point = Einhängepunkt
  • type = Dateisystem, hier ext4
  • options = defaults
  • dump = 0 keine Sicherung
  • pass = 0 keine Überprüfung

Die Einträge in den Spalten werden dabei durch Tab ⇆ oder durch Leerzeichen getrennt ! Schließlich wird die Datei noch mit STRG + O und RETURN gespeichert und mit Strg + X beendet.

Nach einem Neustart des Systems oder nach Eingabe der Befehlszeile

  sudo mount -a 

müsste die ext4-Partition jetzt sichtbar und der Zugriff darauf möglich sein. Man kann noch die Einhängepunkte überprüfen mit:

  df -h

Sollte der Datenträger nicht frisch formatiert sein, sondern bestehend eingebunden werden, müssen evtl. noch die Schreibrechte für das eingehängte Verzeichnis ~/Daten gesetzt werden:

  sudo chmod a+rw /home/BENUTZER/Daten

... zur Übersicht


Neofetch

Terminal-Systeminformation. Installation mit:

  sudo pacman -S neofetch |

Danach ~/.bashrc öffnen und eine neue Zeile "neofetch" einfügen.

... zur Übersicht


Asciiquarium
Asciiquarium

Mit dem Terminal lassen sich bekanntlich nicht nur sinnvolle Dinge bewerkstelligen. So kann es auch tatsächlich mit einer Unterwasserwelt nach ASCII Art im geöffneten Terminalfenster zum Leben erweckt werden, quasi eine Aquarium- bzw. See-Animation als ultimative Gaudi und Tiefenmeditation. Hierzu gibt es im offiziellen Arch Repositorium das Perl Script "asciiquarium" in der Version 1.1-5 von Kirk Baucom und läßt sich z.B. mit dem Pamac Paketmanager installieren. Dort einfach "asciiquarium" ins Suchfenster eingeben und installieren.

Oder im Terminal mit folgendem Aufruf:

 sudo pacman -S asciiquarium

Jetzt das Terminal aufrufen und am besten gleich maximieren. Mit der Eingabe von "asciiquarium" taucht man sogleich ein in eine faszinierende Unterwasserwelt mit diversen kleinen und großen bunten Fischen, die unterschiedlich schnell horizontal nach links und rechts vorbeizappeln. Auch Haie, Wale, Delphine, Enten, Schwäne, Angelhaken, Luftblasen, Segelschiffe, Seeschlangen und sogar ein Unterwasserschloss gehören zur unabdingbaren weiteren Ausstattung dieses zweidimensionalen Kleinbiotops.

Tastatureingaben:
r redraw
Strg+C oder q Abbruch
p Pause

Projektseite:
https://robobunny.com/projects/asciiquarium/html/

... zur Übersicht


Terminal Lernvideos

... zur Übersicht