Schlagwort-Archive: ubuntu

Ubuntu and a custom build zfs and spl from git

I wanted to try the 0.7.0-rc3 from git. So I cloned from git and changed to the zfs and spl version 0.7.0-rc3 tag.

Since ubuntu ships with a prebuilt zfs and spl my custom packages didn’t work.
It always loaded the prebuilt zfs and spl from the kernel modules directory but not the one I built.
I figured out a way to make it work nonetheless.

– check your currently running zfs module:

# modinfo zfs
filename:       /lib/modules/4.8.0-41-generic/kernel/zfs/zfs/zfs.ko
version:        0.6.5.8-0ubuntu4.1

– remove kernel mods (make sure to have all zfs pools unmounted, otherwise it will fail):

rmmod zfs zunicode zcommon znvpair spl zavl

– remove kernel module from your current running kernel:

rm -r /lib/modules/$(uname -r)/kernel/zfs

– build deb packages for your currently running ubuntu (see their wiki):

cd $where_your_spl_from_git_resides
make clean; ./autogen.sh
cd $where_your_zfs_from_git_resides
make clean; ./autogen.sh
cd $where_your_spl_from_git_resides
./configure; make deb
for file in *.deb; do gdebi -q --non-interactive $file; done
cd $where_your_zfs_from_git_resides
./configure; make deb
for file in *.deb; do gdebi -q --non-interactive $file; done

– do a modprobe:

modprobe zfs

– check again the running zfs module:

# modinfo zfs | head -2
filename:       /lib/modules/4.8.0-41-generic/extra/zfs/zfs/zfs.ko
version:        0.7.0-rc3

After that it worked just well. I guess it has to be done for every new kernel release. If there is another better way instead of deleting modules from the kernel modules directory to make it work, please share.

Soundprobleme von Diablo 3 mit wine

Diablo 3 funktioniert recht gut unter wine (1.5.4) bei mir, nur der sound war zerhäckselt und nicht brauchbar.
Eine Abhilfe ist „wine regedit“ auszuführen und bei „HKEY_CURRENT_USER/Software/Wine/Drivers“ eine Zeichenkette/string mit Namen „Audio“ mit dem Wert „alsa“ anzulegen. Scheint mit pulseaudio nicht klarzukommen. Konnte nirgends was finden, dass sonst noch jemand damit Probleme hatte. Unter der Beta ging der Diablosound auch wunderbar mit wine…

compiz gtk-window-decorator stirbt und hinterlässt rahmenlose Fenster

Nach einem Update auf Ubuntu 11.10 (Oneiric Ocelot) und Unity hatte ich ständig Probleme mit den Fenstern und im syslog stand:
<blockquote>Dec 13 23:53:35 hostname kernel: [  664.336456] gtk-window-deco[2999]: segfault at 118 ip 000000000040fc50 sp 00007fff65c607d0 error 4 in gtk-window-decorator[400000+1c000]</blockquote>

Nach kurzem googeln bin ich in einem Bugreport auf die Lösung gestoßen:
In den „CompizConfig Einstellungs-Manager“ bei der Fensterdekoration statt
/usr/bin/compiz-decorator --replace“ zu „/usr/bin/compiz-decorator“ ändern und schon gibt es kein segfault mehr.
Ich geh davon aus, dass das hauptsächlich bei Leuten auftaucht, die von älteren Versionen auf die 11.04 wechseln wo nur noch Unity eingesetzt wird.

Skype mit Creative Live! Cam zum laufen bringen unter Ubuntu

Seit längerem (>Ubuntu 8.10?) scheint man den Hack „ov51x-jpeg“ nicht mehr zu brauchen, weil ein funktionierender Treiber im Kernel integriert ist. Damals als der Treiber noch nicht funktionstüchtig integriert war musste man das machen.

Mein aktueller Kernel bei Ubuntu 11.04 (Natty):

<blockquote>uname -a
Linux x 2.6.38-10-generic #46-Ubuntu SMP Tue Jun 28 15:07:17 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
+ Skype 2.2 Beta</blockquote>

Steckt man die Cam ein wird wie gewollt der Treiber „gspca_ov519“ geladen. Anscheinend gehen alle Programme außer Skype, das nur ein schwarzes Bild anzeigt, wenn man es unter Optionen testen möchte oder „skyped“.

Die Lösung ist im Endeffekt ziemlich einfach, musste aber dennoch ein wenig suchen um auf die Lösung zu kommen (Das Paket „libv4l1“ muss dafür installiert sein):
32bit: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
64bit: LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype

Den jeweiligen Befehl auf der Konsole ausführen und es läuft :). Alternativ kann man sich ein Shellskript schreiben damit man das nicht immer wieder von Hand eingeben muss.
In meinem Fall bei 64bit:


<blockquote>sudo su
echo '#!/bin/bash' > /usr/bin/skype.sh; echo "LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype" >> /usr/bin/skype.sh
chmod +x /usr/bin/skype.sh</blockquote>

Dann beim Skype Starter statt „skype“ den Pfad zum Skript angeben und man kann bequem auf den Button drücken und Skype startet voll funktionstüchtig ohne jedesmal auf die Konsole gehen zu müssen.

windows 7 mit truecrypt und linux (ubuntu) mit dm-crypt als multiboot

Voraussetzungen:

  • Ubuntu 11.04 mit dm-crypt via alternate cd installiert
  • Windows 7 (noch unverschlüsselt)
  • grub2 (scheint ein core.img mitzuschreiben was teile des TrueCrypt booloaders überschreibt?) wurde mit der Ubuntu Installation in den mbr geschrieben
  • auf einer Festplatte

Da ich im Internet was davon gelesen habe, dass man mit grub den TrueCrypt mbr starten kann und so sein TrueCrypt verschlüsseltes Windows 7 zum starten bekommt ging ich daran das auch so zu machen. Also unter Windows TrueCrypt gestartet und so getan, als ob Windows das einzige Betriebssystem auf der Platte sei und die Systemverschlüsselung gestartet. Wenn man auswählt, dass Windows das einzige Betriebssystem auf der Platte ist wird der TrueCrypt Bootloader in den mbr geschrieben. Man sollte natürlich nur die Partition verschlüsseln lassen wo Windows installiert ist.

Mit einer Live-CD habe ich dann mit einer chroot Umgebung den grub mbr wiederhergestellt und so einen ähnlichen Eintrag ins grub2 custom Menü geschrieben:

# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 7" {
insmod chain
set root=(hd0,3)
parttool (hd0,3) boot+
chainloader (hd0,1)/truecrypt.mbr
}

Danach kam nur der Fehler „TrueCrypt Boot Loader Load damaged! Use Rescue Disk: Repair > Options > Restore Truecrypt Boot Loader.“.
Glücklicherweise habe ich hier eine einfache Lösung gefunden. Im Endeffekt muss man mit der Rescue CD den TrueCrypt Bootloader wiederherstellen und mit einer Live-CD den grub2 mbr in die Partition von deinem Linux oder der Bootpartition schreiben (das ganze musste man mit grub-install –force /dev/sdxX machen und es kam eine Fehlermeldung/Warnung dabei aber es hat trotzdem geklappt). Wenn man jetzt bei dem Truecrypt Bootloader auf ESC drückt wird der nächste Booloader auf den nachfolgenden Partitionen gesucht. Und so hat es auch bei mir geklappt ein komplett verschlüsseltes Notebook mit Ubuntu und Windows 7 zu haben 🙂 ( ok, die Bootpartitionen natürlich nicht 😉 )

upstart und das chroot

Wenn ihr mal aus irgendwelchen Gründen in einem chroot die Fehlermeldung

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

bekommen solltest und sich ein Paket weigert zu installieren hilft folgendes:

$dpkg-divert --local --rename --add /sbin/initctl
Adding 'local diversion of /sbin/initctl to /sbin/initctl.distrib'
$ln -s /bin/true /sbin/initctl

apt-proxy => angetestet!

Wer mehrere Rechner mit der gleichen debianbasierenden Linuxdistribution zu Hause stehen hat und einen Server rumstehen hat der sowieso immer online ist lohnt sich es einen Blick auf apt-proxy zu werfen.
Apt-proxy speichert die .deb Pakete, die von einem Client über den apt-proxy Proxy herunterlädt.

Bei apt-proxy muss man bei /etc/apt-proxy/apt-proxy.conf nicht sonderlich viel ändern. Meinereiner änderte folgenden Punkt:

;; Server IP to listen on
address = 192.168.2.1

Sonst ist’s auch nach außen hin und nicht nur im lokalen Netzwerk verfügbar.
Wichtig ist noch, dass man den Konfigurationspunkt

;; Add HTTP backends dynamicaly if not already defined? (default=on)
dynamic_backends = on

aktiviert.

Dann auf den jeweiligen Rechnern in /etc/apt/sources.list die Adressen mit der vom Server austauschen. Ein solcher Eintrag schaut dann so aus:

deb http://192.168.2.1:9999/ubuntu/ lucid main restricted

Wenn bei einem Client nun ein Update durchgeführt wird werden die Updates auf dem Server gespeichert und bei einem weiteren Update eines anderen Clients werden die Pakete die schon auf dem lokalen Server vorhanden sind mit Netzwerkgeschwindigkeit ausgeliefert. Yeaha!