Debian Squeeze/Wheezy: Ruby für den User inkl. Octopress

Es ist leider nicht möglich in Debian Squeeze ruby in einer ordentlichen Form zu nutzen, ohne root als Benutzer zu der Installation von gems etc zu bewegen.
Leider müssen auch hier die Rechte dann in den Verzeichnissen richtig gesetzt werden, damit der normale Benutzer auch ruby und die gems nutzen kann. Mir ist
dies ein wenig zu viel Arbeit und somit ist es einfacher rvm und damit auch ruby im eigenen $HOME-Verzeichnis zu installieren und zu nutzen.

Weiterlesen

Android system read write mount

In dem Androidterminal, oder in der adb shell

$ su
# busybox mount -o rw,remount /system

Man sollte sich im Klaren sein was man dort macht. Vielleicht vorher mit den Kommandos adb pull und adb push zwecks Backup auseinandersetzen. Auf jeden Fall kann man damit ein wenig Platz schaffen ツ

Debian Squeeze: TTY Auflösung Schriftgröße

Damit man auf einem Laptop mit einem WideScreen bei dem booten nicht von einer übergroßen Schrift erschlagen wird sollte man sich GRUB2 annehmen.
Als erstes sollte man herausfinden, welche Auflösung der Monitor unterstützt ( sollte eigentlich bekannt sein  und welche Auflösung die Grafikkarte (Framebuffer) bietet:

root@takeshi:/home/seraphyn# hwinfo --framebuffer
 02: None 00.0: 11001 VESA Framebuffer
 [Created at bios.464]
 Unique ID: rdCR.VSBbdW2x3qC
 Hardware Class: framebuffer
 Model: "NVIDIA G86 Board - NV_NB8M "
 Vendor: "NVIDIA Corporation"
 Device: "G86 Board - NV_NB8M "
 SubVendor: "NVIDIA"
 SubDevice:
 Revision: "Chip Rev"
 Memory Size: 14 MB
 Memory Range: 0xd5000000-0xd5dfffff (rw)
 --------------- gekürzt ----------------
 Mode 0x0348: 1400x1050 (+2800), 16 bits
 Mode 0x0349: 1400x1050 (+5600), 24 bits
 Mode 0x034a: 1600x1200 (+6400), 24 bits
 Mode 0x0352: 2048x1536 (+8192), 24 bits
 Mode 0x0360: 1280x800 (+1280), 8 bits
 Mode 0x0361: 1280x800 (+5120), 24 bits
 Mode 0x0362: 768x480 (+768), 8 bits
 Mode 0x0364: 1440x900 (+1440), 8 bits
 Mode 0x0365: 1440x900 (+5760), 24 bits
 Mode 0x0368: 1680x1050 (+1680), 8 bits
 Mode 0x0369: 1680x1050 (+6720), 24 bits
 Mode 0x037c: 1920x1200 (+1920), 8 bits
 Mode 0x037d: 1920x1200 (+7680), 24 bits
 Config Status: cfg=new, avail=yes, need=no, active=unknown

Ich kann mich nun Entscheiden, ob ich den Dezimalen Wert (1280×800) oder den Hexadezimalen Wert später eintragen möchte, die Wäre 0x0360 und ist in Zeile 19 zu finden.
Nun bearbeitet man die Datei /etc/default/grub und setzt GRUB_GFXMODE= auf seinen Wert:

# If you change this file, run 'update-grub' afterwards to update
 # /boot/grub/grub.cfg.

GRUB_DEFAULT=0
 GRUB_TIMEOUT=5
 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
 GRUB_CMDLINE_LINUX_DEFAULT="quiet"
 GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
 # This works with Linux (no patch required) and with any kernel that obtains
 # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
 #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
 #GRUB_TERMINAL=console

# The resolution used on graphical terminal
 # note that you can use only modes which your graphic card supports via VBE
 # you can see them in real GRUB with the command `vbeinfo'
 GRUB_GFXMODE=1280x800

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
 #GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
 #GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
 #GRUB_INIT_TUNE="480 440 1"

Jetzt kommt das knifflige an der Sache, damit die Auflösung auch erhalten bleibt muss man eine Datei von Debian Squeeze umschreiben /etc/grub.d/00_header, keinen Fehler machen, sonst wird es mit der Generierung der /boot/grub/grub.cfg sehr schwer und ein booten kann unmöglich gemacht werden:

if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT_PATH}"` ; then
 set gfxmode=${GRUB_GFXMODE}
 load_video
 insmod gfxterm
 fi

