PHP JSON unter Ubuntu 13.10

Seit der neuen Ubuntu-Version Saucy Salamander (13.10) befindet sich die JSON Unterstützung für PHP nicht mehr im Standard-PHP-Paket. Aus diesem Grunde muss das ganze mittels:

apt-get install php5-json

nachinstalliert werden. Nach einem Neustart des PHP-Service (in diesem Fall der FastCGI Variante):

service php-fpm restart

kann die PHP JSON Unterstützung unter Ubuntu 13.10 genutzt werden.

Skripte unter Linux installieren

Manchmal hat man ein Skript geschrieben welches man systemweit aufrufen möchte. Dazu muss dieses natürlich „installiert“ werden. Genaugenommen handelt es sich bei der Installation nur um eine Kopie an den richtigen Ort im System. In diesem Fall ist das der Ordner „/usr/local/bin/“. Allerdings wird für ein solche Operation nicht „cp“ genutzt. Stattdessen wird dies mittels „install“ erledigt:

sudo install skript.sh /usr/local/bin/skript.sh

Damit wird das Skript in den entsprechenden Ordner kopiert. Daneben werden die Dateirechte und Attribute angepasst. Anschließend kann das Skript von allen Nutzern systemweit genutzt werden.

Weitere Informationen gibt es unter:
https://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Bitcoins minen

Wer die digitale Währung Bitcoins minen möchte, sollte sich bewusst sein, das dies meist ein Minusgeschäft ist. Durch die gestiegene Komplexität verbraucht das Erzeugen von Bitcoins mehr Strom als es im Endeffekt liefert. Wer hier mit CPU, GPU oder FPGA minert, hat eigentlich schon verloren. Einigermaßen erträglich wird das Mining wenn man mit sogenannten ASICs arbeitet. ASIC steht dabei für „Application Specific Integrated Circuit“. Gemeint ist damit das die Chips nur für das Mining konzipiert sind und somit natürlich sehr effizient arbeiten.

Ein ASIC basierter Miner in Form eines USB-Sticks

Ein ASIC basierter Miner in Form eines USB-Sticks

Ein Miner welcher sich anbietet ist CGMiner welcher im Quelltext auf GitHub zu finden ist. Neben der Mac OS X und der Windows-Version ist er auch in einer Linux-Version verfügbar. CGMiner selbst steht dabei unter einer freien Lizenz (GPLv3). Um den Miner unter Linux in Betrieb zu nehmen müssen einige Abhängigkeiten installiert werden:

apt-get install autoconf make libcurl4-openssl-dev libtool pkg-config libudev-dev

Danach kann sich der Quelltext beschafft werden und das Kompilat erzeugt werden:

git clone https://github.com/ckolivas/cgminer.git
cd cgminer
./autogen.sh
./configure --enable-icarus
make

In diesem Fall wurde die Unterstützung für ASICs welche mit dem Icarusprotokol arbeiten aktiviert. Mittels:

./cgminer -o http://pool:port -u username -p password

kann das Mining anschließend gestartet werden. Beim Start werden entsprechende Geräte wie angeschlossene ASICs erkannt und automatisch mit eingebunden.

Probleme mit Duplicity und paramiko

Wenn man das Backuptool Duplicity unter Ubuntu installiert, scheinen nicht alle Abhängigkeiten mitinstalliert zu werden. Das stellt man spätestens bei der ersten Benutzung fest:

BackendException: Could not initialize backend: No module named paramiko

Bei „paramiko“ handelt es sich um ein Python-Modul welches der Unterstützung des SSH2 Protokolls dient. Nachdem das ganze mittels:

apt-get install python-paramiko

nachinstalliert wurde, funktioniert auch Duplicity ohne weitere Probleme.

Backup per sshfs

Wenn man einen Server betreibt ist ein Backup sehr praktisch. Viele Hoster bietet mittlerweile Backupspeicher an, auf welchen man seine Daten sichern kann. In diesem Artikel wird dabei davon ausgegangen das sich auf dem Server größere Imagedateien befinden, welche inkrementell gesichert werden sollen. Im ersten Schritt wird der Backupspeicher eingebunden. Viele Server lassen sich dabei mit SFTP ansprechen. Um dieses einzubinden muss das passende Paket installiert werden:

apt-get install sshfs

Danach erstellen wir einen Mountpunkt:

mkdir /mnt/backup

Anschließend kann das entfernte Dateisystem eingebunden werden:

sshfs :/ /mnt/backup

Für das Backup wird „rdiff-backup“ genutzt, welches über die Paketverwaltung installiert werden kann:

apt-get install rdiff-backup

Problematisch an „rdiff-backup“ ist die Tatsache, das dieses unter anderem mit Hardlinks arbeitet und diese bei SFTP unter Umständen nicht zur Verfügung stehen. Deshalb muss im ersten Schritt ein Image erzeugt werden und dieses eingebunden werden. Mittels:

rdiff-backup /etc/ /mnt/backup/etc/

kann dann anschließend das Backup angelegt werden. Möchte man ermitteln welche Backupversionen sich im Verzeichnis befinden, so kann dies durch

rdiff-backup -l /mnt/backup/etc/

bewerkstelligt werden. Damit man das ganze nicht immer per Hand erledigen muss (was bei Backups nicht ratsam wäre), habe ich das ganze in ein Skript gegossen welches auf GitHub zu finden ist.

Weitere Informationen gibt es unter:
http://wiki.ubuntuusers.de/FUSE/sshfs
http://www.nongnu.org/rdiff-backup/
http://www.thomas-krenn.com/de/wiki/Backup_unter_Linux_mit_rdiff-backup