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"   

# desktop, laptop, convertible, server, tablet, handset
# watch, embedded, vm, container
sudo hostnamectl set-chassis "watch" 

#  development, integration, staging, production 
sudo hostnamectl set-deployment  development

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

   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 ""  

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

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

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

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

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

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

Χρόνια τώρα αν ήθελες να αλλάξεις το hostname απλά έγραφες σε ένα αρχείο. Το το κακό σε αυτό; Γιατί θα πρέπει να μάθω νέα πράγματα;

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

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

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

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


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

6 Likes

Χθες έκανα εγκατάσταση το Fedora και είχα ένα θέμα με το hostname. Το συγκεκριμένο άρθρο με έσωσε από το να πειράξω τα /etc/hostname. Και όλα αυτά μόνο με μία εντολή!