Debian

Laufwerke von der Kommandozeile ohne Kennwort einbinden

01. November 2019 · Betriebssysteme · andreas · Kein Kommentar

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.

Ä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.


Wahl der Desktopumgebung

22. Oktober 2019 · Betriebssysteme · andreas · 1 Kommentar

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).

Weiterlesen


Grundinstallation Debian

03. September 2019 · Betriebssysteme · andreas · 3 Kommentare

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.


Debian Installationsvorbereitungen

24. August 2019 · Betriebssysteme · andreas · Kein Kommentar

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.


Neue Festplatte unter Linux hinzufügen

15. August 2019 · Betriebssysteme · andreas · Kein Kommentar

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:

/etc/fstab
... # 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.