Daten|teiler
Kopieren als Kulturtechnik

Akkulaufzeit unter OpenSUSE optimieren

21. Mai 2017 von Christian Imhorst

Mein betagter DualCore-Rechner, ein Acer Aspire 2920, glüht, und der Lüfter rauscht nach wenigen Sekunden schon gut los. Mit ein paar Maßnahmen zum Energiesparen und zum Drosseln der CPU köchelt der Laptop nicht mehr ganz so stark vor sich hin und der Akku hält nun etwas länger durch. Für normale Anwendungen und XFCE als Desktop reicht die Leistung trotzdem noch locker aus.

Stromsparen mit TLP

Mit TLP kann man Gnu/Linux basierten Systemen im Allgemeinen und OpenSUSE im Besonderen die Feinheiten des Stromsparens beibringen und muss sich dabei nicht mit Detailwissen herumschlagen. In der Standardkonfiguration ist TLP bereits auf Akkulaufzeit optimiert und kann daher einfach installiert, aktiviert und vergessen werden:

sudo su
zypper install tlp
systemctl enable tlp.service
systemctl enable tlp-sleep.service

Besser swappen

Das Optimieren des Swap-Verhaltens hilft zwar nicht dabei, Strom zu sparen, aber die SSD zu schonen, wenn man festlegt, wann der Kernel Daten aus dem Arbeitsspeicher in die Swap-Partition verschieben soll. Die swappiness wird dabei mit einem Wert von 0 bis 100 angegeben. Bei 0 wird nur dann ausgelagert, wenn es gar nicht mehr anders geht, weil der Arbeitsspeicher voll ist. Bei einer swappiness von 100 wird der Arbeitsspeicher kaum genutzt. Standardmäßig ist 60 eingestellt, was man mit dem folgenden Befehl herausfinden kann:

sysctl vm.swappiness

Die Einstellung der swappiness ändert man mit einem Editor seiner Wahl in der Datei /etc/sysctl.conf und hängt dort am Ende folgende Zeilen an:

vm.swappiness=1
vm.vfs_cache_pressure=50

Mit dem neuen Wert für vfs_cache_pressure stellt man die Tendenz des Kernels ein, Speicher zurückzufordern, der zum Zwischenspeichern von Verzeichnissen und Inode Objekten zugeteilt wurde, zu verringern. Mit dieser und dem neuen Wert für die swappiness werden die Schreibzugriffe auf die Festplatte weniger und der Laptop arbeitet schneller.

Dabei muss man beachten, dass systemd-sysctl nicht die Datei /etc/sysctl.conf selbst direkt verarbeitet, sondern den Link unter /etc/sysctl.d/99-sysctl.conf auf die /etc/sysctl.conf. Sollte der Link aus irgendwelchen Gründen nicht vorhanden sein, kann man ihn einfach erstellen:

ln -s /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf

Energiesparplan

Governors regeln Energiesparpläne für die CPU. Um herauszufinden, welcher Governor für den an die eigene CPU angepassten Energiesparplan überhaupt in Frage kommt, schaut man mit dem Befehl cpupower frequency-info nach. Für den DualCore des Acers kommen als mögliche Regler powersave, ondemand oder performance in Frage. Während das voreingestellte Performance den Prozessor auf die höchste Frequenz einstellt, taktet Ondemand, was in der Regel empfohlen wird, den Prozessor je nach Systemlast herauf und herunter, während Powersave ihn auf die niedrigste Frequenz einstellt.

CPU Frequenz und mögliche Regker ermitteln

Den Governor stellt man ebenfalls mit dem Befehl cpupower ein:

cpupower frequency-set -g powersave

Damit der Governor auch nach dem nächsten Systemstart wieder aktiv ist, kann man ihn durch systemd beim Start ausführen lassen. Dazu erstellt man zuerst die Datei /etc/systemd/system/governor.service:

[Unit]
Description=CPU Governor
 
[Service]
Type=idle
Environment="TERM=dumb"
ExecStart=/usr/bin/cpupower frequency-set -g powersave
 
[Install]
WantedBy=multi-user.target

Nun lädt man noch die Konfiguration des systemd-Managers neu und aktiviert den Governor-Service:

systemctl daemon-reload
systemctl enable governor.service

Stromspar-Hilfe PowerTOP

PowerTOP analysiert den Energieverbrauch des Systems und gibt darauf basierende Tipps, mit denen man die Akkulaufzeit dauerhaft verbessern kann. Mit dem Parameter --auto-tune kann man die Vorschläge automatisch für die laufende Sitzung übernehmen:

powertop --auto-tune

Um PowerTOP automatisch mit den besten Werten gleich beim Systemstart durch systemd ausführen zu lassen, kann man folgendermaßen vorgehen.

Zuerst erstellt man die Datei /etc/systemd/system/powertop.service für den systemd-Service:

[Unit]
Description=PowerTOP auto tune
 
[Service]
Type=idle
Environment="TERM=dumb"
ExecStart=/usr/sbin/powertop --auto-tune
 
[Install]
WantedBy=multi-user.target

Dann lädt man die Konfiguration des systemd-Managers neu und aktiviert den PowerTOP-Service:

systemctl daemon-reload
systemctl enable powertop.service

In den openSUSE Docs findet man noch weitere Infos zum Power Management

Geschrieben in Gnu/Linux, Open Source, OpenSuse | Keine Kommentare »

PowerShell in openSUSE Leap 42.2 installieren

12. März 2017 von Christian Imhorst

PowerShell gibt es schon länger für Linux-Systeme, allerdings nur für Ubuntu und CentOS. Wobei die Installation unter Fedora mit dem CentOS-Paket auch geklappt hat. Seit Version 6.0.0-alpha.17 ist die PowerShell auch für weiter Distributionen verfügbar, auch für openSUSE, allerdings nur für Version 13.2 und nicht für Leap.

Wenn man der Anleitung auf GitHub für openSUSE folgt, kann man das RPM-Paket zwar installieren, erhält aber beim Start der PowerShell eine Fehlermeldung:

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ sudo zypper install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.17/powershell-6.0.0_alpha.17-1.suse.13.2.x86_64.rpm
$ powershell
Failed to initialize CoreCLR, HRESULT: 0x80131500

Auf einem standardmäßig eingerichtetem openSUSE Leap 42.2 scheint der PowerShell etwas zu fehlen, vermutlich eine bestimmte Bibliothek. Mit folgendem Befehl kann man herausfinden, welche das sein könnte:

$ sudo find /opt/microsoft/powershell/6.0.0-alpha.17/ -name '*.so' -type f -print | xargs ldd | grep 'not found'
...
      liblldb.so.3.5.0 => not found
      libicuuc.so.53.1 => not found
      libicui18n.so.53.1 => not found
      liblttng-ust.so.0 => not found

Jetzt kennt man zwar die Probleme, kann aber bei der Beschaffung der Programme auf weitere Hindernisse stoßen. Denn das Programm icu, von dem man die Bibliothek libicuuc.so in der Version 53.1 benötigt, gibt es in den Repositories von Leap nur die Version 52.1, was zu niedrig ist.

$ zypper info icu
...
Informationen zu Paket icu:
---------------------------
Repository         : openSUSE-Leap-42.2-Oss                                   
Name               : icu                                       
Version            : 52.1-11.5                                 
Arch               : x86_64                                    
Anbieter           : openSUSE
Installierte Größe : 541,4 KiB                                 
Installiert        : Ja                                        
Status             : aktuell                                   
Zusammenfassung    : International Components for Unicode      
Beschreibung       :                                           
    ICU is a set of C and C++ libraries that provides robust and
    full-featured Unicode and locale support. The library provides calendar
    support, conversions for many character sets, language sensitive
    collation, date and time formatting, support for many locales, message
    catalogs and resources, message formatting, normalization, number and
    currency formatting, time zone support, transliteration, and word,
    line, and sentence breaking, etc.
 
    This subpackage contains the runtime programs for interacting with ICU.

Nach einer kurzen Suche auf software.opensuse.org findet man die Version 53.1 in einem Repo für Tumbleweed für die Sprache R. Für die Installation von PowerShell wird es vorübergehend hinzugefügt:

$ sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/R:/released/openSUSE_Tumbleweed/ R
$ sudo zypper refresh
$ sudo zypper install icu-53.1-70.1.x86_64 lttng-ust

Nach der Installation wird das Repository wieder entfernt und das Paket icu mit Zypper gegen ein Downgrade auf die alte Version gesperrt. Genau das versucht Zypper nämlich, sobald das Repo, in dem die Version 53.1 enthalten war, fehlt:

$ sudo zypper rr http://download.opensuse.org/repositories/devel:/languages:/R:/released/openSUSE_Tumbleweed/ R
$ sudo zypper addlock icu
$ sudo zypper refresh
$ sudo zypper update

Mit der aktuellen Version von icu kann man jetzt PowerShell unter openSUSE Leap ausführen.

PowerShell und openSUSE

Have a lot of fun!

Geschrieben in Gnu/Linux, OpenSuse, Powershell | Keine Kommentare »

Docker in openSUSE Leap 42.2 installieren

8. März 2017 von Christian Imhorst

Mit der Open-Source-Software Docker kann man Anwendungen durch Betriebssystemvirtualisierung in Containern isolieren. Die Version in den Repositories von openSUSE Leap 42.2 ist etwas veraltet. Um an die aktuellste Version von Docker zu gelangen, benötigt man das entsprechende Repository und wird deshalb erst Mal mit sudo su zum Superuser Root, um es dann hinzuzufügen:

zypper ar https://yum.dockerproject.org/repo/main/opensuse/13.2/   docker-main

Daneben benötigt man auch noch den öffentlichen Schlüssel für das Docker Repo:

rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xF76221572C52609D"

Bevor man die Installation startet, sollten alle Reste einer vorangegangenen Installation gelöscht werden:

zypper rm docker docker-engine runc

Sollte es dabei während des Löschens zu Problemen kommen, muss man zu etwas härteren Maßnahmen greifen:

rpm -e --noscripts docker-engine
rm -rf  /var/lib/docker

Aber Vorsicht: Dabei werden alle bereits existierenden Container gelöscht.

Danach wird die Installation von Docker gestartet:

zypper refresh
zypper up
zypper in docker-engine

Nach der gelungenen Installation wird Docker gestartet und der erste Testlauf angestoßen:

service docker start
docker run hello-world
 
    Hello from Docker!
    This message shows that your installation appears to be working correctly.

Wenn man Docker oder ein bestimmtes Docker-Image schon beim Systemstart aktiv haben möchte, findet man eine Anleitung in der Docker Dokumentation.

Geschrieben in Gnu/Linux, Open Source, OpenSuse | Keine Kommentare »

OpenSUSE Leap mit aktuellem Kernel

28. Februar 2017 von Christian Imhorst

Bei der OpenSUSE-Distribution Leap kommen die Programme aus der Rolling-Release-Distribution Tumbleweed und sind auf der Höhe der Zeit. Der technische Unterbau ist aber von SUSE Linux Enterprise, weshalb der Kernel zum Beispiel nicht der aktuellste ist. Das kann man allerdings nachholen und auch unter Leap einen aktuellen Kernel installieren.

Dazu bearbeitet man als Root mit einem Editor der Wahl zunächst die zypp.conf:

nano /etc/zypp/zypp.conf

In der Datei hängt man am Ende der Zeile multiversion.kernels noch den Listeneintrag oldest an, damit der Kernel mit der niedrigeren Versionsnummer behalten und bei der Installation nicht gelöscht wird. Falls beim nächsten Start etwas schief geht, kann man den alten Kernel wieder laden.

multiversion.kernels = latest,latest-1,running,oldest

Anschließend fügt man mit zypper das Repository mit dem aktuellen Kernel hinzu:

zypper ar -f http://download.opensuse.org/repositories/Kernel:/stable/standard/   Kernel:stable

Danach wird der Kernel gezielt über ein dist-upgrade, das nur für das Repository Kernel:stable gilt, aktualisiert:

zypper dup -r Kernel:stable

Hat alles geklappt, kann das System mit dem aktualisierten Kernel neu gestartet werden. Überprüfen kann man das nach dem erfolgreichen start mit uname -r oder, wenn es installiert ist, mit screenfetch:

Geschrieben in Gnu/Linux, OpenSuse | 2 Kommentare »

Intel Grafik und schwarzer Bildschirm

26. Oktober 2016 von Christian Imhorst

In meinem Acer Aspire 2920 ist eine Intel Mobile GM965/GL960 Grafikkarte verbaut, die bis zum Linux Kernel Version 4.4 bzw. 4.6 keine besonderen Probleme gemacht hat. Die begannen ab Kernel 4.8: Beim Starten von Ubuntu 16.04 fing das System an, für ein paar Sekunden zu hängen. Im Displaymanager LightDM und beim Start von Unity schien es sogar mal kurz einzufrieren. Beim Software-Upgrade gab es außerdem eine Warnung, dass möglicherweise die i915 Firmware fehlt (s.a. bei AskUbuntu):

update-initramfs: Generating /boot/initrd.img-4.8.0-040800-generic
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

Bei AskUbuntu wird hier und hier auf den Herstellertreiber von Intel hingewiesen, der mit einem Mausklick installiert werden kann. Auf der Downloadseite von Intel wählt man in den Dropdown-Menüs unter „Typ“ den „Installer“ aus und unter „Version“ die aktuellste Version, die zu der Zeit angeboten wird und klickt dann auf „Apply“. Anschließend lädt man das Installationspaket herunter, das der eigenen Distribution am nächsten kommt. In meinem Fall war das Version 1.4.0 für Ubuntu 15.10, auch wenn meine Ubuntu Version eigentlich 16.04 ist:

