Pagine GNU Linux

Ultimo aggiornamento - dicembre 2007

gnu bannerSistema operativo GNU/linux (ed altro) tux
Guazzabuglio di note e risorse gratuite reperibili in rete.
Chi volesse indicare errori o contribuire puo' farlo inviando un messaggio a:
indirizzo email ced


GNU/linux, il sistema operativo professionale a costo (di acquisto) praticamente nullo, che subisce continuamente test in tutto il mondo prima di essere rilasciato, percio', sicuro ed affidabile, leggete al link qua sotto cosa e' il modello di sviluppo Open Source per
Qui vogliamo rendere una parziale panoramica di alcune risorse per GNU/linux, comoda per una veloce consultazione in rete.
Queste indicazioni che servono come riferimento veloce vogliono essere anche uno spunto di partenza per implementazioni personalizzate. Inutile aggiungere che nessuno avrà mai responsabilità per problemi derivanti da qualunque utilizzo di questi appunti, che sono pubblicati solamente a scopo didattico e sperimentale.




Volete provare un sistema GNU/linux, ma non avete un PC libero sul quale installarlo? Nessun problema!!!
Adesso esistono delle versioni (distribuzioni) GNU/linux dette "live" ossia che partono da CDROM senza installare e quindi alterare in alcun modo il vostro Hard Disk. Alcuni esempi di live GNU/linux:



Avete un server di produzione? Avete bisogno di un programma per il "disaster recovery"?

  • Mondo Rescue un programma per il salvataggio e il ripristino dei dati di sistemi linux. (su nastri CDR,CDRW)
  • Make CD-ROM Recovery un programma per il salvataggio e il ripristino dei dati di sistemi GNU/linux su CD bootable


Partizionare un disco, copiare partizioni di un disco, clonare un disco, backup partizioni?



Con le nuove connessioni adsl (delle quali si possono ottimizzare le prestazioni) sempre attive la sicurezza di rete va gestita in maniera efficiente ed allora eccovi a costo zero:

  • Smoothwall internet free firewall operating system
    Si puo' installare su hardware poco potente:
    Supporta USB ADSL
    Supporta PPPoE
    Fornisce PPTP, VPN e gestione utenti ethernet
    VPN gateway gestita via Web
    SmoothCache Proxy management suite
    Dial on Demand
    DNS lookup facilities
    Intrusion Detection and Logging
    Modified Firewall logging
  • Freesco fa diventare anche un vecchio 486 un router e tutto cio' sta su un floppy... per far tutto cio' usa GNU/linux!


In merito a sicurezza bisogna citare la famiglia dei sistemi operativi bsd


Ed infine logo openbsd


OpenBSD il sistema operativo sicuro di default si puo' installare in poco tempo e anche su vecchie macchine a protezione della vostra rete (firewall, nat etc.)

Come installare un firewall trasparente con OpenBSD

Ecco un po di howto:
Guida all'installazione del sistema operativo openbsd
Come impostare openbsd come router e firewall:
http://www.homenethelp.com/openbsd/bsd-firewall.asp

Ecco qualche link relativo a OpenBSD:



Cercate un antivirus per GNU/linux, e magari gratis???Ecco qualche link dal quale scaricare versioni freeware (gratis) di programmi antivirus:

Per Windows è possibile scaricare gratuitamente Antivir Personal Edition e Clamav

Installare un server "sicuro" di posta elettronica che gestistica SMTP e POP3 per il nostro domino? Magari con controllo antivirus e antispam

Ecco Postfix (per SMTP)
postfix

Qpopper (per il POP3). Ecco alcune note di installazione.

Ecco alcune note per l'installazione di Postfix + Qpopper + Amavis + Mcafee su sistemi GNU/linux.

Se volete aggiungere il controllo antivirus al server di posta eccovi
amavis
Amavisin abbinamento ad un programma antivirus per GNU/linux (da verificare se funziona con le versioni freeware degli antivirus).

Per avere un accesso alla posta con interfaccia web, è possibile utilizzare il programma Openwebmail
openwebmail
Ecco alcune annotazioni riguardanti i settaggi di Openwebmail:

Abilitare la gestione delle quote disco per gli utenti:

Aprire il file /var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf

Modificare la sezione:
quota_module none con quota_module quota_du.pl
E poi definire i limiti di quota per singolo utente (71Mb per i messaggi ricevuti, 100Mb totali)
spool_limit 71680
quota_limit 102400
quota_threshold 90%


Protezioni per le rete informatiche

Lista di tools http://www.insecure.org/tools.html

Protezioni perimetrali premi qui

Progettare una DMZ premi qui

Portscanner (Strumenti di test per sapere se il nostro PC/firewall ha delle porte in ascolto a nostra insaputa):
Protezione perimetrale (direttamente da internet)

All'interno della vostra lan (protezione interna)


Controllo bug di programmi e applicazioni.

Vari tools per firewall:

http://www.linux-firewall-tools.com/linux/



Intrusion Detection System (tools per la verifica/monitoraggio di intrusione all'interno della rete)

Snort


Crittografia (trasmissione criptata di dati ad es. per il controllo remoto di server via terminale)

Openssh
OpenSSL

Avete molta documentazione e volete ususfruire di funzioni di ricerca fra i contenuti allora della vostra intranet allora eccovi:

htdig un motore di ricerca all'interno della vostra rete...!


Volete un fax server accessibile da tutti i vostri client windows installate:
hylafax un faxserver ovvero un modem collegato ad un pc dal quale potrete inviare e ricevere tutti i fax aziendali i client di windows "vedranno" una stampante che in realtà punta al fax server!

Alcune utili note di configurazione si possono trovare sul sito di ReteLinux. Come client per l'invio di fax su client Microsoft è possibile utilizzare il programma WHFC.

Emulatori di terminale

Tera Term Pro e' un software free di emulazione di terminale che supporta:
Connessioni via porta seriale.
Connessioni via TCP/IP (telnet).
Emulazione VT100 e VT200/300.
Emulazione TEK4010.
File transfer protocols (Kermit, XMODEM, ZMODEM, B-PLUS and Quick-VAN)
Qui trovate le indicazioni ed il software per far supportare le estensioni SSH a tera term pro

PuTTY altro software telnet anch'esso free, supporta ssh

-- Ma che cosa e' sto ssh?
Tutta una questione di sicurezza, privacy, nella trasmissione dei dati, quindi anche quando si usa il telnet forse c'e' bisogno di... qui trovate ulteriori informazioni
Solitamente si vuole accedere ai/al server tramite i clients siano essi GNU/linux o Windows
Per ottenere questa funzionalità, sul vostro server GNU/linux, installate e configurate...
logo samba
samba
(files e printer server open source)
File-server accessibile da tutti i clients windows, la configurazione non e' difficoltosa, Samba solitamente lo trovate già incluso nelle distribuzioni GNU/linux. Potrete tramite Swat (anch'esso solitamante incluso nelle distribuzioni) configurare Samba via browser web e gestire completamente la configurazione e le sue funzionalità.

Esempio di installazione su di una distribuzione Linux RedHat 7.0 (Guinness):
Fate il login come root
Verificate che il pacchetto Samba sia installato con il comando
rpm -qa | grep -i samba
dovrete ottenere qualcosa in output simile alla riga sottostante:
samba-2.0.7-21ssl
Se non otteneste nessun output e' implicito che samba non e' installato.
Se il pacchetto non fosse installato e disponente del cd di installazione di RedHat:
1) Inserite il cd nel drive del cd-rom della macchina GNU/linux
2) montate il cdrom con il comando mount /mnt/cdrom
3) installate samba con il comando
rpm -iv /mnt/cdrom/RedHat/RMPS/Samba <premete consecutivamente per due volte il tasto tab>
completate il comando con il nome del RPM corretto dalla lista che apparira'
premete invio
Verrà cosi installato Samba
Verificate che il pacchetto Samba sia ora installato con il comando
rpm -qa | grep -i samba
dovrete ottenere qualcosa in output simile alla riga sottostante:
samba-2.0.7-21ssl
smontate il cdrom con il comando
umount /mnt/cdrom
eject
riprendetevi il cd
Se non avete il cd di RedHat reperite via internet i file RPM e cercate di renderli disponibili al server GNU/linux ad esempio inviandoli in una directory del server via ftp
ovvero da un client windows dopo aver scaricato l'RPM
spostatevi nella directory contenente l'RPM
Attivate una sessione ftp
ftp nome_o_ip_del_server_linux
effettuate il login con un utente diverso da root
binary
!dir
e vedrete i files del disco locale
mput nomefilerpm
bye
verrà chiusa la sessione ftp
Via console GNU/linux o via telnet spostatevi nella homepage dell'utente che avete usato durante l'ftp e digitate
ls -la | less
dovrebbe esserci il file .RPM
se non lo trovate digitate il comando
find / -name Samba -print | less
Altro sistema per inviare il file da client puo' essere quello di inviarlo via kermit ovvero, usando l'emulatore di terminale tera term effettuare un login su GNU/linux:
da cancelleto digitate
gkermit -r
il sistema si porrà in ricezione
da tera term selezionare File->Tranfert->Kermit->Send
Usando detto file potete effettuare l'installazione come sopra modificando il percorso del file da installare

Qui sotto eccovi un' esempio di file di configurazione /etc/samba/smb.conf salvate il vecchio smb.conf in smb.conf.sic le condivisioni verrano create con protezione a livello di password:

------------------------------------- inizio del file /etc/samba/smb.conf
# Global parameters
[global]
workgroup = URBANISTICA
netbios name = LINUX
server string = GNU/linux Samba Server
interfaces = eth0
security = SHARE
log file = /var/log/samba/%m.log
max log size = 0
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
remote announce = 192.168.100.255/URBANISTICA
hosts allow = 192.168.100.0/255.255.255.0
printing = lprng

[homes]
comment = Home Directories
writeable = Yes
browseable = Yes

