Remote mittels Xrdp

Das Paket xrdp erlaubt eine Remote-Verbindung vom Windows-PC direkt auf den Debian-Rechner. Installiere das Paket und weise den User xrdp der Gruppe ssl-cert zu:

# apt install xrdp
# adduser xrdp ssl-cert

Wähle die Remotdesktopverbindung unter Windows und gib die IP-Adresse an.

Nach erfolreicher Anmeldung kann mit dem Client-PC auf den Linux-Rechner zugegriffen werden. Die genaue IP vom Server kann per ip address ermittelt werden:

GRUB reparieren (z.B. Dualboot mit Windows 10)

error: no such partition. Entering rescue mode...
grub rescue>

Falls Du diese Meldung auf Deinem Debiansystem bekommst, hast Du den Grub-Bootloader zerschossen. Jetzt wird es an der Zeit, die Installations-CD oder den USB-Stick von Debian einzusetzten. Lege die CD oder den USB-Stick ein, boote ab diesem Medium und wähle dann im Installationsmenu:

Advanced option > Rescue mode

 

Du solltest Dein System kennen, bevor Du dich an die Reparatur von GRUB wagst. Der Rettungsmodus wird Dir ganz oben links angezeigt!

  • Sprache, Land und Ort wählen
  • Netzwerk (Kabel, WLAN) wählen.
  • Rechnername wählen (spielt keine Rolle, was hier gewählt wird)
  • Domain-Name wählen (leer lassen)
  • root-Dateisystem wählen! (In diesem Beispiel liegt root auf /dev/sdb2)

 

01. Das Wählen des richtigen Root-Dateisystems ist relevant! Falls Du das falsche Root-Dateisystem wählst, führt dies unweigerlich zu einer Fehlermeldung!

 

02. falls der Mountpunkt /boot auf / liegt, ist das Einbinden von /boot sparat nicht nötig und diese Meldung wird nicht angezeigt. Liegt /boot jedoch auf einer separaten Partition, bindet der Rettungsmodus die Partition ein.
/boot ist jedoch nicht mit dem Mountpoint /boot/efi zu verwechseln! /boot/efi wird auf /boot erst später eingehängt.

 

03. Wähle mit den Pfeiltasten nun auf Eine Shell in /dev/sdXY ausführen

 

04. GRUB neu installieren

Alternative I
Es kann natürlich auch «Den GRUB-Bootloader neu installieren» gewählt werden. Bei Linux führen manchmal verschiedene Wege zum Ziel und es kann mehrere Lösungen geben.

Alternative II – (EFI-System)
Wir befinden uns nun in der Shell der Rettungsaktion. Installieren nun das Paket grub-efi

# apt install grub-efi

und binde die EFI-Bootpartition ein.

# mount /dev/sdb2 /boot/efi

Installiere jetzt den Bootloader in das Wurzelverzeichnis. Bevor der Bootloader neu geschrieben wird, kann mit lsblk überprüft werden, ob alle Partitionen korrekt eingehängt sind:

$ lsblk

 

05. Installiere den Bootloader in das Wurzelverzeichnis:
Der Bootloader wird nicht auf die einzelne Partition geschrieben. Liegt Dein root-System zum Beispiel auf /dev/sdb2, wird der Bootloader nicht auf die Partition, sondern auf die Platte geschrieben. Hier wäre dies also /dev/sdb

/dev/sdb2 ≠ /dev/sdb

# grub-install /dev/sdb

führe ein update-grub aus. Dies ist zwar nicht unbedingt nötig, gibt uns aber ein aussagekräftiges Feedback, ob alles geklappt hat.

# update-grub
GRUB-Konfigurationsdatei wird erstellt …
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Linux-Abbild gefunden: /boot/vmlinuz-4.19.0-9-amd64
initrd-Abbild gefunden: /boot/initrd.img-4.19.0-9-amd64
Windows Boot Manager auf /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi gefunden
Adding boot menu entry for EFI firmware configuration
erledigt

Verlasse die Shell mit:

# exit

06. und wähle System neu starten aus.

07. Ausgabe lsblk für dieses Beispiel! Auf sda liegt Windows 10 und auf sdb Debian. Die EFI-Boot Partition von Debian ist nicht separat eingebunden, wie unter Punkt 2 beschrieben wird. sda1 und sdb1 sind hier zwei EFI-Boot-Partitionen.

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0   100M  0 part /boot/efi
├─sda2   8:2    0    16M  0 part 
├─sda3   8:3    0 296.1G  0 part 
└─sda4   8:4    0 634.8G  0 part 
sdb      8:16   0 232.9G  0 disk 
├─sdb1   8:17   0   487M  0 part 
├─sdb2   8:18   0  68.2G  0 part /
├─sdb3   8:19   0     8G  0 part [SWAP]
└─sdb4   8:20   0 156.3G  0 part /home/yuna/media

ein *.vdi-File einhängen (mount per qemu)

Um ein *.vdi-File in Linux einzuhängen, benötigen wir qemu. Installiere das Paket mit:

# apt-install qemu
# apt-install qemu-utils
Unter Systemsteuerung > Verwaltung > Computerverwaltung > Datenträgerverwaltung lesen wir die aktuellen Partitionen in Windows 10 aus. nbd0p2 entsprich in diesem Fall der Partition c:

HINWEIS: Werden die Partitionen nicht angezeigt, entferne die Sicherungspunkte in der VirtualBox.

Jetzt starten wir das Modul nbd und hängen das VDI-File unter /mnt ein. Der genaue Einhängepunkt kann natürlich individuell gewählt werden. Achte darauf, die richtige Windowspartition einzuhängen.

# modprobe nbd
# qemu-nbd -c /dev/nbd0 /pfad/zum/vdi-File/'windows xy'
# ls -l /dev/ | grep nbd*
brw-rw----  1 root disk       43,   0 Jan 29 16:09 nbd0
brw-rw----  1 root disk       43,   1 Jan 29 16:09 nbd0p1
brw-rw----  1 root disk       43,   2 Jan 29 16:09 nbd0p2
brw-rw----  1 root disk       43,   3 Jan 29 16:09 nbd0p3
brw-rw----  1 root disk       43,  32 Jan 29 16:09 nbd1
brw-rw----  1 root disk       43, 320 Jan 29 16:09 nbd10
brw-rw----  1 root disk       43, 352 Jan 29 16:09 nbd11
brw-rw----  1 root disk       43, 384 Jan 29 16:09 nbd12
brw-rw----  1 root disk       43, 416 Jan 29 16:09 nbd13
brw-rw----  1 root disk       43, 448 Jan 29 16:09 nbd14
brw-rw----  1 root disk       43, 480 Jan 29 16:09 nbd15
brw-rw----  1 root disk       43,  64 Jan 29 16:09 nbd2
brw-rw----  1 root disk       43,  96 Jan 29 16:09 nbd3
brw-rw----  1 root disk       43, 128 Jan 29 16:09 nbd4
brw-rw----  1 root disk       43, 160 Jan 29 16:09 nbd5
brw-rw----  1 root disk       43, 192 Jan 29 16:09 nbd6
brw-rw----  1 root disk       43, 224 Jan 29 16:09 nbd7
brw-rw----  1 root disk       43, 256 Jan 29 16:09 nbd8
brw-rw----  1 root disk       43, 288 Jan 29 16:09 nbd9
# mount /dev/nbd0p2 /mnt
# umount /mnt
# qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected
Das *.vdi_File wird hier unter /mnt angezeigt.

Filme aufnehmen mit SimpleScreenRecorder (Linux)

Was früher die klassische VHS-Kassette erledigte, übernimmt unter Linux der SimpleScreenRecorder. Damit lassen sich Spielfilme 1:1 aufnehmen.

Der SimpleScreenRecorder ist für Linux erhältlich. Hier wird explizit das Paket von Linux beschrieben und ist nicht mit der Windowsversion zu verwechseln! Installiere SimpleScreenrecorder via der Paketverwaltung:

# apt install simplescreenrecorder

Bevor die Aufnahme gestartet wird, werden die wichtigsten Eigenschaften der Aufnahme abgefragt:

Danach kann auch gleich mit der Aufnahme begonnen werden:

SimpleScreenRecorder: Zwei Monitore erleichtern die Aufnahme enorm. Während hier rechts der Spielfilm ab einem Stream läuft, kann auf dem linken Monitor die Aufnahme überwacht werden. Diese Methode liefert ein sehr gutes Resultat. Einziger Nachteil: ein Spielfilm von zwei Stunden dauert auch exakt zwei Stunden, bis dieser auf der Platte ist. Die Quelle spielt dabei keine Rolle. Ob direkt mittels VLC-Player (CD, DVD) oder ab TV-Stream direkt im Browser. SimpleScreenrecorder nimmt den gesamten Monitor auf. Wird versehentlich mit der Maus in den Aufnahmebereich gefahren, wird dies ohne Nachfrage ebenfalls aufgenommen. Desshalb ziehe ich die Methode mit zwei Bildschirmen vor. (Screenshot von Alita: Battle Angel)

Finales zuschneiden

Mit dieser Methode landet ein .mkv File auf dem Rechner. Nun möchtest Du Start- und Endpunkt vom Film sekundengenau schneiden Dazu verwenden wir hier ffmpeg:

# apt install ffmpeg

Öffne nun das soeben aufgenommene File in einem Videoplayer und bestimme den Anfangs- und Endpunkt vom Film. Hier in diesem Beispiel wäre dies:

Anfang nach: 18 s
Ende nach: 1:58:22
Filmdauer: 1:58:04 oder 7084 s

mittels ffmpeg müssen wir die ersten 18 Sekunden vom Spielfilm wegschneiden. Die gesamte Länge von output.mkv beträgt genau 1:58:22. Davon ziehen wir die 18 Sekunden ab und kommen auf die gesamte Spielzeit von 1:58:04 oder 7084 Sekunden:

der Schalter -codec copy bewirkt, dass ffmpeg den Film nicht erneut codiert und beschleunigt das finale Zuschneiden enorm. In diesem Beispiel vergass ich nach Filmende die Aufnahme zu stoppen. Das output-File wurde desshalb rund 190 Minuten lang. Relevant beim Zuschneiden sind nur Anfangspunkt und Filmdauer. Wann fängt der Film an und wie lange dauert er? Mit diesen beiden Zeiten können wir dann den Film exakt zuschneiden. Mit dem Schieberegler (hier bei VLC) können diese Zeiten bequem bestimmt werden. output.mkv ist in diesem Beispiel ein wenig verwirrend. Tätsächlich entspricht hier jedoch output.mkv der Eingangsdatei, da ich simplescreenrecorder angewiesen habe, die Aufnahme als output.mkv zu speichern. Verwenden wir nun ffmpeg zum Schneiden, entspricht output.mkv tatsächlich der «Input»-Datei…
$ ffmpeg -i originaldatei.mkv -codec copy -ss 18 -t 7084 zugeschnittenedatei.mkv

DVD abspielen auf Debian GNU/Linux

Von sich aus spielt Debian keine gekauften DVD ab. Wird eine gekaufte DVD eingelegt, kommt es zu einer Fehlermeldung und der Film wird nicht abgespielt. Schuld daran ist der fehlende Codec libdvdcss2.

Die Paketquellen müssen unter /etc/apt/sources.list um contrib erweitert werden!

Abhilfe bringt hier die Installation des Paketes libdvd-pkg. Optimal können noch folgende Pakete installiert werden: libdvdread4 und ffmpeg. ffmpeg ist nicht zwingend notwendig, jedoch ein unverzichtbarer Videokonverter und nur wenige MB gross.

# apt install libdvd-pkg
# dpkg-reconfigure libdvd-pkg

Die fehlenden Codecs werden nun heruntergeladen, und installiert.


Optimal können weitere Codecs und Programme nachinstalliert werden. Ein beliebtes Tool ist ffmpeg oder der Tausendsassa VLC-Player:

# apt install ffmpeg
# apt install vlc

Weitere Codecs (falls nicht schon installiert) sind:

# apt install libdvdread4
# apt install x265
# apt install lame
# apt install flac
# apt install faac

DOS-Spiel mit WineHQ

Deine alten DOS-Spiele können selbst unter Debian gespielt werden. Möglich macht dies wineHQ. Um wineHQ zu installieren, tippe

# dpkg --add-architecture i386
# wget -nc http://dl.winehq.org/wine-builds/winehq.key
# apt-key add winehq.key

Ergänze /etc/apt/sources.list mit den Paketquellen von wineHQ (Distributionsname anpassen!)

# nano -w /etc/apt/sources.list

deb http://dl.winehq.org/wine-builds/debian/ stable main

Danach die Paketquellen aktualisieren und wine installieren:

# apt update
# apt install wine

wine kann noch konfiguriert werden. Dazu genügt ein:

$ winecfg

und es öffnet sich das Konfiguartionstool von Wine. Mit der Wine-Konfiguration kann z.B. das Ausgabegerät für Audio angepasst werden.

Ab jetzt können Windows-Programme gestartet werden.

$ wine PFAD/ZUR/ANWENDUNG.exe

HINWEIS
Falls das Spiel zuerst installiert werden muss, wird der Installer automatisch geladen:

Da unter Debian das Laufwerd c:\ nicht existiert, wird es unter:
~/.wine/drive_c
abgelegt. Mit

# apt install winetricks
winetricks

startet ein Tool, wo weitere Prefixe eingestellt oder nachinstalliert werden können.

 

USB-Stick überschreiben

Gelöscht ist nicht zwingend gelöscht. Damit auch handelsübliche Programme wie z.B. foremost keine brauchbaren Dateien mehr auf dem USB-Stick finden, kann der Stick mit Nullen überschrieben werden:

# dd bs=1M status=progress if=/dev/zero of=/dev/sdX

Der Stick muss unter /dev/sdX noch angepasst (z.B. sdc) werden. Bereits nach einmaligem Überschreiben finden gängige Wiederherstellungs-Tools keine brauchbaren Daten mehr auf dem Stick. bs=1M steht für blocksize (Blockgrösse) und kann individuell noch angepasst werden. Vorsicht: Dies gilt für alle Laufwerke und Partitionen. Wird hier irrtümlicherweise eine Backup-Partition unter of angegeben, sind die Daten darauf unwiderruflich gelöscht!

Datenrettung mit foremost

Foremost eignet sich hervorragend, um bereits gelöschte Dateien wieder herzustellen.

Schritt 1

Installiere auf deinem Linuxsystem foremost mit:

# apt install foremost

Schritt 2

Lasse nun foremost laufen. Foremost durchsucht nun das Dateisystem und legt alle gefunden Dateien (hier jpg-Bilder) unter dem Ordner /output ab. Bedenke dabei, dass dies lange dauern kann. Meine 1 TB Festplatte dauerte rund 2.5 Stunden. Dabei fand foremost rund 950000 Bilder mit einem Volumen von nahezu 85 GB. Prüfe vorher, ob /output also genügend freien Speicher besitzt!

# foremost -t jpg -i /pfad/zur/partition/sdbX

in diesem Beispiel durchsucht foremost also die angeschlossene Festplatte unter /pfad/zur/partition/sdbX und gibt alle gefundenen jpg-Bilder in /output aus. X und der Pfad müssen angepasst werden.

Schritt 3

Da foremost unter root lief, sind wir als normaler Benutzer noch nicht befugt, die gefundenen Bilder zu bearbeiten. Mit:

# chown -c -R BENUTZER /pfad/zu/output/

ändern wir die Rechte so, dass BENUTZER nun ohne root auf die Bilder zugreifen kann.

Schritt 4

Bilder unter 50 kB sind in der Regel Thumbnails oder Icons, welche getrost ignoriert werden können. Da wir jetzt einen Ordner mit vielen Bildern haben, macht es Sinn, einige davon zu löschen. In diesem Beispiel löschen wir alle Bilder unter /output, welche kleiner als 50 kB sind:

$ find /pfad/zu/output -type f -size -50k -exec rm -f {} \;

Schritt 5

Unser Ordner hat aber immer noch sehr viele Bilder. Versuchen wir den Ordner mit einen Dateimanager zu öffnen, dauert das Erstellen der Vorschaubilder ewig. Nun splitten wir den Ordner /output so auf, dass sich jeweils 1000 Bilder in einem Unterordner befinden. Erstelle unter /output mit nano eine Datei (z.B. meinscript.sh)

$ nano -w meinscript.sh

und füge nun folgenden Code ein:

#!/bin/bash
target=»$RANDOM»_»$RANDOM»_»$RANDOM»
mkdir «$target»
mv -t «$target»/ «$@»

das Script muss noch ausführbar gemacht werden mit:

$ chmod +x meinscript.sh

Mit dem printf-Befehl:

$ printf "%s\0" *.jpg | xargs -0 -n 1000 ./meinscript.sh

splitten wir nun den gesamten Ordner auf. Dabei landen exakt immer 1000 Bilder in einem entsprechenden Unterodner. Nun können wir die gefundenen Bilder in akzeptabler Zeit durchscrollen.

Hinweis

