#define SYSTEM_ADMINISTRATOR

SysAdminDay.comΈχω περιγράψει μια διαδρομή που μπορεί να ακολουθήσει κανείς για να γίνει system administrator. Πολλές φορές όμως είναι πιο εύκολο να εξηγεί κανείς πως μπορεί να γίνει αυτό παρά να εξηγεί τι είναι. Στο Jargon File για παράδειγμα, ο system administrator ορίζεται ως:

admin: /ad·min΄/n.

Short for ‘administrator’; very commonly used in speech or on-line to refer to the systems person in charge on a computer. Common constructions on this include sysadmin and site admin (emphasizing the administrator’s role as a site contact for email and news) or newsadmin (focusing specifically on news). Compare postmaster, sysop, system mangler.

Αυτός ο ορισμός δεν είναι όμως αρκετός για να απαντήσει στον πατέρα μου την ερώτηση:

– Τελικά παιδί μου εσύ τι δουλειά κάνεις;

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

– Δηλαδή εσύ γράφεις προγράμματα;
– Ναι, αλλά δεν είναι αυτή η δουλειά μου.
– Φτιάχνεις υπολογιστές;
(εννοεί με το κατσαβίδι και όλα)
– Ναι, αλλά δεν είναι αυτή η δουλειά μου.
– Ναι, αλλά τους διορθώνεις.
– Ναι, αλλά δεν είναι η δουλειά μου το service!
– Τελικά παιδί μου εσύ τι δουλειά κάνεις;

Ούτε μπορεί να απαντήσει στη γυναίκα μου την ερώτηση:

– Μα καλά εσύ γιατί δεν μπορείς να έχεις ένα κανονικό ωράριο;

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

– Μα γιατί έχεις το laptop μαζί σου Γιώργο στις διακοπές; Στο Δημόσιο δε δουλεύεις;0

Θα μπορούσα φυσικά να απαντάω “Είμαι πιανίστας σε μπουρδέλο“. Δε βοηθάει όμως.

Ο φίλος μου ο Σ. εξήγησε μια φορά στη γυναίκα μου:

– Πες πως είναι πυροσβέστης και στη βάρδιά του δεν έχει πιάσει καμιά φωτιά. Και μετά τη βάρδια πυροσβέστης είναι, οπότε εάν υπάρχει φωτιά και δεν υπάρχει άλλη βάρδια, αυτός πρέπει να τη σβήσει.

Για να εισπράξει την απάντηση:

– Φίλος του δεν είσαι;

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

Τι είναι σύστημα;

Στο “What is a Systems Approach?” περιέχονται μια σειρά από ορισμοί που απαντάνε στο ερώτημα “Τι είναι Σύστημα;”. Για την περίπτωσή μας ο συνδιασμός των παρακάτω δύο δείχνει αρκετός:

A system is a set of variables sufficiently isolated to stay discussable while we discuss it. — W. Ross Ashby.

και:

A system is a representation of an entity as a complex whole open to feedback from its environment.

Και πράγματι τα συστήματα που διαχειριζόματε (εμείς οι system administrators) έχουν πολλές μεταβλητές (εξαρτήσεις εάν θέλετε) και είναι πολύπλοκες οντότητες που αλληλεπιδρούν με το περιβάλλον στο οποίο εντάσσονται (για οποιοδήποτε ορισμό του περιβάλλοντος, π.χ. εταιρικό περιβάλλον και ανάγκες, το Internet, οι ίδιοι οι χρήστες του συστήματος, κ.ο.κ.).

Ακόμα καλύτερα το ίδιο άρθρο μιλάει για “organized complexity” που είναι το ίδιο με αυτό που γράφει ο Tom Limoncelli στο “Time Management for System Administrators“: “I am a system administrator! I manage chaos for a living!”

Στο ίδιο άρθρο όμως υπάρχει ένα διαμάντι:

The responsibility of the systems engineer was the choice of the “technical path” between theory and application in order to create new services; improve the quality of existing services; or lower their cost.

Με το παραπάνω φαίνεται να συμφωνεί και ο θεωρητικός του επαγγέλματος, ο Mark Burgess ο οποίος στο “Analytical Network and System Administration” γράφει:

System administration is about the design, running and maintenance of human-computer systems. Human-computer systems are ‘communities’ of people and machines that collaborate actively to execute a common task1.
:
System administration is primarily about the technological side of a system: the architecture, construction and optimization of the collaborating parts, but it also occasionally touches on softer factors such as user assistance (help desks), ethical considerations in deploying a system, and the larger implications of its design for others who come into contact with it. System administration deals first and foremost with the system as a whole

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

– Εσύ παιδί μου, τι δουλειά κάνεις;

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

small talk with a web designer

Γιατί όπως φαίνεται δεν είμαι ο μόνος που δεν μπορεί να απαντήσει απλά και περιεκτικά το ερώτημα.

#include <std/disclaimer.h>


[0]- Οφείλω να ομολογήσω πως η ξαδέρφη διαθέτει εν αγνοία της διορατικότητα μια και ο system administrator στο Δημόσιο κατατάσσεται διακριτά σε μία από δύο κατηγορίες, αυτή και αυτή.

[1] – Όσοι ασχολείστε με τη θεωρία των MIS καλό είναι να διαβάσετε το βιβλίο του Burgess. Αυτό περιέχει όλη την απαιτούμενη θεωρία για αυτό που θέλετε: να φτιάχνετε δηλαδή συστήματα που να δουλεύουν και να δουλεύουν σωστά και αποδοτικά. Όλα τα άλλα βιβλία (π.χ. Turban) είναι για να περνάτε τα μαθήματα. Είμαι ισοπεδωτικός, αλλά έχω τα χιλιόμετρα για να είμαι.

Returning to my roots

From my /boot/grub/menu.lst:

title        FreeBSD
root        (hd0,2,a)
kernel      /boot/loader

As a side note, if you want to install FreeBSD 7.0-RELEASE on a VirtualBox virtual machine, you have to use the Intel PRO/1000 MT Desktop network card instead of the default one (PCnet-FAST III). VirtualBox’s DHCP server does not seem to cooperate with FreeBSD and PCnet-FAST III.

“Δεν ξέρω”

Δεν είναι κακό να λέει κανείς “Δεν ξέρω πως γίνεται αυτό” ή “Είναι η πρώτη φορά που κάνω μια τέτοια μετάβαση, δεν το έχω ξανακάνει”. Δεν είναι ντροπή. Κακό είναι να μην το ξέρει ο απέναντι. Γιατί έτσι δεν θα είχαμε 4 ώρες downtime αντί για (λιγότερο από) μία, επειδή ο απέναντι υποθέτει πως ξέρεις πολύ καλά τι κάνεις και ψάχνει να βρει το πρόβλημα στη δικιά του υποδομή.

inbox2.eu – disposable e-mail addresses

Την πρώτη φορά που είδα να γίνεται λόγος για disposable e-mail addresses, ήταν μάλλον σε αυτό το post στο slashdot. Αμέσως σκέφτηκα πως θα ήταν ωραία ιδέα να φτιάξω ένα αντίστοιχο service. Το ξανασκέφτηκα πιο ζεστά όταν με ρώτησε ο zero2one.

– Γιατί να φτιάξει κανείς κάτι που έχει ήδη κάνει κάποιος άλλος;

Από τη σκοπιά του χρήστη αυτό είναι ένα σωστό ερώτημα. Για τον χρήστη το κέρδος από το να υπάρχουν πολλές υπηρεσίες αυτού του είδους, είναι πως σε φόρμες που κάποια από αυτές είναι αποκλεισμένη (πολλές online υπηρεσίες μεταπωλούν τα emails των χρηστών που έκαναν subscribe σε αυτές, άρα ενδιαφέρονται να είναι κανονικά emails και όχι προσωρινά) μπορεί να χρησιμοποιήσει κάποια άλλη.

Από τη σκοπιά του διαχειριστή: Για να δει πως γίνεται. Τέτοιες εφαρμογές δίνουν στον διαχειριστή πολύτιμη πληροφορία (log file analysis) και ένα περιβάλλον δοκιμών που ενώ είναι περιβάλλον “παραγωγής” δεν είναι κρίσιμη υποδομή. Έτσι π.χ. μπορεί κανείς να δοκιμάσει το MeTA1, να γράψει ένα LMTP delivery agent ή ακόμα και να δοκιμάσει το δικό του mailbox format (διαφορετικό από το παραδοσιακό mbox). Για τον postmaster που θέλει να πειραματιστεί οι δρόμοι είναι πολλοί.

Κάποιος λοιπόν που έχει μια σχετική εμπειρία με συστήματα διαχείρισης ηλεκτρονικής αλληλογραφίας, μπορεί να στήσει το backend μιας τέτοιας υποδομής αρκετά γρήγορα (1 ημέρα με “έτοιμο” open source software). Εκεί που μπορεί να έχει πρόβλημα είναι η παρουσίαση. Έτσι και η δικιά μου προσπάθεια σταμάτησε στο πως θα μπορεί ο χρήστης να δει τα email του μέσω ενός αξιοπρεπούς web interface. Αυτό με δεδομένο πως η κατασκευή user interfaces είναι κάτι εντελώς έξω από τα ενδιαφέροντά μου ήταν κάτι δύσκολο. Ο τρόπος που σερβίρει τα email στον χρήστη το spam.la με οδήγησε στο να σκεφτώ πως πειράζοντας λίγο το nullwebmail, το nocc ή το squirrelmail θα κατάφερνα κάτι. Αλλά τελικά δεν το προσπάθησα καν (φταίει αυτή μου η απέχθεια προς τα user interfaces). Ευτυχώς όμως έπεσα στο lifehacker πάνω στο GuerrillaMail του οποίου το script είναι διαθέσιμο προς πώληση σε όποιον θέλει να αναπτύξει αντίστοιχη υπηρεσία. €19 μετά γεννήθηκε το:

Αρχιτεκτονικά έχει κάποιες απαιτήσεις διαφορετικές από πράγματα που είχα στο μυαλό μου και δεν θα έβγαζα το service “στον αέρα” μέχρι να το φέρω στη μορφή που ήθελα. Μετά όμως από το “Employees Suck” και ένα πέρασμα από τους designated alpha και beta tester και μερικούς ακόμα φίλους, voila! Εάν αποκτήσει όγκο χρηστών θα προσπαθήσω να εφαρμόσω τα πράγματα που έχω στο μυαλό μου. Έτσι λοιπόν, η υπηρεσία είναι πλέον διαθέσιμη και ελπίζω να τη βρείτε και χρήσιμη.

Λίγα λόγια ακόμα για την υπηρεσία: Η υποτυπώδης μετάφραση στα Ελληνικά είναι δικιά μου. Το μηχάνημα που φιλοξενεί το inbox2.eu έχει στηθεί από spare parts αποσυρμένων μηχανημάτων. Επειδή πρόκειται για μια υπηρεσία που δεν εγγυάται καμία ιδιωτικότητα, τα data δεν είναι καν σε RAID partition, ούτε φυλάσσονται σε backup. Επίσης το μέγιστο μέγεθος για κάθε εισερχόμενο μήνυμα είναι 50KB. Ο εργοδότης μου δε φέρει καμία ευθύνη για την λειτουργία της υπηρεσίας.

Ένα feature που έχει η υπηρεσία αυτή τη στιγμή το οποίο δεν ξέρω εάν κάποια άλλη αντίστοιχη το έχει υλοποιημένο, είναι αυτό της σιωπηλής διαγραφής εισερχομένων μηνυμάτων. Έτσι ενώ ένα email προς τον adamo@inbox2.eu θα “ζήσει” στο σύστημα για 15 45 λεπτά, ένα email προς τον adamo.del@inbox2.eu θα διαγραφεί σιωπηλά (χωρίς μήνυμα λάθους προς τον αποστολέα ή άλλη απάντηση) και άμεσα.

Flames, ερωτήσεις και προτάσεις μπορείτε να μου στείλετε με τους συνήθεις τρόπους.

#include <std/disclaimer.h>

lenny rc1 and bnx2

Some time ago reader Max commented on using package firmware-bnx2 when having problems with lenny and bnx2 NICs.

On Friday I was installing lenny RC1 on a Dell server that has such interfaces. Conviniently the RC1 (as opposed to the beta 1) installer stopped and requested the network card’s firmware if it was available. I placed the firmware in a USB stick, plugged it in on the server, let the installer locate it on the stick and the installation continued like a charm. Here are the needed steps:

  1. On a working lenny machine change your /etc/apt/sources.list to include the non-free repository. For example:

    deb http://ftp.gr.debian.org/debian/ lenny main contrib non-free
    deb http://security.debian.org/ lenny/updates main contrib non-free

  2. As root run apt-get install firmware-bnx2 and then
  3. copy /lib/firmware/bnx2-* to the USB stick.

Now you can happily continue your installation and spread the Debian virus.

iZak diskless

(Συνήθως για τέτοια gadgets γράφει ο άλλος Γιώργος Αδαμόπουλος)

Δε θυμάμαι πόσο καιρό πριν, μίλαγα με ένα φίλο που δουλεύει στη Unibrain. Είχα δει το iZak (το είχα αγοράσει ως δώρο γάμου – πάω για βουλευτής λέμε!) και του είπα αυτό που είχα σκεφτεί: “Αφού στην ουσία το value στο προϊόν δεν είναι ο δίσκος, γιατί δεν βγάζετε μια έκδοση diskless, στην οποία να μπορεί να βάλει ο καθένας ότι δίσκο 2,5″ έχει διαθέσιμο;”. Guess what? Το έκαναν. Το αγοράσαμε τον προηγούμενο Δεκέμβρη. Ένα χρόνο μετά εξακολουθούμε να είμαστε ευτυχείς χρήστες.

Αναρωτιέμαι: Πόσο συχνά μπορεί κανείς να βλέπει τις ιδέες του έτσι υλοποιημένες;