Η επανεγκατάσταση πακέτων σπάνια επαναφέρει μια καταχώριση VPN που το μενού δικτύου της επιφάνειας εργασίας δεν σχεδίασε ποτέ. Το πάνελ και η σύνδεση είναι δύο αντικείμενα με δύο ιδιοκτήτες: η διεπαφή της επιφάνειας σχεδιάζει ό,τι εκθέτει το πρόσθετό της, και η υπηρεσία δικτύου κρατά το προφίλ. Το ένα μπορεί να εξαφανιστεί από το μενού ενώ το άλλο συνεχίζει να λειτουργεί, και γι' αυτό το μενού είναι το λάθος σημείο για να ξεκινήσεις. Έλεγξε πρώτα το προφίλ και μετά αποφάσισε αν αυτό που είναι πραγματικά χαλασμένο είναι η επιφάνεια ή η σύνδεση.

Το κουμπί και το προφίλ ανήκουν σε διαφορετικά πράγματα

Μια σελίδα δικτύου στην επιφάνεια σχεδιάζει ό,τι ξέρουν να σχεδιάζουν η εγκατεστημένη διεπαφή και τα στοιχεία επεξεργασίας VPN της. Ο NetworkManager, ή όποια υπηρεσία κατέχει το δίκτυο σε εκείνο το μηχάνημα, κρατά τον ορισμό της σύνδεσης και αποφασίζει αν μπορεί να σηκωθεί. Τίποτα δεν αναγκάζει τις δύο όψεις να συμφωνήσουν, και μετά από αλλαγή της επιφάνειας, αναβάθμιση της διανομής ή εκτέλεση απέναντι σε έκδοση ανάπτυξης συχνά δεν συμφωνούν. Το πάνελ λοιπόν μπορεί να είναι ελλιπές χωρίς να λείπει η σήραγγα. Το να το διαβάσεις ως πρόβλημα πρωτοκόλλου οδηγεί κατευθείαν στον βρόχο επανεγκατάστασης που δεν διορθώνει τίποτα.

What the screen showsCheck it againstWhat the answer rules out
No VPN section at allnmcli connection showWhether any profile exists
A VPN section with an empty listThe editor or plugin package for that VPN typeWhether the frontend can draw it
The same profile listed twiceBoth UUIDsWhether an import loop made copies

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

Ρώτησε τον NetworkManager τι έχει αποθηκεύσει

Ρώτησε την υπηρεσία απευθείας αντί να διαβάσεις το μενού, γιατί δύο εντολές χωρίζουν ό,τι υπάρχει από ό,τι τρέχει. Εκτέλεσέ τες στο ίδιο το μηχάνημα, και εκτέλεσε τη δεύτερη πριν και μετά από κάθε απόπειρα ενεργοποίησης. Οι λίστες δεν είναι εναλλάξιμες, και η διαφορά μεταξύ τους είναι η διάγνωση.

nmcli -f NAME,UUID,TYPE,DEVICE connection show
nmcli connection show --active

Ένα αποθηκευμένο προφίλ μπορεί να είναι ανενεργό, κάτι φυσιολογικό που δεν λέει τίποτα για την επιφάνεια. Δύο καταχωρίσεις με παρόμοια ονόματα είναι συνηθισμένες μετά από βρόχο εισαγωγής, και μόνο το UUID τις ξεχωρίζει. Μια σήραγγα που την κατέχει απευθείας άλλη υπηρεσία μπορεί να μην μπει ποτέ σε αυτή τη λίστα, οπότε ένα κενό αποτέλεσμα δεν είναι αυτόματα σφάλμα του NetworkManager. Διάλεγε κατά UUID από εδώ και πέρα, γιατί τα ονόματα είναι ετικέτες που τις επεξεργάζονται άνθρωποι, ενώ τα αναγνωριστικά όχι.

Εξέτασε το προφίλ αντί να το εισάγεις ξανά

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

Αυτά τα αντίγραφα είναι παρέκκλιση με χάρτινο ίχνος που κανείς δεν διαβάζει: ο χρήστης της επιφάνειας δεν μπορεί να πει ποιο θα είχε χρησιμοποιηθεί, και ο επόμενος διαχειριστής ούτε. Διάγραψε τα διπλότυπα σκόπιμα, αφού καταγράψεις τα αναγνωριστικά τους, αντί να αφήσεις τον βρόχο εισαγωγής να αποφασίσει. Κράτησε σημείωση για το UUID που επιβιώνει, γιατί αυτή η τιμή είναι ό,τι χρειάζεται η ενεργοποίηση από το τερματικό. Ένα προφίλ που εισήχθη δύο φορές με διαφορετικά ονόματα είναι συνήθως ένας λειτουργικός ορισμός και ένα τεχνούργημα ανυπομονησίας. Μια λίστα προφίλ είναι διαμόρφωση, και αξίζει την ίδια προσοχή με την ίδια τη σύνδεση.

Ενεργοποίησε το αποθηκευμένο προφίλ από τερματικό

Η τεκμηρίωση του nmcli καλύπτει την αλληλεπιδραστική ενεργοποίηση ενός επιλεγμένου προφίλ, που κάνει τη γραμμή εντολών υποστηριζόμενη δεύτερη διεπαφή και όχι παράκαμψη. Αντικατέστησε το αναγνωριστικό του παραδείγματος παρακάτω με το UUID που κράτησες. Κατανόησε τι κάνει η εντολή πριν την εκτελέσεις, γιατί αλλάζει την κατάσταση του δικτύου. Οι διαδρομές και το DNS μπορεί να μετακινηθούν, και μια απομακρυσμένη συνεδρία πάνω από τη διεπαφή που αναδιαμορφώνεται δεν θα επιβιώσει.

Εκτέλεσέ την από τοπική κονσόλα, ή με σχέδιο για να ξαναμπείς όταν η αλλαγή πάει στραβά. Η --ask επιλογή συλλέγει εισόδους που λείπουν από το προφίλ· δεν παρακάμπτει την εξουσιοδότηση του συστήματος. Ούτε εγγυάται ότι κάθε προτροπή πιστοποίησης πρόσθετου λειτουργεί σε τερματικό, αφού μερικές περιμένουν διάλογο που δεν μπορείς να φτάσεις εκεί.

nmcli --ask connection up uuid 11111111-2222-4333-8444-555555555555

Διάβασε το αποτέλεσμα πριν κατηγορήσεις την επιφάνεια

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

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

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

Σχετικά άρθρα