Categories
Linux

Wo bin ich?

Um schnell herauszubekommen was genau für ein OS bzw. welche Version auf einer Remote-Maschine läuft schreibe ich jetzt mal die zugehörigen Befehle auf…

Quick and dirty:

# Funktioniert zumindest mit Centos, Redhat, Fedora, Ubuntu, Debian
cat /etc/issue
Ubuntu 8.04.3 LTS \n \l

(/etc/issue ist ein Template welches vom System für den Login-Prompt verwendet wird. Je nach Distribution werden dort z.B. noch Kernelversion und Architektur angezeigt, daher werden auch u.U. noch ein paar Platzhalter ausgegeben…)

Categories
Linux

Ubuntu aufräumen

Nach diversen apt-sessions (z.B. dist-upgrade) sammeln sich allerhand Restbestände von alten Paketen an. Folgendes mache ich immer um ein wenig aufzuräumen. Nutzung auf eigene Gefahr!

# Folgende Kommandos als Superuser
sudo su

# Paketdownloads entfernen
apt-get clean

# Nicht benötigte Pakete entfernen
apt-get autoremove

# Reste (z.B. Konfigurationsdateien) von bereits deinstallieren Paketen entfernen
dpkg -l | grep ^rc | cut -d ' ' -f3 | xargs dpkg -P    

Das ganze sollte auch unter Debian klappen…

Categories
Programmierung Tools

Browser Clipboard

In modernen Browsern ist mittlerweile der Zugriff auf die Zwischenablage nicht mehr erlaubt (aus gutem Grund). Möchte man aber den Benutzern seiner Webapplikation zumindest das schreiben in die Zwischenablage ermöglichen, gibt es einen Workaround: Der Umweg führt über das Adobe Flash Plugin…

Der Link zum Script: Zeroclipboard. Nicht das ich das jetzt unbedingt bräuchte – aber man weiß ja nie.

Categories
Linux

Puppet suicide

Man sollte in diesen Zeiten vorsichtig mit dem Begriff umgehen, aber meine Puppet-Instanzen haben sich heute alle selbst beendet.

Eigentlich wollte ich nur die Puppet-Konfigurationsdatei selbst auch per Puppet verteilen. Leider vergaß ich bei der Definition des Services die Option “hasrestart” – welche Puppet sagt, dass das init-Script des betreffenden Services auch eine restart Option hat. Ansonsten wird der Service erst gestoppt und dann gestartet. Was in meinem Fall passiert ist kann sich jeder denken…

service { puppet :
        ensure => running,
        enable => true,
        hasrestart => true,
        subscribe => [Remotefile["puppet.conf"]],
}
Categories
Linux

OpenNMS: SNMP data collection failed

opennmsBisher lief die Einrichtung und Konfiguration von OpenNMS seit einigen Wochen sehr erfolgreich. Anfängliche Konfigurationsfehler sowie die Einrichtung weiterer Services konnten bisher immer mit Hilfe der Mailingliste und des Wikis schnell behoben werden.

Die (für OpenNMS sehr wichtige) SNMP Kommunikation lief aber nicht ganz so zuverlässig. Ab und an erschienen folgende Meldungen im Eventlog:

SNMP data collection on interface x.x.x.x failed.

snmp4j-internal.log lieferte dann andauernd:

Received response that cannot be matched to any outstanding request ...

Merkwürdigerweise immer nur bei bestimmten Hosts… Nach erfolgloser Suche bin ich dann nochmal die Konfiguration durchgegangen. In der snmp-config.xml fand ich dann die Ursache:

    

OpenNMS Experten werden jetzt sicherlich nur süffisant grinsen. Bei der anfänglichen Einrichtung von OpenNMS wusste ich damals noch nicht, dass OpenNMS generell Timeouts in Millisekunden angibt…

So ist es besser:

    

Erstaunlich das es überhaupt so viele externe Hosts geschafft haben innerhalb der 10ms zu Antworten – spricht für die Infrastruktur ;)

Categories
Allgemein Tools

Astaro Free for Business

Interessanter Schachzug: Astaro bietet ab sofort auch für das kommerzielle Umfeld eine kostenlose Software-Editon seiner Firewall an: die Essential Firewall Edition.

Die wichtigsten Funktionen sind an Board. Natürlich fehlen ihr aber Premium-Features wie HTTP-Filter, Mail-Filter und Anti-Virus etc. Auch sollte man für den professionellen Einsatz den Vorteil der Astaro-Hardware-Applicances nicht unterschätzen. Interessierte können sich im übrigen gerne hier melden ;).

Quelle

Categories
Tools

Weave 1.0 Beta

Soeben erinnert mich Firefox daran, dass sich das Weave-Addon der Version 1.0 annähert: 1.0 Beta ist jetzt verfügbar.

Das Update war soweit problemlos. Wenn man wie ich einen eigenen Server verwendet, sollte man einen Apache-Alias für die 1.0 Version anlegen:

