Για έναν αρχάριο διαχειριστή συστήματος: πώς να δημιουργήσετε τάξη από το χάος

Για έναν αρχάριο διαχειριστή συστήματος: πώς να δημιουργήσετε τάξη από το χάος

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

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

Πυλώνες Διαχείρισης Συστήματος

Ωστόσο, πριν ξεκινήσετε την επίλυση προβλημάτων, αξίζει να εξοικειωθείτε με τους τέσσερις βασικούς πυλώνες της διοίκησης:

  1. Τεκμηρίωση
  2. Πρότυπο
  3. Βελτιστοποίηση
  4. Αυτοματοποίηση

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

Εγγραφές

Εγγραφές δεν σημαίνει ανάγνωση τεκμηρίωσης (αν και δεν μπορείτε χωρίς αυτό), αλλά και διατήρησή της.

Τρόπος διατήρησης τεκμηρίωσης:

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

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

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

  1. Μην αργείς πολύ. Επισημάνετε τις κύριες ιδέες, μεθόδους και εργαλεία. Εάν η κατανόηση ενός προβλήματος απαιτεί κατάδυση στη μηχανική χαμηλού επιπέδου της εκχώρησης μνήμης στο Linux, μην ξαναγράψετε το άρθρο από το οποίο το μάθατε - δώστε έναν σύνδεσμο προς αυτό.
  2. Οι καταχωρήσεις πρέπει να είναι σαφείς για εσάς. Αν η γραμμή race cond.lockup δεν σας επιτρέπει να καταλάβετε αμέσως αυτό που περιγράψατε με αυτή τη γραμμή - εξηγήστε. Η καλή τεκμηρίωση δεν χρειάζεται μισή ώρα για να κατανοηθεί.
  3. Η αναζήτηση είναι ένα πολύ καλό χαρακτηριστικό. Εάν γράφετε αναρτήσεις ιστολογίου, προσθέστε ετικέτες. εάν σε ένα φυσικό σημειωματάριο, κολλήστε μικρά post-it με περιγραφές. Δεν έχει νόημα η τεκμηρίωση αν αφιερώσετε τόσο χρόνο αναζητώντας μια απάντηση σε αυτήν όσο θα είχατε ξοδέψει για να λύσετε την ερώτηση από την αρχή.

Για έναν αρχάριο διαχειριστή συστήματος: πώς να δημιουργήσετε τάξη από το χάος

Έτσι μπορεί να μοιάζει η τεκμηρίωση: από πρωτόγονες σημειώσεις σε ένα σημειωματάριο (εικόνα παραπάνω), έως μια ολοκληρωμένη βάση γνώσεων πολλών χρηστών με ετικέτες, αναζήτηση και όλες τις πιθανές ανέσεις (παρακάτω).

Για έναν αρχάριο διαχειριστή συστήματος: πώς να δημιουργήσετε τάξη από το χάος

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

Πρότυπο

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

Η δημιουργία προτύπων είναι ο καλύτερος τρόπος για να οργανώσετε τη ροή εργασίας σας. Χρησιμοποιώντας τυπικές διαδικασίες για την επίλυση των πιο συνηθισμένων προβλημάτων, έχετε πολλά ωραία πράγματα. Για παράδειγμα, η χρήση λιστών ελέγχου θα σας επιτρέψει να διαγνώσετε όλες τις λειτουργίες που είναι σημαντικές για την εργασία σας και να απορρίψετε τη διάγνωση ασήμαντων λειτουργιών. Και οι τυποποιημένες διαδικασίες θα ελαχιστοποιήσουν τις περιττές ρίψεις και θα μειώσουν την πιθανότητα λάθους.

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

Βελτιστοποίηση

Βελτιστοποίηση μιλάει από μόνο του. Η διαδικασία εργασίας πρέπει να βελτιστοποιηθεί όσο το δυνατόν περισσότερο από άποψη χρόνου και κόστους εργασίας. Υπάρχουν αμέτρητες επιλογές: μάθετε συντομεύσεις πληκτρολογίου, συντομεύσεις, κανονικές εκφράσεις, διαθέσιμα εργαλεία. Αναζητήστε πιο πρακτικές χρήσεις αυτών των εργαλείων. Εάν καλείτε μια εντολή 100 φορές την ημέρα, αντιστοιχίστε την σε μια συντόμευση πληκτρολογίου. Εάν χρειάζεται να συνδέεστε τακτικά στους ίδιους διακομιστές, γράψτε ένα ψευδώνυμο με μια λέξη που θα σας συνδέσει εκεί:

Για έναν αρχάριο διαχειριστή συστήματος: πώς να δημιουργήσετε τάξη από το χάος

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

Χρησιμοποιήστε βέλτιστα τα τυπικά εργαλεία - coreutils, vim, κανονικές εκφράσεις, bash. Για τα τρία τελευταία υπάρχει ένας τεράστιος αριθμός από υπέροχα εγχειρίδια και τεκμηρίωση. Με τη βοήθειά τους, μπορείτε γρήγορα να μεταβείτε από την κατάσταση "Νιώθω σαν μαϊμού που σπάει καρύδια με φορητό υπολογιστή" στο "Είμαι ένας πίθηκος που χρησιμοποιεί ένα φορητό υπολογιστή για να παραγγείλει στον εαυτό μου ένα κράκερ ξηρών καρπών".

Αυτοματοποίηση

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

Ο αυτοματισμός από μόνος του είναι κατά 80% σύνταξη και βελτιστοποίηση των εργαλείων σας (και ένα άλλο 20% προσπαθεί να τα κάνει να λειτουργήσουν όπως θα έπρεπε). Θα μπορούσε να είναι απλώς ένα προηγμένο one-liner ή ένα τεράστιο παντοδύναμο εργαλείο με διεπαφή ιστού και API. Το κύριο κριτήριο εδώ είναι ότι η δημιουργία ενός εργαλείου δεν χρειάζεται περισσότερο χρόνο και προσπάθεια από τον χρόνο και την προσπάθεια που θα σας εξοικονομήσει το εργαλείο. Εάν αφιερώνετε πέντε ώρες γράφοντας ένα σενάριο που δεν θα χρειαστείτε ποτέ ξανά, για μια εργασία που θα σας έπαιρνε μία ή δύο ώρες για να λύσετε χωρίς το σενάριο, αυτή είναι μια πολύ κακή βελτιστοποίηση ροής εργασίας. Μπορείτε να αφιερώσετε πέντε ώρες για τη δημιουργία ενός εργαλείου μόνο εάν το επιτρέπουν ο αριθμός, το είδος των εργασιών και ο χρόνος, κάτι που δεν συμβαίνει συχνά.

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

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

Αυτοεκπαίδευση διαχειριστή συστήματος

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

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

Δεν χρειάζεται να μάθετε αμέσως πώς λειτουργεί η διαχείριση εσωτερικής μνήμης κάθε μεμονωμένου βοηθητικού προγράμματος και πώς αλληλεπιδρά με τη διαχείριση μνήμης Linux, αλλά είναι καλό να γνωρίζετε τι είναι σχηματικά η RAM και γιατί χρειάζεται. Δεν χρειάζεται να γνωρίζετε πώς οι κεφαλίδες TCP και UDP διαφέρουν δομικά, αλλά θα ήταν καλή ιδέα να κατανοήσετε τις βασικές διαφορές στον τρόπο λειτουργίας των πρωτοκόλλων. Δεν χρειάζεται να μάθετε τι είναι η εξασθένηση σήματος στην οπτική, αλλά θα ήταν ωραίο να ξέρετε γιατί οι πραγματικές απώλειες κληρονομούνται πάντα στους κόμβους. Δεν υπάρχει τίποτα κακό με το να γνωρίζεις πώς λειτουργούν ορισμένα στοιχεία σε ένα ορισμένο επίπεδο αφαίρεσης και να μην κατανοείς απαραίτητα απολύτως όλα τα επίπεδα όταν δεν υπάρχει καθόλου αφαίρεση (απλά θα τρελαθείς).

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

10 εντολές διαχείρισης συστήματος

Έτσι, μάθαμε τους τέσσερις βασικούς πυλώνες και τα θεμέλια. Μπορούμε να αρχίσουμε να λύνουμε προβλήματα; Οχι ακόμα. Πριν το κάνετε αυτό, καλό είναι να εξοικειωθείτε με τις λεγόμενες «βέλτιστες πρακτικές» και τους κανόνες καλών τρόπων. Χωρίς αυτά, είναι πιθανό να κάνετε περισσότερο κακό παρά καλό. Λοιπόν, ας ξεκινήσουμε:

  1. Μερικοί από τους συναδέλφους μου πιστεύουν ότι ο πρώτος κανόνας είναι «μην κάνεις κακό». Αλλά έχω την τάση να διαφωνώ. Όταν προσπαθείτε να μην βλάψετε, δεν μπορείτε να κάνετε τίποτα - πάρα πολλές ενέργειες είναι δυνητικά καταστροφικές. Νομίζω ότι ο πιο σημαντικός κανόνας είναι - "κάντε αντίγραφο ασφαλείας". Ακόμα κι αν κάνετε κάποια ζημιά, μπορείτε πάντα να επιστρέψετε και όλα δεν θα είναι τόσο άσχημα.

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

  2. Ο δεύτερος πιο σημαντικός κανόνας (τον οποίο και εγώ συχνά παραβιάζω) είναι "μην κρύβεσαι". Εάν δημιουργήσατε αντίγραφο ασφαλείας, γράψτε πού, για να μην χρειάζεται να το ψάξουν οι συνάδελφοί σας. Εάν έχετε κάνει κάποιες μη προφανείς ή περίπλοκες ενέργειες, γράψτε το: θα πάτε σπίτι και το πρόβλημα μπορεί να επαναληφθεί ή να προκύψει για κάποιον άλλο και η λύση σας θα βρεθεί χρησιμοποιώντας λέξεις-κλειδιά. Ακόμα κι αν κάνεις κάτι που ξέρεις καλά, οι συνάδελφοί σου μπορεί να μην κάνουν.
  3. Ο τρίτος κανόνας δεν χρειάζεται να εξηγηθεί: «Ποτέ μην κάνεις κάτι τις συνέπειες του οποίου δεν ξέρεις, δεν φαντάζεσαι ή δεν καταλαβαίνεις». Μην αντιγράφετε εντολές από το Διαδίκτυο αν δεν ξέρετε τι κάνουν, καλέστε τον άνθρωπο και αναλύστε τες πρώτα. Μην χρησιμοποιείτε έτοιμες λύσεις εάν δεν μπορείτε να καταλάβετε τι κάνουν. Διατηρήστε την εκτέλεση ασαφούς κώδικα στο απόλυτο ελάχιστο. Εάν δεν έχετε χρόνο να το καταλάβετε, τότε κάνετε κάτι λάθος και θα πρέπει να διαβάσετε το επόμενο σημείο.
  4. "Δοκιμή". Τα νέα σενάρια, τα εργαλεία, τα one-liners και οι εντολές θα πρέπει να δοκιμάζονται σε ελεγχόμενο περιβάλλον, όχι στον υπολογιστή-πελάτη, εάν υπάρχει έστω και ελάχιστη πιθανότητα για καταστροφικές ενέργειες. Ακόμα κι αν δημιουργήσατε αντίγραφα ασφαλείας για τα πάντα (και το κάνατε), ο χρόνος διακοπής λειτουργίας δεν είναι ό,τι πιο ωραίο. Δημιουργήστε έναν ξεχωριστό διακομιστή/εικονικό/chroot για αυτό και δοκιμάστε εκεί. Έχει σπάσει τίποτα; Στη συνέχεια, μπορείτε να το ξεκινήσετε σε "μάχη".

    Για έναν αρχάριο διαχειριστή συστήματος: πώς να δημιουργήσετε τάξη από το χάος

  5. "Ελεγχος". Ελαχιστοποιήστε όλες τις λειτουργίες που δεν ελέγχετε. Μία καμπύλη εξάρτησης πακέτου μπορεί να σύρει προς τα κάτω το μισό σύστημα και η σημαία -y που έχει οριστεί για την αφαίρεση yum σάς δίνει την ευκαιρία να εξασκήσετε τις δεξιότητες ανάκτησης του συστήματός σας από την αρχή. Εάν η ενέργεια δεν έχει μη ελεγχόμενες εναλλακτικές λύσεις, το επόμενο σημείο είναι ένα έτοιμο αντίγραφο ασφαλείας.
  6. "Ελεγχος". Ελέγξτε τις συνέπειες των ενεργειών σας και εάν πρέπει να επιστρέψετε σε ένα αντίγραφο ασφαλείας. Ελέγξτε εάν το πρόβλημα έχει λυθεί πραγματικά. Ελέγξτε εάν το σφάλμα αναπαράγεται και υπό ποιες συνθήκες. Ελέγξτε τι μπορείτε να σπάσετε με τις ενέργειές σας. Είναι περιττό να εμπιστευόμαστε τη δουλειά μας, αλλά ποτέ να μην ελέγχουμε.
  7. "ΕΠΙΚΟΙΝΩΝΩ". Εάν δεν μπορείτε να λύσετε το πρόβλημα, ρωτήστε τους συναδέλφους σας εάν το έχουν αντιμετωπίσει. Εάν θέλετε να εφαρμόσετε μια αμφιλεγόμενη απόφαση, μάθετε τη γνώμη των συναδέλφων σας. Ίσως προσφέρουν μια καλύτερη λύση. Εάν δεν είστε σίγουροι για τις ενέργειές σας, συζητήστε τις με τους συναδέλφους σας. Ακόμα κι αν αυτός είναι ο τομέας της εμπειρογνωμοσύνης σας, μια νέα ματιά στην κατάσταση μπορεί να ξεκαθαρίσει πολλά. Μην ντρέπεσαι για τη δική σου άγνοια. Είναι καλύτερα να κάνεις μια ανόητη ερώτηση, να φαίνεσαι σαν ανόητος και να παίρνεις απάντηση, παρά να μην κάνεις την ερώτηση, να μην παίρνεις απάντηση και να καταλήγεις να είσαι ανόητος.
  8. «Μην αρνείσαι τη βοήθεια αδικαιολόγητα». Αυτό το σημείο είναι το αντίστροφο από το προηγούμενο. Αν σας κάνουν μια ηλίθια ερώτηση, διευκρινίστε και εξηγήστε. Ζητούν το αδύνατο - εξηγούν ότι είναι αδύνατο και γιατί, προσφέρουν εναλλακτικές. Εάν δεν έχετε χρόνο (πραγματικά δεν έχετε τον χρόνο, όχι την επιθυμία) - πείτε ότι έχετε μια επείγουσα ερώτηση, πολλή δουλειά, αλλά θα το λύσετε αργότερα. Εάν οι συνάδελφοι δεν έχουν επείγουσες εργασίες, προσφερθείτε να επικοινωνήσετε μαζί τους και να αναθέσετε την ερώτηση.
  9. "Δώστε σχόλια". Έχει αρχίσει κάποιος από τους συναδέλφους σας να χρησιμοποιεί μια νέα τεχνική ή ένα νέο σενάριο και αντιμετωπίζετε αρνητικές συνέπειες αυτής της απόφασης; Να το αναφέρεις. Ίσως το πρόβλημα μπορεί να λυθεί με τρεις γραμμές κώδικα ή πέντε λεπτά τελειοποίησης της τεχνικής. Έχετε συναντήσει κάποιο σφάλμα στο λογισμικό σας; Αναφορά σφάλματος. Εάν είναι αναπαραγώγιμη ή δεν χρειάζεται να αναπαραχθεί, πιθανότατα θα διορθωθεί. Εκφράστε τις επιθυμίες, τις προτάσεις και την εποικοδομητική κριτική σας και θέστε ερωτήσεις για συζήτηση εάν φαίνονται σχετικές.
  10. "Ζητήστε σχόλια". Είμαστε όλοι ατελείς, όπως και οι αποφάσεις μας, και ο καλύτερος τρόπος για να ελέγξετε την ορθότητα της απόφασής σας είναι να την φέρετε για συζήτηση. Εάν έχετε βελτιστοποιήσει κάτι για έναν πελάτη, ζητήστε του να παρακολουθεί την εργασία, ίσως το σημείο συμφόρησης στο σύστημα να μην βρίσκεται εκεί που αναζητούσατε. Έχετε γράψει ένα σενάριο βοήθειας - δείξτε το στους συναδέλφους σας, ίσως βρουν έναν τρόπο να το βελτιώσουν.

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

Τα κύρια εργαλεία με τα οποία θα πρέπει να δουλέψετε περισσότερο από το 50% του χρόνου είναι το grep και το vim. Τι πιο απλό; Αναζήτηση κειμένου και επεξεργασία κειμένου. Ωστόσο, τόσο το grep όσο και το vim είναι ισχυρά πολυεργαλεία που σας επιτρέπουν να αναζητάτε και να επεξεργάζεστε κείμενο αποτελεσματικά. Εάν κάποιο σημειωματάριο των Windows σάς επιτρέπει απλώς να γράψετε/διαγράψετε μια γραμμή, τότε στο vim μπορείτε να κάνετε σχεδόν τα πάντα με κείμενο. Εάν δεν με πιστεύετε, καλέστε την εντολή vimtutor από το τερματικό και ξεκινήστε να μαθαίνετε. Όσο για το grep, η κύρια δύναμή του είναι στις κανονικές εκφράσεις. Ναι, το ίδιο το εργαλείο σάς επιτρέπει να ορίζετε συνθήκες αναζήτησης και να εξάγετε δεδομένα αρκετά ευέλικτα, αλλά χωρίς το RegExp αυτό δεν έχει πολύ νόημα. Και πρέπει να γνωρίζετε κανονικές εκφράσεις! Τουλάχιστον σε βασικό επίπεδο. Αρχικά, θα σας συμβούλευα να το δείτε αυτό βίντεο, καλύπτει τα βασικά των κανονικών εκφράσεων και τη χρήση τους σε συνδυασμό με το grep. Ω, ναι, όταν τα συνδυάζετε με το vim, αποκτάτε την ΑΠΟΛΥΤΗ ΔΥΝΑΜΗ για να κάνετε πράγματα με κείμενο που πρέπει να τα επισημάνετε με 18+ εικονίδια.

Από το υπόλοιπο 50%, το 40% προέρχεται από την εργαλειοθήκη coreutils. Για τα coreutils μπορείτε να δείτε τη λίστα στο Βικιπαίδεια, και το εγχειρίδιο για ολόκληρη τη λίστα βρίσκεται στον ιστότοπο GNU. Ό,τι δεν καλύπτεται σε αυτό το σετ είναι στα βοηθητικά προγράμματα POSIX. Δεν χρειάζεται να μάθετε όλα τα κλειδιά από έξω, αλλά είναι χρήσιμο να γνωρίζετε τουλάχιστον τι μπορούν να κάνουν τα βασικά εργαλεία. Δεν χρειάζεται να εφεύρετε ξανά τον τροχό από πατερίτσες. Κάπως έπρεπε να αντικαταστήσω τις διακοπές γραμμής με κενά στην έξοδο από κάποιο βοηθητικό πρόγραμμα και ο άρρωστος εγκέφαλος μου γέννησε μια κατασκευή όπως sed ':a;N;$!ba;s/n/ /g', ήρθε ένας συνάδελφος και με έδιωξε από την κονσόλα με μια σκούπα και μετά έλυσε το πρόβλημα γράφοντας tr 'n' ' '.

Για έναν αρχάριο διαχειριστή συστήματος: πώς να δημιουργήσετε τάξη από το χάος

Θα σας συμβούλευα να θυμάστε τι κάνει κάθε μεμονωμένο εργαλείο και τα κλειδιά για τις πιο συχνά χρησιμοποιούμενες εντολές για οτιδήποτε άλλο υπάρχει άνθρωπος. Μη διστάσετε να τηλεφωνήσετε στον άνθρωπο εάν έχετε οποιεσδήποτε αμφιβολίες. Και φροντίστε να διαβάσετε τον ίδιο τον άνθρωπο - περιέχει σημαντικές πληροφορίες για το τι θα βρείτε.

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

Ο διαχειριστής συστήματος FirstVDS Kirill Tsvetkov ήταν μαζί σας.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο