.NET 5.0 (Linux, macOS, and Windows)

Ich beschäftige mich schon eine ganze Weile mit dem .NET Framework und .NET Core, privat wie auch beruflich. Für Projekte im privaten Bereich wurde .NET für mich erst so richtig interessant, als es dank Mono möglich wurde, Programme auch auf einem Raspberry Pi auszuführen.

Mit der Einführung von .NET Core der Open Source und Cross-Plattform Version von .NET, hat Microsoft mir und einer grossen Community eine spannende Entwicklungsplattform zur Verfügung gestellt.

Was ich besonders an der .NET Plattform schätze, ist wirklich die Idee dahinter. Eine Entwicklungsplattform zur Verfügung zu haben, in der ich praktisch alle benötigten Szenarien bedienen kann. So ist es unteranderem möglich mit nur einer Entwicklungsumgebung, (Visual Studio) Desktopanwendungen, Clouddienste, Webapplikationen, Web-Services und APPS (Android, iOS) zu erstellen. (Aufzählung nicht vollständig)

Wird nun alles mit .NET 5 noch besser? Wir werden sehen, wohin diese spannende und sehr flexible Entwicklungsplattform uns führt. Erste Erfahrungen mit einer .NET 5 Webapplikation konnte ich bereits sammeln. Diese haben wir am 08.12.2020 in Betrieb genommen und sind bis jetzt nicht entäuscht worden.

Hier habe ich nun ein paar interessante Informationen rund um .NET 5 zusammen getragen:

Introducing .NET 5 (06. Mai 2019)

Introducing .NET 5

Announcing .NET 5.0 (10. November 2020)

Announcing .NET 5.0

.NET 5 verfügbar für Windows, macOS und Linux. Für x86, x64, Arm32, Arm64

.NET Conf 2020 – Keynote (12. November 2020)

.NET Conf 2020 – Das .NET Ökosystem

.NET ecosystem momentum – aus dem Video

Nützliche Links:

What’s new in .NET 5

.NET 5 Herunterladen

Free .NET Architecture Guides

.NET Channel on YouTube

.NET Foundation on YouTube

Visual Studio

Visual Studio Community

Eine Saunasteuerung von Johnny Hooyberghs – MijnSauna: .NET 5 (Docker, Webservice, Raspberry Pi)

Linux: Passwort des Benutzer root zurücksetzen

Sollte man mal in die Verlegenheit geraten und das “Root-Passwort” eines Systems nicht mehr zur Verfügung haben, gibt es eine einfache Möglichkeit das Passwort zu wechseln. Dazu wird das aktuelle Betriebsystem im “single user mode” gestartet.

Schritt 1:
Sobald der “Grub Boot Loader” angezeigt wird, wählt man den benötigen “Boot-Eintrag” aus.
Grub_Boot_Menue

Danach kann mit der Taste “e” der Eintrag bearbeitet werden. Dann sucht man die Zeile, welche mit “linux” anfängt und ergänzt diese am Schluss mit:init=/bin/bash

Grub Boot Menü

Wurde das “Grub Boot-Menü” angepasst kann mit der Taste F10 gestartet werden.

Schritt 2:
Danach muss das “Root-Filesystem” noch gemounted werden:
mount -o remount,rw /

Schritt 3:
Nun kann das Passwort geändert werden.
passwd

unter Ubuntu:
passwd "{Benutzer}"

“{Benutzer}” ist der bei der Installation definierte “Root-Benutzer”.

Mit dem Befehl: exec /sbin/init kann nun das Betriebsystem gestartet werden.

Nützliche Links:
How To Reset Root User Password In Linux

Linux: Bereinigen der “/boot” Partition mit Hilfe der Konsole

Sollte es vorkommen, dass die “/boot” Partition keinen freien Speicherplatz mehr besitzt, müssen die alten überflüssigen “Kernel-Images” entfernt werden.

1. Prüfen welcher Kernel aktuell verwendet wird, damit dieser nicht gelöscht wird:


>uname -r

2. Anzeigen aller installierten Kernels:


>dpkg --list 'linux-image*'

3. Löschen der nicht mehr benötigten Kernels. Dabei muss {Version} mit der Versionsnummer ersetzt werden:


>sudo apt-get remove linux-image-{Version}

4. Löschen der nicht mehr benötigten Pakete:


>sudo apt-get autoremove

5. Am Schluss kann noch die Kernel-Liste aktualisiert werden:


>sudo update-grub

Der Befehl “apt-get remove” funktioniert nicht da “/boot” zu 100% voll ist

Erhält man die Meldung, es müsse zuerst


>sudo apt-get -f install

verwendet werden, da nicht alle Pakete korrekt installiert sind, dieser Befehl aber wegen fehlendem Speicherplatz auf “/boot” nicht beendet werden kann, muss manuell auf der “/boot” Partition platz geschaffen werden.

1. Anzeigen, welche Kernel installiert sind:


>ls -l /boot

2. Manuelles löschen der Dateien:
So viele nicht mehr benötigte Kernel-Dateien löschen, bis genügen Speicherplatz zur Verfügung steht.


>sudo rm vmlinuz-{version}
>sudo rm initrd-{version}
>sudo rm System.map-{version}

3. Installation bereinigen:


>sudo apt-get -f install

4. Löschen der Pakete, welche nicht mehr gebraucht werden:


>sudo apt-get autoremove

Nützliche Links

askubuntu.com: What is the safest way to clean up /boot partition?

Linux: Nano Command-Line Texteditor

Zum Bearbeiten von Dateien im Terminal oder in der Konsole gibt es einen einfachen Texteditor mit dem Namen “Nano”. Unter Ubuntu ist dieser standardmässig installiert. Ist man sich das Arbeiten mit Nano nicht gewohnt, gibt es doch ein paar kleinere Hürden.

Bearbeiten einer Datei in der Konsole / Terminal:

nano [OPTIONEN] [DATEI] 

Tastenkürzel: Datei Speichern

CTRL + O

Tastenkürzel: Datei schliessen

CTRL + X

Tastenkürzel: In der Datei suchen

CTRL + W

Tastenkürzel: Gleiche Suche wiederholen (Nächstes Resultat)

ALT + W

Tastenkürzel: Zu einer bestimmten Zeile springen

CTRL + G

Tastenkürzel: Textmarkieren

ALT + A

Tastenkürzel: Markiertentext in die Zwischenablage kopieren

ALT + 6

Tastenkürzel: Text aus der Zwischenablage einfügen

CTRL + U

Tastenkürzel: Text ausschneiden und in die Zwischenablage kopieren

CTRL + K

Nützliche Links
Ubuntu Wiki: Nano
GNU Nano Homepage

Linux: Uhrzeit abgleichen mit dem NTP-Deamon

Das NTP-Protokoll ist dazu da, um die Zeit des Systems mit einem zentralen Zeitserver abzugleichen. Dazu muss auf dem Server System sichergestellt werden, dass der NTP-Deamon installiert ist.

Installation des NTP-Deamon


~$ sudo apt-get install ntp

 
Konfigurieren des NTP-Deamon

Danach können in der Datei “/etc/ntp.conf” die zu verwendenden Zeitserver angegeben, sowie die benötigten Einstellungen gemacht werden. Damit die Änderungen in der “ntp.conf” auch verwendet werden, muss die Konfigurationsdatei neu geladen werden.


~$ sudo service ntp reload

 
Die Zeit manuell synchronisieren

Soll die Zeit manuell synchronisiert werden, kann man dies mit folgendem Befehl tun:


~$ ntpd -q

-q NTP-Deamon nach erstmaligem synchronisieren beenden
 
Nützliche Links

Uhrzeit-Abgleich mit NTP

Ubuntu: Server Edition Installation upgraden

Eine Ubuntu Server Installation kann mit dem “do-release-upgrade utility” auf die nächsthöhere Version aktualisiert werden. Die Verwendung dieses Utility wird in der Ubuntu Dokumentation als die empfohlene Methode beschrieben.

Bevor man die Aktualisierung auf einen neueren Release beginnt, sollte man sicherstellen, dass das System auf dem neusten Stand ist.

Dazu holt man zuerst die neusten Paketinformationen:

>sudo apt-get update

Als Nächstes werden die Pakete aktualisiert:
>sudo apt-get dist-upgrade

Nun kann mit dem Release-Upgrade begonnen werden:

>do-release-upgrade

Jetzt folgt man nur noch den Anweisungen auf dem Bildschirm. Werden Konfigurationdateien geändert sollte man die Änderungen gut prüfen oder eben die eigenen behalten.

Nützliche Links

apt-get Dokumentation
Upgrading ubuntu
Upgrade Lucid auf Precise

Buch: Computer-Forensik Hacks

Computer-Forensik Hacks
Computer-Forensik Hacks

Wenn man die Einleitung des Buches gelesen hat, in der man einen kleinen Überblick zur Thematik Computer-Forensik erhält, startet das erste Kapitel mit der Datensicherung. Dabei werden nicht nur die Daten von Speichermedien wie Festplatten oder USB-Sticks berücksichtigt, es werden auch die flüchtigen Daten aus dem RAM-Speicher gesichert. Wie kommt man an diese wertvollen Daten? Dies klingt nach einer sehr schwierigen Aufgabe, ins besonders wenn der Rechner noch passwortgeschützt ist… Mit der Hilfe des Buches “Computer-Forensik Hacks” ist dies beinahe kein Problem mehr. Es werden verschiedene Möglichkeiten aufgezeigt, um an diese Daten zu gelangen. Wie erfährt der interessierte in den Hack’s 4 und 5.

Das Buch “Computer-Forensik Hacks” ist eine Sammlung von Methoden, Tipps und Tricks aus der Computer-Forensik. Das Buch ist in 8 Kapitel unterteilt, in denen praktische Lösungen zu verschiedenen Problemstellungen in der Computer-Forensik, in sogenannten Hacks, Schritt für Schritt erläutert werden.

Mein Fazit

Los geht’s! Dies ist das ideale Buch, bei dem man das Gelesene gleich selber ausprobieren kann. In diesem Buch wird grundsätzlich kostenlose Software verwendet, so kann auch selber experimentiert werden. Egal ob unter Windows oder Linux, es werden beide Betriebssysteme berücksichtigt. Es macht wirklich Spass auf diese Weise spannende und komplexe Themen zu erarbeiten!

Die Webseite zum Buch

Linux: Nützliche Konsolenbefehle

DHCP-Lease erneuern


>sudo dhclient -r
>sudo dhclient
  1. Gibt den aktuellen DHCP-Lease frei
  2. Holt eine neue IP-Adresse

man dhclient

Anzeigen der aktuellen IP-Adresse


>ifconfig
  1. Anzeigen aller “network interfaces” und deren IP-Adressen

man ifconfig

Anzeigen und bearbeiten der Routingtabelle

Routingtabelle: statische Routen definieren unter: Windows, Debian Linux und Esxi-Server
man route

Anzeigen der Festplattenbelegung


>df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sda1        16G    5.0G   11G   33% /
udev            2.0G    4.0K  2.0G    1% /dev
tmpfs           807M    764K  806M    1% /run
  1. Festplattenbelegung “einfach lesbar” (K, M, G) anzeigen

man df

Grösse eines Ordners anzeigen


>du -h -s lib/
388M    lib/
  1. Summierte Grösse des Unterverzeichnisses lib/ anzeigen

man du

Dateien löschen die älter als x Tage sind


>find /pfad/zu/den/dateien* -type f -mtime +7 -delete
  1. Argument: Vollständiger Pfad mit den Dateien
  2. Argument: Nur Dateien berücksichtigen (Keine Ordner oder Links)
  3. Argument: Findet alle Dateien die älter als 7 Tage sind
  4. Argument: Lösche alle im Suchresultat gefundenen Dateien

Alternative für nicht GNU Unixes:


>find /pfad/zu/den/dateien* -mtime +7 -exec rm {} \;
  1. Argument: Vollständiger Pfad mit den Dateien
  2. Argument: Findet alle Dateien die älter als 7 Tage sind
  3. Argument: Lösche alle im Suchresultat gefundenen Dateien

Delete Files Older Than x Days on Linux
man find

Prozesse aller Benutzer durchsuchen


>ps aux | grep konsole
  1. Argument: Alle laufenden Prozesse aller Systembenutzer anzeigen
  2. Argument: Filtern: alle Prozesse mit dem Namen Konsole anzeigen

Ausgabe:


usr  1755  0.0  0.7 119892 29364 ?      Sl   00:41   0:04 /usr/bin/konsole
usr  6515  0.0  0.0   4384   836 pts/1  S+   02:10   0:00 grep --color=auto konsole

Alternative:


>pgrep -l konsole

man ps
man grep
man pgrep

Änderungen der Datei syslog in Echtzeit anzeigen


>tail -f /var/log/syslog
  1. Neue Einträge der Syslogdatei in der Konsole ausgeben

man tail

Nützliche Links

Fosswire Linux Reference Card
One page Linux Manual
Auflistung mit verschiedenen Linux Cheat Sheets

Kubuntu: System bleibt mit der Meldung “Checking battery state … [OK]” hängen

Nach dem Installieren von Updates kann das System nicht mehr gestartet werden und bleibt mit der Meldung “Checking battery state … [OK]” hängen.
Eine mögliche Ursache für dieses Problem kann ein aktualisierter Kernel sein. Wurde eine neuere Kernel-Version installiert, muss der Grafiktreiber unter Umständen nochmals neu installiert werden.

Da das Betriebssystem nicht mehr hochgefahren werden kann, muss dies mit Hilfe der Konsole gemacht werden. Bei der angezeigten Meldung “Checking battery state … [OK]” wird mit der Tastenkombination “ctrl+alt+F1” in eine Konsole gewechselt. Nach dem Anmelden mit Benutzernamen und Passwort, wird mit apt-get der Grafiktreiber neu installiert.

Hier in diesem Beispiel handelt es sich um eine nvidia Grafikkarte (GeForce Serie 5 bis 9):


>sudo apt-get install --reinstall nvidia-173

Wurde der Grafiktreiber erfolgreich installiert, muss das System neu gestartet werden:


>sudo reboot

Nach dem Neustart sollte das System wieder erfolgreich hochgefahren werden.

Nützliche Links

11.10 stops booting at “Checking battery state … [OK]”
After updating kernel to 3.0.0-14 the system does not boot
Paket: nvidia-173

Routingtabelle: statische Routen definieren unter: Windows, Debian Linux und Esxi-Server

Wenn eine Routingtabelle mit statischen Routeneinträge ergänzt werden soll, was bei einer VPN-Verbindung nötig sein kann, gibt es für die verschiedenen Betriebssysteme einen Befehl “route”. Dieser Befehl ist unter Windows und Linux sehr ähnlich. Der grösste Unterschied ist bei den permanenten Routings.

Einträge in der Rountingtabelle anzeigen:

  • unter Windows
    >route print

    Routingtabelle unter Windows
    Routingtabelle unter Windows
  • unter Linux
    >route

    Routingtabelle unter Linux
    Routingtabelle unter Linux
  • unter Esxi-Server
    >esxcfg-route -l

    Routingtabelle Esxi
    Routingtabelle Esxi

Eintrag in der Routingtabelle erstellen:
Achtung: Wenn das Betriebssystem neugestartet wird gehen die Einträge verloren, da es sich nicht um permanente Einträge handelt.

  • unter Windows
    >route add 192.168.7.0 MASK 255.255.255.0 10.50.147.66
  • unter Linux
    >route add -net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66 dev eth0
  • unter Esxi-Server
    >esxcfg-route -a 192.168.7.0 255.255.255.0 10.50.147.66

Eintrag in der Routingtabelle löschen:

  • unter Windows
    >route delete 192.168.7.0 MASK 255.255.255.0 10.50.147.66
  • unter Linux
    >route del -net 192.168.7.0/24  gw 10.50.147.66
  • unter Esxi-Server
    >esxcfg-route -d 192.168.7.0/24 10.50.147.66

Permanenter Eintrag in der Routingtabelle erstellen:
Nach einem Neustart des Betriebssystemes sind diese Einträge wieder in der Routingtabelle vorhanden.

  • unter Windows muss nur der Parameter -p mitgegeben werden, damit dieser Eintrag permanent wird.
    >route add 192.168.7.0 MASK 255.255.255.0 10.50.147.66 -p
  • unter Linux ist es ein wenig aufwändiger, es muss ein Eintrag in der Datei “/etc/network/interfaces” erstellt werden.
    
    iface eth0 inet static
          address 10.50.147.99
          netmask 255.255.255.0
          network 10.50.147.0
          broadcast 10.50.147.255
          gateway 10.50.147.1
          dns-nameservers 10.50.147.1 10.50.147.2
    
    #hinzufügen der statischen permanenten Route
    up route add -net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66 dev eth0
    
  • unter Esxi-Server wird ein Eintrag in der Datei “/etc/sysconfig/static-routes” erstellt.
    
    #hinzufügen der statischen permanenten Route
    any net 192.168.7.0 netmask 255.255.255.0  gw 10.50.147.66
    

Zum starten der Esxi-Konsole (unsupported modus: left alt key + F1, type: unsupported)

Vmware Knowledge Base: Adding a static route to an ESX host
Esxcfg-Hilfe
Linux: man route