Posts Tagged ‘linux’

File server con debian

gennaio 9, 2008

Questo post lo potete trovare ance sul mio più aggiornato sito: www.soulplace.org

Tra una bevuta e l’altra in questi giorni di quasi vacanza, ho avuto la possibilità di dilettarmi nel mettere su un file server scp per l’azienda di mio padre. Le cose, più o meno, sono andate così:

  •  Hardware: HP omnibook 6000 (se lo cercate, non credo sia più reperibile): pentium 3 800mhz, 128MByte ram, 6 GByte hard disk, lettore cd 24x, 1 usb 1.0, una bestia praticamente :-);
  • Software S.O.: Debian 4.0rev2 (cd netinst, nel quale poi ho installato solo i pacchetti del tipo “server”), scp, scponly, 2 script per il backup giornaliero dei dati.

Personalmente ho ritenuto opportuno dare alla scheda di rete un indirizzo ip statico per facilitare la connessione degli altri pc. Non avendo la possibilità di inserire un secondo hd, o uno esterno, ho deciso di formattare l’hd esistente in 2 partizioni da 3 GByte: una per il S.O. e programmi e una per i backup. E’ stata una scelta un po “stronza” me ne rendo conto, ma bisogna arrangiarsi!Dopo la facile installazione di debian (non mi ha occupato per più di un’oretta) senza alcun tipo di sistema grafico, ho installato tramite apt-get SCP.Wikipedia:

Secure Copy (copia sicura) o SCP è un mezzo per trasferire in modo sicuro un file del computer tra un computer locale ed un host remoto o tra due host remoti, usando il protocolloSecure Shell (SSH). 

apt-get install scp scponly

Usando questo tipo di comunicazione si riduce al minimo la possibiltà di accessi non consentiti al server o di intercettazione del contenuto della comunicazione, in quanto avvengono tutte in maniera criptata. Vi consiglio di eliminare l’accesso all’utente root tramite ssh; per fare questo dovrete editare il file /etc/ssh/ssh_config impostando la variabile:

PermitRootLogin no

per evitare di concedere l’acceso root a chi conosce la password. Ricordatevi di accedere come root per installare (su e poi password)!! Potete ora sbizzarrirvi come più vi piace con i file di configurazione di scp per controllare accessi, se preferite accedere con password o chiave ect…Sarà anche possibile accedere al server dall’esterno, semplicemente configurando il proprio router. Per farlo dovete forwardare la porta ssh dal pannello di controllo del vostro router (eventualmente anche la porta ftp può servire). Scriviamo ora 2 script in sh da poter richiamare a nostro piacimento per fare il backup dei file che ci interessano. Nel mio caso dovevo fare il backup di una cartella in locale e una che risiede su un pc remoto. Di seguito il contenuto dei file backup.sh, per il backup dei file “locali” e backup_ext.sh per il backup dei file “remoti”:

backup.sh

#!/bin/bash

BACKUPDIR="/path/completa/cartella/backup/$(date +%Y-%m-%d)"

cp -rf -a /cartella/contenente/dati/backup "$BACKUPDIR"

tar -cvf $BACKUPDIR $BACKUPDIR

rm -rf $BACKUPDIR

per la cartella remota basta aggiungere all’inizio il comando per montare la cartella remota (nel mio caso con samba). Cercate la cartella condivisa con il comando smbtree e inseritela nello script backup_ext.sh:

backup_ext.sh

smbmount //ipmacchinaremota/nomecartella/ /mount/point/ -o username=username,password=password

BACKUPDIR="/path/completa/cartella/backup/$(date +%Y-%m-%d)"

cp -rf -a /mount/point/ "$BACKUPDIR"

tar -cvf $BACKUPDIR $BACKUPDIR

rm -rf $BACKUPDIR

n.b. a “ipmacchinaremota” si può sostitire anche l’hostname.

Nel caso in cui dovesse sorgere la necessita di eseguire i backup a intervalli temporali definiti, sarà necessario editare la tabella /etc/crontab, in modo da inserire il momeno in cui eseguire gli script, nel mio caso il backup deve essere eseguito ogni sera alle 20:30:

30 20 *** root /home/utente/backup.sh > /home/utente/backup.log

30 20 *** root /home/utente/backup_ext.sh > /home/utente/backup_ext.log

L’output di tar verrà registrato in backup.log e backup_ext.log (come ben sapete si possono aumentare i dettagli dell’output con l’opzione -v, oppure -vv ai comandi dei quali si cerca l’output).

Bene, sembra strano ma abbiamo finito! basta collegarsi da un qualsiasi client che supporti l’scp (per windows winscp, da linux con i comandi scp, ssh o con i programmi openssh, midnight commander ect.., per mac osx  c’è rbroswer o cyberduck). Accederemo direttamente nella cartella home dell’utente con la quale effettuiamo l’accesso. 

Annunci

Altro che download manager!!

novembre 17, 2007

Lo so, lo so! sono sparito dalla circolazione, non mi si vede più da un pezzo, non penso più agli amici! giustificatemi con il fatto che ho superato il parziale di analisi numerica, e in più lo scritto di programmazione, quindi ho avuto un po’ di roba da fare, ma, come i più crudeli killer, torno sempre nel luogo dell’omicidio (di chi o cosa non si sa)!

Ho deciso quindi di ritornare alla grande con qualcosa che si può rivelare utile per molti: un piccolo riassunto delle cose che si possono fare con il fantastico comando wget.

cit. da Wikipedia;

GNU Wget è un software per lo scaricamento di file da Internet, parte del progetto GNU. Supporta i protocolli HTTP, HTTPS e FTP

Può dunque egregiamente sostituire i nostri malfunzionanti, costosi, limitati o semplicemente fastidiosi download manager.

L’uso più semplice è ovviamente:
wget http://url.del.sito/file
ad esempio
wget http://soulplace.altervista.org/Foglietto.pdf (E’ un riassunto per Decisioni Organizzative 🙂 )
ma può anche essere usato per scaricare un intero sito in locale (mirroring)
wget -mirror http://url.del.sito/
mentre scrivendo solo
wget http://url.del.sito/
si scarica l’indexdel sito (aggiungendo l’opzione -r si scarica l’index e eventuali immagini).
Nel caso in cui il download si interrompa, per riprendere dallo stesso punto in cui ci siamo fermti basterà lanciare
wget -c http://url.del.sito/

Insomma di cose belle da fare ce ne sono molte, ma qualcuna richiede un po’ di ingegno in più. Su molti siti possono essere presenti sistemi di blocco del download di massa per salvaguardare la banda. in questo caso il download di tutti i file di una directory in una botta sola sarà impossibile in maniera diretta. In questo caso abbiamo 2 alternative. Se abbiamo già una lista dei file contenuti nella directory che ci interessa basterà passare la lista come parametro a wget, ovvero:
wget -i lista.txt
dove lista contiene il percorso completo ad ogni file, oppure ci possiamo trovare nel caso in cui cio’ che vogliamo scaricare è sistemato in un preciso ordine (ad esempio numerico crescente). In questo caso basterà un piccolo script in sh per automatizzare l’operazione di download (n.b. è possibile limitare la banda occupata da wget per non interferire con la nostra navogazione usando il parametro --limit-rate=RATE dover rate è la banda riservata a wget):
nel caso volessimo scaricare file di tipo .jpg numerati da 0 a 100

#!/bin/sh

for((num=0; num<=100;num++))
do
wget -nc http://url.del.sito/cartella/${num}.jpg
done

il parametro -nc serve a evitare che wget provi a scaricare file che non esistono. Ovviamente ci si può sbizarrire come si preferisce!!

Alla prossima gente!!!

Rete wireless domestica

novembre 5, 2007

Per fortuna ho ritrovato una guida che avevo scritto qualche tempo fa per la creazione di una rete domestica wireless a mio parere molto sicura sia perchè ho utilizzato un ottimo firewall, sia perchè se qualcuo si volesse connettere alla vostra rete, anche se non protetta da nessuna password, ottenere un risultato positivo potrebbe rivelarsi molto difficile…

Questa guida era stata scritta per il TaLUG! Ora è disponibile insieme a numerose altre guide e articoli su Talug@Altervista

Guida per la creazione di una rete domestica wireless, senza essere dei “guru” di informatica.

Preparazione del server

Abbiamo bisogno di:

* Un pc (possibilmente fisso senza problemi di alimentazione); può essere un qualsiai pc, da un pentium 133 a un quad core. Ovviamente se ci dovete lavorare su mentre funge anche da router non vi aspettate prestazioni esaltanti da un pentium 133;
* in sostituzione del suddetto pc, un buon router non sarebbe male, però deve essere pienamente configurabile per le vostre esigenze (ip statici o dinamici, apertura porte ect…)
* 2 schede di rete;
* un acces point che ci permetta di smanettare un po’ su;

* un cavo ethernet patch;

Preparazione client

Abbiamo bisogno di:

* un qualsiasi pc (fisso o portatile) con scheda di rete wireless; vi raccomando caldamente di verificare prima che la scheda wireless sia ben configurata e riconosciuta dal sistema, per evitare spiacevoli inconvenienti.

Armiamoci di un po’ di pazienza e di un buon thè…

Costruzione fisica server

Collegare una scheda di rete a internet (con il vostro operatore) e l’altra all’acces point. Accendete il tutto e passiamo alla configurazione.

Indirizzi di esempio (ovviamente possono cambiare da router a router e a seconda del tipo di connessione)

eth0 –> scheda collegata ad internet –> 222.222.222.222

eth1 –> scheda collegata all’acces point –> 192.168.1.1(indirizzo statico)

Access point –> 192.168.1.2 (indirizzo statico)

ra0 –> scheda wireless client –> 192.168.1.3 (indirizzo statico)

Programmi usati

Fortunatamente per molti (sfortunatamente per molti altri) non ho usato praticamente mai la riga di comando, ho usato il firewall firestarter per condividere la connessione e il wireless assistant di gnome;

Installazione rete wireless

Come avete già avuto modo di osservare, gli indirizzi della lan sono tutti statici, principalmente per evitare carichi inutili e perdite di tempo nella connessione e per evitare di dover installare un server dhcp (per chi volesse provare è presente un’ottima guida sul portale)

Premesso questo, partiamo dall’access point:

Entrate nel pannello di configurazione del vostro access point e settate l’indirizzo ip statico come segue:

indirizzo ip: 192.168.1.2

Maschera di sottorete: 255.255.255.0

Gateway: 192.168.1.1 (indirzzo della scheda sul server a cui è connesso l’AP)

Di quì potete poi selezionare varie opzioni per la sicurezza e per la gestione banda se il vostro AP lo permette.

Passiamo poi alla configurazione del server:

Come primo passo dovete installare firestarter nel modo che più vi è congeniale, oppure potete fare i seguenti passi sfruttando le vostre conoscenze o altri programmi.

Ritornando a firestarter dovete selezionare la vostra scheda connessa ad inernet (eth0 nell’esempio) e la vostra scheda di rete per la lan (nel nostro caso eth1) e dovete barrare la casella per la condivisione della connessione ad internet.

In questo modo permettiamo al nostro server di svolgere la funzione di NAT (network address translator) per i client.

Usate lo stesso programma per decidere quali porte aprire all’interno della lan eliminando o garantendo determinati sevrvizi (www, p2p, chat, ect…)

Fatto questo passiamo ai settaggi per il client:

La scheda di rete può essere settata in diversi modi: in gnome tramite Sistema –> Amministrazione –> Rete, o da terminale usando i comandi ifconfig e route. per ulteriori informazione consultare le pagine di manuale.

Inserire nome della rete (obbligatorio) e la chiave i rete (qualora fosse richiesta)

Indirizzo ip: 192.168.1.3

Maschera di sottorete: 255.255.255.0

Gateway: 192.168.1.2 (indirizzo dell’acces point).

Adesso dovrebbe essere tutto configurato e pronto per navigare. Ricordate che ad ogni client che aggiungete, dovete modificare le impostazioni della scheda di rete per far si che accetti l’indirizzo statico.

Ricerca collaboratori per corso GNU/Linux a Taranto

novembre 5, 2007

Dovete sempre, almeno una volta al giorno, visitare Linux@Taranto dato che è un bellissimo e utilissimo sito, e poi perchè potreste trovare qualche iniziativa che vi garba… tipo questa. Se avete voglia di collaborare per un corso su GNU/Linux a Taranto, bè…che state aspettando? Babbo Natale? In questo momento non può venire…quindi andateci subito!!!

Foto Linux Day a Brindisi

novembre 5, 2007

Purtoppo io non ci sono, ma i miei cari amici diLinux@Taranto si, ed è un tributo che ci sta sempre bene! Dai che stiamo prendendo il volo!!

Foto Linux Day

Materiale Linux Day!

ottobre 30, 2007

E’ disponibile quì il materiale presentato da Linux@Taranto per il Linux Day svolto lo scorso 27 Ottobre. Si parla di Creative Commons e di TCPA, quindi c’è da divertirsi… 🙂

Linux Day 2007!

ottobre 21, 2007

 ld_2007_150.png

Con orgoglio posso annunciare di far parte attivamente, o quasi, di questa fantastica manifestazione avendo collaborato alla realizzazione della presentazione riguardante le licenze Creative Commons esposta dai miei compagni di Linux@Taranto nelle manifestazione organizzata dal BriLUG che si terrà a Brindisi.

Guida all’installazione dei programmi su linux

ottobre 18, 2007

Vi ricordo che potete continuare a leggere leggere questo post sul mio più aggiornato sito: www.soulplace.org

Una delle grandi potenzialità dei s.o. basati sul kernel linux è la possibilità di avere a disposizione pressochè un’infinità di programmi (open source e non) e la facilità con cui essi sono reperibili e installabili. Possiamo distinguere diversi tipi di modalità con cui possiamo installare i programmi:

    E’ molto frequente trovare i programmi sottoforma di pacchetti .tar.gz. Di norma questi pacchetti contengono i sorgenti del programma in modo da poter essere compilati e installati su qualsiasi macchina giri il kernel linux, indipendentemente da quale sia il sistema operativo adottato (fedora, ubuntu, mandriva, ect..). per installare questi programmi dobbiamo compiere 3 semplici passi:
    1 – Decomprimere il pacchetto usando da terminale il comando tar -xzvf nomefile.tar.gz . Per uleriori informazioni più approfondite consultate l manuale di tar (man tar);
    2 – Controllare che li sistema sia pronto per l’installazione con il comando ./configure. Tale comando esamina se nel nostro sistema onopresenti i pacchetti che servono alla compilazione ed installazione del nostro programma. Se viene restituito qualche errore è in genere perchè non avete qualche pacchetto richiesto installato (dipendenza). In tl caso basterà installare il pacchetto richiesto.
    3 – Compilare ed installare il programma usando i comandi make && make install. Tramite questi comandi compiliamo il pacchetto sulla nostra macchian (make) e lo installiamo nella directory di default (solitamente la cartella /usr/local/bin)

Il programma è installato. Vi rimando comunque alle pagine di manuale per ulteriori approfondimenti e/o opzioni da inserire. Per disinstallare il programma basterà lanciare da terminale make uninstall nomeprogramma e il programma verrà rimosso.

Analizziamo ora altri metodi di installazione derivanti dalle diverse distribuzioni: i pacchetti .rpm e .deb.

    Pacchetti .rpm
    I pacchetti .rpm, il cui nome deriva da RedHat Packet Manager, contraddistinguono tutte quelle distribuzioni chiamate RPMBased quali Fedora, Mandriva, RedHat, Suse ect… Posseggono l’eccezzionale qualità di essere estremamente più facili da installare dei tar.gz in quanto nella maggior parte dei casi facendo un semplice doppio-click sul pacchetto, verrà lanciato in automatico il programma di gestione pacchetti installato di default sulla nostra macchina che ci permetterà di installarlo, disinstallarlo e aggiornarlo tutto in maniera grafica ed estremamente chiara. Alcuni esempi di questi tool, che servono inoltre a risolvere automaticamente le dipendenze dei pacchetti sono YaST, yum, urpmi ect…Per chi invece desidera installare programmi .rpm tramite riga di comando, la sintassi da adottare è rpm -i nomepacchetto.rpm mentre per disintallarlo sarà rpm -e nomepacchetto.rpm. Nel caso in cui si voglia installare un pacchetto.rpm su distribuzioni debian-based (Ubuntu, Debian, Mepis, ect… ) bisognerà installare prima il tool chiamato alien (con il metodo che vedremo quì di seguito), e poi usare la sintassi alien -d nomepacchetto.rpm per trasformarlo in un pacchetto .deb. Rimando comunque alle pagine di manuale per uleriori infomazioni.
    Pacchetti .deb  

    Come già detto i pacchetti .deb sono caratteristici dei sistemi operativi basati su debian. Ineffetti, però, raramente ci trovermo a scaricare un pacchetto .deb direttamente, in quanto nei sistemi debian esiste un programma chiamato APT (Advanced Packaging Tool) che ci permette di installare, disinstallare e aggiornare i nostri programmi. In pratica ci troviamo davanti ad un gestore che ci consente di installare i programmi con un semplice click. Funziona basandosi sul file /etc/apt/sources.list che contiente gli indirizzi dei siti che contengono i pacchetti. deb da installare e le reltive dipendenze. Ovviamente questo file è modificbile per aggiungere nuovi indirizzi (repository o più comunemente repo) o togliere i vecchi. L’interfaccia grafica più conosciuta e usata è sicuramente Synaptic, ovvero il gestore pacchetti di default di Ubuntu. Basterà cercare tramite l’apposito form il nome del programma che ci interessa instalalre e Synaptic risoverà automaticamente le dipendenze, effettuerà il download dei pacchetti di cui necessita e li installerà nela cartella di default. La versione da riga di comando, invece usa i seguenti comandi per compiere le diverse operazioni:

    1- Ricerca apt-cache search nomeprogramma , che restituirà in output la lista dei programmi che rispondono al nome cercato;
    2 – Installazione apt-get install nomeprogramma , che installa il pacchetto risolvendo le dipendenze;
    3 – Aggiornamento lista dei pacchetti apt-get update ;
    4 – Aggiornamento singolo pacchetto apt-get upgrade nomeprogramma ;
    5 – Aggiornamento di tutti i pacchetti aggiornabili apt-get upgrade ;
    6 – Rimozione pacchetto apt-get remove nomeprogramma ;
    7 – Rimozione totale pacchetto (compresi i file delle preferenze ect)apt-get purge remove nomeprogramma .

    Nel caso in cui ci trovassimo difronte ad un pacchetto con estensione .deb e lo si voglia installare da linea di comando, la sintassi è la seguente:
    sudo dpkg -i nomefiledeb.deb (oppure dpkg –install nomefiledeb.deb ) per l’installazione;
    sudo dpkg -r nomefiledeb.deb (oppure dpkg –remove nomefiledeb.deb ) per la rimozione;

    Non mi stancherò mai di ripetere che questi comandi possono avere la necessità di essere ampliati con altre opzioni, quindi consultare sempre il manuale (man dpkg).

Sta prendeno piede da qualche tempo anche un altro tipo di file per installare programmi. I pacchetti vengono chiamati Autopackage e l’estensione del file è .package. Questi file ricordano molto gli installer di windows e il loro funzionamento è molto simile. Bisogna però seguire qualche passo preliminare prima di installare per la prima vota questo tipo di file. E’ spiegato tutto alla lettera quì.