Στον σημερινό οδηγό θα ρίξουμε μια ματιά στο hostnamectl, μια εφαρμογή τερματικού που μας δίνει πληροφορίες για τον υπολογιστή αλλά και την δυνατότητα να τις αλλάξουμε.
hostnamectl | Γιατί μια νέα εντολή;
Χρόνια τώρα αν ήθελες να αλλάξεις το hostname απλά έγραφες σε ένα αρχείο /etc/hostname
. Τι το κακό σε αυτό και φτιάξανε νέα εφαρμογή/εντολή για να κάνεις το ίδιο πράγμα; Ακριβώς το ίδιο ρωτάει και κάποιος στο unix.stackexchange.com
:
Σε αντίθεση με την απευθείας επεξεργασία του αρχείου
πηγή: What’s the point of the hostnamectl command?/etc/hostname
, πρέπει να υπάρχει ένας καλός λόγος (ελπίζω) [για την ύπαρξη του hostnamectl].
Γενικά προτιμώ πολύ τον «παλιό» τρόπο, όπου όλα ήταν ένα αρχείο κειμένου. Θα ήθελα πραγματικά να μάθω και να αποφασίσω εάν υπάρχει κάποιος καλός λόγος. Ευχαριστώ.
Το πρόβλημα σε γενικές γραμμές ήταν ότι κάθε διανομή έλυνε το πρόβλημα με ένα δικό του τρόπο και δεν υπήρχε ένας ενιαίος, ανεξάρτητος από διανομή, τρόπος συλλογής η και αλλαγής πληροφοριών του συστήματος.
Άρα ο λόγος που μπορεί να σε ξενίζει το νέο, είναι επειδή ξέρεις ένα παλιό τρόπο που δουλεύει. Λογικό να μην θέλεις να ξαναμάθεις πράγματα. Αλλά αν δεν το ήξερες τι είναι ποιο εύκολο, να επεξεργαστείς ένα αρχείο κειμένου η να τρέξεις μια εντολή ; Και όταν μιλάμε για αρχεία τι δομή έχει αυτό το αρχείο; Μπορώ να βάλω σχόλια; Έχεις λοιπόν 2 πράγματα να μάθεις. Και που θα μπουν οι επιπλέον πληροφορίες; (Απάντηση: /etc/machine-info).
Επιπλέον με το 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 ""
Αλλαγή ιδιοτήτων απομακρυσμένου υπολογιστή – server
Μπορούμε να συνδεθούμε σε ένα απομακρυσμένο υπολογιστή και να δούμε ή να αλλάξουμε πληροφορίες:
hostnamectl set-hostname -H [username]@hostname ...
Που χρειάζονται όλα αυτά;
Αν έχουμε μόνο ένα υπολογιστή, το γραφικό περιβάλλον που χρησιμοποιούμε έχει ένα εύκολο τρόπο να βρει και να δείξει τις επιπλέον πληροφορίες και να βάλει ένα όμορφο εικονίδιο.

Αλλά αν έχεις τα διαχειριστείς δεκάδες ή χιλιάδες υπολογιστές, οι πληροφορίες αυτές είναι πολύτιμες. Εργαλεία διαχείρισης μπορούν να φτιαχτούν που θα εκμεταλλεύονται τις δυνατότητες του hostnamectl
για να ξέρεις με μια ματιά τι χρήση έχει κάποιος server και που βρίσκεται (Βλέπε π.χ. το εργαλείο Sysglance).
Systemd | Για την σειρά των άρθρων
Εδώ και λίγες μέρες έβαλα στόχο να δω γιατί το systemd
έχει προκαλέσει τόσο θόρυβο και αν είναι τόσο κακό όσο λένε. Σε άρθρα εδώ παρουσιάζω ότι καλό ή κακό βρίσκω χωρίς φανατισμούς και ιδεοληψίες.
Δείτε τα άρθρα για το systemd
, καθώς και άλλες γνώμες, άλλων αρθρογράφων ακολουθώντας το tag:
Παραπομπές:
Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα: