Amarok stürzt ab wegen falscher Xine-Version

Da ich das Berkano-Overlay nutze, ist bei mir momentan das Paket media-libs/xine-lib in der Version 1.2.9999_p247 installiert. Das verträgt sich leider nicht mit phonon (media-sound/phonon). D.h. bei der Installation von phonon wird trotz xine-USE-Flag das xine-Backend nicht installiert. Das ist die Fehlermeldung beim emergen von phonon:

— The following OPTIONAL packages could NOT be located on your system.
— Consider installing them to enable more features from this software.
+ Xine: xine-lib v1.1.90 was found on your system. This version contains major changes compared to 1.1.x and has not been tested properly for use with this backend. Consider downgrading to version 1.1.9.
+ Xine: libxine is needed to compile phonon xine backend

Leider bricht der Kompiliervorgang hier nicht ab. Es wird einfach ohne das Xine-Backend weiter gemacht. Leider braucht aber u.a. Amarok genau dieses.

Meine (zugegebenermaßen unbefriedigende) Lösung ist das Maskieren der neuen Xine-lib-Versionen in /etc/portage/package.mask/monolithic

=media-libs/xine-lib-1.2.9999_p235
=media-libs/xine-lib-1.2.9999_p240
=media-libs/xine-lib-1.2.9999_p247

Danach sollte ein emerge xine-lib erfolgen, um wieder die alte Version zu installieren. Anschließend kann man wieder phonon installieren mit emerge phonon

Jetzt sollte auch Amarok wieder laufen.

Miktex und Texlive unter Linux

Ebuild für MiKTeX Tools:

dev-tex/miktex-tools/miktex-tools-2.8_beta2.ebuild

EAPI=1

inherit cmake-utils

DESCRIPTION=“Miktex Tools for Unix“

MY_P=“miktex-2.8-beta-2″
S=“${WORKDIR}/${MY_P}“

HOMEPAGE=“http://miktex.org/unx/“
SRC_URI=“http://ctan.osmirror.nl/systems/win32/miktex/source/${MY_P}.tar.bz2″

LICENSE=“GPL-2″
SLOT=“0″

KEYWORDS=“~x86 ~amd64″
IUSE=““

COMMON_DEPEND=“x11-libs/qt:4″

RDEPEND=“${COMMON_DEPEND}“

DEPEND=“${COMMON_DEPEND}“

src_unpack() {
unpack ${A}
cd „${S}“
epatch „${FILESDIR}/qvariant.patch“
}

Es ist noch ein Patch notwendig. Erstellt habe ich ihn mittels:

diff -u Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp.bak Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp > qvariant.patch

dev-tex/miktex-tools/files/qvariant.patch (Funktioniert so nicht, es müssen die Leerzeichen an den Zeilenanfängen durch Tabs ersetzt werden)

— Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp.bak 2008-09-09 15:40:42.000000000 +0200
+++ Programs/MiKTeX/PackageManager/Qt/PackageTableModel.cpp 2009-03-23 14:02:02.000000000 +0100
@@ -97,7 +97,7 @@
true)
.c_str());
case 2:
– return (packageInfo.GetSize());
+ return (uint)(packageInfo.GetSize());
case 3:
return (QDateTime::fromTime_t(packageInfo.timePackaged).date());
case 4:

miktex-tools kann nun installiert werden (vorher sollte noch mpm (alte Version) deinstalliert werden):

emerge –unmerge dev-tex/mpm

MAKEOPTS=“-j1″ emerge miktex-tools

Das -j1 ist wichtig, da paralleles Make hier nicht funktioniert.
Anschließend speichert mpm die Latex-Pakete als normaler Benutzer in dem Verzeichnis ~/miktex-texmf ab.
Damit TeXLive sie auch findet, kann man einfach

rm ~/texmf
ln -s ~/miktex-texmf ~/texmf

ausführen. Pakete, die vom Miktex Packet Manager (z.B. mittels mpm_qt) installiert werden, werden nun (nach evtl erst nach texhash) auch von TexLive gefunden.

Pfade anzeigen lassen:
kpsewhich -expand-path „\$TEXMFHOME“
kpsewhich -show-path=tex

Konfigurationsdatei für texlive:
/etc/texmf/web2c/texmf.cnf

Virtualbox ab 2.1.0 mit Netzwerkkarte im Hostinterface-Modus

Um unter Gentoo als VirtualBox Host-System die Netzwerkkarte im Host-Modus zu betreiben, muss man einfach nur das Modul vboxnetflt laden mittels

modprobe vboxnetflt

Damit dies automatisch bei jedem Neustart passiert, ist Folgendes in die Datei /etc/conf.d/modules einzufügen:

modules_2_6=“${modules_2_6} vboxnetflt“ module_vboxnetflt_args_2_6=““

Anschließend ändert man die Virtuelle Maschine in Virtualbox so ab, dass sie die Netzwerkkarte des Host-PCs nutzt:

WLAN und WPA mit WPA_supplicant

Mein neuer WLAN-USB-Stick, ein Digitus DN-7003GT erzeugt mit lsusb folgende Ausgabe:

Bus 002 Device 003: ID 0bda:8189 Realtek Semiconductor Corp

Seit Kernel 2.6.27 funktioniert dieser Adapter tadellos mit dem Kernel-Modul RTL8187.

Das Programm iwconfig aus dem Paket net-wireless/wireless-tools listet den Stick unter dem Namen wlan0 auf.

Damit dieser sich auch mit einem WPA-Verschlüsselten Netzwerk verbinden kann sind folgende Schritte nötig:

Zunächst einmal muss das Paket net-wireless/wpa_supplicant installiert werden.

Anschließend wird die Datei /etc/conf.d/net.wlan0 mit folgendem Inhalt erstellt:

# wlan0 abschalten, wenn eine Netzwerkkabelverbindung gefunden wurde
# von http://www.gentoo-wiki.info/Wireless/Configuration#WPA
preup() {
if [[ ${IFACE} == „wlan0“ ]]; then
if ifplugstatus | grep -q ‚eth0: link beat detected‘; then
ewarn „Wired connection on eth0 detected, aborting configuration on ${IFACE}“
return 1
fi
fi
return 0
}

modules=( „wpa_supplicant“ )
wpa_supplicant_wlan0=“-D wext -c /etc/wpa_supplicant/wpa_supplicant.conf“


Zunächst Außerdem wird mit dem Befehl

ln -s /etc/init.d/net.lo /etc/init.d/net.wlan0

ein Init-Skript erzeugt.

Die Konfigurationsdatei für wpa_supplicant liegt unter /etc/wpa_supplicant/wpa_supplicant.conf

Sie erhält folgenden Inhalt:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=users
update_config=1

network={
ssid=“WPA-AP“
psk=“DAS_WPA_PASSWORT“
priority=5
}

network={
ssid=“WEP-AP“
key_mgmt=NONE
wep_key0=11111111111111111111111111
wep_tx_keyidx=0
priority=5
# auth_alg=SHARED
}

Nun sollte sich der WLAN-Stick mittels

/etc/init.d/net.wlan0 start

mit dem konfigurierten Netzwerk verbinden können.

Netzwerk: WLAN nur aktivieren, wenn kein Netzwerkkabel eingesteckt ist

Um seine WLAN-Karte (oder WLAN-USB-Stick) nur zu aktivieren, wenn gerade kein Netzwerkkabel eingesteckt ist, kann man folgende Schritte ausführen.

(Annahme: die WLAN-Karte firmiert unter dem Namen wlan0)

Inhalt der Datei /etc/conf.d/net.eth0

# wlan0 einschalten, wenn das Netzwerkkabel nicht eingesteckt wurde
preup() {
if ethtool „${IFACE}“ | grep -q ‚Link detected: no‘; then
ewarn „No link on ${IFACE}, aborting configuration“
/etc/init.d/net.wlan0 start
fi
return 0
}

#config_eth0=( „dhcp“ )
config_eth0=( „192.168.0.10/24“ )
routes_eth0=(
„default via 192.168.0.1“ # IPv4 default route
)

Für den Inhalt der Datei /etc/conf.d/net.wlan0 siehe vorherigen Post.

Danach sollte man das Paket sys-apps/ifplugd installieren. Es ermöglicht es festzustellen, ob an der Netzwerkkarte ein Kabel angeschlossen ist und reagiert automatisch auf Veränderungen des Zustands.

Anschließend sollte man die Datei /etc/ifplugd/ifplugd.action dahingehend abändern, dass beim Entfernen des Netzwerkkabels automatisch das wlan0-Interface gestartet wird und entsprechend beim Einstecken des Netzwerkkabels wieder gestoppt wird.

Ausschnitt aus der Datei /etc/ifplugd/ifplugd.action (siehe dazu auch das gentoo-wiki.info)

case „$2“ in
up)
if [ „${INITNG}“ = „yes“ ]
then
ARGS=“-u net/$1″
else
ARGS=“–quiet start“
#wenn ein Netzwerkkabel eingesteckt wurde, soll wlan0 gestoppt werden
/etc/init.d/net.wlan0 –quiet stop
fi
;;
down)
if [ „${INITNG}“ = „yes“ ]
then
ARGS=“-d net/$1″
else
ARGS=“–quiet stop“
#wenn das Netzwerkkabel gezogen wurde, soll wlan0 gestartet werden
/etc/init.d/net.wlan0 –quiet start
fi
;;
*)
echo „$0: wrong arguments“ >&2
echo „Call with “ >&2
exit 1
;;
esac

Um zu verhindern, dass wlan0 automatisch beim Hochfahren gestartet wird, kann man in der Datei /etc/rc.conf die Zeile

rc_plug_services=“!net.wlan0″

einfügen.

System Stresstest

Um seinen Rechner mal testweise unter Volllast laufen zu lassen, bietet sich stress an (im Paket app-benchmarks/stress).

Beispielsweise sorgt der folgende Befehl dafür, dass die CPU mit 8 Threads und der Arbeitsspeicher und die Festplatte für 5 Minuten voll ausgelastet werden:

stress –cpu 8 –io 4 –vm 2 -hdd 1 –timeout 300s

Damit lässt sich prüfen, ob die Kühlung im Rechner ausreichend ist.

Veröffentlicht am
Kategorisiert in Gentoo, Linux

Plasmoids in kde4.1

Ich habe von kde-look.org die Quellen von verschiedenen Plasmoids runtergeladen.
Kompiliert habe ich sie wie folg:

cmake -G „Unix Makefiles“
make

Leider klappt aber das Installieren mittels sudo make install nicht, da die Dateien in die falschen Verzeichnisse kopiert werden.
Am einfachsten legt man sich symbolische Links an, damit sowohl die kompilierten Plasma .so-Dateien als auch die zugehörigen .desktop-Dateien an eine Stelle kopiert werden, wo Plasma sie auch findet.

ln -sf /usr/lib/kde4/ /usr/local/lib/kde4/
ln -sf /usr/share/kde4/services/ /usr/local/share/kde4/services

Man sollte natürlich vorher prüfen, ob die Verzeichnisse unter /usr/local auch leer sind.

emerge-Zeit mehrerer Pakete bestimmen

Um die Zeit grob abzuschätzen, wie lange ein bestimmter emerge-Vorgang dauern wird, kann man folgendes benutzen:

emerge -p @kdebase-4.1 | genlop -p

Veröffentlicht am
Kategorisiert in Gentoo, Linux

Festplatten fsck-Intervall ändern

Das Intervall, mit der Linux die Festplatten einer fsck-Operation unterzieht lässt sich leicht mit dem Befehl tune2fs beeinflussen.
Z.B. führt folgender Befehl dazu, dass die Partition /dev/sda1 entweder nach 100 Mount-Vorgängen oder nach 80 Tagen untersucht wird:

tune2fs -c 100 -i 80 /dev/sda1

Veröffentlicht am
Kategorisiert in Gentoo, Linux

On-Board-Netzwerkkarte Realtek 8111/8168

UPDATE:
Mit Kernel 2.6.27 läuft der Netzwerkchip auch mit dem Modul r8169.
Bei einem Mainboardtausch reicht es also aus, die Datei
/etc/udev/rules.d/70-persistent-net.rules
zu säubern oder ganz zu löschen. Das Kernel-Modul sollte den Chip voll unterstützen.

Untenstehendes ist also überholt!

==============================================================

Mein neues Mainboard hat einen neuen Netzwerk-Chip namens Realtek 81111C. Der Treiber dafür entspricht wohl dem des Realtek 8168.
Dafür gibt es einen Linux-Treiber von Realtek.
Treiber runterladen

wget ftp://152.104.238.19/cn/nic/r8168-8.009.00.tar.bz2

und mit

make clean modules

kompilieren. Anschließend kann das Modul mit

make install

installiert werden.

Es kann sein, dass das im Kernel vorhandene Modul r8169 versucht, sich die Netzwerkkarte fälschlicherweise unter den Nagel zu reißen. Dies wird mit der Zeile

blacklist r8169

in der Datei

/etc/modprobe.d/blacklist

verhindert.

Unter Gentoo sollte man nun noch (nachdem das neue Kernel-Modul r8168 installiert wurde) einmal

update-modules

ausführen. Dies sorgt dafür, dass es von modprobe gefunden wird.
Anschließend wird das Modul mit

modprobe r8168

geladen.
Falls es nun statt wie erwartet unter eth1 statt eth0 firmiert, kann man die Datei
/etc/udev/rules.d/70-persistent-net.rules säubern (oder komplett löschen).

Nun sollte sich das Netzwerk mit

ifconfig eth0 up

aktivieren lassen. Bei Bedarf kann man noch mit

dhclient eth0

eine IP-Adresse per DHCP beziehen.