Kategorien
Betriebssysteme

Laufwerke von der Kommandozeile ohne Kennwort einbinden

Normalerweise kann auf einem Linux-System nur root ein Laufwerk auf der Kommandozeile ein- oder aushängen, „normale“ Benutzer verwenden hierfür die benötigten Befehle zusammen mit den sudo-Mechanismus.

Bei der automatisierten Einbindung eines Laufwerks ist es allerdings hinderlich, wenn das „sudo“-Kommando beim Einhängen jedesmal nach dem Kennwort des Benutzers fragt, weshalb mit einer Änderung in der Datei „/etc/sudoers“ die Kennwortabfrage für bestimmte Befehle abgeschaltet werden kann.

Achtung: Änderungen an der Datei „/etc/sudoers“ können neben dem Erzeugen von Sicherheitslücken auch dazu führen, daß man sich selbst aussperrt. Deshalb immer ein zweites Terminalfenster öffnen und mittels

$ sudo -i
[sudo] Passwort für localuser:
root@localhost:~#

parallel als root anmelden. So kann – falls die Datei durch eine Änderung beschädigt wird – jederzeit eingegriffen und die Änderung rückgängig gemacht werden. Auch sollten alle Änderungen ausschließlich mit dem Editor „visudo“ durchgeführt werden, der beim Speichern eine Syntaxprüfung durchführt.

Die Änderung ist schnell gemacht und besteht aus dem Hinzufügen einer einzigen Zeile:

$ sudo visudo

...
%sudo ALL=NOPASSWD: /usr/bin/mount, /usr/bin/umount
...

Hiermit wird für alle Benutzer der Gruppe „sudo“ die sudo-Kennwortabfrage für die beiden Befehle „/usr/bin/mount“ sowie „/usr/bin/umount“ deaktiviert.

Kategorien
Betriebssysteme

Wahl der Desktopumgebung

Viele Distributionen setzen GNOME als Default-Desktopumgebung ein, unter Debian schlicht „Debian Desktop Environment“ genannt. Neben GNOME gibt es mit KDE noch eine zweite „große“ Desktopumgebung, welche versucht, für möglichst viele Anwendungsfälle ein eigenes Programm(paket) anzubieten, während mit LXDE, XFCE (und anderen) auch schlanke(re) Alternativen zur Verfügung stehen.

Jede der Umgebungen folgt ihrer eigenen Philosophie, aber während man sich bei der Distributionswahl vorerst für eine Distribution entscheiden muss, können problemlos mehrere Desktopumgebungen parallell installiert und getestet werden.

Schon GNOME und KDE unterscheiden sich in ihrer Grundausrichtung gewaltig: während GNOME dem Prinzip „weniger ist mehr“ folgt und man sich zur stressfreien Nutzung auf die Philosophie einlassen sollte, statt GNOME zu verbiegen, ist KDE mehr an die von Microsoft Windows bekannte Oberfläche angelehnt und bietet Einstelloptionen für fast jeden Pixel auf dem Bildschirm.

Dazu gibt es bei beiden Umgebungen noch eine ganze Reihe von Standardprogrammen, mit ein Grund, weshalb während der Installation des Betriebssystems keine Desktopumgebung ausgewählt wurde.

Bei der nachträglichen Installation kommt der Mechanismus der Metapakete zum tragen, Pakete die dazu dienen, eine Untermenge an logisch zusammenhängenden Paketen zu mit einer einzigen Paketangabe zu installieren. Für viele der Anwendungsfälle gibt es neben dem eigentlichen Metapaket noch ein entsprechendes „…-core“-Paket, welches statt der vollständigen Funktionalität nur die Basisfunktionalität und minimal benötigten Komponenten installiert. Für die GNOME-Desktopumgebung sind dies die beiden Metapakete „gnome“ (rund 1.100 Pakete mit 2.600 MB) und „gnome-core“ (820 Pakete mit 1.500 MB).

Zur Installation genügt ein einfaches

$ sudo apt install gnome-core

Vor einem Neustart des Systems (der einfachste Weg, alle benötigten Dienste für die graphische Anmeldung zu starten) sind allerdings noch ein paar Nacharbeiten notwenig.

NetworkManager

Der für die Konfiguration der Netzwerkumgebung zuständige NetworkManager kümmert sich grundsätzlich nicht um Schnittstellen, welche bereits in der Datei „/etc/network/interfaces“ definiert sind. Da das System ursprünglich ohne GNOME installiert wurde, ist dies aktuell der Fall.

Damit er diese Schnittstellen zukünftig ebenfalls konfiguriert, gibt es zwei Möglichkeiten:

Es kann entweder die Datei „/etc/NetworkManager/NetworkManager.conf“ angepasst werden, wozu im Abschnitt „ifupdown“ der vorhandene Wert der Option „managed“ von „false“ in „true“ geändert werden muss:

$ sudo vi /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

Alternativ können alle in der Datei „/etc/network/interfaces“ eingetragenen Netzwerkschnittstellen außer dem internen Loopback-Interface auskommentiert oder gelöscht werden:

$ sudo vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug enp0s25
# iface enp0s25 inet dhcp

Weitere Anpassungen

Eine weitere Nacharbeit ist die (Nach-)Installation des Pakets „alsa-utils“

$ sudo apt install alsa-utils

welches bewirkt, daß die eingestellte Lautstärke innerhalb der Desktopumgebung nach dem nächsten Neustart wieder automatisch eingestellt wird.

Auch wenn die benötigten Sprachpakete für GNOME selbst direkt installiert werden, fehlt das deutsche Sprachpaket für den als Standard installierten Browser Firefox. Ein

$ sudo apt install firefox-esr-l10n-de

löst das Problem. Ebenso sollte man auch gleich die Druckdienste sowie den zueghörigen PDF-Drucker installieren, was ebenfalls schnell erledigt ist:

$ sudo apt install cups cups-pdf

GNOME Dateien (Nautilus)

Manche Dinge sind so offensichtlich, daß man sie leicht übersieht: Eine der irritierendsten Dinge scheint zu sein, daß man nicht mehr mit einem einfachen Rechtsklick ein neues (leeres) Dokument erzeugen kann.

Nachdem man allerdigs den Ordner „Vorlagen“ im „home“-Verzeichnis entdeckt und geöffnet hat, hilft der am oberen Fensterrand eingeblendete Satz

Dateien in diesem Ordner erscheinen im Menü >>Neues Dokument<< als Vorlage.

bei der Erleuchtung. Und tatsächlich: nach einem

$ touch ~/Vorlagen/Neue\ Textdatei.txt

erscheint ab sofort bei jedem Rechtsklick in Nautilus ein Menüpunkt „Neues Dokument“, welcher als Unterauswahl „Neue Textdatei.txt“ anbietet.

Wer die standardmäßig angelegten Verzeichnisse „Bilder“, „Dokumente“, „Downloads“, „Musik“, „Öffentlich“ sowie „Videos“ und „Vorlagen“ nicht benötigt oder gerne an einem anderen Ort haben möchte, kann dies in der Datei „~/.config/user-dirs.dirs“ konfigurieren:

$ vi ~/.config/user-dirs.dirs

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Schreibtisch"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Vorlagen"
XDG_PUBLICSHARE_DIR="$HOME/Öffentlich"
XDG_DOCUMENTS_DIR="$HOME/Dokumente"
XDG_MUSIC_DIR="$HOME/Musik"
XDG_PICTURES_DIR="$HOME/Bilder"
XDG_VIDEOS_DIR="$HOME/Videos"

Hierbei ist zu beachten, daß an dieser Stelle nur Verzeichnisse hinzugefügt oder verschoben werden können. Wird eine Zeile entfernt oder auskommentiert, so wird bei der nächsten Anmeldung der Standardwert aus der Datei „/etc/xdg/user-dirs.defaults“ verwendet.

Soll ein Ordner entfernt werden, so ist der Datei „~/.config/user-dirs.dirs“ des entsprechenden Benutzers der Eintrag

enabled=False

hinzuzufügen. Anschließend kann der Ordner gelöscht werden und wird bei der nächsten Anmeldung nicht wiederhergestellt.

GNOME Shell Extensions

Eine der Möglichkeiten, GNOME anzupassen, sind die sogenannten „Shell Extensions“, welche man entweder über den Paketmanager der Distribution oder direkt von der GNOME-Website installieren kann. Beide Methoden haben Vor- und Nachteile:

