Freitag, 30. April 2010

Ubuntu 10.04 Lucid Lynx 64bit für Asus 1005PE (1008P)

Ähnlich wie unter 9.10 lief die Installation von Ubuntu auf dem Asus Eee PC 1005PE problemlos. Das frühere Probleme mit der W-LAN Verbindung, die im Ubuntu Wiki zurecht als "works out of the box, but connection is flaky" beschrieben wurde, sind nun behoben.
Bleibt noch das seltsame Verhalten der Helligkeitssteuerung und das nicht funktionierende Mikrofon.

Öffne die /etc/apt/sources.list mit einem Texteditor und ersetze
# deb http://archive.canonical.com/ubuntu lucid partner
# deb-src http://archive.canonical.com/ubuntu lucid partner
durch
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner

Backlight fix

Öffne die /etc/defaults/grub
vim /etc/defaults/grub
Suche nach GRUB_CMDLINE_LINUX_DEFAULT und ergänze die Optionen um "acpi_osi=Linux"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"
Aktualisierung der /boot/grub.conf via
sudo update-grub2

Mikrofon für Skype

Installation der ALSA-Backports und pavucontrol
sudo su
apt-get update
apt-get install linux-backports-modules-alsa-lucid-generic pavucontrol
pavucontrol
Im "Volume Control" pavucontrol kann das [Input Device] "Internal Audio Analog Stereo" konfiguriert werden. Dazu sollten die Channels nicht gelockt sein. Front Left = 90%, Front Right = 10%. In den Skype Einstellungen sollte das Mixer Ajustment ausgeschaltet werden (Sound Devices), da ansonsten diese Einstellung überschrieben wird.

Neustart

Den nun anstehenden Neustart nutzen wir, indem wir die Xorg.conf generieren. Mit "[Strg] + [Alt] + [F1]" zur Konsole wechseln, einloggen und ins Runlevel 1 wechseln.
sudo init 1
"Drop to a root shell" (Netzwerk wird nicht gebraucht)
Xorg -configure
cp /root/Xorg.conf.new /etc/X11/xorg.conf
reboot

Referenzen

Freitag, 23. April 2010

sshfs Mounts via Samba im LAN freigeben

Wer häufig mit verschiedenen Clients an verschiedenen Remote-Servern arbeitet, verbringt oft einen nicht unerheblichen Teil seiner Zeit mit dem herstellen von Verbindungen.

Im Vorteil ist wer einen Homeserver sein Eigen nennt. Eine Kombination aus SSHFS und Samba erlaubt es die Verzeichnisse von den Webservern via SFTP zu mounten und sie anschließend im lokale Netzwerk zugänglich zu machen.

Die folgenden Schritte sind dazu auf einem Debian 5 Lenny 64bit nötig. Für den Umweltbewussten User schöner ist sicherlich den DSL-Router, der ohnehin dauerhaft läuft, für dieses Vorhaben zu zweckentfremden. (siehe DD-WRTOpenWRT ...)

su root
apt-get update
apt-get install samba sshfs ssh

mv /etc/samba/smb.conf /etc/samba/smb.conf.ori
touch /etc/samba/smb.conf

Diee leere /etc/samba/smb.conf bearbeiten:

[global]
        # Browsing / Identification
        netbios name = NAS
        server string = smb.NAS
        workgroup = mydomain

        # Auth
        security = user
        encrypt passwords = true
        map to guest = bad user
        guest account = nobody

        passdb backend = tdbsam
        obey pam restrictions = yes
        invalid users = root

        dos charset = 1255
        unix charset = UTF-8
        display charset = UTF-8
        unix extensions = yes

        # Symlink
        follow symlinks = yes
        wide symlinks = yes
        unix extensions = no

Um die Verzeichnisse auf dem Webserver automatisch (ohne Passworteingabe) via SFTP mounten zu können, muss falls noch nicht vorhanden ein öffentlicher RSA Schlüssel generiert und auf den Server übertragen werden.


# Generiere RSA-Key mit 4096 bit Länge
ssh-keygen -t rsa -b 4096

# Public-Key übertragen 
ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote-system

Nun sollten der Public-Key (id_rsa.pub) und der Private-Key (id_rsa) im NAS-Verzeichnis ~/.ssh/
liegen. Der Public-Key wurde der Datei ~/.ssh/authorized_keys auf dem Remote-System angefügt.


mkdir -p /media/sshfs/server1_htdocs

Nachdem leere Verzeichnisse als Mountpoints für sshfs erstellt wurden, muss ein Eintrag in die /etc/fstab gemacht werden. Wichtig hierbei ist die Option "allow_other", die es Samba erlaubt den sshfs mount zu verwenden:


sshfs#root@remote-system:/var/www /media/sshfs/server1_htdocs fuse user,allow_other 0 0

Zum Schluss wird /media/sshfs in der /etc/samba/smb.conf als Share eingerichtet:


[SSHFS]
 path = /media/sshfs/
 writeable = yes
 guest ok = no

Das Rechte Management erfordert ein wenig Geschick mit Samba. Vorallem empfielt sich "force create mode" und "force directory mask" in der Samba-Konfiguration zu verwenden, um kein Sicherheitsproblem auf dem Webserver zu verursachen. Das wird an dieser Stelle allerdings zu speziell und findet sicher bald in einem eigenen Blogpost Platz.

