idle3 Funktion bei Western Digital Festplatten ausschalten

Die meisten Western Digital Festplatten haben eine eingebaute Stromsparfunktion die unter Linux leider nicht gut funktioniert. Diese Funktion führt unter Linux dazu, dass die Festplatte mechanisch schneller verschleißt. Mit den Smartmontools kann man nach dem Wert „Load_Cycle_Count“ suchen, ist dieser ungewöhnlich hoch sollte man die sogenannte idle3 Funktion am besten ausschalten.

Dazu muss man zuerst die idle3 Tools installieren. Dann kann man mit

sudo idle3ctl -g /dev/sdX

den aktuellen Wert des Timers von der Festplatte auslesen. Das X steht für den eigentlichen Festplatten Buchstaben.

Mittels

 sudo idle3ctl -d /dev/sdX

kann die idle3 Funktion komplett abgeschaltet werden. Man sollte aber beachten, dass die Platte dann über keine Stromsparfunktion mehr verfügt. Eine Alternative wäre z.B. HD-Idel.

Anstatt die idle3 Funktion komplett abzuschalten kann auch der Wert des Timers geändert werden. Dazu führt man

sudo idle3ctl -s 255 /dev/sdX

aus. Mit -s können Werte von 1 bis 255 übergeben werden.

Zum Abschluss muss die Festplatte einmal komplett abgeschaltet werden, ein Reboot reicht nicht aus.

TTRSS Feed updates mit Systemd starten

Ich verwende auf einem Server Tiny Tiny RSS um RSS Feeds zu sammeln und zu lesen. Es gibt verschiedene Möglichkeiten die Feeds zu aktualisieren, aber ich finde die beste ist mit dem update_daemon2.php Script.  In Kombination mit Systemd lässt sich das Script auch bequem starten und stoppen.

Als erstes muss hierfür eine Datei in /etc/systemd/system angelegt werden, ich habe sie ttrss.service genannt. Dieser Name wird dann auch innerhalb von Systemd verwendet. Der Inhalt meiner  ttrss.service Datei sieht so aus.

[Unit]
Description=ttrss_update_script
After=network.target mariadb.service
Before=apache2.service
Requires=mariadb.service

[Service]
User=www-data
ExecStart=/var/www/update_daemon2.php
StandardOutput=null
StandardError=journal

[Install]
WantedBy=multi-user.target

Ich habe ein paar Änderungen gegenüber der mitgelieferten .service Datei eingefügt. Da ich MariaDB verwende starte ich den Service nachdem die Datenbank läuft. TTRSS benötigt unbedingt die Datenbank, deswegen habe ich noch bei „Requires“ MariaDB eingetragen. Sollte MariaDB ausgeschaltet werden, stoppt automatisch auch das update Script, anstatt Fehler zu produzieren.

Da das update_daemon2.php Script sehr viel Output in das Journal schreibt, und ich nicht möchte das mein Journal so zugemüllt wird, habe ich die Standardausgabe nach /dev/null gelegt. In Systemd .service Dateien funktioniert das über „StandardOutput=null“.  Fehler werden trotzdem im Journal gespeichert („StandardError=journal“).

Nun muss nur noch mittels

systemctl start ttrss.service

der Service gestartet werden. Am Anfang kann es helfen die Zeile mit „StandardOutput=null“ mit einer # auszukommentieren, dann wird diese Zeile ignoriert. Es kann auch Sinnvoll sein den Service direkt beim Start des Servers zu starten. Das funktioniert über

systemctl enable ttrss.service

Netzwerk Device umbenennen

Ich verwende Google Play Music und benutze den Google Music Manager um meine eigene Musik auf diese Plattform hochzuladen. Zusätzlich verwende ich eigene Netzwerk Device Namen und der Manager scheint damit nicht klar zu kommen, so dass ein anmelden unmöglich ist. Ein einfaches, temporäres Umbenennen zu eth0 scheint aber zu helfen.

Als erstes muss der Link des Device dazu abgeschaltet werden

ip link set dev net0 down

dann kann man das Device von net0 zu eth0 umbennen.

ip link set dev net0 name eth0

Jetzt muss nur noch das Device wieder eingeschaltet werden.

ip link set dev eth0 up

Zusätzlich sollte man noch den NetworkManager über Systemd neustarten.

systemctl restart NetworkManager.service

Alle Befehle benötigen Root Rechte.

Nach dem hochladen der Musik kann man das Netzwerk Device wieder in seinen ursprünglichen Namen zurück benennen.

LEDE Multi Target – Images für verschiedene Devices gleichzeitig bauen

Wen man für mehr als ein ähnliches Gerät ein LEDE Image bauen möchte gibt es eine interessante neue Option.

In der config kann man

CONFIG_TARGET_MULTI_PROFILE=y

setzen und dann die zu bauenden Devices auswählen. Für Openwrt gibt es diese Option leider nicht.

Zu beachten ist noch das die Profile diesem Schema entsprechen müssen.

CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c7-v2=y
CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_tl-wr1043nd-v2=y
CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_tl-wdr3600-v1=y

Bitten nicht mit den älteren Profilen verwechseln, die man immer noch auswählen kann. Bei diesen fehlt das DEVICE nach dem TARGET.

Das ganz lohnt sich natürlich nur für ähnliche Geräte. Zusätzlich muss man beachten das verschiedene Devices unterschiedliche Imagegrößen haben. Sind zu viele Programme ausgewählt, werden vielleicht nicht alle Images erstellt und leider gibt es während des Builds keine Nachricht darüber.

NetworkManager wechselt die temporäre IPv6 zu häufig

Bei dem NetworkManager in den Einstellungen zu IPv6 verwendetet ich bisher immer die Optionen

addr-gen-mode=eui64
ip6-privacy=2

Das führte zu zwei IPv6 Adressen, von denen die temporäre Adresse für ausgehen Verbindungen benutzt wird und die konstante Adresse im Host Suffix immer gleich bleibt. Zu erkennen sind solche Adressen an dem ff:fe im Host Teil der Adresse. Da für ausgehende Verbindungen die temporäre Adresse verwendetet wird, ist man gegen tracking der Adresse gut geschützt.

Seit Version 1.6 des NetworkManager wird die temporäre IPv6 Adresse allerdings jede Stunde gewechselt. Vorher nur etwa alle 24 Stunden. Dadurch müssen Programme die eine Verbindungen über einen längeren Zeitraum verwenden, sehr häufig eine neue Verbindung aufbauen.  Besonders deutlich wurde das bei meinem Mail Programm Claws Mail und bei meinem IRC Client.

Wenn man nicht die stabile von der MAC Adresse der Netzwerkkarte abgeleitete IPv6 Adresse verwenden will kann man mit

addr-gen-mode=stable-privacy
ip6-privacy=1

den NetworkManager dazu bringen eine stabile aber trotzdem nicht vorhersagbare IPv6 Adresse zu erzeugen. Das Verfahren wird in RFC7217 beschrieben. Durch die 1 bei ip6-privacy wird die stabile Adresse der temporären vorgezogen.

Mit jedem Präfixwechsel ändert sich auch der Suffix der Adresse, wodurch man wieder schwerer anhand der Adresse zu tracken ist und Programme trotzdem nicht andauernd eine neue Verbindung aufbauen müssen.