[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No

# --------- condivisione di tutto quello che c'e' su GNU/linux
# --------- La condivisione e' la root di GNU/linux. attenzione...!
# --------- La condivisione e' creata senza limiti anche in scrittura con utente root. attenzione...!
[barra]
comment = barra
path = /
username = nomeutenteamministratore
valid users = nomeutenteamministratore
admin users = nomeutenteamministratore
read list = nomenomigruppoutentisololettura
write list = nomeutenteamministratore
force user = root
writeable = Yes

[www]
comment = altra condivisione meno potente per utente giannipoli
path = /home/dircondivise/dati
username = giannipoli
valid users = giannipoli pippo pluto
admin users = giannipoli pippo pluto
write list = giannipoli pippo
force user = giannipoli
writeable = Yes

------------------------------------- fine del file /etc/samba/smb.conf

Rifate partire samba con il comando
/etc/rc.d/init.d/smb restart

Se avete configurato tutto come sopra evidenziato la macchina GNU/linux verrà elencata fra le risorse di rete fra il gruppo urbanistica con due condivisioni disponibili ovvero barra e www.

Potrete inoltre, con il comando smbmount accedere da GNU/linux alle condivisioni sui vari clients anche windows

Esempio
Per accedere ad una share su di un pc da GNU/linux, dovrete creare un mount point per la condivisione
mkdir /mnt/nomepc/nomeshare
e poi effettuare il mount vero e proprio
smbmount //nomepc/nomeshare /mnt/nomepc/nomeshare -o password=password_della_share -ro
(mount effettuato solo in lettura per evitare eventuali danni)
se tutto funziona a dovere spostatevi nella directory /mnt/nomepc/nomeshare
cd /mnt/nomepc/nomeshare
e digitate ls, vedrete il contenuto della directory del client
potete poi "smontare" la condivisione con il comando
cd
smbumount /mnt/nomepc/nomeshare

Se siamo in presenza di una rete con dominio: si puo' impostare il server Samba in modo che gli utenti vengano "presi" e sincronizzati in maniera del tutto trasparente da un server che abbia nella rete il ruolo di Primary Domain Controller, in questo modo gli utenti abilitati all'uso delle condivisioni del Samba saranno quelli definiti ad esempio da un Server NT che sia PDC.

Ma si puo' fare di piu':
SAMBA 2.2.2: il Domain Controller per una rete Microsoft
Samba funziona anche come primary domain controller SAMBA 2.2.2: il Domain Controller per una rete Microsoft

Inutile dire poi che in rete si trovano tutorials molto utili per approfondire la conoscenza di Samba.
Ecco una ottima guida disponibile. Cliccare qui per visualizzarla.

Aggiornamento del 14/11/2003: Pubblicato "Samba HOWTO Collection" - licenza GPL disponibile in formato PDF dal sito ufficiale di SAMBA oppure da qui.

Generazione di file PDF (anche con client windows)

Se volete convertire dei file in PDF installate una stampante postscript sul vostro Windows che abbia l'output su file
Stampate qualsiasi documento usando detta stampante, vi verra' richiesto di inserire un nome file ovvero il file in postscript generato dal driver della stampante.
Detto file portato su GNU/linux puo' essere convertito con ps2pdf nomefile.ps

Su Windows si possono utilizzare direttamente i programmi Ghostscript (per la creazione) e Ghostview (per la visualizzazione) che permettono di generare un file PDF (Acrobat) in maniera facile e soprattutto economica.
News server

Se avete bisogno di un InternetNewsServer potete installare e configurare INN e se vi serve qui c'e' un howto



Se poi volete far funzionare GNU/linux come webserver installate e configurate...

logo apache

apache web server
(software il re dei web server GNU/linux e Windows)
Ecco come fare per creare "in casa" certificati SSL da usare con Apache
[root@linux root]# openssl req -new > new.cert.csr
[root@linux root]# openssl rsa -in privkey.pem -out new.cert.key
[root@linux root]# openssl x509 -in new.cert.csr \
-out new.cert.cert -req -signkey new.cert.key -days 999
[root@linux root]# cp new.cert.key /usr/local/apache/conf/ssl.key/server.key
[root@linux root]# cp new.cert.cert /usr/local/apache/conf/ssl.crt/server.crt
Fonte: TLDP Apache-Compile-HOWTO

logo apache modperl perl-apache


logo apachexml xml-apache
(xml)
logo cocoon Cocoon
Se volete usare le Java Server Pages Jsp con GNU/linux:
Installate Tomcat
Se volete consultare dei tutorial premete qui
Ecco qui le relase di Tomcat



Se avete una rete, e volete centralizzare e controllare l'accesso a internet vi consigliamo di installare

Attraverso squid è possibile anche restringere l'accesso a determinati siti visitati dagli utenti, anche solo per certi periodi della giornata (limiti temporali), limitare la banda, limitare lo scarico di file particolari (es. mov, mp3, avi).
Le soluzioni sono molteplici.
squid Squid (software server proxy)
Per autenticare gli utenti di una LAN che navigano su internet attraverso un dominio Windows NT/2000 è possibile utilizzare il programma msntauth, compreso nelle ultime distribuzioni di squid. Chi volesse aggiungerlo in versioni un po' datate può scaricarlo cliccando qui.

Ecco una guida in italiano su squid che puo' essere consultata qui.

Per analizzare i log generati da squid e creare delle statistiche/report è possibile utilizzare il programma Sarg.


Se volete cimentarvi negli script eccovi:

logo perl perl (linguaggio di scripting per unix e windows)

Activeperl by ActiveState

Newsgroup: it.comp.lang.perl

logo php php
(linguaggio di scripting con portabilità fra sistemi unix e windows)

Per accelerare la velocità di esecuzione gli script consigliamo PHPAccelerator (gratuito ma closed source) o After Burner (licenza LGPL).

Per generare un file PDF (Acrobat) da uno script PHP è possibile utilizzare le liberie FPDF che si possono trovare a questo indirizzo

ruby
Ruby dall'oriente ecco un'altro linguaggio di scripting ad oggetti può essere installato su UNIX, DOS, Windows 95/98/NT/2000, Mac, BeOS, Amiga, Acorn Risc OS, e OS/2
Diamo un po' di riferimenti utili:
la homepage di Ruby http://www.ruby-lang.org/en/index.html
Il principale sito di documentazione per Ruby:http://www.rubycentral.com/
Le faq: http://www.rubycentral.com/faq/
Ruby User Guide:http://www.math.sci.hokudai.ac.jp/~gotoken/ruby/ cercate sotto Documents
Il manuale di riferimento:http://www.ruby-lang.org/en/doc.html
Manuale di riferimento alle classi, moduli e motodi: http://www.rubycentral.com/ref/
L'archivio delle applicazioni: http://www.ruby-lang.org/en/raa.html
Se riscontrate dei bugs e volete segnalarli inviate una email a ruby-bugs@ruby-lang.org
Iincludendo nel messaggio:
- La versione di Ruby. ("ruby -v")
- Nome del compilatore e la versione usata per compilarlo.
- Il sistema operativo e la versione. ("uname -a")
- I messaggi di errore.
- Un esempio (preferibilmente semplice) che ha prodotto l'errore.
Postate in lingua Inglese.

Si puo' consultare il database dei bugs conosciuti: http://www.ruby-lang.org/cgi-bin/ruby-bugs

Newsgroup: comp.lang.ruby
Vi consigliamo di usare google per effettuare delle ricerche sui messaggi riguardanti ruby
premere qui per saltare su google e consultare il newsgroup di ruby
Esiste poi la ruby-lang mail http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml

qui c'e' un libro downloadabile premete qui
e del libro vi sono anche degli errata: http://www.pragmaticprogrammer.com/ruby/errata.html


Installazione su GNU/linux (RedHat)

Scaricare Ruby da ftp://ftp.netlab.co.jp/pub/lang/ruby/ (certamente la versione potrebbe essere diversa)
Se avete eseguito lo scarico da una macchina con windows portatelo in qualche modo sulla macchina GNU/linux in una directory a vostra scelta. (Alcuni modi per farlo sono stati elencati sempre in questa pagina quando abbiamo descritto l'installazione di Samba, ovviamente se avete gia' installato Samba potrete farlo comodamente, trascinando semplicemente il file scaricato fra due finestre aperte, una che punta alle risorse locali, ed una che punta ad una condivisione sulla macchina GNU/linux che avrete creato tramite Samba e che necessariamente deve avere i necessari permessi per consentirvi la copia del file)
Scompattate con:
# gunzip ruby-1.6.3.tar.gz
# tar -xf ruby-1.6.3.tar
Otterrete così una sottodirectory ./ruby-1.6.3
spostatevi nella dir appena creata
# cd ruby-1.6.3
e date inizio al processo di compilazione digitando in sequenza i comandi
# ./configure
# make
# make test
# make install

Fate tutte le prove che volete usando gli esempi nella directory sample con il comando ruby file_esempio.rb ovviamente sostituendo al file_esempio.rb il nome dello script ruby che volete eseguire.

Se volete integrare fra le vostre pagine web scripts ruby in modo tale che vengano correttamente interpretati dal web server avete due soluzioni, delle quali pero' consigliamo la soluzione 2.

1) Scaricare il modulo eruby che potete trovare qui
Scaricatelo sulla macchina GNU/linux in una directory a vostra scelta e compilatelo
Scomprimetelo con
# tar zxvf eruby...tar.gz
# cd eruby-0.9.2
# ./Makefile.RB --enable-shared
# make
# make install
Se tutto OK potrete usarlo
2) Scaricare il modulo per apache, mod_ruby, il quale linka all'interno dei processi web di apache un interprete Ruby il modulo mod_ruby per Apache che potete trovate qui
# tar zxvf mod_ruby-0.8.1.tar.gz
# cd mod_ruby-0.8.1
# ruby Makefile.RB --enable-eruby
# make
# make install
Fate ripartire Apache con il comando:
# /etc/rc.d/init.d/httpd restart

Potrete da questo punto in poi includere nelle vostre pagine web fra i tag <% e %> codice Ruby
Se poi vi interessa approfondire la conoscenza di Ruby e volete vedere un po di cosette gia fatte premete qui
Vi sono poi linguaggi di programmazione commerciali per Windows, che si cercano di portare su piattaforme Open Source, che hanno dei progetti open-source attivi, ad esempio Open Visual Objects Project, clicca qui
GNU/linux e i database
Se avete delle grosse basi dati e necessitate di funzionalità relazionali eccovi indicati alcuni potenti (RDBMS) software gratuiti dalle potenti funzionalità.
Nei rispettivi siti trovate anche i driver odbc per Windows per le connessioni lato clients.

logo postgres

postgresql
(Homepage del motore di databases relazionali - sql)

Come installarlo:
Scaricate gli rpm da http://www.postgresql.org/ftpsite/binary/v7.2/RPMS/
e per installare su GNU/linux in maniera veloce appoggiatevi a questo link installazione veloce

Se poi volete questo e' un link diretto alle Interfacce/drivers per connettersi a postgresql

Ci sono dei progetti Gis Open Source (in italiano Sistemi Informativi Territoriali) che si appoggiano a Postgresql usandolo quale database per la memorizzazione dei dati: Grass Gis, Grass Gis Italia, Postgis
Lista agli OpenGis elenco
Lista agli OpenGis elenco 2

mysql
mysql
(Sistema database relazionale - sql)

Per l'accesso da altra macchina verso server mysql digitare:
mysql
"grant all privileges on *.* to root@'%' identified by 'password' WITH GRANT OPTION;"
GNU/linux e la grafica

Per la manipolazione e il fotoritocco di immagini è possibile scaricare il programma GIMP disponibile anche per Windows.
gimp

Una volta installato gimp se volete modificare o salvare immagini in formato GIF è possibile scaricare le librerie LZW.



Per windows, oltre a Gimp, è disponibile un'altro ottimo programma freeware di fotoritocco: paint.net

logo paint.net

logo fedora
Aggiornare (update) Red Hat Linux/Fedora Core con YUM

http://www.brandonhutchinson.com/Upgrading_Red_Hat_Linux_with_yum.html
http://www.linux.le.it/docs/fedoracore3faq.php#gpgsig

Istruzioni per l' upgrade di Fedora Core 2 a Fedora Core 3 via YUM da linux.duke.edu Upgrading from Fedora Core 2 to Fedora Core 3 via Yum:
In general, if you're not cramped for space/time/something you should use
anaconda to upgrade.
You'll find you come out with a much more reliable
upgrade process and much less pain. However, if you'd like to try to
upgrade the whole system via yum you should follow these instructions.
Before you start it would be a good idea to do the following:
- BACKUP YOUR DATA
run rpm -q kernel kernel-smp
compare the results to the kernel you are running (uname -r).
run 'rpm -e' for each of the kernels that you are not using
ex:
rpm -e kernel-2.6.5-1.358 kernel-smp-2.6.5-1.358
This will make things a lot easier on you, trust me, and it frees up a HUGE
amount of disk space.
- clean up your yum dirs:
yum clean all
- download yum from the fedora core 3 tree and update it:
rpm -Uvh yum-2.1.11-3.noarch.rpm
- download fedora-release from the fedora core 3 tree and update it:
rpm -Uvh fedora-release-3-8.i386.rpm
- run a yum list updates to get the metadata and make sure everything is working:
yum list updates
you should see a lot of packages from that output.
- Now you're ready to run the update:
yum upgrade
- Let yum do it's thing (confirming when prompted, of course).
- For gnome users you will want to run:
yum groupupdate "GNOME Desktop Environment"
to get the latest set of packages for GNOME.
Then reboot your system and make sure you select the new kernel as the default
Riferimento per aggiornamenti (upgrade) di Fedora Core via YUM) su Fedoraproject

Come non citare Ubuntu tra le ottime distribuzioni GNU/linux...?
logo ubuntu
...impossibile !

Ubuntu è una distribuzione GNU/linux derivata da debian ottima per uso workstation ma anche come server.
Ecco ad esempio un piccolo assaggio di cosa puo' fare compiz / beryl su ubuntu:
immagine cubo beryl clicca per ingrandire
Alcuni suggerimenti veloci e siti....

Come abilitare il menu effetti di compiz dentro a Gnome?
sudo apt-get install compizconfig-settings-manager libcompizconfig-backend-gconf

Come aggiornare il sistema alle ultime release beta?
sudo update-manager -d

Abilitare i font non cleartype
http://www.howtoforge.com/sharp_fonts_gnome

Tips and tricks
http://www.ubuntugeek.com/

Ubuntu blogspot
http://linubuntu.blogspot.com/

Ripristinare lo splash screen di ubuntu
sudo update-alternatives --config usplash-artwork.so


Tenere aggiornato GNU/linux con yum

Per tenere sempre aggiornato GNU/linux è possibile utilizzare yum con le sequente modalità. Installare yum con rpm -ivh yum-xx.xx.xx.rpm

Modificare il file di configurazione /etc/yum.conf in modo che contenga (es. per Fedora Core2)

[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
#[updates-testing]
#name=Fedora Core $releasever - $basearch - Unreleased Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/$releasever/$basearch/
#[development]
#name=Fedora Core $releasever - Development Tree
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
[fedora-us-2]
name=Fedora Core 2 -- Fedora US mirror
baseurl=http://mirrors.kernel.org/fedora.us/fedora/fedora/2/i386/RPMS.stable[dag]
name=Dag RPM Repository for Fedora Core 2
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag

Per controllare gli aggiornamenti digitare:
yum check-update

Per aggiornare un pacchetto specifico:
yum update xxxxxx.rpm

Per aggiornare tutto:
yum update


Fast Q&A


Q. Contare i files in una directory?
A. ls -l | wc -l

Q. Visualizzare lo spazio occupato dai singoli files sul disco e la somma dei medesimi?
A. du -ah

Q. Calcolare il tempo di esecuzione di uno script?
A. time xxxx.sh (dove xxxx è il nome dello script)

Q. Eliminare i fastidiosi messaggi che inondano (flooding) la console?
A. dmesg -n 1

Q. Come visualizzare a colori il comando ls -la?
A. ls -lart

Q. Come visualizzare interamente l'output del comando PS? (viene troncato se digito solo "ps ax")
A. ps axw

Q. Dove aggiungere gli alias dei comandi in modo che restino permanenti?
A. Creare o modificare il file /home/user/.bash_profile e aggiungere la riga alias xx='zzzzz'

Q. Come leggere i messaggi di boot che vengono visualizzati al boot prima di effettuare il login? (ossia come non pulire lo schermo alla fine del boot)
A. modificare nel file /etc/inittab la riga
1:2345:respawn:/sbin/mingetty tty1
con
1:2345:respawn:/sbin/mingetty --noclear tty1

Q. Come cercare un testo all'interno di un qualunque file contenuto in una determinata directory?
A. find /miadir -type f -print | xargs grep -i "testodacercare"

Q. Come creare una a console virtuale in GNU/linux?
A. La risposta è il comando "screen"
"Screen is a virtual terminal window for GNU/linux. It allows you to create a virtual terminal, perform a task and then detach it while you do other things. When you are ready to attach it again, you have the ability to reattach to the screen."

Per lanciare una console virtuale digitare: "screen"
Per "staccare" (detach) una console virtuale premere Control-A e Control-D
Per riagganciare (attach) una console virtuale digitare: "screen -r"

Q. Come visualizzare il numero di linea dentro l'editor VI?
A. All'interno dell'editor digitare ":set nu", per togliere la visualizzazione digitare ":set nonu". Per rendere la modifica permamente creare un file di nome .vimrc dentro /home/utente contenente l'istruzione "set nu"

Q. Come lanciare Perl in modalità interattiva a linea di comando?
A. perl -MCPAN -e shell

Per abilitare anche l'history della console (stile bash) usare da dentro alla shell install Term::ReadKey. Per l'autocompletion dei comandi invece digitare install Term::ReadLine
Per il manuale digitare nella bash di GNU/linux perldoc CPAN

Q. Per riconfigurare CPAN
A. Dentro alla shell: o conf init

Q. Come visualizzare la lista dei pacchetti installati su Debian/Ubuntu?
A. dpkg -l | awk '1 {print $2 " " $3} '

Q. Come effettuare il requeuing dei messaggi (Postfix) tentando la nuovamente la spedizione?
A. postsuper -r ALL && postqueue -f

Q. Come visualizzare la coda dei messaggi di posta in coda (Postfix)?
A. postqueue -p
Verra visualizzata una lista del tipo:
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
xxxxx xxxx Mon Mar 02 12:20:00 xxxx@xxxx.xx xxxx@xxx.xx

Q. Come eliminare un messaggio di posta specifico in coda (Postfix)?
A. postsuper -d <Queue ID>

Q. Come eliminare tutti i messaggi di posta in coda (Postfix)?
A. postsuper -d ALL

Q. Come eliminare i caratteri "spuri" di PUTTY ad esempio in finestre semi-grafiche?
A. Cambiare il settaggio come da immagine seguente

putty

Q. Come aggiungere una chiave primaria ad una tabella MYSQL esistente?
A. ALTER TABLE nometabella ADD ID_name INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Q. Come convertire le date in formato Unix timestamp del log di squid in un formato leggibile?
A. Creare un file eseguibile /bin/convertdate con la seguente riga:
/usr/bin/perl -pe 's/\d+/localtime $&/e;'

Rendere il file eseguibile con:

chmod +x /bin/convertdate

Per rendere le date dei log di squid leggibili eseguire il seguente comando:

cat /var/log/squid/access.log | /bin/convertdate


Script zone
Check_site.sh


Semplice (anche troppo) ma utile bash script per controllare se una pagina web viene aggiornata.
Controlla se c'è stata una variazione in un sito e in caso affermativo invia una email a una lista di destinatari.
Ottimo per controllare se ci sono aggiornamenti di un particolare programma controllando periodicamente la pagina dei download.


Aggiungere nel crontab (frequenza giornaliera) #!/bin/bash
i=1
new="./data/update"
old="./data/current"
site[1]="http://www.site1.com//files/firmware/"
site[2]="http://www.site2.com/downloads"
site[3]="http://www.site3.com/release/"
EMAILLIST="user@site.com"
for e in $ {site[@]} ; do
mess="Aggiornamento pagina "$ {site[$i]}
lynx -dump $e > ./data/index.html
md5sum ./data/index.html > $new$i
rm -f ./data/index.html
if [ -e $old$i ]; then
diff $new$i $old$i > /tmp/changed
if [ ! $? -eq 0 ]; then
echo $mess | mutt -s "Aggiornamento sito $ {site[$i]} " $ {EMAILLIST}
mv $new$i $old$i
#echo $i "sito cambiato --> invio mail"
fi
else
#echo $i "creazione situazione odierna sito"
mv $new$i $old$i
fi
i=`expr $i + 1`
done
rm -f $new*


Modificare i parametri della bash aggiungdo gli alias e altre funzioni utili
Aprire il file nascosto presente in /home/userxxx/.bash_profile e aggiungere quanto segue: # .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME BASH_ENV PATH
clear
echo "############################"
echo "## BENVENUTO SU GNU/linux ##"
echo "############################"
echo
echo "Alias presenti :"
echo "----------------"
echo "ll => ls -lart"
echo "rmf => rm -f"
echo
echo "Sono attualmente collegati al sistema : "
who -u
echo
echo "Tu sei :"
who am i
echo
echo
alias ll='ls -lart'
alias rm='rm -i'
alias rmf='rm -f'