Raspbian minimal installieren auf jungfräulichen RPI

  • TUTORIAL: WIE BEKOMME ICH DAS "RASPBIAN MINIMAL" AUF MEINEM JUNGFRÄULICHEN RPI ZUM LAUFEN


    VORAB:
    BITTE HIER KEINE NACHRICHTEN POSTEN !
    ICH BITTE UM VORSCHLÄGE, VERBESSERUNGEN, ERGÄNZUNGEN, ETC ! - ALS PN AN MICH SCHICKEN !


    VORWORT:
    Dieses Tutorial ist entstanden, weil ich als völlig unerfahrener Linux-User mich dazu entschlossen habe, mir den Raspberry-PI zuzulegen, um "spannende"
    Projekte zu realisieren - mit relativ wenig Aufwand und zudem noch preisgünstig genug, um viel experimentieren zu können. Ich habe mich hierbei in
    erster Linie bei den Posts von :thumbs1: eBiBy, :thumbs1: Meigrafd und :thumbs1: dbv bedient, bei denen ich mich an dieser Stelle bedanken möchte - :danke_ATDE:
    Alles andere habe ich entweder selbst ausprobiert oder von anderen Seiten zusammengetragen. Da ich ein Freund einfacher und direkter Dinge bin, habe
    ich mich entschlossen, das Raspbian Minimal zu installieren - meinem Motto folgend "weniger ist mehr".


    KONVENTIONEN:
    normaler Text
    [Taste]
    [font="Courier"]Anzeige/Ausgabe auf dem Bildwiedergabegerät[/font]
    [font="Courier"]Tastatureingabe[/font]
    Kommentar
    optional/alternativ
    Achtung



    1. VORBEREITUNGEN :


    1.1 Hardware
    Es sollte folgende Hardware vorhanden sein:
    - Raspberry-PI
    - Gehäuse
    - USB-Maus
    - USB-Tastatur
    - USB-Hub
    - Netzwerk-Kabel (Crossover), OHNE Netzwerkkabel ist das Ganze Projekt "Raspberry-PI" sinnfrei, u.a. wegen der (noch) zu installierenden Programmen, den (System-)Updates und wegen der (globalen) Vernetzung
    - Kabel zur Bild(-und Ton)übertragung
    --- HDMI-Kabel (ist Standard)
    --- Composite-zu-DVI/HDMI/VGA (nicht empfehlenswert)
    - SD-Karte, mindestens 1GB, Class 6
    - Stromadapter, keine anderen als die empfohlenen Stromadapter verwenden !

    1.1.1 mögliche Fehlerquellen :


    Die Hardware und andere Ergänzungen sind u.a. unter http://www.rasppishop.de/ zu bekommen.
    Mit der Bitte um eine PN, in der ihr euer Szenario und die Erfahrungen damit beschreibt (2 Tastaturen und Mäse, Monitor, USB-Hub, KVM-Switch, etc.).


    1.2 Software
    Das Image "Raspbian minimal" steht HIER zum Download bereit.
    Checksum MD5: e5b0d40f47a1fc2e4c2b80c99af538be
    Die Art und Weise, wie man das Image auf die SD-Karte bekommt, hängt vom verwendeten Betriebssystem deines PCs (nicht das vom RPI) ab. Wichtig ist - wie
    bereits erwähnt - dass die Karte vom OS erkannt und eingebunden wird/wurde.


    1.2.1 Windows-basierte Computer
    Um das Image auf die SD-Karte "brennen" zu können, muß zuvor die Software "Win32DiskImager" installiert sein (funktionsfähig auf allen windows-basierten
    Computern). Diese ist HIER zu finden. Sie ist Freeware, also kostenlos.
    Nach der Installation das Programm mit Administratorrechten öffnen, das Image und die entsprechende SD-Karte auswählen und auf den Button [Write] klicken.
    Den aufpoppenden Warnhinweis mittels Klick auf [Yes] schliessen. => das Image sollte nun auf die SD-Karte "gebrannt" (Bit für Bit) werden - keine Angst, die
    SD-Karte kann weiterhin normal genutzt werden; der "Brennvorgang" dauert je nach Anschlussart/SD-Karte zwischen 2 und 15 Minuten. Nach Fertigstellung
    poppt ein Hinweisfenster auf, mit der Nachricht 'Write Successful'; dieses mittels Klick auf [OK] schliessen.
    Das Programm 'Win32DiskImager' schliessen und die SD-Karte entnehmen.


    1.2.2 Linux- und mac-basierte Computer
    Hier gehe ich davon aus, dass die SD-Karte unter "sdd1" identifiziert wird; dies entsprechend eurer "Situation" anpassen !

    - mit [font="Courier"]df -h[/font] oder [font="Courier"]dmesg[/font] SD-Karte identifizieren.
    - wenn die Karte gefunden wurde (z.B.: /dev/sdd1), muss sie mit [font="Courier"]umount /dev/sdd1[/font] wieder ausgehängt werden.
    - nun mit [font="Courier"]sudo dd bs=1M if=raspbian_wheezy_20130923.img of=/dev/sdd1[/font] (als Root) das Betriebsystem auf die Karte kopieren.
    - [font="Courier"]sync[/font] eingeben



    2. INBETRIEBNAHME DES RPI :


    2.1 Hardware anschliessen
    den RPI ins entsprechende Gehäuse (Zubehör) stecken.
    verbindet zuerst die USB-Ports mit den entsprechenden USB-fähigen Geräten (Maus/Tastatur/USB-Hub...)
    verbindet den HDMI- bzw. Composite-Anschluss mit eurem entsprechenden Bildausgabegerät (Monitor/TV/Beamer...)
    verbindet den LAN-Anschluss mit dem entsprechenden internetfähigem Gerät (Router/Switch/Hub/Modem...)
    steckt die SD-Karte (Kontakte müssen oben/sichtbar sein) in den dafür vorgesehenen Steckschlitz des RPI
    verbundene Geräte einschalten (Router/Monitor/USB-Hub)
    ZUM SCHLUSS verbindet den Stromadapter mit dem RPI und erst dann mit dem Stromnetz
    der RPI sollte nun hochfahren; dies sollte u.a. am Monitor mitverfolgt werden können ...


    2.2 Image/OS konfigurieren
    um in gewohnter "Umgebung" arbeiten zu können, müssen ein paar Einstellungen/Updates vorgenommen werden.

    2.2.1 Anmelden am System
    Ist der RPI bzw. das OS hochgefahren, sollte folgendes auf dem Monitor erscheinen :

    [font="Courier"]Raspbian GNU/Linux 7 raspberry-pi tty1
    raspberry-pi login:
    [/font]


    aufgemerkt:
    Das Image ist mit "nur" einem Benutzer ausgestattet: Benutzer: root , Passwort: raspberry
    es gilt jetzt noch die englische Tastaturbelegung, also 'raspberrz' (ohne Hochkommata) als Passwort eingeben.

    Wenn alles richtig eingeben worden ist, sollte Folgendes (oder Ähnliches) zu sehen sein:

    [font="Courier"]Linux raspberry-pi 3.6.11+ #545 PREEMPT Fri Sep 20 23:57:55 BST 2013 armv61

    The programs included with the Debian GNU/Linux system are free software:
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    root@raspberry-pi:~#
    [/font]

    2.2.2 Tastatur
    aufgemerkt :
    anstelle des Bindestrichs benutzt einfach das "Minus" am Ziffernblock (sollte aktiviert sein); damit kommt auch die englische Tastatur zurecht.


    [font="Courier"]dpkg-reconfigure console-data[/font] [Enter]


    hier die entsprechende Option je nach Art der Tastatur mittels der Pfeiltasten auswählen...


    [ ] Tastatur ist nicht USB .......................................... => Select keymap from arch list
    [ ] nichts verändern ................................................. => Don't touch keymap
    [ ] verhindert ein Laden beim nächsten Systemstart .... => Keep kernel keymap
    [X] USB-Tastatur ..................................................... => Select keymap from full list


    ...und mit [Enter] bestätigen.
    Nun die entsprechende Tastatur auswählen:
    aufgemerkt:
    als dead keys bezeichnet eine Taste auf einer Tastatur, die nach dem Drücken keinen Buchstabenvorschub erzeugt und nicht sofort
    angezeigt wird, sondern eine Art „Wartemodus“ aktiviert. Erst ein weiterer Tastendruck erzeugt dann ein kombiniertes Zeichen (Grundzeichen
    und Diakritika – wie è, c, ñ, s oder u).


    2.2.2.1 Deutschland:
    Mac (Optionen):
    [ ]mac/Unknown/German/Standard/MacBook
    [ ]mac/Unknown/German/Standard/Standard
    [ ]mac/Unknown/German/Standard/iBook
    [ ]mac/Unknown/German/Standard/iBook with dead keys
    [ ]pc/qwertz/German/Apple USB/latin1
    [ ]pc/qwertz/German/Apple USB/latin1 - no dead keys

    Standardtastatur (Optionen):
    [ ]pc/qwertz/German/Standard/Programmer
    [X]pc/qwertz/German/Standard/latin1
    [ ]pc/qwertz/German/Standard/latin1 - no dead keys


    mittels Pfeiltasten auswählen und mit [Enter] bestätigen.


    Folgendes sollte am Monitor erscheinen:
    [font="Courier"]Looking for Keymap to install:
    de-latin1
    root@raspberry-pi:~#
    [/font]


    2.2.3 Sprach- und Zeichensatz
    aufgemerkt:
    wir haben jetzt ein deutsches Tastatur-Layout !


    [font="Courier"]dpkg-reconfigure locales[/font] [Enter]


    mittels Pfeiltaste nach unten scrollen, um bereits ausgewählte Sprachkonvention (it) zu markieren und mittels Leertaste zu entixen


    2.2.3.1 Deutschland
    nach oben scrollen, den Eintrag 'de_DE:UTF-8 UTF-8' auswählen und mittels Leertaste das Sternchen setzen
    die Tabtaste benutzen, um das '<Ok>' zu markieren und mittels [Enter] bestätigen.


    es sollte nun 2 Auswahlmöglichkeiten geben, 'None' und 'de_DE.UTF-8
    mittels Pfeiltasten 'de_DE.UTF-8' auswählen und mit [Enter] bestätigen
    Folgendes sollte am Monitor erscheinen:
    [font="Courier"]Generation locales (this might take a while)...
    de_DE.UTF-8... done
    Generation complete.
    root@ruspberry-pi:~#
    [/font]

    2.2.4 RPI für weitere Systemupdates vorbereiten
    Nachdem ihr euch anmelden konntet steht hardware-technisch fest, dass USB (Maus/Tastatur-englisch), MicroUSB (Stromadapter),
    HDMI/composite (Monitor) und SD-Steckschlitz voll funktionsfähig sind.
    Die (hoffentlich) leuchtenden LEDs für das LAN bedeuten auch hier, dass Hardware-seitig alles in Ordnung ist.


    2.2.4.1 LAN
    Also gilt jetzt zu überprüfen, ob der RPI auch mit dem Netzwerk software-technisch (OS) richtig verbunden ist.
    Dazu folgendes eingeben :


    [font="Courier"]ping -c 3 google.com[/font] [Enter]

    ist der pi mit dem Netzwerk verbunden, kommt als Antwort:
    [font="Courier"]64 bytes from xxx (xxx.xxx.xxx.xxx): icmp-req=1 ttl=56 time=65.5 ms
    64 bytes from xxx (xxx.xxx.xxx.xxx): icmp-req=1 ttl=56 time=65.5 ms
    64 bytes from xxx (xxx.xxx.xxx.xxx): icmp-req=1 ttl=56 time=65.5 ms
    [/font]


    ist der pi nicht mit dem Netzwerk verbunden, kommt als Antwort:
    [font="Courier"]ping: unknown host http://www.google.com[/font]


    Dies kann mancherlei Ursachen haben - mit der Bitte, mir eure Probleme und Lösungen per PN zu berichten - danke !

    2.2.4.1.1 mögliche Fehlerquellen:


    2.2.5 Zeitzone anpassen


    [font="Courier"]dpkg-reconfigure tzdata[/font] [Enter]

    mittels Pfeiltasten 'Europe' markieren und mit [Enter] bestätigen
    mittels Pfeiltasten 'Berlin' markieren und mit [Enter] bestätigen
    Folgendes (oder Ähnliches) sollte am Monitor erscheinen:

    [font="Courier"]Current default time zone: 'Europe/Berlin'
    Local time is now: Fri Apr 18 02:57:08 CET 2014.
    Universal Time is now: Fri Apr 18 01.57.08.UTC 2014.
    [/font]


    2.2.6 SD-Karte partitionieren
    in diesem Fall wird die SWAP-Partition gelöscht und eine 2. Partition angelegt, welche komplett den Rest der SD-Karte
    ausfüllt, so dass ihre Kapazität voll ausgeschöpft wird.

    2.2.6.1 Partition anlegen


    [font="Courier"] (echo d; echo 3; echo d; echo 2; echo n; echo p; echo 2; echo ; echo; echo w) | fdisk /dev/mmcblk0[/font] [Enter]


    Folgendes (oder Ähnliches) sollte auf dem Monitor erscheinen :
    [font="Courier"]Command (m for help): Partition number (1-4):
    Command (m for help): Partition number (1-4):
    Command (m for help): Partition type:
    p primary (1 primary, 0 extended, 3 free)
    e extended
    Select (default p): Partition number (1-4, default 2): First sector (104448-3970047, default 104448):Using default value 104448
    Last sector, *sectors or *size{K,M,G} (104448-3970047, default 3970047): Using default value 3970047


    Command (m for help): The partition table has been altered!

    Calling ioctl() to re-read partition tabele.


    WARNING: Re-reading the partition table failed with error 16: Das Gerät oder die Ressource ist belegt.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    root@raspberry-pi:~#
    [/font]


    den RPI neu starten, um die Änderungen wirksam zu machen:

    [font="Courier"]reboot[/font] [Enter]


    Nach dem Neustart sollte Folgendes zu sehen sein :
    [font="Courier"]Raspbian GNU/Linux 7 raspberry-pi tty1
    raspberry-pi login:
    [/font][font="Courier"] root [/font] [Enter]
    [font="Courier"]Password:[/font] [font="Courier"]raspberry[/font] [Enter]


    2.2.6.2 Partition#2 expandieren

    [font="Courier"]resize2fs /dev/mmcblk0p2 [/font] [Enter]


    Folgendes (oder Ähnliches) sollte auf dem Monitor zu sehen sein:
    [font="Courier"]resize2fs 1.42.5 (29-Jul-2012)
    Das Betriebssystem auf /dev/mmcblk0p2 ist auf / eingehängt: Online-Grössenveränderung nötig
    old_desk_blocks = 1, new_desc_blocks = 1
    Das Betriebssystem auf /dev/mmcblk0p2 ist nun 483200 Blöcke groß.


    root@raspberry-pi:~#[/font]


    2.2.7 System auf den neuesten Stand bringen


    2.2.7.1 Systemupdate

    [font="Courier"]apt-get update && apt-get -y upgrade[/font] [Enter]

    nun werden die benötigten Pakete aus dem Netz gesaugt; dies kann man sehr schön am Monitor verfolgen.
    Wenn Folgendes (oder Ähnliches) in der letzten Zeile zu sehen ist, ist der Erneuerungsprozeß abgeschlossen:
    [font="Courier"]root@raspberry-pi:~#[/font]


    2.2.7.2 Geräte-Firmeware-Update

    [font="Courier"]apt-get -y install usbutils binutils ca-certificates git-core[/font] [Enter]

    nun werden die benötigten Pakete aus dem Netz gesaugt; dies kann man sehr schön am Monitor verfolgen.
    Wenn Folgendes (oder Ähnliches) in der letzten Zeile zu sehen ist, ist der Erneuerungsprozeß abgeschlossen:
    [font="Courier"]root@raspberry-pi:~#[/font]


    |------------------------------------ 18.04.2014 -----------------------------
    |
    | aufgemerkt:
    | momentan ist ein Streit darüber entfacht, wer nun eigentlich daran Schuld ist, dass im Bereich SSL
    | Zertifizierungen ausgegeben wurden, die man hätte nicht ausgeben dürfen - es wurde u.a. schlampig
    | geprüft, so der Vorwurf. Dies entstand durch eine Lücke, die jedoch bereits gut und gerne 10 Jahre
    | bekannt ist/war.Aus diesem Grund klappt die "normale" Routine der Firmwareaktualisierung nicht,
    | weil man rpi keine neuen Zertifikate mehr "aushändigt".
    | Wer sich etwas näher mit dieser Tatsache auseinandersetzen möchte, kann dies tun unter:
    | HIER 1
    | HIER 2
    | HIER 3
    |
    | Firmware-Aktualisierung außerhalb der "normalen" Routine, also
    | anstelle von :
    | [font="Courier"]wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update && rpi-update[/font]
    | Fehlerbeseitung:


    |
    |------------------------------------------------------------------------------------------------------------------
    |------------------------------------------------------------------------------------------------------------------
    | dies :
    | 1. cURL installieren, falls nicht bereits durch eure Distribution installiert wurde:
    |
    | [font="Courier"]apt-get install curl[/font] [Enter]
    |
    | 2. rpi-update herunterladen
    |
    | [font="Courier"]curl -O https://raw.githubusercontent.…-update/master/rpi-update[/font] [Enter]
    |
    | 3. Berechtigungen setzen:
    |
    | [font="Courier"]chmod +x rpi-update[/font] [Enter]
    |
    | 4. Update ausführen:
    |
    | [font="Courier"]sudo UPDATE_SELF=0 ./rpi-update[/font] [Enter]
    |
    | 5. Neustart:
    |
    | [font="Courier"]reboot [/font] [Enter]
    |
    |------------------------------------------------------------------------------------------------------------------


    2.2.7.3 'raspi-config' installieren
    das Tool mit allen notwendigen Utensilien einbinden


    [font="Courier"]apt-get -y install lua5.1 triggerhappy dmsetup libdevmapper1.02.1 libparted0debian1 parted [/font] [Enter]

    nun werden die benötigten Pakete aus dem Netz gesaugt; dies kann man sehr schön am Monitor verfolgen.
    Wenn Folgendes (oder Ähnliches) in der letzten Zeile zu sehen ist, ist der Erneuerungsprozeß abgeschlossen:
    [font="Courier"]root@raspberry-pi:~#[/font]


    [font="Courier"]wget http://archive.raspberrypi.org…config_20130925-1_all.deb -O raspi-config.deb [/font] [Enter]

    nun werden die benötigten Pakete aus dem Netz gesaugt; dies kann man sehr schön am Monitor verfolgen.
    Wenn Folgendes (oder Ähnliches) in der letzten Zeile zu sehen ist, ist der Erneuerungsprozeß abgeschlossen:
    [font="Courier"]root@raspberry-pi:~#[/font]


    [font="Courier"]dpkg -i raspi-config.deb && rm raspi-config.deb[/font] [Enter]


    nun werden die benötigten Pakete aus dem Netz gesaugt; dies kann man sehr schön am Monitor verfolgen.
    Wenn Folgendes (oder Ähnliches) in der letzten Zeile zu sehen ist, ist der Erneuerungsprozeß abgeschlossen:
    [font="Courier"]root@raspberry-pi:~#[/font]


    2.2.7.4 raspi-config starten


    [font="Courier"]raspi-config [/font] [Enter]

    Über dieses Tool kann u.a. folgendes eingestellt werden:
    - Dateisystem
    - Benutzerpasswort ändern
    - Startoptionen
    - Ländereinstellung
    - Kamera
    - Übertakten
    - Systemkonfiguration
    Die Funktionen und Einstellungen sind leicht verständlich und erklären sich von selbst.



    2.2.8 Swap-Datei erstellen

    2.2.8.1 Größe festlegen
    512MB grosse Datei erzeugen


    [font="Courier"]dd if=/dev/zero of=/var/swapfile bs=1024 count=524288 [/font] [Enter]


    Folgendes (oder Ähnliches) sollte auf dem Monitor erscheinen:
    [font="Courier"]524288+0 Datensätze ein
    524288+0 Datensätze aus
    536870912 Bytes (537MB) kopiert, 82,5815 s, 6,5 MB/s
    root@raspberry-pi:~#
    [/font]


    2.2.8.2 Dateisystem festlegen
    SWAP Dateisystem erzeugen :


    [font="Courier"]mkswap /var/swapfile[/font] [Enter]


    Folgendes (oder Ähnliches) sollte auf dem Monitor erscheinen:
    [font="Courier"]Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=f933dcc6-71fe-440d-9d3a-b46e08304e7a
    root@raspberry-pi:~#
    [/font]


    2.2.8.3 Rechte setzen


    [font="Courier"]chmod 0600 /var/swapfile [/font] [Enter]


    Folgendes (oder Ähnliches) sollte auf dem Monitor erscheinen:
    [font="Courier"]root@raspberry-pi:~# [/font]


    2.2.8.4 Swap-Datei aktivieren


    [font="Courier"]swapon /var/swapfile [/font] [Enter]


    Folgendes (oder Ähnliches) sollte auf dem Monitor erscheinen:
    [font="Courier"] [ 4768.6635201] Adding 524284k swap on /var/swapfile. Priority:-1 extens:3 across:548860k SS
    root@raspberry-pi:~#
    [/font]


    2.2.8.5 Autostart Swap-Datei
    SWAP für nächste Systemstarts automatisch einhängen


    [font="Courier"]echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab [/font] [Enter]

    Folgendes (oder Ähnliches) sollte auf dem Monitor erscheinen:
    [font="Courier"]root@raspberry-pi:~# [/font]


    2.2.9 raspistill und raspivid
    der PATH-Pfad wird um folgenden Eintrag erweitert, damit root direkt auf raspistill und raspivid zugreifen kann :


    [font="Courier"]echo "export PATH=\$PATH:/opt/vc/bin" >> .bashrc[/font] [Enter]


    Folgendes (oder Ähnliches) sollte auf dem Monitor erscheinen:
    [font="Courier"]root@raspberry-pi:~#[/font]

    [font="Courier"]reboot [/font] [Enter]


    mögliche Fehler :


    2.2.10 "11"-Shortcut aktivieren

    [font="Courier"]sed -i .bashrc -e '12s!# alias!alias!'[/font] [Enter]
    [font="Courier"]sed -i .bashrc -e '12s!-l!-lsah!'[/font] [Enter]


    2.2.11 was habe ich mir eigentlich zugelegt ?


    Version des Betriebssystems: [font="Courier"]cat /proc/version[/font] [Enter]
    Version des RPI : [font="Courier"]cat /proc/cpuinfo[/font] [Enter]



    3. BENUTZERVERWALTUNG


    Das Kommando [font="Courier"]groups [/font]zeigt die Gruppenzugehörigkeit des am System angemeldeten Benutzers an.


    3.1 Gruppenverwaltung

    3.1.1 Gruppen und Zugriffsrechte
    Unix-Betriebssysteme und damit auch Debian GNU/Linux sind dafür ausgelegt, dass mehrere Benutzer zur gleichen Zeit am System arbeiten können.
    Dabei müssen bestimmte private Dateien vor anderen Benutzern geschützt werden, aber auch Systemdateien müssen vor den Benutzern geschützt werden.
    Dies kann sehr leicht überprüft werden:
    mit dem Kommando [font="Courier"]ls -l [Pfad/zur/Datei][/font] können die momentan gesetzten Berechtigungen angezeigt werden.
    Beispielausgabe:
    [font="Courier"]-rwxr-xr-x 1 root root 7026 Apr 18 20:00 rpi-update[/font]


    wobei:
    r = read/öffnen/lesen, w = write/öffnen/ändern, x = execute/ausführen
    Zeichen 1 (d, -, l oder x) 'd' = Verzeichnis, '-' = Datei; 'l' = Link; 'x' = der jeweilige Benutzer (Eigentümer, Gruppe, Andere) darf/kann in dieses Verzeichnis wechseln
    Zeichen 2-4 (rwx) Rechte Benutzer,
    Zeichen 5-7 (r-x) Rechte Gruppe,
    Zeichen 8-10 (r-x) Rechte Jeder,
    1 = Anzahl der Verzeichniseinträge, unter denen die Datei ansprechbar ist, d.h., falls die Zahl größer Eins ist, existieren Verknüpfungen, die auf diese Datei verweisen,
    root = Benutzername
    root = Gruppe
    7026 = Größe der Datei
    Apr 18 20:00 = Datum und Uhrzeit der letzten Änderung
    rpi-update = Bezeichnung des Datei- oder Verzeichnisnamens


    mit [font="Courier"]chown[/font] (= change owner) kann man den Besitzer einer Datei ändern,
    mit [font="Courier"]chgrp[/font] (= change group) kann man die Gruppe einer Datei ändern,
    mit [font="Courier"]chmod[/font] (= change modus) können die Berechtigungen für den Besitzer, die Gruppe oder jedermann gesetzt werden.


    Schalter für chmod:
    u => benutzer (user)
    g => gruppe
    o => andere (other)
    a => alle (jedermann)
    r => Leseberechtigung (read)
    w => Schreibberechtigung (write)
    x => Ausführberechtigung (execute)
    + => Berechtigung hinzufügen
    - => Berechtigung entfernen



    3.1.2 Gruppen
    Das Kommando [font="Courier"]more /etc/group[/font] listet die vorhandenen Gruppen auf.


    3.1.2.1 floppy
    Benutzer dieser Gruppe besitzen das Recht, auf Diskettenlaufwerke zuzugreifen


    3.1.2.2 dialout
    Benutzer dieser Gruppe besitzen das Recht, per Modem eine Verbindung ins Netzwerk herzustellen.


    3.1.3 neue Gruppe anlegen


    [font="Courier"]sudo groupadd <GRUPPENNAME>[/font] [Enter]


    3.2 Benutzerverwaltung
    Benutzer abmelden:


    - [font="Courier"]logout[/font] [Enter]
    - [font="Courier"]exit[/font] [Enter]

    3.2.1 einen (weiteren) Benutzer anlegen


    [font="Courier"]sudo useradd -g users -d /home/<benutzername> -m <benutzername>[/font] [Enter]

    Parameter:
    -g (group) ordnet den neuen Benutzer einer Gruppe mit bestimmten Rechten zu.
    -d (directory) gibt ein Heimatverzeichnis für den Benutzer an, und
    -m sorgt dafür, dass dieses Heimatverzeichnis inklusive einer Reihe wichtiger Initialisierungsdateien sofort angelegt wird.
    .....Nach dem Aufruf von useradd ist der neu angelegte Benutzer jedoch noch deaktiviert. Um ihn zu aktivieren, müssen Sie ihm noch ein Passwort zuweisen. Dies geschieht mittels des Kommandos


    Wer zudem den "üblichen", aus anderen Distributionen bekannten Benutzer 'pi' anlegen möchte, kann dies nun (oder auch später) tun;
    dazu folgendes eingeben:

    [font="Courier"]useradd -m pi -g users -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,netdev,input [/font] [Enter]


    Parameter:
    -m sorgt dafür, dass dieses Heimatverzeichnis inklusive einer Reihe wichtiger Initialisierungsdateien sofort angelegt wird.
    -g (group) ordnet den neuen Benutzer einer Gruppe mit bestimmten Rechten zu.
    -G zusätzliche Gruppen, denen der Benutzer angehören soll. Die Gruppen unterliegen denselben Beschränkungen wie die Gruppe, welche mit der Option "-g" bestimmt wurde.


    3.2.2 Passwort vergeben :


    [font="Courier"]root@linux ~# passwd <benutzername>
    root@linux ~# Kennwort eingeben
    root@linux ~# Kennwort bestätigen
    [/font]

    aufgemerkt :
    das Passwort sollte mindestens 8 Zeichen lang sein und aus Gr0ss-/Kleinschreibung, Zahlen und Sonderzeichen bestehen !

    Eingaben mittels [Enter] abschliessen.

    3.2.3 Konfigurationsdatei anpassen :
    Wenn man beim Befehlsaufruf mit sudo nicht jedesmal das Passwort eingeben will, muss noch die entsprechende Konfigurationsdatei angepasst werden; dazu die Datei mit vi öffnen :


    [font="Courier"]sudo visudo [/font] [Enter]


    Nun ans Ende der Datei (neue Zeile) folgendes hinzufügen :


    [font="Courier"]pi ALL=(ALL) NOPASSWD: ALL[/font]

    :wq [Enter] => Datei speichern und schliessen


    4. RPI ordnungsgemäß herunterfahren


    Der Raspberry Pi hat bekanntlich keinen An- und Ausschalter. Daher habe ich in diversen Foren bereits die Frage gelesen, wie man den Raspberry Pi richtig herunterfährt, damit keine Datenverluste entstehen.
    In den meisten Linux Distributionen, so auch in Raspbian, gibt mehrere Befehle, um das Betriebssystem herunterzufahren. Dabei werden die Mechanismen des Betriebssystems, z.B. das Verwalten von temporären Dateien, ausgeführt. Wenn dieser Prozess abgeschlossen ist, leuchtet die rote LED am Raspberry Pi und man kann den Mini-Computer vom Strom entfernen.


    [font="Courier"]sudo halt[/font] [Enter] oder
    [font="Courier"]sudo init 0[/font] [Enter] oder
    [font="Courier"]sudo shutdown -h 0[/font] [Enter] oder
    [font="Courier"]sudo shutdown -h now[/font] [Enter] oder
    [font="Courier"]sudo shutdown -r 0[/font] [Enter] => REBOOT


    5. Nützliches für Linux-Anfänger
    Dies wird stets aktualisiert ...


    5.1 Hilfedateien
    Damit sich Leute mit wenig Englisch-Kenntnissen besser in Linux zurechtfinden, können diese die deutschsprachigen Hilfedateien wie folgt installieren:


    [font="Courier"]sudo su[/font] [Enter]
    [font="Courier"]sudo apt-get update && sudo apt-get -y upgrade[/font] [Enter]
    [font="Courier"]exit[/font] [Enter]
    [font="Courier"]sudo apt-get install -y manpages-de[/font] [Enter]


    z.B. für den Befehl 'apt-get' wäre dann Folgendes einzugeben, um sich die Hilfedateien anzeigen zu lassen:
    [font="Courier"]man apt-get[/font] [Enter]
    weitere nützliche Informationen hierzu findet ihr HIER (vielen Dank, :thumbs1: Vince)


    5.2 Befehle


    5.2.1 Basics
    [font="Courier"]startx[/font] => startet das X-Window-System und eine grafische Benutzeroberfläche
    [font="Courier"]logout[/font] => ordnungsgemäßes Abmelden von der Konsole
    [font="Courier"][BEFEHL] --help[/font] => gibt einen kurzen Hilfetext zum [BEFEHL] aus
    [font="Courier"]man [BEFEHL][/font] => zeigt die Manual-Page zum [BEFEHL] an
    [font="Courier"]info [BEFEHL][/font] => zeigt Dokument zu [BEFEHL] im Info-System an
    [font="Courier"]shutdown -r now[/font] => Rechner neustarten
    [font="Courier"]shutdown -h now[/font] => Rechner herunterfahren


    5.2.2 Suchen
    [font="Courier"]whereis [PROGRAMM][/font] => sucht in den Verzeichnissen der Umgebungsvariablen PATH nach [PROGRAMM]
    [font="Courier"]find . | grep [DATEI][/font] => sucht ausgehend vom aktuellen Verzeichnis nach [DATEI]
    [font="Courier"]grep [SUCHSTRING] [DATEI][/font] => durchsucht DATEI nach dem Suchbegriff [SUCHSTRING]
    [font="Courier"]locate [DATEI][/font] => durchsucht die Locate-Datenbank nach [DATEI]
    [font="Courier"]sudo apt-file -l search [NAME][/font] => sucht nach Paketen, die [NAME] betreffen


    5.2.3 Programme starten
    [font="Courier"][PROG][/font] => Programm [PROG], welches sich im Pfad befindet, starten
    [PROG] startet das Programm, wenn es neben dem aktuellen Ordner auch über die PATH-Variable gefunden werden kann; also [PROG] schaut zuerst im aktuellen Ordner, wenn es dort nichts findet, schaut es ob es in einem Ordner zu finden ist, welcher in der PATH-Variable steht (meistens /bin; /sbin usw.)
    [font="Courier"]./[PROG][/font] => Programm [PROG], welches sich im aktuellen Verzeichnis befindet, starten
    [font="Courier"][PFAD]/[PROG][/font] => Programm [PROG], welches sich im Verzeichnis [PFAD] befindet, starten


    5.2.4 Navigation im Dateisystem
    [font="Courier"]cd /[/font] => wechselt ins Hauptverzeichnis
    [font="Courier"]cd ..[/font] => wechselt in das übergeordnete Verzeichnis
    [font="Courier"]cd [VERZ][/font] => wechselt ins Verzeichnis [VERZ]
    [font="Courier"]cd -[/font] => wechselt in das vorherige Verzeichnis
    [font="Courier"]cd ~[/font] => wechselt ins Home-Verzeichnis des Benutzers
    [font="Courier"]mc[/font] => 'Midnight Commander'; Dateimanager für das Anlegen.. Kopieren,. Löschen und Umbenennen von Dateien und Verzeichnissen sowie für das Editieren von Dateiattributen.
    ______=> [font="Courier"]sudo apt-get update && sudo apt-get -y install mc[/font]
    [font="Courier"]pwd[/font] => zeigt den absoluten Pfad zum aktiuellen Verzeichnis


    5.2.5 Dateien
    [font="Courier"]cat [DATEI][/font] => zeigt den Inhalt der Datei [DATEI] auf dem Bildschirm an
    [font="Courier"]more [DATEI][/font] => zeigt den Inhalt der Datei [DATEI] seitenweise an
    [font="Courier"]less [DATEI][/font] => wie more, man kann aber auch nach oben blättern
    [font="Courier"]cp [DATEI1] [DATEI2][/font] => kopiert Datei [DATEI1] in Datei [DATEI2]
    [font="Courier"]mv [DATEI1] [DATEI2][/font] => benennt Datei [DATEI1] in [DATEI2] um
    [font="Courier"]mv [DATEI] [VERZ][/font] => verschiebt Datei [DATEI] ins Verzeichnis [VERZ]
    [font="Courier"]rm [DATEI][/font] => löscht die Datei [DATEI]
    [font="Courier"]tail [/font] => Anzeige der letzten Zeilen einer Datei
    [font="Courier"]touch [DATEI][/font] => erzeugt die leere Datei [DATEI]


    5.2.6 Verzeichnisse
    [font="Courier"]ls[/font] => kurze Liste des Verzeichnisinhaltes
    [font="Courier"]ls -l[/font] => ausführliche Liste des Verzeichnisinhaltes
    [font="Courier"]ls -la[/font] => alle Dateien des Verzeichnisses ausführlich auflisten
    [font="Courier"]mkdir [VERZ][/font] => neues Verzeichnis [VERZ] erstellen
    [font="Courier"]rmdir [VERZ][/font] => das leere Verzeichnis [VERZ] löschen
    [font="Courier"]rm -rf [VERZ][/font] => alle Dateien/Verzeichnisse unterhalb des Verzeichnisses [VERZ] löschen
    [font="Courier"]tree -a[/font] => alle Dateien/Verzeichnisse als Baumstruktur anzeigen (das Tool 'tree' ist standardmäßig nicht installiert => [font="Courier"]sudo apt-get update && sudo apt-get install tree[/font] [Enter] )


    5.2.7 Geräte partitionieren, formatieren, überprüfen, mounten
    [font="Courier"]fdisk [DEVICE][/font] => Partitionierung der Festplatte [DEVICE]
    [font="Courier"]mke2fs [DEVICE][/font] => Anlegen eines ext2-Dateisystems auf dem Gerät [DEVICE]
    [font="Courier"]fsck [DEVICE][/font] => Gerät [DEVICE] auf Fehler überprüfen
    [font="Courier"]mount[/font] => Einhängen ('mounten') von Dateisystemen; die Voreinstellungen sind in der Datei '/etc/fstab' zu finden
    [font="Courier"]unmount[/font] => Aushängen ('unmounten') von Dateisystemen; die Voreinstellungen sind in der Datei '/etc/fstab' zu finden
    [font="Courier"]mount /mnt/cdrom[/font] => bindet eine eingelegte CD-ROM in das Dateisystem ein
    [font="Courier"]umount /mnt/cdrom[/font] => entfernt eine CD-ROM aus dem


    5.2.8 Dateisystem


    5.2.8.1 Zugriffsrechte
    [font="Courier"]chmod [OPTIONEN] [DATEI][/font] => ändert die Zugriffsrechte der Datei [DATEI]
    [font="Courier"]chgrp [GRUPPE] [DATEI][/font] => ändert die Gruppe der Datei [DATEI] in [GRUPPE]
    [font="Courier"]chown [OWNER] [DATEI][/font] => ändert den Eigentümer der Datei [DATEI] in [OWNER]


    5.2.8.2 Systeminformationen
    [font="Courier"]mount[/font] => Ausgabe aller gemounteter Partitionen/Geräte
    [font="Courier"]df[/font] => Ausgabe der Nutzung der gemounteten Geräte
    [font="Courier"]date[/font] => Anzeige von Datum und Uhrzeit
    [font="Courier"]free -h[/font] => gibt die Nutzung des Arbeitsspeichers aus
    [font="Courier"]uptime[/font] => zeigt die Prozessorauslastung und -laufzeit an
    [font="Courier"]top[/font] => zeigt die höchsten Ressourcenverbraucher an
    [font="Courier"]ps aux[/font] => zeigt Informationen über laufende Prozesse an
    [font="Courier"]kill [PID][/font] => beendet den Prozess mit der Prozess-ID [PID]
    [font="Courier"]killall [PROZESSNAME][/font] => beendet alle Prozesse mit dem Namen [PROZESSNAME] (z. B. mozilla)
    [font="Courier"]uname -a[/font] => gibt Kernel-Informationen aus
    [font="Courier"]arch[/font] => zeigt die Prozessorfamilie an


    5.2.9 Benutzerverwaltung
    [font="Courier"]id[/font] => gibt deinen Benutzernamen und die Gruppenmitgliedschaften aus
    [font="Courier"]whoami[/font] => Wer bin ich? Ausgabe des Benutzernamens
    [font="Courier"]who[/font] => Wer ist alles eingeloggt? Ausgabe der Benutzernamen, des Terminals und der Login-Zeit.
    [font="Courier"]passwd[/font] => ändert das Passwort des aktuellen Benutzers
    [font="Courier"]useradd -m [USERNAME][/font] => legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis
    [font="Courier"]passwd [USERNAME][/font] => ändert das Passwort des Benutzers [USERNAME] (nur als root)
    [font="Courier"]userdel -r [USERNAME][/font] => löscht den Benutzer [USERNAME] und sein Homeverzeichnis
    [font="Courier"]groupadd [GRUPPE][/font] => erzeugt eine neue Gruppe [GRUPPE]
    [font="Courier"]groupdel [GRUPPE][/font] => löscht die Gruppe [GRUPPE]


    5.3 wichtige Verzeichnisse
    /.. => Das Hauptverzeichnis, welches alle anderen als Unterverzeichnisse enthält
    /bin => Programme und Befehle, die alle Anwender nutzen können
    /boot => alle Dateien, die beim Booten benötigt werden
    /dev => spezielle Dateien, die die Geräte des Systems repräsentieren
    /etc => Konfigurationsdateien
    /etc/init.d => Skripten, um Dienste zu starten
    /etc/X11 => X11-Konfigurationsdateien
    /home => Home-Verzeichnisse der Anwender
    /home/pi => Home-Verzeichnis des Anwenders pi
    /lib => Kernel-Module/Treiber
    /lost+found => Dient als "Papierkorb" für Dateien, die noch im System vorhanden sind, aber deren Verzeichniseinträge gelöscht worden sind. (der direkte Zugriff ist automatisch nur dem User root gestattet.)
    /media => Mountpunkte für entfernbare Medien
    /mnt => dies ist das allgemeine Verzeichnis für die Aufnahme von Dateisystemen, die im System 'gemountet' werden.
    /opt => hier wird zusätzliche Software gespeichert, die nicht direkter Bestandteil des Betriebssystems ist
    /proc => ein virtuelles Verzeichnis mit Informationen über laufende Prozesse und das Betriebssystem
    /root => das Verzeichnis des Benutzers 'root'
    /run => in diesem Verzeichnis werden zur Laufzeit benötigte Daten abgelegt, die in /tmp nicht sicher genug sind, weil sie dort versehentlich gelöscht werden könnten.
    /sbin => Programme zur Systemwartung
    /selinux => optionale spezielle Sicherheitsprogramme. Typischerweise ist dieses Verzeichnis leer.
    /srv => hier befinden sich Daten, die von Diensten des Systems stammen. Falls keine Server-Dienste wie ein Web- oder FIP-Server genutzt werden, ist das Verzeichnis leer.
    /sys => ein spezielles Verzeichnis auf dem Raspberry Pi, das die Hardwaregeräte repräsentiert
    /tmp => ein Verzeichnis für Programme, um temporäre Daten zu erzeugen
    /usr => Programme und Daten, die von allen Anwendern genutzt werden können
    /usr/bin => die meisten Programme des Betriebssystems finden sich hier
    /usr/games => Spiele
    /usr/lib => Bibliotheken für die gebräuchlichen Programme
    /usr/local => Software, die für diesen Rechner spezifisch ist, kann hierhin kopiert werden
    /usr/sbin => weitere Programme zur Systemverwaltung
    /usr/share => Dinge, die von Anwendungen gemeinsamgenutzt werden – zum Beispiel Icons oder Schriften
    /usr/src => Linux ist Open Source – hier findet man den Quellcode!
    /var => System-Logs und Spooldateien
    /var/backups => Backup-Kopien aller lebenswichtigen Systemdateien
    /var/cache => Programme, die Daten cachen (z. B. apt-get oder ein Webbrowser), legen die Daten hier ab
    /var/log => alle Systemlogs und individuellen Service-Logs
    /var/mail => die Benutzer-E-Mails werden hier abgelegt, wenn das System für E-Mails eingerichtet ist
    /var/spool => Daten, die auf eine Verarbeitung warten (zum Beispiel eintreffende E-Mails oder Druckaufträge)


    5.4 besondere Steuertasten
    [tab] => autovervollständigen, d.h. man braucht nur die ersten paar Zeichen eines Befehls oder eines Dateinamens einzugeben und kann dann die Tabulator-Taste drücken. Die Shell wird versuchen, den String basierend auf den Dateien im aktuellen Verzeichnis oder den Programmen in Verzeichnissenwie /bin oder /usr/bin/ zu ermitteln.


    [Pfeil oben] => Befehlspuffer, d.h. drückt man an der Befehlszeile die Cursortaste nach oben, kann man den Befehlspuffer durchlaufen und sich vorher angegebene Befehle anzeigen lassen. Das ist nützlich, wenn man z.B. ein Zeichen in einer langen Befehlskette falsch eingegeben hat.


    [Strg] + [c] => beendet das aktuell laufende Programm. Funktioniert eventuell nicht mit jedem interaktiven Programm wie zum Beispiel Texteditoren.
    [Strg] + [d] => beendet die Shell. Man muss dies an der Befehlszeile selbst eingeben (und es darf nichts hinter dem $ stehen, bevor man Strg-D drückt).
    [Strg] + [a] => bewegt den Cursor an den Zeilenanfang.
    [Strg] + [e] => bewegt den Cursor an das Zeilenende.
    [Strg] + [Alt] + [F1] => Terminal/Konsolenwechsel (Linux unterstützt gleichzeitig mehrere Terminalsitzungen. Mittels dieser Tastenkombination kann zwischen den Sitzungen umgeschaltet werden.)
    [Strg] + [o] => das Ausloggen aus dem (jeweiligen) Terminal.



    6. Systemwartung


    6.1. welche Versionen habe ich eigentlich ?
    [font="Courier"]uname -a[/font] [Enter] => Kernel-Version anzeigen
    [font="Courier"]/opt/vc/bin/vcgencmd version[/font] [Enter] => Firmware-Version anzeigen


    6.2. De-/Installation von Programmen
    [font="Courier"]sudo apt-get purge [Programm][/font] [Enter] => [Programm] deinstallieren inkl. der Konfigurationsdateien
    [font="Courier"]sudo apt-get remove [Programm][/font] [Enter] => [Programm] entfernen ohne Konfigurationsdateien
    [font="Courier"]sudo apt-get update[/font] [Enter] => Wenn dieser Befehl vor der Installation neuer Pakete ausgeführt wird, kann man sicher sein, dass man die neueste verfügbare Software-Version erhält.
    [font="Courier"]sudo apt-get upgrade[/font] [Enter] => aktualisiert alle bereits installierten Anwendungen und Bibliotheksdateien
    [font="Courier"]sudo apt-get autoclean[/font] [Enter] => löscht alle überflüssigen Pre-Upgrade-Dateien
    [font="Courier"]sudo apt-get autoremove[/font] [Enter] => entfernt alle nicht mehr benötigte - bereits installierte - Pakete.
    [font="Courier"]apt-mark showauto[/font] [Enter] => zeigt alle "automatisch" installierten Packages
    [font="Courier"]apt-mark showmanual[/font] [Enter] => zeigt alle "manuell" installierten Packages


    6.3. /boot/config.txt
    Man kann viele Aspekte der Firmware mittels der Datei /boot/config.txt steuern, u.a.:
    - Videoausgabe (Over-/Underscan)
    - cpu-Frequenz
    - Audio
    Wenn der RPI nicht hochfährt oder der Bildschirm nicht mehr lesbar ist, sollte man die Datei '/boot/config.txt' entweder auf einem separaten PC bearbeiten und z.B. die letzten Änderungen rückgängig machen oder wenn überhaupt nichts mehr geht, einfach die Datei '/boot/config.txt' löshen und der RPI startet mit seinen internen Vorgaben.
    Man kann z.B. mittels Vi diese Datei auch am RPi bearbeiten:
    [font="Courier"]sudo vi /boot/config.txt[/font] [Enter]


    6.4. Testen und Konfigurieren des Audiosystems
    Kompilierung eines kleines Testprogramms, das einen Sirenenton abspielt. Die Ausgabe kann sowohl über den analogen Audioanschluß, als auch über HMDI. Für den Test folgende Befehle absetzen:
    [font="Courier"]cd /opt/vc/src/hello_pi/libs/ilclient[/font] [Enter]
    [font="Courier"]make[/font] [Enter]
    [font="Courier"]cd ../../hello_audio[/font] [Enter]
    [font="Courier"]make[/font] [Enter]
    [font="Courier"]./hello_audio.bin[/font] [Enter] => (für Ausgabe am analogen Audioanschluß)
    [font="Courier"]./hello_audio.bin 1[/font] [Enter] => (für Ausgabe am HDMI)
    Der Pi verwendet automatisch die bestmögliche Schnittstelle für Ton - HDMI vor analog


    Behilflich dabei ist u.a. das Tool 'amixer', mit dem man die Audiohardware konfigurieren kann:
    [font="Courier"]amixer controls[/font] [Enter] => (um zu sehen, welche Optionen geändert werden können)
    Die aufgeführten Optionen können über die jeweilige numid-Nummer angesprochen werden, z.B.:
    [font="Courier"]sudo amixer cset numid=3 0[/font] [Enter] => Wiedergabekanal: automatisch
    [font="Courier"]sudo amixer cset numid=3 1[/font] [Enter] => Wiedergabekanal: analog
    [font="Courier"]sudo amixer cset numid=3 2[/font] [Enter] => Wiedergabekanal: HDMI


    Um die vorgenommenen Änderungen bzw. den amixer beim Systemstart automatisch auszuführen, muß die Datei '/etc/rc.local' um die entsprechende Zeile z.B. mittels Vi erweitert werden.
    [font="Courier"]amixer cset numid=3 1[/font]
    Diese Zeile keinesfalls als letzte Zeile einfügen, am besten vor 'exit 0' !
    Einige Bildschirme erkennen das HDMI-Kabel nicht ordnungsgemäß, sodass man zwar Videosignale über HDMI bekommet, aber keinen Ton. Dies ändert man, indem man den Firmware-Konfigurationsparameter 'hdmi_drive' in '/boot/config.txt' auf '2' setzt.


    Spezielle LXDE-Player oder sonstige Audio-Tools, die auch Rücksicht auf die begrenzten Ressourcen des Raspberry Pi nehmen, gibt es meines Wissens noch nicht.
    Man kann jedoch dem LXDE-Desktop einen LautstärkeregIer spendieren:
    [x] in der Taskleiste (unten) die rechte Maustaste betätigen -> 'Paneleinträge hinzufügen/entfernen' -> hinzufügen -> Lautstärkeregler -> Hinzufügen -> Hoch -> Hoch -> Schließen.
    Der Lautstärkeregler befindet sich nun links neben der Uhr (ist schwer zu erkennen UND dieser Vorgang muß bei jedem Benutzer durchgeführt werden.).
    Falls kein Lautstärkeregler erscheint, muß der AISA-Treiber installiertwerden. Dazu:
    [font="Courier"]sudo apt-get update && sudo apt-get instalI -y alsa-utils[/font] [Enter]


    6.5. Überprüfung der Hardware-Initialisierung
    man kann mit dem Befehl [font="Courier"]dmesg[/font] einen genaueren Blick auf die Startmeldung des RPI werfen und prüfen, ob die verschiedenen Geräte richtig initialisiert wurden:
    [font="Courier"]pi@raspberrypi ~ $[/font] [font="Courier"]dmesg | less[/font] [Enter]
    [font="Courier"]Leertaste[/font], um eine Seite nach unten zu gelangen,
    [font="Courier"]b[/font], um eine Seite nach oben zu gehen.
    [font="Courier"]q[/font], um zum Shell-Prompt zurückzukommen.


    6.6. Backup des Systems
    Mitunter ist es ratsam, eine Kopie der SO-Karte anzulegen. Eine direkte Kopie der Karte ist unter Windows aufgrund des Linux-Dateisystems nicht möglich; deshalb ist hierfür eine spezielle Software notwendig, wobei es verschiedene Möglichkeiten der Vorgehensweise gibt:
    Entweder wird aus den Daten der SD Card wieder ein Image erzeugt, welches dann per Win32DiskImager auf eine zweite SD-Karte gespeichert wird (1), oder der Inhalt der SD-Karte kann direkt kopiert werden (2).
    (1) Für das Erzeugen eines Images ist ein Programm wie 'Win32DiskManager' (Freeware) oder 'UsbImageTool' (Freeware, benötigt .NET-Framework) empfehlenswert. (Empfehlung: laßt die Finger - generell - von DaemonTools !)
    (2) Kopien sind mit Partionsverwaltung-Programmen wie etwa 'GParted Live' (Freeware) und 'PartitionWizardHome' (Freeware, WindowsX86/x64) möglich.
    Es ist jedoch auch möglich, ein Backup des laufenden Systems anzuferigen. Hier wird beschrieben, wie man ein Backup des laufenden Systems anlegen kann.


    6.7. SD-Karte nur zum Booten benutzen... vielen Dank, :thumbs1: framp
    Im Vergleich zu herkömmlichen PCs kommt der RPI anstelle einer Festplatte "lediglich" mit einer SD-Karte daher. Diese gehen relativ schnell kaputt. Ziel ist es also, die SD-Karte nur zum Booten zu benutzen, um die Anzahl der Lese- und Schreibzugriffe auf ein Minimum zu beschränken, und den Rest (des Betriebs) von einem externen Speichermedium - USB-Stick, USB-Platte, SSD, usw "erledigen" zu lassen.


    6.7.1 Voraussetzung
    [x] RPI ohne Maus und Tastatur
    [x] bestehende Netzwerkverbindung
    [x] SD-Karte mit bootbarer Distribution im SD-Slot des RPI
    [x] externes Speichermedium an USB
    [x] PC mit ssh-Client (über diesen werden alle Befehle auf dem RPI remote durchgeführt)


    6.7.2 RPI booten


    6.7.3 ssh-Verbindung vom PC zum RPI aufbauen und am RPI anmelden
    hierzu gibt es bereits viele Beiträge zur Installation und Konfiguration des ssh-Client unter Windows/Linux/Mac


    6.7.4 Erstellen eines Backups der SD Karte
    siehe 6.6


    6.7.5 Erstellen einer Partition auf dem externen Speichermedium
    Das externe Speichermedium wird nachfolgend als '/dev/sda' und die entsprechende Partition als '/dev/sda1' bezeichnet;
    dies bitte ggf. entsprechend anpassen, dazu :


    [font="Courier"]sudo fdisk /dev/sda[/font] [Enter]


    6.7.6 Formatieren der neuen Partition mit ext4
    [font="Courier"]sudo mkfs.ext4 /dev/sda1[/font] [Enter]


    6.7.7 Kopieren der Datenpartition von SD-Karte auf externes Speichermedium
    [font="Courier"]sudo mount /dev/sda1 /mnt[/font] [Enter]
    [font="Courier"]cd /[/font] [Enter]
    [font="Courier"]sudo tar cf - * --exclude /mnt/* | ( cd /mnt; sudo tar xfp -)[/font] [Enter]


    6.7.8 Ändern der Partitionstabelle auf dem externen Speichermedium
    die Datei '/mnt/etc/fstab' mit dem Texteditor 'nano' anpassen:
    [font="Courier"]sudo nano /mnt/etc/fstab[/font] [Enter]


    ändern von:
    [font="Courier"]/dev/mmcblk0p1 /boot vfat defaults 0 0
    /dev/mmcblk0p2 /ext4 defaults,noatime 0 0[/font]


    in:
    [font="Courier"]/dev/mmcblk0p1 /boot vfat defaults 0 0
    /dev/
    sda1 /ext4 defaults,noatime 0 0[/font]


    6.7.9 die Datei '/boot/cmdline.txt' sichern
    [font="Courier"]sudo cp /boot/cmdline.txt /boot/cmdline.txt.sd[/font] [Enter]
    Die Datei kann im Notfall wiefolgt zurückgespielt werden:
    [font="Courier"]sudo cp /boot/cmdline.txt.sd /boot/cmdline.txt[/font] [Enter]


    6.7.10 Anpassen der Datei '/boot/cmdline.txt'
    die Datei '/boot/cmdline.txt' mit dem Texteditor 'nano' anpassen:
    [font="Courier"]sudo nano /boot/cmdline.txt[/font] [Enter]


    ändern von:
    [font="Courier"]dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootfstype=ext4 noatime quiet rootwait loglevel=1 zram.num_devices=2[/font]


    in:
    [font="Courier"]dwc_otg.lpm_enable=0 root=/dev/sda1 rootfstype=ext4 noatime quiet rootwait loglevel=1 zram.num_devices=2[/font]



    7. zusätzliche Software/Tools
    In diesem Kapitel werden nützliche Software/Tools für den RPI vorgestellt. Dieses Kapitel wird stets erweitert.


    7.1. Tools


    7.1.1 Scrot
    Beschreibung:
    Erstellung von sog. ScreenShots auf dem RPI
    Installation:
    [x] [font="Courier"]sudo apt-get update && sudo apt-get install -y scrot[/font] [Enter]


    7.1.2 PuTTY
    Beschreibung:
    ssh-Client für windows- und linux-basierte PCs; damit kann man sich mit dem RPI verbinden (Terminalfenster) und ihn somit ohne Monitor, Tastatur und Maus (= headless) bedienen.
    Installation:
    [x] die Datei 'putty.exe' in der stabilen Version 6.2 HIER herunterladen und ausführen; hierzu ist keine Installation notwendig.
    Einstellungen:
    gegenüber der Standardeinstellung (Default Settings) ist folgendes zu ändern/ergänzen:
    [x] Session => unter 'Host Name (or IP address)' Hostname oder IP-Adresse des RPIs eingeben
    [x] Window -> Translation => unter 'Remote character set:' den Eintrag 'UTF 8' auswählen
    [x] Connection -> Data => unter 'Auto-login username' den Benutzer eingeben, der sich mit dem RPI verbinden soll, z.B. 'root' oder 'pi' (ohne Hochkommata). Bleibt dieses Feld unausgefüllt, kann man sich bei jeder Session erneut überlegen, mit welchem Benutzer man sich einloggen möchte.
    [x] Connection -> SSH -> X11 => Enable X11 forwarding (optional - wer das Standard Raspbian benutzt kann bei dieser Option ein Häkchen setzen)
    [x] Connection -> SSH -> 'Prefered SSH protocol version:' die Option '2only' selektieren
    [x] Session => unter 'saved Sessions' dieser Einstellung einen Namen geben (z.B. pi@rpi-1) und mittels [Save] speichern; somit müssen die Einstellungen nicht jedesmal erneut durchgeführt werden.
    Bemerkung:
    Das Abspeichern der Kommunikationsparameter und Aufrufen mittels 'load' funktioniert im übrigen nicht mit der portablen Version von 'PuITY' (=> Komplettinstallation); dafür stehen unterschiedliche PuITY-Versionen zur Verfügung.


    7.1.3 evince
    Beschreibung:
    PDF-Reader
    Installation:
    [x] [font="Courier"]sudo apt-get update && sudo apt-get install -y evince[/font] [Enter]


    7.1.4 apt-file
    Beschreibung:
    verwaltet eine Liste aller Pakete und deren Abhängigkeiten, d.h. wenn man den genauen Namen eines zu installierenden Pakets nicht kennt, kann man dies über 'apt-file' ausfindig machen:
    Angenommen man möchte [Programm] installieren und weiß nicht, welches Paket installiert werden muß, dann kann man mittels
    [font="Courier"] apt-file -l search [Programm][/font] [Enter]
    eine Liste aller Pakete ausgeben, die mit [Programm] zu tun haben, und man kann entscheiden, welches man installieren will.
    Man kann apt-file auch dazu verwenden, den Inahlt eines Paktes anzuzeigen, selbst wenn man es nicht installiert hat:
    [font="Courier"] apt-file list [Programm][/font] [Enter]
    Installation:
    [x] [font="Courier"]sudo apt-get update && sudo apt-get install -y apt-file[/font] [Enter]


    7.1.5 lighttpd
    Beschreibung:
    sehr schmaler Webserver
    Installation:
    [x] [font="Courier"]sudo apt-get update && sudo apt-get install -y lighttpd[/font] [Enter]


    7.1.6 php
    Beschreibung:
    (Web)Programmiersprache u.a. für Webserver benötigt
    Installation:
    [x] [font="Courier"]sudo apt-get update && sudo apt-get install -y php5-cgi[/font] [Enter]
    [x] [font="Courier"]sudo lighty-enable-mod fastcgi[/font] [Enter]
    [x] [font="Courier"]sudo /etc/init.d/lighttpd force-reload[/font] [Enter]



    7.2 UTILs


    7.2.1 WiringPi
    Beschreibung:
    WiringPi ist ein Open-Source-Projekt, das die hässlichen Low-Level-Funktionen hinter einer sauberen Schnittstelle verbirgt.
    WiringPi macht nicht nur die Programmierung der Pi-Hardware leichter, sondern bietet auch ein kleines Hilfsprogramm für die Kommandozeile namens gpio, mit dem Sie die Hardware steuern können, ohne Code zu schreiben. Man kann es z.B. aus C, C++, Python, Ruby usw. nutzen.
    Installation:
    [x] [font="courier"]pi@raspberry:~$ cd /tmp[/font] [Enter]
    [x] [font="courier"]pi@raspberry:~$ sudo apt-get update && sudo apt-get install git-core[/font] [Enter]
    [x] [font="courier"]pi@raspberry:~$ sudo apt-get update && sudo apt-get upgrade[/font] [Enter]
    [x] [font="courier"]pi@raspberry:~$ git clone git://git.drogon.net/wiringPi[/font] [Enter]
    [x] [font="courier"]pi@raspberry:~$ cd wiringPi[/font] [Enter]
    [x] [font="courier"]pi@raspberry:~$ ./build[/font] [Enter]
    Bemerkung
    aktuellen Zustand der Pin-Belegung anzeigen:
    [font="courier"]pi@raspberry:~$ gpio readall[/font] [Enter]


    7.2.2 RPi
    Beschreibung:
    Die RPi-Bibliothek bietet viele bequeme Funktionen, um die GPIO-Pins des RPI zu steuern. Raspbian wird bekannterweise mit Python ausgeliefert, RPi muss jedoch noch installiert werden.
    Installation:
    [x] [font="courier"]pi@raspberry:~$ sudo apt-get update && sudo apt-get -y upgrade[/font] [Enter]
    [x] [font="courier"]pi@raspberry:~$ sudo apt-get install -y python-dev python-rpi.gpio[/font] [Enter]


    7.2.3 Samba-Server
    Beschreibung:
    Um u.a. von Windows auf einen Linux-Server zugreifen zu können, muß ein Samba-Server installiert sein/werden.
    Installation:
    [x] siehe HIER


    7.2.4 VLC Media Plager
    Beschreibung:
    ein bekannter Audio- und. Videoplayer, der ansich bereits zahlreiche Formate mitbringt/unterstützt.
    Installation:
    [x] [font="courier"]pi@raspberry:~$ sudo apt-get update && sudo apt-get install -y vlc[/font] [Enter]



    8. LINKS
    HIER kann man erfahren, welche Peripherie-Geräte mit dem RPi funktionieren


    8.1 Tools
    --- Texteditor vi


    8.2 Einkauf/Bestellung
    --- RasppiShop


    8.3 Linux
    --- Wiki UbuntuUsers


    8.4 RPI-Firmware
    --- 8.4 Konfigurationsparameter der RPI-Firmware
    --- aktuelle Firmware
    --- rpi-update


    8.5 Webserver lighttpd
    --- Webserver lighttpd.


    8.6 WiringPi
    --- Hardware programmieren


    .
    .

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---


    Edited once, last by Perlchamp ().

  • .
    25. April 2014 :


    -- Rubrik 6 (Systemwartung) hinzugefügt
    -- Rubrik 7.2 (UTILs) hinzugefügt


    dieses Tutorial wird ständig aktualisiert
    .

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---


  • Rubrik 6.2 aktualisiert bzw. erweitert


    dieses Tutorial wird ständig aktualisiert

    --- wer lesen kann, ist klar im Vorteil ---

    --- man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug ---

    --- der Fortschritt der Menschheit ist das Werk der Unzufriedenen ---

    --- Freude entsteht aus Mangel an Information ---

    --- Scheiße ist, wenn der Furz etwas wiegt ---


    Edited once, last by Perlchamp ().

  • Hi,


    das ist mal ein ausgezeichnetes Tutorial und vor allem für anfänger geeignet. so würde ich vorschlagen dies im Titel mit anzuführen. Es ersparte mir eben als auch blutiger Anfänger hier zu fragen, wie man Python installiert, ob V3 nutzvoll wäre, was man für GPIO-Dinge sonst noch braucht....


    Nachdem ich bei den immer mal wieder empfohlenen sudo apt-get update und - upgrade bereits was von Python durchhuschen sah, waren gerade die Befehle
    apt-mark showauto [Enter] => zeigt alle "automatisch" installierten Packages
    apt-mark showmanual und apt-mark showauto
    sehr informativ. So konnte ich auch bereits sehen, dass python rpi.gpio bereits vorhanden ist und nicht (neu9 installiert werden muss. Toll!

    Viele Grüße, Charly