foremost findet jedoch nicht nur Bilder und ist durchaus in der Lage, weitere Formate zu finden. Dazu einfach den entsprechenden Schalter anwenden. Weiter Infos findest Du hier

$ foremost -t all -i /pfad/zur/partition/sdbX

Dieser Befehl durchsucht die gesamte Festplatte oder Partition nach allmöglichen Dateien. Doch Vorsicht: unbedingt prüfen, ob /output genügend freien Speicher besitzt. Eine 1 TB Festplatte kann unter Umständen auch knapp 1 TB an Dateien liefern!

Leerzeichen in Dateien und Ordner unter Linux

Bei Leerzeichen in Dateien und Ordner unter Debian GNU/Linux ist folgendes zu beachten:

In der GUI entspricht der Pfad: /home/yuna/media/VirtualBox VMs/Windows 10

Im CLI (command line interface) rüsselt Linux, wenn Leerzeichen in Dateien und Ordner vorkommen.

$ cd /home/yuna/media/VirtualBox VMs/Windows 10
bash: cd: Zu viele Argumente.

Leerzeichen in Dateien und Ordner werden entweder mit Apostroph oder \ (Backslash) angesprochen. Apostroph wird auch Hochkomma genannt:

$ cd /home/yuna/media/'VirtualBox VMs'/'Windows 10'
$ cd /home/yuna/media/VirtualBox\ VMs/Windows\ 10

Möchtest Du z.B. nach erfolgreichen Starten von nbd (qemu) das *.vdi-File einhängen, geht dies via:

qemu-nbd -c /dev/nbd0 /home/yuna/media/'VirtualBox VMs'/'Windows 10'/'Windows 10.vdi'

oder

qemu-nbd -c /dev/nbd0 /home/yuna/media/VirtualBox\ VMs/Windows\ 10/Windows\ 10.vdi

Eine Datenbank unter MariaDB erstellen

Wir erstellen hier die Datenbank test1 und den User lightning:

Installiere MariaDB:

# apt install default-mysql-server mariadb-server

Starte im Terminal Maria DB:

$ su -
# mariadb

hiermit gelangen wir in den typischen MariaDB-Prompt.

Enter password: ROOT-PASSWORD
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1120
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> EINGABE

Datenbank «test1» anlegen:

CREATE DATABASE test1;

Datenbank anzeigen lassen:

SHOW DATABASES;

User «lightning» und Passwort «finalfantasy13» anlegen:

CREATE USER 'lightning'@'localhost' IDENTIFIED BY 'finalfantasy13';

User anzeigen lassen:

SELECT User FROM mysql.user;

User «lightning» der Datenbank «test1» zuweisen:

GRANT ALL ON test1.* TO lightning@localhost IDENTIFIED BY 'finalfantasy13';

Zugewiesen User anzeigen lassen (Kontrolle):

SHOW GRANTS for 'lightning'@'localhost';

die soeben erstellte Datenbank kann nun per USE ausgewählt werden.

MariaDB [(none)]> USE test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [test1]> EINGABE

phpmyadmin

phpmyadmin ist ein Tool, welches die Verwaltung der Datenbanken enorm vereinfacht. Wer sich somit nicht mit der Kommandozeile (CLI) auseinander setzten möchte, geht den Weg via phpmyadmin. Den gesamten Ordner verschieben wir nach:
/var/www/html

um diesen dann im Browser per:
https://example.com/phpmyadmin

aufrufen zu können. Ab hier steht uns nun eine grafische Oberfläche zur Verfügung. Standardmässig ist das root-Login für phpmyadmin deaktiviert. Dies kann mit:

SET PASSWORD FOR 'root'@localhost = PASSWORD("starkes-passwort-hier-rein");

umgangen werden.

phpmyadmin bietet eine grafische Oberfläche zur Administration von MariaDB.

PostgreSQL

Falls als Datenbank-Server PostgreSQL läuft, wird die Datenbank (mydb) und der dazugehörende Benutzer (lightning) mit dem Tool psql erstellt:

root@supertux:~# su - postgres
postgres@supertux:~$ psql
psql (13.5 (Debian 13.5-0+deb11u1))
Geben Sie »help« für Hilfe ein.

postgres=# create database test1;
CREATE DATABASE
postgres=# create user lightning with encrypted password 'finalfantasy13';
CREATE ROLE
postgres=# grant all privileges on database test1 to lightning;
GRANT
postgres=# \q