mercoledì 4 giugno 2008

La struttura delle directories in Gnu-Linux

Quando ci si accosta per le prime volte a Gnu-Linux e si da una "sbirciatina" fuori dalla propria "directory" o "cartella" utente (che è sita dentro la /home) ci si trova di fronte ad una "selva" di directories (o cartelle) spesso dai nomi incomprensibili e che celano chissà quali "misteri"........
Questa spiegazione, che viene direttamente dalla pagina di wikipedia sull' argomento, ci dovrebbe un po schiarire le idee sulla funzione di tutte quelle directories e del perchè molte di quelle non sono accessibili agli "utenti normali" (che i geeks più irrispettosi chiamano "utonti" !!)

.

Struttura delle Directory in ambiente Unix-Linux
(Filesystem Hierarchy Standard)

Directory.............Descrizione

/bin/ ....................File binari per tutti gli utenti (es., cat, ls, cp)
/boot/ ..................File del Boot loader (es., kernel, initrd)
/dev/ ...................File di periferica (devices) (es., /dev/null)
/etc/ ....................File di configurazione del sistema (da et cetera)
/etc/opt/ ..............File di configurazione di /opt/
/etc/X11/ .............File di configurazione dell'X Window System, versione 11
/etc/sgml/ ............File di configurazione per SGML.
/etc/xml/ ..............File di configurazione per XML.
/home/ ................contiene Cartelle personali degli utenti.
/lib/ .....................Librerie essenziali per i binari in /bin/ e /sbin/
/mnt/ ...................Filesystem montati temporaneamente (obsoleto in molte distro).
/media/ ................Punti di montaggio di CD-ROM e altri dispositivi (pennette USB, etc.)
/opt/ ....................Pacchetti software statici.
/proc/ ..................Filesystem virtuale che mostra informazioni sullo stato del kernel e dei
processi attivi; sono presenti soprattutto file di testo (es, uptime, network)
/root/ ..................Cartella /home/ per l'utente root.
/sbin/ ..................Eseguibili per l'amministrazione del sistema (es., init, route, ifup
(system binaries)
/tmp/ ..................File temporanei.
/srv/ ...................Dati specifici forniti dal sistema (served).
/usr/ ...................Gerarchia secondaria per i dati condivisibili ed in sola lettura (unix system
resources). Questa directory è nata per essere condivisa tra gli host e non deve contenere dati specifici.
/usr/bin/ ..............Come la cartella /bin/.
/usr/include/ .........File Header (da "includere").
/usr/lib/ ................Come la cartella /lib/.
/usr/sbin/ .............Come la cartella /sbin/.
/usr/share/ ..........Dati condivisi (shared) indipendenti dall'architettura.
/usr/src/ ..............Codice Sorgente (Source code).
/usr/X11R7/ ........X Window System Versione *11 R*elease *7*.
/usr/local/ ...........Terza gerarchia per i dati locali, specifici per “questo” host. Inoltre, in

modo piuttosto confuso, /usr/local è la posizione per i pacchetti che non fanno parte della distribuzione, come i pacchetti che vengono compilati ed installati a partire dai sorgenti.
/var/ ...................File Variabili come log database, siti web, e files temporanei delle e-mail.

.

http://it.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

martedì 3 giugno 2008

IFConfig

–ifconfig è un comando shell che permette di configuare e visualizzare le impostazione della/e scheda/e di rete.
–La sintassi del comando è:
ifconfig [interfaccia] opzioni indirizzo

– Opzioni: Alcune delle opzioni che possiamo passare al comando sono:

-a Mostra tutte le interfacce di rete con le relative caratteristiche, anche se sono impostate down(non attive)
-s Mostra una lista corta
-v Modalità verbose, indica anche se ci sono errori
-up Attiva un'interfaccia di rete
-down Disattiva un'interfaccia di rete
-netmask 'address' Imposta l'indirizzo della netmask
-broadcast 'address‘ Imposta l'indirizzo di broadcast
.
Esempi: Se vogliamo visualizzare le impostazioni di rete dopo aver dati il precedente comando, basta dare il comando:

