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
