• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

precise

mysql-server-5.5 dependency Probleme unter Precise

8. November 2016 by Sebastian Leave a Comment

Seit etwa einem halben Jahr habe ich sporadisch auf ein paar Client das Problem das mysql sich beim Updaten verhaspelt. Mir scheint es fast als ob er da etwas in der falschen Reihenfolge installiert:

(Reading database ... 267516 files and directories currently installed.)
Preparing to replace mysql-server-core-5.5 5.5.50-0ubuntu0.12.04.1 (using .../mysql-server-core-5.5_5.5.53-0ubuntu0.12.04.1_amd64.deb) ...
Unpacking replacement mysql-server-core-5.5 ...
Processing triggers for man-db ...
Setting up mysql-server-core-5.5 (5.5.53-0ubuntu0.12.04.1) ...
dpkg: dependency problems prevent configuration of mysql-server-5.5:
 mysql-server-5.5 depends on mysql-server-core-5.5 (= 5.5.52-0ubuntu0.12.04.1); however:
  Version of mysql-server-core-5.5 on system is 5.5.53-0ubuntu0.12.04.1.
dpkg: error processing mysql-server-5.5 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.5; however:
  Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 mysql-server-5.5
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Er versucht mysql-server-5.5_5.5.52-0ubuntu0.12.04.1 zu installieren und depended auf mysql-server-core-5.5_5.5.52-0ubuntu0.12.04.1, obwohl bereits mysql-server-core-5.5_5.5.53-0ubuntu0.12.04.1 installiert ist. Es gibt auch die passende, neuere mysql-server-5.5 Version im Repo, ich bekam ihn aber auf den Tod nicht dazu die Neuere zu verwenden. Einzige Lösung war für mich, die ältere mysql-server-core Version von Launchpad zu laden und zu installieren, damit die Installation durch läuft und dann alles nochmal zusammen zu updaten.
Ich bin bis heute noch nicht wirklich dahinter gestiegen wie das passiert und was dafür der Auslöser ist, da es für mich auch gar keinen Sinn ergibt…vielleicht weiß ja jemand Rat der das hier liest.

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, mysql, precise, ubuntu

apt-get force IPv4

26. Juli 2015 by Sebastian 3 Comments

Ich hatte letzte Woche auf Arbeit das Problem, das scheinbar das IPv6 bei einem Kunden kaputt war, weshalb ich kein apt-get update durchführen konnte, da er die IP nicht erreichen konnte. Also musste ich apt-get dazu bewegen doch bitte IPv4 zu nutzen. Ab Version 0.9.7.9~exp1 geht das wie folgt:

apt-get -o Acquire::ForceIPv4=true update

Da es sich in diesen Fall aber um ein Precise handelte mit einer älteren apt-get Version muss hier anders vorgegangen werden. Und zwar muss in /etc/gai.conf folgende Zeile einkommentiert werden:

precedence ::ffff:0:0/96  100
Posted in: Arbeit, IT, Linux, Netzwerk, Opensource Tagged: apt, linux, precise, ubuntu

Automatisch alte Kernel inkl. Header entfernen

18. Dezember 2013 by Sebastian 2 Comments

Ich wurde heute mal wieder von zabbix darauf aufmerksam gemacht, das auf einem System keine Inodes mehr frei sind. Also drauf und mal nachgeschaut was da los ist und wie zu vermuten war, lagen da wieder um die 20 Versionen alter Kernel und Header auf dem System. Ein apt-get autoremove wurde aber mit nicht erfüllten Abhänigkeiten seitens des aktuellen Kernels angetan. Also mal ein apt-get install -f und schauen was er sagt:

(Lese Datenbank ... 478551 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke linux-headers-2.6.32-54 (aus .../linux-headers-2.6.32-54_2.6.32-54.116_all.deb) ...
dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/linux-headers-2.6.32-54_2.6.32-54.116_all.deb (--unpack):
 Konnte »/usr/src/linux-headers-2.6.32-54/drivers/scsi/osd/Kbuild.dpkg-new« nicht anlegen (während der Verarbeitung von »./usr/src/linux-headers-2.6.32-54/drivers/scsi/osd/Kbuild«): Auf dem Gerät ist kein Speicherplatz mehr verfügbar
Es wurde kein Apport-Bericht verfasst, da die Fehlermeldung auf einen Fehler wegen voller Festplatte hindeutet
                                                                                                              dpkg-deb: Unterprozess einfügen mit Signal (Datenübergabe unterbrochen (broken pipe)) getötet
Fehler traten auf beim Bearbeiten von:
 /var/cache/apt/archives/linux-headers-2.6.32-54_2.6.32-54.116_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Es sind also noch so wenige Inodes frei, das er noch nicht einmal die fehlende Paket installieren kann. Nach etwas hin und herprobieren merkte dann Christoph an das ich doch mal versuchen sollte ein paar Kernel mit dpkg zu deinstallieren, was auch funktionierte. Im Anschluss lief dann auch das apt-get autoremove durch und am Ende waren dann statt

/dev/vda1             498736  494193    4543  100% /

wieder

/dev/vda1             498736  141814  356922   29% /

frei.
Um das nun dauerhaft zu umgehen, wollen wir die alten Kernel Header automatisch entfernen lassen. Dies kann man erreichen indem man in der Datei /etc/apt/apt.conf.d/50unattended-upgrades die Zeile

//Unattended-Upgrade::Remove-Unused-Dependencies "false";

nach

Unattended-Upgrade::Remove-Unused-Dependencies "true";

ändert. Außerdem entfernt oder kommentiert man die Zeile

 "^linux-image.*";

in der Sektion „NeverAutoRemove“ der Datei /etc/apt/apt.conf.d/01autoremove.

[Update]

In Ubuntu 12.04 und Debian existiert diese Zeile allerdings nicht mehr

 "^linux-image.*";

in der 01autoremove, dafür gibt es nun die 01autoremove-kernels. Diese wird automatisch generiert durch /etc/kernel/postinst.d/apt-auto-removal und enthält die aktuellen Versionen.
Danke an darksider3

Posted in: IT, Linux, Opensource Tagged: apt, linux, precise, ubuntu

Binärtreiber Chaos: Heute mal nvidia

8. Oktober 2013 by Sebastian 5 Comments

Boar hab ich nenn Hals….Nachdem ich ja schon vor ein paar Wochen solche Probleme mit dem fglrx Treiber von ATI hatte meinte doch tatsächlich an meinem Arbeitsrechner der nvidia Treiber rummzuspacken.

Ich verwende auf dem PC den nvidia-304 Treiber aus dem Ubuntu Repository. Den benutz ich deshalb weil der Opensourcetreiber performancemäßig echt nichts taugt, ich lass mich hier aber auch gern eines besseren belehren. Jedenfalls machte ich heute morgen meinen PC an, nachdem ich ihm nach wochenlangem Durchlaufen letzten Freitag mal eine Wochenende gönnte, und meine Monitore waren vertauscht. Der Primäre war plötzlich der Rechte statt der Linke und der Linke war als rechts vom Rechten eingestellt. Ok das Problem hatte ich schonmal, damals half einfach mal den X Server neustarten…Pustekuchen…. Nachdem ich wir mal die nvidia-settings und die xorg.conf anschaute fiel mir erstmal auf das plötzlich der Anschluss HDMI-0 in der Config nicht mehr DFP-0 sondern nun DFP-1 ist und DVI-I-1 DFP-0. Ganz großes Kino NVIDIA, habt ihr Langeweile oder was? An meinem Arbeitsplatz PC geht das ja noch, aber jetzt muss ich beim Kunden auch noch drauf achten das sich das nicht irgendwann mal ändert….
Allerdings war es damit auch noch nich getan, egal was ich nun in die xorg.conf geschrieben hab, es wurde einfach konsequent ignoriert. Ich sagte dem Treiber in den nvidia-settings wie die Einstellungen richtig sind und sicherte sie in die xorg.conf, wo es auch richtig drin stand. Nächster Start – nvidia-settings zeigt mir wieder das selbe an, xorg.conf wird scheinbar ignoriert…Nachdem ich mich 1 Stunde damit beschäftigt hatte, zu keinem Ergebnis kam und ich mittlerweile so wütend war das mir die Hände zitterten, tauschte ich einfach die Anschlüsse an den Monitoren.

Dennoch taucht bei mir immer wieder die Frage auf was sich diese Firmen denken. Kommt da nenn Chef in die Entwicklung und sagt:

Chef: „He Jungs, wir haben vom Kundenservice die Zahlen von den letzten Monaten bekommen und die Anzahl der Anrufe sind zurück gegangen. Ne Idee wie wir dem entgegen wirken können.“
Entwickler: „Joar komm, wir switchen einfach die Aliases der Anschlüsse“
Chef: „Ja aber das ist doch viel zu einfach. Können die das nicht einfach in den Settings selbst ändern?“
Entwickler: „Hm….dann lassen wir die Settings einfach sämtliche Änderungen ignorieren, vor allem die in der xorg.conf getätigten.“
Chef: „Perfekt so machen wa das.“

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, nvidia, precise, ubuntu, xorg

LibreOffice kann keinen Dateien über SMB öffnen

17. September 2013 by Sebastian Leave a Comment

Nachdem mir das heute nach einem Update wieder aufgefallen ist dokumentier ich das hier mal:

Irgendwann vor ein paar Monaten habe ich mal festgestellt das LibreOffice sich weigert Dateien von unserem Fileserver zu öffnen. Und zwar meckert LibreOffice dann herum das die Datei angeblich kaputt sei und möchte diese gern reparieren:

lo_fehler

Wenn man hier Nein sagt kommt das die Datei nicht geöffnet werden kann:

Bildschirmfoto vom 2013-09-17 12:25:00

Diese Meldung poppt dann noch weitere zwei mal auf und wenn man diese mit Nein abtut öffnet sich irgendwann LibreOffice mit kryptischen Zeichen als Dateiinhalt. Auftreten tut das Problem wohl seit Version 4.1.0.4, bei den Dateiendungen .odt, .ods, docx und xlsx. Weitere hab ich bisher nicht getestet, aber laut Bugreport soll wohl .doc funktionieren.

Hervorgerufen wird das Problem wohl nicht durch LibreOffice, sondern durch GVFS, welches in der Version aus dem PPA deaktiviert wurde. In den Versionen direkt von der LibreOffice Seite soll dies wohl nicht der Fall sein. Umgehen konnte ich das Problem jetzt temporär, indem ich die Zeile:

X-GIO-NoFuse=true

in der Datei /usr/share/applications/libreoffice-calc.desktop und libreoffice-writer.desktop kommentiere.

Quelle: Bug 67527, Bug 49776

Posted in: Arbeit, IT, Linux, Opensource Tagged: gvfs, libreoffice, linux, precise, ubuntu

ATI Binärtreiber (fglrx) benutzt nur Modes die via EDID ausgelesen werden / Faken von EDID Informationen

30. August 2013 by Sebastian Leave a Comment

Auf Arbeit bin/war ich dabei einen PC für eine Videowall zu konfigurieren, welcher eine FirePro W7000 als Grafikkarte benutzt. Die Grafikkarte hat 4 Ausgänge, wovon jeder jeweils zwei Display’s ansteuern soll. Die zwei Display’s pro Ausgang sind untereinander jeweils per DaisyChain verbunden. Bei den Display’s handelt es sich um NEC X463UN.

Beispielhafte Darstellung:

|----------------|                |----------------|
|                |                |                |
|      NEC       |                |      NEC       |
|                |\              /|                |
|----------------| | DaisyChain | |----------------|
|                |/              \|                |
|      NEC       |                |      NEC       |
|                |\              /|                |
|----------------| \            / |----------------|
|                |  \___    ___/  |                |
|      NEC       |     |    |     |      NEC       |
|                |\    |    |    /|                |
|----------------| |   |    |   | |----------------|
|                |/    |    |    \|                |
|      NEC       |     |    |     |      NEC       |
|                |___  |    |  ___|                |
|----------------|   | |    | |   |----------------|
                     | |    | |
                   __Y_Y____Y_Y__
                  |              |
                  |PC mit Firepro|
                  |______________|

Jeden Monitor möchte ich mit 720p ansprechen, was ich mit einer Auflösung von 1280×1440 pro Ausgang bewerkstellige. Und hier fingen nun die Probleme an, bzw. nachdem ich den binären Treiber nutzen musste, denn am Anfang hatte ich alles wunderbar, ohne Probleme mit dem Opensource-Treiber am laufen. Leider vertrug der sich bei Übergängen von HTML-Items zu Videos nicht sonderlich gut mit unserem Player. Also war/bin ich leider auf den Binär-Treiber von ATI angewiesen. Bei dem Binär-Treiber wunderte ich mich warum er die oben geschriebene Auslösung auf den Tod nicht annehmen wollte, auch wenn ich eine Modeline hinzufügte und prinzipiell alles richtig war. Ich las schon früh das der fglrx Treiber sich weigert andere Auflösungen anzunehmen, als die die er vom Monitor bekommt. Das muss ja aber zu umgehen sein, dachte ich und so fand ich die beiden Optionen:

Option "IgnoreEDID" "true"
Option "NoDDC" "true"

welche man in die Device Sektion der xorg.conf hinzufügen konnte. Allerdings weiß ich nicht in welcher Version des Treibers dies funktioniert hatte, denn die aktuellste Version kommentiert das in der Xorg.0.log mit einem:

fglrx(0): Option "IgnoreEDID" is not used
fglrx(0): Option "NoDDC" is not used

Irgendwann startete dann der X gar nicht mehr, weil er plötzlich die Modelines nicht mehr mochte. Dann fand ich einen guten Tipp, wo ich gar nicht wusste das der Treiber damit klar kommt. Man kann einfach die Datenbank Datei im /etc/ati Ordner löschen, wo hin sich der Treiber die xorg.conf übersetzt, die da heißt amdpcsdb. Nachdem ich das getan hab zeigte er mir zumindest schonmal mit xrandr die Modeline an, auch wenn er sie nicht auswählte und nur eine komische Auflösung von 1920×1920 ausgab.

Nachdem ich mit meinem Latein langsam am Ende war holt ich einen unseren Entwicker hinzu, der für mich wie eine laufende Linux Bibel ist. Nachdem ihm das Problem erläutert habe, schaute er sich auch nochmal alles an und wir probierten noch locker eine Stunder herum bis wir bei google auf eine lustige Entdeckung stießen. Und zwar versucht der fglrx Treiber aus dem Verzeichnis /etc/ati/ .edid Files auszulesen. Also machte wir uns schlau wir eine EDID Datein erstellen können, die wir dem Treiber mitgeben können. Um eine Datei zu erstellen nutzten wir das Programm Phoenix EDID Designer. Damit waren wir nun auch eine Weile beschäftigt. Warum erklär ich. Wir nahmen uns den EDID HEX Code eines Monitors aus der Xorg.0.log, welcher wie folgt aussieht:

00ffffffffffff0038a38c6801010101
161701038066398ceab7eda5554f9826
11474aa1090081c08100814081809040
9500a940b300f03c00d051a035506088
3a00fa3c3200001e000000fd0030551c
5c11000a202020202020000000fc0058
343633554e0a202020202020000000ff
0033353130383038374e420a2020012a

Nun mussten wir raus finden wie wir den Code formatieren damit ihn das Programm versteht, denn exportieren konnte es das im .raw Format, einlesen jedoch nur formatiert im .dat Format. Also haben wir eine Dummy Datei im .dat Format aus dem Programm erzeugt die wie folgt aussieht:

EDID BYTES:
0x   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
    ------------------------------------------------
00 | 00 FF FF FF FF FF FF 00 04 21 00 00 00 00 00 00
10 | 01 00 01 03 00 00 00 00 00 00 00 00 00 00 00 00
20 | 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01
30 | 01 01 01 01 01 01 64 00 00 00 00 00 00 00 00 00
40 | 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00
50 | 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00
60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10
70 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38

Also unseren HEX Code da rein gehauen und ja der muss genau so formatiert werden damit das Programm das annimmt. Das heißt nach jedem zweiten Zeichen eine Leerstelle und alle kleinen Buchstaben durch große ersetzen. Am Ende muss die Datei 128k groß sein, dann sollte alles richtig sein. Nachdem das geschehen war konnten wir nun endlich die Datei mit dem Programm öffnen, wo wir nun beim nächsten Problem standen, welche Werte der Modeline bei den Timings eintragen.timing_sample

Das Schema war allerdings schnell gefunden. Ich erkläre es an Hand der Modeline die wir verwendet haben:

Modeline "1280x1440_60.00"  156.00  1280 1376 1512 1744  1440 1443 1453 1493 -hsync +vsync

Im Grunde sind für uns die drei Zahlengruppen zwischen „ und -hsync interessant, bestehend aus einer Zahl, gefolgt von zwei Zahlengruppen á 4 Zahlen.

1. Zahl:

Pixel Clk: 156.00

1. Zahlen Gruppe aus 4 Zahlen, welche die Horizontal Werte enthält:

H Active Pxl: 1280
H Blank: 1744 – 1280 = 464
H Sync Offset: 1376 – 1280 = 96
H Sync Width: 1512 – 1280 – 96 = 136
H Image Size: Die tatsächliche horizontale Abmessung des Panels in mm

2. Zahlen Gruppe aus 4 Zahlen, welche die Vertikal Werte enthält:

V Active Pxl: 1440
V Blank: 1493 – 1440 = 53
V Sync Offset: 1443 – 1440 = 3
V Sync Width: 1453 – 1440 – 3 = 10
V Image Size: Die tatsächliche vertikale Abmessung des Panels in mm

So nun noch die Datei als .raw exportieren und der komplizierte Teil war geschafft. Also haben wir der Datei noch einen eindeutigen Namen gegeben, diese dann in den /etc/ati Ordner kopiert und Symlinks angelegt mit den Namen der Grafikkarten Ausgänge mit .edid daran, da in unserem Fall auf allen die gleiche Auflösung ausgegeben werden soll. Einmal den X neugestartet und man sieht im Xorg.0.log das er nun die gewünschte Modeline anzeigt. Nun haben wir noch die Modelines aus der xorg.conf entfernt und wir trauten unseren Augen kaum – Es geht!!!

Alles in allen hat mich der ganze Spaß 5 Stunden und meinen Kollegen 3 Stunden gekostet. Man kann sich nun sicher drüber streiten wem man hier die Schuld zuschreiben kann. Den Entwicklern bei ATI welche, warum auch immer, es nicht zulassen andere Auslösungen anzunehmen, obwohl die Display’s es unterstützen oder NEC welche eigentlich davon ausgehen müssten, wenn sie Display’s mit DaisyChain verkaufen, da auch höhere Auslösungen gefahren werden müssen. Also sollte NEC für diesen Fall eigentlich noch, das Display, zusätzliche EDID Informationen übertragen lassen. Ich persönlich gebe aber ATI die Schuld, denn Warum kann es denn der Opensource Treiber und der eigene nicht, Warum baut man denn überhaupt so eine hirnrissige Hürde ein – ich mein das macht doch hinten und vorn keinen Sinn und vor allem Was macht denn ein normaler User der vielleicht ein Consumer Display nutzt welches fehlerhafte EDID Informationen eingetragen hat und übermittelt.

Jedenfalls haben wir es nun geschafft und ich hoffe das anderen hiermit geholfen ist, auch wenn es dennoch ein recht umständlicher Weg ist. Wenn man jedoch auf die Binärtreiber angewiesen ist führt wohl kein Weg vorbei. Sollte es dennoch einen geben würde ich diesen gern erfahren.

Ich danke auf jeden Fall Martin H. für seine Hilfe, der mir immer wieder beweist das ich keinen anderen kenne, der sich so sehr mit Linux auskennt wie er.

Quellen: DASTRUP Tech Logs – ATI fglrx Propriertary Driver Problems, Hot Ceshew – Fix corrupt EDID in Linux running ATI/Catalyst/fglrx Driver

 

Posted in: Arbeit, IT, Linux, Opensource Tagged: edid, fglrx, linux, nec, precise, ubuntu, xorg

Screenshot von Terminal Output erstellen

14. August 2013 by Sebastian Leave a Comment

Ich musste heute eine Anleitung über ein Tool erstellen, worüber direkt an den Clients beim Kunden vor Ort Netzwerkeinstellungen geprüft und/oder vorgenommen werden können. Nun brauchte ich für meine Anleitung Screenshots, da aus vertrieblicher Sicht meine mit dem Handy erstellten Screenshots zu hässlich waren. Ich dachte für ne Technikeranleitung reicht es, aber da es eine offizielle sein soll, muss es nun mal schön aussehen. Nun stand ich vor dem Problem „Wie mach ich Screenshots von ner Konsole“, denn das Tools ist ein einfaches Bash Script was mit Hilfe des Pakets dialog lediglich Dialogfenster erzeugt. Kennt ihr von der Debian Expert Installation – diese schönen weißen/hellgrauen Boxen auf blauem Grund.

Naja nach bisschen Gesuche wurde ich dann auch fündig, neben den ganzen Knallern die schrieben „Mach doch mit cat“ …. Also nutzen kann man dafür das Tool fbcat. Mit diesem kann man aber nur .ppm Dateien erstellen, weshalb man sich gleich noch imagemagick mitinstallieren kann. Da beide nicht standardmäßig installiert sind, muss das getan werden:

sudo apt-get install fbcat imagemagick

Ich habe jetzt festgestellt das mit fbcat lediglich Screenshots von der aktiven TTY machen kann. Also ich hatte auf dem Client über TTY4 das Tool offen und bin parallel per SSH drauf. Screenshots macht man nun wie folgt:

sudo fbcat > image.ppm

Somit hab ich nun meinen Screenshot von der aktiven TTY. Diesen musste ich nun noch konvertieren mit Hilfe von imagemagick:

convert image.ppm out.png

Da ich nun mehrere Screenshots erstellt habe, musste ich auch mehrere convertieren, was ich folgt machte:

for i in $(find /root -name "*.ppm" | grep nst | cut -f3 -d"/"); do convert $i $i.png ; done

Mit den entstandenen Screenshots war der Vertrieb dann auch zufrieden und ich hatte es hinter mir. Dokumentieren und Anleitungen schreiben ist nicht so mein Favourite. :-D

Posted in: Arbeit, IT, Linux, Opensource Tagged: bash, precise, ubuntu

Unable To Connect To Upstart

12. August 2013 by Sebastian Leave a Comment

Ich bekomm in letzter Zeit oft, beim updaten von Ubuntu 12.04 Clients, welche einen relativ veralteten Softwarestand haben, den Fehler:

start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused

Was ich so bisher gelesen hab tritt der Fehler hauptsächlich auf virtualisierten Systemen und chroot Umgebungen auf. Bei uns ist das der Fall, weil wir upstart durch das stabilere systemd ersetzt haben. Allerdings brauchen ein paar Pakete wohl den upstart Dienst. Diesen finden sie aber nicht, weil wie gesagt, nicht installiert. Also muss man sich mit einem Workaround behelfen, welcher wie folgt aussieht:

sudo dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl

 

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, precise, systemd, ubuntu, upstart

Alte Kernel inkl. Header entfernen

22. Juli 2013 by Sebastian Leave a Comment

Ich hatte Anfang letzten Monats durch Zufall bemerkt das auf dem Samba PDC der Firma nur noch 30 MB Plattenspeicher frei war, was sehr verwunderlich war, da auf diesen nur ein paar Scripte liegen und mehr nicht. Nach etwas Recherche auf dem System fiel mir auf das mehr als 4 GB von /usr/src belegt werden. Etwas weiter geschaut und bemerkt das noch alle Kernel inkl. Header seit der Installation zurückgehalten wurden. Also schnell mal bei google geschaut wie man die am schnellsten alle auf einmal entfernt:

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

 

Quellen: linuxundich.de

Posted in: IT, Linux, Opensource Tagged: precise, samba, ubuntu

mdadm mit zabbix überwachen

26. Februar 2013 by Sebastian Leave a Comment

New Version

Ich habe heute für die Arbeit ein Script geschrieben um unsere mdadm RAID’s mit Zabbix zu überwachen. Ich freue mich natürlich über Tipps, da ich noch das Script schreiben übe. Ich hab also noch nicht so viel Erfahrung, aber ich entdecke langsam die praktische Seite daran. :-D

Jedenfalls ist das das Script:

#!/bin/bash

export PATH=/usr/bin:/bin:/usr/sbin/:/sbin/

disk=$1

case $2 in
        state)
               state=$(sudo mdadm --detail /dev/$disk | grep -i "State :" | cut -d ":" -f 2 | awk -F ' ' '{print $1 $2 $3}')

               if [ "$(echo $state | grep clean | wc -l)" -eq "1" ]; then
                      s1=1
               else
                      s1=0
               fi
               if [ "$(echo $state | grep degrade | wc -l)" -eq "1" ]; then
                      s2=2
               else
                      s2=0
               fi
               if [ "$(echo $state | grep recovering | wc -l)" -eq "1" ]; then
                      s3=4
               else
                      s3=0
               fi

               s4=$(echo $(($s1 + $s2 + $s3)))

               case $s4 in
                       "0" | "1")
                               echo clean
                       ;;
                       "2" | "3")
                                echo degrade
                       ;;
                       "4" | "5" | "6" | "7")
                                echo recovery
                       ;;
                       esac
        ;;
        mdstat)
                grep -A1 $disk /proc/mdstat | grep -o _ | wc -w
        ;;
