| FOTO | AUTO | EDV | AUDIO |

Etcher runterladen https://www.balena.io/etcher/ entpacken und ausführen OS runterladen ubuntu-20.04-3.16-minimal-odroid-c2-20210201.img.xz SD flashen

Login mit root:odroid

Access Credentials Username Password root odroid odroid odroid Server heist odroid (mit nmap -p22 192.168.178.0/24 suchen)

de_DE umstellen

dpkg-reconfigure locales

DE_UTF8 auswählen und bestätigen

locale-gen
export LANG=de_DE.UTF-8
export LC_ALL=de_DE.UTF-8

Prüfen mit

locale

Temporär eine USB-Platte einhängen

mkdir /root/platte
fdisk -l              # zeigt verfügbare devices
mount /dev/sda2 platte

=== Jetzt weiter mit Anleitung

… Neuen 4 Gig USB-Stick für Logfiles

Nachinstallieren

apt install net-tools    # ifconfig
locate  (updatedb)

SD-Karte schonen

Da SD-Karten einen begrenzten L/S Zyklus haben, biege ich das Log-Verzeichnis auf einen externen Stick um. Das FS muss unbedingt ein ext sein, ich empfehle ext2

1. USB-Stick einhängen und den aktuellen Mountpunkt auslesen

df -h     # Hier ist es /dev/sdc1

2. UUID ermitteln

 blkid | grep sdc1     # UUID="020E-9FCB" 

3. /etc/fstab anpassen -> Eine neue Zeile hinzu fügen:

  UUID=b8c99ecc-43c3-4a66-aa84-2539b732cf38 /var/log ext4 auto,nofail,sync,users,rw   0   0     # log

4. Logdaten auf den neuen Stick kopieren
5. Neues Device verwenden
mount -a

Statt fstab lieber autofs zum mounten verwenden

Sollte ein in der fstab genanntes USB-Device beim booten nicht verfügbar sein, startet der Odroid nicht. Daher ist es besser den Automount von autofs erledigen zu lassen

Wenn es mit dem Sound nicht klappt

dann kann es daran liegen, dass die Kopfhörer-Hardware deaktiviert ist. Hier wird Abhilfe geschaffen:
http://linuxwelt.blogspot.de/2014/09/kein-ton-uber-die-kopfhorer-linux-mint.html

Installation

apt install autofs
systemctl enable --now autofs

Konfiguration

Hier am Beispiel der USB-Media Festplatte erklärt:

mkdir /automnt

Nach dem Erstellen des Mountverzeichnis kann die Master-Datei editiert werden

vim /etc/auto.master
/automnt /etc/auto.automnt --timeout=10 --ghost

Dies definiert das Mountverzeichnis, die Konfigdatei, Timeout und weitere Parameter. Jetzt wird das Device in der Datei auto.automnt definiert

vim /etc/auto.automnt
USB --timeout=30,fstype=ntfs,permissions,acl,sync UUID=84EEF016EEEFFDEC

In den Unterodrner USB wird eine NTFS-Partition mit voller Rechteumgebung gemountet

Neu:

vim /etc/auto.automnt
/automnt /etc/auto.automnt --timeout=10 --ghost

UUID finden

blkid -o list -w /dev/null

Mein Beispiel: /dev/sdb2 ntfs Extern 6TB (not mounted) 84EEF016EEEFFDEC

vim /etc/auto.master
USB --timeout=30,fstype=ntfs,permissions,acl,sync UUID=84EEF016EEEFFDEC
systemctl reload autofs

Name und Ip-Adresse

Einen passenden Namen vergeben:

vim /etc/hostname

Eine statische IP-Adresse zuweisen:

vim /etc/network/interfaces.d/eth0.cfg

iface eth0 inet static
        address 192.168.178.3
        netmask 255.255.255.0
        gateway 192.168.178.1
        dns-nameservers 192.168.178.1

Neu mit Netplan seit Ubuntu 18

vim /etc/netplan/01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      # Ser IP address & subnet mask
      addresses: [192.168.178.3/24]
      # Set default gateway
      gateway4: 192.168.178.1
      nameservers:
        # Set DNS name servers
        addresses: [192.168.178.4,192.168.178.1]
      dhcp6: no
<y/code>
  netplan apply
  ip addr 
IPv6 deaktivieren
  echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
  sysctl -p
 
Autostart bei Boot
  systemctl enable systemd-networkd
 
=== Deinstallieren was nicht gebraucht wird ===
  apt remove --purge libreoffice-common
  apt remove --purge thunderbird
  * Rhythmbox
  * VLC
und was noch so stört...
Zum Schluss alle Abhängigkeiten löschen mit 
  apt autoremove
 
=== Update ===
<code bash>apt update && apt upgrade && apt dist-upgrade && apt autoremove
Danach rebooten

Einstellungen

  • Sprache, Region und Formate (Ich lasse Englisch, stelle aber Tastatur, Zeit und Währung um)

apt-get install language-pack-de

vim /etc/default/locale

LANGUAGE="de"
LANG="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_MESSAGES=POSIX

  • Zeitzone anpassen:
    ln -sf /usr/share/zoneinfo/right/Europe/Berlin /etc/localtime
  • Autostart → entfernen was nicht passt

Grafiport deaktivieren

Nachdem der Server konfiguriert ist, betreibe ich ihn ohne Monitor. Daher benötige ich auch keinen Grafikport. Die Einstellung wird in der boot.ini angepasst. Dafür ist ein Systemupgrade nötig.

vim /media/boot/boot.ini

# Server Mode (aka. No Graphics)
# Setting nographics to 1 will disable all video subsystem
setenv nographics "1"
Durch zurück stellen der Einstellung und rebooten kann der Server wieder mit Monitor betrieben werden.
In der boot.ini werden auch dei Parameter für Takt und Kerne definiert.

vimi i/usr/share/bootini/boot.ini.default

setenv maxcpus "4"
 setenv max_freq "1656"  # 1.656GHz
Siehe: http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq

Backup

Ein regelmäßiges Backup ist, wie jeder weis, wichtig. Leider ist die offizielle Vorgehensweise unbequem und wird daher eher vernachlässigt. Ein guter Backup-Plan ist daher automatisierbar. Einfach lässt sich dies mit dd realisieren

Backup erzeugen

 dd if=/dev/mmcblk0 bs=1M count=10MB status=progress | gzip > /automnt/USB/Backup/odroid.dd.gz

Dies erstellt eine 1-zu-1 Kopie aller Partitionen des angegebenen Devices (also mmcblk1 = / und mmcblk2 = /boot) aud die externe USB-Platte (gemountet nach /automnt/USB/Backup) und vergibt dem Backup den Namen odroid.dd.gz

Backup verwenden

Entweder man spielt im Desasterfall alles auf eine neue SD-Karte mindestens gleicher Größe, oder es werden nur einzelne Daten benötigt. Beides ist möglich.

Der Desasterfall

Die MMC-Karte ist kaputt, alle Daten sind verloren. Jetzt braucht man eine neue SD- oder MMC Karte von mindestens gleicher Größe. Die Backup-Platte wird an einen Linux-PC angeschlossen, die neue Speicherkarte (/dev/sda) eingeschoben. Jetzt kann das Backup auf die neue Speicherkarte geschrieben werden.

gzip -dc /media/USB/Backup/odroid.dd.gz | dd of=/dev/sda bs=1M

Die neu beschriebenen Speicherkarte kann jetzt verwendet werden.

Einzelne Daten retten

Dazu wird das Backup wie eine Festplatte gemountet. So können einzelne Dateien kopiert werden. Vorbereitung
Es müssen die Pakete zum Einhängen eines Plattendump installiert sein

apt-get install avfs kpartx

AVFS als user mounten:

mountavfs
  Mounting AVFS on /home/user/.avfs...

Test:

ls -la /home/user/.avfs

Das gesamte file system „/“ wird unter „/home/user/.avfs/“ abgebildet, mit der option darin archive direkt zu öffnen. Das Archiv muss die passende Endung haben (zB. .gz). Dem Dateinamen muss ein # angehängt werden (geht nicht auf der zsh, nur bash).

Image mit einer Partition, zb. sda5.dd.gz Mounten:

losetup /dev/loop1 /home/user/.avfs/path/to/sda5.dd.gz#       (Filename + #)
mount   -o ro /dev/loop1 /media/mountpoint

Unmounten:

umount /media/mountpoint
losetup -d /dev/loop1

Image mit einer gesamten Platte, zb. sda.dd.gz Partitionen im Image anzeigen lassen:

kpartx -l /home/user/.avfs/path/to/sda.dd.gz#
  loop0p1 : 0 204800 /dev/loop0 2048
  loop0p2 : 0 50169856 /dev/loop0 206848

Partitionen im Image mappen lassen (read only) und zweite Partition mounten:

kpartx -a -r /home/user/.avfs/path/to/sda.dd.gz#
mount -o ro /dev/mapper/loop0p2 /media/mountpoint

Unmounten:

umount /media/mountpoint
kpartx -d /home/user/.avfs/path/to/sda.dd.gz#       (geht manchmal nich?!)

Oder man benutzt ein Backup-Script: http://www.forum-raspberrypi.de/Thread-tutorial-backup-des-laufenden-systems-anlegen

Weitere Informationsquellen

Portfreigaben Bezeichnung Protokoll Port an Port OpenVPN TCP 5001 5001 SSH TCP 4711 22 vsFTP Data UDP 20 20 vsFTP listen TCP 21 21 Donkey TCP 9339 9339 Donkey UDP 9343 9343 Overnet TCP 17247 17247 eMule TCP 4662 4662 eMule UDP 4672 4672 Kademila TCP 16959 16959 Kademila UDP 16959 16959 Directconnect TCP 4444 4444 Bittorrent TCP 6881-6882 6881-6882 Gnutella TCP 6346-6347 6346-6347 Gnutella UDP 6346-6347 6346-6347 Napster TCP 9999 9999 Soulseek TCP 2234 2234 Bittorrent UDP 12653 12653 Directconnect UDP 4444 4444 Overnet UDP 17247 17247 HTTP-Server TCP 80 80