Freitag, 16. April 2010

Debian/Ubuntu lighthttpd + php5 + mysql quickdone

Dieses Bash Script installiert lighttpd mit PHP 5, MySQL-Server (und phpMyAdmin) auf einem Debian 5 Lenny. Die Configs funktionieren auch unter anderen Distributionen, wo jedoch die Pakete auf andere Weise installiert werden müssen.
#!/bin/bash
apt-get install php5 php5-mysql php5-gd php5-mcrypt php5-cgi lighttpd mysql-server

# Append php to lighttpd
echo 'fastcgi.server = ( ".php" => ((
                     "bin-path" => "/usr/bin/php5-cgi",
                     "socket" => "/tmp/php.socket"
                 )))' >> /etc/lighttpd/lighttpd.conf

# Append cgi.fix_pathinfo = 1 to php.ini
echo "cgi.fix_pathinfo = 1" >> /etc/php5/cgi/php.ini

# uncomment mod_rewirte and add mod_fastcgi
mv /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.ori
cat /etc/lighttpd/lighttpd.conf.ori | sed s/'#           "mod_rewrite",'/'\t"mod_rewrite",\n\t"mod_fastcgi",'/g > /etc/lighttpd/lighttpd.conf

/etc/init.d/lighttpd restart

echo "" >> /var/www/phpinfo.php
w3m 127.0.0.1/phpinfo.php

Wenn die phpinfo.php geladen werden kann, läuft lighthttpd mit PHP-CGI und MySQL.

Edit/Optional: phpMyAdmin
cd /var/www/
wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.2/phpMyAdmin-3.3.2-all-languages.tar.bz2
tar -xjvf phpMyAdmin-3.3.2-all-languages.tar.bz2
mv phpMyAdmin-3.3.2-all-languages phpMyAdmin

Donnerstag, 15. April 2010

Fehlende GPG Public Keys hinzufügen

Wenn apt-get update fehlende Public Keys meldet müssen diese heruntergeladen und installiert werden
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't
be verified because the public key is not available: NO_PUBKEY C375BFBD1462175F
Die letzten 8 Stellen des fehlenden Public Keys kopieren und folgende Befehle als root ausführen
root@ubuntu:/tmp# gpg --keyserver keyserver.ubuntu.com --recv 1462175F
gpg: requesting key 1462175F from hkp server keyserver.ubuntu.com
gpg: key 1462175F: public key "Launchpad aaporantalainen" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
root@ubuntu:/tmp# gpg --export --armor 1462175F | sudo apt-key add -
OK

Netbooks lesen wie ein Buch

Ein interessanter Anwendungszweck für Netbooks ist sie zum Lesen von ebooks zu verwenden. Sie bieten dank der geringen Leistungsaufnahme durchaus die Möglichkeit zu langen Lesevergnügen. Unpraktisch ist nur die Widescreen Auflösung von 1024x600. Viel angenehmer ist das Lesen hochkant, wozu der Bildschirm um 90° gedreht werden und die XY-Koordinaten des des Touchpads vertauscht werden müssen, da es ansonsten relativ anstrengend ist den Mauszeiger in die Richtung zu bewegen, die man beabsichtigt.

Installation unter Ubuntu > 9.10

* Update: funktioniert unter 10.04 Lucid Lynx
sudo add-apt-repository ppa:aapo-rantalainen/aapo-rantalanien
sudo apt-get update
sudo apt-get install xserver-xorg-input-synaptics
Anmerkung: Synclient ließ sich erst installieren und nutzen, nachdem eine xorg.conf generiert wurde und gpg Keys des Repositorys hinzugefügt wurden. Zunächst der Key:
root@ubuntu:/root# gpg --keyserver keyserver.ubuntu.com --recv 1462175F
gpg: requesting key 1462175F from hkp server keyserver.ubuntu.com
gpg: key 1462175F: public key "Launchpad aaporantalainen" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
root@ebuntu:/root# gpg --export --armor 1462175F | sudo apt-key add -
OK
Um die xorg.conf zu generieren muss Xorg -configure ausgeführt werden. Der X-Server muss zunächst beendet werden. Ein Wechsel auf die Kolsole und von dort in den Single Mode hilft. [Strg] + [Alt] + [F1] drücken und einloggen:
init 1
# "Root Shell" ohne Netzwerk
Xorg -configure
cp /root/xorg.conf.new /etc/X11/xorg.conf
reboot

Benutzung über die Shell

# Bildschirm drehen
xrandr --orientation left

# Touchpad drehen
synclient Orientation=1

Erstelle /usr/bin/bookmode und öffne die Datei mit einem Texteditor

touch /usr/bin/bookmode
chmod a+x /usr/bin/bookmode
vim /usr/bin/bookmode
Füge folgenden Inhalt ein
#!/bin/bash
if [ -f /tmp/.bookmode ]; then
synclient Orientation=0
xrandr --orientation normal
rm /tmp/.bookmode
else
synclient Orientation=1
xrandr --orientation left
touch /tmp/.bookmode
fi
Unter "System" > "Einstellungen" > "Tastaturabkürzungen" kann ein Shortcut für "/usr/bin/bookmode" hinzugefügt werden. Auf meinem ASUS 1005PE habe ich mich für Fn+F9 entschieden.

Referenzen