**Dies ist eine alte Version des Dokuments!**
Inhaltsverzeichnis
Raspberry Pi2 mit Arch Linux als NAS
Hier schildere ich meine Erfahrungen bei der Installation und Konfiguration eines Raspberry Pi2 mit der Linux-Distribution Arch Linux und dem anschliessenden Betrieb einer 2TB-USB-Festplatte als NAS.
Ein paar Angaben zu den vorhandenen Geräten in meinem Netzwerk
Router: O2 Box 6431 Notebook 1: Win7 Notebook 2: Linux Manjaro Netbook: WinXP Smartphone 1: Android Smartphone 2: Android
microSD-Karte vorbereiten
in einen Linux-Rechner SDcard einstecken und Device der SD-Card herausfinden
sudo blkid
oder
sudo lsblk
unmounten (hier im Beispiel /dev/sda) alle Parition unmounten, SD-Card nicht auswerfen!
sudo umount /dev/sda1
falls mehrere Partitionen vorhanden, Beispiel für Partition Nr.1 und Nr.2
sudo umount /dev/sda{1,2}
microSD-Karte formatieren und Partitionen anlegen
GParted starten eventuell vorhandene Partition(en) löschen erste Partition (Bootpartition) als FAT32 mit 100MB anlegen zweite Partition (/) als ext4 anlegen GParted schliessen
Installation vorbereiten und Arch installieren
formatieren
sudo mkfs.vfat /dev/sdi1 sudo mkfs.ext4 /dev/sdi2
installieren
mkdir mnt sudo mount /dev/sdi2 mnt sudo mkdir mnt/boot sudo mount /dev/sdi1 mnt/boot wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz sudo bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C mnt rm ArchLinuxARM-rpi-2-latest.tar.gz sync sudo umount mnt/boot mnt rmdir mnt
Raspi mit der microSD-Karte starten
mit angeschlossenem Monitor als
root:root
oder via
ssh alarm@alarmpi password: alarm su password: root
erster Start - Grundeinstellungen
Tastaturlayout temporär auf Deutsch umstellen
loadkeys de
hostname einstellen
hostnamectl set-hostname raspbpi2
/etc/locale.gen für die Schweiz einstellen: deCH.UTF-8 UTF-8 auskommentieren deCH.UTF-8 UTF-8:
sed -i 's/.\(de_CH.UTF-8*.\)/\1/g' /etc/locale.gen
kommentieren en_US.UTF-8 UTF-8:
sed -i 's/en_US.UTF-8.*/#&/g' /etc/locale.gen
Tastaturlayout permanent für die Schweiz einstellen
echo LANG=de_CH.UTF-8 > /etc/locale.conf echo KEYMAP=sg-latin1 > /etc/vconsole.conf ln -s /usr/share/zoneinfo/Europe/Zurich /etc/localtime
HardwareUhr auf UTC stellen. Lokalzeit kommt von Zeitzonenangabe
timedatectl set-local-rtc 0
Nach der Konfiguration werden die Locales generiert
locale-gen
Zeit überprüfen
timedatectl status
systemctl status systemd-timesyncd
ODER mit journalctl
journalctl -u systemd-timesyncd.service
Paketmanager einstellen
pacman -Syy pacman -S archlinux-keyring pacman-key --init pacman-key --populate archlinux
Pacman einrichten
nano /etc/pacman.d/mirrorlist
gewünschte Spiegelserver z.B. Deutschland auskommentieren CTRL-X = beenden
pacman -Scc pacman -Sy pacman -S wget rsync
nano /etc/pacman.conf /etc/pacman.conf bearbeiten
UseDelta = 0.7
System aktualisieren
pacman -Syu
wichtige Systemeinstellungen
FIX boot/config.txt
cat /boot/config.txt | grep gpu
Ausgabe: gpumem=64 auf gpumem=320 ändern und USB Stromversorgung sicherstellen
nano /boot/config.txt
gpu_mem=320 max_usb_current=1
Neustart
reboot
Neuer Benutzer einrichten
OPTIONAL User „alarm“ mit der UID=1000 löschen USER alarm löschen nicht über ssh möglich!!! über Bildschirm (tty) als root anmelden, password: root
userdel -rf alarm
USER einrichten (mit gelöschtem „alarm“)
useradd -m -G wheel -u 1000 -s /bin/bash neuerBenutzer
Passwort für neuen USER vergeben
passwd neuerBenutzer
optional Gruppen vergeben (je nach Bedarf)
usermod -aG games,rfkill,users neuerBenutzer usermod -aG storage,network,video,audio,power,log neuerBenutzer usermod -aG systemd-journal neuerBenutzer
für bluetooth
usermod -aG lp neuerBenutzer #####SUDO pacman -S sudo
EDITOR=nano visudo
Auskommentieren für Mitglieder der Gruppe wheel ausführen von Befehlen erlauben
%wheel ALL=(ALL) ALL
Neustart und Abschluss der Installation
ssh neuerBenutzer@raspbpi2
Passwort: wie oben vergeben Message-of-the-day löschen oder ändern
sudo nano /etc/motd
BASH helper
sudo pacman -S bash-completion
SCREEN
sudo pacman -S screen
HTOP
sudo pacman -S htop lsof strace
diverse Archiver
sudo pacman -S unace unarj unrar zip p7zip mtools cabextract
base-devel = develop Voraussetzungen (14 von 25 Paketen schon installiert gewesen)
sudo pacman -S abs base-devel
Fixe IP vergeben
Netctl installieren
pacman -S netctl
Konfigurationsdatei kopieren und bearbeiten
sudo cp /etc/netctl/examples/ethernet-static /etc/netctl
sudo nano /etc/netctl/ethernet-static
Address=('192.168.1.61/24')
Gateway= '192.168.1.1'
DNS='192.168.1.1'
Gestartete Dienste anzeigen
systemctl --typ=service
Network.service beenden und deaktivieren
systemctl stop systemd-networkd.service systemctl disable systemd-networkd.service
Netzwerkadapter stoppen
sudo ip link set down dev eth0
Netctl starten und aktivieren
sudo netctl start ethernet-static sudo netctl enable ethernet-static
Bei Änderungen an netctl, Dienst neu aktivieren
sudo netctl reenable ethernet-static
USB-HDD einbinden
USB-HDD anschliessen und mit blkid die UUID auslesen
sudo blkid
bei mir wird folgendes angezeigt
/dev/sda1: LABEL="WinDaten" UUID="A4A0-44AF" TYPE="vfat" PARTUUID="0005a791-01" /dev/sda2: LABEL="LinuxDaten" UUID="db3bacd1-c55c-49b1-9799-a148eaacfd5d" SEC_TYPE="ext2" TYPE="ext3" PARTUUID="0005a791-02
Die ermitellten UUID's mit den Mountpoints in /etc/fstab eintragen
sudo nano /etc/fstab
UUID=145188C22601432A /mnt/Win ntfs defaults,rw 0 0 UUID=4fa08102-f8b1-4664-8264-f07a56ccee0e /mnt/Linux ext4 defaults,rw 0 0
Hier mal den Raspi neu starten schadet nicht
sudo reboot
Jetzt die USB-HDD einbinden
sudo mount -a
Samba einrichten
Installieren
sudo pacman -S samba
Benutzer einrichten
Samba verwendet Systembenutzer. Daher legen wir einen neuen Benutzer ohne Login und ohne Passwort an
sudo adduser --disabled-password --disabled-login BenutzerName
Diesen Benutzer auch in Samba anlegen
sudo smbpasswd -a BenutzerName
Konfigurieren
sudo cp /etc/samba/smb.conf.default /etc/samba/smb.conf
sudo nano /et/samba/smb.conf
folgendes soll angepasst werden
# Global Parmeters
[Global]
workgroud = Workgroup
netbios name = <HOSTNAME-DES-RASPI>
security = User
Shares konfigurieren
# Share
[Verzeichnisname]
path = /mnt/Win/Verzeichnisname
valid users = <DER-ZUVOR-ANGELEGTE-BENUTZER>
read only = No
create mask = 0777
directory mask = 0777
Samba starten und testen
sudo systemctl start smbd.service testparm -s