Cosa è Unix?

GNU/Linux è un sistema operativo Unix-like, ovvero è un sistema che si comporta come Unix, ma non è Unix. Sembra un gioco di parole, ma il problema si annida nella storia stessa di Unix, un sistema operativo nato più di 30 anni fa per uso commerciale e che è stato standardizzato negli anni attraverso le Single UNIX Specification (SUS), una famiglia di standard utilizzati per qualificare quei sistemi operativi che possono definirsi Unix.
Ricostruiamo, a brevi linee, l’albero genealogico di GNU/Linux, partendo dal lontano 1969, dai laboratori Bell della AT&T, nei quali venne sviluppato il primo sistema operativo per il PDP-7, un calcolatore a transistor dell’epoca. Al primo ricercatore, Ken Thompson, si unì ben presto Dennis Ritchie e insieme diedero vita a UNIX, nome suggerito da Brian Kernighan e nel 1973, Thompson riscrisse UNIX utilizzando il nuovo linguaggio C, ideato da Ritchie. In breve, siamo nel 1975, da questa prima versione viene scritto lo UNIX versione 6, il cui utilizzo si espande anche al di fuori dei laboratori Bell. A questo punto inizia un po’ di confusione: essendo un sistema operativo libero, Unix subisce una serie di mutazioni, rinascendo in differenti versioni, riscritte dai produttori di elaboratori per adattarle alle proprie macchine e spesso incompatibili fra di loro.
Non bisogna avere troppa fantasia per immaginare i problemi legati a questo sviluppo incontrollato: programmi scritti per una variante di Unix non era scontato che funzionassero su un’altra versione, amministrare un sistema Unix significava imparare le particolarità legate alla implementazione di ogni singolo produttore. Insomma, non era vita facile per programmatori, amministratori e nemmeno per i produttori che desideravano fornire insieme al proprio Unix un programma creato per qualche altro sistema, sempre chiamato Unix ma incompatibile. Per ovviare al problema, nel 1984 viene fondata X/Open, una società il cui scopo consiste nel definire gli standard dei sistemi aperti. Nel 1987 AT&T, proprietaria del marchio UNIX, costituisce insieme a Sun, UNIX International, organismo deputato alla definizione degli standard Unix. A complicare maggiormente la questione, gli altri produttori di Unix danno vita alla Open Software Foundation, il cui scopo è, neanche a dirlo, la definizione di standard Unix. Facciamo un salto al 1993, quando AT&T trasferisce le attività legate a Unix alla società UNIX Systema Laboratories, che vende a Novell. A sua volta, Novell vende il marchio X/Open e, nel 1995, cede i laboratori di sviluppo Unix, la cui versione viene definita UnixWare, a SCO. Nel 1996, X/Open e Open Software Foundation si fondono, creando The Open Group, il nuovo organismo deputato alla definizione degli standard UNIX, che da questa fusione eredita gli standard creati da X/Open, per primo il 1770, seguito da UNIX 95 e da Single Unix Specification Versione 2, per passare nel 1998 alla creazione di UNIX 98 e nel 2001 a Unix 03.
Per potersi definire Unix, un sistema operativo deve aderire agli standard UNIX definiti da The Open Group, ricevere la certificazione e quindi acqusisce il diritto di utilizzare il marchio UNIX.
Quei sistemi operativi che non aderiscono integralmente alle specifiche definite da The Open Group, o non vogliono investire il denaro necessario a garantirsi l’utilizzo del marchio UNIX, non possono definirsi sistemi operativi Unix, anche nel caso in cui, come per GNU/Linux, l’ambiente agisca proprio come Unix.
Insomma, GNU/Linux non è certificato UNIX e quindi non può essere definito un sistema Unix, non può ustilizzare il lorgo ma agisce come Unix. Un bel gioco di parole per dire che GNU/Linux non può essere chiamato Unix, ma quando ci si lavora sembra proprio di utilizzare Unix.
Alcuni preferiscono definire GNU/Linux un sistema aderente alle specifiche POSIX, Portable Operating System Interface, un insieme di specifiche, elaborate dal PASC (Portable Applications Standard Committee), comitato dello IEEE, Institute of Electrical and Electronics Engineers, emanate nel 1988 nella prima versione.
POSIX, termine coniato da Richard Stallman, è un insieme di API (Application Program Interface), che consentono di definire una interfaccia standard al sistema operativo e all’ambiente, il che si concretizza nello sviluppo di un interprete, ovvero una shell e di un insieme di utility comuni che facilitino la portabilità delle applicazioni a livello di codice sorgente e non di binario.
Ora, se non è possibile definire GNU/Linux un sistema UNIX, data la mancanza di una certificazione ufficiale da parte del The Open Group e se la definizione Unix-like appare abbastanza ambigua, nell’indicare qualcosa che è come qualcos’altro ma non lo è, indicare GNU/Linux come sistema POSIX compliant può far sorgere quantomeno una qualche ilarità. Nessun dubbio, GNU/Linux aderisce alle specifiche, quindi la definizione è calzante. Aggiungiamo, però, che anche altri sistemi operativi, come VMS, MVS, MPE sono sistemi aderenti alle stesse specifiche. Concludiamo che anche Microsoft Windows NT, per esempio, aderisce a POSIX. GNU/Linux e Windows NT possono essere accomunati sotto le stesse specifiche? Si. Quindi, forse meglio lasciare da parte un sistema di classificazione che non fa direttamente riferimento al sistema operativo, per evitare gustosi equivoci.

Diggin’ into Fon

fon-123.gif

Continuando a cercare qualche notizia in attesa del router, ho fatto qualche scoperta interessante. Intanto, a quanto pare, il firmware dei router FON enabled si basa su DD-WRT, una piattaforma che nella versione 23 sè costruita sul kernel 2.4.32 ed è GPL. Insomma, sempre di Linux si parla. Uhm, non suona simile a OpenWrt?

DD-WRT ha quindi un paio di vantaggi.

Prima di tutto risulta estensibile, potendovi installare applicazioni Linux.

In secondo luogo, DD-WRT arriva già corredato da una serie di programmi quali:

  • Chillispot – gestore di hotspot che consente di autenticare gli utenti di una LAN wireless. Basato su un’interfaccia web per il login, supporta il protocollo WPA, mentre l’autenticazione, autorizzazione e accounting è lasciata al server radius fornito con DD-WRT;
  • Client DNS dinamico, appoggiandosi ai servizi DynDNS, TZO e ZoneEdit;
  • BIRD, per l’implementazione del routing tramite i protoclli BGP, OSPF e RIP2;
  • DHCP Server e Forwarder con udhcp o Dnsmasq;
  • Afterburner, tecnologia di derivazione Linksys che promette un incremento nella velocità di connessione fino al 35%;
  • Kai Engine, per accedere a Xlink Kai, la rete di gaming online utilizzata dagli utenti Xbox, Playstation 2, Gamecube e PSP.
  • Dropbear, shell ssh per la gestione remota;
  • PPTP VPN Server & Client;
  • Supporto IPv6;
  • Gestione del Quality of Service della banda;
  • Supporto per le schede MMC e SD;
  • Port Triggering;
  • Port Forwarding (massimo 30 voci);
  • Samba FS Automount;
  • WDS (Wireless Distribution System). Vi piacciono le reti mesh?
  • Supporto VLAN;
  • Supporto SNMP;
  • Supporto UPnP;
  • Wireless MAC Addresses Cloning;
  • Wireless MAC filter;
  • Iptables, firewall SPI gestibile tramite l’interfaccia Firebuilder;
  • WPA2.

Direi che come dotazione di base può essere un buon punto di partenza per giocare, specialmente se il sistema di autenticazione di FON si basasse sulle utility presenti nella distribuzione…Intanto, proverò a installare le regole di Iptables che ho creato a manina per gestire una situazione che preveda una DMZ accanto a una rete trusted. Sono 500 righe di codice da far digerire al router, ma ne vale la pena.

I computer nei film…

Come vengono rappresentati i computer nei film?

  • Gli elaboratori di testo non mostrano mai un cursore;
  • Non viene mai usata la barra spaziatrice quando si scrivono frasi anche lunghe;
  • Qualsiasi monitor mostra caratteri alti almeno un pollice;
  • Le informazioni più importanti vengono mostrate in una finestra a parte giusto nel centro dello schermo, ma non c’è mai un bottone di OK o un qualsiasi altro modo per sbarazzarsene;
  • I computer più avanzati, tipo quelli utilizzati dalla NASA, dalla CIA, o da qualche istituzione governativa, avranno sempre delle interfacce grafiche di facile comprensione. Quelli che non hanno un’interfaccia grafica, possiedono delle shell testuali estremamente potenti che possono interpretare ed eseguire correttamente i comandi scritti nella lingua originale del film;
  • Corollario: potete accedere a qualsiasi informazione di vostro gradimento semplicemente digitando “ACCEDI AI FILE SEGRETI” sulla tastiera;
  • Allo stesso modo, potete infettare un computer con un virus distruttivo, semplicemente scrivendo “CARICA IL VIRUS” (vedi il film “Fortress”);
  • Tutti i computer sono connessi. Potete accedere alle informazioni contenute nel desktop di un tipo, anche se il computer è spento.
  • I computer potenti fanno sempre “beep” quando premete un tasto o quando cambia una schermata. Alcuni computer, inoltre, rallentano la visualizzazione delle informazioni in modo da non andare più velocemente di quanto voi siate in grado di leggere.
  • Quelli davvero più avanzati possono anche emulare il suono di una stampante ad aghi. (vedi “Caccia a Ottobre Rosso” o “Alien”);
  • Tutti i pannelli di un computer sono attraversati da migliaia di volt e da punti luminosi appena sotto la superficie. I malfunzionamenti sono indicati da bagliore improvviso, una nuvoletta di fumo, una doccia di scintille e un’esplosione che vi costringe a indietreggiare;
  • Corollario: inviare dei dati a un modem/streamer/stampante più velocemente di quanto questi si aspettino li farà esplodere;
  • Se smettete di scrivere al computer e ve ne andati, questo si spegnerà facendovi perdere tutti i dati (date un’occhiata ai crediti iniziali di “Caccia a Ottobre Rosso”);
  • Un hacker è sempre in grado di procurarsi il computer più sensibile al mondo prima di introdursi in un sistema e di indovinare la password segreta in due tentativi;
  • Qualsiasi errore di PERMESSO NEGATO ha una funzione di CONTROLLO MANUALE che può risolvere il problema (vedi “Demolition man” e un numero infinto di altri film);
  • Calcoli complessi e il caricamento di grandi quantità di dati verranno sempre eseguiti in tre secondi. I modem usati nei film (specialmente quelli wireless che bisogna utilizzare quando si è in macchina) di solito sembrano traspettere i dati alla velocità di due GigaByte al secondo;
  • Quando la centrale di energia/sito missilistico/o qualsiasi altra cosa, va in surriscaldamento, tutti i pannelli di controllo esploderanno insieme a tutto l’edificio;
  • Se un disco contiene dati criptati vi verrà automaticamente chiesta una password appena cercherete di accedervi;
  • Non importa di quale tipo di disco si tratti, sarà leggibile da qualsiasi sistema al quale lo colleghiate. Tutti i programmi saranno utilizzabili da qualsiasi tipo di computer (vedi “Independence Day”;
  • Più è sofisticato l’apparecchio, più bottoni si ritrova ad avere (vedi “Aliens”). Tuttavia, tutti quanti devono essere stati istruiti a puntino, visto che su nessun tasto appare l’ombra di un’etichetta ;
  • La maggior parte dei computer, non importa quanto siano piccoli, sono in grado di produrre animazioni grafiche tridimensionali estremamente realistiche, a partire dai pochi dettagli inseriti dall’utente. Basta anche non indicare alcunché, fanno tutto loro.
  • I portatili, per qualche strana ragione, sembrano sempre avere delle capacità da video telefono assurde, unite alla potenza di calcolo di un CRAY;
  • Tutte le volte che un personaggio guarda lo schermo, l’immagini è talmente brillante che riflette sul suo volto (vedi “Alien”, “2001”, “Jurassic Park”;
  • In ogni caso, quando si tratta di far funzionare un nuovo computer di tipo sperimentale, sono necessari la Scala di Jacob (avete presente quegli archi voltaici che salgono rincorrendosi fra due aste?) o il Generatore di Van Der Graaf, anche se questi apparecchi non servono a niente nella vita reale.
  • Chiunque può impartire un qualsiasi insieme complesso di comandi premendo pochi tasti (vedi “Star Trek”);
  • Nei film, internet è in grado di collegarvi a qualsiasi cosa. Potete modificare i dati relativi a un conto bancario, cercare all’interno del registro di un hotel, esaminare gli archivi criminali della polizia, cercare (e apportare modifiche) all’interno del database delle patenti di guida, modificare i dati sanitari e molto, molto di più, semplicemente usando internet! (vedi “The Net”) ;
  • Distruggere un monitor inibisce il funzionamento dell’intero sistema (vedi “Speed”);
  • Potete lanciare missili nucleari da qualsiasi stanza da letto semplicemente utilizzando un modem analogico, ma solo se conoscete l’unica password di accesso (vedi “War Games):

[Da Annoyances.org]

Firefox 1.07

Firefox logoMaintenance release per Firefox, arrivato alla versione 1.07. Caldamente consigliato l’aggiornamento a chi usa regolarmente questo navigatore che sta riscuotendo sempre maggiore popolarità fra gli utenti della rete.

Le novità di questa tornata riguardano principalmente gli aspetti legati alla sicurezza e stabilità.

Sicurezza?

Stabilità?

Ok, queste sono le paroline magiche che trasformano un semplice aggiornamento in Firefox Reloaded: avanti, su, aggiornate che la sicurezza non è mai troppa!

Cosa sistema questa release?

  • Previene una potenziale vulnerabilità relativa a un buffer overflow causato dal caricamento di un hostname composto unicamente da soft hyphens;
  • Impedisce che le URL passate da programmi esterni a Firefox vengano interpretate dalla shell Linux;
  • Elimina una fastidiosa tendenza al crash quando venga caricato un file PAC (Proxy Auto Configuration) che faccia uso di una istruzione “eval”;
  • Abilita nuovamente la funzione InstallTrigger.getVersion() per gli autori di estensioni.
  • Varie ed eventuali…

Insomma…ma che aspettate ad aggiornare il vostro navigatore preferito? Cliccate qui e poche storie!

Linux ai minimi termini

Un server, come dice la parola, serve sempre, solo che spesso non si sa dove metterlo.

Sulla scrivania? Naaaaa, è già affollata di libri, fogli, penne e cianfrusaglie varie.

Sulla liberia? Nemmeno, troppo lontano dalla presa di rete, e poi non ci starebbe bene.

In bagno no, si sa che vicino all’acqua meglio non mettere niente di elettrico e in cucina nemmeno, altrimenti si riempie di schifezze.

A ben vedere, posto non c’è n’è proprio per un server domestico.

A meno che vi rivolgiate a Picotux 100, un vero e proprio sistema Linux racchiuso nelle dimensioni di un connettore RJ-45, solo poco più largo (35mm×19mm×19mm).

Linux in un connettore RJ-45

Picotux 100 è basato su un processore ARM7 a 55 MHz e come distribuzione uClinux, una versione di Linux che ben si adatta ad applicazioni embedded.

Qualche specifica:

Processore: ARM7 a 55 MHz
Memoria: 2 Mb su flash
Rete: RJ-45 10/100 Mbit half/full duplex Ethernet
Seriale: fino a 230.400 baud
Linee input/output: 5

Kernel: 2.4.27
Shell: Busybox 1.0
File system: CRAMFS, JFFS2, NFS
Applicazioni: Webserver, Telnet
Dimensioni del sistema operativo nella flash: 720 KB e più

Non ci sono scuse, da acquistare per il serverino domestico e in più, notate, non c’è nemmeno il posto per quelle fastidiose ventole che tolgono molto al romanticismo di un computer che occhieggia nell’oscurità.