bildschirmfoto-vom-2016-10-26-21-42-52

Nach der Installation des heruntergeladenen Pakets,

sudo dpkg -i intel-linux-graphics-installer*.deb

wird der grafische Installer gestartet:

sudo intel-linux-graphics-installer

Die Installation des Herstellertreibers hat zwar die Fehlermeldungen beim Upgrade beseitigt, nicht aber die Pause mit dem schwarzen Bildschirm beim Start und die Freezes im Displaymanager und beim Start von Unity. Durch Zufall bin ich auf einen Eintrag im Fedora-Forum gestoßen, Kernel 4.6 breaks intel graphics, in dem bereits in der ersten Antwort empfohlen wird, die Zeile i915.modeset=0 in Grub einzutragen. Mit diesem Eintrag in der Kernelzeile kann man allerdings nicht mehr die Bildschirmhelligkeit regeln. Wenn man noch zusätzlich acpi_osi=Linux und acpi_backlight=vendor einträgt, geht es aber wieder.

Der komplette Eintrag in /etc/default/grub sieht dann so aus:

GRUB_CMDLINE_LINUX_DEFAULT="i915.modeset=0 acpi_osi=Linux acpi_backlight=vendor"

Nach einem sudo update-grub und einem Neustart läuft wieder alles so, wie es soll.

Geschrieben in Gnu/Linux | Keine Kommentare »

LINUX Presentation Day 2016.2 am 22.10.2016 in Hannover

15. Oktober 2016 von Christian Imhorst

In der Volkshochschule Hannover findet zum ersten Mal eine Veranstaltung zum LINUX Presentation Day im Haus der VHS statt.

Wenn du aus Hannover oder dem Umland bist, Hilfe bei Problemen mit deiner Linux-Distro und/oder Gelegenheit zum Erfahrungsaustausch, Klönen und Schnacken über dein Lieblingsbetriebssystem suchst, Menschen bei Fragen Rund um Linux helfen möchtest, oder einfach eine Runde Tux-Racer spielen willst, hast du am Sonnabend die Gelegenheit dazu. Ich werde in der Zeit da sein. Die Teilnahme ist kostenlos.

Termin: Sonnabend, den 22. Oktober 2016 von 10:00 Uhr bis 17:00 Uhr

Ort: Haus der VHS, Burgstrasse 14, 30159 Hannover (In der Altstadt quasi zwischen Leineufer und Ballhofplatz)

Geschrieben in Gnu/Linux | Kommentare deaktiviert für LINUX Presentation Day 2016.2 am 22.10.2016 in Hannover

Geany und der Terminator

10. Mai 2016 von Christian Imhorst

Wenn Geany und der Terminal-Emulator Terminator zusammen installiert sind, hat man ein Problem, aus Geany heraus Programme im Terminal auszuführen. Ein Terminal-Fenster startet zwar, darin steht aber:

Kann keine Shell finden

Ist der Terminator nicht installiert, funktioniert alles, wie es soll, nur mit halt nicht. Falls jemand die beiden nicht kennt:

Geany ist ein kleiner und schneller Texteditor mit integrierter Entwicklungsumgebung (IDE) für verschiedene Programmiersprachen, der unter Linux, OS X und Windows installiert werden kann. Obwohl Geany von seinen Entwicklern um sinnvolle Funktionen erweitert wird, soll es möglichste wenig Abhängigkeiten von anderen Programmen und Bibliotheken besitzen.

Mit Terminator kann man mehrere Terminals innerhalb eines Fensters benutzen und mit Hilfe von Tastaturkürzeln wechselt man zwischen ihnen hin und her. Dadurch kann man ohne Tabs und ohne weitere Terminal-Fenster mehrere Shells zur selben Zeit geöffnet haben.

Der Grund, warum Geany mit dem Termintor keine Shell finden kann, liegt in der Zeile Terminal unter Bearbeiten -> Einstellungen -> Werkzeuge, oder man drückt STRG + ALT + P. Die Zeile

x-terminal-emulator -e "/bin/sh %c"

muss durch die folgende ersetzt werden:

terminator -x /bin/sh %c

Bildschirmfoto vom 2016-05-10 22-21-19

Anstatt terminator kann man auch x-terminal-emulator schreiben, denn die Optionen hinter dem Befehl sind das Problem. Die Optionen „-e“ und „-x“ funktionieren bei Terminator etwas anders als bei anderen Terminal-Emulatoren, was man terminator zeigt:

