Filtered by category Linux Reset filter

Ein altes Gigabyte-Mainboard und die host protected area

31. October 2020, Falko - Linux, System

  • Lizenz: https://creativecommons.org/licenses/by-sa/3.0/ Quelle: https://en.wikipedia.org/wiki/BIOS_boot_partition#/media/File:GNU_GRUB_components.svg

Stell dir vor, du aktualisierst dein (Server-) System ... und dann lassen sich auf keiner Festplatte mehr Partitionen einhängen - außer vom System selbst.

Schreck lass nach: alle Daten weg?

Bei fdisk -l sieht das dann z.B. so aus:

 

Disk /dev/sdb: 2,75 TiB, 3000591900160 bytes, 5860531055 sectors
Disk model: Hitachi HUS72403
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors Size Id Type
/dev/sdb1           1 4294967295 4294967295   2T ee GPT

 

gdisk findet die Partitionen noch, meldet aber Fehler mit der GPT:

 

~:# gdisk -l /dev/sdb
Main header: OK  
Backup header: ERROR
Main partition table: OK
Backup partition table: ERROR

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
Disk /dev/sdb: 5860531055 sectors, 2.7 TiB
Model: Hitachi HUS72403
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): xxxxxxxxxxxxxxxxxxxxxxxxxx
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 5860533134
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      2147485695   1024.0 GiB  8300  
   2      2147485696      4294969343   1024.0 GiB  8300  
   3      4294969344      4303357951   4.0 GiB     8200  
   4      4303357952      5860533134   742.5 GiB   8300  

 

Erstmal suchen wir nach möglicherweise geänderten BIOS-Einstellungen, ohne Erfolg.

Die Logik sagt: da fehlt ein Stückchen am Ende der Festplatte,
Backup-Partitionstabelle und -Header scheinen daher weg zu sein.

Was war passiert: wir hatten die Vermutung, dass beim Update auf
Ubuntu 20.04 eine alte Einstellung wieder reaktiviert wurde,
die, solange Ubuntu 18.04 installiert war, keine Beachtung fand:
die Host Protection Area (HPA).

In einer Log-Datei von vor zwei Tagen - manchmal ist es ganz gut, seine
Aktionen mitzuschreiben - finden wir die bisherigen Sektorgrößen der
Festplatten wieder:

 

root@server:~# grep TiB logs/sicherung.txt
Disk /dev/sdb: 3,7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sdc: 2,7 TiB, 3000592982016 bytes, 5860533168 sectors

root@server:~# hdparm -N /dev/sdb
/dev/sdb:
 max sectors   = 5860531055/5860533168, HPA is enabled

root@server:~# hdparm -N /dev/sdc
/dev/sdc:
 max sectors   = 7814035055/7814037168, HPA is enabled

 

Die Vermutung bestätigt sich durch Aufruf von hdparm: die erste Zahl
ist geringfügig kleiner (2113 bytes) als die eigentliche Festplattengröße.

Weitere Informationen zu HPA finden sich im Thomas-Krenn-Wiki sowie bei Wikipedia

Das System ist offensichtlich so eingestellt, dass die HPA nicht ignoriert wird:

 

~:# cat /sys/module/libata/parameters/ignore_hpa
0

 

Wir testen das Gegenteil der bei Thomas Krenn erwähnte Lösung, indem wir dem Kernel beim Booten (in /etc/default/grub)
einen neuen Parameter mitgeben:

 

libata.ignore_hpa=1

 

Was letztlich die "Erlösung" bringt: alle Daten-Partitionen sind wieder da und können
auch - als wäre nix gewesen - wie immer eingehangen werden.

Unklar bleibt, wieso das passiert ist - und ob es wirklich mit dem Upgrade auf Ubuntu 20.04 zusammenhängt. Zeit für's Feierabend-Bier ...

Update: es scheint ehr mit dem Versuch, von der falschen Festplatte zu booten, zusammen zu hängen - siehe https://superuser.com/questions/1282451/sudden-decrease-of-hard-drive-sectors

 

"... if you are using a Gigabyte motherboard manufactured before 2010 then you should definitely check to see 
if you have HPA on any of your drives.  Also, it is definitely possible to have an HPA from a previous motherboard.  
If a drive has at any point in time been used with one of these HPA-inducing boards, then there's a good chance 
that it still has a vestigial HPA, even if it has been formatted since."

 

PS: du kennst das Problem auch - und hast eine Erklärung? Schreib uns gern in den Kommentaren dazu.

