Montag, 12. Oktober 2015

Android 6.0 - package org.apache.http.client does not exist

Google hat beim Android 6.0 Release die Unterstützung für den Apache HTTP-Client entfernt.
Error:(14, 23) error: package org.apache.http does not exist
Mit der folgenden Einstellungen kann man ihn aber weiterhin verwenden:
 android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    useLibrary  'org.apache.http.legacy'
Siehe hierzu auch http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client

Sonntag, 11. Oktober 2015

Android Studio - IntelliJ SVN Probleme nach Neuinstallation

Subversion command line client version is too old

Nach der Installation des neuen Android Studio (Version 1.4) und der neusten SVN Version (z.B. TortoiseSVN oder SlikSvn 1.9.2) hatte ich die folgende SVN Fehlermeldung erhaleten:
"Can't use Subversion command line client: C:\Program Files\SlikSvn\bin\svn.exe. Subversion command line client version is too old (1.9.2)."

Lustigerweise ist die SVN Version nicht zu alt, sondern zu neu :-)

 Android Studio kann aktuell nur mit Versionen kleiner 1.9.0 umgehen, daher ist eine Installation von z.B.  Slik-Subversion-1.8.9-x64.msi notwendig.

Siehe hierzu auch  https://youtrack.jetbrains.com/issue/IDEA-140754

The working copy is too old 

Da ich zuvor eine ältere Version vom SVN installiert hatte, wurde mir jetzt noch folgende Fehlermelding angezeigt:
svn: E155036: Please see the 'svn upgrade' command svn: E155036: The working copy at 'D:\Workspace-Android-IntelliJ\mittagsangebotbeta' is too old (format 29) to work with client version '1.8.9-SlikSvn-1.8.9-X64 (SlikSvn/1.8.9) X64' (expects format 31). You need to upgrade the working copy first.
Die Lösung dafür ist relativ einfach, muss ein Update des SVN Verzeichnisses von dem Projekt durchführen. Dafür in das betroffene Verzeichnis gehen und den Befehl svn upgrade ausführen.


Sonntag, 27. September 2015

Raspberry Pi - Webserver installieren

Mit dieser Anleitung ist es möglich auf dem Raspberry PI einen Webserver (Lighttpd sowie PHP) zu  installieren. Diese funktioniert desweiteren auch mit Debian und Ubuntu ;-)

Der Grund für die Installation ist, dass ich in meinem Heim-Netzwerk grafisch aufbereitete Daten von meinem Temperatur Sensor (http://sebastianhemel.blogspot.de/2015/01/temperatursensor-ds18b20-raspberry-pi.html) bereitstellen möchte.

Mit Hilfe des Programms MRTG (Multi Router Traffic Grapher) und RRD (Round-Robin-Database) lassen sich unter Linux sehr schnell grafische Auswertungen und Darstellungen von Messwerten erstellen. Es können HTML Seiten mit Grafiken erstellt werden. Siehe https://sebastianhemel.blogspot.com/2016/01/raspberry-pi-monitoring-mit-mrtg-und.html .


Mit den folgenden Befehlen werden Lighttpd und PHP 5 mit CGI installiert:

sudo apt-get update
sudo apt-get install lighttpd

sudo apt-get install php5-common php5-cgi php5
sudo lighty-enable-mod fastcgi-php
sudo lighty-enable-mod cgi

Anschließend muss ein Neustart vom Webserver durchgeführt werden:
sudo service lighttpd force-reload

Damit wir jetzt auch CGI Scripe ausführen können muss noch der Passende Ordner erstellt werden und die Besitzrechte von /var/www übernommen werden.
sudo mkdir /var/www/cgi-bin
sudo chown -R www-data:www-data /var/www
sudo chmod 775 /var/www
Nach dem die Rechte gesetzt wurden muss noch der Pi Benutzer der www-data Gruppe hinzugefügt werden.
sudo usermod -a -G www-data pi
Jetzt muss noch die Datei 10-cgi.conf angepasst werden und die Zeile alias.url hinzugefügrt werden:
sudo nano /etc/lighttpd/conf-available/10-cgi.conf 
---
# /usr/share/doc/lighttpd/cgi.txt

server.modules += ( "mod_cgi" )

alias.url += ( "/cgi-bin/" => "/var/www/cgi-bin/" )

$HTTP["url"] =~ "/cgi-bin/" {...
Zum Abschluss muss der Webserver noch einmal neugestartet werden.
sudo service lighttpd force-reload
Jetzt sind die CGI-Skripte per Browser (http://IP-ADRESSE-PI/cgi-bin/hello-world.cgi ) erreichbar!

Download: hello-world.cgi
Hinweis: Mit chmod +x ausführbar machen, sonst gibt es den Fehler 500 (Internal Server Error) zu sehen. 

Evtl. weitere Einstellungen können in der Konfigurationsdatei 
/etc/lighttpd/lighttpd.conf 
server.document-root        = "/var/www"
vorgenommen werden.

Freitag, 18. September 2015

Windows - SSH-Dateitransfer mit Netzlaufwerk

Wer eigenen Webspace oder auch einen Server hat, kann mit wenigen Schritten diesen bzw. bestimmte Ordner verschlüsselt per SSH / SFTP Protokoll in den Windows Explorer einbinden.

Hierfür kann man das Tool SFTP Net Drive https://www.eldos.com/sftp-net-drive/ verwenden.

Nach dem Download und Installation des Programmes müssen noch die jeweiligen Zugangsdaten hinterlegt werden:

Anschließend ist der SSH Zugang als Netzlaufwerk im Explorer verfügbar.

Lenovo Rootkits - Lenovo Service Engine

Die ganze Geschichte mit den Lenovo Rootkits, welche ab Werk auf verschiedenen Rechnern vorinstalliert sind, ist schon etwas älter (Superfish-Desaster). Ich wollte allerdings noch mal darauf hinweisen, da ich mir erst vor kurzem einen Lenovo Yoga 3 gekauft habe und dieser auch davon betroffen war.

Verantwortlich ist diesmal nicht Superfish, sondern die Lenovo Service Engine, welche auch eine Sicherheitslücke beinhaltet. Daher sollte mit Hilfe des folgenden Tools der Service deinstalliert werden:
http://www.chip.de/downloads/Lenovo-LSE-Windows-Disabler-Tool_82164171.html

Eine vollständige Liste der betroffenen Rechner befindet sich hier:
http://news.lenovo.com/article_display.cfm?article_id=2013

Samstag, 15. August 2015

Windows - Ordner erstellen, welcher nicht sofort löschbar ist

Möchte man Deiten in einem Ordner hinterlegen, welcher sich nicht einfach per Explorer löschen lässt, geht dies mit den folgenden Boardmitteln von Windows:

  1. Starten der Eingabeaufforderung
    1. "Ausführen" aufrufen => z.B. "Windows" Taste + "R" drücken
    2. "cmd" eingeben und "OK" bestätigen
  2. Auf dem gewünschten Laufwerk Ordner erstellen
    1. "md con\" oder
    2. "md aux\" erstellen
  3. Die Ordner lassen sich jetzt wieder nur per Eingabeaufforderung löschen
    1. "rd con\" oder
    2. "rd aux"

Hintergrund: In der DOS-Zeit, als Windows noch nicht per GUI (grafische Benutzeroberfläche) bedienbar war, waren einige Befehle/Namen für Windows und Geräte (z.B. auch COM1, COM2 oder PRN ...) reserviert.

Sonntag, 9. August 2015