[...]
       -e, --command=COMMAND
              Runs the specified command instead of your default shell or pro‐
              file specified command. Note: if Terminator is  launched  as  x-
              terminal-emulator  -e  behaves like -x, and the longform becomes
              --execute2=COMMAND
 
       -x, --execute COMMAND [ARGS]
              Runs the rest of the command line instead of your default  shell
              or profile specified command.
[...]

Den Tipp gab es im Forum vom CrunchBang-Linux.

Geschrieben in Gnu/Linux | 1 Kommentar »

Powershell-Artikel für Raspberry Pi Geek

4. Oktober 2015 von Christian Imhorst

In der Powershell Usergroup Hannover hatte wir das Thema Desired State Configuration (DSC) von Windows-Servern mit Hilfe der Powershell. Interessanter Weise funktioniert DSC auch mit Linux-Rechnern, was mich auf die Idee zum Artikel Zwischen zwei Welten — Powershell und Desired State Configuration auf dem RasPi nutzen gebracht hat.

Das Raspberry Pi Geek-Magazin war interessiert und hat den Artikel in der aktuellen Ausgabe veröffentlicht. Der Artikel kann auch gleich for free auf der Homepage des Magazins gelesen werden.

Geschrieben in Powershell, Publikationen | Kommentare deaktiviert für Powershell-Artikel für Raspberry Pi Geek

Install FreeDOS 1.1 with FreeDOSmultiboot

2. Oktober 2015 von Christian Imhorst

If you want to install FreeDOS to your hard drive with the help of FreeDOSmultiboot on a pen drive you should first know, what you are doing: You need a backup, you can destroy your data and you can damage your hardware.

THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY!
USE AT YOUR OWN RISK!

Then you need to download and unzip FreeDOSmultiboot.zip [1] and copy FreeDOSmultiboot.img to your pen drive. On Windows use Win32 DiskImager [2] or Rufus [3] or similar. On Unix based systems like Linux you can use the dd command as superuser/root:

dd if=FreeDOSmultiboot.img of=/dev/sdX

Replace X with the letter of the device name of your pen drive.

Boot your device from your prepared pen drive. Choose „Install FreeDOS 1.1“ from the boot menu to start the installer.

Bildschirmfoto vom 2015-10-02 22-47-55

If needed choose „Create Drive C:“ in the installer menu.

Bildschirmfoto vom 2015-09-29 21-03-47

Maybe you have to delete a Non-DOS partiton on your computer to create a new „Primary DOS Partiton“ for FreeDOS installation.

Bildschirmfoto vom 2015-09-29 21-29-08

If the DOS partition is created you have to format the partition. Please note to set the C drive on the harddisk as active.

After a new reboot, you have to boot from the pen drive again, choose „Install FreeDOS 1.1“ from the boot menu to start the installer. Then you can choose „Install to harddisk“ from the menu and proceed with the FreeDOS installation.

There are more detailed information about the installation in the FreeDOS Install HOWTO [3]. This is for VirtualBox, but should apply to any PC.

Happy FreeDOS’ing.

[1] http://www.datenteiler.de/wp-content/uploads/2015/10/FreeDOSmultiboot.zip
[2] http://sourceforge.net/projects/win32diskimager/
[3] https://rufus.akeo.ie/
[4] http://freedos.sourceforge.net/wiki/index.php/VirtualBox

Geschrieben in FreeDOS | Kommentare deaktiviert für Install FreeDOS 1.1 with FreeDOSmultiboot

Batterien enthalten: Linux Mint Debian Edition (LMDE)

6. März 2015 von Christian Imhorst

Wer Ubuntu nicht mag, der nimmt Linux Mint. Dabei gibt es Mint in zwei Varianten: Die Hauptausgabe, die auf Ubuntu beruht, und eine äußerlich sehr ähnliche zweite Ausgabe, die Debian als Grundlage hat. Wenn man Debian nicht mag, nimmt man dann die Linux Mint Debian Edition? Oder nimmt man sie erst recht, weil man ein gut vorkonfiguriertes Debian in Grün möchte? Oder nimmt man es besser gar nicht, weil LMDE praktisch tot ist? Diese und andere Fragen sollen im Artikel geklärt werden.

Redaktioneller Hinweis: Dieser Artikel von mir ist erstmals in der Märzausgabe 03/2015 von freiesMagazin erschienen.

Den restlichen Eintrag lesen »

Geschrieben in freiesMagazin, Gnu/Linux, Publikationen | 1 Kommentar »

« Previous Entries