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)
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
df -h # Hier ist es /dev/sdc1
blkid | grep sdc1 # UUID="020E-9FCB"
UUID=b8c99ecc-43c3-4a66-aa84-2539b732cf38 /var/log ext4 auto,nofail,sync,users,rw 0 0 # log
mount -a
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
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
apt install autofs systemctl enable --now autofs
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
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
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
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
ln -sf /usr/share/zoneinfo/right/Europe/Berlin /etc/localtime
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
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
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
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.
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.
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