Ändert man in :

if loadfont `make_system_path_relative_to_its_root "${GRUB_FONT_PATH}"` ; then
 set gfxmode=${GRUB_GFXMODE}
 set gfxpayload=keep
 load_video
 insmod gfxterm
 fi

Und kann danach mit einem update-grub2 die /boot/grub/grub.cfg neu schreiben lassen.
Wer noch Lust hat kann ja in der Datei /etc/default/grub sein bootloader Mario spielen lassen :
GRUB_INIT_TUNE=“1000 334 1 334 1 0 1 334 1 0 1 261 1 334 1 0 1 392 2 0 4 196 2″

md5sum von allen Dateien in einem Verzeichnis

Hat mir schon mehr als einmal geholfen nach der Übergabe eines Servers und überprüfen eines Backups.
Wenn man dann noch die Originaldateien hat und diff nutzt ist man aus dem Schneider und kann dem entsprechend seinen stündlichen Salär einfordern.
Simpel, aber effektiv

seraphyn@sayuri:~ find $VERZEICHNISSNAME -type f -print0 | xargs -0 md5sum > /root/checksums_$VERZEICHNISSNAME_$(date +%Y%m%d).md5
 seraphyn@sayuri:~ md5sum -c checksums_$VERZEICHNISSNAME_$DATUM.md5

Beispiel:

seraphyn@sayuri:~ find /etc -type f -print0 | xargs -0 md5sum > /root/checksums_etc_$(date +%Y%m%d).md5

Testen mit:

seraphyn@sayuri:~ md5sum -c checksums_etc_20110921.md5| grep -v "OK$"

Backup von bitlbee

Ich liebe Bitlbee.
Bitlbee ist ein Gateway für Instantmessengersevices und bietet mir unter irssi die Benutzung von Jabber, ICQ, MSN etc. Bitlbee mag wohl auch Identi.ca und Twitter unterstützen, aber für identi.ca nutze ich mein eigenes Perlscript, welches die Sache mehr als Gut erledigt.
Bitlebee findet sich in den FreeBSD-ports, sowie in Debian in den Repositories.
Wer gerne die Entwicklerversion nutzen möchte, kann in Debian

deb http://code.bitlbee.org/debian/devel/karmic/i386/ ./

zu seiner sources.list hinzufügen.
Erklären wie man bitlbee installiert werde ich nicht. Es gibt genug Anleitungen im Netz und bitlbee hilft einem auch bei der Accounterstellung.
Mit geht es nur einfach und strikt um das Backup, Weigerung der Übernahme bei einem Paketrebuild sind vorhanden, warum auch immer.
Zu sichern sind die Verzeichnisse /etc/bitlbee und /var/lib/bitlbee. Zu beachten sind vor allem die Rechte und die Besitzer der Dateien. Wenn jene nicht stimmen läuft ein identify $PASSWORT mit der Anmerkung man habe noch keinen Account erstellt in das Leere.

Neue Version von Browserstart

Wer viele Browser zur Webentwicklung, oder einfach aus Spaß installiert hat, kennt das Problem.
Ein Link in der Shell per alt+u angesteuert und angeklickt, es gehen auch grafische Anwendungen, und ein anderer Browser öffnet sich, obwohl schon einer offen ist.
Hier springt das Script Browserstart in die Bresche, als definitiver Standardbrowser angegeben, schaut es nach, welcher Browser offen ist und öffnet in jenem ein Tab.
Bei mir ist die Einstellungen, dass wenn kein Browser offen ist, Chromium gestartet werden soll, falls dieser nicht vorhanden ist, bitte den Opera starten.
Am besten legt man sich das Script in sein ~/bin/-Verzeichnis, macht es ausführbar und definiert es als Standardbrowser.
Bei mir ist es z.B. für die Shell:

URxvt.perl-ext-common: url-select
 URxvt.keysym.M-u: perl:url-select:select_next
 URxvt.underlineURLs: true
 URxvt.urlLauncher: /home/seraphyn/bin/browserstart

Enthalten sind die Browser: Opera, Firefox, Google-Chrome, Chromium
Natürlich kann man das Script auch sehr einfach erweitern für z.B. Konqueror, Galeon etc

#!/bin/bash
 order=(
 opera_new_tab
 firefox_new_tab
 google_chrome_new_tab
 chrome_new_tab
 chrome_new_win
 opera_new_win
 )

function mozlike_new_tab {
 if [ "`pidof $2-bin`" ]; then
 $2 -new-tab "$1"&
 else
 return 1
 fi
 }
 # new firefox tab
 function firefox_new_tab {
 mozlike_new_tab $1 firefox
 }
 # helper function for firefox_new_win and swiftfox_new_win
 function mozlike_new_win {
 $2 -new-tab "$1"&
 }
 # new firefox window
 function firefox_new_win {
 mozlike_new_win $1 firefox
 }
 function opera_new_tab {
 if [ "`pidof opera`" == "" ]; then
 return 1
 fi
 opera -newpage $1
 }
 # new opera win
 function opera_new_win {
 opera -newwindow $1
 }

function chrome_new_tab {
 if [ "`pidof chromium-browser`" == "" ]; then
 return 1
 fi
 chromium-browser --new-tab $1
 }

function chrome_new_tab {
 if [ "`pidof chrome`" == "" ]; then
 return 1
 fi
 google-chrome --new-tab $1
 }

function chrome_new_win {
 chromium-browser --new-window $1
 }

for i in `seq 1 ${#order[@]}`;
 do
 ${order[$i-1]} $1 && exit
 done

planet@commandline: Ein neuer Planet erblickte das Licht

Es gibt einen neuen Planeten, welchen ich empfehlen möchte, denn die Idee dahinter ist mal eine, welche mich erfreut.
Der Planet planet@commandline kümmert sich um die mittlerweile entstandene „Randsparte“ der Freunde des Kommandozeile und der tastaturorientierten Fenstermanager. Neben all dem Klimbim ist das mal eine schöne Sache, denn ich erfreue mich mehr an solchen Tips und Tricks, sowie auch Neuigkeiten, anstelle der tausendsten Aufgebrühten grafischen Spielerei und Applikation. Diese Tage fand ein kleiner Umbruch in dem Planeten statt, welche von Alex Beckert eine Aufteilung des Planeten ergibt:

Different Flavours of Planet Commandline

Since there were quite some requests for a Planet Commandline feed without the microblogging feeds included, I splitted Planet Commandline into different flavours. I’m quite happy with that solution, because I must admit that the amount of microblogging postings in relation to normal blog postings was indeed higher than initially expected
So from now on Planet Commandline has a basic flavour at http://planet-commandline.org/ and one with the microblogging feeds (climagic and commandlinefu) included at http://planet-commandline.org/+snippets/.

For making this possible I hacked our Planet Venus wrapper to accept arbitary configuration snippets to be added at the end of the configuration as well as as sed-based modifications to the concatenated configuration before Planet Venus is run on them.

This also allowed me to create further flavours of Planet Commandline:

+german where Beat Gätzi’s German-written Chrütertee blog has been moved to, and
+emacs which adds Mickey Petersen’s Mastering Emacs to the list of included blogs.
I hope nobody minds this diversification of Planet Commandline.

Currently no combination of flavours is supported, but if there’s a relevant demand for the one or the other combination of flavours I may have a look if that can be automated, too.

Vertreten sind englisch und deutschsprachige Blogs, Sei es Unix (z.B. Chrütertee, eine BSD-Institution), oder Linux, sowie das Developerblog von GRML.
Wer sich an dem Standardaussehen, Grün auf Schwarz ( wie die alten IBM-Terminals und bei AIX Standard) stört, kann natürlich auch unter anderen Farbgebungen per rechte Seitenleiste (Switch Screen Color) wählen.
Ich hoffe, dass die Kombination der aufgeteilten Feeds bald möglich ist, aber ich empfinde die Aufteilung als gelungen.
Ich hoffe in dem Planeten werden bald mehr Blogs aggregiert, damit mein newsbeuter mir noch etwas mehr aus meiner Randspartenwelt bringt.
Toll, endlich mal wieder ein kleiner Lichtblick in dem ganzen Politik, BlingBling, UbuntumixDebianMacOS-Planeten.
Schade, das Pimp my Shell so stark angefangen hat, aber dann nachließ, denn dieses Blog würde auch Gut in den Planeten passen. Ich hoffe die Jungs machen noch ein wenig weiter…