ifconfig

avremo come output:

eth0 Link encap:Ethernet HWaddr 00:18:DE:74:11:4B
inet addr:192.168.0.79 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:16 Base address:0xc000 Memory:b0200000-b0200fff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


*lo* è un'interfaccia logica, chiamata *Loopback*. Dev'essere sempre attiva, anche se il computer non è connesso alla rete. Per maggiori informazioni consultate la pagina *man.

Si può notare inoltre come il comando ci riporti le varie caratteristiche delle interfacce, come gli IP ad esse associati (scritti nella linea inet addr:), lo stato della stessa (nella riga successiva) e tutta una serie di altre nformazioni i cui dettagli si possono trovare nella pagina di manuale del comando.

Se poi Vogliamo configurare la nostra scheda di rete *eth0*. La scheda è disattivata, la vogliamo attivare, impostare l'indirizzo ip, netmask e broadcast. Diamo il seguente comando:

ifconfig eth0 192.168.0.79 netmask 255.255.255.0 broadcast 192.168.0.255 up


http://linuxpedia.netsons.org/index.php/Ifconfig

Pacchetti ? Programmi ?

Mi è stato chiesto tempo fa di fare una specie di presentazione di gnu-linux per dei "neofiti totali", da questo è scaturita una presentazione in pochi punti che ho usato per fare una panoramico di questo fantastico mondo dell' open source e di Gnu-Linux in particolare, gli appunti che proporrò in questo e in altri articoli non hanno la pretesa di essere ne precisi ne particolareggiati ma vogliono solo essere delle semplici descrizioni per fare avvicinare a Gnu-Linux anche persone che non ne hanno mai sentito parlare, d' altronde il blog che state leggendo è dedicato proprio a chi si affaccia su questo mondo per la prima volta e non ai più navigati e smaliziati "smanettoni" della riga di comando.....

Installazione dei programmi

– In un sistema Gnu-Linux i programmi vengono forniti in due diverse modalità:

1) "File sorgente" da compilare ed installare sulla “propria” macchina.

Pro: Il programma così compilato offre prestazioni migliori perchè il processo di compilazione tiene conto del processore e delle caratteristiche hardware della macchina su cui viene installato.

Contro: Per compilare i programmi sulla propria macchina si ha bisogno di tutte le librerie e dei programmi accessori che sono necessari per compilare correttamente gli eseguibili dei programmi in oggetto, si devono sapere altresì quali sono le giuste opzioni da dare al compilatore per ottimizzare il processo di compilazione sulla propria macchina, spesso i tempi di compilazione sono molto lunghi.

2) “Pacchetti precompilati” scaricabili da speciali “repositories” in un formato standard che tramite appositi programmi provvedono ad installare anche in automatico tutti quei files e quelle librerie necessarie al corretto funzionamento del programma in oggetto.

Pro: Non è necessario avere nessun tipo di conoscenza informatica, tutto viene risolto in maniera automatica e trasparente per l’ utente, basta solo una buona connessione Internet e si possono installare tutti i programmi che si vogliono in pochi secondi.

Contro: Per fare in modo che il programma “giri” su tutti i tipi di hardware (processori) il pacchetto viene precompilato con una serie di opzioni generiche che non aumentano certo le prestazioni dello stesso. Alcune parti essenziali (moduli del kernel aggiuntivi, nuovi kernel personalizzati & initrd.img) debbono comunque essere compilate in locale.

–L’ estensione di questi “pacchetti” varia a secondo delle distribuzioni Linux che ne fanno uso, debian e tutti i sistemi derivati (es. Ubuntu) usa i .deb mentre red hat, mandriva, fedora, suse e diversi altri usano gli .rpm, ma ci sono anche altri formati meno diffusi (i .tgz di slackware per es.)

Ci sono ormai per quasi tutte le maggiori distro, dei tools grafici che riducono il processo di installazione e/o disinstallazione a pochi click di mouse. Synaptic, Yum, urpmi, sono alcuni dei più usati, si basano su tools a riga di comando come apt-get o rpm.