Meine openSuSE Workstation

OpenSuse Leap 15 ist seit dem 25.05.2018 verfügbar, was es kann steht unter anderem hier, Versionshinweise hier und wie man es installiert und viele Filmchen findet man im Internet. Was ich mit openSuSE mache, das findet man … bei mir 🙂

Ich bin eigentlich eher Windows und MacOS-Nutzer und habe mit Linux eigentlich eher weniger etwas am Hut. Wobei richtig klar gestellt, eher ein Ex-Linux-Nutzer, wobei das wiederum nicht stimmt den ich nutze ja auch Linux. Früher eben als primäres System. Warum ich Linux nicht ganz den Rücken zudrehen konnte, liegt daran das es bei mir einen festen Platz als LAMP-Workstation ergattern konnte.

Ich schreibe überwiegend Websoftware auf PHP Basis und was ist jetzt naheliegender, als diese Software zumindest funktional unter LAMP (Linux Apache MySQL PHP) zu testen. Und genau das mache ich auch. Überwiegend schreibe ich Code unter Windows, mit XAMPP als lokale LAMP-Distribution. Das funktioniert ganz gut, nur eben nicht 100 prozentig zuverlässig. Windows ist eine andere Plattform als Linux, XAMPP ist großzügig konfiguriert und bringt sehr viele Module mit, die eine Linux-Distribution standardmäßig nicht mitbringt und meist Distributionsspezifisch konfiguriert ist und wo Linux-Berechtigungen für Windows egal sind, greifen diese wiederum unter Linux.

Das heißt das es zu unerwarteten Problemen kommen kann und muss, wenn man vom Entwicklersystem kein Feedback bekommt und man schon gewisse Manntage für nichts und wieder nichts einfach so verbrennen kann. Das ist besonders ärgerlich. Viele lösen das Problem mit einem Testserver, was ziemlich gut und richtig ist. Oder man hat eine Linux-Workstation zb. in einer VirtualBox laufen und spart sich unnötigen Netzwerk-Trafik und nicht unbedingt einen Testserver.

Jetzt habe ich schon mehr geschrieben als ich eigentlich wollte 🙁

Meine Installation

Mein Ziel ist es, OpenSuSE 15 in der VirtualBox zu installieren. Erst einmal als Desktop-Workstation, später vielleicht auch eine Server-Version falls ich darauf Lust darauf bekommen sollte. Die Desktop-Version hat für mich den Vorteil, das ich auch mir so anschauen kann was sich in der Linux-Desktop Welt so alles ereignet.

OpenSuSE läuft bei mir in einer mit reichlich Hardware-Ressourcen ausgestatteten VirtualBox.

  • 4 Prozessorkerne
  • 8 GB RAM
  • 256 GB HDD
  • 64 MB Grafikspeicher

Ich denke das reicht für den Anfang 🙂

Zum Austausch der Daten habe ich einen “VirtualBoxAustausch”-Ordner unter Windows erstellt und VirtualBox zur Verfügung gestellt. Der Ordner wird unter OpenSuSE 15 erkannt. Die Einrichtung erkläre ich weiter unten. Zunächst die Installation. Dafür verwende ich das Netzwerk-Image, weil ich die gewünschte Konfiguration nicht von der DVD bekomme. Bei meiner gewünschten Konfiguration wähle ich in der Softwareauswahl den Punkt “Benutzerdefiniert”.

Und wähle folgende Punkte:

  • Gnome Desktop-Umgebung (Basic)
  • Web- und LAMP-Server
  • Grundlegende Entwicklungsumgebung
  • Hilfe und Support-Dokumentation
  • Dokumentation

Das Ergebnis sieht dann wie folgt aus.
Was ich dann weiter benötige kann ich nach der eigentlichen Installation nachinstallieren. Letztendlich wenn alles geklappt hat, sollte man im gewähltem Desktop landen. Bei mir ist es Gnome3 im “Minimal Modus”.
Wie man sieht, ist auf dem erstem Blick gar nicht soviel installiert. Allerdings fehlt noch etwas an Software, anderes Thema, und vieles ist noch über das Terminal zu erreichen, wie zum Beispiel die Konfiguration des Webservers. Hier noch ein Bild auf die virtuelle Ausstattung der Hardware 🙂
Was ich erst einmal erreicht habe ist, Software die ich nicht benötige auch nicht installiert zu haben. Was ich noch benötige und mir fehlt, kann ich schließlich noch zusätzlich installieren. Das wird dann wohl Teil 2 dieser Themenreihe 🙂

Einrichtung des Gemeinsamen Orders

Bleibt noch die Frage zum “Gemeinsamen Ordner” zu klären. Diese Funktion stellt VirtualBox bereit um einen einfachen und schnellen Datenaustausch zwischen Host und Wirt zu ermöglichen. Aktiviert wird es in der VirtualBox bei “Gemeinsame Ordner” und nach dem Start des virtuellen System, ist es auch eingebunden.

Nutzen lässt es sich aber noch nicht, weil die Berechtigung dafür fehlt. Folgendes ist mir zwar nicht unbekannt, trotzdem mache ich das unter OpenSuSE zum allererstem mal … Verschaffung der nötigen Rechte. Das mache ich in dem ich den Benutzer in die nötige Gruppe vboxsf einfüge.

Das habe ich mit Hilfe von Yast auch erledigt. Im Modul “Benutzer und Gruppen” habe ich meinen Benutzer ausgewählt und editiert. Unter Details habe meinen Benutzer anschließend in die Gruppe vboxsf gesteckt und nach einem erneutem Login, lässt sich die Freigabe nutzen.

Hier das Ergebnis.
Ich komme jetzt endlich zum Schluss. Das Gesamtergebnis kann sich für mich sehen lassen. Ich bin zufrieden 🙂 Weitere Teile zum Thema sollten folgen. Ich möchte noch die Konfiguration des Desktops und ganz wichtig, die Konfiguration des Lamp dokumentieren, sobald ich mich darin eingearbeitet habe. Die hat sich nämlich gegenüber Leap 42 geändert.

Weitere Informationen zum Thema OpenSuSE gibt es auf der Projektseite.

xterm konfigurieren

Neuerdings bin ich dazu übergetreten xterm zu nutzen, weil ich unter Linux gern eher ein schlankes System bevorzuge, wo ich dann nur noch wenig darum kümmern muss. xterm ist in meiner Distribution einfach immer installiert, nur sieht es standardtechnisch am Anfang wenig gut aus. Um ihn zu konfigurieren braucht man etwas Wissen, welche ich mir jetzt durch das Internet mehr und mehr zusammensuche. Und nach etwas Konfiguration, kann er dann schon mal so aussehen.

Bild eines Terminal-Emulators

Okay zugegeben das Bild ist etwas unscharf und dunkel, aber wer xterm kennt wird erkennen das diese Konfiguration ganz sicher vom Standard abweicht. Die Konfiguration selbst ist eigentlich “simpel”, wenn man es einmal verstanden hat.

Quelle die mir in diesem Fall sehr geholfen hat ist das archwiki.org. Dort ist annährend gut beschrieben, was man machen muss. Der gute Rest nennt sich ausprobieren.

Hier meine anfängliche Konfiguration.

Xterm.vt100.foreground: #efefef
Xterm.vt100.background: #33393b
Xterm.vt100.geometry: 112×35
Xterm.vt100.faceName: Liberation Mono:size=10:antialias=true
Xterm.vt100.font: 7×13

Mir gefällts 🙂

GhostBSD installiert

Vor über 16 Jahren habe ich mir zum erstem mal eine Linux-Distribution, Mandrake Linux 8.0, selbstständig und erfolgreich installiert. Ich hatte keine Ahnung von Linux und wußte auch nicht was mich erwartet. Youtube gab es damals noch nicht und wenn… da hatte ich noch kein Internet. Dank des grafischen Installers verlief die Installation reibungslos und mit etwas probieren, lief auch sehr bald mein Drucker, ein Canon bjc2000. Ähnlich wie SuSE besaß auch Mandrake ein grafisches Konfigurationsmenü ala Yast, hieß nur nicht so… wie es heißt, habe ich allerdings vergessen.

Nachdem ich Windows, MacOS und Linux kennen gelernt und genutzt hatte, und nutze diese immer noch, wollte ich schließlich mal wieder etwas anderes und neues ansehen. BSD aber viele Jahre hat es einfach nicht geklappt. BSD wollte sich nicht installieren und war auch sonst ziemlich kryptisch. Dieses Jahr hatte ich mit TrueOS schließlich einen Erfolg. Das System war etwas wackelig und mit einem Mix aus KDE 4 und Gnome Software, sah etwas nerdig aus. Ein Versuch alles Stylisch zumindest etwas anzupassen, war nicht ersichtlich. Ich habe schnell wieder Linux installiert.

Aber heute war wieder so ein Tag, da hatte ich einfach Lust wieder auf BSD zu setzen und ehrlich gesagt Linux vorerst zu kippen. Das ist aber ne andere Geschichte… also gesagt getan. Da ich von BSD keine Ahnung habe, habe ich zuerst Wikipedia bemüht und dadurch auf GhostBSD gestoßen. FreeBSD mit vorkonfiguriertem Desktop, wie ich das verstanden habe. MATE passt mir auch sehr gut, da ich kein Fan von Gnome3 oder KDE5 bin. ISO geladen, gebrannt und los gings es mit Testen und Installieren.

Mir ist sofort aufgefallen das GhostBSD runder und schneller läuft als TrueOS. Wobei der Vergleich eher hinken kann, da die TrueOS installation schon einige Monate zurück liegt. Ich landete in einem gestyltem MATE-Desktop. Es wird einige Software bereits mitgeliefert wie LibreOffice, Firefox, GVim usw. Erfreulich ist, das die Softwareauswahl keine redundanz aufweist. Es gibt einen Musik Player Exaile, einen Video Player Gnome MPlayer usw. Ob diese auf funktionieren, habe ich nicht getestet. Video DVD habe ich probiert abzuspielen, was nicht funktionierte. Unter Linux braucht man allerdings auch spezielle Codecs.

Wie fühlt sich das System jetzt nach wenigen Stunden nutzung an? Wer Linux kennt, wird bis auf einige kleinigkeiten, keinen Unterschied feststellen. Vorrausgesetzt das System läuft. BSD ist hardwaretechnisch noch schlechter aufgestellt als Linux. GhostBSD ist auf meinem Thinkpad t400 installiert und läuft solide. Vermuttlich ist die Hardware gut abgehangen. Für irgendwelche Testberichte ist es sicherlich zu früh. Ich kenne das System kaum und möchte es jetzt einige Wochen und Monate nutzen und kennen lernen. Dann kann ich keinen aussagekräftigeren Bericht auch schreiben. Bis dahin, hier einige Screenshots 🙂

GhostBSD MATE-Desktop.
Abbildung 1: GhostBSD MATE-Desktop.
Abbildung 2: Standardshell ist fish. Hier die komplette Ausgabe von uname -a.
Abbildung 3: OctoPKG sorgt für Updates und Installation von Software.
Abbildung 4: Kommerzielle DVDs werden nicht abgespielt.

BR5 – Das Computermagazin: Limux – Interview mit Stadträtin Anne Hüber

Das Computermagazin von BR5 brachte ein Podcast zum Thema Limux und München raus. Einfach mal reinhören.

http://www.br-online.de/podcast/mp3-download/b5aktuell/mp3-download-podcast-computermagazin.shtml

Einer meiner Schwestern arbeitet direkt in Stadt München und hat täglich mit Limux, Wollmux usw. zu tun. Was die Stadträtin Anne Hüber über Technik und Probleme sagt, stimmen mit den Aussagen meiner Schwerster überein. Lange Logins und abstürzende Wollmuxe.

Eigene Slackware-Pakete erstellen

Was unter Windows und MacOS gang und gäbe ist, will ich auf Linux ja auch haben. Ein wichtiger Grund für mich Slackware zu nutzen, ist die Unabhängigkeit von einem Pakete-Manager und vergleichsweiße einfache Erstellung der Distributionseigenen Pakete für Slackware. Den ein Paket kann man später einfacher aus dem System entfernen.

Heute war so ein Fall, wo ich eine bestimmte Software haben wollte, aber es für meine Distribution nicht gibt. Ich habe ein Buch um Python zu lernen, aktuell zu Python3 Version 3.4.5. Ein blick in Slackbuilds.org zeigt mir, das Python3 Version 3.6.0 gerade aktuell ist. Das möchte ich erstmal aber nicht haben. Ein händisches Anpassen der Slackbuild-Skripte brachte kein Erfolg. Von früher her kenne ich aber Wege, wie man händisch auch so sein Programm kompilieren und Paketieren kann.

Der Beitrag von Christian Schneider Slackware Packages erstellen hat mich wieder auf den Kurs gebracht. Immerhin wußte ich noch, das ich bei .configure den –prefix setzen musste…

