Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi > Discussioni Ufficiali e Documentazione

ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono
ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono
Da ASUS un monitor particolare ma molto completo: principalmente indirizzato al videogiocatore, può essere sfruttato con efficacia anche per attività creative e di produzione multimediale
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza
Il nuovo robot aspirapolvere domestico di Dreame abbina funzionalità complete a un moccio flottante che raggiunge al meglio gli angoli delle pareti. Un prodotto tutto in uno semplice da utilizzare ma molto efficace, in grado di rispondere al meglio alle necessità di pulizia della casa
HONOR Magic6 Pro: come funziona Magic Portal, il modo ''intelligente'' di condividere
HONOR Magic6 Pro: come funziona Magic Portal, il modo ''intelligente'' di condividere
HONOR ha introdotto con Magic6 Pro la funzione Magic Portal che consente, tramite intelligenza artificiale, di suggerire scorciatoie agli utenti in modo da permettere di passare e accedere facilmente ai servizi tra app e dispositivi con un semplice tocco. Vi spieghiamo qui come funziona
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 05-03-2004, 18:43   #1
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
HOWTO avanzati

apt-get HOWTO
COME ATTIVARE UNA CONNESSIONE TRAMITE MODEM disponendo solo dei programmi pppd, chat, un editor di testo e i privilegi di root
CONFIGURARE LINUX COME SERVER PPP
GIOCHIAMO CON IL RAID
COMPILARE IL KERNEL
ENCODING VIDEO CON LINUX
OpenVPN mini HOWTO
Debian net-install HOWTO
Installazione driver per il modem Speedtouch USB
Guida per una buona configurazione di sshd
Postfix, Fetchmail, Procmail,Spamassassin, Solid-pop3d e Mutt
GMail come un HD su linux
Server di posta how-to
INSTALLARE GENTOO SU RAID SOFTWARE (KERNEL RAID)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12

Ultima modifica di VICIUS : 21-09-2006 alle 10:09.
ilsensine è offline  
Old 10-03-2004, 08:31   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
apt-get HOWTO

apt-get è un potente strumento di gestione dei pacchetti installati sul proprio computer. E' tipico della Debian, ma può anche essere installato su altre distribuzioni. Può anche essere usato per installare i sorgenti di un programma che si intende compilare. Il thread di "provenienza" di queste informazioni è reperibile qui:
http://forum.hwupgrade.it/showthread...0&pagenumber=1

Contributo di HRC211V e moly82:

Sintassi di base:
apt-get install pacchetto : installare il pacchetto
apt-get remove pacchetto : rimuovere il pacchetto (--purge x una cancellazione "drastica" )
apt-cache search pacchetto : cerca un pacchetto
apt-cache show pacchetto : vi da le info sul pacchetto
apt-get update : aggiornare la sources.list x nuovi pacchetti
apt-get upgrade pacchetto : upgradare un pacchetto
apt-get clean : ripulisce /var/cache/apt di tutti i pacchetti .deb scaricati


> Debian può essere scelta fra 3 "versioni" fondamentali: stable (woody), unstable (sid) o testing (sarge), i nomi direi che si spiegano da soli

Una volta fatta la scelta, per proseguire con l'installazione di Debian (se si è partiti dalla mini-iso) o anche solo per installare nuovi pacchetti appartenenti ad una versione piuttosto che ad un'altra, occore semplicemente modificare il file /etc/apt/sources.list (che contiene appunto i "repository" e cioè volgarmente le "fonti" da cui "attingere" x scaricare i pacchetti)

nano /etc/apt/sources.list

...eccovi alcuni esempi di repository, nell'esempio sotto ho riportato la mia sources.list che uso per SID:

Sid:

#var
deb http://ftp.it.debian.org/debian/ unstable main contrib non-free
deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
deb http://debian.fastweb.it/debian/ unstable main non-free contrib
deb http://marillat.free.fr/ unstable main

#sources
deb-src http://ftp.it.debian.org/debian unstable main contrib non-free
deb-src http://ftp.it.debian.org/debian-non-US unstable/non-US main contrib non-free
deb-src http://debian.fastweb.it/debian/ unstable main non-free contrib

#XFree 4.3
deb http://people.debian.org/~ccheney/xfree86 ./
#deb http://debian.fabbione.net/debian-ipv6 sid ipv6
#deb-src http://debian.fabbione.net/debian-ipv6 sid ipv6
#deb http://penguinppc.org/~daniels/sid/i386 ./

#Xfce
deb http://people.debian.org/~madkiss/xfce4/4.0.0+rc3/ ./
deb http://www.hrw.one.pl/apt/ sid/
deb http://www.tu-harburg.de/~vkv/debian ./

#Fluxbox
deb http://people.debian.org/~dopey/fluxbox ./


#Kde CVS
deb http://oberlin.cems.umn.edu/kdecvs/debian ./
#deb http://kde.rb-hosting.de/~jens/kde/debian/ ./



... ed eccovi invece alcuni repository per le altre 2 versioni di Debian: ovviamente, usando io SID, i repository riportati per queste versioni sono solo indicativi e probabilmente vecchi. Nuovi e più aggiornati repository sono comunque facilissimamente reperibili da:
http://www.apt-get.org


Woody:

deb http://security.debian.org/ stable/updates main
deb http://ftp.it.debian.org/debian/ stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://marillat.free.fr/ stable main


Sarge:

deb http://ftp.it.debian.org/debian/ testing main contrib non-free
deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
deb http://marillat.free.fr/ testing main


ESEMPO di installazione di due pacchetti precompilati
apt-get install x-window-system-core (per installare X)
apt-get update && dist-upgrade (per aggiornare le liste pacchetti ed aggiornare l'intero sistema)

ESEMPO di installazione di sorgenti:
Installare e compilare i sorgenti del kernel

apt-get install kernel-source-2.4.19 (scarica i sorgenti del kernel scelto e li mette in /usr/scr)
cd /usr/src (spostiamoci nella directory di destinazione dei sorgenti)
tar jxvf kernel-source-2.4.19.tar.bz2 (decomprimiamo i sorgenti)
ln -s kernel-source-2.4.19 linux (creiamo un link chiamato "linux" alla cartella appena creata
contente i sorgenti del kernel)
ls -la /boot/conf* (vediamo se è presente un file di configurazione di un kernel vecchio, possibilmente
funzionante, da cui partire a configurare/ottimizzare quello nuovo)
cp /boot/config-2.4.18-bf2.4 /usr/src/linux/.config (se presente, copiamolo nella nuova dir linux x
partire a lavorare su quello e non dover partire da zero)
apt-get install make gcc kernel-package libncurses5-dev (pacchetti necessari alla ricompilazione del
kernel)
cd /usr/src/linux
make menuconfig (selezionare i vari moduli da compilare col kernel)
make-kpkg clean (non ho mai capito che fa questo! )
make-kpkg kernel_image (ricompila il nuovo kernel)

Dentro /usr/src verrà poi creato un .deb (il nuovo kernel) pronto da installare con dpkg -i file.deb




Come creare una sorgente pacchetti "locale" (utile se avete il modem a casa e l'adsl in ufficio per scaricarvi i pacchetti)
Autore: Ah google (ehm Timewolf)

Traduco alla buona l'howto originale http://www.debian.org/doc/manuals/re...ory-howto.html

Debian permette 2 tipi di repository... uno "serio" ed uno "facile", in questa guida traduco solo quello facile...per quello serio leggetevi l'howto.

La differenza tra i due e' molto semplice: quello serio ha tutta la struttura tipica di un CD ufficiale debian, con le varie sotto dir dedicate alle varie distro (stable-unstable-testing) ed ai vari binari per le varie piattaforme, apt gestira' automaticamente quali pacchetti installare a seconda del caso.
La versione facile invece ha tutti i binari in una directory e tutti i sorgenti in un'altra, senza fare distizioni di distribuzione o piattaforma.

Vediamo come creare un semplice repository.

Prima di tutto installatevi dpkg-scanpackages (apt-get install dpkg-scanpackages)

Mettete i vostri .deb sotto la dir binary ed i sorgenti (se volete) sotto source..

Quindi... cd repository

dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz


Ora modificate il vostro sources.list cosi'.

deb file:///home/fabio/repository binary/
deb-src file:///home/fabio/repository source/

Dovrebbe tutto funzionare...non ho provato questa procedura, ho solo fatto una veloce traduzione all'howto che vi consiglio di leggere in quanto contiene molte piu' informazioni!!!
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 10-03-2004, 08:33   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
COME ATTIVARE UNA CONNESSIONE TRAMITE MODEM disponendo solo dei programmi pppd, chat, un editor di testo e i privilegi di root

Autore: ilsensine

Normalmente non avrete visogno di questa procedura, ma in caso di problemi fate una prova...

Assumo che pppd e chat si trovino in /usr/sbin, e che l'utente sappia usare un editor di testo

Creare o editare il file /etc/resolv.conf, aggiungendo l'indirizzo di uno o più dns; ad esempio:
Codice:
nameserver 193.43.2.1
nameserver 130.186.1.53
Si possono usare gli indirizzi che ho indicato, oppure gli indirizzi dei dns del proprio provider, se si conoscono.

Entrare nella directory /etc/ppp (cd /etc/ppp)
Creare il file chat-ppp0; riempirlo con queste righe:
Codice:
'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'' 'ATZ'
'OK' '\dATM0L0'
'OK' '\dATDT0643400000'
'TIMEOUT' '40'
'CONNECT' '\d\c'
Notare che:
0643400000 deve essere sostituito con il numero di telefono del provider
ATZ in alcuni modem deve essere sostituito con altre stringhe di inizializzazione, come AT&F0 o AT&F1
ATM0L0 azzera il volume del modem (usare ATM1L1 o ATM2L2 se si desidera avere un "feedback" acustico dal modem).
\d indica a chat di aspettare un secondo. \c indica a chat di non inviare un carattere di terminazione linea (può confondere alcuni provider).

Creare quindi il file /etc/ppp/pap-secrets (e/o /etc/ppp/chap-secrets se si usa l'autenticazione chap) e inserire una riga simile:
Codice:
<nome utente> * <password> *
con nome utente e password quelli del proprio account.

Creare il file options-ppp0 con le seguenti righe:
Codice:
/dev/ttyS0
57600
crtscts
defaultroute
lock
connect "/usr/sbin/chat -e -s -v -f /etc/ppp/chat-ppp0"
noauth
modem
noipdefault
user <nome utente>
Notare che:
/dev/ttyS0 deve essere sostituito con il nome della seriale a cui è connesso il modem. ttyS0 è com1, ttyS1 è com2 ecc.
57600 è la velocità della seriale; si può usare anche 115200
Se si vogliono informazioni di debug, aggiungere la riga
Codice:
debug
Le informazioni di debug possono essere seguite nei file di log (tail -f /var/log/messages sulla Mandrake)

Per attivare la connessione:
/usr/sbin/pppd file /etc/ppp/options-ppp0
Attendere circa un minuto; si può controllare lo stato della connessione eseguendo il comando ifconfig; quando viene visualizzata anche l'interfaccia ppp0, la connessione è stabilita. Se qualcosa va storto, controllare con top o ps se pppd è ancora in esecuzione.
Per chiudere la connessione:
killall -HUP pppd

Questo procedimento funziona anche su un nostro iPaq con nient'altro che pppd, chat, uno scarno ed essenziale modem gsm pcmcia e nient'altro, quindi non voglio sentire storie

Aggiornamento: questo procedimento mi ha fatto funzionare anche un modem isdn usb che la Mandrake 8.2 non riusciva a far funzionare. Il procedimento potrebbe variare da modem a modem, comunque io ho fatto così:

nel file chat-ppp0, dopo la riga con 'ATZ', ho aggiunto
Codice:
'OK' 'ATS14=3'
'OK' 'AT&Emsn;'
(dove msn va sostituito con il proprio msn; in Italia è il numero da cui si chiama, escluso il primo zero).
Non finirò mai di ringraziare uno sperduto documento della SuSe che parlava di ATS14=3.

nel file options-ppp0 ho aggiunto:
Codice:
sync
Ho inoltre cambiato la velocità a 115200, e il dispositivo con l'emulazione seriale isdn (/dev/ttyI0 nel mio caso).
Ancora non ho capito perchè la Mandrake 8.2 non riusciva a farlo funzionare..."
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 10-03-2004, 08:35   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
CONFIGURARE LINUX COME SERVER PPP
...ovvero come connettervi al vostro computer di casa tramite il telefono

Autore: ilsensine

Premetto che ho usato questo procedimento per configurare una linux box per "rispondere" a chiamate tramite un modem gsm, per consentire al mio pda aziendale di connettersi alla lan.

Cosa serve: mgetty, pppd, chat

Innanzitutto (importamte!): Verificate che il file /etc/mgetty+sendfax/login.config sia accessibile in lettura/scrittura solo all'utente root, altrimenti non funzionerà nulla!! (non si sa quanto tempo ci ho perso per capirlo...). Se siete in dubbio, eseguite
chown root.root /etc/mgetty+sendfax/login.config
chmod 600 /etc/mgetty+sendfax/login.config

passo 1: configurare /etc/mgetty+sendfax/login.config
E' semplice, il file è ben commentato, probabilmente le impostazioni di default andranno bene. Unica accortezza: verificate che sia de-commentata (=senza # iniziale) la riga
/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options-login
Se non volete consentire login diretti sulla vostra macchina, commentate (aggiungendo un # all'inizio) la riga
* - - /bin/login @

passo 2: configurare /etc/mgetty+sendfax/mgetty.config
Anche qui nulla di complicato; dovete impostare la velocità della vostra porta seriale (NON del modem) e la stringa di inizializzazione; ad es. questi sono i valori che ho usato nel mio caso:
Codice:
port ttyS1
  speed 38400
  init-chat "" \dATZQ0V1H0 OK ATS0=0Q0&C1 OK
Ovvero: il mio modem gsm è connesso alla ttyS1, ho impostato la velocità della porta a 38400 (non serve una velocità maggiore per un modem gsm, voi potete usare 57600 o 115200), e impostato una stringa di inizializzazione (la stringa potrebbe dipendere dal modem in uso, e potrebbe anche non essere necessaria. Fate delle prove, inizialmente omettendo tale stringa).
/dev/ttyS1 deve essere sostituito con il dispositivo cui è connesso il vostro modem.

passo 3: modificare /etc/inittab
Aggiungete questa riga dopo la lista dei respawn:
7:2345:respawn:/sbin/mgetty -D /dev/ttyS1
/dev/ttyS1 deve essere sostituito con il dispositivo cui è connesso il vostro modem.

passo 4: creare /etc/ppp/options-login
E' il passo più critico. Io ho utilizzato questo file:
Codice:
auth
-chap
+pap
login
debug
logfile /etc/ppp/log
lock
noipdefault
-detach
netmask 255.255.255.0
modem
xonxoff
proxyarp
ms-dns 193.43.2.1
192.168.0.135:192.168.0.137
default-asyncmap
Spiego brevemente le voci più importanti:
auth: usa autorizzazione (nel mio caso ho disabilitato chap e abilitato pap, ma non è vincolante)
debug: attiva le opzioni di debug (_vitale_ per individuare i problemi); il file di log è impostato con logfile alla riga seguente
ms-dns 193.43.2.1 (opzionale): serve a inviare l'indirizzo di un dns
192.168.0.135:192.168.0.137 indirizzo locale/indirizzo remoto assegnati dopo la connessione. Nel mio caso ho duplicato l'indirizzo locale (192.168.0.135): questo è l'indirizzo della scheda di rete del computer, ma anche l'indirizzo assegnato a ppp0 dopo la connessione. Pericoloso, ma funziona. L'altro indirizzo sarà quello assegnato al computer che si connetterà.
man pppd è il vostro amico, in caso di problemi.

passo 5: creare il file di password/accesso
Questo file è /etc/ppp/pap-secrets e/o /etc/ppp/chap-secrets, a seconda del tipo di autenticazione scelto. Basta aggiungere una riga simile:
<nome utente> * "" 192.168.0.0/24
Dove <nome utente> è il nome di un utente presente sulla macchina. La password utilizzata sarà la password di login. 192.168.0.0/24 è il range di indirizzi autorizzati.

Fatto questo, riavviate e dovreste essere in grado di connettervi alla vostra linux-box tramite chiamata telefonica, allo stesso modo in cui vi connettete ad un qualsiasi provider.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 10-03-2004, 08:35   #5
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
GIOCHIAMO CON IL RAID

Autore: ilsensine

Sì, sotto linux il raid è veramente per tutti, anche per chi...non ha dischi da mettere in raid!

Qualsiasi cosa può essere messa in raid con linux: dischi, floppy, memory card...io personalmente ho messo in raid 0 due unità zip

Per giocare un pò con questo potente strumento, creiamo un raid 5 su tre partizioni del nostro computer. Come? Non avete tre partizioni? No problem, mai sentito parlare di "loopback"?

Cosa ci serve
Il pacchetto raidtools: sicuramente la vostra distribuzione lo include, cercatelo tra i cd e installatelo.
Il supporto nel kernel: qualsiasi kernel fornito dalle distribuzioni lo include già compilato
Il supporto loopback: come sopra.

Cosa vogliamo fare: creare tre partizioni "virtuali", contenute in tre file, da mettere in raid 5, formattandole con il vostro file system preferito. Potete usare questo procedimento per creare 2 o più "partizioni virtuali" da mettere in raid 1 o 5, incrementando la sicurezza dei vostri dati in caso di problemi al file system, il tutto senza creare partizioni fisiche per il raid!

Iniziamo: abbiamo bisogno di tre file vuoti. Creiamo 3 file pieni di zero:
dd if=/dev/zero of=/root/part0 bs=1048576 count=64
dd if=/dev/zero of=/root/part1 bs=1048576 count=64
dd if=/dev/zero of=/root/part2 bs=1048576 count=64
Questi comandi creano i file grandi 64 MB (potete usare la dimensione che preferite), che corrispondono a 128MB utili in raid 5.
Purtroppo questi file non sono partizioni, ma...le partizioni sono dei dispositivi a blocchi! Allora associamo un dispositivo a blocchi di tipo "loopback" per ciascuna partizione:
modprobe loop (serve per caricare il supporto loopback nel kernel - nota: alcune distribuzioni includono questo modulo staticamente nel kernel; in tal caso, questo comando non è necessario, e restituisce un errore se eseguito)
losetup /dev/loop/0 /root/part0
losetup /dev/loop/1 /root/part1
losetup /dev/loop/2 /root/part2
hint per gli astuti: con il loopback possiamo attivare la crittografia. man losetup offre tutti i dettagli.

Bene, ora abbiamo le tre partizioni: /dev/loop/0-1-2.

Creiamo quindi il file /etc/raidtab, con il seguente contenuto:
Codice:
raiddev /dev/md/0
    raid-level                5
    nr-raid-disks             3
    nr-spare-disks            0
    persistent-superblock     1
    chunk-size                4

    device                    /dev/loop/0
    raid-disk                 0
    device                    /dev/loop/1
    raid-disk                 1
    device                    /dev/loop/2
    raid-disk                 2
Abbiamo quasi finito. Carichiamo ora il supporto raid generico del kernel
modprobe md
...e il supporto per il raid 5
modprobe raid5
Come per loop, md e raid5 potrebbero essere stati compilati staticamente nel kernel, quindi non vi spaventate se viene riportato un errore.

Rimane da inizializzare il raid: mkraid /dev/md/0. Questo comando va eseguito solo questa volta; successivamente, per riattivare il raid, basterà eseguire raidstart /dev/md/0.
Ok ora /dev/md/0 è una "partizione" come tutte le altre, grande 128mb. Creiamo un file system a nostra scelta, a me piace il reiserfs ad esempio:
mkfs.reiserfs /dev/md/0
...e montiamo la partizione da qualche parte:
mount -t reiserfs /dev/md/0 /mnt/raid

that's all folks!

nb per "smontare il tutto", eseguire:
umount /mnt/raid (ovviamente)
raidstop /dev/md/0 (ferma il raid)
losetup -d /dev/loop/0 (rilascia i dispositivi loopback)
losetup -d /dev/loop/1
losetup -d /dev/loop/2

Ora che avete imparato, potete studiarvi un pò meglio con la documentazione e sperimentare tutti i tipi di raid che volete, usando dei file in loopback per simulare le partizioni.

Complicato?
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 10-03-2004, 08:37   #6
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
COMPILARE IL KERNEL

Autore: AnonimoVeneziano

Perchè dovremmo volere COMPILARE UN KERNEL?

Bhe, solitamente i kernel delle Distribuzioni + famose inglobano gran parte dei supporti disponibili per il più gran numero di periferiche possibile.In poche parole distro come RedHat creano kernel di dimensione anke 3Mb che sono pesantissimi , occupano tanta memoria ma hanno il supporto un po' per tutto, tutte le schede audio , tutte le schede di rete etc... perchè appunto la RedHat o la Mandrake o la Debian non su quale Hardware il proprio utente installerà la Distro.Soprattutto in distro come RedHat o mandrake dove l'utente medio è l'utente appena sfornato da Windows è necessario che il kernel compilato dal produttore sia il più statico possibile in modo da poter evitare all' utente anke il compito di caricare i moduli che gli servono. (Debian risolve questo problema infischiandosene e dando all' utente invece questo compito durante l'installazione ottenedo perchiò un kernel standard più leggero) questo comporta he il kernel è lento e pesante e fa + fatica a girare su macchine un po' + datate o con poca memoria (RedHat 8 fa un po' di fatica a girare di defaut con 64 Mb di mem, merito anke di Blue Curve), allora ricompilando il kernel si ottiene un kernel + adatto alle proprie esigenze , e più leggero.
Un altro motivo è l'uscita di una nuova versione del Kernel che potrebbe introdurre nuove features al quale l'utente è interessato, e comunque l'aggiornamento del kernel è sempre una buona Operazione.

Nozioni di Base:

COS'E' UN MODULO CARICABILE?

I cosìddetti LOADBLE MODULES sono particolare modi di concepire il kernel.Quando linux nacque non si necessitava di MODULI, i supporti alle varie periferiche erano poche e si potevano integrare tutte tranquillamente nel kernel, con l'avvento delle nuove periferiche e di un ampliazione del supporto l'utente potrebbe volere il supporto a un gran numero di periferiche , ma che non usa sempre, che anzi potrebbe usare sporadicamente, il quale supporto verrebbe comunque caricato ad ogni avvio perchè facente parte integrante del kernel occupando memoria.Allora vennero introdotti i MODULI CARICABILI , ovvero , se si compila un supporto ad una certa periferica come modulo , ad esempio il supporto al CDROM , questo non verrà compilato nel kernel stesso , ma in un file a parte *.o (nel caso del cdrom questo sarà "cdrom.o").All' avvio del kernel quindi non viene caricato il supporto al CDROM che non potremo quindi usare , per poterlo usare dovremo caricare il modulo relativo al CDROM usando ad esempio "modprobe" che carica i moduli all' interno del kernel space (l'area di memoria dove risiede il KERNEL) facendo diventare quindi i dati contenuti nel modulo parte integrante del kernel e aggiungendone quindi il supporto.

I MODULI NON SONO MENO PERFORMANTI DELLA COMPILAZIONE INTEGRATA NEL KERNEL quindi se ne può fare un abuso , se una cosa è compilabile sia come modulo che come statica è quasi sempre meglio compilarla come modulo per poterla controllare.

COS'E' UN KERNEL MONOLITICO?

Ci sono due diverse interpretazione di kernel monolitico , una è quella che lo vede contrapposto al MICROKERNEL ( ma non ci interessa ) l' altra è quella all' interno del kernel linux (che tra MICROKERNEL e MONOLITICO è monolitico tanto per la cronaca) che è la differenza tra kernel monolitico e modulare.Si parla di KERNEL COMPILATO MONOLITICAMENTE quando si è compilato il kernel senza avvalersi dei moduli

COS'E' UN KERNEL MODULARE?

E' un kernel compilato con il supporto ai moduli.

Parte pratica :

Cosa ci serve?

Per compilare il Kernel ci serve un compilatore (GCC) il make , automake e autoconf . Ovviamente dovremo anke ottenere una copia dei sorgenti del kernel da www.kernel.org oppure dal sito del produttore della nostra distribuzione che solitamente forniscono kernel leggermente diversi rispetto a quello originale.

Scaricate il kernel (piccola nota , scaricate solo i kernel con il secondo numero PARI , tipo 2.4.19 , quelli con il secondo numero DISPARI ,tipo 2.5.40 sono considerati kernel di sviluppo e quindi potenzialmente instabili, anzi, molte volte manko si compilano), piazzatelo nella cartella /usr/src e decomprimetelo con tar.

tar xvzf nomepacchetto.tar.gz (se compresso con gzip)

tar xvjf nome pacchetto.tar.bz2 (se compresso con bzip2)

Si crerà una cartella chiamata non so come (cambia a seconda del kernel) fate un link simbolico alla cartella che si chiami "linux" con "ln -s nome_cartella_kernel linux" Questo comando crea appunto un link simbolico alla cartella dei sorgenti di nome linux.

Entriamo nella cartella con "cd linux"

Ora iniziamo la configurazione, ovvero la determinazione di quali supporti inserire nel kernel o come moduli ( e quindi la determinazioni di quali periferiche vorremo usare o quali features usare)
PICCOLO APPUNTO , SE E' LA PRIMA VOLTA CHE COMPILATE IL KERNEL VI CONSIGLIO DI CARICARE LA CONFIGURAZIONE DEL VOSTRO KERNEL ATTUALE E MAGARI DI MODIFICARLA IN MODO DA TOGLIERE IL SUPPORTO A PERIFERICHE CHE NON VI SERVONO, OPPURE SE NON CI CAPITE PROPRIO NULLA LASCIARLO COSI' COM'E' E PROVARE A COMPILARE per fare ciò usate la seguente procedura: In /boot ci sarà un file tipo "config-2.4.18-xxx-xx" questo file contiene la configurazione usata per il kernel di default, copiare questo file con "cp /boot/config-2.4.18-xyz /usr/src/linux/.config" fatto ciò avrete caricato la vostra vecchia configurazione. a questo punto potete o provare a configurare partendo da questa configurazione come base invece che da zero (togliendo quindi le varie cose che non vi servono , perchè da aggiungere solitamente c'è molto poco) oppure compilare direttamente, saltando la sezione CONFIGURAZIONE, se decidete di tentare di configurate togliete solo i supporti alle cose che siete sicuri non userete , tipo il supporto alle schede PCMCIA se non avete un supporto di tale genere

Per iniziare la config scrivete "make config" per il tools testuale, se volete qualcosa di più grafico (consigliabile) "make menuconfig" , necessiterete però delle librerie ncurses , se avete X è consigliabile usare "make xconfig" ma necessiterete delle librerie tcltk.
Ecco quindi che iniziamo a configurare il kernel.Da qui in poi io parlerò come se aveste usato make menuconfig o xconfig.

Vi parlerò dei supporti da attivare genericamente e delle dritte per certi supporti che potreste avere o no:

Attivate il supporto ai drivers e supporti in sviluppo in Code maturity level options

Attivate il supporto ai moduli per un kernel modulare(quindi tutte e tre le voci ) in Loadable module support

Attivate in Processor type and features MTRR support , Intel Microcode , Model-specific register support , Machine Check Exception e scegliete la Processor Family che più si adatta alla vostra.

In General setup disabilitate il supporto alle PCMCIA (se non le usate) , abilitate BSD Process Accounting , abilitate come moduli o integrati il supporto ai binari a.out e MISC , lasciate il kernel in formato ELF, abilitate poi se vi aggrada il supporto a ACPI o APM.

Potete abilitare il supporto alle porte parallele in Parallel port setup

Il supporto al plug and play in Plug and Play configuration

In block devices il supporto al floppy e ai vecchi HD.

Supporto al RAID in Multi-device support (RAID and LVM)

Il supporto a vari protocolli di comunicazione via rete in Networking options

L'importante supporto agli HD e device IDE in generis in ATA/IDE/MFM/RLL support se il vostro disco fisso è IDE non inserite il supporto come modulo o non partirà il PC
nella sub sezione IDE , ATA .... c'è anke il supporto all' emulazione SCSI per i masterizzatori il supporto a diversi chipset IDE e RAID.

In SCSI support si può avviare il supporto al subsistema SCSI , come dischi , CDROM etc.Per l'emulazione SCSI per i masterizzatori attivare il supporto generale SCSI come modulo o integrato e poi il supporto per i CDROM SCSI.

Saltiamo a Network device support perchè le altre sezioni sovrastanti parlano da sole , qua possiamo attivare il supporto a diversi modelli di schede di rete Ethernet oltre al supporto di diversi protocolli di comunicazione quale anke l'importate PPP (Point to Point Protocol) necessario per la navigazione internet.Quindi abilitate come modulo o integrato il supporto al PPP + bsd compression e Deflate compression, se usate adsl Ethernet PPP over Ethernet è da aggiungere.

Se avete ISDN configurate ISDN Subsection

Saltiamo a Input core support da configurare le periferiche all' interno di questa sezione se avete Mouse o Tastiere o altro USB.

Ora andiamo nell' importate Sezione Character Devices attiviamo il standard/generic serial support come inegrato o modulo , integrato nel kernel il REAL TIME CLOCK support , come modulo l' L'AGP gart , il supporto ai vari chip mobo (VIA, INTEL etc...) ai moduli DRI per il Direct Rendering Infrastructure e quindi l'accellerazione 3d delle skede video non Nvidia.
ATTENZIONE, NON DISABILITATE VIRTUAL TERMINAL O NON RIUSCIRETE AD ACCEDERE ALLA VOSTRA LINUX BOX SE NON TRAMITE UN TERMINALE

Saltiamo all' importante sezione FIle Systemsqua dovremo inserire il supporto ai vari file system che vogliamo usare. IMPORTANTISSIMO CHE IL SUPPORTO AL FILE SYSTEM DI ROOT SIA INTEGRATO NEL KERNEL E NON COME MODULO, quindi se il nostro file system / è ReiserFS ad esempio dovremo inserire il supporto come statico e non come modulo , poichè dato che i moduli si trovano sul File system di root è improbabile che il kernel li vada a cercare senza il supporto , inseriamo poi il supporto a tutti gli altri file system che vogliamo usare, inseriamo il supporto al /proc file system, /dev (bisognerà installare DEVFSD, se non sapete che sia evitate di inserirlo) in caso non abbiate abilitato /dev abilitate il supporto a /dev/pts.Poi il supporto al Virtual Memory Filesystem (SWAP) e all' ISO9660 (CDROM).

In Console Drivers spuntiamo Video mode selection support e poi entriamo nella sub sezione (SE NON SAPETE COSA SIA FRAME BUFFER SALTATE QUESTA PARTE, oppure leggete la documentazione))Frame-buffer support attiviamo il supporto al frame buffer, poi il supporto al VESA frame buffer, o a uno della vostra scheda video , quindi radeonfb matroxfb etc... se avete una scheda Nvidia non usate rivafb, da solo problemi, usate VESA.

In Sound abilitate il supporto alla vostra scheda audio come modulo possibilmente.

In USB support Abilitate il supporto all' USB e alle periferiche USB che possedete (tastiere , mouse, Joysticks , scanners , stampanti.....)

Le seguenti sezioni se non sapete cosa sono lasciatele perdere.

Il segreto è quindi abilitare ciò che ci serve (supporto a schede che abbiamo o a features che ci servono) e togliere possibilmente quello che non necessitiamo, ma attenzione, togliete solo ciò di cui siete sicuri, se una cosa vi potrebbe sembrare una cosa ma non siete sicuri non disabilitatela

Ora salviamo e usciamo con Save and Exit in xconfig ,in menuconfig invece scegliamo exit e ci chiederà lui se vogliamo salvare.


FINITA LA CONFIGURAZIONE , ora dobbiamo compilare tramite i seguenti comandi:

make clean (pulisce i sorgenti dalle zozzerie in modo da avere un kernel pulito che non ci darà problemi nella compilazione, non sarebbe necessario se non abbiamo mai compilato il kernel da quei sorgenti, ma ormai è diventato una convenzione)

make dep (controlla il file di configurazione determinando quali saranno i file sorgenti da compilare e quali no a seconda di cosa abbiamo scelto durante la configurazione e se questi sono da compilare staticamente o come moduli)

make bzImage (questo comando inizia la vera e propria compilazione del kernel, con questo comando verrà creata l'immagine del kernel (quella statica, quindi i vari supporti ai moduli qui non vengono compilati) che verrà lanciata all' avvio dal boot loader)

make modules (durante questo passaggio avviene la compilazione dei moduli e la creazione quindi dei relativi files *.o)

make modules_install (copia i moduli dove di dovere , ovvero nella directory /lib/modules/[versione_kernel])

make install (questo comando copia l'immagine del kernel nella cartella /boot , poi modifica il file /etc/lilo.conf in modo da caricare il nuovo kernel al posto del precedente, se avete grub dovrete modificare manualmente il file di configurazione (almeno, mi sembra che modifichi anke il /etc/lilo.conf , non uso + questa procedura da un bel po' da quando ho debian) )

lilo (aggiorna il boot loader lilo secondo le nuove impostazioni del file /etc/lilo.conf per caricare il nuovo kernel)

grub (idem con patate come per lilo, solo che qua la procedura è entrare nel setup di grub appunto scrivendo "grub" da console come root, poi (presumendo che la partizione di root di linux sia la prima partizione del primo disco e che sempre sul MBR del primo disco vogliate installare il bootloader scrivete : "root (hd0,0) [Invio] setup (hd0) [Invio] quit [invio]" anke grub è installato)

il kernel è a questo punto installato e potete riavviare, al riavvio dovrete caricare i moduli per le varie periferiche oppure le features che avete deciso di compilare con modprobe , e magari di modificare il file /etc/modules o /etc/modules.autoload determinando al suo interno i nomi dei moduli da caricare all' avvio.

PER LA DEBIAN :

Installare il pacchetto KERNEL-PACKAGE (apt-get install kernel-package) sempre i tools di compilazione , inoltre libncurses5 , libncurses5-dev per il menuconfig o tk8.4 per xconfig (apt-get install libncurses5 libncurses5-dev tk8.4) andare nei sorgenti del kernel , configurare come descritto sopra, poi eseguire il comando :

make-kpkg clean (pulisce i sorgenti del kernel come make clean)

make-kpkg kernel_image (crea un pacchetto .deb comprendete il kernel appena compilato con i moduli ank essi appena compilati durante la procedura.)

a questo punto fate cd .. per tornare in /usr/src, il pacchetto dell' immagine del kernel sarà un qualcosa tipo "kernel-image-2.4.19-10+0+0.Custom.....deb" insomma un file del genere , non lo si può mancare, basta installarlo con :

dpkg -i nome_immagine_kernel.deb e riavviare il sistema


A questo punto anke per la debian il kernel è installato.



ATTENZIONE, LA COMPILAZIONE DEL KERNEL è UNA PROCEDURA CHE PUO' ANKE IMPEDIRE AL COMPUTER DI RICARICARSI ALL' AVVIO, E' CONSIGLIABILE STARCI ATTENTI E FARE UN BACKUP DEI DATI SE NON SI E' SICURI. IO NON MI ASSUMO NESSUNA RESPONSABILITA' SULLE VOSTRE AZIONI.

Ciao

Nota: COME APPLICARE UNA PATCH AI SORGENTI DEL KERNEL
Una patch contiene le differenze tra i file di due versioni diverse del kernel. Sono un utile metodo per passare da una versione alla successiva, senza doversi riscaricare l'intero tarball dei sorgenti, oppure per aggiungere funzionalità specifiche, o per passare dal ramo "ufficiale" al ramo mantenuto da altri, quali Alan Cox, Russel King, Andrea Arcangeli ecc.
Normalmente una patch deve essere applicata a una versione _specifica_ del kernel; a meno di casi semplici, l'applicazione fallirà se fatta su un kernel diverso da quello indicato. Qui potete trovare le patch per passare a due versioni successive del ramo stabile; ad es. per passare dal kernel 2.4.18 al 2.4.19 dovrete utilizzare, sul 2.4.18, il file patch-2.4.19.bz2 oppure .gz. Da notare che il kernel 2.4.18 deve essere quello "ufficiale" (chiamato anche "vanilla") distribuito da kernel.org, non quello (modificato) trovato nelle distribuzioni. Altro caso notevole è passare, da un kernel ufficiale, alla prerelease del kernel successivo: qui potete trovare le patch necessarie (da applicare alla versione _stabile_ precedente), qui le patch incrementali, da applicare alla _prerelease_ precedente.
Come dicevo, esistono patch che consentono di passare dal ramo ufficiale al ramo di altri mantainer; generalmente devono essere applicate o al kernel "vanilla" cui si riferiscono, o a una sua prerelease. Normalmente è chiaro dal contesto come procedere: ad esempio se vogliamo ottenere il kernel 2.4.21-pre3-ac5, dovremo prima patchare il kernel 2.4.20 per passare al 2.4.21-pre3, quindi applicare la patch per passare dal 2.4.21-pre3 al 2.4.21-pre3-ac5. A titolo informativo, qui potete trovare le patch per i rami di diversi mantainer.

Come applicare una patch: da console, entrate nella directory contenente i sorgenti del vostro kernel (normalmente /usr/src/linux, o qualsiasi altra posizione scegliate) ed eseguite il comando:
bzcat /path/al/file/patch.bz2 | patch -p1
oppure
zcat /path/al/file/patch.gz | patch -p1
a seconda del formato di compressione della patch in vostro possesso. E' possibile anche "invertire" il processo di patch, aggiungendo l'opzione -R al comando patch.
-- ilsensine
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 10-03-2004, 08:39   #7
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
ENCODING VIDEO CON LINUX

Autore: riaw

La guida, essendo lunghetta, è consultabile online qui.

Qui potete seguire una discusione sull'argomento.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 10-05-2004, 10:13   #8
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
OpenVPN mini HOWTO
Autore: gurutech
L'howto originale può essere trovato, insieme ad altra documentazione, presso www.gurutech.it

1. Disclaimer

La creazione di una VPN può comportare l'unione di due reti. Gli amministratori delle due reti *DEVONO* essere d'accordo in questa unione.
L'impostazione di una VPN comporta sempre una revisione delle tabelle di routing, e quindi va a toccare l'essenza delle comunicazioni che avvengono tra una rete privata ed internet, pertanto bisogna andarci con i piedi di piombo.
Inoltre, la crittografia sul traffico vi mette al riparo da sguardi malintenzionati sui vostri dati, ma *NON* è infallibile.
Detto questo: NE IO NE CHIUNQUE ABBIA PARTECIPATO A QUESTO DOCUMENTO PUO' ESSERE RITENUTO RESPONSABILE DI QUALSIASI DANNO EFFETTUATI IN SEGUITO ALLA LETTURA DELLO STESSO.


2. Prerequisiti

Conoscenza dei protocolli di rete
per Linux:
kernel 2.4.x con modulo tun
saper caricare/scaricare un modulo ed eventualmente ricompilare il kernel
saper gestire un firewall con iptables ove necessario
per Windows: Windows 2000/XP
un indirizzo ip pubblico (dinamico o statico)

3. Installazione
Non mi dilungherò troppo sulla compilazione da codice sorgente. L'unica attenzione è avere i pacchetti di sviluppo delle librerie di compressione lzo e openssl. Ad ogni modo ho preparato un pacchetto precompilato per debian, apt-gettabile includendo in sources.list


deb http://www.gurutech.it/ debs/

Il programma è veramente semplice, ed è composto dal solo eseguibile /usr/sbin/openvpn.
Innanzitutto è assolutamente necessario avere inserito nel kernel il modulo tun (modprobe tun) per il quale riporto letteralmente l'help in linea del kernel:

Quote:
TUN/TAP provides packet reception and transmission for user space
programs. It can be viewed as a simple Point-to-Point or Ethernet
device, which instead of receiving packets from a physical media,
receives them from user space program and instead of sending packets
via physical media writes them to the user space program.

When a program opens /dev/net/tun, driver creates and registers
corresponding net device tunX or tapX. After a program closed above
devices, driver will automatically delete tunXX or tapXX device and
all routes corresponding to it.

Please read Documentation/networking/tuntap.txt for more
information.
Per cui bisogna anche preoccuparsi della presenza del device node /dev/net/tun; Nel caso non esista, può essere creato con

mknod /dev/net/tun c 10 200
Da notare che se la vostra distribuzione usa il devfs, il device node verrà automaticamente creato al caricamento del modulo tun.

A questo punto siamo pronti ad impostare la VPN. Non c'è una struttura rigida server/client, ma ad ogni modo uno dei due capi del tunnel va impostato per primo e messo in ascolto (quindi dovrà avere un ip pubblico se la vpn si appoggia su internet), mentre l'altro va creato successivamente ed avrà il ruolo di chiamante.
Giusto per fare ordine, creiamo la directory /etc/openvpn dove metteremo il file di configurazione e l'importantissima chiave. Cominciamo proprio dalla generazione di quest'ultima con il comando

openvpn --genkey --secret /etc/openvpn/key

dal quale dovremo ottenere un file dal contenuto simile a questo:
Quote:
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
45b417076e22d94d603c478a772c85cb
e9bba7163f78796f881eea0463cd54b2
06e44952d50455840679f4630793682d
96788c8e42268125b3d1c1b1787adce9
11681bf9a16d5daddc0572d2fb19c574
c51697805fbfc6a0e6e4427affe55a9d
7f84898b369138fc504b70d7a37ccc7f
02300d9ec0693fda54bf6d4cd340dddf
5f626e9f0ba59a7421b477ccc28b68bc
7c5cf4bc4c8dde0285d3984e7301ed8e
f97d37123670cc0d81d4d9f7a0a1f26e
278d6566cdd598c7c0b5582e65ba01cf
638b331aea3af5dbef6dd15f7ed19d1a
a3654391b9f8088aa8b18055a1c9b112
2aa44adbe48f6bac37ec331df9c32698
3c9067017763544d011d4e437b65b97a
-----END OpenVPN Static key V1-----
Passiamo ora al file di configurazione vero e proprio, che chiameremo /etc/openvpn/config.ovpn giusto per stare in linea con quello che viene creato sotto windows. Con il nostro editor preferito scriviamo:

Quote:
dev tap
secret /etc/openvpn/key
ping 10
verb 1
mute 10
ifconfig 10.0.1.1 255.255.255.252
lport 5002
Adesso possiamo far partire il programma con

openvpn --config /etc/openvpn/config.ovpn --log-append /var/log/openvpn.log --daemon

(se omettiamo le opzioni log-append e daemon vedremo a video l'output del programma)
Questo aprirà la porta UDP 5002 e starà in attesa di essere chiamato su un qualsiasi indirizzo IP disponibile da una macchina con una chiave valida.
Sulla macchina chiamante, in questo esempio un PC con windows, dopo aver installato openvpn-1.5.0-install.exe con le impostazioni di default, e avergli fatto installare il servizio OpenVPN, creiamo

Quote:
remote the.ip.public.address
rport 5002
dev tap
ifconfig 10.0.1.2 255.255.255.252
secret c:\programmi\openvpn\config\key
ping 10
verb 1
mute 10
route-gateway 10.0.1.1
redirect-gateway
dove al posto di the.ip.public.address va messo l'indirizzo ip pubblico della macchina in ascolto.
Da notare che le impostazioni

Quote:
route-gateway 10.0.1.1
redirect-gateway
fanno si che il gateway di default con cui la macchina windows si è connessa ad internet venga sostituito dall'indirizzo della macchina linux dall'altro capo della VPN, cosa che nel mio caso era vitale visto che quest'ultima conteneva circa 700 route importate via BGP.
Prima di far partire il tutto dobbiamo copiare la chiave che c'è sul server nella directory c:\programmi\openvpn\config\ in un modo *SICURO* (perciò no email o simili, piuttosto il caro vecchio dischetto trasportato da persona fidata, cioè te stesso).
Adesso possiamo far partire "OpenVPN Service" nei servizi di windows 2000/XP e provare a pingare 10.0.1.1. Se inoltre alla macchina linux c'è attaccata un'altra rete privata, ad esempio una classica 192.168.0.x, saremo automaticamente in grado di pingare un qualsiasi ip di questa a patto di aver configurato l'ip forwarding (mi raccomando, NON il MASQUERADE!) sulla macchina linux.


4. Licenza/License
Copyright (c) 2002 Gianluca Mascolo
è garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i termini della Licenza per Documentazione Libera GNU, Versione 1.1 o ogni versione successiva pubblicata dalla Free Software Foundation; con la possibilità di modificare qualsiasi sezione. Una copia della licenza può essere trovata qui (italiano) or you can found GNU FDL here (english)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12

Ultima modifica di ilsensine : 10-05-2004 alle 10:20.
ilsensine è offline  
Old 03-06-2004, 21:17   #9
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Debian net-install HOWTO

Autore: moly82

La guida è consultabile qui:
http://blucerchiato.altervista.org/d...tall_howto.htm
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 23-08-2004, 11:30   #10
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Installazione driver per il modem Speedtouch USB

Autore: uovobw

I Dirver che sono in giro per la rete si basano tutti sul lavoro di Benoit Papillaut, sono driver in unsermode ma permettono lo stesso di ottenere ottime prestazioni senza dover ricompilare il kernel.

La procedura di installazione di questi driver è alquanto complessa e non certo intuitiva.
Steve Parker, uno sviluppatore della SourceForce, ha scritto allora questo SpeedTouchConf (la cui versione segue la data di rilascio) che altro non è se non uno script che automatizza l'installazione e permette di configurare tutta la connessione in modo semplice e intuitivo.

I driver dalla versione del 10 giugno 2004 hanno anche una traduzione in italiano.

Il file è reperibile presso:
http://sourceforge.net/project/showf...ckage_id=67049

Il file si presenta sotto forma di un archivio compresso, che, una volta estratto con tar -xvf[z/j] (z se è un tar.gz oppure j se è un bz2) contiene il file speedtouchconf.sh.

Questo è lo script che è necessario lanciare da root dopo aver dato un comando per cambiare i permessi:

chmod 744 speedtouchconf.sh

in modo da poter eseguire lo script.

Il processo di sincronizzazione di un modem ADSL si basa su un microcodice, che è un piccolo file di circa 500k, eseguibile, che ha il compito di sincronizzare il modem al suo gemello nella centralina telefonica.

Purtroppo per ragioni di copyright non è possibile includere il file, ed è necessario che lo troviate da soli. In ogni caso a questo link è presente una brevissima guida in inglese per ottenere il file:

http://cosmos.oninetspeed.pt/jose.be...et_mgmt_o.html

A questo punto, quando abbiamo il microcode, lo mettiamo nella stessa cartella dello script e lanciamo lo script stesso (da utente root) con un comando del tipo:

./speedtouchconf.sh

A questo punto, se il sistema soddisfa tutti i requisiti, ma nelle ultime distro la cosa è certa, basta seguire le informazioni a video per installare, configurare e connettersi.

Buona navigazione.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 04-05-2005, 11:07   #11
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Guida per una buona configurazione di sshd

Autore: HexDEF6

La guida è presente in questo thread:
http://www.hwupgrade.it/forum/showthread.php?t=920471
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 30-05-2005, 09:09   #12
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Postfix, Fetchmail, Procmail,Spamassassin, Solid-pop3d e Mutt

Autore: PiloZ
Thread originale: http://www.hwupgrade.it/forum/showthread.php?t=944062
Formato pdf: http://www.piloz.it/index.php?page=download



# premessa:

Cercherò di raccogliere i passi base per poter gestire le mail sul pc usando Debian GNU/Linux. Tutto sarà basato su 6 programmi principali dove ognuno avrà un suo scopo e una sua funzionalità. Questa mini guida vuole semplicemente essere una bozza on line del risultato del mio apprendimento usando Mutt da 1 mese e 10 girni, dopo svariate ricerche di documentazione tramite google, sfogliando la mailing list di Debian-Italian e per finire consultando e confrontandomi con amici sul canale #linux-world sul server irc.ircland.org (colgo l'occasione per salutarli/ringraziarli).

Scendendo più sul dettaglio la posta sarà così strutturata:
postfix invierà le mail, fetchmail scaricherà la posta di uno o più account di posta esterni, procmail penserà a smistarla in locale in formato mbox dopo averla passata a spamassassin per il controllo sullo spam, solid-pop3d farà da server pop3 ed infine mutt essendo un client non farà altro che visualizzarla.
si parte:

# postfix - MTA (Mail Transfer Agent) program

Postfix e Qmail sono i due MTA più usati su linux, il primo risulta sicuramente semplice e più facile da configurare mentre il secondo ha come scopo principale la sicurezza, pertanto è più complesso e più articolato nella configurazione iniziale. Da dire comunque che postfix non tralascia comunque la sicurezza.
Si installa l'occorrente:

$apt-get install postfix

il file di configurazione sul quale bisogna metter mano è /etc/postfix/main.cf , apritelo con un editor ed iniziate ad editarlo

Codice:
# I M P O S T A Z I O N I

# Banner di connessione del demone smtp
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU Linux)

# Usare o no il servizio locale biff per la notifica dell'arrivo di nuove mail
biff = no

append_dot_mydomain = no

# Il nome del server di posta, se usate dyndns, no-ip o un altro servizio di aggiornamento
# del vostro ip dinamico inserite l'host completo.
myhostname = pinco_pallino.homelinux.org

# Il nome del dominio locale
mydomain = pinco_pallino.homelinux.org

# I domini locali per i quali si riceve la posta
mydestination = $myhostname, localhost.$mydomain, $mydomain

# Dominio di partenza delle e-mail
myorigin = $myhostname

# Interfacce in ascolto per la riccezione della posta
inet_interfaces = all

# Host al quale si consegna la posta in uscita per la consegna
# Sever smpt del vostro ISP.
relayhost = mail.tin.it

# rete a cui appartengono gli host locali che devono usare postfix
# mynetworks = 127.0.0.1/32, 192.168.1.1/24

# i client che possono usare il server smtp (class, subnet, host)
# sostituisce l'impostazione mynetworks commentata poco sopra.
mynetworks_style = host

# Tabella degli alias
alias_maps = hash:/etc/aliases

# Database degli alias da creare tramite il tool newaliases
alias_database = hash:/etc/aliases

# Tipo di mailbox da usare
home_mailbox = Mailbox
mail_spool_directory = /var/spool/mail

# Programma che si occiperà di consegnare la posta in locale
mailbox_command = /usr/bin/procmail

# Utente che esegue tutti i processi di postfix
mail_owner = postfix

# Restrizione sui collegamenti al server
smtpd_helo_restriction = reject_invalid_hostname, reject_unknown_hostname

# verifica dell'esistenza degli utenti
disable_vrfy_command = yes
Inizializzare il database degli alias

$newaliases

Avviare il server smtp con:

$/etc/init.d/postfix start

e provate subito una connessione telnet alla porta 25, se il server è attivo e ben configurato dovreste riuscire ad inviare una mail.
In caso contrario consiglio di analizzare il file di log /var/log/syslog e di dare un occhiata a questo link: Postfix Configuration Parameters .

# fetchmail - fetch mail from a POP, IMAP etc.

Fetchmail è un importante utility che permette di scaricare la posta da account remoti "flushandola" nel pc locale.
Supporta svariati protocolli: POP2, POP3, APOP, RPOP, KPOP, IMAP2bis, IMAP4, IMAP4-K4, IMAP-GSS, ESMPT e ETRN.

$apt-get install fetchmail

La configurazione di uno o più account di posta viene fatta tramite il file /etc/fetchmailrc che deve essere presente e ben configurato.
Supponiamo che l'utente ipoteticamente chiamato pinco sia in possesso di due account di posta esterni, uno residente sui server tin.it e l'altro su gmail e in più voglia anche scaricare le mail del dominio puramente inventato pinco@pinco_pallino.homelinux.org .
Dopo aver creato il file /etc/fetchmailrc si vanno ad impostare i vari parametri che lo regolano.


$touch /etc/fetchmailrc

$vim /etc/fetchmailrc

Codice:
# I M P O S T A Z I O N I
# poll (inizializza la connessione al server e imposta il tempo di attesa di connessione)
# proto (tipo di protocollo da usare)
# authenticate (tipo di autenticazione)
# user (nome utente per l'autenticazione)
# password (password per l'autenticazione)
# mda (mail delivery agent al quale passare la posta)
# is user here options (utente al quale destinare la posta più eventuali opzioni)

# ACCOUNT TIN.IT
poll box.tin.it timeout 60
proto POP3
authenticate password
user "pinco@tin.it"
password "xxxxxxx"
mda '/usr/bin/procmail -d %T' 
is pinco here options keep

# ACCOUNT GMAIL
poll pop.gmail.com timeout 60
proto POP3 port 995
user "pinco@gmail.com"
password "xxxxxxx"
mda '/usr/bin/procmail -d %T' 
is pinco here options keep flush no rewrite stripcr ssl

# ACCOUNT DYNDNS
poll localhost
proto POP3
user "pinco"
password "xxxxxxx"
mda '/usr/bin/procmail -d %T' 
is pinco here

# OPZIONI
# keep Tale opzione serve a non fare cancellare i messaggi sul server
# fetchall serve a scaricare anche i messaggi vecchi e non solo quelli non letti
Uno sguardo ora al file di init.d /etc/init.d/fetchmail che permetterà l'avvio automatico di fetchmail ogni qual volta si accende il pc:

Si prenda spunto da questo file FETCHMAIL .

# procmail - mail processor

Procmail non fa altro che regolare tutte le mail ricevute smistandole e filtrandole in locale, altrimenti rimarrebbe tutto in /var/spool/mail.
Si procede ad installarlo:

$apt-get install procmail

La configurazione ho voluto basarla su più file solo al fine di rendere la gestione più chiara.
Il file principale è /etc/procmailrc che stando in /etc/ rimane valido per qualsiasi utente presente sul pc. Ovvio che se il file non esiste va creato a mano tramite il comando touch. Ecco come andrebbe configurato:

Codice:
# Assicurarsi che la directory esista perche' le email finiranno qui.
MAILDIR=$HOME/Mail

# mailbox di default per le email in entrata.
#Finiscono quì tutte le mail non sono elaborate o non hanno rispecchiato le regole impostate.
# Se non si definisce le email finiranno in /var/spool/mail/nomeutente.
DEFAULT=$MAILDIR/Inbox

# directory dei file che avranno le regole
PMDIR = $MAILDIR/.Pm
PMSRC = $PMDIR

# gestione dei log
VERBOSE=no # impostare a no dopo il debug (yes | no)
LOGABSTRACT = no # produce log MOLTO estesi, impostare a no in seguito (all | no)
LOGFILE=$MAILDIR/.Pm/procmail.log # file di log

# varie
LOCKFILE=$HOME/Mail/.Pm/lockmail
MONAT=`date +%b-%Y`
SHELL=/bin/sh
PATH=$HOME/bin:/bin:/usr/bin:/usr/local/bin
DATE = `date +%B-%Y`

# file con le regole aggiuntivi, andranno letti nello stesso ordine come indicati sotto
1.regole generali. 2.controlli sullo spam. 3.regole di filtraggio.
INCLUDERC = $PMDIR/generale.rc
INCLUDERC = $PMDIR/spam.rc
INCLUDERC = $PMDIR/rules.rc
Si creano ora 2 cartelle: la prima molto importante chiamata "Mail" che starà nella $HOME directory (home di pinco nell'esempio) ed essa dovrà contenere tutte le mail nei vari file mailbox; la seconda chiamata ".Pm" che avrà i file di configurazione secondari di procmail con i dentro indicati i criteri e le regole al quale le mail saranno sottoposte per essere destinate in una mailbox anzichè un'altra.

$mkdir /home/pinco/Mail
$mkdir /home/pinco/Mail/.Pm
$touch /home/pinco/Mail/.Pm/generale.rc
$touch /home/pinco/Mail/.Pm/spam.rc
$touch /home/pinco/Mail/.Pm/rules.rc

di seguito i link a generale.rc, spam.rc e rules.rc . Modificateli secondo le vostre esigenze. I file sono puramente indicativi. generale.rc, spam.rc , rules.rc .

# spamassassin - Open-Source Spam Filter

Spamassassin non è altro che un programma che analizza tutte le mail indistintamente in ingresso (consegnategli da procmail) per identificare se vi è dello spam.
Il suo compito è quello di assegnargli un livello di spam (vedi required_score nel file di configurazione) e se questo livello supera il 5 come predefinito, verrà allora considerato spam, marcherà l'email e la disporà in una mailbox predefinita indicata in spam.rc.
Prima cosa da fare è installarlo:

$apt-get install spamassassin spamc razor

La configurazione è abbastanza intuitiva ed è gestita su un unico file che è: /etc/spamassassin/local.cf dunque apriamolo con un editor per configurarlo a nostro piacimento:

Codice:
# Imposta il punteggio che deve raggiungere la mail per essere considerato spam, più è tendente a "0" e più il filtro è aggressivo.
required_score 5.0

# Testo da aggiungere al subject delle e-mail identificate spam
rewrite_header Subject *****SPAM*****

# Se report_safe è impostato a "1", i messaggi ritenuti spam verranno allegati come file
report_safe 0

# Filtro Bayesiano
use_bayes 1

# Auto-apprendimento di filtro
auto_learn 1

# Controllo sulle RBL, se già l'isp che offre la mail fa questo, impostarloa "1" altrimenti a "0"
skip_rbl_checks 0

# Uso razor (certo!)
use_razor2 1

# File di configurazione di razor (controllatene l'esistenza)
razor_config /etc/razor/razor-agent.conf

# Tempo di time-out di razor
razor_timeout 10

# Controllo sul dns
dns_available yes

# Lingue da non considerare potenzialmente spam
ok_languages it

# Domini dal quale le mail NON verranno considerata spam
whitelist_from *@gmail.com
whitelist_from debian-italian@lists.debian.org

# Domini dal quale TUTTE le mail verranno considerata spam
# http://www.spam-blockers.com/SPAM-blacklists.htm
blacklist_from emailbusiness@email.it
rendiamolo funzionale cambiando il valore di default 0 su 1 nel file /etc/default/spamassassin
Codice:
...
# Change to one to enable spamd
ENABLED=1
...
Avviamo il demone spamd :
$/etc/init.d/spamassassin start

Ecco cosa succede l'header delle mail :
Codice:
mail sottoposta a controllo da spamassassin senza presenza di spam:
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27)
X-Spam-Level: ****
X-Spam-Status: No, score=4.4 required=5.0
mail sottoposta a controllo da spamassassin e ritenuta spam:
Codice:
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27)
X-Spam-Level: *********
X-Spam-Status: Yes, score=9 required=5.0
Andando a rivedere le prime righe del file spam.rc di procmail, si nota che tutte le mail passano per spamassassin
Codice:
:0fw:
| spamassassin
se nell'header della mail X-Spam-Status è impostato a Yes la mail viene filtrata nella mailbox spam, altrimenti continua il suo controllo da procmail.
Codice:
:0
* ^X-Spam-Status: Yes*
spam
# solid-pop3d - The Solid POP3 Server

Solid-pop3d che farà semplicemente da server pop3 non necessita di essere configurato, è più che sufficente per scopi casalinghi e sicuro, supporta sia mailbox che maildir a differenza di courier, virtual hosting, APOP authentication etc..
si installa ed è pronto per l'uso
$apt-get install solid-pop3d
dovrebbe avviarsi in automatico alla fine dell'installazione ma se così non fosse avviatelo subito e provate come con prostifx se funziona.

$/etc/init.d/solid-pop3d start

$nmap localhost
PORT STATE SERVICE
25/tcp open smtp (postfix)
110/tcp open pop3 (solid-pop3d)
783/tcp open hp-alarm-mgr (spamassassin)

$telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Solid POP3 server ready


in caso di problemi il file di configurazione è /etc/spop3d.conf mentre in /usr/share/doc/solid-pop3d/examples/ è presente un file di configurazione come esempio. E'sempre buona regola fare debugging tramite "$cat /var/log/syslog" .

# mutt - MUA (Mail User Agent) text-based

Reperiamo il "Materiale Occorrente" tramire la super mucca apt :P

$apt-get install mutt urlview gnupg

Vorrei premettere che il supporto in mutt di GNUPG presente in questa guida, nei file di configurazione tramite macro etc...ne permette solo la sua funzionalità. Nell'howto quindi non starò a spiegare come ottenere una chiave pubblica e privata e come configurare Privacy Guard in se stesso. Eventualmente per conoscere comandi base tramite il quale potete configurare GPG su linux vi consiglio di dare un occhiata a questo link Gpg (Gnu Privacy Guard) o una guida completa quà: Guida GnuPG .

La mia configurazione è basata su 6 file fondamentali:
.muttrc - file generale della configurazione di mutt che dovrà stare nella HOME directory;
colori_mutt - gestione colori;
alias - rubrica;
gnupg.mutt - implementazione di gpg con mutt;
mailcap - abbinamento di programmi esterni per la visualizzazione di allegati nelle mail etc;
signature - firma digitale.

# .muttrc
- il file gestisce i parametri e le regole fondamentali per invio, ricezione, risposta e tante altre opzioni.
Una volta creato il file editatelo secondo le vostre esigenze.

$touch ~/.muttrc

$vim ~/.muttrc

Si prenda spunto da questo file .MUTTRC .

Gli altri 5 file (colori_mutt, alias, gnupg.mutt, mailcap e signature) devono stare in /home/pinco/Mail/.mutt/ pertanto creiamo prima la cartella per poi customizzare i singoli file.
Si fa questo solo per evitare di avere un file di configurazione .muttrc enorme e disordinato, sicuramente meglio raggruppare altre variabili di configurazione su file a parte.

$mkdir ~/Mail/.mutt

# colori_mutt
- gestisce tutti i colori dell'interfaccia di mutt in riferimento allo sfondo, colore del testo, dei link etc.

$touch ~/Mail/.mutt/colori_mutt

$vim ~/Mail/.mutt/colori_mutt

Si prenda spunto da questo file COLORI_MUTT .

# alias
- per intenderci sarebbe la rubrica dei contatti email preferiti.

$touch ~/Mail/.mutt/alias

$vim ~/Mail/.mutt/alias

Si prenda spunto da questo file ALIAS .

# gnupg.mutt
- configurazione dei parametri in relazione all'uso di gpg con mutt.
Creiamo il file gnupg.mutt per la gestione delle chiavi pgp con mutt e apriamolo per editarlo:

$touch ~/Mail/.mutt/gnupg.mutt

$vim ~/Mail/.mutt/gnupg.mutt

Si prenda spunto da questo file GNUPG.MUTT .

# mailcap
- file di configurazione che contiene la mappa dei tipi di MIME per visualizzazioni esterne.

$touch ~/Mail/.mutt/mailcap

$vim ~/Mail/.mutt/mailcap


Si prenda spunto da questo file MAILCAP .


# signature
- firma digitale

$touch ~/Mail/.mutt/signature

$vim ~/Mail/.mutt/signature

N.B.La firma secondo netiquette deve iniziare con i caratteri "-- " (tratto,tratto,spazio)
Si prenda spunto da questo file SIGNATURE .


Consiglio inoltre di aggiungere il seguente alias in ~/.bashrc in modo che mutt vanga eseguito in modalità mailboxes invece che browser.
Codice:
alias mutt="mutt -y"
Per fare in modo che urlview precedentemente installato apra gli indirizzi internet presenti nelle mail usando firefox (nota che si deve premere ctrl+b per vedere gli url presenti) editate il file system.urlview.

$vim /etc/urlview/system.urlview

Aggiungete il seguente codice e salvate il file.
Codice:
REGEXP ((http|https|ftp|gopher):(//)?[^ <>"\t]*|www\.[-a-z0-9.]+)[^.,;\t<">\):]
COMMAND /usr/bin/nohup firefox -remote "openURL("%s", new-tab)" >/dev/null 2>&1&
# Comandi fondamentali:
m componi una nuova mail
$ aggiornare la mailbox
r rispondi ad una mail
. elenca le mailbox con nuova posta arrivata
f forwarda la mail
/ cerca testo
b rimbalza la mail
c, tab switcha da modalità browser in modalità mailboxes e viceversa
y inoltra la mail
s salva l'allegato della mail o sposta la mail di mailboxes
G controllo presenza nuova posta
v vedi allegato
ctrl+b gestisce gli url con urlview
! esegue un subcomando via shell
d cancella una mail
t flagga la mail
u disattiva la cancellazione della mail
e riedita una mail
invio legge la mail o entra in una mailboxes
a crea un alias dal mittente del messaggio
L rispondi alla mailing-list
h visualizza l'header della mail
x esce da mutt senza salvare le modifiche
ctrl+R segna la mail come già letta
q esce da mutt salvando le modifiche
p * menu MENU_PGP con le opzioni di cifratura, vedi tabella sotto per i dettagli

# PGP (e)ncrypt, (s)ign, sign (a)s, (b)oth, (i)nline, or (c)lear?
e cripta il nuovo messaggio
s firma il nuovo messaggio
a si sceglie che chiave usare per firmare il nuovo messaggio
b firma e cripta (PGP/MIME) il nuovo messaggio
i firma e cripta (in linea) il nuovo messaggio
c non cripta e non firma il messaggio (normal mode)
ctrl+F cancella la passphrase dalla memoria in caso di errata digitazione

# Leggenda attributi delle mail - (prima parte nella riga del messaggio)
N messaggio nuovo e non letto
O messaggio vecchio e non ancora letto
r messaggio con un reply
D messaggio da cancellare
! messaggio importante
* messaggio flaggato
s messaggio firmato con PGP/MIME
S firma PGP/MIME verificata con successo
P messaggio cifrato

Non resta che avviare il demone fetchmail:

$/etc/init.d/fetchmail start

dovrete avere un processo come questo:

$ps aux|grep fetchmail
/usr/bin/fetchmail -f /etc/fetchmailrc -m procmail -d %T -d 900 --syslog -i /var/mail/.fetchmail-UIDL-cache


-f /etc/fetchmailrc (file di configurazione di fetchmail attualmente in uso)
-m procmail -d %T (mda usato da fetchmail)
-d 900 (intervallo di controllo posta)
--syslog (loga tutto in /var/log/syslog)
-i /var/mail/.fetchmail-UIDL-cache (nome alternativo usato per salvare la sessione POP3)
per cambiare le opzioni rifarsi al file /etc/init.d/fetchmail o in alternativa $man fetchmail.

# Credits

Altre guide che sicuramente sono state per me come per altri degli ottimi sostegni nell'aiuto di chiunque si sia sbattuto e si imbatterà per la prima volta nel configurare la propria posta su linux.
Ringrazio gli autori che hanno già realizzato how-to come questi perchè è anche grazie a loro se ora scrivo mail come ho sempre desiderato
La posta con Mutt by Antonecchia Michele
Guida sotto licenza GNU Free Documentation License
Ataualpa for Debianers Guida sotto licenza GNU FDL. IMHO la bibbia di mutt
Mutt-i, GnuPG e PGP Howto Guida sotto licenza GNU General Public License
Postfix e Spamassassin by Incobus

L'autore non è responsabile di alcun danno dovuto alle azioni intraprese basatesi sulle informazioni contenute in questo documento.
Antonello Lo Cicero Alias PiloZ
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12

Ultima modifica di ilsensine : 30-05-2005 alle 21:10.
ilsensine è offline  
Old 26-09-2005, 11:52   #13
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
GMail come un HD con Linux

Autore: Carcass
Discussione di riferimento: http://www.hwupgrade.it/forum/showthread.php?t=1018881

nb la guida parla anche dell'installazione del driver fuse. Fuse è stato incluso nei kernel ufficiali 2.6.14-rc*; chi utilizza quindi i kernel dalla versione 2.6.14 in poi può ovviamente saltare questo passo. -- ilsensine



Salve a tutti ragazzi, vorrei a tal proposito proporre una guida semplicissima ma molto efficace su come trasformare un account GMAIL che adesso si attesta sui 2 GigaByte di spazio a nostra disposizione (dubito che un comune mortale possa anche dopo anni riempire questo spazio nell'ordine anche dei MB se si ha a che fare con email etc.......) in un HardDisk Virtuale, un vero e proprio disco fisso da montare e utilizzare come se si trattasse di una comune directory presente nel nostro sistema, ovviamente manco a dirlo, GNU/LINUX .

In rete sono reperibili svariati tool che tentano di sfruttare Gmail per scopi alternativi e differenti dallo scopo iniziale per cui è stato creato; i più interessanti da un punto di vista pratico sono GmailFS, GmailBlog e GmailCopy.

Il primo (GmaiFileSystem) permette di usare un normale account gmail in vero e proprio HardDisk a nostra disposizione; a monte di tutto cio sta il lavoro di uno sviluppatore ovvero Richard Jones - http://richard.jones.name - che grazie al linguaggio Python - http://www.python.org/ - al pacchetto FUSE (FileSystem in Userspace), alle librerie libgmail permette di implementare un file system funzionale da un programma in userspace, che indifferentemente funziona sia con Kernel - http://www.kernel.org - Linux 2.4.x che 2.6.x.

A tal proposito mi sembra doveroso precisare un concetto fondamentale su cui si basa l'architettura UNIX, ovvero la distinzione USERSPACE e KERNELSPACE.
Il primo è l'ambiente in cui vengono eseguiti TUTTI i programmi, all'interno di questo ambiente il programma vede solo se stesso, avendo la totale disponibilità della CPU e RAM, ignorando altri programmi avviati dal Kernel.
Il secondo è l'ambiente in cui viene eseguito il kernel.
Grazie a questa gestione separata NESSUN programma va a disturbare un'altra applicazione conferendo al sistema in oggetto - UNIX - elevata stabilità, dove altri OS eseguono i processi solo a livello Kernel.

Le caratteristiche di GMAIL sono:
- TOTALMENTE gratuito
- 2 GB di spazio offerto
- elevata esecuzione grazie alla tecnologia XMLHttpRequest
- 12 lingue
- accesso POP3 gratuito
- creazione filtri e blocco spam
- importazione degli indirizzi di posta da praticamente tutti i client piu utilizzati
- creazione di nuove cartelle e raggruppamento dei messaggi con tutte le relative risposte ricevute
- search veramente ottimo
- supporto ai piu diffusi browser web.

Pagina di accesso all'account Gmail



Passiamo adesso al sodo procurandoci il software necessario al tutto, a tal proposito possiamo seguire due vie:
- compilazione dei sorgenti
- installazione tramite apt (sistemi Debian e Debian/based) o tramite RPM.

Il software necessario è:
- un account Gmail attivo
- ambiente sviluppo in Python
- FUSE
- libreria fuse-python
- libreria libgmail
- tool gmailfs.
Assicuratevi che sul sistema sia installata la libreria python2.x-dev ed in genere le ultime versioni di tutto il necessario per il nostro scopo, aggiornandole sempre il piu possibile.


INSTALLAZIONE DEL PROGRAMMA

Abbiamo detto che il software necessario puo essere installato tramite apt o si possono reperire i repository per i singoli pacchetti a questo indirizzo http://www1.apt-get.org/search.php oppure reperire i singoli pacchetti ed installarli col comando dpkg -i o ancora trovare gli RPM a questo indirizzo http://rpm.pbone.net/ ......... insomma fate un po come ve pare il bello di GNU/LINUX è proprio questo, la modularità

Nel caso di compilazione da sorgente (il tutto si adatta come un guanto al proprio sistema) proseguiamo come segue:
- per fuse
Quote:
tar xzvf fuse-xxxx.tar.gz
cd fuse-xxxx
./configure
make
da root:

Quote:
make install
depmod -ae
modprobe fuse
Se non vi è nessun messaggio di errore allora il tutto è andato a buon fine
Se durante il comando ./configure, eseguendosi lo script, si hanno errori sulla posizione del kernel si deve indicare utilizzando il parametro -with-kernel seguito dall'esatta posizione dei sorgenti.
Oppure da apt installate il pacchetto fuse-source se non è già presente sul sistema.

- per fuse-python
Quote:
tar xzvf fuse-python.tar.gz
cd fuse-python
python setup.py build
Se non vi sono stati errori da root digitare
Quote:
python setup.py install
- per gmailfs
Quote:
tar xzvf gmailfs-xxx.tar.gz
cd gmailfs-xxx
cp gmailfs-.py /usr/bin
cp mount.gmailfs /sbin
Adesso dovete ritornare nella directory dove si trova libgmail ed eseguire:
Quote:
cp libgmail.py /usr/lib/python2.x/site-packages
cp constants.py /usr/lib/python2.x/site-packages

PREPARAZIONE DEL SISTEMA

Modificare con un editor di testo il file /etc/fstab aggiungendo quanto segue:
Quote:
/usr/bin/gmailfs.py /mnt/gmail gmailfs noauto.username=vostrousername@gmail.com, password=lavostrapassword, fsname=vostrofsname
In questo caso fsname è il vostro filesystem.


MONTARE L'HARD DISK

Da root creare la directory /mnt/gmail e montarla:
Quote:
mkdir /mnt/gmail
mount /mnt/gmail

CONSIGLI E PRECISAZIONI

Il modulo FUSE richiede per la compilazione corretta gli header del kernel, quindi accertarsi che siano presenti nel sistema, altresi' installarli.

Il file /etc/fstab è leggibile da qualsiasi utente del sistema, dunque è consigliabile utilizzare il file gmails.conf: copiandolo all'interno della cartella /etc e impostare dei permessi in modo che solo l'utente root lo possa leggere.
Inoltre libgmail non cancella i file direttamente, ma solamente spostandoli nel cestino, dunque bisogna eliminarli manualmente uno ad uno.
Inoltre per evitare la visualizzazione di fastidiosi messaggi di GmailFS, mentre arrivano si puo impostare un filtro che archivi automaticamente i messaggi in entrata, come quello di ricercare il valore impostato a fsname sempre presente nell'argomento di tutti i messaggi di GmailFS

NON E' CONSIGLIABILE salvare dati sensibili in quanto GmailFS allo stato attuale poichè è in "alpha release" ed inoltre tutti i dati vengono salvati in chiaro sui server di GOOGLE.
La soluzione sarebbe di cifrarli prima di "hostarli".




NB: NON CI SI ASSUME NESSUNA RESPONSABILITA' A SEGUITO DI QUESTA GUIDA.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 08-11-2005, 17:28   #14
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Server di posta how-to

Autore: gromit60
Discussione di riferimento: http://www.hwupgrade.it/forum/showthread.php?t=1050264


Pur essendo affetto da niubbismo cronico, mi sono messo in testa di “buttare su” un server di posta da utilizzare all’interno del mio ufficio, che facesse le cose che avevo in mente, cioè raccolta della posta dalle varie mail sparse per il mondo, controllo antivirus/antispam e poi ce li scarichiamo con calma.
Tempo fa avevo provato ad utilizzare p3scan, che fa da mail proxy, però lo scaricamento della posta era dannatamente lento, e i miei colleghi per poco non mi linciano, per cui l’ho dovuto togliere quanto prima.

Per raggiungere lo scopo, come un po’ tutti, penso, ho cominciato a raccogliere documentazione sul web ma nessun documento rispondeva pienamente alle mie richieste. Così ho creato un mio how-to che ora condivido con l’intento di comunicare quello che ho fatto, ma anche di ricevere critiche/suggerimenti per migliorare il tutto.


Note sulla realizzazione di server di posta Linux con controllo antivirus e antispam

Distribuzione utilizzata: Debian 3.1r0 Sarge
Tipo di installazione: base non grafica
Programmi utilizzati:
Postfix
Fetchmail
Procmail
Solid-pop3d
Spamassassin
Clamav


- Scaletta sintetica per l’installazione
1. installare Debian
2. modificare source.list
3. aggiungere gli utenti
4. installare postfix e configurarlo
5. installare procmail e configurarlo
6. installare spamassassin e configurarlo
7. installare clamav e configurarlo
8. installare clamassassin e configurarlo
9. installare fetchmail e configurarlo
10. installare solid-pop3


I vari files di configurazione inizialmente sono stati tratti da un documento reperito sul forum di Hardware Upgrade nella sezione Linux ed altri S.O., nei tutorials.
Il tutorial però fa riferimento all’attivazione di un server su una macchina linux che funge da workstation e non da server, per cui viene prevista la lettura della posta su questa con Mutt. Ovviamente i files di configurazione sono ritagliati su questa realtà.

La mia intenzione invece è di “tirare su” un server di posta interno, che possa essere utilizzato per scaricare la posta temporaneamente, e controllarla sia per quanto riguarda i virus che per lo spam, prima di essere scaricata dai singoli client (su macchine Win).


INSTALLAZIONE DEBIAN

Dopo aver installato la Debian Sarge occorre modificare il file /etc/apt/source.list per poter permettere un corretto aggiornamento del sistema con apt-get e aptitude, nonché dell’antivirus Clamav. Un esempio può essere:
deb http://ftp.it.debian.org/debian stable main contrib non-free
deb-src http://ftp.it.debian.org/debian stable main contrib non-free

deb ftp://ftp.nerim.net/debian-marillat/ stable main
deb-src ftp://ftp.nerim.net/debian-marillat/ stable main

deb http://giano.com.dist.unige.it/debian-volatile sarge/volatile main

deb http://security.debian.org/ stable/updates main
Il repository volatile serve per aggiornare correttamente ClamAV.

Creazione degli utenti
Al momento utilizzo utenti reali della macchina. Per evitare problemi una volta creato l’utente modifico il file /etc/passwd impostando la shell a /bin/false, altrimenti creo gli utenti utilizzando:

$adduser -–shell /bin/false nomeutente


POSTFIX

Per l’installazione è meglio utilizzare apt-get piuttosto che aptitude che sembra non funzionare bene in questo caso.

$apt-get install postfix

In fase di installazione scegliere l’opzione: nessuna configurazione.
Una volta installato utilizzo questo file di configurazione:
CONFIGURAZIONE DI /ETC/POSTFIX/MAIN.CF

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = nomehost.nomedominio.ext
mydomain = nomedominio.ext
mydestination = $myhostname, localhost.$mydomain, $mydomain
myorigin = $myhostname
inet_interface = all
relayhost = smtp del provider
mynetwork_style = host
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Mailbox
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail
mail_owner = postfix
smtpd_helo_restriction = reject_invalid_hostname, reject_unknown_hostname
disable_vrfy_command = yes
Le parti in corsivo vanno sostituite con i vostri dati, ovviamente ?
Mantengo anche il discorso degli alias che al momento non mi servono perché non utilizzo utenti virtuali, però per un uso futuro…

Inizializzare il database degli alias

$newaliases

Avviare il server smtp con:

$/etc/init.d/postfix start

e provate subito una connessione telnet alla porta 25, se il server è attivo e ben configurato dovreste riuscire ad inviare una mail.


PROCMAIL

Il file principale è /etc/procmailrc che stando in /etc/ rimane valido per qualsiasi utente presente sul pc. Ovvio che se il file non esiste va creato a mano tramite il comando touch. L’utilizzo di Procmail è limitato all’invio delle mail ai due programmi per il filtraggio: ClamAV e Spamassassin.
Nelle regole conviene impostare la regola di invio a ClamAV per prima. Al momento le mail che risultano infette da virus vengono mandate a /dev/null senza alcun avviso per il destinatario (non mi piace).
Ho impostato il file di log in var/log con il nome di procmail.log. Il file non era presente e l’ho creato con

#: cd /var/log
#: touch procmail.log
#: chown mail:mail procmail.log
#: chmod 666 procmail.log


Per fare in modo che procmail possa scriverci sopra ho dovuto impostare i permessi sul file in 666. Non so fino a che punto sia corretto, però funge.

Il procmailrc che utilizzo è questo:
CONFIGURAZIONE DI ETC/PROCMAILRC

SHELL=/bin/sh
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin/usr/local/bin:.
DROPPRIVS=yes

VERBOSE=yes # impostare a no dopo il debug (yes | no)
LOGABSTRACT = all # produce log MOLTO estesi, impostare a no in seguito (all |
LOGFILE=/var/log/procmail.log # file di log

# prima di filtrare con spamassassin controllo se ci sono virus
:0fw
| /usr/local/bin/clamassassin

:0:
* ^X-Virus-Status: Yes
/dev/null


# prima di consegnare le mail, filtro quelle rimaste con spamassassin (solo messaggi inferiori a 256k)
:0fw:
* < 256000
| spamc

SPAMASSASSIN

Spamassassin non è altro che un programma che analizza tutte le mail indistintamente in ingresso (consegnategli da procmail) per identificare se vi è dello spam.
Il suo compito è quello di assegnargli un livello di spam (vedi required_score nel file di configurazione) e se questo livello supera il 5.0 (required_score) come predefinito, verrà allora considerato spam, marcherà l'email aggiungendo ******SPAM****** al soggetto. Il valore si può modificare a piacere ma occorre valutare bene prima di mettere valori troppo bassi o troppo alti.

Installato secondo le istruzioni: $apt-get install spamassassin spamc razor (oppure utilizzando aptitude)

Questo è il file di configurazione che utilizzo:
CONFIGURAZIONE DI ETC/SPAMASSASSIN/LOCAL.CF

# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
###########################################################################
#
# rewrite_header Subject *****SPAM*****
# report_safe 1
# trusted_networks 212.17.35.
# lock_method flock

# Imposta il punteggio che deve raggiungere la mail per essere considerato spam
required_score 5.0

# Testo da aggiungere al subject delle e-mail identificate spam
rewrite_header Subject *****SPAM*****

# Se report_safe h impostato a "1", i messaggi ritenuti spam verranno allegati come file
report_safe 0

# Filtro Bayesiano
use_bayes 1

# Auto-apprendimento di filtro
auto_learn 1

# Controllo sulle RBL, se gia' l'isp che offre la mail fa questo, impostarlo a "1" altrimenti a "0"
skip_rbl_checks 0

# Uso razor
use_razor2 1

# File di configurazione di razor (controllatene l'esistenza)
razor_config /etc/razor/razor-agent.conf

# Tempo di time-out di razor
razor_timeout 10

# Controllo sul dns
dns_available yes

# Lingue da non considerare potenzialmente spam
ok_languages it

# Domini dal quale le mail NON verranno considerata spam
whitelist_from *@nomedominio.ext

# Domini dal quale TUTTE le mail verranno considerata spam
# http://www.spam-blockers.com/SPAM-blacklists.htm
blacklist_from *@nomedominio.ext
Molto importante la sezione whitelist per considerare sempre valide le mail provenienti da 1 o più domini. A queste viene assegnato un punteggio di -15 (se ricordo bene) per cui anche se contengono codice html (per esempio) è difficile che oltrepassino la soglia di +5.

Attivo spamd cambiando il valore di default da 0 a 1 nel file /etc/default/spamassassin:

# Change to one to enable spamd
ENABLED=1


Nel procmailrc c’è la regola che manda le mail a spamc piuttosto che spamassassin (più pesante).


CLAMAV

Nessun problema relativo all’installazione. Si installa con aptitude selezionando “clamav”. Per avere la versione più aggiornata occorre che nel source.list sia elencato almeno un repository volatile.

Clamassassin

Il suo funzionamento è simile a quello di spamassassin ma, ovviamente, le mail vengono indirizzate a ClamAV.
Per l’installazione occorre fare tutto “a manina” andando sul sito, scaricando il tar, lo si copia (con Winscp) nella cartella /tmp, poi si scompatta con il classico tar xvzf poi:

./configure
make install



FETCHMAIL

$apt-get install fetchmail

La configurazione di uno o più account di posta viene fatta tramite il file /etc/fetchmailrc che deve essere presente e ben configurato.
Dopo aver creato il file /etc/fetchmailrc si vanno ad impostare i vari parametri che lo regolano.

$touch /etc/fetchmailrc

Utilizzo un unico file di configurazione, non specifico per ogni utente, e questo è un esempio:
CONFIGURAZIONE DI /ETC/FETCHMAILRC

# I M P O S T A Z I O N I
# poll (inizializza la connessione al server e imposta il tempo di attesa di connessione)
# proto (tipo di protocollo da usare)
# authenticate (tipo di autenticazione)
# user (nome utente per l'autenticazione)
# password (password per l'autenticazione)
# mda (mail delivery agent al quale passare la posta)
# is user here options (utente al quale destinare la posta piu' eventuali opzioni)

Defaults proto POP3
mda '/usr/bin/procmail -d %T'


# ACCOUNT nomeutente@nomedominio.ext
poll popserver.nomedominio.ext timeout 60
authenticate password
user nomeutente
password password
is utente here options keep
Le prime due righe sono valide per tutti gli account inseriti. Occorre inserire un account per ogni indirizzo mail che si intende scaricare. La sintassi è semplice ed è quasi autoesplicativa. Per quanto riguarda le opzioni qui ho utilizzato keep che significa “lascia le mail sul server” ma si può usare nokeep (li cancella), flush, oppure fetchall

Conviene creare il file come ultimo passo, in modo da cominciare a scaricare la posta localmente quando tutto è a posto.


SOLID-POP3D

Da installare con aptitude. E’ preferibile farlo richiamare da inetd.
Solid-pop3d che farà semplicemente da server pop3 non necessita di essere configurato, è più che sufficente per scopi casalinghi e sicuro, supporta sia mailbox che maildir a differenza di courier, virtual hosting, APOP authentication etc..
si installa ed è pronto per l'uso

$apt-get install solid-pop3d

dovrebbe avviarsi in automatico alla fine dell'installazione ma se così non fosse avviatelo subito e provate come con prostifx se funziona.

$/etc/init.d/solid-pop3d start

$nmap localhost
PORT STATE SERVICE
25/tcp open smtp (postfix)
110/tcp open pop3 (solid-pop3d)
783/tcp open hp-alarm-mgr (spamassassin)

$telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Solid POP3 server ready

in caso di problemi il file di configurazione è /etc/spop3d.conf mentre in /usr/share/doc/solid-pop3d/examples/ è presente un file di configurazione come esempio. E'sempre buona regola fare debugging tramite "$cat /var/log/syslog" .


Per il momento il server di posta così configurato soddisfa le mie esigenze. Quello che mi piacerebbe implementare sarebbe un avviso da parte di ClamAV quando trova un virus (per ora butta la mail in dev/null senza dire niente a nessuno) e la possibilità di consultare la posta in webmail senza scaricarla.


Link utili

http://www.hwupgrade.it/forum/showthread.php?t=944062 La base di partenza (PiloZ)
http://drivel.com/clamassassin/ Clamassassin
http://www.webmail.us/testvirus Invio di mail infette per testare l’antivirus.
http://www200.pair.com/mecham/spam/s...r20050626.html - Server di posta con di tutto e di più
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline  
Old 18-05-2006, 13:45   #15
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
INSTALLARE GENTOO SU RAID SOFTWARE (KERNEL RAID)
di ajez

Visto che comunque ho dovuto smanettare parecchio per installare gentoo su un raid di questo tipo, seguendo 2 o 3 guide, e anche cercando soluzioni a problemi vari, improvvisando a volte, ho deciso di scrivere una guida sull’argomento.. cominciate a disabilitare il raid da bios se presente.
Incominciamo con il Boot da LiveCD, di cui trovate le ISO per varie architetture su www.gentoo.org
Dalla versione 2006.1, il livecd parte con l’interfaccia grafica Gnome (se riesce a configurare monitor e scheda video) e con la possibilità di installare gentoo con il GLI, un’interfaccia grafica che guida passo passo all’installazione.
In questa versione, GLI non supporta i raid e quindi dovremo fare a meno di usarlo … quindi switchamo a una normale console premendo ALT+F1, ci troveremo davanti una schermata con
livecd root #
Il primo passo verso l’installazione è decidere come partizionare gli HDD a seconda delle nostre esigenze; il server che stiamo considerando in questa guida ha 3 HDD SATA uguali, che il livecd indentificherà con /dev/sda /dev/sdb /dev/sdc; in questo esempio creeremo solo 3 partizioni, che per far funzionare il raid dovranno avere le stesse dimensioni su tutti e 3 gli hdd:
Partizione di Boot (/boot)
Dimensione: 150 MB
Device: /dev/sda1 /dev/sdb1 /dev/sdc1

Partizione di Swap
Dimensione: 1 GB (alcuni consigliano 2 volte la RAM, altri meno, io metto 1 GB che per me è suff.)
Device: /dev/sda2 /dev/sdb2 /dev/sdc2

Partizione di root (/ )
Dimensione: Tutto il resto 
Device: /dev/sda3 /dev/sdb3 /dev/sdc3

Ora è il momento di partizionare gli hdd:
Con il comando fdisk si creano le varie partizioni sul primo disco, tutte le partizioni devono avere il tag FD e quella di boot va ulteriormente marcata con il flag bootable.
livecd root # fdisk /dev/sda
The number of cylinders for this disk is set to 39605.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
** (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):
create le partizioni sul primo hdd, e ricordatevi di settare il tipo di partizione su Linux raid autodetect (sempre da fdisk, con il comando t e settando il tipo fd ) per tutte le partizioni, e attivate il flag bootable per la partizione /boot
Alla fine dovremmo avere una situzione simile:
Device Boot***** Start******** End***** Blocks** Id* System
/dev/hde1** *********** 1******** 195****** 98248+* fd* Linux raid autodetect
/dev/hde2************ 196******* 1188***** 500472** fd* Linux raid autodetect
/dev/hde3*********** 1189****** 12815**** 5860008** fd* Linux raid autodetect
Prima di uscire da fdisk dare il comando w (write) che scriverà fisicamente lo schema su disco.
Dopo aver partizionato il disco numero uno, è necessario procedere alla copia del medesimo schema sul secondo disco:
livecd root # sfdisk -d /dev/sda | sfdisk /dev/sdb
E così con il terzo:
livecd root # sfdisk -d /dev/sda | sfdisk /dev/sdc
L'operazione preliminare alla creazione dei device è il caricamento del modulo del kernel per la gestione del raid 1 e del raid5:
livecd root # modprobe raid1
livecd root# modprobe raid5

In questo esempio, creeremo un raid5 per le partizioni di swap e di root, mentre per la partizione di boot è necessario creare un raid1 per compatibilità con il bootloader Grub.
Procediamo alla creazione dei device raid:
livecd root # mknod /dev/md1 b 9 1** ******** *
livecd root # mknod /dev/md2 b 9 2********* *
livecd root # mknod /dev/md3 b 9 3
E' ora il momento di popolare i device che sono stati creati sopra con le relative partizioni corrispondenti:
livecd root # mdadm --create /dev/md1 --level=1 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
livecd root # mdadm --create /dev/md2 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2
livecd root # mdadm --create /dev/md3 --level=5 --raid-devices=3 /dev/sda3 /dev/sdb3 /dev/sdc3
I comandi possono essere dati anche in sequenza, bisognerà poi attendere qualche istante per l'allineamento (sopratutto in merito alla root che ha dimensioni maggiori). Per controllare lo stato dell'allineamento è disponibile il seguente comando:
livecd root # cat /proc/mdstat
In fase di allineamento con il comando sopraccitato si noterà che le partizioni vengono allineate una alla voltA; a titolo di esempio riportiamo una parte dell'output di quanto succedeva sulla macchina di test:
md3 : active raid5 sdc3[2] sdb3[1] sda3[0]
***** 1953408 blocks [3/3] [U__]
******* resync=DELAYED
md2 : active raid5 sdc2[2] sdb2[1] sda2[0]
***** 5859904 blocks [3/3] [UU_]
***** [=======>.............]* resync = 35.0% (2053760/5859904) finish=2.3min speed=27554K/sec
Nel frattempo, potete già salvarvi il file mdadm.conf, che sarà necessario per il corretto boot della macchina e che poi dovremo ricordarci di salvare sull’hdd:
mdadm --detail --scan >> /etc/mdadm.conf
La fase successiva all'allineamento prevede la formattazione dei device, scegliendo preventivamente il tipo di file system. Per il server in esempio il nostro suggerimento è quello di utilizzare ReiserFS o in alternativa EXT3, con la doverosa premessa che ogniuno di essi ha pregi e difetti, ma non è questa la sede appropriata per approfondire.
Procedere quindi con le seguenti righe di comandi:
livecd root # mkreiserfs /dev/md1
livecd root # mkreiserfs /dev/md3

Lo swap va gestito con :
livecd root # mkswap /dev/md2
E attivato con :
livecd root # swapon /dev/md2
Montare ora la partizione di root :
livecd root # mount /dev/md3 /mnt/gentoo/
Spostarsi in /mnt/gentoo (con cd /mnt/gentoo), directory in cui resteremo per tutte le fasi successive.
Creare la directory di boot con :
livecd root # mkdir boot
Montare i device nelle relative directory :
livecd root # mount /dev/md1 /mnt/gentoo/boot/
Ora bisognerebbe estrarre lo Stage3 sull’hdd.. peccato che nella versione 2006.1 ci sia solo lo snapshot del portage, e quindi dovrete scaricare lo stage 3 da uno dei mirror gentoo… vi riporto qui uno dei mirror italiani:
http://www.die.unipd.it/pub/Linux/di...2006.1.tar.bz2
che fa riferimento allo stage3 della versione 2006.1 per x86 di gentoo.. se avete un’altra architettura, cambiate x86 sul link con la vostra architettura ( ad es. amd64 al posto di x86 per i 64bit)
potete scaricare lo stage col comando
wget http://www.die.unipd.it/pub/Linux/di...2006.1.tar.bz2
che scaricherà il pacchetto nella directory corrente (che dovrebbe essere /mnt/gentoo)
Finito di scaricare questi 100 e passa MB, dobbiamo estrarre il tar.bz2 …
livecd gentoo # tar --xvjpf stage3-i686-2006.1.tar.bz2
Attendere qualche istante e succesivamente passare al portage, ossia all' "albero dei pacchetti installabili"
In questo caso ci si presentano 2 possibilità ossia scaricare o scompattare dal cd. Se usate il pacchetto presente sul cd, procedere come segue:
livecd gentoo # tar -xvjf /mnt/cdrom/snapshot/portage-20050607.tar.bz2 -C /mnt/gentoo/usr
Copiatevi il file mdadm.conf nell’hdd per consentire il boot al riavvio:
livecd gentoo # cp /etc/mdadm.conf /mnt/gentoo/etc/mdadm.conf
Procedere ora con una parziale modifica delle opzioni di compilazione del Gcc
livecd gentoo #* nano /mnt/gentoo/etc/make.conf
Nel caso in esempio sono stati modificati solo in 3 punti:
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O2 -pipe -march=athlon-xp -pipe –fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
Per sapere i parametri giusti vi consiglio di leggere:
http://gentoo-wiki.com/Safe_Cflags
che spiega molto bene vantaggi e svantaggi delle varie opzioni.
Si è pronti a trasferirsi nel nuovo ambiente con chroot e come prima operazione procedere a montare il file system proc :
livecd gentoo # mount -t proc none /mnt/gentoo/proc
Se preventivamente era stata configurata anche la rete per l'accesso a internet, copiamo anche il file contenente i DNS :
livecd gentoo # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Effettuare il chroot :
livecd gentoo # chroot /mnt/gentoo/ /bin/bash
Seguito da :
livecd gentoo # env-update
E da :
livecd / # source /etc/profile
A questo punto ci si trova a tutti gli effetti nel nuovo sistema anche se mancano ancora alcune operazioni fondamentali, come ad esempio l'impostazione della timezone da effettuarsi editando il file:
livecd / # ls /usr/share/zoneinfo
Scegliere la zona di proprio interesse (nel casoin esempio Europe/Rome) e creare un collegamento con:
livecd / # ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime
Impostare la data con "date":
livecd / # date MMDDhhmmYY
dove MM=mese (da 00 a 12), DD=giorno, hh=ora (da 00 a 24), mm=minuto, YY=anno
Esempio di impostazione :
livecd / #date 091514422006
significa: mese di Settembre, giorno 15 ore 14:42 del 2006
Dopo questo piccolo dettaglio procedere al più significativo download dei sorgenti del kernel:
livecd / #emerge gentoo-sources
Spostarsi nella directory dei sources :
livecd / # cd /usr/src/
Verificare l'esistenza del link simbolico linux->linux-2.6.X e nell'eventualità crearlo:
livecd src # ls -la
total 1
drwxr-xr-x** 3 root root 136 Jun* 8 23:44 .
drwxr-xr-x* 13 root root 448 Jun* 8 23:24 ..
-rw-r--r--** 1 root root** 0 Mar 11 02:36 .keep
lrwxrwxrwx** 1 root root* 22 Jun* 8 23:44 linux -> linux-2.6.11-gentoo-r9
drwxr-xr-x* 18 root root 664 Jun* 8 23:44 linux-2.6.11-gentoo-r9
livecd src #
Dall' output precedente si evince che il suddetto link è già presente, quindi non è necessario procedere alla creazione di alcun nuovo collegamento.
Consiglio inoltre di installare genkernel, degli script che semplificano la compilazione dei nuovi kernel
livecd / #emerge genkernel
Ora è il momento di configurare il kernel; fate attenzione a includere le voci che riguardano il vostro hardware (andate sopra la voce e premete Y) e a togliere quelle che non fanno parte del vostro hardware e non vi servono per il funzionamento del software (premete N). se avete dubbi , lasciate com’è .. l’importante è attivare alcune voci necessarie al funzionamento del kernel:
in Device Drivers -> SCSI device support:
<*> RAID Transport Class
<*> SCSI device support [*] legacy /proc/scsi/ support
--- SCSI support type (disk, tape, CD-ROM)
<*> SCSI disk
<*> SCSI tape
<*> SCSI OnStream SC-x0 tape
<*> SCSI CDROM
[ ] Enable vendor-specific extensions (for SCSI CDROM
<*> SCSI generic
< > SCSI media changer
--- Some SCSI devices (e.g. CD jukebox) support multiple [*] Probe all LUNs on each SCSI
[ ] Verbose SCSI error reporting (kernel size +=12K
[ ] SCSI logging facility

Nel sottomenù SCSI low level drivers , abilitate Serial ATA (SATA) support (sempre se avete hdd sata) con il relativo controller SATA della vostra scheda madre.

Poi in Device Drivers -> Multi-device support (RAID and LVM):
[*] Multiple devices driver support (RAID and LVM)
<*> RAID support
< > Linear (append) mode
< > RAID-0 (striping) mode
<*>RAID-1 (mirroring) mode
< > RAID-10 (mirrored striping) mode (EXPERIMENTAL)
<*> RAID-4/RAID-5 mode [*] Support adding drives to a raid-5 array (experimental)
< > RAID-6 mode
<*>Multipath I/O support
< > Faulty test module for MD
<*> Device mapper support
<*> Crypt target support
<*> Snapshot target (EXPERIMENTAL)
<*>Mirror target (EXPERIMENTAL)
<*> Zero target (EXPERIMENTAL)
< > Multipath target (EXPERIMENTAL)
< > Bad Block Relocation Device Target (EXPERIMENTAL )

Controllate poi tutte le altre voci sparse per tutti i menu, la maggior parte và lasciata com’è o disabilitata .. se volete una guida sul kernel, questa non lo è …
Finita la configurazione, uscite (Exit) e salvate la configurazione, genkernel farà il resto e finita la configurazione installerà il kernel in /boot .
Volendo potete copiare anche il file bzImage, ma è lo stesso file che in boot si chiama kernel –X.y.z-gentoo-rX .. basterà a fine compilazione spostarsi in :
livecd src # cd /usr/src/linux/arch/i386/boot
Digitare il comando ls -la e verificare che la bzImage sia presente (ergo il kernel è stato compilato e quindi procedere con la copia della bzImage nella partizione di boot precedentemente montata)
livecd src #* cp bzImage /boot
La successiva fase del progetto prevede la personalizzazione del file fstab, che contiene tutte le informazioni relative al mount delle varie partizioni :
livecd src # nano –w /etc/fstab
Il mio fstab è così:
# /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail / tail freely.
#
# The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# See the manpage fstab(5) for more information.
#

# <fs><mountpoint><type><opts><dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/md1 /boot ext3 noauto,noatime 1 2
/dev/md3 / ext3 noatime 0 1
/dev/md2 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
/dev/fd0 /mnt/floppy auto noauto 0 0

# NOTE: The next line is critical for boot!
proc /proc proc defaults 0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0

Ora impostate l’hostname :
livecd src #* nano /etc/conf.d/hostname
E' ora necessario reperire i tool per la gestione del reiserfs con :
livecd src # emerge reiserfsprogs
Attendere la fine della compilazione e passare allo stadio finale, ossia l'installazione del bootloader. E' possibile scegliere indifferentemente lilo e grub, sono entrambi ottimi, ma la nostra preferenza viene accordata a grub per il fatto di non dovere ricaricare la configurazione dopo ogni modifica effettuata a grub.conf.
Rendere disponibile grub con:
livecd src # emerge grub
Procedere quindi all'installazione del bootloader vera e propria negli mbr dei 3 dischi infatti sarà necessario installare il bootloader su tutti i dischi, poiché nel caso di rottura di uno di essi deve essere possibile effettuare il boot da quello rimasto integro.
livecd src # grub
A schermo verrà visualizzato:
GNU GRUB version 0.96 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub>
Procedere quindi con i seguenti comandi:
root (hd0,0)
setup (hd0)
e
root (hd1,0)
setup (hd1)
e infine
root(hd2,0)
setup(hd2)

Nota: grub indica i dischi in base a numeri, il primo disco è 0 il secondo 1 e così via. Idem per le partizioni in esse contenute, quindi Hd0,0 si riferisce alla prima partizione del primo disco, che nel caso in esempio è la boot. Infatti il comando root serve ad indicare a grub la posizione della partizione di boot (che contiene la bzImage), mentre il comando root installa grub nell'mbr del disco specificato.
Poi bisogna configurare grub, editanto il file grub.conf:
live cd root# nano /boot/grub/grub.conf
Il mio grub.conf è fatto così:
# Sample boot menu configuration file
#
# Boot automatically after 30 secs.
timeout 3
# By default, boot the first entry.
default 0
# Fallback to the second entry.
fallback 1
# For booting GNU/Linux
title Gentoo AMD64 - 1
root (hd0,0)
kernel (hd0,0)/kernel-genkernel-x86_64-2.6.17-gentoo-r5 root=/dev/md3 vga=791

title Gentoo AMD64 - 2
root (hd1,0)
kernel (hd1,0)/kernel-genkernel-x86_64-2.6.17-gentoo-r5 root=/dev/md3 vga=791

title Gentoo AMD64 - 3
root (hd2,0)
kernel (hd2,0)/kernel-genkernel-x86_64-2.6.17-gentoo-r5 root=/dev/md3 vga=791

E' giunto il momento di impostare la password per l'utente root attraverso questa riga di codice:
livecd src # passwd
La configurazione ora è finita, uscire quindi dall'ambiente chroot con :
livecd src #exit
"Smontare" tutte le partizioni con il comando umount:
livecd src # cd /
livecd src # umount /mnt/gentoo/boot
livecd src # umount /mnt/gentoo
Riavviare la macchina e incrociamo le dita! Spero di esser stato utile!

Ultima modifica di VICIUS : 21-09-2006 alle 10:09.
VICIUS è offline  
 Discussione Chiusa


ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ul...
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza Dreame L10s Pro Ultra Heat: la pulizia di casa t...
HONOR Magic6 Pro: come funziona Magic Portal, il modo ''intelligente'' di condividere HONOR Magic6 Pro: come funziona Magic Portal, il...
L'innovazione richiede fiducia: Workday si propone come guida nell'era dell'IA L'innovazione richiede fiducia: Workday si propo...
Recensione HONOR Pad 9: ampio display e audio top per il tablet per l'intrattenimento Recensione HONOR Pad 9: ampio display e audio to...
Alfa Romeo Milano, scopriamo profilo e l...
Hisense vende un TV FHD 32 pollici con Q...
Cisco Webex anche in auto: ora è ...
Phil Schiller, il boss dell'App Store di...
Lola in Formula E insieme a Yamaha, due ...
Motorola MA1 è l'accessorio ideale per u...
Tineco e aspirapolveri senza fili, la nu...
Blocco note, c'è un modo per ripr...
Relic Entertainment dice addio a SEGA: l...
SPATIUM M580 FROZR, il nuovo SSD PCIe Ge...
Le schede video NVIDIA GeForce RTX con i...
Claude batte ChatGPT: la battaglia tra i...
Tutti i dispositivi Ring in offerta: cit...
AI PC, le caratteristiche dietro a una d...
AirPods e iPhone 15 in offerta: modello ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:46.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www2v