Falsch verknüpfte Standard-Applikation für Verzeichnisse

Spätestens wenn ein Fehler das zweite Mal auftritt, wird es Zeit die Lösung zu dokumentieren. In diesem Fall gilt das um so mehr, weil ich über eine Stunde gebraucht habe um mich an die Lösung zu erinnern bzw. diese im Netz wiederzufinden. Aber genug der Vorrede:

Wenn aus unerfindlichen Gründen beim öffnen einer Datei oder eines Verzeichnisses unter einem Linux Desktop nicht das erwartete Programm startet, kann das an verbogenen Verknüpfungen liegen. In meinem Fall sollte mit dem Einlegen eines USB-Sticks eigentlich der Dateimanager Nautilus geöffnet werden. Um zu analysieren was im Hintergrund passiert helfen die xdg-utils.

$ xdg-mime query filetype ~
inode/directory

$ xdg-mime query default inode/directory
nautilus-folder-handler.desktop

Eigentlich sieht das Ergebnis logisch aus, aber Kontrolle ist ja bekanntlich besser.

$ sudo find / -name "nautilus*.desktop"
/etc/xdg/autostart/nautilus-autostart.desktop
/usr/share/applications/nautilus.desktop
/usr/share/applications/nautilus-connect-server.desktop
/usr/share/applications/nautilus-autorun-software.desktop

Also muss bei mir wohl die Datei nautilus-folder-handler.desktop abhanden gekommen sein. Der Eintrag lässt sich einfach wieder korrigieren.

$ xdg-mime default nautilus.desktop inode/directory

Und siehe da es funktioniert wieder. Die Einträge werden lokal für den Benutzer eingerichtet und in der Datei ~/.local/share/applications/mimeapps.list gespeichert. Ein Blick in die Datei kann daher auch nicht schaden.

DD-WRT auf dem Linksys E4200 v1 von Cisco

Nun ist dann auch mein aktueller WLAN-Router dran, nachdem ich jetzt für ein Fallback meinen alten Linksys WRT54G reanimiert habe. Da ich mit der Firmware des DD-WRT Projektes nun so gute Erfahrungen gemacht habe, lag es für mich nahe die Firmware auch gleich auf meinen Cisco Linksys E4200 v1 zu bringen. Hierbei sind aber ein paar Stolperfallen zu berücksichtigen, um anschließend auch das 5GHz-Band benutzen zu können.

Bei der Suche des Routers in der Datenbank des DD-WRT Projektes wird zur Zeit nur ein minimales Image DD-WRT v24 (04/21/11) min (SVN revision 16785) für den Wechsel von der Original Firmware auf die DD-WRT Firmware angeboten, weitere Images findet man nach etwas Recherche, aber für den ersten Schritt ist dieses Image ausreichend. Das Flashen dieser Firmware kann gemäß Anleitung erfolgen. Leichtsinnig wie ich bin, habe ich auf den Part "Hard reset or 30/30/30" verzichtet, Nachahmung auf eigene Gefahr. Einziges aber nicht unlösbares Problem dabei, ich hätte die DSL Verbindungsparameter vorher notieren sollen, das hätte einiges Suchen erspart.

Nach (hoffentlich) erfolgreichem reboot findet man unter Downloads › others › eko › BrainSlayer-V24-preSP2 › 2012 › 07-20-12-r19519 eine aktueller Firmware. Ich habe hierbei bewusst Versionen mit der Kennzeichnung "testing" ignoriert. Im diesem Verzeichnis sind Unterverzeichnisse für die verschiedenen unterstützten Router aufgeführt. Der Linksys E4200 zwar nicht explizit gelistet, da dieser aber mit einem Broadcom Chip ausgestattet ist, findet man die entsprechende Firmware im Verzeichnis broadcom_K26. Meine Wahl fiel auf das Image dd-wrt.v24-19519_NEWD-2_K2.6_big-nv60k.bin (Wichtig: Die Warnung des Wikis bzgl. NVRAM 60k berücksichtigen!)

So weit alles in Ordnung, nur WLAN im 5GHz-Band will nicht mit den automatischen Einstellungen funktionieren. Längeres suchen gibt im xda developers forum aber den Hinweis, das es grundsätzlich funktionieren sollte. Tut es auch, nach dem man manuell einen Kanal ausgewählt hat (siehe Screenshot).

Screenshot der DD-WRT WLAN Einstellungen

Damit stehen mir nun zwei Router für flexible Konfigurationen im Heimnetz zur Verfügung. Der nächste Beitrag ist in Arbeit.

Wiederbelebung eines Linksys WRT54G v2.2

Weihnachten ... Zeit der Besinnlichkeit ... Zeit zum basteln. Da war doch noch ein Linksys WRT54G v2.2 nebst SD Card Mod im Schrank. Also Gerät aus dem Schuhkarton genommen, angeschlossen und frisch ans Werk. Die Status-Seite läd und meldet die Version Backfire 10.03. Da gibt es doch bestimmt Updates. Eingeloggt per SSH und System aktualisiert gemäß Anleitung.

cd /tmp/
wget http://downloads.openwrt.org/backfire/10.03.1/brcm47xx/openwrt-brcm47xx-squashfs.trx # The file must be the trx file.
sysupgrade /tmp/openwrt-brcm47xx-squashfs.trx

Das Update auf Backfire 10.03.1 funktioniert reibungslos, dann direkt mal Attitude Adjustment 12.09-rc1 testen.

Daumen drücken. Hat geklappt ... fast ... mehr als die Startseite wird aber nicht angezeigt. - Mist - Downgrade ... hängt ... Power-LED blinkt ... gebrickt?

Hilfe naht: Recover From A Bad Flash. Schnell noch die Linksys Orginal Firmware runterladen und dann:

atftp --option "mode octet" --option "timeout 60"--verbose -p -l code.bin 192.168.1.1

Hurra, er lebt wieder.

Aus Dank an das DD-WRT Wiki gleich noch die aktuelle Firmware DD-WRT v24-sp2 (10/10/09) std (SVN revision 13064) flashen. Überraschung ... die kann ja viel mehr.

Screenshot DD-WRT Status Seite

DD-WRT Status Seite

Gentoo amd64 quick install

Wer häufiger virtuelle Maschinen mit Gentoo aufsetzt kennt vielleicht das Problem. Alle existierenden Maschinen haben einen nicht brauchbaren Zustand für einen Klon und Snapshots hat man natürlich vergessen im richtigen Moment anzulegen. - Also doch wieder eine VM von Hand anlegen.

Um die Handgriffe möglichst gering zu halten (und mich daran zu erinnern) folgende Schritte. Bei Unsicherheiten aber lieber noch mal einen Blick ins Handbuch (amd64) werfen.

  • systemrescuecd booten (+ startx)
  • mit gparted die HD vorbereiten
  • download portage, snapshot
  • mount & chroot
  • do config

Vorbereitung


# partitioning
# gparted sda1 swap, sda2 btrfs

Strg+C, Strg+V:


# mount
swapon /dev/sda1
mount /dev/sda2 /mnt/gentoo
cp -L /etc/resolv.conf /mnt/gentoo/etc/
mount -t proc none /mnt/gentoo/proc
mount --rbind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash

2. Schritt: In der Chroot-Umgebung

# config
env-update
source /etc/profile
echo "Europe/Brussels" > /etc/timezone
cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
sed -i -e 's/hostname.*/hostname="mybox"/' /etc/conf.d/hostname
sed -i -e 's/keymap.*/keymap="de-latin1-nodeadkeys"/' /etc/conf.d/keymaps
cd /etc/init.d && ln -s net.lo net.eth0 && cd /
echo 'config_eth0="dhcp"' >> /etc/conf.d/net
echo 'sys-kernel/gentoo-sources symlink' >> /etc/portage/package.use
#nano /etc/fstab
#nano /etc/locale.gen
#nano /etc/portage/make.conf

-

# install
emerge --jobs=2 genkernel dhcpcd metalog vixie-cron grub:2 btrfs-progs
emerge gentoo-sources -av
rc-update add vixie-cron default
rc-update add metalog default
rc-update add sshd default
grub-install /dev/sda2
grub-mkconfig -o /boot/grub2/grub.cfg
passwd

-


exit
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -l /mnt/gentoo{/proc,/boot,}
reboot

Test

FLOW3 rewriting rules for lighttpd

Do you want to get FLOW3 working with rewriting under lighttpd?
Give the following lines a try:

url.rewrite-once = (
    "^/(_Resources/Packages/|robots\.txt|favicon\.ico)" => "$0",
    "^/(_Resources/Persistent/[a-z0-9]+/(.+/)?[a-f0-9]{40})/.+(\..+)" => "$1$3",
    "^/(_Resources/Persistent/.{40})/.+(\..+)" => "$1$2",
    "^/_Resources/.*" => "$0",
    "^/(.*)" => "index.php/$1"
)
url.redirect = ( "/index.php/(.*)" => "/$1" )

TYPO3 packages for gentoo

Added recent TYPO3 (4.1, 4.2, 4.3, 4.4) ebuilds to my overlay at http://github.com/ndt/ogo-ndt. To make use of these ebuilds just follow the next steps and make sure you have layman installed with the git USE-flag.

Add a line with "http://github.com/ndt/ogo-ndt/raw/master/repository.xml" to the option "overlays" in /etc/layman/layman.cfg.

--- layman.cfg.old      2010-08-27 13:43:42.000000000 +0200
+++ layman.cfg.new      2010-08-27 13:43:19.000000000 +0200
@@ -32,6 +32,7 @@
 #            file:///var/lib/layman/my-list.xml

 overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
+            http://github.com/ndt/ogo-ndt/raw/master/repository.xml

 #-----------------------------------------------------------
 # Proxy support

Now add the overlay and you're ready to emerge TYPO3.

layman -a electro-nic

making of ... a couchapp ebuild

Is it that easy?

I searched for an ebuild of couchapp and didn't find anything that way. So I looked for some examples of python ebuilds and stumbled upon http://gentoo-overlays.zugaina.org/dberkholz/index.html.en. There I looked in some random packages and made a first draft.

# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit distutils

DESCRIPTION="Couchapp makes standalone CouchDB application development easy"
HOMEPAGE="http://github.com/couchapp/couchapp"
SRC_URI="http://github.com/downloads/couchapp/couchapp/Couchapp-${PV}.tar.gz"
LICENSE="Apache"
KEYWORDS="~amd64"
SLOT="0"
IUSE=""
DEPEND="dev-python/setuptools"

And it worked! No need to read the Gentoo Development Guide.

Thank's Gentoo.

Update: Now in a layman overlay at http://github.com/ndt/ogo-ndt

Wildcard Subdomains für den eifrigen Webentwickler

Kurz und knapp: Die hosts-Datei (Linux: /etc/hosts, Windows: %systemroot%/system32/drivers/etc/hosts) ist ein Relikt aus grauer Vorzeit. Wildcard-Domains sind ihr fremd und so bin ich nicht der erste, der darüber stolpert. Auch nach langer Recherche im Netz, wollte sich partout keine Lösung abzeichnen. Dabei kann man mit einem kleinen DNS-Server wie dnsmasq schnell und einfach das Problem lösen.

Zunächst das Ebuild installieren und die Konfiguration im Editor der Wahl öffnen.

$ emerge -av dnsmasq
$ nano /etc/dnsmasq.conf

Folgende Zeilen zur Konfiguration hinzufügen. Ein Beispiel sollte bereits vorhanden sein.

address=/localhost/127.0.0.1
address=/local/127.0.0.1
address=/meine-domain.xxx/127.0.0.1

Dienst starten nicht vergessen.

$ /etc/init.d/dnsmasq start

Die Datei /etc/resolv.conf sollte man noch anpassen, in dem man als ersten Eintrag den lokalen Rechner als Nameserver angibt.

domain local
search local
nameserver 127.0.0.1
nameserver 192.168.1.1

Glücklich schätzen kann sich jeder, der das direkt auf seinem Router einrichten kann. Für alle anderen gibt es hexxie.com oder smack-a-ho.st.

Links:

  1. Inspiriert durch eine Anleitung für Debian
  2. Blog-Post zum DNS-Dienst: hexxie.com
  3. Blog-Post zum DNS-Dienst: smack-a-ho.st