Ich baue mir also mein python3-3.4.5 selbst. Hier mein Weg.

  1. Downloaden von Python3-3.4.5
  2. In einem Ordner Python3-3.4.5 auspacken
  3. Ins Terminal gehen und in den Ordner mit Python wechseln
  4. .configure –prefix=/usr ausführen, das bestimmt das Ziel wo die Software später landet.
  5. grep -r DESTDIR * ausführen und die Ausgabe nach DESTDIR Eintrag suchen.
  6. Ist es gefunden worden, führt man make DESTDIR=/tmp/packages/python3-3.4.5 install aus. Falls nicht, make prefix=/tmp/packages/python3-3.4.5/usr install.
  7. Nun wechselt man in den python-Ordner, cd /tmp/packages/python3-3.4.5 und mit makepkg /tmp/python3-3.4.5.txz baut man sich sein Paket. Wichtig ist die die Zielangabe, weil ein bauen im selben Ordner, makepkg mit einem Fehler fehlschlägt.
  8. Das paket installieren und nutzen.

Fertig! 🙂

Ich kann jetzt Python3.4.5 für das Selbststudium nutzen und später ein aktuelles Python wählen. Solange ich aber das Buch abarbeiten will, will ich soviel wie möglich gleich haben. Auf Windows und MacOS habe ich auch Python3-3.4.5 laufen. Alles ist also überall gleich. Herrlich 🙂

Eigenen Linux-Kernel kompilieren (backen) – Slackware

Anleitungen, wie man einen eigenen Linux-Kernel kompiliert gibt es ja genug. Dennoch möchte ich “meine” Version des ganzen aufschreiben, auch weil es vielleicht jemand anderes braucht.

Los gehts!

Herunterladen des Kernels von der Projekt, zum Beispiel:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.6.tar.xz

Danach wechseln nach /usr/src und den heruntergeladenen kernel entpacken, zum Beispiel:

tar xf /home/heinrich/Downloads/linux-linux-4.9.6.tar.xz

Den alten link “linux” entfernen

rm linux

und einen neuen Link zum aktuellem Kernel erstellen

ln -s /usr/src/linux-4.9.6 linux

Danach in den Ordner mit dem neuem Kernel wechseln

cd linux

Hier hat man nun mehrere Methoden zur Auswahl. Mit localmodconfig kann man eine auf das eigene System .config-Datei erstellen. Man kann gänzlich eigenen .configs erstellen oder auch des Distributors verwenden. Ich habe mir einmalig eine eigene .config-Datei erstellt, die ich später für weitere kompilierungen und experimente nutze.

make localmodconfig

Kernel und die Module kompilieren

make bzImage modules

Anschließend die Module installieren mit

make modules_install

Nachdem die kompilation und die installation erfolgreich durchgelaufen ist, muss man noch den erstellten Kernel ins /boot-Verzeichnis kopieren, samt der .config und System.map.

cp arch/x86_64/boot/bzImage /boot/vmlinuz-custom-4.9.6
cp System.map /boot/System.map-custom-4.9.6
cp .config /boot/config-custom-4.9.6

Danach ins /boot-Verzeichnis wechseln, die alte System.map löschen und neue System.map aus dem neuem Kernel verlinken.

cd /boot
rm System.map
ln -s System.map-custom-4.9.3 System.map

Jetzt muss lilo nur noch den neuen Kernel kennen lernen.

In etc/lilo.conf nun um den neuen Kernel ergänzen

image = /boot/vmlinuz-custom-4.9.6
  root = /dev/sda2
  label = Kernel-4.9.6
  read-only

speichern und anschließend lilo als Befehl ausführen. Fertig!

Fazit

Ich habe es ähnlich nach der Wiki von Alien gemacht, das zwar einen älteren Kernel beschreibt und es auch auf den aktuellen 4er Kernel angewendet werden kann.

http://alien.slackbook.org/dokuwiki/doku.php?id=linux:kernelbuilding

Den Befehl localmodconfig habe ich aus einem heise.de-kernel-log-Artikel, finde den Artikel momentan nicht. Sobald ich es finde, reiche ich es hier nach. Dieser Befehl war der Grund warum ich einen neuen Kernel bauen wollte. Früher habe ich die .config-Dateien meines Distributors genommen, oder gänzlich eigenes erstellt. Mit localmodconfig soll automatisch für das locale System passendes .config erstellt werden, das wiederum für einen bootbaren Kernel sorgt.

Mich interessiert es noch, wie man einen Kernel patcht und wie man auch ein Slackware-Paket erstellt. Sollte ich es herausgefunden haben, werde ich es auch nieder schreiben.