Archiv nach Schlagworten: debian

mysql: symbol lookup error: /usr/lib/libmysqlclient.so.16: undefined symbol

Aus bisher unbekannten Gründen trat bei meinem Server* der Fehler im syslog auf:
mysql: symbol lookup error: /usr/lib/libmysqlclient.so.16: undefined symbol: _ZN5yaSSL8HMaC_MD5C1EPKhj, version libmysqlclient_16

Der Fehler trat außerdem bei folgendem Kommando auf:

 Bash |  copy |? 
1
mysql -u root -p

Ein

 Bash |  copy |? 
1
aptitude reinstall libmysqlclient16

reparierte das Problem. Puh!

*Debian Squueze

Bash: Ändern von Strg+w…

… , sodass Teile eines Pfades gelöscht werden anstatt ganzer Wörter.

Wer gerne in der bash arbeitet und mit dem Tastenkürzel Strg+w komplette Wörter links des Cursors löscht, dem könnte der folgende Schmankerl gefallen.

 Bash |  copy |? 
1
set bind-tty-special-chars off
2
"\C-w": unix-filename-rubout

Diese beiden Zeilen müssen der inputrc hinzugefügt werden. Dazu kann entweder die systemweite (bei Debian z.B.) /etc/inputrc oder aber die benutzerspezifische ~/.inputrc genutzt werden.

Nun noch der Vorher-Nachher-Vergleich. Als Beispiel-Input nehme ich die folgende Zeile:

 Bash |  copy |? 
1
cd /home/strubbl/

Wenn man nun Strg+w vor der Änderung nutzt, wirkt es wie folgt:

 Bash |  copy |? 
1
cd 

Der komplette Pfad wurde gelöscht.

Mit der Änderung in der inputrc kann man nun auch Teile des Pfades löschen. Die einmalige Benutzung des Tastenkürzels bewirkt:

 Bash |  copy |? 
1
cd /home/

Wie praktisch, find ich!

Habe mich eben auch noch von frakturfreak aufklären lassen, dass es sich bei Strg+w und Strg+y um ein Konzept namens einen Kill-Ring handelt (, das vom Emacs stammt) – quasi eine Zwischenablage für Textpassagen darstellt. Nett!

Woher ich das habe? phrakture ist schuldig und zeigt auf seinen Git-Diff.

Alte Kernel inkl. Header entfernen

Durch Zufall bin ich auf den folgenden Befehl gestoßen, um mal alle alten angesammelten Kernel meines Ubuntus zu löschen. Damit spart man sich das mühselige Eintippen.

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

 Bash |  copy |? 
01
Paketlisten werden gelesen... Fertig
02
Abhängigkeitsbaum wird aufgebaut
03
Lese Status-Informationen ein... Fertig
04
Lese erweiterte Statusinformationen
05
Initialisiere Paketstatus... Fertig
06
Die folgenden Pakete werden ENTFERNT:
07
  linux-headers-2.6.31-10{p} linux-headers-2.6.31-10-generic{p} linux-headers-2.6.31-11{p} linux-headers-2.6.31-11-generic{p} linux-headers-2.6.31-12{p}
08
  linux-headers-2.6.31-12-generic{p} linux-headers-2.6.31-13{p} linux-headers-2.6.31-13-generic{p} linux-headers-2.6.31-14{p}
09
  linux-headers-2.6.31-14-generic{p} linux-headers-2.6.31-15{p} linux-headers-2.6.31-15-generic{p} linux-image-2.6.31-10-generic{p}
10
  linux-image-2.6.31-11-generic{p} linux-image-2.6.31-12-generic{p} linux-image-2.6.31-13-generic{p} linux-image-2.6.31-14-generic{p}
11
  linux-image-2.6.31-15-generic{p}
12
0 Pakete aktualisiert, 0 zusätzlich installiert, 18 werden entfernt und 0 nicht aktualisiert.
13
Muss 0B an Archiven herunterladen. Nach dem Entpacken werden 1.172MB frei werden.
14
Wollen Sie fortsetzen? [Y/n/?]

Ich spare damit ab sofort über einen Gigabyte. Feine Sache!

(via linuxundich.de)

Munin Plugins apache_* unter Debian installieren

Da ich es eben gemacht habe, wollte ich hier eben mal noch dokumentieren, wie man die Munin-Plugins apache_accesses, apache_processes und apache_volume unter Debian Etch oder Ubuntu Hardy zum Laufen bringt. Sie sind leider nicht so einfach zu installieren wie manch andere Munin-Plugins, aber ich habe es mit dieser Methode unter beiden genannten Distribution erfolgreich testen können.

Zuerst installieren wir libwww-perl (und alles was wegen Abhängigkeiten benötigt wird). Danach aktivieren wir das Apache2-Modul status:

 Bash |  copy |? 
1
sudo aptitude install libwww-perl
2
sudo a2enmod status

Anschließend können wir die Munin-Plugins aktivieren:

 Bash |  copy |? 
1
sudo ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
2
sudo ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
3
sudo ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume

Jetzt sollte munin-node neugestartet werden:

 Bash |  copy |? 
1
sudo /etc/init.d/munin-node restart

Folgender Inhalt muss nun noch in die /etc/apache2/httpd.conf:

 Bash |  copy |? 
1
ExtendedStatus on
2
 
3
<Location /server-status>
4
SetHandler server-status
5
 
6
Order Deny,Allow
7
Deny from all
8
Allow from localhost
9
</Location>

Ob das der richtige Ort für diese Konfigurationsdinge ist, weiß ich nicht. Aber es funktioniert :)
Zu guter letzt muss noch der Apache2 neugestartet werden:
 Bash |  copy |? 
1
sudo /etc/init.d/apache2 restart

In ein paar Minuten sollten wir nun sehen, wie Munin beginnt, fleißig Graphen zu zeichen: