Wechsel von Grub zu Grub2

Dezember 20th, 2009

Ich habe heute auf meinem Linux-Heimrechner Grub2 installiert. Dank guter Debian-Konfiguration waren es ein paar einfache Schritte:

Erst ruft man ‘apt-get install grub-pc’ auf, damit wird das neue Paket installiert, und der neue Grub in die Konfiguration des alten Grub eingetragen. Damit stehen beim nächsten Reboot beide zur Verfügung. Dort wählt man erst “Chainload Grub2” aus, und dann den aktuellen Kernel.

Wenn alles klappt kann man ‘upgrade-from-grub-legacy’ eingeben und die alte menu.lst entsorgen.

Da hab ich doch was vergessen…

Dezember 15th, 2009

Da hab ich doch gestern noch etwas wichtiges auf der Liste der vergessen:

Growl

Bekommt man sowieso aufgedrängt, wenn man Adium installiert, dieser allgegenwärtige und von vielen Programmen genutzte Popup-Notifier ist aber dennoch erwähnenswert.

Tools für den Büro-Mac

Dezember 15th, 2009

Mittlerweile haben immer mehr meiner Kollegen auch im Büro einen Mac, deshalb wollte ich mal meine persönliche Liste der Must-Have Tools auf meinem Büro-Arbeitsplatzrechner aufstellen:

Apple Mail
Hierzu muss ja wohl nichts weiter gesagt sein, ausser dass es der schnellste und komfortabelste Mailclient ist, den ich bisher benutzt habe. Insbesondere für IMAP-Konten und in Verbindung mit den folgenden zwei Plugins.

Mail Act-On
Die Erweiterung zu Apple Mail, um schnell und einfach Mails einsortieren zu können. Je nach Tastatur legt man sich entsprechende Hotkeys an, mit denen man eine Mail sofort in die wichtigsten Ordner verschieben kann.

Letterbox
Für Benutzer von breiten Bildschirmen unverzichtbar. Leider sind meine Büro-Bildschirme alle noch 4:3, daher ist diese Erweiterung nur auf meinem Notebook im Einsatz.

Safari
Siehe Apple Mail – Schnell, kompakt, angenehm zu benutzen. Insbesondere mit einer wichtigen Erweiterung.

GreaseKit und SIMBL
Wer unter Firefox das GreaseMonkey-Addon benutzt weiss was es ist. Kurz: Es kann Webanwendungen um kleine, aber effizienzsteigernde Details und Funktionen erweitern. Für mich ist es das “Select All”-Skript für OTRS.

Adium
Der universelle Instant-Messenger. Jabber, ICQ, Twitter, oder IRC, alles funktioniert mit ihm. Auch der AdHoc-Zugriff über Bonjour im LAN funktioniert genauso gut wie mit iChat. Einziges Manko ist die fehlende Videofunktion. Dafür muss man dann leider auf iChat ausweichen.

OmniFocus
Getting Things Done – dafür ist mein Bürorechner da. Was ich nicht im Ticketsystem notieren muss, kann oder will landet hier. Besonders angenehm ist die Synchronisierung mit der iPhone-App gleichen Namens. So langweile ich mich nie, sondern weiss was ich machen kann (oder muss) bis in 5 Minuten wieder das Telefon klingelt.

OmniGraffle Professional
Ein Netzwerk muss dokumentiert werden, und manchmal sagt ein Bild mehr als tausend Worte. Noch besser ist es, wenn das Tool schnell und einfach zu bedienen ist, was bei OmniGraffle der Fall ist. Einzige inakzeptable Alternative wäre Visio.

MacJournal
Informations-Sammelstelle für alles, was im Fluss ist. Dokumentation von Störungen, Ausfällen, oder Fehlersuchen verträgt keine Verzögerungen, daher ist es sehr angenehm, einfach Textschnipsel, Bilder und sonstige Dokumente einfach zusammenzuwerfen in einem Eintrag. Synchronisiert mit dem Notebook hat man die Infos immer dabei.

OpenOffice.Org
Bringt alles mit, was mein Kollege als “Sekretärinnensoftware” bezeichnet. Textverarbeitung, Tabellenkalkulation, Präsentationen. Und kann obendrein PDFs und ausfüllbare PDF-Formulare erzeugen.

Clyppan
Last, but not least. Dauernd packe ich etwas in die Zwischenablage, und manchmal brauche ich das letzte, vorletzte, oder vorvorletzte daraus nochmal, besonders wenn ich mehrere Feuer gleichzeitig löschen soll. Wie war die IP nochmal? Clyppan hilft. Welche URL warf den Fehler? Clyppan weiss es.

Einfaches Makefile für Gettext-Dateien

Dezember 7th, 2009

Mit diesem Makefile kann man automatisch aus allen .po-Files in einem Verzeichnis aktuelle .mo-Files generieren:

POFILES = $(shell ls *.po)
MOFILES = $(POFILES:%.po=%.mo)

all: $(MOFILES)

%.mo: %.po
       msgfmt $< -o $@

DNS-Konfiguration per Datenbank mit bind-dlz

November 30th, 2009

Seit BIND9.4 ist der DLZ-Patch mit enthalten. Um ihn unter Debian nutzen zu können muss in der Datei debian/rules das Einkompilieren von PostgreSQL und/oder MySQL aktiviert werden:

--with-dlz-postgres=yes \
--with-dlz-mysql=yes \

Dann kann man in der BIND-Konfiguration die dynamische Zone aktivieren:

dlz "Mysql zone" {
   database "mysql
   {host=localhost dbname=dns_data user=dns_data pass=password ssl=false}
   {select zone from dns_records where zone = '%zone%'}
   {select ttl, type, mx_priority, case when lower(type)='txt' then concat('\"', data, '\"') 
  when lower(type) = 'soa' 
  then concat_ws(' ', data, resp_person, serial, refresh, retry, expire, minimum) 
  else data end from dns_records where zone = '%zone%' and host = '%record%'}
   {}
   {select ttl, type, host, mx_priority, data
        from dns_records where zone = '%zone%' and not (type = 'SOA' or type = 'NS')}
   {select zone from xfr_table where zone = '%zone%' and client = '%client%'}
   {}";
};

Als Testdaten kann man folgenden SQL-Dump einspielen:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101example.com SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=‘NO_AUTO_VALUE_ON_ZERO’ */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;


# Dump of table data_count
# ------------------------------------------------------------

CREATE TABLE `data_count` (
  `count` bigint(20) default ‘0’,
  `zone` char(64) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

LOCK TABLES `data_count` WRITE;
/*!40000 ALTER TABLE `data_count` DISABLE KEYS */;
INSERT INTO `data_count` (`count`,`zone`)
VALUES
        (0,’example.com’);

/*!40000 ALTER TABLE `data_count` ENABLE KEYS */;
UNLOCK TABLES;


# Dump of table dns_records
# ------------------------------------------------------------

CREATE TABLE `dns_records` (
  `zone` varchar(64) default NULL,
  `host` varchar(64) default NULL,
  `type` varchar(8) default NULL,
  `data` varchar(64) default NULL,
  `ttl` int(11) NOT NULL default ‘3600’,
  `mx_priority` int(11) default NULL,
  `refresh` int(11) default NULL,
  `retry` int(11) default NULL,
  `expire` int(11) default NULL,
  `minimum` int(11) default NULL,
  `serial` bigint(20) default NULL,
  `resp_person` varchar(64) default NULL,
  `primary_ns` varchar(64) default NULL,
  KEY `host` (`host`),
  KEY `zone` (`zone`),
  KEY `type` (`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

LOCK TABLES `dns_records` WRITE;
/*!40000 ALTER TABLE `dns_records` DISABLE KEYS */;
INSERT INTO `dns_records` (`zone`,`host`,`type`,`data`,`ttl`,`mx_priority`,`refresh`,`retry`,
`expire`,`minimum`,`serial`,`resp_person`,`primary_ns`)
VALUES
(‘example.com’,’@‘,’SOA’,’@‘,3600,NULL,10800,1800,604800,3600,2008082700,
  ’root.example.com.’,’ns1.example.com’),
(‘example.com’,’@‘,’A’,’192.0.2.1’,3600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(‘example.com’,’@‘,’NS’,’ns1.example.com.’,3600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(‘example.com’,’@‘,’NS’,’ns2.example.com.’,3600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(‘example.com’,’@‘,’NS’,’ns3.example.com.’,3600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(‘example.com’,’@‘,’AAAA’,’2001:0db8::1’,3600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(‘example.com’,’www’,’AAAA’,’2001:0db8::1’,3600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(‘example.com’,’www’,’A’,’192.0.2.1’,3600,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(‘example.com’,’@‘,’MX’,’ns1.example.com.’,3600,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

/*!40000 ALTER TABLE `dns_records` ENABLE KEYS */;
UNLOCK TABLES;


# Dump of table xfr_table
# ------------------------------------------------------------

CREATE TABLE `xfr_table` (
  `zone` text,
  `client` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

LOCK TABLES `xfr_table` WRITE;
/*!40000 ALTER TABLE `xfr_table` DISABLE KEYS */;
INSERT INTO `xfr_table` (`zone`,`client`)
VALUES
        (‘example.com’,’127.0.0.1’);

/*!40000 ALTER TABLE `xfr_table` ENABLE KEYS */;
UNLOCK TABLES;

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Twitter-Wandkalender

November 26th, 2009

Da ich nicht weiss ob wir im Büro dieses Jahr wieder einen Wandkalender vom eco bekommen, wäre ein Kalender von druckerei.de gern gesehen. Details zur Aktion finden sich unter http://blog.druckerei.de/zwitschern-fuer-den-wandkalender-2010/. Aber ich werde ganz sicher nicht jeden Tweet auch auf dem Kalender eintragen 😉

P.S.: Ja, ich bin käuflich 🙂

Aktuelles vom Drobo

November 11th, 2009

Nachdem ich mein Drobo nun schon fast zwei Monate habe ein kleines Update. In der Zwischenzeit habe ich ihm zwei ältere 750GB-Festplatten spendiert, so dass jetzt alle vier Slots belegt sind. Es hat funktioniert wie versprochen, er hat die Platten eingebunden und das Volume vergrössert.
Einziger kleiner Kritikpunkt ist der Lüfter, der deutlich hörbar ist. Wenn das Gehäuse luftig steht springt er sehr selten an, und stört dann kaum noch.

Photo: Nikolaikirche Hamburg

Oktober 31st, 2009

Nikolaikirche
Dieses Photo von der Nikolaikirche in Hamburg habe ich kürzlich gemacht. Ich finds schick und wollte es teilen 🙂

Kurztipp: HTTP auf Kommandozeile

Oktober 11th, 2009

Manchmal muss man einen Webserver testen, ob er auch korrekt antwortet. Will man dabei auch die Virtual-Host-Konfiguration testen, muss man HTTP 1.1 sprechen. Ich habe öfter vergessen wo in der ersten Zeile der Schrägstrich hingehört, oder ob es in der zweiten Host, Hostname, Server heisst und ob ein Doppelpunkt erforderlich ist, deshalb hier ein minimaler HTTP-Request, der auch nur mit den Headern antwortet, die oft für Testzwecke ausreichend sind:

HEAD / HTTP/1.1
Host: www.example.com

Alternativ kann man auch die komplette Seite anfordern:

GET / HTTP/1.1
Host: www.example.com

Festplattengehäuse von Drobo

September 21st, 2009

Ich habe heute meine neue Speicherlösung von Drobo bekommen. Hier die Photos vom Auspacken und der Inbetriebnahme. Bisher wirkt alles sehr passabel, Details folgen bei gegebenem Anlass.