Tag Archives: Software

C-Programm – Umgebungsvariablen unter Linux

In dem Buch “Linux Programmierung” habe ich ein schönes Beispiel für Umgebungsvariablen unter Linux gefunden, welches ich gerade ein wenig Kommentiert habe… :-)

“Beachten Sie, dass sich die Umgebung nur lokal zum Programm verhält. Änderungen, die innerhalb des Programmes durchgeführt werden, werden nicht nach außen reflektiert, da Variablenwerte nicht vom untergeordneten Prozess (unser Programm) an den übergeordneten Prozess (die Shell) propagiert werden.” – Seite 166

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

/* argc -> Anzahl Kommandozeilenparameter + Programmnamen (1), somit ist der Wert min. 1 */
 
/* argv -> ist ein Zeiger auf das Feld (Array) mit der in argc angegebene Anzahl von Elementen...
	... und die Elemente (z.B.: argc[0] sind Zeiger auf eine Zeichenkette...
 
	arg[0] -> Programmname
	arg[1] -> 1. Parameter 
	arg[2] -> 2. Parameter
	[...]
	arg[n] -> letzter Parameter
	0L    -> das letzte Element von argv[] einthaelt eine Null
*/
int main(int argc, char *argv[]) {
	char *var, *value;

	// wenn kein oder mehr als 3 Parameter uebergeben wurden, dann ...
	if (argc == 1 || argc > 3) {
			// Fehlermeldung ausgeben und Programm beenden
			fprintf(stderr,"usage: environ var [value]\n");
			exit(1);
	}

	// 1. Parameter in die Variable "var" schreiben
	var = argv[1];
	// mit getenv den Wert der Umgebungsvariablen abrufen 
	// und in die Variable "value" schreiben
	value = getenv(var);
	// wenn value wahr bzw. vorhanden ist, dann ...
	if (value) {
			printf("Variable %s has value %s\n", var, value);
	// ... ansonsten ...
	} else {
			printf("Variable %s has no value\n", var);
	}

	// wenn 2. Parameter uebergeben wurden, dann ...
	if (argc == 3) {
		char *string;
		// 2. Parameter in die Variable "value" schreiben
		value = argv[2];
		// Speicherbereich fuer die Umgebungsvariablen + Wert anlegen
		string = malloc(strlen(var)+strlen(value)+2);
		// wenn string nicht wahr bzw. nicht vorhanden ist, dann ...
		if(!string) {
				// Fehlermeldung ausgeben und Programm beenden
				fprintf(stderr,"out of memory\n");
				exit(1);
		}
		// strcpy - Stringfunktion zum kopieren einer Zeichenkette (string <- var)
		strcpy(string,var);
		// strcat - Stringfunktion zum verketten von Strings (string=) 
		strcat(string,"=");
		// strcat - Stringfunktion zum verketten von Strings (string=value)
		strcat(string,value);
		printf("Calling putenv with: %s\n", string);
		//
		// putenv - Aendert oder setzt eine Umgebungsvariable, gibt -1 bei einem Fehler 
		// und 0 bei keinem Fehler aus 
		//
		// wenn nicht gleich 0 -> wenn ein Fehler aufgetreten ist , dann ...
		if (putenv(string) != 0) {
				// Fehlermeldung ausgeben, Speicher wieder freigeben und Programm beenden
				fprintf(stderr,"putenv failed\n");
				free(string);
				exit(1);
		}

		// den Wert der Umgebungsvariablen in der Variablen "var"
		// in die Variable "value" schreiben
		value = getenv(var);
		// wenn value gleich wahr bzw. gesetzt, dann ...
		if (value) {
				// Umgebungsvariablen + neuen Wert ausgeben
				printf("New value of %s is %s\n", var, value);
		// ... ansonsten ...
		} else {
				// Umgebungsvariablen + ? ausgeben
				printf("New value of %s is null??\n", var);
		}
	}
exit(0);
}

Medienkompetenz? – Nur mit freier Software

In diesem Beitrag möchte ich kurz beschreiben, wie sich Schulen & Lehrer ändern müssen, um Schülern den korrekten Umgang mit dem PC und somit Medienkompetenz zu vermitteln. Die Überschrift habe ich von einem Vortrag auf der “OpenRheinRuhr-2010” (geklaut) übernommen, wo wir auch gleich beim Thema Open-Source und somit freier und kostenloser Software wären.


An den meisten Schulen ist es nach wie vor so, (Erfahrungen der letzten Jahr) dass komplett auf Microsoft gesetzt wird. Dies fängt beim Betriebssystem an geht über Programmierung, Datenbanken, Tabellenkalkulation, Präsentationen und selbst Textverarbeitung. Die Befürworter werden an dieser Stelle bestimmt das Argument einbringen, dass dies auch von der Wirtschaft (Firmen) gefordert wird, ABER wir sollten die Schüler/innen nicht an einer bestimmten Version eines bestimmten Programms ausbilden! Was bringt es mir das ich vor Jahren in der Schule gelernt habe wie ich mit “Word 2003″ einen Serienbrief erstelle? Und warum haben wir “Visual Basic” als Thema gehabt und nicht “C”? Mir persönlich hat dieses Wissen beruflich absolut nichts gebracht, da ich in meiner Ausbildung (Fachinformatiker – Systemintegration) mehr mit Linux, Netzwerken und freier Software zu tun hatte. Aber selbst jemand der mit “Word 2003″ einen Serienbrief anfertigen kann, weil er weiß wo der richtige Button dafür ist, findet ggf. den neuen optimierten Button in “Word 2010″ nicht mehr, daher sollten man Grundlagen in Textverarbeitung etc. vermitteln und das am besten an freien Standards (lizenzfrei) , welche sich etabliert haben, ggf. kann man dazu noch speziell auf bestimmte Produkte eingehen, somit würde man Schüler langfristig ausbilden und würde Schüler nicht dazu drängen sich illegal Software zu besorgen und zu installieren. Wo wir auch gleich beim nächsten Thema wären.


Ich kann mich noch genau daran erinnern als das Thema “Visual Basic” in der Schule aufkam, wurden als erstes illegale die benötigten Programme unter uns Schülern ausgetaucht. Es gibt zwar Programme von Microsoft für Schüler 1.) DreamSpark 2.) MSDNAA jedoch gibt es hier z.B. kein “Microsoft Office” und wie bereits zuvor angedeutet, macht es ggf. nicht so viel Sinn, eine spezielle Software als Thema im Unterricht zu behandeln. Gut finde ich die Idee von einem Lernstick für Schüler & Lehrer (Software-Überblick), gerade wenn man sich vor dem Schulungs-, Einführungs- und Migrationsaufwand fürchten, sollte man sich mit dem Thema beschäftigen. Zudem sollte man bereits in der Schule alternativen zu Windows vermittel, so dass dieses Wissen in die Firmen getragen wird und dort umgesetzt wird, dann würde die Wirtschaft auch nicht nur “MS Word”, “Excel” und Co. fordern, sondern “Textverarbeitung”, “Tabellenkalkulation” und Co. … In diesem Zusammenhang wurde auf der “OpenRheinRuhr 2010″ auch seminarix (Seminarix ist eine auf sidux aufbauende Live-DVD, die für die Lehrerausbildung entwickelt wurde, aber sinnvoll auch im gesamten Bildungsbereich  genutzt werden kann.) Vorgestellt.


Auf der “OpenRheinRuhr 2010″ wurde auch darüber diskutiert, ob jeder wissen sollte wie ein PC funktioniert um mit den Techniken der Zukunft umgehen zu können. Diesen Ansatz muss ich jedoch klar widersprechen, denn es ist die Aufgabe von findigen Programmieren und Designern Software benutzerfreundlich zu erstellen, so dass diese von dessen Zielgruppe verwendet werden können. Wie sah / sieht  das an deiner schule aus? Wie ist deine Meinung? Ist Medienkompetenz auch ohne freie Software möglich?

debian-logo

Debian Backports

In der Debian-Distribution werden bekanntlich nur getestete Pakete verwendet und in einer Version (z.B. Debian-Version 5, “Lenny”) nur wichtige Korrekturen durchgeführt, aber keine weiteren Versionssprünge vorgenommen. Wenn ich nun eine neuere Version von einer bestimmten Software nutzen wollte, habe ich bisher auf backports.orgzurückgegriffen, seit zirka einem Monat gehört das Projekt nun offiziell zum Debian-Service und ist unter “packports.debian.orgzu erreichen. Die Quellen heißen deshalb “backport”, da diese aus dem Debian-Testing-Zweig (momentan Debian-Version 6, “Squeeze”) zurück portiert wurden. Das Paket “debian-backports-keyring” wird nun nicht mehr benötigt, da die Pakete nun mit den offiziellen Key von Debian unterzeichnet sind.

 

“Da sich die Adresse von backports.org zu backports.debian.org ändert, sollten alle Benutzer, um Überraschungen zu vermeiden, ihre Repositorien in sources.list so bald wie möglich anpassen. Die alte Adresse wird allerdings als Spiegel des Archivs noch für einige Zeit erhalten bleiben. Wer Pinning mit Backports-Paketen nutzt, sollte seine Einstellungen in der Datei preferences bald anpassen, da sich der Archivname in »Debian Backports« geändert hat.” – Pro-Linux.de

 

Wenn nun jedoch in im Testing-Zweig keine neue Software aufgenommen wird, wie es momentan der Fall ist und der Testing-Zweig somit eingefroren wird, um diesen auf die Stabilen-Zweig zu bringen, dann benötigt man ggf. auch noch die Quelle “lenny-backports-sloppy“. Somit kannst du bereits Software aus der Unstable-Version (Debian-Version 7, “Wheezy) verwenden, wenn du jedoch auf die kommende stabile Version “Squeeze” aktualisieren möchtest, dann benötigst du zwingend die zugehörigen Backports, zudem ist diese Quellen stets mit dem packports zu verwenden.

 

1.) Folgende Zeilen einfügen:

Entweder direkt in der “/etc/apt/sources.list”-Datei oder du musst im folgendem Unterverzeichnis (/etc/apt/sources.list.d/) eine Datei mit der Endung (.list) anlegen und dort die folgenden Zeilen einfühen.

deb http://backports.debian.org/debian-backports lenny-backports main
deb http://backports.debian.org/debian-backports lenny-backports-sloppy main

2.) Quellen aktualisieren

 

apt-get update

3.) Folgende Zeilen einfügen:

In der “/etc/apt/preferences”-Datei folgendes Einfügen, so dass du auch mit Sicherheit-Updates versorgt wirst.

 

Package: *
Pin: release a=lenny-backports
Pin-Priority: 200

4.) Pakete installieren

Mit dem folgendem Befehl kannst du nun, aus dem Backports Software installieren, hier gibt es noch mehr Infos zu aptitude. ;-)

 

aptitude -t lenny-backports install "package"

 

gpg

E-Mail-Verschlüsselung per GnuPG

GnuPG (gpg) ist ein Kryptografie-System, dass heißt das Dateien und somit auch E-Mails mit einem öffentlichem Schlüssel verschlüsselt werden können und nur du dieser mit deinem privaten Schlüssel wieder entschlüsseln kannst. Wenn du nun verschlüsselte E-Mails empfangen möchtest, benötigst du als erstes einmal ein solches Schlüsselpaar, danach musst du den öffentlichen Schlüssel (wie der Name schon sagt) veröffentlichen, jemand muss diesen herunterladen und verwenden.Somit können andere Leute dir verschlüsselt Mails senden und nur du kannst diese lesen.


Ich werde den Vorgang anhand eines Beispieles erklären und immer verdeutlichen auf welcher Kiste (PC) ich gerade bin.


Debian

Auf dem Debian System hab ich Mutt (Mail-Client) und GnuPG installiert, um das Schlüsselpaar zu erzeugen und die verschlüsselten E-Mails per Mutt (am Ende vom Blog-Post) abzurufen und zu entschlüsseln.

1.) Die nötige Software installieren…

aptitude install pgp mutt

2.) Schlüssel erzeugen

(Bitte deinen Namen & Mail-Adresse angeben)

gpg --gen-key

gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n>  = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
“Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>”

Real name: Lars Moelleken
Email address: voku@voku-online.de
Comment:
You selected this USER-ID:
“Lars Moelleken <voku@voku-online.de>”

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
..+++++
.+++++
..+++++
.+++++
gpg: key E0000000 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/E0000000 2010-09-28
Key fingerprint = 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000
uid                  Lars Moelleken <voku@voku-online.de>
sub   00000/C0000000 2010-09-28

3.) öffentlichen Schlüssel veröffentlichen

Wenn du die zuvor angegebenen Daten ggf. noch einmal ändern möchtest, kannst du dies mit dem folgendem Befehl bewerkstelligen, ansonsten… überspringe diesen Befehl einfach.

gpg --edit-key voku@voku-online.de

Nun schauen wir uns unseren öffentliche Schlüssel an, dort sollte nun bereits dein Name + E-Mail Adresse hinterlegt sein…

gpg --list-keys

… außerdem finden wir hier unsere Schlüssel-ID (Key-ID), welche wir benötigen, um den öffentlichen Schlüssel zu veröffentlichen.

gpg --send-key E0000000

Nun testen wir als erstes ob der Schlüssel bereits online verfügbar ist…

gpg --keyserver keys.gnupg.net --search-keys voku@voku-online.de


Ubuntu

Auf diesem System hab ich eine grafischen Mail-Client installiert (Claws-Mail) und den öffentlichen Schlüssel importiert und unterschrieben (beglaubigt), so dass ich verschlüsselte E-Mails verschicken kann, welche nur das zuvor erwähnte Debian System lesen kann.

1.) Die nötige Software installieren…

sudo aptitude install pgp gnupg-agent 
sudo aptitude install claws-mail claws-mail-pgpinline claws-mail-pgpmime
sudo aptitude install seahorse

Ggf. sind einige der Programm bereits auf deinem System installiert.

2.) Öffentlichen Schlüssel importieren

Nun können wir mit dem folgendem  Befehl, den Öffentlichen-Key importieren…

gpg --keyserver keys.gnupg.net --search-keys voku@voku-online.de

… nun können wir uns die Key-ID mit folgendem Befehl anschauen …

gpg --list-keys

… und mit diesem Befehl beglaubigen. (E00000000 muss natürlich durch deine angezeigte Key-ID ersetzt werden)

gpg --sign-key E0000000

3.) Software verwenden

Nachdem du in Claws-Mail das PGP Plugin aktiviert hast (“Konfiguration” -> “Erweiterungen / Plugins”) kannst du beim verfassen einer E-Mail unter dem Menüpunkt “Optionen” -> “Datenschutzsystem” -> “PGP MIME”  auswählen und danach “Optionen” -> “Verschlüsseln” und nun wird die E-Mail verschlüsselt versendet. Natürlich lassen sich die öffentlichen und auch privaten Schlüssel global im System verwenden, so dass du nun auch z.B. mit “evolution” verschlüsselte E-Mails versenden kann


Debian

Wenn du ggf. deinen privaten Schlüssel, zum lesen von erhaltenen E-Mails auf mehreren PCs verwenden möchtest, musst du diesem erst Exportieren und auf dem Ziel-PC wieder importieren, wenn das nicht der Fall sein sollte, kannst du diese Schritte überspringen.

1.) Privaten Schlüssel abspeichern

Der nachfolgende Befehl exportiert deinen privaten Schlüssel, also Vorsicht wo du diesen abspeicherst und wie du diesen auf einen anderen PC kopierst.

gpg --export-secret-keys > secret.keys


Ubuntu

2.) Privaten Schlüssel importieren

Wenn wir den Key z.B. per “scp” auf unseren zweit Rechner kopiert haben, können wir diesen mit folgendem Befehl einfügen. (und die Datei danach löschen)

gpg --import secret.keys

Zusätzlich zu den bereits installieren Programmen installieren wir nun noch “seahorse-plugin” …

seahorse-plugins

… der Datei-Manager (nautilus) und der Text-Editor (gedit) unterstützen mit dem diesem Programm GPG-Entschlüsselung. (einfach rechte Maustaste auf eine gpg-Verschlüsselte Datei und auf  “Mit Datei entschlüsseln öffnen” klicken)


Debian

Kommen wir nun zur Konfiguration von Mutt . Da wir den Mail-Client bereits am Anfang des Beitrages installiert hatten, beschreibe ich hier die wichtigsten Einstellungen und zeige meine Konfiguration, welche leicht an andere E-Mail Accounts angepasst werden kann.

1.) Als erstes laden wir die Beispiel-Konfiguration herunter.

cd ~

wget http://suckup.de/muttrc.txt
mv muttrc.txt .muttrc

wget http://suckup.de/mailcap.txt
mv mailcap.txt .mailcap

mkdit -p ~/.mutt/cache/headers
mkdir ~/.mutt/cache/bodies

2.) Im zweiten Schritt ändern wir die Konfiguration (ein wenig)

vim .muttrc

#set spoolfile=”imaps://user@domain.de:993″
#set folder=”imaps://user@domain.de/INBOX”

<- Hier musst du deine IMAP-Daten eintragen…

# direkt per sendmail (z.B. wenn du direkt auf dem Server arbeitest)
#set sendmail=”/usr/sbin/sendmail -oem -t -oi”
#set smtp_url=”smtp://user@domain.de/”
# ssmtp musst installiert und konfiguriert sein…
#set sendmail=”/usr/sbin/ssmtp -fuser@domain.de -au user@domain.de -ap password”

<- Hier musst du deine SMTP-Daten (bzw. sendmail) eintragen, bitte für eine Methode entscheiden…

#set pgp_sign_as=E0000000

-> Hier trägst du deine Key-ID von deinem GPG-Schlüssel ein…


Der Mail-Client lässt sich bis ins kleinste konfigurieren, dazu ist die Konfiguration an den meisten Stellen bereits kommentiert und lässt sich nun bereits starten.: mutt

Hier noch ein paar hilfreiche Tipps:

m -> neue E-Mail schreiben (:wq -> und mit “y” am Ende bestätigen)
r -> antworten auf eine E-Mail
f -> weiterleiten einer E-Mail
e -> kompletten Header anzeigen lassen
c -> anderen Mail-Ordner öffnen
ENTER -> E-Mail lesen
SPACE -> nächste Seite einer E-Mail ansehen
q -> E-Mail wieder verlassen und zurück zur Postfach bzw. mutt beenden wenn du nicht in einer E-Mail bist
/ -> suchen, nach E-Mails oder im Inhalt von E-Mails oder in der Hilfe …
Pfeiltasten -> navigieren im Postfach (E-Mails auswählen)
? -> Hilfe anzeigen


Hier noch ein paar Links zum Thema:

http://www.gentoo.org/doc/en/gnupg-user.xml (Englisch)

http://www.kire.ch/linux/gnupg_spf.pdf

http://www.dewinter.com/gnupg_howto/

gpg --list-keys
PSI 2.0 Beta

automatische Software Updates

Bereits vor einiger Zeit habe ich über Möglichkeiten geschrieben, ausstehende Software-Updates unter Windows zu erkennen. Seitdem nutzte ich Filehippo-UpdateChecker, ein sehr kleines Programm welches, wenn es beim Start keine Updates findet, sich auch wieder beendet.


Seit heute gibt es die zweite Auflage des “Personal Software Inspector” (PSI) zum Download, dass Programm befindet sich noch in der Beta-Phase, kann jedoch bereits eine Menge Programme (Adobe Reader, Flash Player, Firefox, Java…) automatisch updaten, für Programme welche momentan noch nicht unterstützt werden, wird ein entsprechender Download-Link angezeigt.

 

PSI - Personal Software Inspector


PSI 2.0 Beta
Android Dosenfischer

Android 2.2 Froyo (CyanogenMod) – Samsung GALAXY SPICA I5700

In meinem letzem HowTo zum Thema Spica habe ich bereits beschrieben wie du “Android 2.1″ installierst -> speedup-samsung-galaxy-spica-i5700. Dieses HowTo ist anfangs sehr ähnlich, da wir im ersten Schritt erst-einmal root-Rechte benötigen.


Warnung: Indem du diese Updates einspielst, gehen die Einstellungen/Apps auf dem Handy verloren und du musst deine Einstellungen wieder neu vornehmen z.B. APN (BASE = E-Plus) und die Apps wieder neu installieren. Die Kontakte bleiben jedoch erhalten, wenn du diese mit deinem Google-Account synchronisiert hast.


Achtung
Achtung: Auch wenn dieses HowTo bei mir ohne Probleme funktioniert hat, garantiere ich nicht, dass dies auch bei dir funktioniert.


Funktioniert:

  • Touch/Multitouch
  • Tasten
  • Audio
  • GSM/GPRS/EDGE/3G
  • GPS
  • Vibration
  • SD-Karte / USB-Massen-Speicher
  • Wifi (W-Lan) (+Wifi-Tethering)
  • Bluetooth
  • Google Services (20101020) (GMail, Market, Contacts, Calendar)
  • Kamera
  • Sensoren
  • VoiceRecording
  • Hardware accelerated movie playing/recording (mp4/h264)

Funktioniert (noch) nicht:

  • Hardware accelerated movie playing/recording (DivX)

(27.12.10)


“Quadrant”-Benchmark: ~ 620

Spica-Test
Spica-Test


1.) Treiber herunterladen/installieren

Windows XP” -> “SAMSUNG New PC Studio” -> Download-Link

Windows 7” -> “SAMSUNG Kies” -> Download-Link

Als erstes benötigen wir unter Windows folgendes Programm “SAMSUNG New PC Studio” bzw. “SAMSUNG Kies”, eigentlich benötigen wir nur die Treiber, diese sind jedoch mit in der Software integriert, daher einfach installieren und nach der Installation das Programm wieder schließen und nicht mehr beachten… ;-)


2.) Odin Multi Downloader herunterladen

Download-Link


3.) neue Firmware herunterladen

Download-Link

Zusätzlich benötigen wir noch folge kleine Datei:

Download-Link


Die neusten Firmwares für Samsung I5700 Spica findest du unter folgendem Link, die zuvor erwähnten Firmware war ist bisher (01.10.2010) die aktuellste Version und ich hatte mit dieser keinerlei Probleme.:

Samsung-Firmware


4.) Aktiviere “USB debugging”

Um “USB debugging” auf deinem Handy zu aktivieren, gehst du wie folgt vor |

Settings->Applications->Development->Enable USB debugging


5.) Software starten

Bevor wir unser Handy am PC anschließen, staten wir die Odin-Software und geben den Pfad zu den zuvor heruntergeladenen Dateien an.


Wichtig ist “One Package” auszuwählen und die Datei dann auch unter “One Package” anzugeben!
Odin_1

6.) Handy vorbereiten & Firmware installieren

Du musst dein Handy nun ausschalten und es darf nicht per USB am PC angeschlossen sein, ansonsten kann es nicht im neuen Modus hochfahren, dies geschieht, indem wie im folgendem Bild beschrieben die leiser-, Kamera- und die ein/aus-Taste gedrückt hältst…

firmware_hochladen
leiser + Kamera + aus/ein

…nun sollte folgender Bildschirm erscheinen, …

spica_download_mode
Download-Modus

…wenn dies geschehen ist, kannst du dein Handy mit dem USB-Kabel am PC anschließen. Du wirst sehen, dass die Odin-Software feststellt, dass du dein Handy angeschlossen hast, nun kannst du in der Software auf “Start” klicken und abwarten, falls dein Handy nicht nach dem automatischen Reboot nicht mehr hochfahren sollte, keine Panik.

Sobald du einige Minuten abgewartet hast und die Odin-Software anzeigt, dass alles abgeschlossen ist, dein Handy jedoch nicht mehr hochfährt, nimm einmal den Akku heraus und setzte ihn wieder ein, dann starte dein Handy erneut.


7.) Install Spica v.LK2.08

Forum-Link

Um die am Anfang genannten Funktionen nutzen zu können brauchen wir noch weiter Updates. Als erstes benötigen wir den “Recovery-Modus”, diesen rüsten wir wie folgt nach.

7.1.) Download Kernel: i5700_LK2-08_PDA.7z und entpacken

7.2.) nun musst du dein Handy wieder ausschalten und vom PC entfernen

7.3.) dann wieder die Odin-Software starten und dieses man nur die PDA-Datei auswählen


Um diese Datei “i5700_LK2-08_PDA.7z” jedoch zu öffnen benötigst du z.B. 7-Zip. (hat bei mir schon lange WinZip… WinRAR und so weiter verdrängt ^^


Nicht “One Package” auszuwählen!


odin_test2


7.4.) nun musst du dein Handy wieder im Download-Modus starten (leiser+Kamera+an/aus) und danach am PC anschließen und sobald die Software dies mitbekommen hat, kannst du wieder auf “Start” klicken. Danach sollte dein Handy direkt im Recovery-Menü landen (beim ersten Reboot). Um später noch einmal zu diesem Menü zu gelangen, musst du folgende Tasten drücken -> (leiser+anrufen+auflegen)

firmware_hochladen2
(leiser+anrufen+auflegen)


8.) CyanogenMod installieren

Forum-Link

Die folgende Datei ist die Version “Alpha8.3” (17.01.11) da daran jedoch noch gearbeitet wird, sollte man im Form nach einer neuern Version schauen und beachten, dass wenn man bereits ein vorherige Version von dem CyanogenMod installiert hat das Update installieren sollte! (siehe Forum-Link)

Download-Link (~ 70 MB)

… anschließend muss diese Datei im oberen Verzeichnis deiner SD-Karte speichern. Wer bereits eine frühere Versin von CM für Spica installiert hat, kann im Forum(-Link) ein Update finden.


Kitchen: Auf der folgenden Webseite -> Froyo Kitchen <- kann man sich sein individuelles System zusammenstellen und dann wie bereits für den CyanogenMod beschrieben, per “Recovery-Modus” installieren! Falls man damit jedoch Probleme hat, kann man ohne weiteres die zuvor erwähnte fertige Version nutzen.

Update: (25.02.2011): Es gibt mittlerweile auch auf forum.samdroid.net eine eigene Kitchen für Froyo 2.2 -> Froyo Kitchen-v.2 <-

 

8.1.) Nun müssen wir in den zuvor erklärtem Recovery-Modus starten (leiser+anrufen+auflegen) und im Recovery-Modus (“Apply any zip”) auswählen, und die Datei welche wir gerade auf die SD-Karte gespeichert haben auswählen. Sobald dies funktioniert hat, müssen wir im Menüpunkt “Wipe” noch “Wipe data/cache” auswählen.


Während des ersten Boot-Vorgangs kann es passieren das 2- bis 5-mal automatisch ein Reboot durchgeführt wird, daher kann dieser Bootvorgang länger dauern. Wenn jedoch zirka 5 Minuten nichts passiert, dann noch einmal den Recovery-Modus staten und im Menüpunkt ”Wipe” -> ”Wipe data/cache” auswählen und noch einmal neu-starten.


9.) Kernel + Tweak für CM

Forum-Link

Ich habe mich hier für den Kernel mit “CFS cpu scheduler” und nicht BFS cpu scheduler” entschieden, da bei BFS eine Warnung vor Daten Beschädigung im Forum zu lesen ist. Hinzu kommt noch “SSSwitch (Screen State Switch)”, ein kleines Skript, welches noch einige Einstellungen am Kernel vornimmt. (nicht SetCPU und SSSwich gleichzeitig verwenden!!!)


9.1.) Download der Daten und ggf. im Forum nach einer neuen Version schauen.

Download-Link (krnl-ckMod.cfs.011.zip)

Download-Link (ckMod.SSSwitch.v06C.zip)


… anschließend musst du diese Dateien im oberen Verzeichnis deiner SD-Karte speichern.


9.2.) Nun müssen wir in den zuvor erklärtem Recovery-Modus starten (leiser+anrufen+auflegen) und im Recovery-Modus (“Apply any zip”) auswählen, und die Datei welche wir gerade auf die SD-Karte gespeichert haben auswählen.


10.) CyanogenMod – Update

Download-Link (Intercept3D.zip)


10.1.) Download der vorherigen verlinkten Dateien im Forum und anschließend muss diese im oberen Verzeichnis deiner SD-Karte gespeichert werden.


10.2.) Nun müssen wir in den zuvor erklärtem Recovery-Modus starten (leiser+anrufen+auflegen) und im Recovery-Modus (“Apply any zip”) auswählen, und die Datei welche wir gerade auf die SD-Karte gespeichert haben auswählen.


ggf. kann man auch den neuen Kernel + Updates mithilfe einer Datei installieren… z.B.:

Forum-Link


11.) I/O Speed Up (convert all to EXT2)

Forum-Link

Zum Schluss habe ich noch I/O Performance verbessert, in dem die Partitionen umformatiert wurden.


11.1.) Download (all_to_ext2_luismaf_update_v8.zip) aus dem angegeben Forum und speichere diesen im oberen Verzeichnis deiner SD-Karte.


11.2) Genau wie zuvor benutzt du nun den Recovery-Modus ( -> “Apply any zip”), um dies anzuwenden. Es kann im Gegensatz zu den Vorherigen Updates etwas länger dauern, also keine Panik. Ich habe die Schritte hier einzeln aufgeführt, so dass es verständlicher ist, in der Praxis habe ich “Kernel” (Tweak) + “Updates” + “I/O SpeedUp” in einem Rutsch per Recovery installiert und fertig.


11.3) Wenn du das neue Dateisystem noch schneller machen willst, kannst du auch noch “tweaks_fe_ext_v2.1.zip” auf dem gleichem Weg installieren. :-)


12.) Tuning-Apps nachinstallieren

Es gibt einige Apps welche dein Android-Handy verbessern können, ich zeige hier kurz welche ich momentan verwende.


12.1.) Advanced Task Killer (Free)

Lässt sich direkt über den “Market” installieren. Nachdem du es installiert und zum ersten mal gestartet hast, musst du eine Ausnahmeliste erstellen, indem du die ein App im “Advanced Task Killer” länge gedrückt hältst und dann auf “Ignore” tippst. Fertig.


12.2.) Autorun Killer

Lässt sich ebenfalls direkt über den “Market” installieren. Indem du ein App länger gedrückt hältst, kannst du auf “Enable/Disable” tippen, so dass dieses nicht mehr am Anfang gestartet wird und somit keine Ressourcen mehr verbraucht.


12.3.) AddFree

Lässt sich ebenfalls direkt über den “Market” installieren. “Adblocker” mittels Modifizierung der hosts-Datei, somit wird die Werbung erst gar nicht heruntergeladen und funktioniert in anderen Apps, Browser u.s.w.!

 

 

PS: Wer die einzelnen Updates in einem Update-Paket installieren möchte, sollte sich folgenden Beitrag anschauen -> Update-Paket für CyanogenMod <-

MySQL-Server optimieren

Zurück zur “Webseiten beschleunigen” – Übersicht

7.) MySQL optimieren

cd  /root
wget  http://mysqltuner.com/mysqltuner.pl
wget  http://www.day32.com/MySQL/tuning-primer.sh
chmod +x mysqltuner.pl
chmod +x tuning-primer.sh
./mysqltuner.pl
./tuning-primer.sh

Link:
rackerhacker.com/mysqltuner/ – mysqltuner
www.day32.com/MySQL/ – tuning-primer


Beispiel:

Wenn wir unserem MySQL-Server z.B. 64 MB zur Verfügung stellen möchten ->

key_buffer = 12M + (read_buffer = 4M + sort_buffer = 4 M) x max_connections = 64 MB

12 + (4 + 4) x max_connections = 64


Formel nach max_connections umstellen

max_connections = (RAM – key_buffer) : (read_buffer + sort_buffer)

max connections = (64 – 12) : (4 + 4)

max_connections = 52 : 8

max_connections = 6,5


benötigen wir mehr als 6,5 max_connections, müssen wir mehr RAM zur Verfügung stellen oder read_buffer und sort_buffer kleiner einstellen…


Regel

Je weniger RAM zur Verfügung steht und je mehr max_connections benötigt werden, desto kleiner müssen read_buffer, sort_buffer u. key_buffer sein.


my.cnf – Konfigurationsdatei überprüfen ob der key_buffer so groß ist, dass alle Indizies in den Buffer passen und table_cache in etwa der Anzahl der Tabellen entspricht.


Zudem sollte man darauf achten, dass MySQL-Cache eingeschaltet ist.

-> query_cache_type=1


Als Anwendungsbeispiel werde ich an dieser Stelle die MySQL-Konfiguration meines Servers überprüfen ->

/root/mysqltuner.pl

Ich werde hier jedoch nur die Fehler, welches das Skript in meiner Konfig gefunden hat auflisten…

  • [!!] Total fragmented tables: 2

-> das nachfolgende Kommando schafft hier Abhilfe (könnte man so, oder so ähnlich auch als cronjob (crontab) laufen lassen

crontab -e



30 * * * * /usr/bin/mysqlcheck -u USER -pPASSWORT --auto-repair --check --optimize --all-databases > /dev/null 2>&1

In diesem Beispiel werden alle Datenbanken, jede 30 Minuten defragmentiert bzw. optimiert.



  • [!!] Key buffer size / total MyISAM indexes: 10.0M/13.7M

-> key_buffer = 15M erhöhen


7.1) MariaDB (MySQL-Fork)

In den letzen Wochen habe ich auch mit einem Mysql-Fork herumgespielt (MariaDB), dieser soll einige Vorteile in der Geschwindigkeit bringen. Man kann die Software über die Debian Pakete installieren nachdem man folgendes in seine “sources.list” aufgenommen hat.

deb http://mirror.ourdelta.org/deb lenny mariadb-ourdelta
deb-src http://mirror.ourdelta.org/deb lenny mariadb-ourdelt

… danach noch ein …

apt-get update

… und schon kannst du die Software gegen MySQL austauchen, dies funktioniert z.B. mit “aptitude” (mariadb-server) auch sehr gut, jedoch hatte ich das Problem, dass mein ISPConfig (eine Server Verwaltungsoberfläche) keine neuen Benutzer anlegen konnte, da sich die Syntax des Befehls ein wenig unterscheidet.


firmware_hochladen2

SpeedUp – Samsung GALAXY SPICA I5700

In diesem HowTo werde ich zeigen, wie du dein Android (GALAXY SPICA I5700) Handy optimieren kannst. Nach dieser Optimierung hat dein Handy einige neue Funktion läuft mit Android 2.1 und ist um einiges schneller.


Warnung: Indem du diese Updates einspielst, gehen die Einstellungen auf dem Handy verloren und du musst deine Einstellungen wieder neu vornehmen z.B. APN (BASE = E-Plus), außerdem funktionieren einige Applikationen nicht im apps2sd-Modus, aber dazu gleich mehr. Die Kontakte bleiben jedoch erhalten.


Linpack

Mein Spica hat nun folge Werte:  Linpack for Android

MFLOPS: >9

 

neue Funktionen:

- full root mit adb / root – su+Superuser

- Netfilter/iptables (Walldroid – Firewall)

- Wifi Tether – Internet-Sharing per W-Lan

- Unterstützung für ext2/ext3/ext4/squashfs Dateisysteme

- cifs (smb – Unterstützung für Windows Network Shares)

- Lautstärke von Musik etc. wurde erhöht

- sipdroid Unterstützung


Recovery:

- Updates per *.zip Dateien (Android install/update System)

- Samdroid Backup – erstelle .tar Datei (System + Data), Wiederherstellung via Odin

- wipe (löscht Daten, Cache, dalvik-cache)

- neu-partitionieren deiner SD-Karte->eine zweite Partition (FAT32 + ext2/3/4) um dort Applikationen zu installieren (apps2sd)


Apps2sd: basierend auf CyanogenMod (apps2sd)

- du kannst deine Apps vom internen Speicher auf die SD-Karte speichern, wenn du willst, indem du wie in diesem Blog-Artikel beschrieben eine zweite Partition auf deiner SD-Karte zu erstellen. (FAT32 + ext2/3/4)