Während man bei der Installation mittels Paketmanager nicht unbedingt die neueste Version erhät und auch auf eine deutlich kleinere Auswahl an Extensions zurückgreifen kann, ist aber sichergestellt, daß die angebotenen Extensions zu der installierten GNOME-Version kompatibel sind. Bei Extensions direkt von der GNOME-Website kann es passieren, daß diese eine neuere GNOME-Version voraussetzen oder von anderen Rahmenbedingungen ausgehen, als sie die installierte Version der Desktopumgebung bietet.

Die Installation ist schnell erledigt, wer sich einen Überblich über die angebotenen Extensions verschaffen möchte, kann dies über die Debian-Paketsuche erledigen.

$ sudo apt install gnome-shell-extension-dashtodock gnome-shell-extension-weather gnome-screenshot

 

Kategorien
Betriebssysteme

Grundinstallation Debian

Die Grundinstallation von Debian ist schnell erledigt, um allerdings bereits bei der Installation Fine-Tuning betreiben zu können, sollte der Modus „Expert install“ gewählt werden. Dieser bietet nicht nur mehr und detailliertere Optionen, sondern ist an mancher Stelle (z.B. „Benutzer und Passwörter einrichten“) logischer aufgebaut als der „Graphical install“.

Im Debian Installer Menu die Option „Advanced options“ und dann „Expert install“ wählen.

Bei „Select a language“ die Option „German“ auswählen und den Rest der Spracheinstellungen bestätigen, zusätzliche Gebietsschemen müssen keine installiert werden. Die Tastatureinstellungen ebenfalls bestätigen.

Für eine Standardinstallation müssen keine weiteren Installer-Komponenten hinzugefügt werden.

Sofern im Netz ein DHCP-Server in Betrieb ist, können bei einem Großteil der Netzwerkinstallation die Vorgabewerte übernommen werden. Lediglich beim Rechnernamen (sowie ggf. Domänennamen) sollten entsprechende Eingaben gemacht werden.

Im Bereich „Benutzer und Passwörter einrichten“ kann die Vorgabe „Shadow-Passwörter benutzen?“ ebenfalls bei „Ja“ belassen, aus Sicherheitsgründen sollte aber „root das Anmelden erlauben?“ mit „Nein“ beantwortet werden. Als Folge hieraus wird bereits bei der Installation des Betriebssystems ein normales Benutzerkonto angelegt und „sudo“ direkt so eingerichtet, daß hierüber Arbeiten am System vorgenommen werden können.

Sofern kein eigener Zeitserver irgendwo in Betrieb ist, können die Vorgaben bei „Uhr einstellen“ ebenfalls übernommen werden.

Rund um „Festplatten partitionieren“ sind einige Überlegungen zu treffen, welche weitreichende Auswirkungen haben:

Die erste Entscheidung ist, ob die Partitionierung geführt oder manuell erfolgen soll, ob dafür der LVM verwendet werden soll und ob der Inhalt der Festplatte verschlüsselt werden soll oder nicht.

Bei einer Installation auf einer leeren Platte auf einem Desktoprechner ist wahrscheinlich „Geführt – vollständige Festplatte verwenden“ die richtige Option, auf einem mobilen Rechner sollte auf jeden Fall „Geführt – gesamte Platte mit verschlüsseltem LVM“ gewählt werden.

Nach Auswahl der Festplatte muss noch über die Partitionierung der Festplatte entschieden werden. Sofern man nicht einen guten Grund hat, eine der anderen Optionen zu wählen, ist dem Ratschlag

Wenn Sie Sich nicht sicher sind, wählen Sie den ersten Eintrag

zu folgen und „Alle Dateien auf eine Partition, für Anfänger empfohlen“ zu wählen. Anschließend die „Partitionierung beenden und Änderungen übernehmen“.

Bei der Installation des Basissystems kann die Vorgabe „linux-image-amd64“ übernommen werden, sofern man nicht vor hat, demnächst die Hardware des Systems zu ändern, kann bei den „in die initrd aufzunehmende Treiber“ die Option „angepasst: nur für das System benötigte Treiber einbinden“ gewählt werden.

Der Paketmanager wird im Normalfall so konfiguriert, daß ein Netzwerkspiegel statt einer anderen CD oder DVD verwendet wird. Hierbei nicht davon verwirren lassen, daß trotz „HTTPS everywhere“ die Option „http“ gewählt werden sollte. Bei der Auswahl des Spiegelservers können ebenfalls die Vorgaben bestätigt werden.

Der Einsatz von „Non-free“-Software hängt im Wesentlichen davon ab, ob zum Betrieb des Rechners irgendwelche nicht freien Bestandteile benötigt werden, was i.d.R. bei WLAN- oder Grafiktreibern der Fall ist. Die Paketdepots für Quellpakete können angewählt bleiben. „Sicherheitsaktualisierungen“ sollten auf jeden Fall installiert werden, die Auswahl von „Release-Updates“ ist im Normalfall ebenfalls sinnvoll. Die Option „Rückportierte Software“ sollte nur dann ausgewählt werden, wenn auch ein tatsächlicher Bedarf besteht.

Die automatische Installation von Sicherheitsupdates ins Geschmacksache, sofern kein zwingender Grund dagegen spricht, sollte „Keine automatischen Updates“ gewählt werden.

Um ein möglichst schlankes System zu erhalten sollten bei der Sofwareauswahl alle Optionen des „Debian desktop environment“ abgewählt und lediglich „SSH server“ sowie „Standard-Systemwerkzeuge“ selektiert werden. Der Rest wird gezielt nachinstalliert.

Als letztes wird noch der Bootmanager installiert. Hier können – sofern kein Dual-Boot o.ä. geplant ist, die Vorgaben ebenfalls übernommen werden, eine Installation in den EFI-Wechseldatenträgerpfad ist nur selten nötig.

Beim Einstellen der Uhrzeit muß als Letztes noch die Entscheidung getroffen werden, ob die Systemzeit auf UTC gesetzt ist. Ist Debian als einziges System installiert, kann hier mit „ja“ geantwortet werden, im Dual Boot-Betrieb ist entweder hier ein „nein“ oder eine Anpassung des anderen Betriebssystems notwendig.

Nach Abschluss der Installation sollte das neu installierte Betriebssystem dann starten.

Kategorien
Betriebssysteme

Debian Installationsvorbereitungen

Vor der Installation sollte die vorhandene Hardware auf Kompatibilität getestet werden, was am einfachsten mit einem Live-Image zu bewerkstelligen ist. Nach erfolgreichem Download sollte das Image auf Korrektheit und Unversehrtheit überprüft werden.

Anschließend kann das Image auf einen USB-Stick oder eine DVD kopiert und der Rechner damit gestartet werden, so daß eine erste Einschätzung, ob mit irgendeinem Gerät Probleme zu erwarten sind, getroffen werden kann.

Idealerweise wird das System auf eine neue Platte installiert, so daß eine saubere Trennung von Alt- und Neusystem recht einfach zu bewerkstelligen ist. Vor der Installation nicht vergessen, im BIOS UEFI zu aktivieren und ggf – falls z.B. eine Koexistenz mit Windows gewünscht – die Einstellungen anzupassen. Auch dem Thema Secure Boot sollte ein kurzer Blick gewidmet werden.

Nach der Vorbereitung kann die Installation starten, was entweder über das bereits geladene Live-Image oder mit Hilfe eines Netzwerk Installations-Images erledigt werden kann. Eine gute Vorab-Lektüre ist die Installationsanleitung zur Debian Buster, die man zumindest überfliegen sollte.

Mit der Entscheidung für eine Distrubtion ist das Auswahlverfahren noch nicht abgeschlossen, denn während es unter Windows nur eine Standard-Oberfläche gibt, kommt Debain Buster mit einer Vielzahl von unterstützen Desktop-Umgebungen, die alle ihre Vor- und Nachteile haben: Gnome, KDE, Cinnamon, Mate oder Xfce sind hierbei die gänigsten Kandidaten, bei denen man sich zumindest für einen im Laufe der Installation entscheiden sollte.

Welcher Desktop-Umgebung letzendlich aber der Vorzug geben wird, ist Geschmacksache. Es ist auch problemlos möglich, mehrere Desktop-Umgebungen parallel zu installieren und abwechselnd zu betreiben, bis sich irgendwann eine Präferenz abzeichnet.

Kategorien
Betriebssysteme

Neue Festplatte unter Linux hinzufügen

Sowohl unter Linux als auch unter Windows gibt es verschiedene Möglichkeiten, eine zusätzliche Platte in Betrieb zu nehmen. Während unter Windows das Kommandozeilen-Programm „diskpart“ zwar vorhanden ist, aber selten genutzt wird, ist unter Linux eher die Kommandozeile gängig, als die Arbeiten mit z.B. „gnome-disks“ zu erledigen.

Im ersten Schritt werden die vorhandenen Laufwerke aufgelistet. Dies dient dazu sicherzustellen, daß die zusätzliche Festplatte auch fehlerfrei eingebaut und erkannt wurde und um den Namen zu erfahren, welcher der Platte vom System zugewiesen wurde:

$ sudo fdisk -l
...
Disk /dev/sda: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 860 
...

Zu erkennen ist die Platte zum einen am Namen (und ggf. an der Größe), zum anderen daran, daß – sofern es sich um eine neue Platte handelt – noch keine Partitionen darauf angelegt wurden.

Nachdem die Platte identifiziert wurde (im Beispielfall „/dev/sda“), kann diese im nächsten Schritt partitioniert werden:

$ sudo fdisk /dev/sda

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-1953525167, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525167, default 1953525167):

Created a new partition 1 of type 'Linux' and of size 931,5 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Sofern keine weitere Unterteilung gewünscht ist, können hier einfach die Vorgaben übernommen werden:

  • „n“ (für neue Partition),
  • „Enter“ (um eine primäre Parition anzulegen),
  • „Enter“ um die Partition mit der Nummer „1“ anzulegen,
  • „Enter“ zum Bestätgen des Startsektors,
  • „Enter“ zum Bestätgen des Endsektors,
  • „w“ zum Speichern der Änderungen und verlassen

Als Nächstes wird das Dateisystem „ext4“ auf der soeben erzeugten Partition erzeugt:

$ sudo mkfs.ext4 /dev/sda1
mke2fs 1.44.5 (15-Dec-2018)
Discarding device blocks: done 
Creating filesystem with 244190390 4k blocks and 61054976 inodes
Filesystem UUID: bd54c452-1234-5678-a294-d22cb9d6be33
...
Writing superblocks and filesystem accounting information: done

Um die Platte dauerhaft einzuhängen, muß noch ein entsprechender Eintrag in der fstab gemacht werden. Zwar würde es funktionieren, die Partition über ihren Gerätenamen „/dev/sda1“ einzubinden, jedoch kann dieser sich u.U. ändern.

Aus diesem Grund ist einer Einbindung über die eindeutige UUID den Vorzug zu geben. Diese kann entweder der Ausgabe des soeben durchgeführten „mkfs.ext4“ entnommen werden oder mit Hilfe des Befehls „blkid“:

$ sudo blkid 
...
/dev/sda1: UUID="bd54c452-1234-5678-a294-d22cb9d6be33" TYPE="ext4" PARTUUID="6f084731-01"

Letztendlich stellt sich noch die Frage: wohin mit der neuen Platte im Dateisystem?

Obwohl sich die verschiedenen Distributionen in den letzten Jahren auf einen Filesystem Hierarchy Standard geeinigt haben, schweigt sich dieser interessanterweise genau zu diesem Punkt aus.

Als bestehende Einhängepunkte bieten sich „/mnt/neueplatte“ (eigentlich für Temporarily mounted filesystems gedacht), „/media/neueplatte“ (Mount points for removable media), das in macOS verwendete „/Volumes/neueplatte“ oder auch ein davon inspiriertes „/vol/neueplatte“.

$ sudo mkdir /vol
$ sudo mkdir /vol/neueplatte

Nachdem der Einhängepunkt erzeugt wurde, kann über einen entsprechenden Eintrag in der Datei „/etc/fstab“ die Platte bei jedem Start automatisch eingehängt werden:

...
# 2019-08-15 athul/added 2nd disk
UUID=bd54c452-1234-5678-a294-d22cb9d6be33 /vol/neueplatte ext4 defaults 0 2

Nach einem Reboot steht die Platte dann im Verzeichnis „/vol/neueplatte“ zur Verfügung. Eine Übersicht über die zum Einhängen verwendeten Felder liefert das Debian-Wiki.