I miei appunti linux

Quanto è riportato di seguito è stato tutto provato con le distribuzioni di Red Hat dalla 5.2 alla 9, quindi potrebbero essere differenti sia i PATH che i files di configurazione.
Mi scuso se qualcosa non funziona e ringrazio fin da adesso chi mi avvisa riportandomi eventuali errori e/o imprecisazioni.


Indice

Abilitare il Wheel Mouse sotto linux
Analizzatori di rete
Attivazione del "Server PPP" (Red Hat 5.2)
Attivazione del POP3
CIFS: Montare una condivisione Windows
Client PPP con kppp
Configurazione Modem per IBM ThinkPad R40 2683-CG1 (FC2)
Configurazione del mouse
Configurazione scheda audio
Creare Device
e-mail da consol
Firewall (iptables)
NAT (Iptables) (FC2)
Floppy di avvio (metodo rapido)
FONTS
Formattare floppy a 1.67 per dos
Installare FC2, e non solo
Impostare la memoria nel LILO
Impostazione data ed ora
JAVA (F13)
KDE: Impostazioni
Masterizzare come utente con gtoaster (FC1)
Masterizzare come utente con xcdroast (FC1)
Masterizzare: script per rilevare capacità
Messaggio iniziale con LILO
Mouse (XFConfig)
Numlock
Nuovo Kernel
OpenOffice + KDE + FC3 (KDE Bug n.100849)
OpenOffice 1.1.4: impostare sdriver PDF
Profili utenti:
Reinstallare LILO
RHN & legacy (FC1)
RHN & legacy (FC2)
Route: strane cose (FC1)
SAMBA
Script
SMTP (sendmail)
Server WEB con Apache
ServerX
Server FTP
Setserial
Suono Acustico
Recuperare i messagi di Standard Error
Thunderbird e link ipertestuali
Uso del DAT SCSI
Vecchi lettori di CD-ROM
xsane: Scanner Epson Perfection 1640 SU SCSI (RH9)
xsane: Scanner Mustek ScanExpres 1200 UB Plus (FC1)

Mozilla dalla versione 1.2.1
Java Plug-in
Java Plug-in FC4_x64
Macromedia Shockwave Player Plug-in
Plugger Streaming Multimedia Plugin for Unix Mozilla
Evitare lo spoofing per i browser con motore "Gecko"

Comandi
Bash
btar
blkid
cdrecord
chattr
colrm
cryptsetup
date
dd
diff
du
mkfs.ext3
mkfs.ext4
grep
growisofs
grub
hdparm
locale
ls
mail
man
mdadm
mkisofs
mount
netstat
rdev
rpm
sed
sfdisk
sort
ssh
startx
tar
Xsane
wall
wget
SCRIPT per multi view images

Applcazioni per Linu
Star Office 5.2


Abilitare il Wheel Mouse sotto linux

Per poter utilizzare la rotellina con linux devoso essere modificati il file /etc/X11/XF86Config nel seguente modo:
nella sezione Section "InputDevice"
trovare la stringa
Option "Protocol" "PS/2"
e modificare con
Option "Protocol""IMPS/2"

Analizzatori di rete

Sotto interfaccia X si può utilizzare ethereal mentre sotto shell è possibile utilizzare iptraf o tcpdump

Attivazione del "Server PPP" (Red Hat 5.2)

Il kernel deve essere compilato con i seguenti servizi:

  • "networking options" --> IP: tunneling

  • "network device support" --> PPP e tutte le opzioni derivate

  • "network device support" --> SLIP e tutte le opzioni derivate

  • "network device support" --> CSLIP

Entrare in X e lanciare dal pannello di controllo il configuratore del modem e selezionare cuaX, dove X indaca quale porta seriale è collegato il modem; esempio: cua1 = ttyS1 = com2
Aggiungere la riga nel file in /etc/inittab:
s2:12345:respawn:/sbin/getty ttyS2 F38200 vt100
come parametro per la connessione utilizzare uno già presente le file /etc/gettydefs
usciti dall'editor eseguire il comando
#init q
Se non viene riportato nessun errore, riavviare il sistema.
Editare il file /etc/ppp/options e verificare che sia contenuto:

  • modem

  • crtscts

  • netmask 255.255.255.0

  • proxyarp

Creare lo script seguente /bin/shell_ppp:

  • /usr/bin/mesg n

  • /bin/stty tostop

  • echo "ppp"

  • exec /usr/sbin/pppd

e renderlo eseguibile a tutti con:
#chmod 755 /bin/shell_ppp
Creare uno script chiamato /etc/ppp/options.ttyS2 contenente l'indirizzo di rete locale e quella remota:
<IPlocale>:<IPremoto>
192.168.0.64:192.168.0.65
Editare il file /etc/passwd e modificare la shell dell'utente che deve connettersi con il protocollo PPP con /usr/bin/shell_ppp
aggiungere nel file /etc/shells
/bin/shell_ppp
modificare lo stato del pppd
#chmod u+s /usr/sbin/pppd
oppure
chmod 4755 /usr/sbin/pppd
Attivare il forward
#echo 1 > /proc/sys/net/ipv4/ip_forward
Programmare ed utilizzare il modem con "minicom"
Dopo aver eseguito minicom appare la schermata di comunicazione con il modem a basso livello. I comandi AT per impostare il modem che risponda dopo il secondo squillo e le funzioni le svolga in silenzio, sono:

#ATS=1L0
Dove:
1 (ATS=1) imposta la risposta al primo squillo
L0 (ATL=0) imposta la modalità silenziosa.
Con:
AT&V Si verifica i banchi di memoria e la configurazione attuale.
AT&W0 si scrive la configurazione ne banco 0.
AT&Y0 Si imposta ad ogni avvio la configurazione presente nel banco 0.
Ctrl+a si esce dai comandi AT e si ritorna in "minicom".
Dopo aver premuto Ctrl+a e premendo sucessivamente il tasto "Z" si entra nel menu pricipale di minicom.
Premendo ancora il tasto "Q" si salvano le configurazioni, se viene convalidato con "Yes", e si esce da minicom.

Attivazione del POP3

Installare il pacchetto imap.xx.xx.xx.rpm
Scommentare la stringa nel file /etc/ineted.conf che interessa il servizio POP3.
Attivazione del POP3 della qualcom
Scaricare il pacchetto dalla qualcom.
Installare il qpopper con
#rpm -i qpoppere-*.*.*-*.rpm
Modificare il file /etc/inetd.conf la seguente riga:
pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
con
pop3 stream tcp nowait root /usr/sbin/tcpd in.qpopper
Infine:
#kill -HUP inetd

CIFS: Montare una condivisione Windows

Per montare una condivisione di Windows tramite CIFS e renderla permanente nel file /etc/fstab, scrivere la seguente stringa:
//NOME_PC_WINDOWS/NOME_CONDIVISIONE /mnt/samba/NOME_PC_WINDOWS cifs \
noauto,user,users,owner,exec,uni_xlate,credentials=/root/.credentials,uid=USER_LINUX,gid=USER_GROUP,
iocharset=utf8,file_mode=0777,dir_mode=0777,codepage=850,umask=777,fmax=777 0 0

oppure:
//NUMERO_IP/NOME_CONDIVISIONE /mnt/samba/NOME_PC_WINDOWS cifs \
noauto,user,users,owner,exec,uni_xlate,credentials=/root/.credentials,uid=USER_LINUX,gid=USER_GROUP,\
iocharset=utf8,file_mode=0777,dir_mode=0777,codepage=850,umask=777,fmax=777 0 0

Dove:
- credentials=/root/.credentials è il file contentenente lo useraname e password per l'accesso a windows, ella forma
useraname=pippo
password=pluto
/root/.credential da ricordarsi di esguire "
#chmod 600 /root/.credential
in modo da rendere solo leggibile e sola attraverso mount.
- uid=USER_LINUX viene montata la condivisione con gli attributi di un utente.
- gid=USER_GROUP viene montata la condivisione con gli attributi di un gruppo.
Se l'utente è, "pippo" ed appartiene al gruppo "paperopoli", la stringa diventa:
uid=pippo,gid=paperopoli

Client PPP con kppp (FC1)

Per poter usare "kppp", come utente, deve essere eliminato il link seguente:
#rm -f /usr/bin/kppp
Link originale "/usr/bin/kppp --> /usr/bin/consolehelper"
Impostare il SUID per l'uso da parte degli utenti del file "/usr/sbin/kppp" nel segente modo:
#chmod u+s /usr/sbin/kppp
Ricreare il link "kppp" ma questa volta che punti verso il file binario "kppp" anziché a "consolehelper":
#ln -s /usr/sbin/kppp /usr/bin/kppp

Configurazione Modem per IBM ThinkPad R40 2683-CG1 (FC2)

Scaricare i driver dal sito:
http://www.smlink.com/
l'ultimo driver scaricato dalla pagina:
http://www.smlink.com/main/item.php?ln=en&item_id=84&main_id=32
file scaricato:
http://www.smlink.com/main/down/slmodem-2.9.9.tar.gz
Prima di procedere l'installazione assicurarsi che sia installato il sorgente del kernel in uso:
#rpm -qa | grep kernel-source
per individuare il kernel in uso
#uname -r
Quindi scompattare il file:
#tar -xzf slmodem-2.9.9.tar.gz
portarsi all'interno della directory:
#cd slmodem-2.9.9
eseguire
#make
#make install

Per verificare che tutto funzioni:
#/sbin/modprobe slamr
#/sbin/modprobe slusb
#/usr/sbin/slmodemd -country=ITALY

Creare il link simbolico:
#ln -s /dev/ttySL0 /dev/modem
eseguire kppp e testare se il modem funziona.
per rendere definitive le impostazioni, editare il file:
/etc/rc.local
ed aggiungere le stringhe:
/sbin/modprobe slamr
/sbin/modprobe slusb
/usr/sbin/slmodemd -country=ITALY &

Configurazione del mouse

#mouseconfig

Configurazione scheda audio

#sndconfig

Creare Device

Si può utilizzare lo script "MAKEDEV" seguito dal device che si vuole creare.
#MAKEDEV /dev/hdb
MAKEDEV è presente nella directory /dev.
In alternativa può essere utilizzato il comando mknod seguito dai parametri opportuni.

e-mail da consol

Per spedire un e-mail da consol (bash):
#mail -s "Subject" indirizzo_e-mail@dominio.it < file_asci
Per spedire una e-mail che contenga più file_ascii:
#cat file_ascii.1 file_ascii.2 file_asci.n | mail -s "Subject" indirizzo_e-mail@dominio.it

Firewall (iptables)

Editare il file /etc/sysconfig/iptables ed aggiungere le seguenti stringhe:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j LOG
-A INPUT -i eth0 -j REJECT
COMMIT
Riavviare il firewal:
#/etc/init.d/iptables restart
Con il firewall così configutrato sulla porta eth0 non sarà permesso nessun traffico direttamente verso localhost o inderettamente con richieste da localhosto verso internet. Infatti abbiamo vietato tutti gli ingressi, quindi quando da localhost partira una richiesta di connessione verso internet, questa arrivarà a destinazione ma al momento della risposta sarà pbloccata del firewall.
Per abilitare porte e/o servizi, per es. per potersi collegare sulla porta 23 (telnet) da remoto a localhost:
-A INPUT -p tcp -m tcp -s IP_remotehost/32 -d IP_localhost/32 --dport 23 -j ACCEPT
per permettere la connessioni a remotehost da localhost :
-A INPUT -p tcp -m tcp -s 0/0 --sport 23 -d IP_localhost/32 -j ACCEPT
questo vale anche per la porta 80 (http), 443 (https):
-A INPUT -p tcp -m tcp -s 0/0 --sport 80 -d IP_localhost /32 -j ACCEPT
-A INPUT -p tcp -m tcp -s 0/0 --sport 443 -d IP_localhost /32 -j ACCEPT
Dopo aver abilitato sia gli ingressi che le uscite deve essere abilitata anche alcuni ingressi ed usciteper il protocollo ICMP
-A INPUT -p icmp -m icmp -s 0/0 -d IP_localhost /32 --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp -s 0/0 -d IP_localhost /32 --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp -s 0/0 -d IP_localhost /32 --icmp-type 11 -j ACCEPT
La configurazione finale del file risulterà:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp -s IP_remotehost/32 -d IP_localhost/32 --dport 23 -j ACCEPT
-A INPUT -p tcp -m tcp -s 0/0 --sport 23 -d IP_localhost/32 -j ACCEPT
-A INPUT -p tcp -m tcp -s 0/0 --sport 80 -d IP_localhost /32 -j ACCEPT
-A INPUT -p tcp -m tcp -s 0/0 --sport 443 -d IP_localhost /32 -j ACCEPT
-A INPUT -p icmp -m icmp -s 0/0 -d IP_localhost /32 --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp -s 0/0 -d IP_localhost /32 --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp -s 0/0 -d IP_localhost /32 --icmp-type 11 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j LOG
-A INPUT -i eth0 -j REJECT
COMMIT


Per inserire gli indirrizzi IP di host malevoli, riconducibili a botnet, spammer e/o bruteforcer, da una blacklist presente sul sito http://infiltrated.net/blacklisted.
basterà usare il comando:
wget -qO - http://infiltrated.net/blacklisted|awk '!/#|[a-z]/&&/./{print "iptables -A INPUT -s "$1" -j DROP"}'

Si può anche specificare più porte con una singola regola attraverso l’apposito modulo multiport:
iptables -A INPUT -p tcp -m multiport --dports 22,80,143,6000:6003 -j ACCEPT

Con il seguente comando è possibile imporre una soglia di connessioni massime per ogni porta. Ad esempio limitare le connessioni ssh a un massimo di 10.
/sbin/iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 10 -j REJECT

http://www.netfilter.org/documentation/HOWTO/it/NAT-HOWTO.html

NAT (Iptables) (FC2)

In modo provvisorio:
#echo "1" >/proc/sys/net/ipv4/ip_forward
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE


In modo permanate:
editare il file /etc/sysctl.conf e nella stringa
net.ipv4.ip_forward = 0
mettere 1
net.ipv4.ip_forward = 1
Riavviare la rete:
#/etc/init.d/network restart
Editare il file /etc/sysconfig/iptables ed aggiungere le seguenti stringhe:
*nat
:PREROUTING ACCEPT [16:2830]
:POSTROUTING ACCEPT [17:1859]
:OUTPUT ACCEPT [31:3375]
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
COMMIT

Per permettere che sia aperto un tunnel su di un servizio ad un pc dall'esterno all'interno, dovrà essere aggiunta la segunte stringa al file /etc/sysconfig/iptables *nat
:PREROUTING ACCEPT [16:2830]
:POSTROUTING ACCEPT [17:1859]
:OUTPUT ACCEPT [31:3375]
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
-A PREROUTING -i eth0 -p tcp --dport XXX -j DNAT --to 192.168.0.X
-A PREROUTING -i eth0 -p udp --dport YYY -j DNAT --to 192.168.0.X
COMMIT

Floppy di avvio (metodo rapido)

Per fare un floppy di avvio con un kernel compilato sulla stessa macchina, se si sono utilizzati moduli, oppure proveniente da un'altra macchina ma il kernel in questo caso deve essere monilitico e compilato per l'architettura della macchina sul quale vogliamo utilizzarlo, basta inserire il floppy ed eseguire il seguente comando:
#mkbootdisk --device /dev/fd0 /usr/src/linux/arch/i386/boot/bzImage
Per creare un floppy di emergenza del kernel che stiamo utlizzando
#mkbootdisk --device /dev/fd0 /boot/vmlinuz-versione_del_kernel
Per conoscere la versione del kernel attualmente in uso
#uname -r

FONTS

Per installare i fonts TTF:
# cd /usr/X11R6/lib/X11/fonts
# mkdir ttfonts
#cd ttfonts
#cp path_font_ttf/* ./
# ttmkfdir -o fonts.scale
# ttmkfdir -o fonts.dir
editare il file /etc/X11/fs/config (per Red Hat 7.0)
aggiungere la riga:
/usr/X11R6/lib/X11/fonts/ttfonts
Se ancora non è stato avviato il servizio xfs all'avvio digitare:
# chkconfig --add xfs
#/etc/rc.d/init.d/xfs restart


Vecchi lettori di CD-ROM

Nel caso ci troviamo un lettore vecchiotto ma funzionante, il quale però non viene riconoscito né in fase di installazione né in un'ambiente già funzionante, il problema si risolve prcedendo come sotto.
In fase di installazione al prompt "Boot" o "LILO" di gitare la seguente stringa:
boot: linux hdX=cdrom
LILO: linux hdX=cdrom

Dove X indica la connessine fisica del CD-Rom sul controller IDE.
Esempio:
Se il CD-ROM é slave sul primo canale IDE, al prompt bisogna digitare la seguente stringa:
boot: linux hdb=cdrom
LILO: linux hdb=cdrom.
Il Cdrom per essere inizializzato ed utilizzabile successivamente ha bisogno della stringa "linux hdb=cdrom" sia scritta in modo permanete. Si può fare alla fine dell'installazione dove viene richiesto parametri aggiuntivi oppure editanto il file /etc/lilo.conf ed inserendo dopo la stringa:
root=/dev/hda1
append="linux hdb=cdrom"

Impostare la memoria nel LILO

Se il sistema inizializza meno RAM di quanta sia installata sul computer, dopo aver verificato con:
#more /proc/meminfo
basta aggiungere in /etc/lilo.conf:
append = "memoria_installataM"
Il valore deve essere espresso in Mbite per esempio, in caso di 128Mb di RAM:
append = "128M"
Se si utilizza più di 1Gb di RAM non servirà inserirlo nel LILO.CONF ma dovrà essere ricompilato il kernel impostando sotto il menù "Processor type and features" alla voce "High memory Support" selezioanre "4Gb".

Masterizzare come utente con gtoaster (FC1)

Per poter usare "gtoaster" come utente deve essere cancellato il link gtoaster (/usr/bin/gtoaster -> /usr/bin/consolehelper), nel seguente modo:
#rm -f /usr/bin/gtoaster
Adesso basterà rifare il link verso il file binario /usr/bin/gtoaster-root (/usr/bin/gtoaster -> /usr/bin/gtoaster-root) nel seguente modo:
ln -s /usr/bin/gtoaster-root /usr/bin/gtoaster

Masterizzare come utente con xcdroast (FC1)

Per poter usare "xcdroast" come utente deve essere cancellato il link gtoaster (/usr/bin/xcdroast -> /usr/bin/consolehelper), nel seguente modo:
#rm -f /usr/bin/xcdroast
Adesso basterà rifare il link verso il file binario /usr/sbin/xcdroast (/usr/bin/xcdroast -> /usr/sbin/xcdroast) nel seguente modo:
ln -s /usr/sbin/xcdroast /usr/bin/xcdroast

Masterizzare: script per rilevare capacità

Nel caso che la masterizzazione di un CD o di un DVD sia fatta tramite script, per esempio per fare dei backup in automatico, è possibile ricavarsi la dimensione totale della directory in modo da non avviare la masterizzazione del supporto nel caso che superi la dimensione di questo:
#!/bin/bash
declare -i CAPACITA
declare -i CD
declare -i DVD
CAPACITA=`du -ms
PATH_DIRECTORY | awk '{print $1'}`
CD=700
DVD=4200
if [ ${CAPACITA} -lt ${DVD} ]; then

