La GNU GPL non è sempre accondiscendente; dice di "no" ad alcune delle cose che a volte la gente vuole fare. Alcuni utenti affermano che sia negativo il fatto che la GPL "escluda" alcuni sviluppatori di software proprietario che "hanno bisogno d'essere portati nella comunità del software libero." Ma non siamo noi ad escluderli dalla nostra comunità; sono loro che scelgono di non entrare. Decidere di produrre software proprietario equivale a decidere di starne fuori. Esservi dentro significa cooperare con noi; non possiamo "portarli nella nostra comunità" se non vogliono unirsi a noi. Ciò che possiamo fare è offrire un incentivo ad unirsi a noi. È per far sì che il nostro software già prodotto sia un incentivo che la GNU GPL è stata pensata: "Se renderete il vostro software libero, potete utilizzare questo codice". Di certo in questo modo non si vincerà sempre, ma qualche volta sì. "Ricard Stallman"

Qual è la differenza tra shell interattiva e non interattiva ed altre domande

giovedì 28 maggio 2009

In tutti i sistemi Unix, GNU/Linux compreso, esistono due tipi di shell: interattiva e non interattiva. Nel primo caso si tratta di una shell in cui l'utente interagisce con essa: questo è quello che accade, ad esempio, quando eseguiamo qualche comando.

Al contrario, quella non interattiva non richiede interventi da parte dell'utente: questo è il caso, ad esempio, dell'esecuzione di uno script. Ma non finisce qui. Infatti, la shell interattiva si divide a sua volta in shell di login e shell normale.

La prima è quella che si ottiene quando si effettua il login, mentre l'altra è quella che, ad esempio, avviamo in un secondo momento per eseguire qualche programma. Ad esempio, premendo le combinazioni di tasti da Ctrl+Alt+ F1... Ctrl+Alt+F6 si accede ad altrettante shell di login, ovviamente, solo dopo essersi autenticati con nome utente e password.


Come si gestiscono le variabili d'ambiente?
Le variabili d'ambiente (environment variable), dette anche variabili di sistema, sono delle stringhe di testo contenenti indicazioni sulla configurazione del sistema, alle quali i programmi, ma anche lo stesso sistema operativo, si appoggiano per svolgere le loro funzioni.

All'interno dell'ambiente Unix, quindi GNU/Linux, sono identificate da un nome, preceduto dal simbolo $. Un esempio di variabile di ambiente è $PATH, la quale contiene i percorsi (cioè le directory a partire da quella radice) dove sono posizionati gli eseguibili presenti nel sistema. Il sistema operativo contiene diverse variabili d'ambiente predefinite, ma è sempre possibile modificarle o crearne altre.

Per visualizzare tutte le variabili d'ambiente presenti nel sistema bisogna utilizzare il comando printenv oppure set. Per ottenere il valore di una variabile in particolare basta eseguire il comando echo seguito dal nome della variabile, ad esempio: echo $PATH. Nel caso in cui, invece, è necessario crearne una nuova, il comando diventa export NOME_VARIABILE=valore. Ecco un esempio di utilizzo di export: export HOSTNAME="`cat /etc/hostname`".

In questo caso, la variabile d'ambiente $HOSTNAME sarà uguale al nome della macchina (hostname), valore ottenuto, nell'esempio, dal comando cat /etc/hostname. Ovviamente, il valore può essere espresso mediante un comando, come in questo caso (ricordate però, di racchiuderlo sempre tra due simboli `), da nomi, percorsi di directory, ecc.

A cosa serve la directory /etc/skel?
Ogni volta che si crea un nuovo utente, automaticamente viene creata, tra le altre cose, la sua directory personale, la quale può contenere cartelle e file predefiniti. La directory /etc/skel serve proprio a stabilire questo contenuto “extra” aggiunto di default. In pratica basta sistemare in questa particolare cartella tutto quello che si vuole aggiungere alla directory di ogni nuovo utente creato.

Nella directory /boot è presente il file initrd-x.x.xx.img. A cosa serve?
Il file initrd, o initial ramdisk (in italiano disco RAM iniziale) è un particolare tipo di file system, in genere contenuto all'interno di un file immagine .img, montato dal kernel Linux in RAM come RAM disk (ecco perché initial ramdisk). Tale file viene fornito al kernel dal bootloader come sistema minimale per svolgere alcune funzioni fondamentali prima del caricamento del file system vero e proprio.

Sostanzialmente, il file initrd contiene al suo interno i moduli necessari al supporto e all'attivazione del file system radice, più gli script necessari per caricarli. Concluse queste operazioni di base, il disco RAM iniziale passa il controllo al file system principale. Ovviamente, è anche possibile fare a meno del file initrd, purché i moduli necessari al caricamento iniziale del sistema siano stati compilati direttamente nel kernel.

Il vantaggio che ne consegue è ovvio. La presenza del file initrd permette alle distribuzioni GNU/Linux di usare un kernel precompilato con tutte le funzionalità attive come moduli, quindi molto più leggero. È anche possibile creare un file initrd utilizzando il comando mkinitrd integrato nel pacchetto initrd-tools. Nelle nuove distribuzioni questi tool sono stati sostituiti da initramfs e iniramfs-tools. Infine, nelle distribuzioni Debian GNU/Linux e derivate è presente il comando mkinitramfs-kpkg che automatizza la creazione di file initrd.



Ultimi post pubblicati


Vacanze                TUI.it

Universo Linux


0 commenti:

I miei preferiti

Antipixels

WebShake – tecnologia iFeed Aggregatore di blog ”Giornale Aggregatore Blogstreet - dove il blog è di casa Vero Geek iwinuxfeed.altervista.org Paperblog Add to Technorati Favorites Directory dei blog italiani tutto blog BlogItalia.it - La directory italiana dei blog Feed XML offerto da BlogItalia.it BlogNews Il Bloggatore web counter Feedelissimo

Ultimi post pubblicati

Mutui & Finanza