Zum Inhalt springen
hanse-computing.de
  • Moin
  • Über uns
  • Leistungen
  • Projekte
  • Neuigkeiten
  • Wissen
    • Netzwerktechniken
    • Systemadministration
    • Hardware-Spezifikationen
    • KI & Automatisierung
    • Glossar
      • Fachbegriffe
      • Programmiersprachen-Befehle
    • Datenbanken
    • IT-Grundlagen
    • Python: Grundlagen
    • Python: Datenstrukturen
    • Python: Dateien & IO
    • Python: Web & Frameworks
    • Python: Fehler & Debugging
    • Webentwicklung
    • Linux & Betriebssysteme
    • IT-Sicherheit
    • Cloud & Container
    • Tools & Software
    • Netzwerk: TCP/IP
    • Netzwerk: DNS & Dienste
    • Netzwerk: Sicherheit
    • Netzwerk: Tools
    • KI: Grundlagen
    • KI: Praxis
    • KI: LLM & Agenten
    • Hardware: Server
    • Hardware: Netzwerkgeräte
    • Hardware: Peripherie
    • Wiki-Startseite
    • Letzte Änderungen
    • Kategorie-Browser
    • Zufallsartikel
  • Infrastruktur
  • AI Easy Start
  • Test-Drive
  • Kontakt
  • Impressum
  • Datenschutz

Sprache auswählen

  • Deutsch (Deutschland)
  • English (United Kingdom)
  1. Aktuelle Seite:  
  2. Startseite
  3. Wissen
  4. Glossar
  5. Programmiersprachen-Befehle

Vale-Befehle: Memory-Safety ohne Garbage Collector oder Borrow Checker

Vale ist eine schnelle, sichere Systemprogrammiersprache von Evan Ovadia. Ihre Besonderheit ist eine neuartige Speichersicherheits-Technik namens Generational References: Jede Referenz merkt sich die „Generation“ des Objekts, auf das sie zeigt. Dadurch wird Speichersicherheit ohne Garbage Collector, ohne Reference Counting und ohne Rust-artigen Borrow Checker erreicht — kombiniert mit Single Ownership lässt sich damit schneller, sicherer Code schreiben. Vale wird Ahead-of-Time über LLVM kompiliert.

Erste Schritte

// vale --output=hello
import stdlib;
exported func main() {
    println("Hello, Vale!");
}

Wichtige Konzepte und Befehle

  • func deklariert Funktionen; exported macht sie von außen sichtbar.
  • Generational References sorgen dafür, dass verwaiste Referenzen erkannt werden, bevor sie benutzt werden.
  • Single Ownership erlaubt Speicherfreigabe ohne Garbage Collection; Regions bündeln Objekte für noch effizientere Freigabe.
  • Immutable und Fearless FFI erlauben sichere Aufrufe von C-Bibliotheken.
  • Der Compiler heißt vale; vale build kompiliert, vale test führt Tests aus.

Einordnung

Vale gehört zu den Sprachen, die die Speichersicherheits-Diskussion nach Rust weiterführen: Während Rust mit dem Borrow Checker Sicherheit zur Compile-Zeit erzwingt, verfolgt Vale mit Generational References und Regions einen anderen Weg, der als einfacher zu lernen gilt. Damit ist Vale vor allem für sicherheitskritische, performance-sensitive Anwendungen interessant.

Verwandte Grundlagen: Rust-Befehle, C und C++, Carbon-Befehle, C3-Befehle, Zig-Befehle.

ntpq-Befehle: NTP-Verbindungen abfragen und prüfen

ntpq ist das Standard-Abfragewerkzeug für den klassischen NTP-Daemon ntpd und andere NTP-Server nach RFC 5905. Mit ihm prüft man, mit welchen Servern der Rechner synchronisiert, wie groß die Abweichung (Offset) ist und ob die Verbindungen stabil ankommen — die Diagnose schlechthin bei Zeitproblemen.

Die Peer-Liste anzeigen

Der wichtigste Aufruf ist ntpq -p (p für peers). Er listet alle konfigurierten Server und Peers mit ihrem Zustand:

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.example.com   .PSC.           1 u   32   64  377    8.213    0.312   0.102
  • remote: Hostname oder IP des Zeitservers; ein * davor kennzeichnet den aktuell synchronisierenden Server, + einen akzeptierten Kandidaten, - eine verworfene Quelle und x eine als falsch erkannte.
  • refid: Referenz des Servers (.PSC. steht für eine GPS- oder Funkuhren-Quelle).
  • st: Stratum — die Entfernung des Servers zur Referenzuhr (1 = direkt an der Quelle).
  • when / poll / reach: Zeit seit der letzten Antwort, Poll-Intervall in Sekunden und Erreichbarkeits-Bitmaske (377 oktal = alle letzten acht Anfragen beantwortet).
  • delay / offset / jitter: Netzwerk-Laufzeit, Zeitabweichung und deren Schwankung in Millisekunden.

Weitere ntpq-Befehle

  • ntpq -c as: zeigt die Assoziations-IDs aller konfigurierten Server und Peers.
  • ntpq -c rv: gibt System-Variablen des lokalen NTP-Dienstes aus — etwa Version, Stratum, Offset und Root-Delay.
  • ntpq -c peers: dieselbe Liste wie -p, im interaktiven Modus auch als peers eingebbar.
  • ntpq ntp.example.com: fragt direkt einen entfernten NTP-Server ab, statt des lokalen Dienstes.
  • ntpq -c rv <associd>: zeigt Detailvariablen einer einzelnen Assoziation.

Ohne Argumente startet ntpq interaktiv mit der Eingabeaufforderung ntpq>; ? listet alle Kommandos.

Praxis-Tipps

  • Bleibt reach bei 0 oder steigt der offset dauerhaft, stimmt die Serverwahl oder die Netzwerkverbindung nicht.
  • ntpq gehört zum klassischen ntp-Paket. Nutzt der Rechner stattdessen chronyc-Befehle (chrony) oder die systemd-Zeitverwaltung mit timedatectl-Befehle, ist ntpq nur für kompatible ntpd-Server relevant.
  • Bei Hardware-Uhren im Netz (GPS, DCF77) zeigt refid mit .GPS. oder .DCFa. die jeweilige Referenzquelle an.

Verwandte Grundlagen: NTP, date-Befehle.

timedatectl-Befehle: Zeit, Zeitzone und NTP unter systemd verwalten

timedatectl ist das zentrale Werkzeug der systemd-Welt, um Datum, Uhrzeit, Zeitzone und automatische Zeitsynchronisation zu verwalten. Es ersetzt die klassischen Einzelbefehle date, tzselect und das manuelle Editieren von /etc/timezone durch eine einheitliche Schnittstelle — die eigentliche Synchronisation übernimmt systemd-timesyncd.

Status anzeigen

timedatectl
               Local time: Mi 2026-09-07 21:15:00 CEST
           Universal time: Mi 2026-09-07 19:15:00 UTC
                 RTC time: Mi 2026-09-07 19:15:00
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
              NTP service: active

Die Ausgabe zeigt Lokalzeit, UTC, die Hardware-Uhr (RTC), die eingestellte Zeitzone und ob der NTP-Dienst aktiv ist.

Wichtige timedatectl-Befehle

  • timedatectl list-timezones: listet alle verfügbaren Zeitzonen (zum Beispiel Europe/Berlin).
  • sudo timedatectl set-timezone Europe/Berlin: setzt die Zeitzone dauerhaft; Änderungen an der RTC oder an /etc/localtime übernimmt das Werkzeug selbst.
  • sudo timedatectl set-time "2026-09-07 21:30:00": stellt Datum und Uhrzeit direkt — funktioniert nur, wenn die NTP-Synchronisation ausgeschaltet ist.
  • sudo timedatectl set-ntp true: aktiviert die automatische Zeitsynchronisation über systemd-timesyncd (beziehungsweise den angebundenen NTP-Client der Distribution); set-ntp false schaltet sie aus.
  • sudo timedatectl set-local-rtc true: legt fest, ob die Hardware-Uhr in Lokalzeit statt UTC läuft — für Windows-Dual-Boot üblich, für Linux-Server meist falsch.
  • timedatectl status: entspricht dem Aufruf ohne Argumente.

Praxis-Tipps

  • Meldet set-ntp „NTP not supported“, ist kein Zeitdienst installiert — dann hilft ein NTP-Daemon wie chrony, der über chronyc-Befehle gesteuert wird.
  • systemd-timesyncd ist ein schlanker Client ohne Server-Funktion; wer das eigene Netz mit Zeit versorgen will, setzt chrony oder ntpd ein und prüft die Server mit ntpq-Befehle.
  • Für reine Datums-/Zeitausgaben im Terminal ist weiterhin date das Werkzeug der Wahl — siehe date-Befehle.

Verwandte Grundlagen: NTP, systemctl und journalctl.

chronyc-Befehle: Chrony steuern und überwachen

chronyc ist das Kommandozeilen-Werkzeug zu chrony, der modernen NTP-Implementierung für Linux (RFC 5905). Während der Daemon chronyd die Uhr im Hintergrund synchronisiert, fragt man mit chronyc den Zustand ab und steuert den Dienst — von der Anzeige der Zeitquellen bis zum sofortigen Springen der Uhr.

Grundlagen

chronyc setzt einen laufenden chronyd voraus. Der Dienst lässt sich typisch mit systemd starten:

sudo systemctl enable --now chronyd

Die Konfiguration steht in /etc/chrony/chrony.conf. chronyc arbeitet entweder im Einzelbefehls-Modus (chronyc <befehl>) oder interaktiv — nach chronyc erscheint die Eingabeaufforderung chronyc>, in der man mehrere Befehle hintereinander eingibt.

Wichtige chronyc-Befehle

  • chronyc sources: zeigt die aktuellen Zeitquellen mit Stratum, Poll-Intervall, Reachability (Reach) und letzter Antwort (LastRx). Mit -v erscheinen zusätzlich die Quellen-Modi: ^* bedeutet „aktuell synchronisierte Quelle“, ^+ einen akzeptierten Kandidaten, ^- eine verworfene Quelle.
  • chronyc tracking: zeigt den Synchronisationsstatus der eigenen Uhr — Referenzquelle, Stratum, Offset (Abweichung), Drift und den Leap-Status.
  • chronyc sourcestats -v: liefert Langzeit-Statistiken je Quelle und hilft, instabile Server zu erkennen.
  • chronyc makestep: lässt die Uhr sofort springen, statt sie langsam nachzuziehen (Slewing) — nützlich nach langem Ausfall oder in virtuellen Maschinen.
  • chronyc ntpdata: zeigt detaillierte Informationen zu einer einzelnen NTP-Quelle.
  • chronyc activity: fasst zusammen, wie viele Quellen online, offline oder als Server aktiv sind.
  • chronyc clients: listet im Server-Betrieb die aktiven Clients, die den eigenen chronyd abfragen.

Praxis-Tipps

  • Nach einer Konfigurationsänderung genügt sudo systemctl restart chronyd; viele chronyc-Abfragen kommen ohne Root-Rechte aus.
  • chrony gilt dank schnellerer Erstsynchronisation, besserer Drift-Kompensation und Unterstützung für Network Time Security (NTS) als Nachfolger des klassischen ntpd.
  • Wer die systemd-Seite der Zeitverwaltung anpassen möchte, nutzt timedatectl-Befehle; für die klassische ntpd-Welt zuständig ist ntpq-Befehle.

Verwandte Grundlagen: NTP, date-Befehle.

ipset-Befehle: IP-Mengen für Firewall-Regeln verwalten

ipset verwaltet Mengen von IP-Adressen, Netzen oder Ports im Kernel. Firewall-Regeln von iptables, nftables und firewalld können auf diese Mengen verweisen, statt jede Adresse einzeln aufzulisten — das macht Sperrlisten und Blocklisten schnell und übersichtlich.

Menge anlegen und befüllen

sudo ipset create blockliste hash:ip
sudo ipset add blockliste 203.0.113.5
sudo ipset add blockliste 198.51.100.0/24
sudo ipset test blockliste 203.0.113.5
sudo ipset list blockliste

Der Typ hash:ip speichert einzelne Adressen, hash:net auch ganze Netze. Mit timeout 300 laufen Einträge automatisch ab — praktisch für temporäre Sperren.

In Firewall-Regeln verwenden

sudo iptables -I INPUT -m set --match-set blockliste src -j DROP
sudo nft add rule inet filter input ip saddr @blockliste drop

Speichern und Wiederherstellen

sudo ipset save > /etc/ipset.rules
sudo ipset restore < /etc/ipset.rules
sudo ipset destroy blockliste

Automatische Sperren setzt fail2ban: Es kombiniert ipset-Mengen mit Loganalyse und bannt IP-Adressen nach fehlgeschlagenen Anmeldeversuchen.

Verwandte Grundlagen: iptables-Befehle, nftables-Befehle und firewalld-Befehle.

  1. firewalld-Befehle: Firewall-Verwaltung mit Zonen auf RHEL und Fedora
  2. fail2ban-Befehle: Brute-Force-Angriffe automatisch sperren
  3. iptables-Befehle: Paketfilter mit Tabellen und Ketten
  4. nftables-Befehle: moderne Firewall mit dem nft-Werkzeug

Seite 6 von 46

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
hanse-computing.de

hanse-computing.de – KI-gestützte Dienstleistungen aus Lübeck.

hanse-computing.de
IT-Dienstleistungen aus der Hansestadt
Über uns · Projekte · Neuigkeiten · Affiliate
Impressum · Datenschutz
© 2026 hanse-computing.de
© 2026 hanse-computing Impressum Datenschutz