comandi nel caso che la ${CAPACITA} sia minore del suppurto ${DVD
else
comandi nel caso che la ${CAPACITA} sia superiore del suppurto ${DVD
fi

Messaggio iniziale con LILO

Per poter visualizzare un testo al momento dell'avvio del sistema, occore creare un file con all'interno il messaggio che vogliamo visualizzare.
Quindi, creare il file ad esempio /boot/boot_message.txt, inserire il messaggio desisderato, editare il file /etc/lilo.conf ed aggiungere:
message = /boot/boot_message.txt
Rieseguire lilo:
#lilo

Nuovo Kernel

Scaricare il nuovo Kernel nel formato linux-*.*.*.tar.gz o inux-*.*.*.tar.bz2, ricordarsi che il chernel stabile è quello che ha la seconda cifra pari, mentre quelli con la cifra dispari sono le versioni in sviluppo (2.0.*, 2.2.* 2.4.* Stabili e 2.1.* 2.3.* 2.5.* sviluppo).
Cancellare il link
#rm /usr/src/linux
o
#rm /usr/src/linux-2.4
Copiare o muovere il file linux-*.*.*.tar.gz
#cp linux-*.*.*.tar.gz /usr/src/
#mv /path/linux-*.*.*.tar.gz /usr/src/
Scompattare il file appena copiato o spostato
#tar -xvzf linux-*.*.*.tar.gz
#tar --use-compress-program /usr/bin/bzip2 -xvf linux-*.*.*.tar.bz2
oppure:
#tar -xzf /path/linux-*.*.*.tar.gz -C /usr/src/
#tar --use-compress-program /usr/bin/bzip2 -xvf /path/linux-*.*.*.tar.bz2 -C /usr/src
Una volta scompattato sarà ci sarà una nuova directory /usr/src/linux-*.*.*; nel caso che sia solo /usr/src/linux, conviene rinominarla:
#mv /usr/src/linux /usr/src/linux-*.*.*
In entrambi i casi deve essere ricreato il link:
#ln -fs /usr/src/linux-*.*.* /usr/src/linux
o
#ln -fs /usr/src/linux-*.*.* /usr/src/linux-2.4
#cd /usr/src/linux
o
#cd /usr/src/linux-2.4
editare il file "Makefile" ed alla definizione della variabile "EXTRAVERSION =" (ai primi righi del file) aggiungere "-mio" "EXTRAVERSION = -mio"
Adesso eseguire il comando
#make mrproper
Se interessa ricompilare o modifiacare le impostazione del vecchio kernel e per qualche motivo non è più a disposizione il vecchio file /usr/src/linux-*.*.*/.config basta eseguire il comando:
#make oldconfig
che viene generado il file .config con la configurazione del kernel attuale.
Per scegliere o modificare le impostazioni che dovrà avere il nuovo kernel, si può effettuare in tre modi, con:
#make config
#make menuconfig
#make xconfig
I primi due metodi si eseguono sotto terminale; si consiglia di ulizzare comunque il secondo visto le innumerevoli opzioni dei kernel attuali che rende assai ostico l'utillizzo del primo.
Il terzo metodo deve essere utilizzato sotto interfaccia grafica.
Una volta usciti dalla configurazione ed aver scelto di salvare il lavoro, dal prompt si digitano i seguenti comandi:
#make dep
#make clean
#make zImage o #make bzImage
#make modules
#make module _install

La scelta tra zImage e bzImage dipente solo dalle dimensioni che ha il kernel alla fine della compilazione; con i kernel attuali, su computer attuali, pensando di utiliizare tutte le risorse, non è più pensabile di utilizzare zImage . Comunque l'errore che viene visualizzato, in caso di utilizzo di zImage con kernel troppo grossi, è: "kernel big too"
Tutti i passagi sopra citati su un'unica riga:
#make dep; make clean; make zImage; make modules; make module _install
o
#make dep; make clean; make bzImage; make modules; make module _install
Il metodo appena descritto eseguirà tutti i comandi anche se uno di questi avesse riportato degli erroi, mentre il modo seguente l'esecuzione viene termianta appena uno dei comandi riporta degli errori:
#make dep && make clean && make zImage && make modules && make module _install
o
#make dep && make clean && make bzImage && make modules && make module _install
Per comodità, la stringa adottata può essere inserita in un file chiamato ad esempio "makekernel" copiato/spostato in /usr/sbin e reso eseguibile con chmod +x /usr/sbin/makekernel. Ogni qual volta che dovremmo ricompilare il kernel basterà scrivere semplicemente:
#makekernel
Il tempo per la compilazione varia a secondo dal numero delle opzioni scelte e dal processore utilizzato.
Finito di compilare il kernel, si deve spostare/copiare il file chimato zImage obzImage dalla directory /usr/src/linux/arch/i386/boot alla directory /boot
Di solito conviene rinominare il kernel da zImage in vmlinuz-*.*.*-mio,
Se la versione del kernel appena compilata è maggiore della precedente, deve essere copiato anche il file /usr/src/linux/System.map in nella directory /boot
#cp /usr/src/linux/System.map /boot/System.map-*.*.*-mio
Rifare il link:
#ln -sf /boot/System.map-mio /boot/System.map
Se vengono utilizzati moduli per particoari dispositivi come ad esempio controller SCSI, deve essere ricreato anche il file /boot/initrd-*.*.*
Per creare l'immagime "initrd-*.*.*-mio.img":
#mkinitrd /boot/initrd-*.*.*-mio.img *.*.*-mio
Se tra i dispositivi non e presente nessun controller SCSI o il kernel non è stato compilato per supportare controller SCSI attraverso i moduli, deve essere usata l'opzione "--omit-scsi-modules" durante la generazione del file "initrd-*.*.*-mio" , ovvero:
#mkinitrd --omit-scsi-modules /boot/initrd-*.*.*-mio.img *.*.*-mio
Finita tutta l'operazione della compilazione del nuovo kernel, si edita /etc/lilo.conf aggiungendo i parametri per il nuovo kernel senza togliere quelli precedenti.
Le impostazioni del/i kernel precedente/i possono essere utili se quello appena ricompilato, per qualche motivo di errata configurazione avvenuta durante le scelte delle opzioni, non riesce ad avviare il sistema.
Aggiungere come l'esempio sotto riportato:
image=/boot/vmlinuz-*.*.*-mio
label=mio
initrd=/boot/initrd-*.*.*-mio.img
read-only
root=/dev/hda1

Il parametro hda1 deve essere cambiato se la partizione di root stà su un'altro device o partizione. Per rendere operativo quello che è stato fatto:
#lilo
Nel caso in cui, al momento del boot, dovessero apparire moduli non usati, andare in /lib/modules/versione_kernel/sub_directory e cancellarli. Per ottenere la lista di tali moduli, uasare il comando
#depmod -a

Avviare il nuovo kernel da dischetto
Inserire il floppy e digitare:
#cp /boot/vmlinuz-mio /dev/fd0
Eseguire "rdev":
#rdev /dev/fd0 /dev/hda1
hda1 deve essere sostituito con la partizione dove e' installato linux(es: hda5, sda1, sdb12, ecc.).

Patch per kernel
Quando occore integrare il kernel con altre configurazioni non presenti nell'originale ma disponibili separatamente, occore procedere nel seguente modo:
muovere il file driver-*.*.*.tar.bz2 o driver-*.*.*.tar.gz nella directory /usr/src
#tar --use-compress-program /usr/bin/bzip2 -xvf driver -*.*.*.tar.bz2
o
#tar -xzvf driver-*.*.*.tar.gz
o
#tar --use-compress-program /usr/bin/bzip2 -xvf /path/driver -*.*.*.tar.bz2 -C /usr/src/
o
#tar -xzvf /path/driver -*.*.*.tar.gz -C /usr/src/
Adesso da /usr/src: #patch-p0 < driver -*.*.*-*.patch
oppure da /usr/src/linix o //usr/src/linix-2.4:
#patch-p1 < ../ driver -*.*.*-*.patch

OpenOffice + KDE + FC3 (KDE Bug n.100849)

Dopo aver aggiornato i pacchetti di KDE versione 3.4.2-0 non dovreste riuscire più a salvare i documenti. Per risolvere questo problema occore editare il file ~/.kde/share/config/kdeglobals ed aggiungere le seguenti stringhe:
[Development]
AutoCheckAccelerators=false

A questo indirizzo trovate il bugs:
http://bugs.kde.org/show_bug.cgi?id=100849

OpenOffice 1.1.4: impostare driver PDF

Per impotare il driver PDF come stampante in OpenOffice.Org 1.1.4, occorre eseguire il comando
# /usr/lib/ooo-1.1/program/spadmin.bin
ed aggiungere la stampante PDF. Questo perché il metodo di esportazione nel formato PDF, non ha le stesse caratteristiche della stampa in modalita PDF. Un esempio è la stampa in serie. Se viene esportato come file PDF, questo documento conterrà solo i nomi dei campi del database e solo una pagina. Mentre stampando utilizzando il PDF Converter, troveremo tutti i campi del database con i valori contenuto in esso per l'intero archivio con tutto il numero necessario di pagine.

Reinstallare LILO

Se per qualche motivo il bootloader LILO viene tolto dal MBR del hard disk, basta avviare con un qualsiasi cd linux, montare la artizione di linux ed eventuale file sistem /boot e dare il seguente comando:
#chroot /mount_poinit
quindi rieseguire
#lilo

Nel caso di utilizzo del primo CD di Red Hat, scegliere l'opzione rescue. Quando sarà avviato la partizione linux sarà montata in /mnt/sysimage, quindi:
#chroot /mnt/sysimage
#lilo

RHN & legacy (FC1)

Quando Fedora Core 1 è passata come distribuzione legacy gli aggiornamenti non non si trovano più all'indirizzo web http://download.fedora.redhat.com/pub/fedora/linux/core/updates/1/i386/ ma a questo indirizzo http://download.fedoralegacy.org/fedora/1/updates/i386/ e non più nella forma canonica nome_pacccheto-n.di.versione.i386.rpm ma nella versione nome_pacccheto-n.di.versione.legacy.i386.rpm
Nello stesso istante ha smesso di funzionare l'icona che solitamente diventava rossa con un punto esclamativo bianco lampeggiante.
Per rendere di nuovo operativa questo comoda icona, a mio avviso, basta editare il file /etc/sysconfig/rhn/sources ed apportare le seguenti modifiche:
- commentare le seguenti stringhe
yum fedora-core-1 http://fedora.redhat.com/releases/fedora-core-1
yum updates-released http://fedora.redhat.com/updates/released/fedora-core-1
#yum updates-testing http://fedora.redhat.com/updates/testing/fedora-core-1

ed aggiungere le seguenti stringhe:
# Fedora Legacy FC1 os repository
yum os http://download.fedoralegacy.org/fedora/1/os/i386/
# Fedora Legacy FC1 updates repository
yum updates http://download.fedoralegacy.org/fedora/1/updates/i386/
# Fedora Legacy FC1 legacy-utils repository
yum legacy-utils http://download.fedoralegacy.org/fedora/1/legacy-utils/i386/

RHN & legacy (FC2)

Quando Fedora Core 2 è passata come distribuzione legacy gli aggiornamenti non non si trovano più all'indirizzo web http://download.fedora.redhat.com/pub/fedora/linux/core/updates/2/i386/ ma a questo indirizzo http://download.fedoralegacy.org/fedora/2/updates/i386/ e non più nella forma canonica nome_pacccheto-n.di.versione.i386.rpm ma nella versione nome_pacccheto-n.di.versione.legacy.i386.rpm
Nello stesso istante ha smesso di funzionare l'icona che solitamente diventava rossa con un punto esclamativo bianco lampeggiante.
Per rendere di nuovo operativa questo comoda icona, a mio avviso, basta editare il file /etc/sysconfig/rhn/sources ed apportare le seguenti modifiche:
- commentare le seguenti stringhe
yum fedora-core-2 http://download.fedora.redhat.com/pub/fedora/linux/core/2/$ARCH/os/
yum updates-released-fc2 http://download.fedora.redhat.com/pub/fedora/linux/core/updates/2/$ARCH/
yum-mirror fedora-core-2 http://fedora.redhat.com/download/up2date-mirrors/fedora-core-2
yum-mirror updates-released-fc2 http://fedora.redhat.com/download/up2date-mirrors/updates-released-fc2

ed aggiungere le seguenti stringhe:
yum fedora-core-2 http://download.fedoralegacy.org/fedora/2/os/$ARCH/
yum updates-released-fc2 http://download.fedoralegacy.org/fedora/2/updates/i386/

Route: strane cose (FC1)

Se eseguito in Fedora Core 1 toverete questa stringa:

169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
Ho trovato un riferimento sul sito di Red Hat a questo indirizzo:
https://listman.redhat.com/archives/shrike-list/2003-September/msg00895.html
nel quale vine indicato che questo indirizzo può essere rimosso dalla tabella di routing inserendo semplicemente questa stringa:
NOZEROCONF=yes
nel file:
/etc/sysconfig/netwrk-script/ifcfg-eth0
Una volta modificato il file riaviate la rete con il comando:
#/etc/init.d/network restart
Se rieseguite il comando:
#route
vedrete che è sparito come routing su "eth0" ma si è trasferito sull'interfaccia di loopback (lo):
169.254.0.0     *               255.255.0.0     U     0      0        0 lo
Perché anche questa tabella di routing sia rimossa dall'interfaccio "lo", basterà editare il file:
/etc/sysconfig/network-scripts/ifcfg-lo
ed inserire anche qui la stessa stringa:
NOZEROCONF=yes
Riaviate nuovamente la rete con il comando:
#/etc/init.d/network restart
Rieseguite il comando:
#route
"Et voilà" non c'è più nessun riferimento diverso da quanto ci saremmo aspettati dando il comando "route".
Sempre sul sito della Red Hat nell'indirizzo già riportato, che maggior informazioni si possono reperire al sito: www.zeroconf.org
Io non ho approfondito, ma siccome il tutto mi ha sempre funzionato senza questa tabella di routing, ho preferito rimuoverla in attesa di approfondire.

Formattare floppy a 1.67 per dos

Per creare un floppy che abbia dimensioni di 1.67Mb visibile e gestibile anche da windows:
#fdformat /dev/fd0u1680
#mkdosfs /dev/fd0u1680

Installare Fedora Core 2, e non solo

Per installare Fedora Core 2, ma anche le distribuzioni che usano il nuovo kernel 2.6, dove la tabella delle partizioni dell'hard disk sono già state scritte con altri sistenmi operativi, questo vale anche per linux che usavano il kernel precedente al 2.6, dovete stare molto attenti inquanto rischiate di dover reinstallare tutto.
Il problema è dato dal fatto che quasi tutti i sistemi operativi usavano i paramtri forniti dal BIOS anziché prenderseli direttamnte dall'hard disk. Quindi i BIOS che avevano impostato "Auto" nella ricerca dei dischi rigidi, potrebbero aver fornito CHS anziché LBA (o viveversa). Il kernel 2.6 riconosce nel modo corretto i paramtri dell'hard disk senza usare quelli forniti dal BIOS.
Quindi, se un discho e stato partiziona con sistemi che usano i paramtri del BIOS e pure errati, la taballe delle allocazioni sarà diversa. Poco importa, l'importante è non andare a riscrivere le tabelle con parametri diversi, come potrebbe avvenire se procedessimo all'installazione senza un piccolo accorgimento.
Il mio consoglio e di avviare l'installazione come fareste normalmente, se una volta scelta la linga di installazione e il tipo di tastiera non appare nessun messaggio, significa che la tabella è stata scritta nel modo corretto, altrimenti il messaggio che appare è il seguente:
"Unable to align partition properly. This probably means that another
partitioning tool generated an incorrrect parttion table, because it
didn't have the correct BIOS geometry. It safe to ignore, but ignoring
may cause (fixable) problems with some boot loaders".
Pulsanti a disposizione "Ignora" - "Annullare" (non in inglese ma in italiano)
In questo caso spostatevi sul terminale con ctrl+alt+F1 e digidate:
#cat /proc/ide/hda/geomtry
il risultato che avrete sarà:
physical nC/nH/nS
logical nC/nH/nS

dove:
nC: Nimero dei Cilindri
nH: Numero delle testine
nS: Numero dei settori
Saranno diversi i valori di "nC" tra physical e logical.
Se avete altri dischi dovrete prendere anche i loro valori. I dati da scrivere o ricordarsi sono sono quelli della riga logical.
L'unico valore da sostituire è nH, nel caso che le testine siano 16 dovrà essere sostituito con 255 nel caso che siano 15 con 240. Riavviate il sistema con ctrl+alt+canc ed al prompt scrivete:
lilo: linux hda=nC,255,nS hdb= ....
o
lilo: linux hda=nC,240,nS hdb= ....

Profili utenti:

Impostazioni comuni di tutti gli utenti in ambiente shell si trova in:
/etc/bashrc
Le impostazioni personalizzabili da ogni singolo utente si trovano in:
~/.bash_profile
Le impostazioni di default per un utente appena creato avviene tramite la copiatura del file che si trovva:
/etc/skel/.bash_profile

Impostazione data ed ora

L'impostazione della data e dell'ora, si può effetuare tramite l'utility: #timetool
E' possibile prelevare l'ora ufficiale da internet dai vari siti, quello italiano è: time.ien.it con.
Il comando per la sincronizzazione è:
#rdate -sp time.ien.it
s imposta l'ora e data;
p viene visualizzata.
Per sincronizzare l'ora per tutto il sistema:
#/sbin/hwclock --systohc
Per avere sincronizzato sempre l'orario del proprio sistema con quello ufficiale del sito time.ien.it, basta aggiunger la seguente stringa:
server time.ien.it
nel file /etc/ntp.conf nella sezione:
# --- GENERAL CONFIGURATION ---
Attivare il servizio ntpd tramite "serviceconf" o "ntsysv"

JAVA (F13 32-BIT)

Fedora 13 utilizza il pacchetto OpenJDK. Se si vuole usare JAVA di Sun, basterà scaricare ed installare il JRE nel seguente modo:
# rpm -ivh jre-6u22-linux-i586.rpm
# /usr/sbin/alternatives --install /usr/bin/java java /usr/java/default/bin/java 20000
Per instalare i pulgins in Firefox:
/usr/sbin/alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/java/default/lib/i386/libnpjp2.so 20000
Per riutilizzare OpenJDK:
/usr/sbin/alternatives --config java
/usr/sbin/alternatives --config libjavaplugin.so

KDE: impostazioni

Per aggiungere l'icona nel menù di KDE "Salva Sessione", editare il file
.kde/share/config/ksmserverrc
ed aggiungere nella sezione [General]
la seguente stringa:
loginMode=restoreSavedSession

Per chiudere la sessione senza che venga chiesta la conferma, inserire anche la seguente stringa:
confirmLogout=false

SMTP (sendmail)

Con la versione di Red Hat 8.0 devono essere configurati i seguenti file:
/etc/mail/access
/etc/hosts.allow
Al primo deve essere aggiunto le seguenti stringhe:
127.0.0.1 RELAY
your_IP RELAY
Al secondo:
sendmail: IPADDRESS 127.0.0.1

Suono Acustico

Per eliminare il suono acustico dai terminali aggiungere la seguente istruzione nel file ~/.bashrc oppure, se deve essere generalizzato per tutti gli utenti, nel file /etc/bashrc:
setterm -bfreq 0

Numlock

Per poter avere sempre attivo il tasterino numerico sotto X, basta compilare il seguente sorgente numlock.c:
#include <X11/extensions/XTest.h>
#include <X11/keysym.h>
int main()
{
Display* disp = XOpenDisplay( NULL );
if( disp == NULL ) return 1;
XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock ), True, CurrentTime );
XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock ), False, CurrentTime );
XCloseDisplay( disp );
return 0;
}


Comando per la compilazione:
#gcc numlock.c -o numlock -lX11 -lXtst -I/usr/X11R6/include -L/usr/X11R6/lib
Spostare l'eseguibile nella directory /bin
aggiungere la seguente stringa in /etc/X11/xdm/Xsetup_0
/bin/numlock

Per averlo abilitato anche sotto terminale deve essere aggiunta la seguente istruzione nel file /etc/rc.d/rc.sysinit
for tty in /dev/tty[1-9]*; do
setleds -D +num < $tty
done

ServerX

Configurazione ServerX
#Xconfigurator
Per poter aprire programmi in ambiente X, provenienti da host remoti sempre linux/unix, deve essere concesso il permesso di ricevere tali finestre al serverX del localhost. Tale permesso viene abilitato con il comado:
#xhost nome_macchina_remota
Si può rendere permanente il permesso aggiungendo, nel file /etc/X11/xdm/Xsetup_0 la seguente stringa:
/usr/X11R6/bin/xhost nome_macchina_remota
Per abilitare l'accesso alle connessioni da Server X remoti tramite "query" editare i seguenti files:

  • /etc/X11/gdm/gdm.conf nella sezione [xdmcp] al volore "Enable" sostituire "false" con "true"

  • /usr/share/config/kdm/kdmrc nella sezione [xdmcp] al volore "Enable" sostituire "false" con "true"

Infine:
#kill -HUP `cat /var/run/gdm.pid`
Atenzione! Si resetttano le sessioni aperte in ambiente X.
Per collegarsi da un computer con Windows deve essere installata un'applicazione che sia in grado di emulare/creare un ambiente "X". Per fare ciò basta scaricare dal sito della Red Hat l'applicazione "Cygwin" ed installare almeno i pacchetti: base, shell e XF86free. Avviata la shell sul computer windows basta digitare:
#X -query nome_host_linux
Mentre per collegarsi tra sistemi linux, digitare:
$ X -query <nome_host_linux_remoto> -from <nome_host_linux_locale> :1

Server FTP

Installare il pacchetto wu-ftpd.x.x.x.rpm
Editare il file /etc/inetd.conf e scommentare la stringa che interessa il servizio FTP.
Nel caso che sia utilizzato il xinetd, editare il file /etc/xinetd.d/wu-ftpd ed impostare il valore disable=yes a disable=no; riavviare il servizio:
#/etc/init.d/xinetd restart

Setserial

Quando si usa questo comando, le porte seriali deveno essere disattivate o scollegate fisicamente dalla periferica.

Uso del DAT SCSI

Per utilizzare il dat per archiviare i file occore utilizzare sempre il comando tar:
#tar cf /dev/nst0 /path_dir_da_archiviare/
alla fine dell'archiviazione non riavvolge il nastro.
Per verificare che il tape sia auto riavvolgente:
#mt -f /dev/st0 stat
quindi si può usare il comando:
#mt -f /dev/st0 rewind
Mentre, utilizzando:
#tar -cf /dev/rmt0 /path_dir_da_archiviare/
alla fine dell'archiviazione si riavvolge il nastro.
Per vedere l'archivio appena creato:
#tar -tf /dev/nst0
quindi riavvolgere il nastro
#mt -f /dev/st0 rewind
oppure per riavvolgere ed estrarre la cassetta:
#mt -f /dev/st0 rewoff
Utilizzando
#tar -cf /dev/st0 /path_dir_da_archiviare/
Il nastro si riavvolge quando alla conclusione dell'operazione.

SAMBA

Dopo aver installato e configurato samba, attivare l'accesso degli utenti windows utilizzando il comando smbpasswd, comando abilitato solo per root:
#smbpasswd -a username
Per creare una cartella condivisa tra tuttti gli utenti abilitati all'accesso ad linux tramite smb, basterà creare all'interno del file /etc/samba/smb.conf la seguente sezione con relative opzioni:
[public]
path = /home/share
comment = Directory Condivisa
volume = Directory Sharing
writeable = yes
create mode = 0777
directory mode = 0777
guest ok = yes

Con questi parametri avremo una directory chiamata public con diritti di accesso nella scrittura/lettura/modifica di tutti i file e directory presenti in essa da tutti gliutenti autentificati da smbpasswd.

[<SHARE>]
 	        path = /home/<SHARE>
 	        comment = <SHARE>
 	        browseable = yes
 	        read only = no
 	        create mask = 660
 	        directory mask = 2770
 	        valid users = @<SHARE>
	
Ladirectory, all'interno del file system di linux si trova in /home/share.
Questa deve essere creata nel seguente modalità:
#mkdir /export/samba/data
#chmod 777 /export/samba/data
Al momento della connessine al server samba, la finestra di windows visualizzerà:
  • la cartella HOME proprietraia dell'utente che solo lui può accedervi con tutti i diritti;

  • la cartella PUBLIC che è quella condivisa anche dagli altri utenti;

  • le eventuali stampanti condivise.

Per permettere anche all'utente di montare le condivisioni nella propria home, digitare:
# chgrp root $(which smbmnt)
# chmod 4755 $(which smbmnt)

Recuperare i messagi di Standard Error

Per recuperare i messaggi di errore dopo aver lamiciato un comando utilizzare "2>" o "2>>".
Esempio:
#cp -arp ./ /tmp/mio 2> errori; cp -arp ./ /tmp/altra_dir 2>> errori
Con il primo si crea il file "errori" che conterrà gli errori del primo comando, con il secondo vengono appesi i messaggi di erroe al file "errori" creato precedenttemente.

Script

Info:
Gli script che girano sotto shell bash iniziano con:
#!/bin/bash
eseguire un comando sulla stringa ECHO:
echo "la stringa `comando` continuo di una stringa `altro_comando` fine della stringa".
Convertire i file che hanno la prima lettera maiscola in minuscola:
#!/bin/bash
for f in *; do
mv $f `echo $f | tr '[A-Z]' '[a-z]'`
done



Apache

Come limitare l'accesso al server web Apache:
dentro il file access.conf modificare quanto segue:
<Directory "/var/www">
order deny,allow
deny from all
allow from 192.168.0.
</Directory>
Dare l'accesso solo ad indirizzi IP:
Moficare sotto /etc/http.conf nella sezione
# First, we configure the "default" to be a very restrictive set of
#permissions.
#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
#"AuthConfig", and "Limit"
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
AllowOverride None
con
AllowOverride Limit

La politica degli accessi sarà descritta nel file .htaccess presente nella directory che deve assere ristretta.


Thunderbird e link ipertestuali

Thunderbird e link ipertestuali

Se un mail all'interno di Thunderbird ha un link ipertestuale e non vi apre nessun browser per visualizzare la pagina web, dovete modificare il file ~/.thunderbird/fregrta.default/prefs.js aggiungendo le seguenti stringhe:
user_pref("network.protocol-handler.app.ftp", "/usr/bin/firefox");
user_pref("network.protocol-handler.app.http", "/usr/bin/firefox");
user_pref("network.protocol-handler.app.https", "/usr/bin/firefox");
Il path "/usr/bin/firefox" deve essere modificato con le proprie esigenze/installazioni.

xsane: Scanner Epson Perfection 1640 SU SCSI (RH9)

# chmod 666 /dev/sgX
dove "X" identifica l'ID SCSI e lo si può ricavare usando il comando
#sane-finder-scanner
Per poter utilizzare Xsane anche come utente devono essere impostati diversi parametri con chmod. Per sapere al quale device è collegato lo scanner, eseguire:
# scanimage --list-devices
o
#sane-find-scanner
i quali rilasceranno un'informazione su qual device è collegato, tipo /dev/sgX,
dove "X" e il numero del device.
Una volta individuato il device occore eseguire il seguente comado:
#chmod ua+rwx /dev/sgX

Esempio con scanner SCSI:
# scanimage --list-devices
device `epson:/dev/sg0' is a Epson Perfection1640 flatbed scanner
o [epson] Requesting extended status
[epson] No error
[epson] Checking for ADF: (00)
[epson] Checking for TPU: (00)
[epson] Device name = Perfection1640
device `epson:/dev/sg0' is a Epson Perfection1640 flatbed scanner
#sane-find-scanner
found SCSI processor "EPSON Perfection1640 1.04" at /dev/sg0
quindi
#chmod ua+rwx /dev/sg0
Top

xsane: Scanner Mustek ScanExpres 1200 UB Plus (FC1)

L'installazione di questo scanner è semplice, basta scaricare il firmware http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb ed seguire le istruzioni a questa pagina http://www.sane-project.org/man/sane-gt68xx.5.html. In sintesi basta:
#mkdir /usr/local/share/sane
#mkdir /usr/local/share/sane/gt68xx/
#cp sbfw.usb /usr/local/share/sane/gt68xx/
Editare il file /etc/sane.d/gt68xx.conf ed aggiungere le seguenti stringe:
##############################################################################
#Autodetect Mustek ScanExpres 1200 UB Plus
usb 0x05d8 0x4002
override "mustek-scanexpress-1200-ub-plus"
firmware "/usr/local/share/sane/gt68xx/SBfw.usb"
vendor "Trust"
model "Compact Scan USB 19200"
afe 0x20 0x02 0x22 0x03 0x1f 0x04
Se lo scanner viene collegato alla porta USB, tutto funziona correttamente, ma se lo scanner rimane collegato al pc al successivo riavvio non verrà rilevato. Per non scollegare e ricollegare ogni volta il dispositivo dalla porta USB perchè tutto torni a funzioanre, basta editare il file /et/modules.conf aggiungendo la seguente stringa:
alias gt68xx /dev/usb/scanner0
Top

Mozilla dalla versione 1.2.1

Java Plug-in

Scaricare dal sito Sun http://java.sun.com/j2se/, l'ultima relase di "jre" (es.: j2re-1_4_2-linux-i586-rpm.bin), eseguire il comando:
#chmod +x j2re-1_4_2-linux-i586-rpm.bin
accettare le condizioni scrivendo "yes", quindi digitare il successivo comando:
#rpm -ivh j2re-1_4_2-linux-i586.rpm
Conclusa l'installazione, spostarsi nella directory:
#cd /usr/lib/mozilla/plugins
quindi creare il link dinamico alla libreria "libjavaplugin_oji.so", nel seguente modo:
#ln -s /usr/java/j2re1.4.2/plugin/i386/ns610/libjavaplugin_oji.so

Java Plug-in FC4_x64

Per installare i plug-in java in Fedora Core 4 x64, deve essere scaricato il pachetto j2re-1.4.2-fcs-linux-amd64.bin dal sito:
ftp://ftp.tux.org/pub/java/JDK-1.4.2/amd64/fcs/
Una volta scaricato il file, eseguire:
#chmod +x j2re-1.4.2-fcs-linux-amd64.bin
#./j2re-1.4.2-fcs-linux-amd64.bin
#mv j2re1.4.2 /usr/lib64
#cd /usr/lib64/mozilla/plugins
#ln -s /usr/lib64/j2re1.4.2/plugin/amd64/mozilla/libjavaplugin_oji.so

Macromedia Shockwave Player Plug-in

Scaricare dal sito Macromedia l'ultima versione del Plug-in; per la versione 6.0.79-1 cliccare qui http://macromedia.rediris.es/apt/redhat/9/RPMS.macromedia/flash-plugin-6.0.79-1.i386.rpm.
Una volta scaricato, eseguire:
#rpm -ivh flash-plugin-6.0.79-1.i386.rpm

Plugger Streaming Multimedia Plugin for Unix Mozilla

Scaricare dal sito http://fredrik.hubbe.net/plugger.html l'ultima versione del Plug-in; per la versione 5.0 cliccare qui http://fredrik.hubbe.net/plugger/plugger-5.0.tar.gz.
Una volta scaricato, scompattarlo nel seguente modo:
#tar -xzf plugger-5.0.tar.gz
Entrare nella directory plugger-5.0:
#cd plugger-5.0
Esegure la compilazione dei binari nel seguente modo:
#make linux
Per avere i plug-in disponibili a tutti gli utenti, copiare i file nel seguente modo:
#cp plugger.so /usr/lib/mozilla/plugins
#cp pluggerrc /etc/pluggerrc-5.0
#cp plugger-5.0 /usr/bin
L'installazione è finita. Esiste anche la possibilità di compialare il tutto le formato rpm procedendo nel seguente modo:
#make linux rpm
Adesso avrete due pacchetti nel segunete formato:

  1. plugger-5.0-1.i386.rpm

  2. plugger-5.0-1.src.rpm

A questo punto basta installare il pacchetto:
#rpm -ivh plugger-5.0-1.i386.rpm
ed il gioco è fatto. Oppure il pacchetto può essere ricompilato per la propria piattaforma nel seguente modo:
#rpmbuild --rebuild --taget $ARCH plugger-5.0-1.src.rpm
dove "$ARCH" può assumere i seguenti valori:
  1. i386=per tutti i procesori x86;

  2. i486=per tutti i processori 486

  3. i586=per tutti i processori intel 586 (Pentium PC55/II) AMD (K6-II/III)

  4. i686=per tutti i processori intel 686 (Pentium PRO/III/IV)

  5. athlon=per tutti i processori Athlon (AMD K7)

In questo caso il pacchetto si troverà collocato in "/usr/src/redhat/RPMS/$ARCH/plugger-5.0-1.$ARCH.rpm", quindi l'istallazione dovrà avvenire nel seguente modo:
#rpm -ivh /usr/src/redhat/RPMS/$ARCH/plugger-5.0-1.$ARCH.rpm

Evitare lo spoofing per i browser con motore "Gecko"

Per verificare se anche il vostro broser è afflitto da questo problema, indipendentemente dal sistema operativo usato, basta andare a questo indirizzo e fare la prova: http://www.macworld.it/showPage.php?template=notizie&id=9298
Per disabilitare questa funzione basta digitare nell abarra degli indirizzi "about:config", cercare la stringa "network.enableIDN" cliccateci due volte ed impostare il valore da "true" a "false".

Mouse Notebook (XFConfig)

Per configurare entrambi i mose touchpad e mouse su USB bisogna editare il file:
/etc/X11/XF86Config
e modificarlo nel seguente modo:


Section "ServerLayout"
	Identifier     "Default Layout"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "DevInputMice" "AlwaysCore"
EndSection


Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "PS/2"
	Option	    "Device" "/dev/psaux"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "no"
EndSection

Section "InputDevice"

# If the normal CorePointer mouse is not a USB mouse then
# this input device can be used in AlwaysCore mode to let you
# also use USB mice at the same time.
	Identifier  "DevInputMice"
	Driver      "mouse"
	Option	    "Protocol" "IMPS/2"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "no"
EndSection

Mentre sotto terminale (alt+F1, alt+F2, ecc.) non è possibile fare quanto avviene sotto X, ma occorre modificare il file:
/etc/sysconfig/mouse
inserendo le configurazioni di entrambi i mouse, una configurazione sarà commentata e l'altra no. Un esempio delle due configurazioni:


