Στον σημερινό οδηγό θα ρίξουμε μια ματιά στο hostnamectl, μια εφαρμογή τερματικού που μας δίνει πληροφορίες για τον υπολογιστή αλλά και την δυνατότητα να τις αλλάξουμε.

hostnamectl | Γιατί μια νέα εντολή;

Χρόνια τώρα αν ήθελες να αλλάξεις το hostname απλά έγραφες σε ένα αρχείο /etc/hostname. Τι το κακό σε αυτό και φτιάξανε νέα εφαρμογή/εντολή για να κάνεις το ίδιο πράγμα; Ακριβώς το ίδιο ρωτάει και κάποιος στο unix.stackexchange.com:

Σε αντίθεση με την απευθείας επεξεργασία του αρχείου /etc/hostname, πρέπει να υπάρχει ένας καλός λόγος (ελπίζω) [για την ύπαρξη του hostnamectl].
Γενικά προτιμώ πολύ τον «παλιό» τρόπο, όπου όλα ήταν ένα αρχείο κειμένου. Θα ήθελα πραγματικά να μάθω και να αποφασίσω εάν υπάρχει κάποιος καλός λόγος. Ευχαριστώ.

πηγή: What’s the point of the hostnamectl command?

Το πρόβλημα σε γενικές γραμμές ήταν ότι κάθε διανομή έλυνε το πρόβλημα με ένα δικό του τρόπο και δεν υπήρχε ένας ενιαίος, ανεξάρτητος από διανομή, τρόπος συλλογής η και αλλαγής πληροφοριών του συστήματος.

Άρα ο λόγος που μπορεί να σε ξενίζει το νέο, είναι επειδή ξέρεις ένα παλιό τρόπο που δουλεύει. Λογικό να μην θέλεις να ξαναμάθεις πράγματα. Αλλά αν δεν το ήξερες τι είναι ποιο εύκολο, να επεξεργαστείς ένα αρχείο κειμένου η να τρέξεις μια εντολή ; Και όταν μιλάμε για αρχεία τι δομή έχει αυτό το αρχείο; Μπορώ να βάλω σχόλια; Έχεις λοιπόν 2 πράγματα να μάθεις. Και που θα μπουν οι επιπλέον πληροφορίες; (Απάντηση: /etc/machine-info).

Advertisements

Επιπλέον με το hostnamectl έχεις ένα εύκολο τρόπο να βρεις αν τρέχεις μέσα σε vm ή container και να αλλάξεις εύκολα ένα απομακρυσμένο υπολογιστή. Και έχεις και τις δυνατότητες που προσθέτει το dbus. Είναι ευκολότερο να διαβάσεις κάτι από το dbus όταν φτιάχνεις μια εφαρμογή, παρά να ψάχνεις την πληροφορία μέσα από πολλά αρχεία.

Όσο το interface του dbus μένει σταθερό μπορείς να αλλάξεις τον τρόπο που αποθηκεύονται οι πληροφορίες και με την βοήθεια του policykit το κάνεις αυτό με ασφάλεια. Ένα γνωστό πρόβλημα του X11 είναι πως αν αλλάξεις το hostname θα αντιμετωπίσεις προβλήματα. Αλλά τώρα μπορεί να ξέρει ότι έγινε η αλλαγή παρακολουθώντας το dbus και να δράσει ανάλογα. Θεωρητικά τουλάχιστον, μιας και κανένας δεν θα μπει στον κόπο να το κάνει σήμερα.

Αν τώρα δεν θέλεις να την μάθεις, ο παλιός τρόπος δουλεύει και θα συνεχίσει να δουλεύει. Τίποτα δεν άλλαξε. Αντίθετα το αρχείο /etc/hostname και η χρήση του έχει τεκμηριωθεί.

Με την εντολή hostnamectl μπορούμε να δούμε και να αλλάξουμε βασικές πληροφορίες για τον υπολογιστή μας.

hostnamectl | Βασική χρήση

Αν τρέξουμε την εντολή σκέτη θα δούμε κάτι σαν το παρακάτω:

   Static hostname: Minty
         Icon name: computer-desktop
           Chassis: desktop
        Machine ID: b76cc7b1bbdc489e93909d2043031de8
           Boot ID: 3cccaff4a2cd44cdba4e639d732fb001
  Operating System: Linux Mint 20
            Kernel: Linux 5.4.0-42-generic
      Architecture: x86-64

Μπορούμε να προσθέσουμε επιπλέον πληροφορίες

sudo hostnamectl set-hostname "Awesome Asphodelus PC" --pretty

sudo hostnamectl set-location "Secret NSA labs"   

sudo hostnamectl set-chassis "watch" 

sudo hostnamectl set-deployment  development

Μετά τις αλλαγές η εντολή hostnamectl θα δώσει:

   Static hostname: Minty
   Pretty hostname: Awesome Asphodelus PC
         Icon name: computer-watch
           Chassis: watch
        Deployment: development
          Location: Secret NSA labs
        Machine ID: b76cc7b1bbdc489e93909d2043031de8
           Boot ID: 3cccaff4a2cd44cdba4e639d732fb001
  Operating System: Linux Mint 20
            Kernel: Linux 5.4.0-42-generic
      Architecture: x86-64

Οι αλλαγές μπορούν φυσικά να γίνουν και με την βοήθεια του dbus μέσω του org.freedesktop.hostname1. Για να σβήσεις μια πληροφορία και να αντικατασταθεί με την εξ ορισμού τρέξε:

sudo hostnamectl set-location ""  

Advertisements

Αλλαγή ιδιοτήτων απομακρυσμένου υπολογιστή – server

Μπορούμε να συνδεθούμε σε ένα απομακρυσμένο υπολογιστή και να δούμε ή να αλλάξουμε πληροφορίες:

 hostnamectl set-hostname -H [username]@hostname ...

Που χρειάζονται όλα αυτά;

Αν έχουμε μόνο ένα υπολογιστή, το γραφικό περιβάλλον που χρησιμοποιούμε έχει ένα εύκολο τρόπο να βρει και να δείξει τις επιπλέον πληροφορίες και να βάλει ένα όμορφο εικονίδιο.

πληροφορίες και να βάλει ένα όμορφο εικονίδιο

Αλλά αν έχεις τα διαχειριστείς δεκάδες ή χιλιάδες υπολογιστές, οι πληροφορίες αυτές είναι πολύτιμες. Εργαλεία διαχείρισης μπορούν να φτιαχτούν που θα εκμεταλλεύονται τις δυνατότητες του hostnamectl για να ξέρεις με μια ματιά τι χρήση έχει κάποιος server και που βρίσκεται (Βλέπε π.χ. το εργαλείο Sysglance).

Systemd | Για την σειρά των άρθρων

Εδώ και λίγες μέρες έβαλα στόχο να δω γιατί το systemd έχει προκαλέσει τόσο θόρυβο και αν είναι τόσο κακό όσο λένε. Σε άρθρα εδώ παρουσιάζω ότι καλό ή κακό βρίσκω χωρίς φανατισμούς και ιδεοληψίες.

Δείτε τα άρθρα για το systemd, καθώς και άλλες γνώμες, άλλων αρθρογράφων ακολουθώντας το tag:

Παραπομπές: