killall

Σήμερα νιώθω λίγο δεινόσαυρος. Έμαθα systems administration the very hard way. Από τα manuals της DEC για το Ultrix (ίσως το καλύτερο set από manuals που έχω διαβάσει, συνοδευόμενο από αυτά της HP για το HP-UX).

Από τότε που ξεκίνησα να μαθαίνω (early 90s, εποχές που δεν υπήρχε ./configure && make && make install και που έπρεπε να κάνεις μόνος σου edit τον κώδικα για να παίξει στη μηχανή σου) πέρασαν από τα χέρια μου μηχανήματα που έτρεχαν Ultrix, HPsUX (8, 9, 10 και 11), SunOS (4.1.3 και 4), όλα τα BSD και σχεδόν κάθε major Linux distribution που μπορεί να φανταστεί κάποιος (και όχι μόνο για IA32).

Το μεγαλύτερο κέρδος από την υπερέκθεσή μου σε τόσο διαφορετικά περιβάλλοντα (που μη ξεχνάτε ισχυρίζονταν πως είναι POSIX-like, Unix-like ή και Unix) ήταν να μη παίρνω σα δεδομένο τίποτε, ούτε καν τη συμπεριφορά του /bin/sh ή το αν το ll (ελ ελ) είναι alias του ls -l ή είναι πρόγραμμα κομπιλαρισμένο και με την ίδια συμπεριφορά (αλήθεια ποιο είναι το home directory του root στο Solaris; Τι; Τι θα πει δεν είναι το /root;). Κυρίως έμαθα να μη δίνω "επικίνδυνες" εντολές χωρίς να κάνω man πρώτα γιατί ποτέ δε ξέρεις τι σου ξημερώνει.

Γιατί το θυμήθηκα αυτό; Χτες ένας από τους πιο έμπειρους Linux administrators που έχω δουλέψει ποτέ μαζί του (είναι o Debian reference που χρησιμοποιώ) θέλοντας να επανεκκινήσει τον sshd σε ένα μηχάνημα που έτρεχε OpenSolaris ήθελε να γράψει killall -HUP sshd. Ας δούμε όμως τα manuals:

Βέβαια κοιτώντας τον κώδικα του killall.c για το OpenSolaris θα πει κανείς πως η εντολή δε θα είχε αποτέλεσμα γιατί θα τύπωνε το usage. Πόσοι όμως θα το ρισκάρατε αυτό χωρίς να έχετε δει τον κώδικα; Κι αν στο Solaris ο developer είχε κάνει λάθος στο default στο switch;

Από τη Δευτέρα θα ξεκινήσω μάλλον ένα set μηχανημάτων (SPARC και IA32) που έχουν περιπέσει σε αχρηστία με OpenSolaris. Για να ξεσκουριάσω και για να μη συμβεί στο φίλο μου αυτό:

"I hate Solaris operating systems. I learned my *nix on Debian, and it spoiled me."

Και μια τελευταία συμβουλή: Αν ποτέ ο δρόμος σας σας βγάλει σε κάποιο HP-UX, ελένξτε πρώτα αν αυτό που θέλετε να κάνετε, γίνεται από το sam.

6 thoughts on “killall

  1. Απίστευτο! Την Παρασκευή που πέρασε τυχαία ανακάλυψα την ύπαρξη του killall στο Cygwin (εκεί κατέληξα :( ). Φυσικά δεν την χρησιμοποίησα. Το kill-ing δεν είναι για πειράματα κι ας είναι σε windows boxen με Cygwin.

  2. Είναι αρκετά γνωστό αυτό με το killall sto solaris (τουλάχιστον εγώ το έχω δει από το Solaris 8, ίσως να γινόταν και πολύ παλιότερα από την εποχή του SunOS). Tην καλύτερη δουλειά πάντως την κάνει το OpenBSD στο οποίο δεν υπάρχει καθόλου το killall. Κάτι ξέρει ο DeRaadt :-)

  3. Αν σε ενδιαφέρει για το OpenBSD υπάρχει το zap στα ports το οποίο τρέχει και σε άλλα Un!x-like operating systems.

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

  4. “Έμαθα systems administration the very hard way.”

    Υπονοείς ότι υπάρχει και εύκολος τρόπος να μάθει κανείς System Administration; Ή να μάθει οτιδήποτε εν γένει;

  5. Μπορείς να μάθεις από δάσκαλο (apprenticeship), με συστηματικό τρόπο και εντελώς μόνος σου (με τα manuals της DEC π.χ.). Εγώ δεν υπήρξα ο junior admin κανενός. Υπήρχε κόσμος να ρωτάω στο ΕΜΠ φυσικά, αλλά όχι και supervision.

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

Leave a reply to gandr Cancel reply