###Funziona il mouse USB
#FULLNAME="Generic - Wheel Mouse (IMPS/2)"
#MOUSETYPE="imps2"
#XEMU3="no"
#XMOUSETYPE="IMPS/2"
#DEVICE=/dev/input/mice

###Funziona il Touchpad
FULLNAME="Generic - 3 Button Mouse (PS/2)"
MOUSETYPE="ps/2"
XEMU3="yes"
XMOUSETYPE="PS/2"
DEVICE=/dev/psaux

Ogni qual volta che deve essere usato l'una o l'altra configurazione, occorrerà scommentare e commentare le configurazioni ed eseguire il comando:
#/etc/init.d/gpm restart
Ovviamente se funziona il mouse esterno sotto terminale il touchpad sotto X non funziona più

Testato su Red Hat 9 e Fedora Core 1

Comandi

Bash

Completamento automatico.
Per il completamento dell'input alla linea di comando, oltre al conosciuto tasto TAB, potete utilizzare le seguenti combinazioni di tasti:
ESC - ?
: Mostra tutte le possibili sostituzioni disponibili al momento
ESC - TAB : Prova a completare tenendo conto della history
ESC - / : Prova a completare il nome di un file
ESC - ~ : Prova a completare il nome di un utente
ESC - $ : Prova a completare il nome di una variabile
ESC - @ : Prova a completare il nome di un host
ESC - ! : Prova a completare il nome di un comando


btar

btar è un alias:
btar='tar --use-compress-program /usr/bin/bzip2 '
il quale permette di comprimere con il sistema di compressione di bzip2.
#btar -cf
nomearchivio.tar.bz2 /path_da_archiviare/
#btar -tf nomearchivio.tar.bz2 verifica il contenuto dell'archivio


blkid

blkid è un Questo comando server per avere la lista di tutte le partizioni identificate attraverso UUID.
Con:
#blkid
avremo la lista di tutte le partizioni tipo questa:

	/dev/sda1: UUID="623C5E953C5E6457" TYPE="ntfs" 
	/dev/sdb1: UUID="71b52383-4d54-4ff4-ad38-34d623839826" TYPE="swap"
	/dev/sdb2: UUID="7fd97056-9874-47c7-ba42-e965c2f48c98" TYPE="ext4" 
	/dev/sdb3: UUID="b74a1e73-3546-44de-b94d-5db5fe163dd8" TYPE="ext4" 
	/dev/sdb4: UUID="a6f8d9a4-9c88-4e20-8d4d-7c6dcc34e2f8" TYPE="crypto_LUKS"
	

Risultato analogo si ottiene con:
ls -l /dev/disk/by-uuid:

	lrwxrwxrwx 1 root root 10 17 apr 08.01 623C5E953C5E6457 -> ../../sda1
	lrwxrwxrwx 1 root root 10 17 apr 08.01 71b52383-4d54-4ff4-ad38-34d623839826 -> ../../sdb1
	lrwxrwxrwx 1 root root 10 17 apr 08.01 7fd97056-9874-47c7-ba42-e965c2f48c98 -> ../../sdb2
	lrwxrwxrwx 1 root root 10 17 apr 08.01 b74a1e73-3546-44de-b94d-5db5fe163dd8 -> ../../sdb3
	lrwxrwxrwx 1 root root 10 17 apr 08.01 a6f8d9a4-9c88-4e20-8d4d-7c6dcc34e2f8 -> ../../sdd4
	

cdrecord

cdrecord serve per masterizzare da shell, con:
#cdrecord --scanbus
elenca tutte le periferiche SCSI.
#cdrecord -v -eject gracetime=2 driveropts=burnfree speed=1 dev=0,6,0 blank=fast -data imagefile.iso
"-eject" espelle il cd quando e stato masterizzato
"gracetime= con i valori compresi tra 2 e 9, indica il tempo di attesa prima che sia iniziato il processo di masterizazione.
"driveropts=burnfreeabilita il burn prof per evitare in buffer underun
. "speed=" indica la velocita di scrittura.
"blank=fast": cancella la PMA e la TOC di un cd-riscrivibile.
"dev=x,y,z"
x) indica il numero del BUS IDE o SCSI;
y) indica l'ID del masterizzatore;
z) indica il valore di LUN; tipo un CD-ROM allinterno di un multi lettore.
"-data" indica che tipo di formato è di dati.
Il file "imagefile.iso" e' l'immagine iso9660 preparata con mkisofs.
#cdrecord -v -eject gracetime=2 driveropts=burnfree speed=1 dev=0,6,0 blank=fast
Questa stringa serve per cancellare la PMA e la TOC di un cd-riscrivibile.
#cdrecord -v -eject gracetime=2 driveropts=burnfree speed=1 dev=0,6,0 blank=all
Questa stringa serve per cancellare tutto il contenuto di un cd-riscrivibile.

Per il masterizzatore HP7200e parallelo
cdrecord -v -eject gracetime=2 driveropts=burnfree speed=2 dev=0,0,0 blank=fast -data / path/file_image_cd.iso


Per il masterizzatore con Yamaha 8824 SCSI
cdrecord -v -eject gracetime=2 driveropts=burnfree speed=2 dev=0,6,0 blank=fast -data / path/file_image_cd.iso


Con il kernel 2.6.x, praticamente FC2,3,4,6 il device non si epsrime con "dev=0,0,0" ma indicando direttamente in modo canonico "dev=/dev/hdb, dev=/dev/sg0, ecc.." quindi:
#cdrecord -v -eject gracetime=2 driveropts=burnfree speed=1 dev=/dev/hdb blank=all

Per lasciare la sessione aperta:
#cdrecord -v -eject gracetime=2 driveropts=burnfree speed=2 dev=/dev/hdd blank=fast -data -multi / path/file_image_cd.iso

chattr

Serve per impedire a file di con uid root:root di essere cancellati quando si trovano nelle HOMEDIR di un utente.
per non farlo cancellare
# chattr +i <file>
per farlo tornare "normale" :
# chattr -i <file>


colrm

colrm serve per eliminare colonne di testo in un file ASCI, esempio:
avendo un file famiglia.txt composto in questo modo
> la mamma
> il babbo
> lo zio
ma lo volgio visualizzare senza il simbolo ">" e " ", quindi
#more famiglia.txt | colrm 1 2
Ovvero tolgie le colonne partendo dalla 1 e 2 compresa, quindi il risultato è:
la mamma
il babbo
lo zio


cryptsetup

cryptsetup serve per cryptare e gestire una partizione
Per creare la partizione cryptata usare:
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdXY o /dev/mdX
Per -c o --cipher e -h o --hash si possono usare uno tra i tanti sistemi presenti purché presenti nel kernel. La lista a questo link

Mentre -s o --key-size imposta la dimensione in bits della chiave. La fase successiva è accedere alla partizione criptata con: cryptsetup luksOpen /dev/md1 md1
L'ultimo paramatero può assumere qualunque nome e si troverà, una volta avuto l'accesso alla partizione, criptata, in /dev/mapper/md1
Se è la prima volta che è stato fatto l'accesso, deve essere formattata prima di essere montata, quindi: mkfs.ext4 /dev/mapper/md1
A questo punto non rimane che montare la partizione.
Cambiare/aggiungere la password ad un file system cryptato:
cryptsetup luksAddKey /dev/DEVICE
DEVICE=hdaX, sdax, fd0, mdX, ecc
Una volta eseguito il comando viene richiesta una password già presente e successivamente si deve inserire la nuova password, come sempre, per due volte. Il messaggio per la richiesta della vecchia password è "Inserire una qualsiasi passphrase:". Questo perché possono essere usate ben 8 password diverse.
Per inserire una chiave anziché utilizzare una frase, prima si crea la chiave:
dd if=/dev/urandom of=keyfile bs=2048 count=4
di consegurnza:
cryptsetup luksAddKey /dev/DEVICE keyfile
Infatti se dopo aver inserito la nuova passphrase or key file, date il comando:
cryptsetup luksDump /dev/DEVICE
vedrete che ci sono due "key slot occupate.
Per eliminare la vecchia password, digitare:
cryptsetup luksDelKey /dev/DEVICE X
Dove "X" è lo slot della password da canecellare che va da 0 a 7.

date

Il comando date preleva la data ed ora dal sistema nella forma seguente:
#date
Sat May 26 23:31:33 CEST 2001
Esso può renedere l'output personalizzato, per ottenere la data nel formato giorno/mese/annoesteso:
#date +%d/%m/%Y
Oppure per ottenere l'ora nel formato ora00-23:minuti:secondi
#date +%H:%M:%S
Questo comando è utile per creare file che sono legati alla data o all'ora, per esempio:
#touch file_con_data_`date +%d-%m-%Y`.txt
#ls file*
file_con_data_26-05-2001.txt
In questo caso non potranno essere utilizzate le "/"
Oppure all'ora:
#touch file_con_ora_`date +%H:%M:%S`.txt
#ls file*
file_con_ora_22:05:09.txt


dd

Per copiare un'intero disco su un'altro è possibile usare il comando "dd" solo se viene soddisfatto il criterio: la capacità del disco destinatario deve essere identica o magggiore.
Se viene soddisfatta la prima condizione non cambia assolutamente niente, mentre nella seconda condizione è possibile usare lo spazio rimanente o espandendo quelle già presenti o crearne altre nuove se le partizioni primarie/estese usate in origine saranno inferiori a 4.
Il comando da usare in questo caso è:
#dd if=/dev/hda of=/dev/hdb

Il comando "dd" può essere usato anche per copiare il MBR di un hard disk verso un'altro. Questo server se la copia tra un'hard disk ed un'altro è stata fatta con il comando "cp" sul quale è presente un sistema operativo. Il comando da usare per creare la copia è:
dd if=/dev/hda of=hda.mbr bs=512 count=1
Questo serve per copiare le informazioni di ogni singola partizione sia primaria che estesa che logica
dd if=/dev/hdaXX of=hdaXX.mbr bs=512 count=2

Mentre per il ripristino:
dd if=hda.mbr of=/dev/hda bs=512 count=1
dd if=hdaXX.mbr of=/dev/hdaXX bs=512 count=2

diff

diff serve per vedere la differenza tra due file che si assomigliano.
#diff
file1 file2
il risultato sara' dato:
con il simbolo '<' le stringhe diverse del file1 rispetto a file2
con il simbolo '>' le stringhe diverse del file2 rispetto a file1


du

Quesro comando si usa per visualizzare le dimensioni di una o più directory. Si consiglia di usare il flag "-h" in modo da visualizzare le dimensioni in formato "umano" anziché in byte.
Es.:
# du -h /home/user
mostrerà le dimensioni di ogni sotto directory presene all'interno del path specificato e come
ultima riga quello complessivo.
Invece utilizzando anche il flag "-s" si ottiene solo le dimensioni occupate dal path dato senza
visualizzare le sotto directory.
# du -sh /home/user

mkfs.ext3

Per formattare una partizione con filesystem di tipo ext3 deve essere utilizzato il seguente comando:
#mkfs.ext3 -L /label /dev/partizione
Dopo il flag -L si deve indicare il nome del file system, es: /boot, /, /home, ecc.

mkfs.ext4

Per formattare una partizione con filesystem di tipo ext4 deve essere utilizzato il seguente comando:
#mkfs.ext4 -L /label /dev/partizione
Dopo il flag -L si deve indicare il nome del file system, es: /boot, /, /home, ecc.
Oppure per ottimizzare:
mkfs.ext4 -j -m 1 -O dir_index,filetype,sparse_super /dev/DEVICE

grep

grep serve per selezionare stringhe che contengono una serie di caretteri.
#cat file | grep pippo
Se la stringa contiene spazi:
#cat file | grep 'pippo pluto'
Per toglie tutte le stringhe che contengono la parola "pippo":
#cat file | grep '^pippo'
Per toglie tutte le stringe che iniziano con "#" del file "pippo" e lo standard output viene rifiltrato nuovamente per togliere tutte le righe che non contengono nessun carattere:
#grep -v ^# pippo | grep -v ^$

growisofs

Per masterizzare una directory e le eventuali sottodirectory su un DVD-/R o DVD-/+RW:
usr/bin/growisofs -Z /dev/DEVCICE -volid "Nome del volume" \
-use-the-force-luke=notray \
-use-the-force-luke=tty \
-use-the-force-luke=dao \
-dvd-compat \
-speed=4 \
-volset \
-gui \
-graft-points \
-publisher
"Nome del pubblicatore" \
-preparer "Nome del realizzatore" \
-sysid "Nome del volume" \
-appid "Nome e versione dell'aplicazione usata" \
-joliet \
-iso-level 3 \
-rational-rock \
-full-iso9660-filenames \
-volset-size 1 \
-volset-seqno 1 \
PATH_DIRECTORY



formattare un dvd+/-rw:
/usr/bin/dvd+rw-format -gui -blank /dev/DEVICE
DEVICE = Per i computer con IDE-ATA normalmente i device sono: /dev/hdc o /dev/hdd.
Per i computer con device SCSI = /dev/sdX (X da "a" a "zz")

grub

grub è uno dei famosi boot loader di linux. Quando si procede ad una copia di un sistema da un'hard disk ad un'altro e voglaimo che questo nuovo poi possa riaviarsi, dopo la copia ed averlo installato al posto del precedente occorrerà riavviare il computer con un CD Linux d'installazione (Red Hat o Fedora) e digitare "linux rescue". Quando il sistema avrà individuato e montato il sistema in "/mnt/sysimage/", a voi non vi resta che controllare se oltre alla partizione "/" sia stata montata anche la partizione "/boot" sotto "/mnt/sysimage/boot", se non è andata così montatela. Una volta eseguito quanto detto digitate i comandi seguenti:
#cd /mnt/sysimage
#chroot /mnt/sysimage
#grub-install /dev/hda


Se non dovesse andare a buon fine e l'errore riportato è "/dev/hda: Not found or not a block device.", provare questo comando senza dare #chroot /mnt/sysimage/:
#grub-install --grub-shell=/usr/sbin/grub --root-directory=/mnt/sysimage hd0

hdparm

hdparm serve per vedere le caratteristiche e velocità delgli Hard Disk.
Mostra come' configurato il device specificato.
#hdparm -tT
/dev/hdX
(la X indica il disco)


ls

Questo comando visualizza tutti i file che hanno un qualsiasi caratere/numero al posto del "?".
#ls ?ile_da visualizzare

Questo comando visualizza tutti i file che hanno un qualsiasi caratere/numero al posto dei 4 "????".
#ls ????_da visualizzare

Questo comando visualizza tutti i file che hanno una serie qualsiasi di carateri/numeri prima del carattere "_".
#ls *_da visualizzare

locale

Questo comando serve per vedere le impostazioni internazionali del sistema:
#locale
LANG=it_IT.UTF-8
LC_CTYPE="it_IT.UTF-8"
LC_NUMERIC="it_IT.UTF-8"
LC_TIME="it_IT.UTF-8"
LC_COLLATE="it_IT.UTF-8"
LC_MONETARY="it_IT.UTF-8"
LC_MESSAGES="it_IT.UTF-8"
LC_PAPER="it_IT.UTF-8"
LC_NAME="it_IT.UTF-8"
LC_ADDRESS="it_IT.UTF-8"
LC_TELEPHONE="it_IT.UTF-8"
LC_MEASUREMENT="it_IT.UTF-8"
LC_IDENTIFICATION="it_IT.UTF-8"
LC_ALL=

Mentre con il comando "locale -a" vengono elencate tutte le possibili configurazioni attivabili sul sistema.

mail

Per inviare un mail da consol:
#mail utente@mail.it -s "soggetto" < file_ASCI_da_spedire
#cat /path_file_asci _1 /path_file_asci_n | mail -s "soggetto" utente@mail.it


man

Per stampare un man_page:
#man -t man_page | lpr -Plp2


mdadm

Breve descrizione di come recuperare i dati da due dischi con partizioni in mirroring montati in un altro pc.
Per conoscere qanti mirroring sono presenti nel sistema:
#mdadm --examine --scan
l'output dovrebbe essere come il seguente:
ARRAY /dev/md/0 metadata=1.0 UUID=c4864fec:a8420641:db07d279:68366426 name=localhost.localdomain:0
ARRAY /dev/md/1 metadata=1.2 UUID=56aa0a16:390a2ead:0c503735:1ef489a6 name=localhost.localdomain:1
ARRAY /dev/md/2 metadata=1.2 UUID=a67ded67:4b65fc55:fb7286fe:b074e498 name=localhost.localdomain:2
ARRAY /dev/md/3 metadata=1.2 UUID=36a5c876:0a6b3956:f6270a32:db6083d1 name=localhost.localdomain:3
ARRAY /dev/md/4 metadata=1.2 UUID=484f9a38:da69a902:14244588:386a26b2 name=localhost.localdomain:4
ARRAY /dev/md/5 metadata=1.2 UUID=de573e2d:2d46e285:3624c9b6:d03e4304 name=localhost.localdomain:5
ARRAY /dev/md/6 metadata=1.2 UUID=acdc9ca9:402b5b68:27538ee1:da6fe94e name=localhost.localdomain:6
ARRAY /dev/md/7 metadata=1.2 UUID=64976752:ea5d4aec:8d55f23b:42141c3e name=localhost.localdomain:7
ARRAY /dev/md127 UUID=cde7b9a7:5d56815c:78364029:4a531447
ARRAY /dev/md119 UUID=a78248ec:daeefd39:6be7f4bb:04140e28
ARRAY /dev/md122 UUID=b6e5daaf:94da1eb7:6446b000:70737956
ARRAY /dev/md124 UUID=7c66c398:fecd2681:01a72d06:efd8bb64
ARRAY /dev/md123 UUID=cadae840:80ee31ec:e1865633:39052b9c
ARRAY /dev/md120 UUID=9eb7ccba:b4cc8623:af18007b:8f0c7967
ARRAY /dev/md121 UUID=a7898da6:02da5217:5d0ec89e:1d3a2a8a

In questo caso l'output é formato da due gruppi di mirror uno fatto con la Fedora 17, la prima parte, e con la Fedora Core 6, la seconda parte.
Adesso andremo a vedere quali mirroring sono stati riconosciuti dal sistema al momento dell'avvio:
#cat /proc/mdstat

Personalities : [raid1] 
md4 : active raid1 sdb6[1] sda6[0]
      104096116 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md6 : active raid1 sda8[0] sdb8[1]
      104096116 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md3 : active raid1 sdb5[1] sda5[0]
      85650460 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md5 : active raid1 sda7[0] sdb7[1]
      104096116 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md1 : active raid1 sdb2[1] sda2[0]
      104856504 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md0 : active raid1 sda1[0] sdb1[1]
      104096116 blocks super 1.0 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md7 : active raid1 sda9[0] sdb9[1]
      8565046 blocks super 1.2 [2/2] [UU]
     
md2 : active raid1 sda3[0] sdb3[1]
      32504760 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

Quindi restanto da avviare i mirroring: md127, md119, md122, md124, md123, md120 e md121.
La prima cosa da fare è creare i device block in /dev:
#mknod /dev/md127 b 9 127
#mknod /dev/md119 b 9 119
#mknod /dev/md124 b 9 124
#mknod /dev/md123 b 9 123
#mknod /dev/md120 b 9 120
#mknod /dev/md121 b 9 121

A questo punto si possono avviare i mirroring utilizzando l'UUID di ciascuno:
mdadm /dev/md127 --assemble -u cde7b9a7:5d56815c:78364029:4a531447
mdadm /dev/md119 --assemble -u a78248ec:daeefd39:6be7f4bb:04140e28
....

Adesso dovrebbero essere tutti avviati e presenti in /proc/mdstat.

mkisofs

mkisofs serve per creare un immagine iso di file e directory per essere poi masterizzate con cdrecord.
#mkisofs -v -r -J -A "Nome del volume" -V "Nome label del CD" -iso-level 3 -rJ -o file.iso path_input_file.iso
L'opzione:
"-v" Visualizza il lo stato di avanzamento dell'immagine;
"-r" corrisponde a Rock Ridge iso9660;
"-J" per generare la compatibilita' con windows (joillet);
"-A" nome del volume, se contiene spazzi mettere tra doppi apici;
"-V" Nome della label del CD, se contiene spazzi mettere tra doppi apici;
"-iso-level 3" valori tra 1 e 3, 3 indica nessuna restrizione;
"-o" indica il percorso e nome del file immagine.
Esempio:
mkisofs -v -r -J -A "linux & linux" -V "linux & linux" -iso-level 3 -o /path_file_cd.iso \\
/path_directory_1/ /path_directory_2/ /path_directory_n/ \\
/path_file_1/ /path_file_2/ /path_file_n/


Escludere una o più directory all'interno della principale:
mkisofs -v -r -J -A "linux & linux" -V "linux & linux" -iso-level 3 -o /path_file_cd.iso \\
-x /path_directory_root/1/ -x /path_directory_root/2/ -x /path_directory_root/n/ \\
/path_directory_root/


Per montare un'immagine iso
mount -t iso9660 -o ro,loop=/dev/loop0 /path/file_image_cd.iso /path_mount/

mount

Per montare cd creati con DirectCDo simili:
#mount -t udf /dev/cdrom /mnt/cdrom

Quando il sistema si avvia in modalità "fail safe", ovvero il sistama si avvia con la partizione di "/" in modalità "ro" e deve essere modificato il file /etc/fstab/, per poter operare è necessario rimontare la partizione in "rw" nel seguente modo:
#mount -o remount,rw /


netstat

Con:
# netstat -tunap
si visulaizzano tutte le porte in ascolto, lo stato ed a cosa sono collegate
Esempio:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     2192/portmap
tcp        0      0 0.0.0.0:113             0.0.0.0:*               LISTEN     2779/inetd
tcp        0      0 0.0.0.0:57523           0.0.0.0:*               LISTEN     2844/rpc.statd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     2602/cupsd
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     2499/postmaster
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     2765/exim4
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN     5262/6
tcp        0      0 127.0.0.1:1631          0.0.0.0:*               LISTEN     5262/6
	

ps

#ps -aux
tutti i processi attivi associato da quali utenti utilizzato.


rdev

sul floppy è stato copiato il kernel con:
#cp /path/kernel /dev/fd0
con:
#rdev /dev/fd0 /dev/hda8
il floppy dopo aver caricato il kernel avvierà la partizione /dev/hd8


rpm

#rmp -ivh nomepachetto.rpm installa pacchetto
#rpm -Uvh nomepachetto.rpm aggiorna pacchetto
#rpm -e nomepachetto.rpm disinstalla programma
#rpm -ql nomepachetto.rpm visualizza file facenti parte del package installato
#rpm -qa visualizza tutti i programmi installati nel sistema
#rpm -qa | grep nomepachetto visualizza il pacchetto che contine le lettere dopo "grep"
#rpm -qli | grep nomepachetto visulaizza le informazioni
#rpm -qf /path/nomefile ci informa da che pacchetto proviene il file
#rpm -qi nomepachetto.rpm usato su un pachetto da installare rilascia infoirmazioni utili come: descrizione, files, etc..
#urpmi nomefile installazione di un pacchetto mediante solo l'inserimento del nome
#rpmbuild --rebuild --target [athlon;i386;i486;i586;i686] nome-pacchetto.src.rpm con questo comando si ricompailano i pachetti tipo src.rpm per l'architettura usata per ottimozzarne le funzionalità e prestazioni del programma.

Per evitare la creazione dei pacchetti di debug (nomepacchetto-debuginfo.$ARCH.rpm) deve essere aggiunto il file .rpmmacros nella directory di root o se esiste già aggiungere la seguente stringa:
%debug_package %{nil}
In sequenza:
#touch /root/.rpmmacros
#echo "%debug_package %{nil}" >> /root/.rpmmacros


Per ottimizzare la compilazione modificare il file /usr/lib/rpm/rpmrc e modificare la stringa da
optflags: i686 -O2 -g -march=i686
a
optflags: i686 -O3 -g -march=i686

Per compilare un pachetto nel formato tar.gz:
rpmbuild -ta --target [athlon;i386;i486;i586;i686] nome-pacchetto.tar.gz

Per scompattare un pacchetto sorgente nomepacchetto-x.y.z.src.rpm
# rpm -Uvh nomepacchetto-x.y.z.src.rpm
Nella directory /usr/src/redhat/SPECS/ trovate il file nomepacchetto.spec.

Per compilare un sorgente partendo dal file nomepacchetto.spec, digitare il comando:
# rpmbuild -ba --define "dist .fc6" --define "fedora 6" --rebuild --target i686 nomepacchetto.spec

You can verify each package and see who signed it with the following command:
#rpm --checksig -v filename
If you only wish to verify that each package has not been corrupted or tampered with, examine only the md5sum with the following command:
#md5sum filename


sed

sed serve per togliere da un file ASCI alcune parti.
Es: se vogliamo togliere da queste stringhe, contenute in un file, da così:
  AfterStep-1.7.164-2.i386.rpm 1220 Kb Wed Feb 2 19:32:00 2000
  AfterStep-APPS-20000124-4.i386.rpm 721 Kb Fri Feb 4 14:23:00 2000
  AnotherLevel-1.0-1.noarch.rpm 90 Kb Thu Sep 23 20:04:00 1999
  ElectricFence-2.1-3.i386.rpm 21 Kb Wed Feb 2 19:37:00 2000

a cosi':
AfterStep-1.7.164-2
AfterStep-APPS-20000124-4
AnotherLevel-1.0-1
ElectricFence-2.1-3

sed sarà utilizzato nel seguente modo:
nei primi due passaggi si eliminano tutti i caratteri che si trovano partendo da .i386 e .noarch compresi
#sed 's/\.i386.*//' nomefile.originale > nomefile.modifocato
#sed 's/\.noarch*//' nomefile.modificato > nomefile.modificato-2

Nel terzo passaggio si eliminano i due spazi che si trovano davanti alle stringhe:
#sed 's/\ //' nomefile.originale-2 > nomefile.modifocato-3
Atro esempio: questa stringa permette di prelevare il contentuto racchiuso tra due parentesi tonde "(" ")" escludendo le stesse
#cat file.txt | sed s/\).*$// | sed s/\^.*\(// > new_file.txt

sfdisk

Per creare una copia delle informazioni di come sono allocate le partizioni, eseguire il seguente comando:
#sfdisk -d /dev/hda > hda.out
Per ripristinare la condizione salvata precedentemente:
#sfdisk /dev/hda < hda.out
In questo esempio avrei salvato/ripristinato le informazioni di un disco master sul primo canale IDE.

sort

sort serve per mettere in ordine un file o una lettura di un file.
#more file | sort
sara' letto il file e il contenuto sara' visualizzato ordinando in ordine alfabetico le stringhe che esso contiene.


ssh (FC3-FC4)

ssh serve per collegarsi con connessione criptata da un host ad un'altro.
Il comando utilizzato usualmente è:
# ssh -Y -l NOME_UTENTE NOME_MACCHINA
Il flag "-Y" abilita il trusted forwarding delle aplicazioni grafiche su localhost lanciate sull'host remoto.
Il flag "-l" indica con quale login si intende fare sull'host remoto.
Con le versioni di ssh presenti fino a Fedora Core 2 si può omettere il flag "-Y" perché il forwarding è abilitato per default.
# ssh -X -l NOME_UTENTE NOME_MACCHINA
Il flag "-X" abilita il forwarding delle aplicazioni grafiche su localhost lanciate sull'host remoto.

Apertura del canale "ipp" (Internet Printing Protocol 631/tcp) per configurare "cups" da una macchina remota.
Sul Client dove risiede il servizio da configurare:
# ssh -X -l NOME_UTENTE NOME_MACCHINA -R 1631:localhost:631
Sul remoto basterà aprire il browser e digitare: http://127.0.0.1:1631 o http://localhost:1631/

Apertura di un canale "ssh" per accedere da un client al server quando il server è protetto da firewall.
Sul server:
# ssh -X -l NOME_UTENTE NOME_MACCHINA -R 22222:localhost:22
Sul Client:
# ssh -p 22222 -l NOME_UTENTE localhost

Autenticazione tramite chiavi.
Per la generazione delle chiavi, di dafault sono generate con sistema "rsa":
# ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):
dove saranno salvate le chiavi
Enter passphrase (empty for no passphrase): inserire una password, meglio se una frase
Enter same passphrase again: ripertere la passwordo o la frase
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ed:aa:d8:26:6a:b6:0f:87:ad:19:e9:77:79:a4:a4:73 USRE@LOCALHOST.LOCALDOMAIN


Per la generazione delle chiavi con sistema "dsa":
# ssh-keygen -t dsa
Una volta generato le chiavi, la chiave pubblica ~.ssh/id_rsa.pub può essere copiata su il client tramite:
# ssh-copy-id -i .ssh/id_rsa.pub USER@HOSTNAME
Questa sarà appesa al file ~.ssh/authorized_keys
Con ssh-agent possiamo attivare l'atenticazione automatica. Una volta avviato il servizio basterà digitare ssh-add ed inserire la password per sbloccare la chiave e rendera disponibile all'agent.
Con:
# ssh-add -x Si sbollca/blocca la chiave
# ssh-add -l Si visualizza la chiave
# ssh-add -D Si cancella la chiave
La variabile di ambiente è: SSH_AUTH_SOCK
Per ogni evenienza ad esempio:
# exoprt SSH_AUTH_SOCK=/tmp/ssh-AndEW10054/agent.10054

Altra variante:
sll'utente client "CLIENTUSER" dell'host "CLIENHOST"
#ssh-keygen -b 2048 -t rsa non digitare nessuna password o frase
adesso copiare la chiave pubblica sull'utente remoto "REMOTEUSER" dell'host "REMOTEHOST"
Prima verificare che ci sia la directory .ssh sul utente remoto, altrimenti crearla con #mkdir .ssh
quindi:
scp .ssh/id_rsa.pub REMOTEUSER@REMOTEHOST:/home/REMOTEUSER/.ssh/authorized_keys
verificare/fare sul REMOTEUSER come root:
#chmod 755 /home/REMOTEUSER
#chmod 700 /home/REMOTEUSER/.ssh/
#chmod 600 /home/REMOTEUSER/.ssh/authorized_keys

Adesso verivicare ed eventualmente attivare le seguenti impostazione nel file /etc/ssh/sshd_config del REMOTEHOST:
PasswordAuthentication yes
RSAAuthentication yes
PubkeyAuthentication yes

riavviare il serizio sshd:
service sshd restart

startx

Per avere più interfaccie X sullo stesso monitor utilizzare un terminale presente premendo ctrl+alt+[F1-F6], fare login e digitare:
#startx -- :n
con n compreso da 1 a 5, la nuova console grafica si trovera sotto la combinazione di tasti ctrl+alt+[F8-F12], sotto F7 c'è la console di default ovvero la :0.


tar

tar serve a creare un archivio di direcotory sottodirecory e file.
#tar -czf nomearchivio.tar.gz /path_da_archiviare/
#tar -tf
nomearchivio.tar
verifica il contenuto dell'archivio.
#tar -tzf nomearchivio.tar.gz
verifica il contenuto dell'archivio compresso.
Per estrarre un file da un archivio:
zcat archivio.tar.gz | tar -x PATH/file_da_estrarre
Il PATH è quello contenuto all'interno dell'archivio che si ricava guardando il suo contenuto. Per comodità si può usare il seguente comando:
tar -tzf archivio.tgz | grep nomefile
L'uscita del comando riporterà il nome del file più l'eventuale PATH.

wall

wall serve ad inviare messaggi su console a tutti gli utenti loggati in quel momento.


wget

#wget -r indirizzo_web
Si scarica l'intero sito.


SCRIPT per multi view images

Uso di for.
Per vedere una serie di immagini in sequenza presenti in una directory si puo' fare:
#for I in *.jpg
#>do
#>xview $I
#>done


Applicazioni per linux.

Star Office 5.2

Per installare il programma come server occorre essere 'root' e dopo la stringa del binario aggiungere "/net, es. /tmp/star_office_52 /net
Per installarlo come client basta eseguire il binario dove e stato installato da root, es. /opt/office52/program/soffice

Per visualizzare le doppie virgolette """ deve essere disabilitato le virgollete tipografiche all'interno delle opzioni o togliere dal correttore automatico la sostituzione di esse.

Valid HTML 4.01!