Debian

Grundinstallation Debian

3. 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:

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


Windows 10 is coming ... oder auch nicht?

6. August 2019 · Betriebssysteme · andreas · 1 Kommentar

Für alle Windows 7-Benutzer war der 14. Juli 2019 der Tag, an dem sie spätestens anfangen sollten, sich Gedanken über die Zukunft ihres Betriebssystems zu machen - denn das letzte halbe Jahr des Microsoft-Supports für Windows 7 hat an diesem Tag begonnen:

Der Support für Windows 7 endet am 14. Januar 2020. Anschließend sind weder technische Unterstützung noch Softwareupdates über Windows Update zum Schutz des PCs verfügbar.

Natürlich hat Microsoft auch gleich die - für die meisten Anwender vermutlich auch passendste - Lösung parat:

Microsoft empfiehlt dringend, vor Januar 2020 zu Windows 10 zu wechseln

Die Zahlen der Betriebssystemverteilungen der letzten Wochen und Monate zeigen allerdings, daß offensichtlich nicht jeder von der Idee des zeitweise sogar kostenlosen Updates beglückt ist und viele Anwender bleiben noch bei Windows 7, wohl wissend, daß es sich hierbei um keine Dauerlösung handeln kann.

Windows 10

Die Frage nach den Ursachen liegt bei jedem etwas anders, hier sind es im Wesentlichen zwei Gründe:

Mit Windows 10 legt Microsoft, ganz den Beispielen anderer Konzerne folgend, eine Datensammelwut an den Tag, die nicht nur auf den ersten Blick beängstigend ist. Wer eine aktuelle Windows 10 1903 installiert, fragt sich spätestens nach dem fünften “Wir würden gerne …?” ob er hier nicht nur die Spitze des Eisbergs sieht und das System im Hintergrund noch deutlich mehr Daten sammelt und Richtung Redmond weiterleitet.

Das zweite Problem ist die mit Windows 10 gewechselte Releasepolitik: statt wie mit Windows 7 eine Basis zu schaffen, die dann für mehr als 10 Jahre als stabile Arbeitsplattform dient, halten mit Windows 10 halbjährliche Updates Einzug, die - wenn auch verzögert installierbar - letztendlich immer im erheblichen Maße das bestehende System umgraben und somit genau das Prinzip einer stabilen Arbeitsplattform verletzen.

Somit war die grundlegende Entscheidung klar: kein Wechsel auf Windows 10, sondern stattdessen nach Alternativen zu suchen.

MacOS

Die Option, MacOS einer genaueren Evaluierung zu unterziehen, wurde nach kurzer Überlegung wieder verworfen: statt Microsoft diktiert dann Apple die Regeln und liest fröhlich alles mit - und das zu einem auch in Euro recht happigen Preis, denn die bereits vorhandene Hardware hätte nicht weiterverwendet werden können.

Linux

Als deutlich sinnvollere Alternaive erscheint Linux, das in schier unzähligen Varianten (Distributionen) erhältlich ist und wohl eher die passende Distribution zu finden das eigentliche Problem darstellt.

Im ersten Schritt ist zwischen den sogenannten Rolling Releases und den versionsbasierte Distributionen zu unterscheiden: bei Rolling Releases werden die zu einer Distribution gehörenden Pakete kontinuierlich aktualisiert und Teile des Systems somit fortwährend geändert. Dies hat den Vorteil, immer die aktuellste Version eines Software-Pakets zu verwenden, aber gleichzeitig den Nachteil, daß eine gewünschte stabile Arbeitsplattform nicht gewährleistet ist.

Die Erfahrungen mit Arch Linux hatten gezeigt, daß auf Dauer - vor allem, wenn Aktualisierungen nicht zeitnah und am besten täglich installiert werden - die Wartung des Systems mehr als schwierig sein kann und Dinge die heute noch funktioniert haben nach dem nächsten Update erst einmal zeitraubend wieder repariert werden müssen.

Sattdessen hat sich Debian Linux, sowohl als virutelle Entwicklungsumgebung als auch auf dem Laptop in den letzten Jahren als stabile und extrem zuverlässige Plattform erwiesen. Nur selten mit den aktuellsten Programmversionen ausgestattet, legen die Entwickler offensichtlich mehr Augenmerk auf Stabilität und liefern so eine Plattform, auf - und mit - der es sich arbeiten lässt, ohne daß das Hauptaugenmerk auf den Befindlichkeiten des Betriebssystem liegt.

Dies kombiniert mit der Tatsache, daß die aktuelle Debian Version “Buster” am 7. Juli 2019 veröffentlicht wurde und mit Long Term Support bis voraussichtlich 2024 gepflegt wird, gab den Ausschlag, die Umstellung anzupacken und den Umstieg auf Debian zu wagen.


phpMyAdmin Fehler "Parameter must be an array or an object that implements Countable"

12. Juli 2019 · Programmierung · andreas · 3 Kommentare

Nachdem das Update des Entwicklungsrechners von Debian 9 (Stretch) auf Debian 10 (Buster) reibungslos durchgelaufen ist, hakt es bei phpMyAdmin sobald eine Tabelle angeklickt wird:

Warning in ./libraries/sql.lib.php#613
count(): Parameter must be an array or an object that implements Countable

Eine einfache Lösung findet sich bei Stack Overflow: in der Datei “/usr/share/phpmyadmin/libraries/sql.lib.php” eine der schließenden Klammern von Zeile 614 in Zeile 613 vor das “== 1” versetzen, so daß die Zeilen 613 und 614 wie folgt aussehen:

|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*'))

Nach einem Neustart des Webservers ist der Fehler verschwunden.