esac

Kurze Erklärung zu state: Ich greppe mir da aus der Ausgabe von mdadm die Zeile State heraus wo der Status des RAID’s ausgegeben wird. Dies können drei Stadien sein – clean, degrade, recovering (auch alle gleichzeitig). Aus diesem Grund habe ich noch die Addition hinzugefügt um einen Status auszugeben. Ich gebe aber immer nur einen Status aus: Wenn nur clean, dann logischer Weise clean – wenn clean,degrade dann degrade, da ja die Information wichtig ist das etwas mit dem RAID nicht in Ordnung ist – wenn recovering enthalten ist, dann wird recovery ausgegeben.

Kurze Erkläung zu mdstat: Ist relativ simpel. Platten die OK sind werden in /proc/mdstat mit U angeben und fehlende mit _ , da ich wissen will wie viele ausgefallen sind greppe ich hier nach _ .

Im Anschluss muss das Script noch ausführbar gemacht und in /etc/zabbix/zabbix-agentd.conf folgende Zeile hinzufügen werden:

UserParameter=mdadm[*], sh /pfad/zu/mdadm_chk.sh $1 $2

Da man für mdadm root-Rechte benötigt muss man noch folgende Zeile in /etc/sudoers:

zabbix ALL=NOPASSWD:/pfad/zu/mdadm_chk.sh,/sbin/mdadm

Jetzt einmal den Agent neu starten und schon müsste es funktionieren. Items und Trigger hab ich wie folgt angelegt:

mdadm_item_zbx

mdadm_trigger_zbx

Posted in: Arbeit, IT, Linux, Netzwerk, Opensource Tagged: bash, linux, mdadm, precise, raid, ubuntu, zabbix
1 2 Weiter »

Social Shit

Fediverse PGP-Key XMPP Matrix Git Github

Kategorien

  • Allgemein
  • Android
  • Anime
  • Arbeit
  • Entertainment
  • Games
  • Handy
  • IT
  • Linux
  • Monitoring
  • Netzwerk
  • Opensource
  • Privates
  • QEK Junior
  • Rattis
  • Showtime Ost
  • Showtime West
  • Windows

Interessantes

  • Lainblog
  • World of Edolas
  • chr.istoph's Blog
  • 5222.de

Archive

  • Juni 2023
  • August 2019
  • Oktober 2018
  • März 2018
  • Dezember 2017
  • Juli 2017
  • Juni 2017
  • Mai 2017
  • März 2017
  • Februar 2017
  • Januar 2017
  • Dezember 2016
  • November 2016
  • September 2016
  • August 2016
  • Juli 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
  • Februar 2016
  • Dezember 2015
  • November 2015
  • September 2015
  • August 2015
  • Juli 2015
  • Juni 2015
  • Mai 2015
  • April 2015
  • März 2015
  • Februar 2015
  • November 2014
  • Oktober 2014
  • August 2014
  • Juli 2014
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Februar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • September 2013
  • August 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Februar 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • Februar 2012
  • Januar 2012

Tags

android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

Datenschutzerklärung | Impressum

Copyright © 2025 KOKOLOR.ES.

Omega WordPress Theme by ThemeHall