PPS: Die GUID-Partition-Table wird hier gut erklärt. Quelle für das Aufmacher-Bild.


Warum ich serverseitige Mail-Filter nutze und das Dilemma mit Thunderbird-Addons

02. October 2020, Falko - Anwendungen, Anwendungen

Serverseitige Mail-Filter mit Sieve

... oder wie ich gerne unnötige Zeitfresser vermeide

Heute bin ich wieder mal über das Problem gestolpert, dass sich plötzlich im Thunderbird etwas nicht mehr so verhält, wie ich es gewohnt bin. Das hat einerseits damit zu tun, dass ich alles, was Zeit fressen könnte, möglichst wegautomatisiere und gleichzeitig doppelte Arbeit vermeiden möchte/muss.

Serverseitige Filter (oder "sieve" = engl. Sieb) haben den entscheidenden Vorteil, dass Mails automatisch in Ordner "weg-"sortiert werden können. Da das auf dem Mailserver passiert, brauch ich mich weder auf Handy, Tablet, in Webmail oder wo auch immer ich Mails lesen will darum zu kümmern, also am Client. Sondern der Server erledigt das für mich. Normalerweise (= "normal für mich". hallo Hetzner, warum geht das bei euch nicht??) ist das Sieve-Protokoll auf dem Server aktiviert - zumindest wenn man einen eigenen Mailserver betreibt, auf jeden Fall zu empfehlen.

BTW: Bei GMail heißt das Nachrichtenfilter und es gibt eine Beispielsammlung.

Die Sache mit Thunderbird und dem Sieve-Addon

Für die Bearbeitung dieser Sieve-Filter gibt es nun mehrere Möglichkeiten - eine ist z.B. den Webmailer Roundcube auf dem Server zu verwenden und dazu dann im Roundcube das managesieve-Plugin zu aktivieren. Dann lassen sich die Filter "grafisch" per Web-GUI bearbeiten ... eher nix für Programmierer, aber für normale Nutzer perfekt.

Für Thunderbird gab/gibt es entsprechend ein Addon, mit dem sich diese Filter einfach unter Nutzung der Sieve-Sprache mit Regeln wie if, else, regex, header, contains usw. bearbeiten lassen - schon eher etwas für Programmierer. An sich kein Hexenwerk - das Thunderbird-Addon muss nur die Verbindung zum Server-Port 4190 aufbauen, die Regeln laden, bearbeiten und wieder zurück schreiben. Das Ganze noch schön mit Syntax-Prüfung und Suche ... läuft jahrelang.

Bis die Kollegen bei Mozilla dann anfangen, die Addon-Schnittstellen zu ändern. Teilweise kein Addon-Programmierer mehr hinterher kommt, die kompatiblen Versionen im Addon nachzutragen. Die Addons komplett neu programmiert werden müssen. Und als ich heute feststelle, dass das Sieve-Plugin im Thunderbird "mal wieder" nicht funktioniert, finde ich das:

Rezension bei Mozilla-Addons:

github.com/thsmi/sieve/


Several years ago Mozilla made a strange decision. They dropped their very flexible addon system and copied the extremely limited WebExtensions from Google Chrome.
An this ultimately meant for Thunderbird that "classic" addons will go way.

Now in 2020 classic Thunderbird addons are dead. Which meant for the addon it needed to evolve and drop its Thunderbird dependencies. It is now a portable standalone application!

Mit anderen Worten: es gibt das Addon zwar noch. Aber die Entscheidung, dieses Addon umzubauen zu einer eigenständigen - und damit von Thunderbird im Grunde unabhängigen - Anwendung ist wirklich eine gute Idee..

Manage Sieve Scripts - Webanwendung

Inzwischen gibt es ja mit "AppImage" die Möglichkeit, eine ausführbare Linux-Anwendung ohne weitere Abhängigkeiten zu nutzen. Oft hab ich das noch nicht gemacht - aber angefangen z.B. beim Foto-Manager DigiKam war das eine perfekte Möglichkeit, gleich die neueste Version haben zu wollen.

Was soll ich sagen: die Sieve App funktioniert einfach (unter Linux. Windows noch nicht getestet, aber funktioniert sicher genauso). Der Import der Einstellungen von Thunderbird klappt ebenfalls tadellos. Und nun hoffentlich immer und unabhängig von den Mozilla-Entwicklern :)


Ubuntu Desktop mit verschiedenen Hintergründen

20. February 2010, Falko - Linux, System

Ubuntu+Compiz: verschiedene Hintergründe pro Arbeitsfläche

  • Desktop umschalten
  • 3D-Würfel

Quelle u.a.: Anurag Bansal

Voraussetzung: Compiz aktiviert, Compiz Config Manager ist installiert.

Sinnvoll: Würfel drehen, Desktop Würfel sind aktiviert, dabei muss man evtl. unter "Würfel drehen -> Bindings -> Rotate to cube" die Arbeitsflächen-Umschalttasten ersetzen gegen die Würfel-Umschalttasten (z.B. Alt-1, Alt-2,...)

Im Compiz Manager: Werkzeuge -> Hintergrundbilder (ggf. aktivieren) -> Neu, dann Image auswählen

Dann z.B. mit Alt+F2 den gconf-editor starten, dort unter apps/nautilus/preferences bei "show desktop" den Haken weg. Danach gibt es keine Desktop-Icons mehr! Will man trotzdem auf die laufenden Programme umschalten, empfiehlt sich die Installation des Avant Window Navigator mittels "sudo apt-get install avant-window-navigator". Dort kann man z.B. "places" als Applet einschalten, wo man schnell auf die Lesezeichen bzw. den Desktop Zugriff hat.

Wie ich die Bilder gemacht habe? Gimp -> neu erstellen -> ganzer Bildschirm und "Auslösen nach 5 s". Dann die mit der mittleren Maustaste auf den Hintergrund den Würfel drehen bzw. mit Strg+Alt+PfeilUnten die Desktop-Übersicht anzeigen.


Lenny = Debian 5.0

21. April 2009, Falko - Linux, System

... lässt sich wie immer problemlos aktualisieren. Das übliche "apt-get -u dist-upgrade" macht ganz einfach aus der Vorgängerversion ein aktuelles System, ohne CD/DVD einzulegen, ohne Klimmzüge auf der Konsole. Dabei ist auch gleich noch Zeit zum Entrümpeln - Dienste, die nicht länger verwendet werden, kann man ausschalten oder gleich ganz deinstallieren, wenn man sich sicher ist, dass man sie nicht mehr braucht. Die fallen z. B. dann auf, wenn man routinemässig mittels "netstat -ntl" (tcp) bzw. "netstat -nul" (udp) nachsieht, welche Ports offen und damit Dienste erreichbar sind.

Beispiel: Port 20012 zeigt an, dass ein isdnvboxserver läuft. Da dieser gar nicht (mehr) verwendet wird, wird er mittels "update-inetd --disable vboxd" deaktiviert bzw. per "apt-get remove isdnvboxserver" einschliesslich isdnutils komplett entsorgt.

Nach der Aktualisierung wird nochmal die Funktion aller Dienste überprüft.  Wurde der Kernel aktualisiert, sollte vorher ein Neustart durchgeführt werden.

Wenn da nicht ... nach dem Booten ein Fehlerchen zu sehen wäre: "no devices found for /dev/md0" mit anschliessendem "Dropping to shell", wonach uns eine "busybox" shell angrinst. Glücklicherweise haben wir uns gemerkt, welcher Linux-Kernel vorher am Wirken war (2.6.18) und können durch Start desselben über das Grub-Bootmenü das System wieder reaktivieren. Nun heißt es, den Fehler zu suchen - erster Verdacht ist die mdadm.conf Datei für's RAID, danach kommt die initrd dran. Irgendwann fällt dann z.B. auf, dass bei den Ausgaben beim Booten ein Modul nicht geladen wird. Das trägt man in die /etc/initramfs-tools/modules Datei ein, und schon läuft wieder alles.


Bloggen mit t3blog von snowflake

21. October 2008, Falko - System

Schnell mal ein neues Blog ...

Es klingt fantastisch, aber mit der neuen t3blog-Extension von blog.snowflake.ch ist die Umstellung von meinem alten "ee_blog" (alte Beiträge siehe "Archiv") auf ein modernes Blog eine Sache von wenigen Minuten. Drei Extensions installieren, im Template die statischen Includes hinzufügen, eine Seite mit t3blog als Erweiterung sowie einige Kategorien anlegen, schon kann der erste Eintrag verfasst werden :)

Dann kommt zwar noch dazu, dass Vieles angepasst und erweitert werden will - aber man muss ja nicht ... Die Dokumentation lesen ist daher zu empfehlen, z. B. zwecks RealURL: einfach die Datei RealURLConfiguration.txt in der Wurzel der Extension lesen und in die localconf.php übernehmen, schon fertig.