Kategori Linux

apt pinning für den kernel

Donnerstag, September 26th, 2013

Wenn durch Ubuntu Security Updates Automatisch satt finden, kann es Probleme geben mit Proprietären Kernel Modulen wie Grafikkartentreibern. Am schönsten ist an dieser Stelle ein DKMS Modul, aber da so was auf die schnelle nicht gezaubert werden konnte haben wir den Kernel einfach mit apt pinning festgesetzt.

echo $(dpkg -l "$(uname -r)" | grep image | awk '{print $2 " hold"}') |sudo dpkg --set-selections

Das ganze kann man auch wieder rückgängig machen.

echo $(dpkg -l "$(uname -r)" | grep image | awk '{print $2 " install"}')| dpkg --set-selections

Mit folgenden Befehl kann man sich eine Übersieht verschaffen welche Pakete gepind sind:

dpkg -l | grep ^h

gelöschte Daten unter ext4 Dateisystem wiederherstellen

Samstag, September 14th, 2013

Heute habe ich ein System aus dem Backup gebraucht. Schusselch wie ich war habe ich gunzip zum entzippen verwendet. Das löschte einfach die Original Datei. Also habe ich mich auf die suche gemacht wie man gelöschte Daten unter einem ext4 Dateisystem wiederherstellen kann. Am einfachsten fand ich extundelete

Dafür muss man das Dateisystem erst readonly monten. Sollte man eine Datei im root dateisystem gelöscht haben muss man das system von einer CD/Stick booten.
mount -o remount,ro /mnt/md0/

Dann einfach wiederherstellen.
extundelete /dev/md0 --restore-file /kvm/server.img.gz
WARNING: Extended attributes are not restored.
Loading filesystem metadata ... 14905 groups loaded.
Loading journal descriptors ... 26782 descriptors loaded.
Restored inode 46161921 to file RECOVERED_FILES/kvm/server.img.gz

Und anschließend wieder Mounten und die Datei an die gewünschte stelle verschieben.
mount -o remount,rw /mnt/md0/
mv RECOVERED_FILES/kvm/server.img.gz /mnt/md0/kvm/

mirror: umstellung des ubuntu repository

Mittwoch, September 11th, 2013

Heute mit auslaufen des Supports für Ubuntu Hardy habe den seit 2008 bestehenden Mirror von debmirror auf rsync umgestellt.
Die voreile von debmirror waren das die Pakete in einem eine PGP Überprüfung und nicht nur einer check summen Prüfung standhalten mussten. Leider konnte debmirror aber einige Verzeichnisse nicht ohenweiteres/bzw gar nicht syncen. Darunter fallen insbesondere die Dateien für das Booten von Netzwerk und Sprachdateien. Zudem muss die Versionen per Hand gepflegt werden. Im Fall von Ubuntu Hardy war es heute wieder soweit. Zukünftig wird es bei der Umstellung nicht mehr zu sync Stopps kommen.

apache2: could not bind to address [::]:443

Mittwoch, September 4th, 2013

Übernacht hatte sich der Webserver einfach so verabschiedet. Nach etwas Suchen fand ich die Fehlkonfiguration.
/etc/init.d/apache2 start
* Starting web server apache2
(98)Address already in use: make_sock: could not bind to address [::]:443

netstat -aptn | grep 443

mit folgenden grep fand ich heraus das Listen 443 sowol in der ports.conf als auch in einer vhost Konfiguration stand.
grep -r 443 /etc/apache2/

Nach auskommentieren von Listen 443 startet der Server wieder.

apache2: Invalid method in request \x16\x03\x01

Mittwoch, Juni 26th, 2013

Beim einrichten von SSL auf einem Apache bekommt man eine sehr aussagekräftige Fehlermeldung wen man die Passenden module nicht geladen hat.

[Tue Jun 25 10:50:00 2013] [notice] Apache/2.2.9 (Debian) configured -- resuming normal operations
[Tue Jun 25 10:50:39 2013] [error] [client 5.145.140.210] Invalid method in request \x16\x03\x01

server# a2enmod ssl
Enabling module ssl.
See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
Run '/etc/init.d/apache2 restart' to activate new configuration!

server# /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .

[Tue Jun 25 11:03:49 2013] [notice] Apache/2.2.9 (Debian) mod_ssl/2.2.9 OpenSSL/0.9.8g configured -- resuming normal operations

Zudem Sollte man darf achten das die Port einstellungen in der /etc/apache/ports.conf auch in dem dafür entsprechenden if stehen.

# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
NameVirtualHost 192.168.0.1:443
Listen 192.168.0.1:443

Gleiches gilt auch für die VirtualHost Einträge.