Freitag, 25. April 2014

cronjob anlegen

Hallo,

im letzten Post habe ich das Script geschrieben, das nun per cronjob taeglich laufen soll, um die Bilder zu verschieben. Der Job selbst ist relativ einfach angelegt.
Zuerst startet man die crontab des root-Benutzers:
sudo leafpad /etc/crontab
Hier fuegt man am Ende folgende Zeile ein
45 5 * * * username /pfad/zum/script/script.sh

Dies bewirkt Folgendes:
45 - die Minute, zu der es ausgefuehrt wird
5 - die zugehoerige Stunde
* * * - Tag im Monat, Monat, Wochentag
username - Der Benutzer, der den Befehl ausfuehren soll
/pfad/zum/script/script.sh - Der Aufruf des eigentlichen Scripts
Am Ende heisst es nichts Anderes, als dass das Script jeden Tag um 5:45 Uhr ausgefuehrt wird.

Morgen kann ich berichten, ob es so funktioniert und ggf. korrigieren.

Gruesse vom 
ubuntuboon

Donnerstag, 24. April 2014

Dateien per Script verschieben

Hallo,

damit das Cubietruck als Server auch ein paar Aufgaben bekommt und sich nicht nur wie eine Festplatte fuehlt moechte habe ich folgendes Szenario gefunden:

ueber eine App lasse ich taeglich von allen Smartphones im Haushalt die gemachten Fotos auf dem Server sichern (pro Person ein Verzeichnis). Diese soll der Server anschliessend automatisch auf ein anderes Laufwerk in ein Verzeichnis mit dem Namen des Fotografen und dem passenden Datum verschieben.

Machen laesst sich das am einfachsten mit einem cronjob und einem Script. Hier zeige ich erstmal, wie ich das Script gebaut habe, der cronjob folgt im naechsten Post.

Zuerst habe ich eine neue, leere Datei erstellt (script.sh). Wo die sich befindet ist erst einmal egal, da ich immer absolute Verzeichnisnamen angegeben habe.

Folgender Text kommt in die Datei:


#!/bin/bash

# Definition des Datums und schreiben in eine Variable
# Datum von gestern im Format jj-mm-tt
# Es schreibt fuer den 27. April 2014 also 14-04-27
datum=$(date -d yesterday +%y-%m-%d)

# Schreiben des Verzeichnisnamens von Person 1 in die Variable ra
ra="$datum von person1"

# Schreiben des Verzeichnisnamens von Person 2 in die Variable ja
ja="$datum von person2"

# Erstellen des Zielverzeichnisses aus den Variablen
# Die Anfuehrungszeichen sind notwendig, da Leerzeichen  im Verzeichnisnamen 
# enthalten sind
mkdir "/ziel/$ra"
mkdir "/ziel/$ja"

# Verschieben der Dateien von der Quelle ins Zielverzeichnis
mv /quelle/* "/ziel/$ja/"
mv /quelle/* "/ziel/$ra/"

Mit dem Befehl 
sudo +x script.sh
macht man das Ganze nun ausfuehrbar. (Geht auch mit der Maus ueber "Eigenschaften" den Haken bei "ausfuehrbar" setzen)
Manuell ausfuehren laesst sich das Script mit dem Befehl
sudo bash script.sh

Es wirft zwar eine Fehlermeldung aus, wenn eins der Quellverzeichnisse leer ist, das macht aber nichts. Fuer eine spaetere Version ist noch eine Pruefung vorgesehen, ob das Zielverzeichnis ueberhaupt benoetigt wird. 
Ich werde es zu gegebener Zeit dann hier veroeffentlichen.

Gruesse vom
ubuntuboon

Dienstag, 22. April 2014

Lubuntu - Zeitzone einstellen

Hallo,

da ich in Kuerze cronjobs einrichten will ist mir jetzt aufgefallen, dass meine Systemzeit nicht stimmt. Eine kurze Suche bei Google und anschliessend im ubuntuusers.de Wiki laesst mich feststellen, dass das passende Tool auf dem Cubietruck nicht installiert ist.
Es geht natuerlich auch ueber die Kommandozeile:
sudo ntpdate -t 560 ptbtime1.ptb.de aktualisiert die Systemzeit gemaess dem angegebenen Zeitserver.
sudo dpkg-reconfigure tzdata startet eine kleine Oberflaeche ueber die man komfortabel die richtige Zeitzone auswaehlen kann.

So schnell kanns gehen :-)

Gruesse vom 
ubuntuboon

Montag, 14. April 2014

mal was Anderes - Win XP

Hallo,

der folgene Link hat zwar nicht viel mit meinem Blog zu tun, aber manchmal lohnt es sich ueber den Tellerrand zu schauen und dieser Artikel ist wirklich gut!
Mama, dein Windows XP muss sterben!

Gruesse vom
ubuntuboon

DLNA-Server aufsetzen - ReadyMedia (fka. miniDLNA)


Hallo,

hier nochmal finsaal die Einrichtung meiner Konfiguration fuer einen DLNA-Server auf meinem Cubietruck:

Ich habe mich am Ende doch fuer minidlna - jetzt ReadyMedia entschieden. Der laesst sich ganz einfach via
sudo apt-get install minidlna
installieren.
Eine Uebersicht gibt es auch im Wiki von ubuntuusers.de, ich beschreibe hier nur meine persoenliche Konfiguration!
Dann oeffne ich via
sudo leafpad /etc/minidlna.conf
die entsprechende Datei. Folgende Aenderungen / Anpassungen sind hier vorzunehmen (Die Datei ist auch recht gut kommentiert (in Englisch allerdings):
media_dir= Kommentarzeichen entfernen und Verzeichnispfad absolut eintragen.
Es koennen hier auch getrennte Verzeichnisse fuer Audio, Video und Photo angegeben werden!
network_interface=eth0 Kommentarzeichen entfernen und Netzwerkschnittstelle eintragen (meist eth0 fuer Kabel)
friendly_name= Kommentarzeichen entfernen und dem Kind einen Namen geben, unter diesem Namen wird es von den Streamingclients gefunden.
inotify=yes GANZ WICHTIG, hier auch das Kommentarzeichen entfernen und auf yes einstellen, damit die Verzeichnisse regelmaessig auf Neuigkeiten gescannt werden!
notify_interval=895 hier auch Kommentarzeichen entfernen, sonst nuetzt das inotify=yes nichts, da miniDLNA nicht weiss in welchem Intervall nach Updates gesucht werden soll. Die Zeit ist in Sekunden angegeben hier ca. 15 min.
Anschliessend natuerlich abspeichern. Danach hab ich den Rechner neu gestartet und der Dienst begann sofort die Verzeichnisse zu indexieren.
Sollten spaeter noch Aenderungen am media_dir gemacht werden so kann auf Debian basierten Umgebungen mit
service minidlna force-reload
die Datenbank neu gebaut werden. Auf allen anderen Umgebungen muss im Verzeichnis /var/lib/minidlna die Datei files.db geloescht werden
Der Service selbst kann im Zweifelsfall per sudo service minidlna stop gestoppt und per sudo service minidlna start wieder gestartet werden.

Hoffe jemandem damit geholfen zu haben :-)

Gruesse vom
ubuntuboon

Freitag, 11. April 2014

DLNA-Server aufsetzen - Mediatomb

Hallo,

hier die Einrichtung eines DLNA-Servers mit Mediatomb:
Zuerst einmal das passende Paket installieren:
sudo apt-get install mediatomb
Ich hab dann den Rechner neu gestartet und gehofft, dass alles funktioniert - tat es natuerlich nicht ;-)
Mit der Adresse
http://localhost:49152
kann man die Konfigurationsoberflaeche aufrufen. Bei mir brachte Sie die Meldung "MediaTomb UI is disabled. Check your configuration."
Also musste zuerst mit dem Befehl
sudo leafpad /etc/mediatomb/config.xml 
die entsprechende Datei geoeffnet werden und der Eintrag ui enabled="no" auf "yes" geaendert werden.
Die Konfiguration liess sich zuerst dann immernoch nicht aufrufen, sondern erforderte bei mir einen weiteren Neustart. 
Ist zum Glueck kein Problem, da das Cubietruck richtig fix dabei ist!
Die Auswahl der Verzeichnisse etc. ist dann sehr einfach, auf ubuntuusers.de gibt es einen schoenen Artikel im Wiki dazu.
Das war es schon.
Eigentlich ganz einfach, wenn man weiss, dass alle Dateisysteme, auf die via Mediatomb zugegriffen werden soll mit allen Rechten fuer alle freigegeben sein sollten. Es kann sein, dass es auch mit weniger Rechten funktioniert, aber da mein Server sowieso nicht von ausen erreichbar ist kann ich damit leben.

wieder
Gruesse vom
ubuntuboon

edit 12.04.2014: Mediatomb ist bei mir wieder heruntergeflogen und jetzt laeuft doch minidlna da ich einen BlueRay Payer von Samsung im Netzwerk habe und der unter Mediatomb ein Problem darstellt. Mein Raspi mit Openelec hat auch die Streams von Mediatomb genommen.
edit 14.04.2014: Diese Konfiguration laeuft nicht aktuell bei mir, habe die Installation aber durchgefuehrt und daher hier dokumentiert.
 

Verzeichnis 2x einbinden - bind

Hallo,

ich habe inzwischen alle Festplatten fest eingebunden auf meinem Server, brauche jetzt aber Ordner, die auf verschiedenen Laufwerken liegen in einem gemeinsamen Unterverzeichnis, damit ich dieses Verzeichnis per dlna broadcasten kann.
Hierzu bemuehe ich wieder die fstab (sudo leafpad /etc/fstab).
Die Eintraege sind allerdings wesentlich kuerzer und halten sich an dieses Schema:
/Ausgangsverzeichnis /Ziel/verzeichnis none bind 0 0

So einfach kann es sein, nun sehe ich das gleiche Verzeichnis an 2 Stellen, etwas verwirrend ;-)

Gruesse vom
ubuntuboon

Donnerstag, 10. April 2014

Samba-Shares - auf dem Client einbinden

Hallo,

das Einbinden hat laenger gedauert als die Shares anzulegen, da ich erstmal viel probieren musste. Die Laufwerke sichtbar zu bekommen war dabei kein Problem, ich konnte bloss nicht darauf schreiben.
Ich habe die Laufwerke schliesslich ueber die fstab (sudo kate /etc/fstab) eingebunden mit folgender Zeile:
//serverip/verzeichnis /media/verzeichnis cifs auto,user=sambabenutzer,passwd=sambapasswort,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0
(kursiver Text ist natuerlich zu ersetzen :-) )
Das funktioniert insoweit, dass ich auf das Verzeichnis und alle Unterverzeichnisse zugreifen kann. Wenn eine weitere Verzeichnisstruktur benoetigt wird empfehle ich diese nun vom Client aus anzulegen!

Ein kleines Problem habe ich noch bei der Sache, die aber auch am alten KDE auf meinem Client liegen kann. Wenn ich mehrere grosse Dateien (>250 MiB) auf den Server schieben will bricht er nach der ersten Datei mit der Fehlermeldung "zu wenig Speicherplatz auf dem Laufwerk" ab. Mal sehen, ob ich dafuer noch eine Loesung finde...
Edit (14-04-11): Das Problem liegt offensichtlich am verwendeten Dolphin (Kubuntu 12.04). mit Nautilus kommt zwar auch die Meldung, dass zu wenig Speicherplatz verfuegbar ist, diese kann man aber uebergehen und trotzdem kopieren.

Gruesse vom
ubuntuboon

Cubietruck - Laufwerke / Verzeichnisse im Netzwerk freigeben

Hallo,

was waere ein Server, wenn man darauf keine Daten ablegen kann? (ich weiss: ein Webserver zum Beispiel ;-) )
Ich moechte meine frisch gemounteten Laufwerke natuerlich im Netzwerk freigeben, damit mein Arbeitsrechner und alle anderen im Netzwerk an die Daten ran kommen. Dazu ist Folgendes zu tun:
Als Erstes wird der Samba-Server installiert:
sudo apt-get install samba-common samba
Dabei wird eine neue Gruppe erzeugt mit dem Namen "sambashare". Hier fuege ich den Benutzer hinzu, mit dem ich plane von anderen Rechnern mich auf den Laufwerken anzumelden.
Ausserdem installiere ich noch per
sudo apt-get install system-config-samba
ein GUI Tool zum Verwalten des Servers (ich bin halt mehr der Klick-Typ :-) ).
Das Tool laesst sich starten ueber "System Tools" -> "Samba" und ermoeglicht eine einfache Administration des Sambaservers.
Was ich an dieser Stelle getan habe:
Ueber den Menuepunkt "Preferences" -> "Samba Users" gebe ich einem Systemuser ein Sambapasswort (der Einfachheit halber das Gleiche wie er auch zum Login nutzen wuerde).
Anschliessend kann man ueber das "+" Symbol die gewuenschten Freigaben eintragen.

Wenn man weiss, wie man sie einbinden muss funktioniert das Ganze auch aus Clientsicht wunderbar einfach!

Gruesse vom
ubuntuboon

Dienstag, 8. April 2014

Cubietruck - (USB-)Laufwerke dauerhaft mounten

Hallo,

letzte Aktion fuer heute:
Laufwerke einrichten. Diese sollen natuerlich bei jedem Neustart an der selben Stelle eingebunden werden, da sie teilweise ueber das Netzwerk erreichbar sein sollen.
Also habe ich ein wenig gesucht und hier eine wunderbare Anleitung gefunden, sogar auf deutsch :-) .
Im Prinzip habe ich mir in den von Hause aus installierten Programm "Preferences -> Disks" die Bezeichnungen herausgesucht, habe mir anschliessend mit dem Shellbefehl
sudo blkid /dev/sdXx
die UUID und das Dateisystem ausgeben lassen.
Anschliessend habe ich mit
sudo leafpad /etc/fstab
die entsprechende Datei geoeffnet und fuer eine ext4-Partition folgende Zeile hinzugefuegt:
UUID="UUIDderPartition" /media/mountpunkt ext4 rw,suid,dev,exec,auto,nouser,sync 0 0
bei einer ntfs-Partition sieht das Ganze stattdessen so aus:
UUID="UUIDderPartition" /media/mountpunkt ntfs rw,auto,users,exec,nls=utf8,uid=benutzername,umask=000,gid=gruppenname 0 0
ausserdem habe ich noch einige USB-Sticks, die in FAT formatiert sind, die sollen auch dran: (funktioniert mit dieser Zeile nicht, arbeite ich noch dran)
UUID="UUIDderPartition" /media/mountpunkt vfat rw,auto,nouser,exec,utf8,uid=benutzername,umask=000,gid=gruppenname 0 0
die kursiv geschriebenen Teile der Codezeile sind jeweils anzupassen.
Es funktioniert witzigerweise fuer die ntfs-Partitionen problemlos, mit den ext4-Partitionen habe ich aber noch ein Problem. Diese scheinen read-only gemounted worden zu sein. An diesem Problem arbeite ich noch.
Trotzdem vielen Dank an mein.homelinux.com.

Nachtrag:
Mein read-only Problem habe ich auch geloest. Es waren schlicht die Dateirechte, die falsch gesetzt waren. Diese habe ich nun mit 
sudo chmod 775 -R /media/mountpunkt
angepasst. Das hat augenscheinlich nicht funktioniert, nach einem Rechnerneustart ist aber alles OK.

Gruesse vom
ubuntuboon

edit 11.04.2014: Codezeilen ext4 und ntfs angepasst, vfat funktioniert noch nicht
edit 12.04.2014: vfat angepasst, funktioniert jetzt auch!

Cubietruck - Einrichtung x11vnc

Hallo,

da der Cubietruck ja ein Server werden soll braucht er natuerlich nicht staendig einen eigenen Bildschirm und Eingabegeraete. Daher musste ich nun einen vnc-Server installieren.
Hier habe ich mich fuer x11vnc entschieden dank der Anleitung im wiki von ubuntuusers.de.
Die Installation ist mit dem Befehl
sudo apt-get install x11vnc
schnell erledigt. Auch ein Passwort ist schnell angelegt:
 
sudo x11vnc -storepasswd DEINPASSWORT /etc/x11vnc.pass
Ich habe den Server dann direkt mal gestartet und wollte mich verbinden, funktioniert aber nicht. Erst als ich den Server ohne Beruecksichtigung der Passwortdatei gestartet habe konnte ich eine Verbindung aufbauen. Liegt in meinem Fall wahrscheinlich am verwendeten Client..

Zwischenstand: Software ist installiert und laesst sich starten. Das muss jetzt bloss noch automatisch gehen :-)
Laut der oben erwaehnten Anleitung sollte ein kleines Skript das Problem loesen. Also:
sudo leafpad /etc/init/x11vnc.conf
und folgendes reinschreiben:

start on login-session-start 
script /usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -noxrecord -noxfixes -noxdamage -forever -bg -o /var/log/x11vnc.log 
end script

Ich hatte mich beim ersten schreiben des Skripts vertan (in der ersten Zeile Leerzeichen anstatt Bindestriche) daher hat es nicht funktioniert. Nach der Korrektur aber problemlos.
Info nebenbei, wenn so eine dauerhafte Moeglichkeit zum Remote Zugriff gebaut wird denkt daran, dem Ziel eine feste IP zu geben ;-)

Gruesse vom

ubuntuboon

Cubietruck - User anlegen - Autologin einrichten

Hallo,

der naechste Schritt war es fuer mich neue Benutzer fuer den Server anzulegen, da ich nicht mit dem Standardbenutzer arbeiten wollte.
Da mir hier die Moeglichkeiten der Shell schlicht zu gross waren habe ich mich dazu entschlossen mit
apt-get install gnome-system-tools
die Anwendung "Users and Groups" zu installieren ueber die ich komfortabel in der GUI neue Benutzer anlegen kann und auch die Gruppenzugehoerigkeit anpassen kann.

Danach wollte ich, dass sich ein eben angelegter Benutzer automatisch am System anmeldet nach dem Start.
Hier wurde das Ganze wieder etwas schwierig, da sich die Aussagen im Netz teilweise widersprechen, was den verwendeten Loginmanager betrifft. Folgendes hat bei mir letzlich zum Erfolg gefuehrt:

In der GUI die Passwortabfrage fuer den User deaktiviert.

danach habe ich per
sudo leafpad /etc/lxdm/defaults.conf
die Datei geoeffnet und den Abschnitt [base]
aktiv geschaltet inddem ich den # entfernt habe und den Benutzernamen eintrug.
Der vollstaendige Abschnitt zum anschauen:
[base]
## uncomment and set autologin username to enable autologin
autologin=BENUTZERNAME

Das allein hat jedoch nicht ausgereicht (falscher Loginmanager?)


Also mit 
sudo leafpad /etc/lightdm/lightdm.conf
die entsprechende Datei erstellt und geoeffnet und hier folgendes eingetragen:
[SeatDefaults]
autologin-user=BENUTZERNAME
autologin-user-timeout=0
greeter-session=lightdm-gtk-greeter
user-session=Lubuntu


Anschliessend den Cubietruck neu starten et voila, BENUTZERNAME loggt sich automatisch ein und ich lande direkt auf dem Desktop.
Warum mir das so wichtig ist erklaere ich im naechsten Post.


Gruesse vom
ubuntuboon

Cubietruck - OS installieren

Hallo,

der erste Akt war es das Betriebssystem auf dem Cubietruck zu installieren. 
Dazu folgende Info:
Das Cubietruck hat einen internen Flashspeicher von 8 GiB auf dem werksseitig ein Androidsystem installiert ist. Dieses will ich unangetastet lassen um bei spaeteren Problemen einfach alle Stecker ziehen zu koennen um zu sehen ob die Hardware noch OK ist.
Weiter hat das Cubietruck einen MicroSD-Kartenslot und einen SATA-Port fuer eine Festplatte. 
Ich habe mich entschieden ein ubuntu-basiertes OS auf einer SD laufen zu lassen. Es gibt verschiedene Moeglichkeiten das Lubuntu auf die SD-Karte zu schreiben. An der meistpropagierten Version bin ich aufgrund der manuellen Partitionierung ueber die Shell gescheitert. Nach einen Hilfegesuch hier habe ich eine schoene ubuntuboontaugliche Anleitung bekommen, mit der die Installation letzendlich geklappt hat.
Danke auch von hier aus an rose28357 aus dem cubieboard-forum und an benn von cubieforums.com!

Die eigentliche Installation findet folgendermassen statt:
wget http://dl.cubieboard.org/software/a20-cubietruck/lubuntu/ct-lubuntu-card0-v1.03/EN/lubuntu-desktop-v1.03-card0-4g-en.img.gz
Das Image habe ich dann ueber die GUI entpackt.
Zum Schluss das Image nur noch auf die SD-Karte schreiben (wobei sdX bei mir sdb war)
dd if=lubuntu-desktop-v1.03-card0-4g-en.img of=/dev/sdX
2 Anmerkungen dazu: 
1. Es ist zar in der Anleitung angegeben, dass das Image fuer eine 4 GB SD-Karte erstellt wurde, hier brach es bei mir aber aus Platzmangel kurz vor Schluss ab, ich habe dann eine groessere genommen und es hat funktioniert.
2. Macht euch keine Sorgen, wenn ihr lang von der Shell nichts hoert. Bei mir hat die Uebertragung ziemlich genau eine Stunde gebraucht.

Nun braucht ihr nur noch die MicroSD-Karte aus dem Adapter nehmen, in den entsprechenden Slot im Cubietruck einrasten zu lassen und das Teil mit Strom zu versorgen. Es startet und bootet ein Lubuntu. 
Die Logindaten lauten:
username: linaro
password: linaro 

Das war der Start, noch viel zu tun :-)

Gruesse vom
ubuntuboon

 

Wieder da

Hallo zusammen,

lang ist hier nichts passiert, aber ich gebe mir Muehe mal wieder etwas regelmaessiger zu schreiben. Ich hab mir ein neues Spielzeug zugelegt: ein Cubieboard 3 / Cubietruck.
Dieses wird mein neuer Home- und Mediaserver. Eine genaue Aufstellung des Hardware-setup und evtl. auch Fotos folgen, wenn es ansehnlich wird ;-) 
Zur Zeit bin ich noch massiv mit den einfachsten Einstellungen beschaeftigt, die ich versuche so gut wie moeglich zu dokumentieren.

Soweit erstmal, ich hoffe es kommen heute noch ein paar Updates...

Gruesse vom
ubuntuboon