Alias /1.0 /var/www/vhosts/example.com/httpdocs/weaveserver/server/0.5/index.php

Das Addon ist wirklich genial; wie oft habe ich mich geärgert, dass ein bestimmter Bookmark nur im Büro verfügbar und ein bestimmtes Passwort nur in der Browsersession auf dem Notebook gespeichert ist.

Mittlerweile gehe ich auch ganz anders mit Bookmarks bzw. ganzen Sessions um: Habe ich früher eine Session vor dem nach Hause gehen mühsam in Bookmarks gespeichert, schließe ich jetzt einfach den Browser und arbeite mit den gleichen geöffneten Tabs am Notebook weiter… Und noch etwas kann man nicht oft genug erwähnen: Die Bookmarks/History etc. gehören nur mir.

Categories
Allgemein

MSNBot oder was?

Seit einiger Zeit kommt auf verschiedenen Webseiten ein Bot vorbei welcher u.A. versucht PDF Dateien herunterzuladen. Soweit so gut und auch kein Problem. Allerdings verwendet er beim Crawlen den Dateinamen des Files in Kleinbuchstaben. Also anstelle  “example.com?file=Abc.pdf” versucht der Bot “example.com?file=abc.pdf” herunterzuladen – was in einer Fehlermeldung endet.

Etwas ungewöhnlich finde ich die Daten des Robots:

HTTP_USER_AGENT
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)

REMOTE_ADDR
65.55.110.179

Der Agent ist teilweise unterschiedlich (andere .NET Version). Die IP stammt aber ausschließlich aus dem Microsoft-Netz (Whois) und gehört anscheinend dem “msnbot-65-55-110-179.search.msn.com”. Warum meldet der sich nicht mit einem entsprechendem User-Agent? Warum der “Bug” mit den Kleinbuchstaben?

Ich habe mal eine Mail an den Support von Bing geschickt…

weitere IPs des Bots: 65.55.107.204, 65.55.110.133, 65.55.109.170, 65.55.109.110, 65.55.110.164, 65.55.110.124

Categories
Linux Tools

Duplicity: Verschlüsseltes Remote-Backup

Derzeit bin ich auf der Suche nach einem geeignetem Weg um meinen Homeserver ins Rechenzentrum zu sichern. Zunächst ist mir natürlich rsync over ssh eingefallen, aber ich hätte die Daten gerne auf der Remote-Seite verschlüsselt abgelegt… Mit TrueCrypt lokal einen Backup-Container anlegen und dann per rsync sichern? Zu unflexibel. Auf der Remote-Seite einen TrueCrypt Container anlegen? Toll, mindestens jeder root-user kommt ran ;)

Was sich als Ideal herausstellt ist das Tool “duplicity“. Mir ist es irgendwann schon mal aufgefallen da es bei der Synchronisation mit Amazon S3 auch auf librsync setzt. Das es auch verschlüsselt war mir irgendwie entfallen.

Um nur ein paar Features zu nennen: Verschlüsselung mittels gnuPG, Vollsicherung, Incrementelle Sicherung. Dabei setzt es wie gesagt auch die Trafficschonende rsync library ein.

Der Clou sind aber auch die unterstützten Backends/Transportwege. Neben ssh und ftp tauchen auch u.A.  AmazonS3 und sogar IMAP in der Liste auf…

Das werde ich auf jeden Fall testen!

Categories
Linux

Procmail: failure notices / undeliverables

Folgendes reciept für Procmail filtert für mich jetzt diverse Arten von “failure notices”.

Klar, man könnte sicherlich auch einige Zeilen zusammenfassen, aber ich finde es so übersichtlicher. Ausserdem kenne ich jetzt eine weitere Möglichkeit “komplexe” Regeln mit ODER zu verknüpfen…

SUBJECT_DELIVERFAIL=
:0
* 1^0 ^Subject: *failure notice
* 1^0 ^Subject: *(|Mail )delivery \(?fail(ed|ure)
* 1^0 ^Subject: *((Returned|Undelivered) mail|Message)(: (.*User unknown|see transcript for details))?
* 1^0 ^Subject: *Undeliver(ed|able) (Mail|Message):? Returned to Sender
* 1^0 ^Subject: *Undeliverable:
* 1^0 ^Subject:.*undeliverable mail
* 1^0 ^Subject: *Mail System Error.*Returned Mail
* 1^0 ^Subject: *Delivery Status Notification
* 1^0 ^Subject:.*Message you sent blocked
* 1^0 ^Subject:.*Delivery Notification: Delivery has failed
* 1^0 ^Subject:.*Mail status report
* 1^0 ^Subject:.*Benachrichtung zum .*Fehlgeschlagen
* 1^0 ^Subject:.*Message you sent was blocked
* 1^0 ^Subject:.*Warning: could not send message for past
{ SUBJECT_DELIVERFAIL=1 }

:0 w
* SUBJECT_DELIVERFAIL ?? ^^1^^
./Maildir/.Trash/