Showing Posts From
Linux

- 01 Oct, 2018
- 2 Min. Lesezeit
Docker auf dem Raspberry Pi installieren mit nur einem Befehl - raspbian debian stretch jessie
Am schnellsten und einfachsten installierst du Docker auf einem Raspberry Pi, oder Linux Debian mit dem get-docker.sh Script von Docker. Mit nur einem Befehl, installierst du Docker auf deinem RPi. Bevor man ein fremdes Script ausführt, sollte man sich vergewissern, dass keine schädliche Software installiert wird. Detaillierte Informationen zum Script findest du auf github.com/docker/docker-install. Da das Script von Docker selbst erstellt wurde und fast 300 Sterne auf Github hat, kannst du dem Script vertrauen bzw. selbst nachschauen was drin steht. InhaltDocker via get.docker.com Script installieren Mit folgendem Befehl kannst du die aktuelle Docker Version installieren. curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh Was macht der Befehlt: curl ist ein Befehl um Daten von einem Server zu empfangen, oder zu senden. Dieser ruft den Inhalt der Seite get.docker.com ab und speichert ihn in einer Datei namens get-docker.sh ab. Mit den Zeichen && wird ein zweiter Befehlt angehangen. Dieser startet das gespeicherte Bash Script get-docker.sh. curl Parameter -f: keine Fehlerausgabe -s: Silent/quiet mode; zeigt keine Fortschrittsanzeige und Fehlermeldungen -S: in Verbindung mit dem -s Parameter, curl zeigt eine Fehlermeldung wenn es fehlschlägt -L: wenn die Seite umgezogen ist und einen Header Response Code 3xx zurück gibt, startet curl neu mit der neuen Adresse -o: schreibt die Ausgabe von curl in eine Datei Die Beta Version (release candidates) von Docker kannst du mit folgendem Befehlen installieren. curl -fsSL test.docker.com -o test-docker.sh && sh test-docker.shDocker installation testen Ob die Docker installation erfolgreich war, kannst du mit folgendem Befehl testen. Es sollte eine Nachricht erscheinen "Hello from Docker! This message shows that your installation appears to be working correctly." sudo docker run hello-world Im Hintergrund passieren folgende Schritte:der Docker Client kommuniziert mit dem Docker Daemonlädt das Docker Image hello-world vom Docker-Hubder Docker Daemon erstellt ein neuen Container vom Image, welcher den Code für die Ausgabe ausführtDocker Daemon leitet die Ausgabe zum Docker Client weiter und dieser sendet die Ausgabe wiederum an deinen Terminal/CLIhilfreiche Docker Befehle docker images Listet alle Docker Images auf dem System auf docker ps Listet alle Docker container auf dem System auf docker run -it IMAGE-ID bash Bash/CLI in einem laufenden Docker Container nutzen (IMAGE-ID bekommst du mit docker images herraus) docker rm $(docker ps -a -q) && docker rmi $(docker images -q) All Docker Container und Docker Images löschen

- 03 Dec, 2017
- 1 Min. Lesezeit
Raspbian/Debian Linux Version herausfinden (Wheezy, Jessi oder Stretch) - Raspberry Pi Debian
Befehle mit denen du System Informationen, Versionsnummer und Versionsnamen vom Raspberry Pi Betriebssystem Raspbian anzeigen lassen kannst. Inhaltuname - System Information uname -a Mit diesem Befehl kannst du dir alle wichtigen System Informationen anzeigen lassen. Du kannst dir auch die Informationen separat anzeigen lassen.Kernel Name: uname -s Network Hostname: uname -n Kernel Release: uname -r Kernel Version: uname -v Hardware Name: uname -m Prozessor Typ: uname -p Hardware Platform: uname -i Betriebssystem: uname -ocat - Debian Version cat /etc/debian_version Möchtest du die Debian Versionsnummer herausfinden, dann kannst du diesen Befehl verwenden.lsb_release - Raspbian Versions Namen lsb_release -a Dieser Befehl gibt dir genauere Information zur verwendeten Raspbian Version.Falls du weitere wichtige Befehle kennst, schreib sie in die Kommentare um den anderen zu helfen.

- 26 Jul, 2017
- 5 Min. Lesezeit
35 Raspberry Pi Linux CLI/Terminal Befehle + Pro-Tipps
Inhalt Tips für Pro's Zum letzten Ordner navigieren cd -Mit diesem Befehl kannst du schnell zum vorherigen Ordner navigieren. Nicht zu verwechseln mit cd .. womit man zum nächst höheren Ordner navigiert. Letzte Befehle anzeigen Mit der Pfeiltasten oben kannst du die letzten Befehle anzeigen. So kannst du lange sich wiederholende Befehle schnell ausführen. Die History wird in der Datei ~ / .bash_history gespeichert. Aktuellen Befehl nicht der History hinzufügen Wenn du nicht willst, dass der aktuelle Befehlt in der History erscheint, musst du einfach ein Leerzeichen vor dem Befehlt schreiben. [Leerzeichen] [Befehl]Kalender im Terminal anzeigen calZeigt den Kalender zum aktuellen Monat an.Letzte Befehle durchsuchen (Autocomplete) STRG + R drücken Damit kannst du schneller einen bestimmten Befehl aus der History aufrufen. Tippe ein Teil des Befehls und der Terminal vervollständigt den Rest. Du kannst die Suche mit STRG + C abbrechen. Allgemein Über SSH sich mit dem Raspberry Pi verbinden ssh pi@raspberrypi.localWenn sich ein Raspberry im selben Netzwerk befindet wie dein Rechner, dann kannst du mit diesem Befehl eine SSH Verbindung herstellen. Das Standart Passwort für den Benuzter Pi ist raspberry Falls es nicht klappt, kann es sein das dein Raspberry Pi nicht im selben Netzwerk ist, oder es mehrere Raspberry Pi im Netzwerk vorhanden sind. Es kann auch sein das SSH am Raspberry Pi nicht aktiviert ist. Standardmäßig ist SSH bei Raspbian deaktiviert. Alternativ kannst du nach dem @ auch die IP des Raspberry Pi schreiben. ssh pi@Ip-Des-RaspberryWenn dein Raspberry Pi über das Internet öffentlich erreichbar ist, solltest du aus Sicherheitsgründen den Standart SSH Port ändern. Hänge den Parameter -p an den Befehl an, um eine SSH Verbindung mit geändertem SSH Port aufzubauen (ersetze 7777 mit deiner Port Nummer). ssh pi@Ip-Des-Raspberry -p 7777Terminal Ausgabe löschen clearLöscht die Ausgabe der vorherigen Befehle. Einstellungen Raspberry Pi Konfigurations Tool starten sudo raspi-config Nach dem ersten Starten des Raspberry Pi solltest du die Grundeinstellungen anpassen. Alle wichtigen Einstellungen kannst du mit dem Konfigurations Tool ändern. Hier eine grobe Übersicht der Einstellmöglichkeiten: Sprache, Zeichensatz, Zeitzone, deutsches Tastatur-Layout, Raspberry Pi Übertackten, Standard Passwort des Benutzers Pi, SSH aktivieren und die Software aktualisieren. Zeitzone einstellen sudo dpkg-reconfigure tzdataSoftware und Updates Raspberry Pi Software/Programme aktualisieren sudo apt-get update && sudo apt-get upgradeZuerst must du mit dem Befehl apt-get update die Paketlisten aktualisieren. Danach kannst du erst die Programme updaten. Für beide Befehle benötigst du Root Rechte. Mit den Zeichen && kannst du zwei Befehl miteinander Verbinden und sich nach einander ausführen lassen. Firmware und Kernel aktualisieren/update sudo rpi-updateFalls nicht unbedingt nötig, solltest du kein Firmware/Kernel update machen. Es kann dein laufendes System zerstören. Die Firmware und der Kernel sind unabhängig von Raspbian, OpeneElec oder eine andere Distribution. Raspbian Desktop Oberfläche (GUI) starten startxAlle installierten Programme/Packet anzeigen dpkg -lVersionsnummer und Beschreibung eines Package anzeigen apt-cache show Unnötigen Programme/Pakete löschen und den RPI neu starten sudo apt-get autoremove && sudo rebootSystem Raspberry Pi herunterfahren und ausschalten sudo shutdown -h -P nowWeitere Informationen findest du in dem Artikel Raspberry Pi richtig herunterfahren und neustarten. Prozess/ Programm beenden pkill [programmname]Der Befehl ist nützlich, wenn mal ein Programm nicht mehr reagiert und auf normalen Weg beendet werden kann. Angemeldete Benutzer uns Systemauslastung anzeigen wDer Befehlt zeig die aktuell angemeldeten Benutzer im System, wie lang das System läuft und wie die Systemauslastung ist. Raspberry PI CPU Temperatur anzeigen echo $((`cat /sys/class/thermal/thermal_zone0/temp`/1000))Raspberry Pi GPU Temperatur anzeigen /opt/vc/bin/vcgencmd measure_temp|cut -c6-9Dateisystem & Speicher Freien Speicherplatz und verwendeten Speicherplatz anzeigen df -hFreien RAM Speicherplatz anzeigen free -mPartitionen anzeigen/auflisten lsblkDateisystem überprüfen sudo shutdown -F -r now Der Raspberry Pi wird herunter gefahren und nach dem Neustart wird das Dateisystem überprüft. Den Bericht findest du danach unter folgendem Pfad. /var/log/fsck/ Liste alle versteckten Datei in eine Ordner auf ls -laxohOrdner und Dateien verwalten Mehrere Dateien in einen Ordner verschieben mv -t ZielOrdner datei1 datei2 datei3Alle Dateien und Ordner kopieren/verschieben außer ein bestimmter mv !(auzuschließendeDatei1| auzuschließendeDatei2) ZielOrdnerDer obige Befehl verschiebt alle Dateien und Ordner, mit Ausnahme von zwei Dateien (auzuschließendeDatei1 und auzuschließendeDatei2). Du kannst auch Ordner damit ausschließen. Ersetze mv mit cp um die Dateien zu kopieren. Eine bestimmt Datei oder Ordner finden/suchen sudo find / -type d -name 'httpdocs'Der Befehl such ab dem Hauptverzeichnis den Ordner (-type d für directory) mit dem Namen (-name) httpdocs. Wenn du eine Datei suchen willst musst du (-type f) für file angeben. Falls deine Datei Leerzeichen enthält, wird der Name in '' Zeichen geschrieben. Mit dem ersten Parameter nach finde (hier /) gibst du an wo gesucht werden soll. Wenn du / angibst, wird das ganz System durchsucht. sudo benötigst du nur wenn du in Systemordnern und Ordner andere Benutzer suchen willst. Log-Datei leeren sudo truncate logfileName --size 0Manchmal möchte man eine Log-Datei leeren um Speicherplatz zu sparen, oder um eine besser Übersicht für neue Einträge zu erhalten. Ersetze logfileName mit dem Namen deiner Log-Datei. Gruppe einer Datei oder Ordner ändern sudo chgrp GROUP NAMEErsetze GROUP mit dem neuen Gruppen-Namen und NAME mit dem Datei- oder Ordnernamen. Besitzer einer Datei oder Ordner ändern sudo chown -R USER:GROUP NAMEErsetze USER mit dem neuen Besitzer und NAME mit dem Datei- oder Ordnernamen. :GROUP kann auch weggelassen werden um keinen neuen Gruppen-Namen anzugeben. Zip Datei entpacken (mit Passwort) unzip -P PASSWORT '*.zip'Ersetze PASSWORT mit deinem Passwort und *.zip mit dem Dateinamen deines Zip Archives. Mit *.zip entpackst du alle Zip Dateien im aktuellen Ordner. Falls deine Zip Datei kein Passwort besitzt kannst du -P PASSWORT weglassen. Rar Datei entpacken (mit Passwort) unrar e -p PASSWORT '*.rar'Ersetze PASSWORT mit deinem Passwort und *.rar mit dem Dateinamen deines Rar Archives. Mit *.rar entpackst du alle Rar Dateien im aktuellen Ordner. Falls deine Rar Datei kein Passwort besitzt kannst du -p PASSWORT weglassen. Zip-Datei entpacken unzip DATEI.zip -d ZIELORDNERZip Datei erstellen / Ordner in eine Zip Datei komprimieren zip -r filename.zip ORDNERNAME/Wenn du noch weitere nützliche Befehle oder Tipps kennt, schreibt sie bitte in die Kommentare. Ich füge sie dann dem Artikel hinzu.
- 09 Sep, 2016
- 2 Min. Lesezeit
Node.js App mit Init Script beim Neustart/Reboot automatisch starten - linux raspberry pi daemons
Du möchtest ein Node.js Script, oder einen CMD Befehl bei Hochfahren/Neustart/Reboot automatisch ausführen, dann bist du hier genau richtig. Nach dem Laden des Linux-Kernels wird als erstes Programm überhaupt das Programm init gestartet. Dieses Programm startet alle weiteren Programme. Welche das sind, wird über die Skripte im Verzeichnis /etc/init.d/ bestimmt. Der Vorteil gegenüber der /etc/init.d/ Variante ist, das du das Script über die Kommandozeile Neustarten, Stoppen und Starten kannst. Erstell ein Init Script für "dasher" (dasher ist nur ein Beispielname, du kannst ihn nach belieben verändern). sudo nano /etc/init.d/dasherKopiere den Inhalt dieses Init Script Templates. Mehr Informationen über diese Template findest du hier.Füge hinter Provides: den Scriptnamen ein und pass diese 3 Variablen (dir, cmd und user) am Anfang des Script an. Bei cmd kannst du jeden beliebigen Befehl eintragen den du auch im Terminal ausführen kannst. So kannst du beim Neustart einen beliebigen Befehlt ausführen lassen. #!/bin/sh ### BEGIN INIT INFO # Provides: dasher # Required-Start: $network $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFOdir="/home/pi/dasher" cmd="node app.js" user="root" … beende den Nano Texteditor mit ctrl+x am Mac, oder strg+x bei Windows und speichere die Änderung mit y.Ändere die Rechte des Init Script, um es ausführbar zu machen. sudo chmod 755 /etc/init.d/dasherAktiviere den dasher Dienst/Service (ersetze den Namen "dasher" mit dem Namen den du in Schritt 3 hinter Provides: geschrieben hast) sudo update-rc.d dasher defaultsBeim nächsten Neustart/Reboot wird das Script mit ausgeführt. Um es manuell zu starten kannst du folgenden Befehl verwenden. sudo /etc/init.d/dasher start Script stoppen sudo /etc/init.d/dasher stop Script neustarten sudo /etc/init.d/dasher restart Anstatt sudo /etc/init.d/dasher restart kannst du auch sudo service dasher restart schreiben.Um zu prüfen ob das Script läuft gib diesen Befehl ein/etc/init.d/dasher statusDie Logdateien kannst du dir wie folgt live ausgeben lassen.tail -f /var/log/dasher.log tail -f /var/log/dasher.err

- 04 Sep, 2016
- 4 Min. Lesezeit
IFTTT Aktionen mit Amazon Dash Button auslösen - raspberry pi linux
Amazon hat letzte Woche endlich den Amazon Dash Button in Deutschland released. Was ist der Dash Button? Ein kleiner Knopf (ca. 6cm) der mit deinem Wlan verbunden wird. Per Knopfdruck kannst du dann ein bestimmtes Produkt über Amazon bestellen. Das hört sich erstmal nicht sehr spannend bzw. nützlich an. Wie wäre es, wenn du mit dem Knopf eine beliebige IFTTT Aktion triggern kannst. Wer IFTTT nicht kennt. Dort kannst du ein Auslöser(trigger) und eine Aufgabe festlegen, die dann ausgeführt werden soll. Ein Beispiel wäre, speichere alle Facebook-Bilder auf denen du getagt wurdest in deiner Dropbox. Update: 04.11.2016 Ifttt hat seinen Service komplett umgestellt. Recipe heißen jetzt Applets und Benutzer können zur Zeit keine eigenen erstellen. Was sehr sehr schade ist. :( Falls es wieder möglich ist eigene Maker Recipe/Applets zu erstellen, werde ich die Anleitung aktualisieren. In diesem Beitrag zeige ich dir, wie du den Dash Button mit deinem Wifi einrichtest ohne das ein Produkt bestellt wird und Installieren das Programm Dasher, das dann eine IFTTT Aktion triggert. Die Anleitung funktioniert mit einem Raspberry Pi, oder auch einem Debian/Ubuntu Linux Rechner. Wichtig ist noch, dass es bis jetzt zwei verschiedene Modelle des Amazon Dash Button gibt (Modelnr. neu JK29LP, alt JK76PL). Diese Anleitung funktioniert nur mit dem neuen Model. Wenn ihr jetzt ein Dash Button bei Amazon bestellt ist es die neue Version. Der Dash Button muss mit deinem Wifi verbunden werden. Dazu benötigst du ein Smartphone mit Bluetooth. Schalte Bluetooth ein und öffne die normale Amazon App. Hier ein kurzes Video von diesem Ablauf. Wichtig ist am Ende kein Produkt auszuwählen, da du sonst mit jedem Knopfdruck das Produkt bestellst.Jetzt kommen wir zum Teil der im Terminal ausgeführt wird. Dazu musst du eine SSH Verbindung zum Raspberry Pi/Linux Rechner herstellen.Als erstes werden die Paketlisten neu eingelesen und installieren die benötigten Programme git & libpcap-dev. sudo apt-get update && sudo apt-get install git libpcap-devDu benötigst des weiteren die aktuelle Version von Node.js (v6.5.0). Ausführliche Anleitung Node.js Quelle zu deinen Paketlisten hinzufügen. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - Jetzt kannst du Node.js installieren. sudo apt-get install -y nodejsAls nächstes kannst du das Node.js Programm "Dasher" herunterladen und installieren. Navigiere mit cd ~/ in dein Home-Verzeichnis und lade/clone Dasher von Github. git clone https://github.com/maddox/dasher.git Navigiere in das Dasher Verzeichnis cd dasher Jetzt müssen noch die von Dasher benötigten Programme/Dependencies installiert werden. npm installDasher benötigt die MAC Address von deinem Dash Button. Diese kannst du einfach herausfinden. Log dich in dein Router ein und schau unter verbundene Geräte. Du kannst auch das mitgelieferte Programm "find_button" verwenden. script/find_button Drück nach dem Start von "find_button" den Dash Button. Es sollte dir die MAC-Adresse angezeigt werden. Kopiere dir die MAC-Adresse und beende das Programm mit ctrl+c am Mac, oder strg+c bei Windows.Jetzt muss du noch Dasher konfigurieren. Erstelle eine config.json Datei im Ordner config. nano config/config.json Kopiere folgenden Code hinein und ersetze die MAC-Adresse und dein IFTTT Maker Chanel Key.{"buttons":[ { "name": "Dash1", "address": "MAC-Adresse-Deines-Dash-Button", "url": "https://maker.ifttt.com/trigger/dashbutton/with/key/Dein-Ifttt-Maker-Key", "method": "POST", "json": true, "body": {"value1": "any value", "value2": "another value"} } ]}Erstelle eine IFTTT Recipe mit IFTTT Maker Chanel als Trigger. Die Aktion kannst du frei wählen. Ich verwende im Beispiel Pushbullet als Aktion. Du musst darauf achten, dass bei Schritt 3 als "Event Name" dashbutton eingetragen wird. Das hast du mit der erstellten config Datei festgelegt "url": "https://maker.ifttt.com/trigger/dashbutton/with/key/dhROi2qDmIo693c$. Wenn du weitere Dash Buttons mit IFTTT verbinden willst, müssen sich die url's unterscheiden (dashbutton1, dashbutton2, …).Starte Dasher und drück den Knopf um zu testen ob alles funktioniert. Wenn alles funktioniert, sollte im Terminal "Dash1 pressed" stehen und deine zuvor erstellte IFTTT Aktion ausgeführt werden. In meinem Fall eine Pushnachricht auf mein iPhone über Pushbullet. sudo npm run start Mit ctrl+c am Mac, oder strg+c bei Windows kannst du das Programm beenden. Wenn man den Terminal schließt, wird auch Dasher beendet. Im nächsten Artikel werde ich beschreiben, wie das Dasher Programm beim Start mit ausgeführt wird und so immer im Hintergrund mit läuft (autostart Node.js Script). Ich bin gespannt welche Aufgaben sich damit umsetzen lassen. Schreibt euer IFTTT Recipe in die Kommentare.