Wie kann man schnell von der Komandozeile das Wetter grafisch abfragen? Das geht mit finger. Wenn finger noch nicht installiert ist ein „Mit dem Internetprotokoll finger das Wetter (Temp. in Celsius, Wind usw.) auf dem Raspberry Pi, Windows, Linux oder Mac anzeigen“ weiterlesen
Wie kann ein laufender Windows Rechner (oder Raspberry Pi) initial mit Debian 8 Jessie und WordPress 4.3 (mit SSL https) aufgesetzt werden?
Wie kann ein laufender Windows XP Rechner (oder Raspberry Pi) auf Debian 8 Jessie mit WordPress 4.3 (SSL), Apache2 (SSL, https), MySql und phpMyadmin erstellt werden? Hier die gewünschte Architektur:
Alle Daten auf den Windows Rechner müssen vorher gesichert werden, da das ganze System mit Linux überschrieben wird.
Debian Jessie
installieren
z.B. tools/win32-loader/stable/win32-loader.exe laden und installieren mit SSH Zugang, ohne GUI
Beim Raspberry Pi, analog vorgehen, wie hier im Blog schon beschrieben.
LAMP
installieren mit:
1 |
apt-get install apache2 mysql-client mysql-server php5 php5-mysql php5-curl php5-gd unzip phpmyadmin |
WordPress Database
erstellen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
mysql -u root -p # Passwort # wpdatabase, wpuser und passwort selbst wählen # evl. Database löschen mit DROP DATABASE wpdatabase; CREATE DATABASE wpdatabase; CREATE USER wpuser@localhost IDENTIFIED BY 'wppass'; GRANT ALL PRIVILEGES ON wpdatabase.* TO wpuser@localhost; FLUSH PRIVILEGES; exit # Apache und MySql restarten service apache2 restart service mysql restart |
WordPress
4.3 laden erstellen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# ins tmp Verzeichnis gehen cd /tmp # Wordpress aktuelle Version laden wget -c http://wordpress.org/latest.zip # Archive auspacken unzip -q latest.zip -d /var/www/html/ # oder wenn es ein tar.gz ist dann tar zxf wordpress-4.5.3-de_DE.tar.gz -C /var/www/html/ # Rechte vergeben chown -R www-data.www-data /var/www/html/wordpress chmod -R 755 /var/www/html/wordpress mkdir -p /var/www/html/wordpress/wp-content/uploads chown -R www-data.www-data /var/www/html/wordpress/wp-content/uploads cd /var/www/html/wordpress/ # kopieren des Beispiel cp wp-config-sample.php wp-config.php # in wp-config.php den Databasenamen, User und Passwort eintragen nano wp-config.php # im Browser aufruen und Sprache und User wählen http://localhost/wordpress/ # testen # gleich noch den Datei upload Size vergrößern # in der /var/www/html/wordpress/.htaccess die folgenden Einträge machen: vi /var/www/html/wordpress/.htaccess php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300 # unnötige Dateien löschen rm wp-config-sample.php rm readme.html rm liesmich.html rm /wp-admin/install.php # Optional: Neue Sicherheitsschlüssel (Salt) generieren über https://api.wordpress.org/secret-key/1.1/salt/ # und diesen generierten Block in die <strong>wp-config.php</strong> Datei einfügen # #define('AUTH_KEY', '-+jiH||`2);cZjy.Vy5C|!NX{KNv,Ov@=XK|SALR8++C.axK4b(Ep4U_RWAV|Ir;'); #define('SECURE_AUTH_KEY', '.+WZ>Ul&)Qak2uhZ-.(Y^]},n!.&R.VRl~+o*~7*dP{{4s*iyMO7L^{o/#lq7Xs1'); #define('LOGGED_IN_KEY', '_T)TC.YN6r9wxM*lRbjGc0dy2;<nQA+SBk|JYoU[1S~l0xLLBWbK2x+fl<1G*IP$'); #define('NONCE_KEY', 'vVrz#TDgM[,Te(v[hStvF][>ZfI;$K.^ IstOP`k>IfNo3j8h~|2rvxU&%=[eJ@w'); #define('AUTH_SALT', '/ qC?UB4&>H&hy#=:;sP6m 0}[u~oDJGhBdqskc{gY+j1yJU~/>rBL91P8kGtnG_'); #define('SECURE_AUTH_SALT', 'tUd3QTYMV.g|86`=!-?EN_P~N+jB$LwD|q-b?g[G@E!9.,{G2n|1X1_2-+Fv,y=:'); #define('LOGGED_IN_SALT', '?d`pE;|nVH?81n2#@[VYOB__Nh.l:v=4F5_uajQ4jp.,h$Z8#N2DZ}^=|sQi7?d4'); #define('NONCE_SALT', 'C*-+6P_j/o0FTQC1.(GHJ[tXNCpou<RyB.@:mx&spG@{-9< Wk|r!zoJUiwY@:M:'); # Optional die wp-config.php sichern mit folgenden Eintrag in der <strong>.htaccess</strong> Datei: <FilesMatch "(wp-config.php)"> order deny,allow deny from all </FilesMatch> |
Optional ein paar gute Plugins installieren. Hier mal eine kleine Auswahl z.B.:
Schon alt, läuft aber noch „Limit Login Attempts„.
Wenn man sich da selbst aussperrt, einfach in der DB folgenden SQL absetzen:
1 |
UPDATE wp_options SET option_value = '' WHERE option_name = 'limit_login_lockouts' |
Hier noch ein paar:
Optional kann noch ein PDF Export für die Tabellen integriert werden, wie hier beschrieben und auch gleich die Extension für das automatische URL converting.
Optional: PhpMyAdmin
installieren
In /etc/phpmyadmin/apache.conf den Eintrag
1 2 3 4 5 6 7 8 9 |
#<Directory /usr/share/phpmyadmin> # Options FollowSymLinks # DirectoryIndex index.php Require ip 127.0.0.1 10.0.0.0/24 # Apache restart service apache2 restart # Aufruf im Browser (IP)/phpmyadmin # Anmelden mit MySql Datenbankuser und Passwort |
Selbstsignierte SSL Zertifikate für Apache2
erzeugen und installieren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
mkdir .ssl cd .ssl openssl req -new -days 999 -newkey rsa:4096bits -sha512 -x509 -nodes -out server.crt -keyout server.key # Diese Fragen beantworten # Country Name (2 letter code) [AU]:DE # State or Province Name (full name) [Some-State]:Niedersachsen # Locality Name (eg, city) []:Hannover # Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Blog # Organizational Unit Name (eg, section) []:Dept of Blogging # Common Name (e.g. server FQDN or YOUR name) []:kleinhirn.eu # Email Address []:webmaster@yourdomain.com sudo cp server.crt /etc/ssl/certs sudo cp server.key /etc/ssl/private service apache2 restart # SSL Modul aktivieren a2enmod ssl service apache2 restart # Rewrite Modul für später aktivieren a2enmod rewrite service apache2 restart # Status anschauen systemctl status apache2.service # ergänzen der erzeugten Zertifikate in sudo vi /etc/apache2/sites-available/default-ssl.conf # ServerName mydomain.com:443 SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key # Default Seite aktivieren a2ensite default-ssl.conf # Server Restart service apache2 restart # http deaktivieren und https setzen in /etc/apache2/sites-enabled/titled 000-default.conf vi /etc/apache2/sites-enabled/titled 000-default.conf # Inhalt der Datei: ServerName xxx ServerAlias www.xxx Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Require all granted ServerAdmin webmaster@xxx.de DocumentRoot /var/www/html/wordpress SSLEngine on SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key #SSLCACertificateFile /home/me/domain.com.crt ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # Test ob der Blog mit https und den Zertifikaten läuft im Browser https://(IP)/wordpress/wp-login.php |
Optional: Testen
welche Ports offen sind und deaktivieren!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
nmap ip # oder sudo nmap -sT -O -v ip # wenn der Port 80 noch offen ist, in vi /etc/apache2/ports.conf # Auskommentieren oder löschen der Zeile # Listen 80 # Wenn der Port 111 rpcbind offen ist (wird für Samba gebraucht), kann der auch mit dem Tool sysv-rc-conf abgeschalte werden # Tool installieren sudo apt-get install sysv-rc-conf # Tool starten sysv-rc-conf # in der letzten Spalte wo das S ist mit der Space Taste ausschalten # in der Zeile mit rpcbind # Rechner restarten reboot # neuer Check mit nmap nmap ip # alles ok, nur die gewünschten Ports sind offen # Checken welche Module installiert sind mit apache2ctl -M # Unnötige module deaktivieren z.B. das status_module (shared) a2dismod status # Server restart service apache2 restart # Checken ob das status modul deaktiviert wurde apache2ctl -M |
Optional: Vorhandenen Blog mit dem WP Plugin
„All In One WP Migration“
exportieren und importieren, wie hier schon mal beschrieben.
Beim export evl. in „Find (text) Replace with (another-text) in the database“ den Eintrag xxx.ALTE-DOMAINE durch YYY-NEUE-DOMAINE ersetzen.
Die *.wpress Datei dann importieren.
Optional testen, welche Apache Version läuft mit:
1 2 |
apachectl -V # Ergebnis: Apache/2.4.10 (Debian) |
Optional, die History löschen, so das die erstellten Passwörter nicht ausgelesen werden können
1 |
history -c |
Super, der WordPress Blog läuft nun verschlüsselt über https 😉
Raspberry Pi: Linux kernel is now 4.0
Seit ein paar Tagen gibt es den neuen Linux Kernel 4.0.
Grund genug eine neue Firmware auf dem Raspberry PI einzuspielen:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# erst das System updaten sudo apt-get update sudo apt-get upgrade # dann mal die alte Version ausgeben uname -a # Firmware update starten sudo rpi-update # ein paar Minuten später ist noch ein Reboot nötig sudo reboot # Neue Version checken uname -a # OK: Linux pi 4.0.9+ #807 PREEMPT Fri Jul 24 23:23:23 BST 2015 armv6l GNU/Linux # Check, Fhem läuft auch ;-) |
Kali Linux: WordPress Security Scanner wpscan
Wer gerade seinen Raspberry Pi mit Kali laufen hat, kann mal eben seinen WordPress Blog auf Sicherheitslücken testen mit dem Ruby wpscan. Bei Kali ist es schon installiert aber auch bei anderen Linux derivaten kann er installiert werden. Was kann der Scanner so:
- Alle installierten Plugins listen
- Namen des Themas ausgeben
- Verzeichnis Listing
- Versions ausgabe
- Bruce force Usernamen
- Sicherheitslücken ausgeben
- …
Also erst einmal den Scanner (es gibt jetzt auch die Version 2.8) updaten mit:
1 2 3 4 5 |
wpscan --update # Scann starten, dauert ein paar Minuten, Domain ersetzen wpscan --url http://DOMAIN --random-agent --enumerate # oder nur die Plugins Listen wpscan --url www.DOMAIN.de --enumerate |
Ok, jetzt testen wir mal gegen unseren eigenen WordPress Blog, und nur gegen den, ob das Passwort für admin sicher ist:
1 2 3 4 5 6 7 |
# ein Wörterbuch laden wget http://static.hackersgarage.com/darkc0de.lst.gz # ein Wörterbuch entpacken gunzip darkc0de.lst.gz # Scan starten wpscan --url www.DOMAIN.com --wordlist /pfad/zu/darkc0de.lst --username admin # und Stunden später ... |
Weitere Beispiele unter wpscan -help
Raspberry Pi: Neue OpenWrt Version Chaos Calmer 15.05-rc1 auch für Raspberry Pi veröffentlicht
Es gibt nun eine neue Linux Version von OpenWrt. Eine ganze Menge neue Features und auch mit Treiber für den Raspberry Pi 2.
- Linux kernel updated to version 3.18
- Improved Security Features
- Improved Networking Support
- Platform and Driver Support – brcm2708: support for Raspberry Pi 2
Wie kann auf einem Raspberry Pi unter Kali Linux Ethersex für den AVR-NET-IO compiliert werden?
Wie kann auf einem Raspberry Pi unter Kali Linux (Debian müsste genauso laufen) Ethersex compiliert werden? Das geht so wie sehr ausführlich hier beschrieben. Folgende Anpassungen sind aber noch mit dem root User oder sudo nötig:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
apt-get update apt-get upgrade # die nötigen Libs installieren apt-get install gcc-avr avr-libc avrdude dialog gawk m4 libncurses5-dev # ein Verzeichnis erstellen mkdir avr-net-io # in das Verzeichnis gehen cd avr-net-io # das Projekt holen wget http://github.com/ethersex/ethersex/tarball/master/ethersex-ethersex-snapshot_compile_ok-927-g3f59c22.tar.gz # das Archive auspacken tar xfz ethersex-ethersex-snapshot_compile_ok-927-g3f59c22.tar.gz # in das Verzeichnis gehen cd ethersex-ethersex-3f59c22/ # Konfigurieren in der GUI |
# Load a Default Configuration Avr-Net-Io, Hostname vergeben, Mac anpassen, Ip und Netmask auswählen …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# Konfiguration anschauen ob alle Module wie gewünsch vorhanden sind mit make show-config # Ausgabe: MCU: atmega32 Hardware: netio These modules are currently enabled: ====================================== * ADC * ADC_INLINE * ECMD_PARSER * ECMD_TCP * ENC28J60 * ETHERNET * HTTPD * ICMP * IPV4 * NET * ONEWIRE * ONEWIRE_DETECT * ONEWIRE_DETECT_ECMD * ONEWIRE_INLINE * PORTIO_SIMPLE * TCP * UIP * VFS * VFS_INLINE * VFS_INLINE_INLINESVG * VFS_IO_INLINE # compilieren mit make # nach ein paar Minuten ist das ethersex.hex File zum flashen bereit: Final size of ethersex.bin is 28018. avr-objcopy -O ihex -I binary ethersex.bin ethersex.hex =======The ethersex project======== Compiled for: atmega32 at 16000000Hz Imagesize: 28018/32768 bytes (85.50%) [=========================-----] Program (.text + .data) : 20548 bytes Data (.data + .bss) : 1131 bytes |
So oder so läuft dann das flashen. Oder auch so, mal sehen was am Besten läuft. Aber nicht mehr heute Nacht …
Raspberry Pi: Was ist bei Kali Linux anders als im Debian?
Wer den Raspberry Pi bisher unter Debian laufen hat, wundert sich evl. über einige Unterschiede zu Kali Linux. Welche fallen zuerst auf?
Es gibt default kein raspi-config. Der Speicher der SD-Karte kann aber mit raspi-config sehr einfach expandiert werden. Deshalb ausnahmsweise ein paar Packages, die nicht von Kali stammen, wie folgt installieren mit dem root User:
1 2 3 4 5 6 7 8 9 |
apt-get update apt-get upgrade wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20150706_all.deb # lua5.1 da lua5.2 nicht läuft wget http://http.us.debian.org/debian/pool/main/l/lua5.1/lua5.1_5.1.5-7.1_armel.deb wget http://http.us.debian.org/debian/pool/main/t/triggerhappy/triggerhappy_0.3.4-2_armel.deb dpkg -i triggerhappy_0.3.4-2_armel.deb dpkg -i lua5.1_5.1.5-7.1_armel.deb dpkg -i raspi-config_20150706_all.deb |
Dann gibt es unter Kali kein /boot
Verzeichnis mit den Boot Dateien. Das /boot
Verzeichnis ist dort leer. Das /boot
Verzeichnis liegt auf einer anderen Partition und zwar auf mmcblk0p1
. Deshalb ein Verzeichnis z.B. /boot-bereich anlegen und mounten. Dann können diese Dateien bearbeitet werden.
Wenn die Dateien bearbeitet wurden, einfach das Verzeichnis wieder umounten.
1 2 3 4 |
mkdir /boot-bereich mount /dev/mmcblk0p1 /boot-bereich/ nano /boot-bereich/config.txt umount /boot-bereich |
Welche Unterschiede fallen Euch auf? Gern als Kommentar.
Raspberry Pi: „Man merkt oft erst, was man hatte, wenn man es verliert“
Nach dem Motto „Man merkt oft erst, was man hatte, wenn man es verliert“, mal die Package entfernen die nach einer Neuinstallation von mir meistens nicht benötigt werden, und nur Platz verschwenden, da der Raspberry Pi bei mir immer über die Kommandozeile per SSH bedient wird.
Es werden also keine X-Server usw. benötigt. Für Packages die nicht installiert sind, braucht es auch keine Sicherheitsupdates und wenn man doch mal ein Package braucht kann man es ja auch leicht wieder installieren.
1 2 3 4 5 6 7 |
sudo apt-get update sudo apt-get upgrade sudo apt-get remove x11-common x11-utils x11-xkb-utils libx11-6 lxde-common wolfram-engine sudo apt-get autoremove dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge sudo apt-get autoclean sudo rpi-update |
Jetzt kann mal mal mit df -h
schauen, was man verloren hat:
Ok, auf der 8 GB Karte ist noch 6 GB Frei!
Oder habe ich noch was vergessen, was nicht benötigt wird (dpkg --list
)? Gern als Kommentar.
Wie wird auf dem Raspberry Pi die aktuell installierte Debian Version angezeigt?
Wer die Raspbian Debian Wheezy Version: September 2014 installiert hat, hat die neueste Version vom Release: 9.9.2014 URL: raspbian.org mit Kernel version: 3.12. installiert.
Wie kann auf dem rPi diese Infos ermittelt werden?
Der Name und die Release Version steht in der Datei /etc/issue
und kann auf der Konsole mit:
1 |
cat /etc/issue |
ausgegeben werden. Es wird bei mir ausgegeben:
1 |
Raspbian GNU/Linux 7 |
Details unter „Wie wird auf dem Raspberry Pi die aktuell installierte Debian Version angezeigt?“ weiterlesen
Wie kann schnell auf einem Raspberry Pi die Speicherbelegung mit ncdu 1.8 angezeigt werden?
Ncdu ist ein ncurses-basierter Betrachter zu du. Verzeichnisse können schnell durchsucht und die prozentuale Plattenbelegung angezeigt werden (wie du (disk usage)).
Installiert ist das Ncdu mit einem
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ncdu
Es werden folgende Abhängigkeiten installiert:
„Wie kann schnell auf einem Raspberry Pi die Speicherbelegung mit ncdu 1.8 angezeigt werden?“ weiterlesen
Wie kann auf einem Raspberry Pi die Zeit angezeigt werden, wie lange der Pi läuft (uptime)?
Manchmal möchte man wissen, wie lange der Raspberry Pi läuft. Windows Systeme müssen oder werden häufig gebootet. Der kleine Raspberry Pi, läuft unter Linux Debian sehr stabil.
Zum Beispiel läuft einer meiner PasPis, über 86 Tage ohne das er vom Strom getrennt wurde. Er hat ja auch noch nicht einmal einen an/aus Schalter.
Unter Webmin kann man diese Zeit, über den Menüpunkt Systeminformationen abrufen:
Oder einfach auf der Konsole uptime eingeben, es wird dann ua. die Zeit geliefert:
20:16:10 up 86 days, 23:46, 1 user, load average: 0,02, 0,33, 0,87
Wie lange läuft Euer rPi? Kommentare dazu erwünscht.
Wie kann der Raspberry Pi auf die neue Debian Version Jessie upgedated werden?
Aktuell ist die Linux Wheezy Version. Wer aber neue Funktionen ausprobieren will, kann den Raspberry Pi auch auf Jessie updaten. Wenn auch noch nicht alles so stabil sein soll, bekommt man doch einfach die neuesten Versionen. Z.b. PHP 5.5.12. Diese Version wird aber noch nicht zeitnah mit Sicherheitsaktualisierungen versorgt und hat den Status Testing.
Es braucht nur die folgende Datei angepasst zu werden:
sudo nano /etc/apt/sources.list
Wo „wheezy“ steht auf „jessie“ ändern und speichern. Dann den update Vorgang starten mit:
sudo apt-get update && apt-get dist-upgrade && apt-get autoremove
Es kommen dann während der Installation einige Fragen die beantwortet werden müssen, ob Service usw. restartet werden sollen. Dann nach ca. eine Stunde kann mit
sudo apt-get autoclean
die Reste entfernt werden und das System neu gestartet werden:
sudo shutdown -r now
Dann evl. noch checken ob alles ok ist mit:
sudo apt-get check
So hat man jetzt auch die aktuellste PHP Version, testen mit
php -v
Erzeugt nun:
PHP 5.5.12-1 (cli) (built: May 11 2014 09:41:44)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
Wie kann auf dem Raspberry Pi angezeigt werden, wer am System angemeldet ist und was sie/er gerade tut?
Oder, wer kennt einen kürzeren Linux Befehl auf der Konsole als?
w
Cool! w zeigt Informationen über die gerade eingeloggten Benutzer und ihre Prozesse an. Auch die aktuelle Zeit, die Zeit, seit der das System läuft, wie viele Benutzer gerade angemeldet sind und die durchschnittliche Systemlast der letzten 1, 5 und 15 Minuten.
Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?
Wollte schon immer einen eigenen LDAP-Server haben. Da es heute regnet, habe ich mir einen mal auf dem Raspberry Pi eingerichtet. Hier gibt es eine gute Anleitung (auf englisch) zum installieren eines Ldap Servers. Analog dazu habe ich mal eine Anleitung zum openLDAP in deutsch angelegt. Erste mal eine Mindmap zum Thema:
Kurz ist folgende nötig (BPMN 2.0):
„Wie wird ein openLDAP-Server, phpLDAPadmin und LDAP-Client auf einem Raspberry Pi installiert?“ weiterlesen
Wie kann ein USB-Stick ext4 formatiert und am Raspberry Pi automatisch angeschlossen (gemounted) werden?
Der rPi hat zwei USB Ports und an jedem kann ein USB-Stick angeschlossen werden. Wie das gemacht werden kann, steht in der ausführlichen Anleitung.
Es geht aber auch mit usbmount, disk-utility und webmin. Also erst einmal ein paar Tools installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ntfs-3g hfsutils hfsprogs usbmount gnome-disk-utility
In /var/log/messages
schauen wo der USB-Stick eingebunden wird. Normal /dev/sda1
.
Dann den USB Stick mit ext4 formatieren.
mkfs -t ext4 /dev/sda1
In Webmin den mount anlegen unter:
Und den mount wie folgt bearbeiten:
Dann wir beim speichern in /etc/fstab
der folgenden Eintrag erstellt:
So das auch beim nächsten Neustart der USB-Stick automatisch gemountet wird.
Will man den USB-Stick entfernen:
sudo umount /media/usb1
Oder will man die UUID anzeigen:
sudo blkid /dev/sda1
Rechte setzen mit:
sudo chown pi:pi -R /media/usb1
sudo chmod a+w -R /media/usb1
Wie wird auf dem Raspberry Pi der Fhem-Server in 15 min. installiert?
Der Fhem-Server läuft bei mir unter OpenWrt. Nun möchte ich in auf einem Raspberry Pi neu installieren. Vorbedingung ist ein laufender rPi unter Debian wheezy.
Zu erste Perl und einig libs installieren. Dann das Debian Package (8,8 MB) von der Fhem Seite runterladen und installieren. Zu guter letzt die Berechtigungen setzen.
1 2 3 4 5 6 7 8 9 |
mkdir download cd download sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl wget http://fhem.de/fhem-5.7.deb sudo dpkg -i fhem-5.7.deb cd /opt sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem cd ~ ln -s /opt/fhem/ fhem |
Nach eingabe der URL http://[ip-vom-rpi]:8083 wird man mit der GUI des Fhem-Servers begrüßt:
Dann noch ein in dem Browser-Eingabe von Fhem oben, ein update und restart eingeben um den Fhem-Server auf dem neuesten Stand zu bringen.
Fhem kann auf der Konsole mit folgenden Befehlen gestartet oder gestopt werden. Auch der jeweilige Status kann abgefragt werden.
1 2 3 |
sudo /etc/init.d/fhem start sudo /etc/init.d/fhem stop sudo /etc/init.d/fhem status |
Wie kann ein aus dem Internet geladenes *.deb Archive auf einem Raspberry Pi installiert bzw. gelöscht werden?
Manchmal muss man ein deb-Archive auf dem rPi aus dem Internet laden und lokal einspielen, da das deb Archive nicht im Repository vorhanden ist.
Das geht einfach mit dpkg (Debian Package) und nicht mit apt-get da dies nur Pakete aus dem Repository landen kann, das in der Datei /etc/apt/sources.list aufgelistet ist. In der Regel deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi.
z.B. wenn das lokale Archive auto-pdf-1.0.deb installiert werden soll:
sudo dpkg -i auto-pdf-1.0.deb
-i = install = installieren
und schauen ob es installiert wurde mit:
sudo dpkg -l | grep 'autopdf'
oder
sudo dpkg -l | grep 'auto-*'
und alles wieder löschen mit:
sudo dpkg -r autopdf
-r = remove = löschen
Auch noch hilfreich für Infos und anzeige des Inhalts des Archivs.
dpkg --info auto-pdf-1.0.deb
dpkg --contents auto-pdf-1.0.deb
Cheat Sheet und man-Page
Wie kann die installierte Version auf dem Raspberry Pi angezeigt werden?
Manchmal will man wissen welche Linux Version auf dem Raspberry Pi installiert ist. Es gibt mehrere Möglichkeiten diese auszulesen. Über die Konsole mit diesen vier Möglichkeiten:
cat /proc/version
uname -a
cat /etc/issue
# nur bei Debian
cat /etc/debian_version
Oder hier eine Möglichkeit über Webmin (https://IP:10000/):
Kennt ihr noch weitere?
Wie lege ich auf einem Raspberry Pi den default Drucker für lpr (line print) fest?
Wenn man eine Datei von der Konsole mit lpr ausdrucken will kommt evl. diese Fehlermeldung:
pi@rPi ~ $ lpr beispiel-anhang.txt
lpr: Error - no default destination available.
Dann kann man mit lpstat -s alle im System bekannten Drucker listen lassen:
i@rPi ~ $ lpstat -s
no system default destination
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/
Wie kann nun der default Drucker gesetzt werden? Mit z.B.
pi@rPi ~ $ lpoptions -d PDF_Drucker
Ein wiederholtes checken mit lpstat ergibt nun den gesetzten default Drucker.
pi@rPi ~ $ lpstat -s
system default destination: PDF_Drucker
device for HP_Color_LaserJet_2600n: dnssd://HP%20Color%20LaserJet%202600n._pdl-datastream._tcp.local/
device for PDF_Drucker: cups-pdf:/
Nun läuft auch das Drucken mit
lpr beispiel-anhang.txt
Wie können E-Mails vom Raspberry Pi (rPi) inklusive Anhang mit mutt (nSMPT) versendet werden?
E-Mails vom Raspberry Pi aus versende geht wie schon für den WR703N beschrieben. Ist halt auch Linux.
Also hier noch einmal kurz zusammengefasst, die Installation für den Raspberry Pi mit zusätzlichem Beispiel für das versenden einer E-Mail via mutt inkl. Dateianhang. Vorraussetzung ist eine Raspberry 2014-09-09-wheezy-raspbian.zip installation.
Dann das System updaten und einige Tools installieren mit
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install mutt msmtp ssmtp nano mailutils mpack ca-certificates apt-show-versions |
Es sind dann folgende Versionen nach ein paar Minuten installiert:
1 2 3 4 5 6 7 8 9 10 |
apt-show-versions mutt msmtp ssmtp nano mailutils mpack ca-certificates apt-show-versions # Ergebnis: apt-show-versions/wheezy uptodate 0.20 ca-certificates/wheezy uptodate 20130119 mailutils/wheezy uptodate 1:2.99.97-3 mpack/wheezy uptodate 1.6-8 msmtp/wheezy uptodate 1.4.28-1 mutt/wheezy uptodate 1.5.21-6.2+deb7u2 nano/wheezy uptodate 2.2.6-1 ssmtp/wheezy uptodate 2.64-7 |
Dann die drei Dateien wie in beschrieben anpassen:
1 2 3 |
sudo vi /etc/msmtprc sudo vi /etc/ssmtp/ssmtp.conf sudo vi /etc/ssmtp/revaliases |
Wenn alles konfiguriert ist, können E-Mails mit Anhang über mutt
wie folgt versendet werden:
1 |
mutt -s "Test E-Mail mit Anhang einer Datei" test@email.de -a beispiel-anhang.txt |
Nach Enter öffnet sich ein Eingabefeld für die Empfänger E-Mail (to). Bestätigen mit Enter oder anpassen. Dann kommt das Betreff (subject). Weiter mit Enter oder anpassen. Dann öffnet sich der default Editor (nano 2.2.6 oder vi) dort kann der Text der E-Mail eingegeben werden. Speichern (ctrl und O) und Beenden (ctrl und X). Es öffnet sich das mutt Fenster und y zum versenden der E-Mail mit Anhang drücken.
Schon wird die E-Mail versendet.
Oder ohne den mutt
Dialog
1 |
mutt -s "Test E-Mail mit Anhang" test@email.de -a beispiel-anhang.txt <. |
versendet die E-Mail sofort nach Enter.
So lief es zumindestens auf einen Raspbeery Pi mit einem älteren Debian. Bei dieser aktuellen Version bekomme ich immer diesen Fehler mit mutt
:
*** glibc detected *** sendmail: munmap_chunk(): invalid pointer: 0x0141153f ***
Da habe ich auch noch keine Lösung für gefunden. [UPDATE 1.11.2014] Habe den Fehler jetzt gefunden. In der Datei /etc/ssmtp/smtp.conf
hatte ich unter rewriteDomain den Username hinzugefügt (rewriteDomain=username@wenzlaff.de) richtig ist aber nur der Domain Name z.B. rewriteDomain=wenzlaff.de. Damit läuft es nun super. [/UPDATE]
Habe es deshalb wie hier beschrieben mit einem nSMTP Client versucht. D.h. erstellen von /etc/msmtprc
und (optional) .msmtprc
.
Damit läuft das versenden von E-Mails erst einmal.
Hier die Config-Dateien für Strato:
Eine globale /etc/msmtprc
Datei, wird gelesen wenn keine im Userverzeichnis vorhanden ist.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# /etc/msmtprc account default host smtp.strato.de port 587 auth on user email@test.de password HIER DAS PASSWORT auto_from on from email@test.de tls on tls_starttls on tls_certcheck off logfile syslog LOG_MAIL |
Die .msmtprc überschreibt die globale /etc/msmtprc
Datei wenn vorhanden (optional).
1 2 3 4 5 6 7 8 9 10 11 12 |
# .msmtprc account default host smtp.strato.de from email@test.de auth on port 587 user email@test.de password HIER DAS PASSWORT logfile ~/.msmtp.log tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt |
Wenn die .msmtprc vorhanden ist, muss sie dem User gehören und darf nur für den User schreib und lesbar sein. Ein ls-la
muss so aussehen
-rw------- 1 pi pi 479 Oct 13 22:53 .msmtprc
Also evl. noch anpassen:
1 2 3 |
sudo chown pi:pi .msmtprc sudo chmod o-r .msmtprc sudo chmod g-r .msmtprc |
Testen des E-Mail versand mit:
1 |
echo -e "Subject: Test E-Mail vom rPi\r\n\r\nEine Test E-Mail" |msmtp --debug --from=default -t email@test.de |
Ergebnis Auszug:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
loaded system configuration file /etc/msmtprc loaded user configuration file /home/pi/.msmtprc falling back to default account using account default from /home/pi/.msmtprc host = smtp.strato.de port = 587 timeout = off protocol = smtp domain = localhost auth = choose user = E-Mail des Users password = * passwordeval = (not set) ntlmdomain = (not set) tls = on tls_starttls = on tls_trust_file = /etc/ssl/certs/ca-certificates.crt tls_crl_file = (not set) tls_fingerprint = (not set) tls_key_file = (not set) tls_cert_file = (not set) tls_certcheck = on tls_force_sslv3 = off tls_min_dh_prime_bits = (not set) tls_priorities = (not set) auto_from = off maildomain = (not set) from = default dsn_notify = (not set) dsn_return = (not set) keepbcc = off logfile = /home/pi/.msmtp.log syslog = (not set) aliases = (not set) reading recipients from the command line and the mail ... STARTTLS 220 Ready to start TLS TLS certificate information: Owner: Common Name: smtp.strato.de Organization: Strato AG Organizational unit: Rechenzentrum Locality: Berlin State or Province: Berlin Country: DE Issuer: Common Name: TeleSec ServerPass DE-2 Organization: T-Systems International GmbH Organizational unit: T-Systems Trust Center Locality: Netphen State or Province: Nordrhein Westfalen Country: DE Validity: Activation time: Wed 16 Apr 2014 18:08:38 CEST Expiration time: Wed 22 Apr 2015 01:59:59 CEST Fingerprints: SHA1: D1:B3:59:F7:46:D2:9D:AB:CF:4B:B2:8E:64:99:D5:64:94:CD:19:27 MD5: 3C:8B:C2:5F:9A:5C:43:6C:46:56:C6:CC:FB:AF:30:1F EHLO localhost ... MAIL FROM:<default> RCPT TO:<Empfänger E-mail> DATA 250 2.1.0 Sender ok 250 2.1.5 <Absender E-mail> Recipient ok 354 Enter data for mail with id xxxxxxxxxx Subject: Test E-Mail vom rPi Eine Test E-Mail . 250 2.0.0 queued as xxxx QUIT 221 2.0.0 closing connection |
Habt ihr noch andere Alternativen oder ein Lösung warum mutt nich läuft? Dann hier als Kommentar posten.
Wie können die installierten Versionen der Packages/Programme auf einen Raspberry Pi angezeigt werden?
Manchmal will man wissen, welche Version von einem Programm bzw. Package auf den Raspberry Pi installiert ist und ob es eine (und welche) neue Version von einem Package oder Programm gibt.
Die Anzeige der Versionsnummern ist default nicht vorhanden, läßt sich aber mit
1 |
sudo apt-get install apt-show-versions |
schnell nach installieren.
Das
1 |
apt-show-versions -help |
gibt dann eine Anleitung und alle Parameter des Programms aus:
Ein apt-show-versions gibt dann eine Liste aller Package mit Versionsnummern aus, hier ein kleiner Ausschnitt:
Will man wissen ob es neue Versionen gibt, hilft ein apt-show-versions -u
Weitere Parameter wie regex ua. siehe in der obigen Onlinehilfe.
Wer möchte kann hier weitere Befehle posten!
Wie kann die BackTrack Linux Penetration Testing und Security Auditing Linux Distribution Kali auf einem Raspberry Pi installiert werden?
Zuerst das gepackte Kali Image kali-linux-1.0.5-armel-rpi.img.xz (ca. 2 GB) von Kali.org herunter laden. Auch noch die beiden Signatur Dateien SHA1SUMS und SHA1SUMS.gpg aus dem gleichen Verzeichnis.
(Optional Signatur/Unterschrift vergleichen)
1 2 3 4 5 6 |
# Kali Key laden gpg --keyserver hkp://keys.gnupg.net --recv-key 7D8D0BF6 # Key ausgeben gpg --list-keys --with-fingerprint 7D8D0BF6 # Signaturen vergleichen gpg --verify SHA1SUMS.gpg SHA1SUMS |
(Optional) Checksumme des geladenen Archive vergleichen. Auf der Kali Homepage ist die SHA1Sum angegeben (61dfcf2272d5f63345c29f0d2c92c630777856ab). Um die zu vergleichen muss auf dem Mac noch mit
1 |
sudo port install md5sha1sum |
das Checksummenprüfprogramm installiert werden, wenn es nicht schon vorhanden ist. Das ist default bei Mac OS X 10.9.1 nicht der Fall. Dann der Aufruf
1 |
sha1sum kali-linux-1.0.5-armel-rpi.img.xz |
um die SHA1Sum Checksumme anzuzeigen.
Bei meiner Version wird diese Checksumme ausgegeben 61dfcf2272d5f63345c29f0d2c92c630777856ab kali-linux-1.0.5-armel-rpi.img.xz
. Verglichen mit der angegebenen. Beide gleich. Alles ok!
Die Datei kali-linux-1.0.5-armel-rpi.img.xz entpacken wir erhalten dann die kali-linux-1.0.5-armel-rpi.img (es sind dann ca. 8 GB) mit
1 |
unxz -kali-linux-1.0.5-armel-rpi.img.xz |
Image nun auf eine mind. 8GB SD-Karte schreiben, vorher schauen wo die SD-Karte gemountet wurde.
Achtung! Bei falschem Ziel kann evl. die ganze Festplatte gelöscht werden!
1 2 3 4 |
diskutil list sudo diskutil unmount /dev/disk3s2 sudo dd if=kali-linux-1.0.5-armel-rpi.img of=/dev/disk3 bs=512k |
Stunden später.
Evl. schauen wie weit das Kopieren ist, indem in einem anderem Terminal die ProzessId ermitteln wird mit:
1 2 3 4 |
ps -Af # dann anzeigen, mit der ProzessId sudo kill -siginfo ProzessId # Fortschritt wird im anderen Fenster angezeigt |
Unmounten der SD-Karte wenn alles fertig.
Mit ssh anmelden im Terminal:
1 |
ssh root@<ip> |
Passwort: toor
Nun muss nur noch der SSH Schlüssel und das Root Passwort geändert werden, da alle Images das gleiche verwenden.
1 2 3 4 |
cd ~ rm /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server service ssh restart |
Evl. vorhandenen SSH Key löschen in
1 |
sudo vi ~/.ssh/known_hosts |
Root Passwort ändern mit
1 |
passwd |
So jetzt kann mit dem Kali Linux auf dem rPi gearbeitet werden.
Mit gui vorher startx
starten.
Viel Spaß.
Hast Du Vorschläge für die Anwendung?
Wie kann ein Backup einer SD-Karte (von einem Raspberry Pi) in eine Datei auf einem Mac OS X gesichert werden?
Die SD-Karte vom Raspberry Pi oder auch jede andere, in den Mac stecken und mit der Eingabe im Terminal:
diskutil list
feststellen wie die SD-Karte gemountet wurde. Bei mir /dev/disk3
Und den Backup-Prozess starten mit dd (data definition):
sudo dd if=/dev/rdisk3 of=~/Backups/Raspbeery-Pi/ini-rot-backup.img bs=1m
if = input file
of = output file
~ = Homeverzeichnis
Das Prefix „r“ vor dem rdisk3 soll den Prozess beschleunigen, da es auf den raw Speicher der Karte zugreift.
bs = block size hier 1 MB
Bis die 8 GB als backup gespeichert sind, dauert je nach SD-Karten Größe ein paar Minuten, bei mir ca. 7 Minuten:
Dann kann die SD-Karte entfernt werden und das Backup bei Bedarf eingespielt werden.
Das Einspielen des Backup (Restore) dauert bei einer 8GB Karte über eine Stunde.
Dazu die SD-Karte in den Mac stecken und
diskutil list # schauen wo die SD-Karte gemountet ist
sudo diskutil unmount /dev/disk3s1 # SD-Karte unmounten
sudo dd if=ini-rot-backup.img of=/dev/disk3 bs=1m # Image ini-rot-backup.img auf SD-Karte kopieren
eingeben. Wenn die Ausgabe:
kommt, dann ist der Kopiervorgang abgeschlossen.
7680+0 records in
7680+0 records out
8053063680 bytes transferred in 10605.150176 secs (759354 bytes/sec)
Die Anzeige des Fortschritt des Kopiervorgangs wird in diesem Eintrag beschrieben.
Wie installiert man eine kostenlose VirtualBox von Oracle auf dem Mac OS X (oder Windows, Linux) in 5 Minuten?
Von VirtualBox die VirtualBox 4.3.2 for OS X hosts
und VirtualBox 4.3.2 Oracle VM VirtualBox Extension Pack downloaden. Es muss ja nicht immer eine virtuelle Maschine von VMware oder Parallels sein.
VirtualBox und Extensions Pack installieren.
So, jetzt kann in der virtuelle Maschine Linux installiert werden. Die Anleitung zu VirtualBox ist hier {PDF} zu finden.
Coole Anleitung auf Deutsch. Habe das alles installiert mit neuem Debian CD Image (7.2.0). Eclipse läuft super…
Und das gestartete Eclipse Kepler:
Wie kann die Betriebstemperatur eines Raspberry Pi ausgelesen werden?
Habe den rPi nun in ein Gehäuse eingebaut. Hatte mich über die blaue Farbe gefreut. Noch besser sieht es aber aus, wenn man die blaue Folie abzieht ;-). Hatte erst gar nicht gemerkt, das die auf beiden Seiten beklebt war. So sieht es super aus:
Ok, nun zu der Frage, ob es da im Gehäuse zu warm wird. Dazu kann man mit den folgenden Befehl
/opt/vc/bin/vcgencmd measure_temp
auf der Konsole die Temperatur ausgeben.
Jetzt ist es bei mir
temp=45.5'C
mal sehen wie sich das so nach ein paar Stunden entwickelt.
Wie nehme ich einen Raspberry Pi inkl. Java auf einem Mac in Betrieb?
1. Download eines Image von . Z.b. das 2014-09-09-wheezy-raspbian.zip Archiv. Das zip Archiv entpacken.
2. SD Karte (z.B. 8 GB) in einstecken und ermitteln welches Device es am Rechner ist unter Apple Menu –> Über diesen Mac –> Weitere Informationen… –> Systembericht –> Hardware ->USB –> Unter USB Hochgeschwindigkeits-Bus / Hub / Integrierter Speicherkartenleser dann die Info unter BSD-Name:
In meinem Fall ist es: disk3
Oder mit diskutil list
schauen.
3. sudo diskutil unmount /dev/disk3s1
4. sudo dd if=Downloads/2014-09-09-wheezy-raspbian.img of=/dev/disk3 bs=1m
Jetz ca. 60 min warten bis die Meldung
2825+0 records in
2825+0 records out
2962227200 bytes transferred in 2020.681419 secs (1465955 bytes/sec)
kommt. Dann kann die Karte ausgeworfen und in den Raspberry Pi gesteckt werden.
5. Netzwerkkabel anschließen und Strom anschalten.
Per ssh pi@10.1.1.1 (Adresse anpassen)
und Passwort: raspberry im Terminal anmelden.
6. Auf dem Prompt raspi-config eingeben und Konfigurieren der Sprache (de_DE.ISO-8859-15@euro), Erweiterten Speicher, SSH Server, neues Passwort und auf neueste Version updaten. Restart. Alles über diese schöne GUI:
7. Und testen ob Java installiert ist mit java -version
, JA sogar die Version 1.8:
8. Und System noch updaten mit:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get clean
# Firmware update
sudo rpi-update
sudo ldconfig
sudo reboot
Wie kann ich alle erreichbaren IP-Adressen in einem privaten Netzwerk anzeigen?
Das geht mit dem Netzwerk-Analysewerkzeug und Sicherheits-/Portscanner nmap.
Auf der Konsole folgenden Befehl eingeben (IP-Adresse evl. anpassen):
1 |
nmap -sP 192.168.2.0/24 |
Dieser Ping Scann zeigt nur alle Adressen an die Online sind.
Wer alle angezeigt haben möchte verwendet den List Scann:
1 |
nmap -sL 192.168.2.0/24 |
Es werden alle Adressen von 192.168.2.0 bis 192.168.2.255 aufwärts gescannt.
Wer nur die Adressenliste haben will, schaltet noch den grep dahinter:
1 |
nmap -sP 192.168.2.0/24 | grep -oE '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' |
Kennt ihr noch andere Möglichkeiten?
Wie kann ich unter OpenWrt die WLAN-Fähigkeiten des WR-703N mit iw und arp anzeigen?
Auf der Konsole mit:
iw phy
Wir erhalten dann eine Ausgabe in der Form:
Wiphy phy0
Band 1:
Capabilities: 0x116e
HT20/HT40
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
RX STBC 1-stream
Max AMSDU length: 3839 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 8 usec (0x06)
HT TX/RX MCS rate indexes supported: 0-7
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (disabled)
* 2472 MHz [13] (disabled)
* 2484 MHz [14] (disabled)
Bitrates (non-HT):
* 1.0 Mbps
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
max # scan SSIDs: 4
max scan IEs length: 2257 bytes
Coverage class: 0 (up to 0m)
Supported Ciphers:
* WEP40 (00-0f-ac:1)
* WEP104 (00-0f-ac:5)
* TKIP (00-0f-ac:2)
* CCMP (00-0f-ac:4)
* CMAC (00-0f-ac:6)
Available Antennas: TX 0x1 RX 0x1
Configured Antennas: TX 0x1 RX 0x1
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
* P2P-GO
software interface modes (can always be added):
* AP/VLAN
* monitor
valid interface combinations:
* #{ managed, WDS, P2P-client } <= 2048, #{ IBSS, AP, mesh point, P2P-GO } <= 8,
total <= 2048, #channels <= 1
Supported commands:
* new_interface
* set_interface
* new_key
* start_ap
* new_station
* new_mpath
* set_mesh_config
* set_bss
* authenticate
* associate
* deauthenticate
* disassociate
* join_ibss
* join_mesh
* remain_on_channel
* set_tx_bitrate_mask
* frame
* frame_wait_cancel
* set_wiphy_netns
* set_channel
* set_wds_peer
* tdls_mgmt
* tdls_oper
* probe_client
* set_noack_map
* register_beacons
* Unknown command (89)
* connect
* disconnect
Supported TX frame types:
* IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
* (null): 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
Supported RX frame types:
* IBSS: 0xb0 0xc0 0xd0
* managed: 0x40 0xd0
* AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* mesh point: 0xb0 0xc0 0xd0
* P2P-client: 0x40 0xd0
* P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* (null): 0x40 0xd0
Device supports RSN-IBSS.
HT Capability overrides:
* MCS: ff ff ff ff ff ff ff ff ff ff
* maximum A-MSDU length
* supported channel width
* short GI for 40 MHz
* max A-MPDU length exponent
* min MPDU start spacing
Device supports TX status socket option.
Device supports HT-IBSS.
Und der Interface-Typ kann mit iw dev wlan0 inof
ausgegeben werden:
Interface wlan0
ifindex 6
wdev 0x2
addr 13:cc:99:99:32:fc
type managed
wiphy 0
channel 11 (2462 MHz) HT40-
Manchmal will man aber auch alle Mesh-Points in Funkreichweite sehen, das geht mit
iw dev wlan0 station dump
, hier ein Beispiel:
Station 77:31:77:e7:77:f9 (on wlan0)
inactive time: 730 ms
rx bytes: 2093412
rx packets: 14162
tx bytes: 14206
tx packets: 160
tx retries: 3
tx failed: 0
signal: -46 [-46] dBm
signal avg: -45 [-45] dBm
tx bitrate: 135.0 MBit/s MCS 6 40Mhz short GI
rx bitrate: 121.5 MBit/s MCS 6 40Mhz
authorized: yes
authenticated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
Alle vorhandenen Pfade mit Ziel-MAC-Adresse und Next-Hope-Adresse wird mit iw dev wlan0 mpath dump
so angezeigt:
DEST ADDR NEXT HOP IFACE SN METRIC QLEN EXPTIME DTIM DRET FLAGS
Und zu guter letzt, die Abbildung der IP-Adressen auf die MAC-Adressen mit arp
liefert:
IP address HW type Flags HW address Mask Device
192.168.2.7 0x1 0x2 77:77:77:77:77:f5 * wlan0
192.168.2.7 0x1 0x2 77:77:77:77:77:f5 * br-lan
192.168.2.111 0x1 0x2 77:77:77:77:77:f5 * br-lan
192.168.2.111 0x1 0x2 77:77:77:77:77:f5 * br-lan
Wie können unter OpenWrt E-Mails versendet werden?
Das geht mit dem msmtp Client (msmtp version 1.4.27).
Dazu den msmtp Client und mutt (Version 1.5.21 (2010-09-15)) auch gleich mit installieren.
1 2 3 |
opkg update opkg install msmtp opkg install mutt |
Die Konfigurationsdatei vi /etc/msmtprc
wie folgt anlegen und die entsprechenden smtp Daten eingeben:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# /etc/msmtprc account default host smtp.strato.de port 587 auth on user email@test.de password HIER DAS PASSWORT auto_from on from email@test.de tls on tls_starttls on tls_certcheck off logfile syslog LOG_MAIL |
Testen ob alles richtig konfiguriert wurde geht mit dem absetzen folgender Kommandos auf der Konsole:
1 |
echo 'Test e-mail' | sendmail email@test.de |
Oder mit cat mit Betreff und Absender:
1 2 3 4 5 6 7 |
[root@OpenWrt ~]# cat <<EOF | sendmail -t / To: empfaenger@test.de Subject: Testbetreff From: absender@test.de Testinhalt der E-Mail EOF |
Dann testen ob die E-Mail angekommen ist.
Für das Versenden aus dem Fhem Script reicht das noch nicht. Wir brauchen noch ssmtp
1 2 |
opkg update opkg install ssmtp |
Diese zwei Dateien anpassen /etc/ssmtp/ssmtp.conf
1 2 3 4 5 6 7 8 |
root=info-anfrage@test.de mailhub=smtp.strato.de:587 rewriteDomain=test.de hostname=email@test.de UseSTARTTLS=YES AuthUser=email@test.de AuthPass=PASSWORT FromLineOverride=YES |
Und die /etc/ssmtp/revaliases
1 2 |
root:email@test.de:smtp.strato.de:587 localusername:email@test.de:smtp.strato.de:587 |
Check auf der Konsole mit:
1 |
ssmtp email@test.de |
dann Enter und die Nachricht der E-Mail eingeben.
Zum Schluss Strg+D drücken. Dann wird die E-Mail versendet.
Top 5 der Tastaturbefehle der bash/Linux History
history | grep foo sucht in der History alle Zeilen mit foo und zeigt alle an
!123 führt den Befehl aus der History mit der Nummer 123 aus
!123:p führt den Befehl aus der History mit der Nummer 123 aus, zeigt ihn aber vorher noch an
!foo führt den letzen Befehl aus der History aus der mit foo beginnt
!foo:p führt den letzen Befehl aus der History aus der mit foo beginnt, zeigt ihn aber vorher noch an