Backup to Sd
Apps2sd SamdroidMod-FrozenEclair


1.) Treiber herunterladen/installieren

“Windows XP” -> “SAMSUNG New PC Studio” -> Download-Link

“Windows 7″ -> “SAMSUNG Kies” -> Download-Link

Als erstes benötigen wir unter Windows folgendes Programm “SAMSUNG New PC Studio” bzw. “SAMSUNG Kies“, eigentlich benötigen wir nur die Treiber, diese sind jedoch mit in der Software integriert, daher einfach installieren und nach der Installation das Programm wieder schließen und nicht mehr beachten… ;-)


2.) Odin Multi Downloader herunterladen

Download-Link


3.) neue Firmware herunterladen

Download-Link

Da bei den meisten Geräten nicht die neuste Firmware drauf sein dürfte, laden wir uns die folgende Datei herunter. Um diese Datei “I570EUXJG1.rar” jedoch zu öffnen benötigst du z.B. 7-Zip. (hat bei mir schon lange WinZip… WinRAR und so weiter verdrängt ^^)

Zusätzlich benötigen wir noch folge Datei:

Download-Link


Die neusten Firmwares für Samsung I5700 Spica findest du unter folgendem Link, die zuvor erwähnten Firmware war ist bisher (26.08.2010) die aktuellste Version und ich hatte mit dieser keinerlei Probleme.:

Samsung-Firmware


4.) Aktiviere “USB debugging”

Um “USB debugging” auf deinem Handy zu aktivieren, gehst du wie folgt vor |

Settings->Applications->Development->Enable USB debugging


5.) Software starten

Bevor wir unser Handy am PC anschließen, staten wir die Odin-Software und geben den Pfad zu den zuvor heruntergeladenen Dateien an.

odin_test

6.) Handy vorbereiten & Firmware installieren

Du musst dein Handy nun ausschalten und es darf nicht per USB am PC angeschlossen sein, ansonsten kann es nicht im neuen Modus hochfahren, dies geschieht, indem wie im folgendem Bild beschrieben die leiser-, Kamera- und die ein/aus-Taste gedrückt hältst…

firmware_hochladen
leiser + Kamera + aus/ein

…nun sollte folgender Bildschirm erscheinen, …

spica_download_mode
Download-Modus

…wenn dies geschehen ist, kannst du dein Handy mit dem USB-Kabel am PC anschließen. Du wirst sehen, dass die Odin-Software feststellt, dass du dein Handy angeschlossen hast, nun kannst du in der Software auf “Start” klicken und abwarten, falls dein Handy nicht nach dem automatischen Reboot nicht mehr hochfahren sollte, keine Panik.

Sobald du einige Minuten abgewartet hast und die Odin-Software anzeigt, dass alles abgeschlossen ist, dein Handy jedoch nicht mehr hochfährt, nimm einmal den Akku heraus und setzte ihn wieder ein, dann starte dein Handy erneut.


7.) Install Spica v.LK2.08

Forum-Link

Um die am Anfang genannten Funktionen nutzen zu können brauchen wir noch weiter Updates. Als erstes benötigen wir den “Recovery-Modus”, diesen rüsten wir viel folgt nach.

7.1.) Download Kernel: i5700_LK2-08_PDA.7z und entpacken

7.2.) nun musst du dein Handy wieder ausschalten und vom PC entfernen

7.3.) dann wieder die Odin-Software starten und dieses man nur die PDA-Datei auswählen


odin_test2


7.4.) nun musst du dein Handy wieder im Download-Modus starten (leiser+Kamera+an/aus) und danach am PC anschließen und sobald die Software dies mitbekommen hat, kannst du wieder auf “Start” klicken. Danach sollte dein Handy direkt im Recovery-Menü landen (beim ersten Reboot). Um später noch einmal zu diesem Menü zu gelangen, musst du folgende Tasten drücken -> (leiser+anrufen+auflegen)

firmware_hochladen2
(leiser+anrufen+auflegen)

7.5.) Da wir Applikationen auf deiner SD-Karte installieren wollen und als nächstes den SamdroidMod installieren möchten, musst du auch noch mit dem Recovery-Modus die SD-Karte formatieren, dabei gehen jedoch alle Daten, auf der SD-Karte verloren, also vorher auf dem PC sichern!!!!!, indem du in dem Recovery-Menü,  “Partition sdcard” auswählst und ganz nach der Größe deiner SD-Karte “256МB”, “384МB”, “512MB” auswählst. Der Rest der SD-Karte bleibt im FAT32-Format, so dass du auch von Windows auf dein Handy zugreifen kannst (Bilder, Videos…)


8.) Install SamdroidMod

Forum-Link

8.1.) Als erstes musst du dich in dem hier schon öfter erwähnten Forum anmelden -> samdroid.net <- dann kannst du unter der zuvor Verlinkten Forum-Seite dein eigenes System zusammenklicken.


Hinweise:

- Base packages -> SamdroidMod Version 1.3.1.deodexed [XXJH1] (Android 2.1)

- Kernel -> Kernel [LK2.09.4 (Multitouch from Gabriel-LG v2b + antibyte camera bugfix2 + Superuser 2.3.5)]

- Home -> ggf. nur eine Home (~Desktop-Umgebung) installieren

Phone.apk -> ganz nach belieben (ich nutze “XDA Phone.apk [v.29]”)

- Standart -> ganz nach belieben (ich nutze “DeskClock.apk” + “MyFiles.apk”)

- Keyboards (IME) -> ganz nach belieben (ich nutze “HTC IME [v25]”)

Google Services -> ganz nach belieben (ich nutze “Maps [4.4.0]” + “Google Services [Market, Gmail, YouTube, etc…]”)

- Themes -> Super Circle Battery [AB] (neue Batterie-Anzeige)

- Extended SamdroidMod Components -> ganz nach belieben

- Boot animations -> ganz nach belieben (ich nutze “Green Eye Boot Animation”)

Experimental components -> habe ich nicht ausgewählt


8.2.) die neu erstellte Datei (SamdroidMod-update.zip) musst du im oberen Verzeichnis deiner SD-Karte speichern

8.3.) Reboot zu Recovery (leiser+anrufen+auflegen) und wähle wieder “Apply any zip” -> SamdroidMod-update.zip

Info: Der erste Boot-Vorgang kann sehr lange dauern (zwischen dem Logo und der Boot-Animation) wieder mal keine Sorgen machen und abwarten. Wenn jedoch zirka 5 Minuten nichts passiert, dann noch einmal den Recovery-Modus staten und im Menüpunkt “Wipe” -> “Wipe data/cache” auswählen und noch einmal neu-starten.

8.4.) Nun aktivieren wir “apps2sd”, dafür müssen wir folgendes machen: “Samdroid Tools” -> “Apps2sd settings” -> “Enable Apps2sd” + “Move dalvik-cache to SD”

9.) Samdroid Turbo installieren

Forum-Link

“Frozen Eclair” (FE) sind von Android 2.2 zurück portierte Dateien für 2.1, diese können zu Instabilität deines Handys führen, besonders wenn du die PreBeta bzw. Beta FE verwendest.


samturbo

9.1.) Die folgende Dateie musst du nun herunterladen und im Recovery-Modus (“Apply any zip”) auswählen und somit installieren. Nachdem ich nun alle Versionen ausprobiert habe, empfehle ich die neuste “FE 8 Beta4” und keine PreBeta Versionen zu verwenden.


Frozen Eclair 8 -> stabil, gut optimiert (>9 MFLOPS)

Frozen Eclair 9 Beta1 -> stabil, sehr gut optimiert (>9 MFLOPS)


9.2.) Turbo Kernel + Multi Touch: Die folgende Datei herunterladen Samdroid Turbo Kernel (V10) und mit Odin folgende Datei auswählen “SamTurbo_V9_PDA.tar” -> “PDA”. (>9 MFLOPS). Da ich eine stabile Version momentan bevorzuge, habe ich diesen Kernel momentan nicht installiert, zudem ist die “Multi Touch”-Funktionalität nun bereits im SamdroidMod (>= LK2.09.1 -Multitouch) integriert. :-)


odin_test3
Info: Der erste Boot-Vorgang kann sehr lange dauern, wenn dies nicht funktioniert, solltest du noch einmal im Recovery-Modus staten und im Menüpunkt “Wipe” -> “Wipe data/cache” auswählen und noch einmal neu-starten.


10.) Tuning-Apps nachinstallieren

Es gibt einige Apps welche dein Android-Handy verbessern können, ich zeige hier kurz welche ich momentan verwende.

10.1.) SetCPU

Download

Nachdem du das App installiert und zum ersten mal gestartet hast, wirst du gefragt, um welches Handy es sich handelt, hier wählst du “Samsung Moment (ARM)” aus. Als nächstes wählst im Reiter “Main” -> “Set on Boot” aus. Fertig.

10.2.) Advanced Task Killer (Free)

Lässt sich direkt über den “Market” installieren. Nachdem du es installiert und zum ersten mal gestartet hast, musst du eine Ausnahmeliste erstellen, indem du die ein App im “Advanced Task Killer” länge gedrückt hältst und dann auf “Ignore” tippst. Fertig.

10.3.) Autorun Killer

Lässt sich ebenfalls direkt über den “Market” installieren. Indem du ein App länger gedrückt hältst, kannst du auf “Enable/Disable” tippen, so dass dieses nicht mehr am Anfang gestartet wird und somit keine Ressourcen mehr verbraucht.

10.4.) AddFree

Lässt sich ebenfalls direkt über den “Market” installieren. “Adblocker” mittels Modifizierung der hosts-Datei, somit wird die Werbung erst gar nicht heruntergeladen und funktioniert in anderen Apps, Browser u.s.w.!


Wer will kann nun noch einige Kleinigkeiten Verbessern, dazu hier noch ein paar von meinen Blog-Einträgen :-)

Dark Theme – Samsung-Galaxy-Spica-i5700

- SpeedUp – Android GPS

- Free Android App-Sammlung

- Android 2.2 Frovo – Samsung galaxy spica i5700


Strom sparen mit Ubuntu

Habe auf meinem Laptop folge Software nachinstalliert

sudo aptitude install powertop laptop-mode-tools

Stromverbrach + hilfreiche Tricks anschauen:

sudo powertop

Und mit ein wenig Konfigurationsarbeit, kannst du die Tips von powertop, in dein System integrieren:

z.B. in /etc/laptop-mode/batt-start/. Man kann auch bestimmt Dienste z.B. “preload” welche einerseits Ihren nutzen haben, jedoch anderseits auch CPU-Last verursachen und somit Strom verbrauchen stopen und wieder starten, sobald der Netzstecker wieder eingesteckt wird.

Ailurus – Tweak Ubuntu

Ailurus = “Software installieren” + “Konfigurieren von Linux” + “Linux-Kenntnisse”

Ailurus bietet ähnliche Funktionalitäten wie tweak-ubuntu, jedoch werden hier auch noch einiges an Hintergrundwissen vermittelt und ggf. erklärt was, wie, wo geändert wird.

Funktionen:

- Anzeige von Informationen über BIOS, Motherboard, CPU und Batterie

- Ändere einige GNOME-Einstellungen

- Installieren / Entfernen von ein paar nette Anwendungen, die nicht im offiziellen Repository zur Verfügung stehen (Aktivieren / Deaktivieren einiger Dritter Repositories)

- installierte Software merken (um im Nachhinein zu vergleichen, welche Software installiert bzw. deinstalliert wurde)

Installation:

>= Ubuntu Karmic:

sudo add-apt-repository ppa:ailurus
sudo apt-get update
sudo apt-get install ailurus

< Ubuntu Karmic:

sudo bash -c "echo 'deb http://ppa.launchpad.net/ailurus/ppa/ubuntu ubuntu_version main' >> /etc/apt/sources.list"
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 9A6FE242
sudo apt-get update
sudo apt-get install ailurus

Bild:


Ailurus
Ailurus



Es folgt noch ein Bild von einem echten kleine Panda (Ailurus fulgens).



Ailurus fulgens
Ailurus fulgens

Link:
code.google.com/p/ailurus/

gefunden auf www.webupd8.org