Script: Confronto Configurazioni Kernel: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (→‎Sintassi: typo)
m (categorie)
Riga 1: Riga 1:
=Introduzione=
== Presentazione ==


Questa tabella cerca di riassumere le alternative libere a diffusi programmi proprietari, a prescindere dal sistema operativo sul quale essi girano.
Questo script bash confronta due file di configurazione del kernel e stampa
le voci che contengono una determinata stringa che siano settate (o non settate) nel primo e settate (o non settate) nel secondo.


Per rendere la pagina di una qualche utilit� � necessario il contributo di molte persone, quindi tutti sono invitati a partecipare mettettendo link a nuove applicazioni oppure scrivendo una breve pagina riassuntiva dedicata ad una particolare programma libero.
Può essere utile per individuare quali voci mancano in un kernel ricompilato ripetto ad un kernel binario debian, in una particolare sezione del kernel.


Inizialmente la priorit� sar� popolare la tabella, quindi metteremo semplicemente un link alla home page dei progetti liberi. Si potr� poi affiancare al link della homepage un link '''scheda''' che punta all'eventuale pagina del wiki dedicata a quel programma.
== Sintassi ==
Lo script va lanciato nel seguente modo (supponendo di averlo chiamato <tt>ker-conf</tt>):


Per ogni proposta, suggerimento o critica usate la pagina di discussione o postate sul forum.
  ker-conf config-1 config-2 stringa [s|n] [s|n]


=Tabella Software=
I primi due parametri sono i due file di configurazione del kernel da confrontare. Il terzo parametro è la stringa che deve essere contenuta nelle voci di configurazione di entrambi i kernel (solo questo sotto-insieme viene confrontato).    La stringa di ricerca è ''case-insensitive'', valori di esempio sono: scsi, usb,
{| {{Prettytable}} width="100%"
acpi, '*', ecc...
| align="center" | '''Descrizione'''
| align="center" | '''Closed Source'''
| align="center" | '''Free Software'''


|-
Gli ultimi due parametri (opzionali) possono essere solo 's' o 'n' (settato o non
| align="center" colspan="3" |
settato) e si riferiscono rispettivamente allo stato di config-1 e config-2.
===Network===
Se gli ultimi due parametri vengono omessi viene usato il default: n s.
|-
| align="center" |
====Browser Web====


|[http://www.microsoft.it Internet Explorer] {{windows}} {{mac}}
Quando l'ultimo parametro è s (e' il default se non specificato) le voci
sono stampate con lo stato (<tt>=y</tt> oppure <tt>=m</tt>) del secondo config.


[http://www.opera.com Opera] {{windows}} {{mac}} {{linux}}
Per una breve decrizione del funzionamento dello script, basta lanciarlo senza alcun parametro.


|[http://www.mozilla.org/products/firefox/ Firefox] {{linux}} {{windows}} {{mac}} - {{deb}}
== Script ==


[http://www.kde.org Konqueror] {{linux}} - {{deb}}
<pre>
#!/bin/bash
#
#  ckc - Confronta Kernel Config
#  Versione: 0.0.3
#
#  Copyright (C) 2005 - Davide Natalini <tindal@katamail.com>
#                      Antonio Ingargiola <debian@fastwebnet.it>
#
#  Released under the GNU GENERAL PUBLIC LICENSE.
#


[http://www.gnome.org/projects/epiphany/ Epiphany] {{linux}} - {{deb}}
usage() {
echo -e "\n  *** Errore: Parametri non corretti.\n"
echo -e "  USO: \n"
echo -e "  ${0##*/} config-1 config-2 stringa [s|n] [s|n]\n"
echo -e "  Lo script ${0##*/} confronta due file di configurazione del kernel e stampa"
echo -e "  le voci che contengono 'stringa' che siano settate (o non settate) nel primo"
echo -e "  e settate (o non settate) nel secondo.\n"
echo -e "  Gli ultimi due parametri possono essere solo 's' o 'n' (settato o non"
echo -e "  settato) e si riferiscono rispettivamente allo stato di config-1 e config-2."
echo -e "  Se gli ultimi due parametri vengono omessi viene usato il default: n s. \n"
echo -e "  Quando l'ultimo parametro e' s (e' il default se non specificato) le voci"
echo -e "  sono stampate con lo stato (built-in o modulo) del secondo config.\n"
exit 1
}


[http://www.mozilla.org/ Mozilla] {{linux}} {{windows}} {{mac}} - {{deb}}
filter () {
FILE=$1; STATUS=$2
BOOL=''; EXP='^ *$'; [ "$STATUS" = "s" ] && BOOL="-v" || EXP='=|is not set'
SED_EXP='s/\(# \)\?\([0-9a-zA-Z_]\+\)\(=.\)\?.*/\2\3/'
egrep $BOOL '^#' "$FILE" | egrep $BOOL "$EXP" | egrep -i "$PAR" | sed "$SED_EXP"
}
[ $# -lt 3 ] || [ $# -gt 5 ] && usage


[http://www.mozilla.org/products/camino/ Camino] {{mac}}
NEW_CONFIG=$1;  REF_CONFIG=$2;  PAR=$3


STATUS_NEW=${4-n}; STATUS_REF=${5-s}
for S in $STATUS_NEW $STATUS_REF; do [ "$S" = "s" ] || [ "$S" = "n" ] || usage; done


|-
TMP_FILE_NEW="/tmp/${0##*/}-new.tmp"
| align="center" |
TMP_FILE_REF="/tmp/${0##*/}-ref.tmp"
====Client Email====
ON_EXIT="rm -f $TMP_FILE_NEW $TMP_FILE_REF"


| Outlook
trap "$ON_EXIT" 0 15


Outlook Express {{windows}}
filter $REF_CONFIG $STATUS_REF > $TMP_FILE_REF
filter $NEW_CONFIG $STATUS_NEW > $TMP_FILE_NEW


[http://www.eudora.com/ Eudora] {{windows}}
for LINE_NEW in $( cat $TMP_FILE_NEW )
do
egrep "${LINE_NEW/%=[ymn]/}(=[ymn])?$" $TMP_FILE_REF
done


| [http://www.gnome.org/projects/evolution/ Evolution] -- [[ Software:evolution | scheda ]] {{linux}} - {{deb}}
exit 0
</pre>


[http://www.mozilla.org/projects/thunderbird/ Thunderbird] {{linux}} {{windows}} {{mac}} - {{deb}}
[[Categoria:Kernel]]
 
[http://kmail.kde.org/ Kmail] {{linux}} - {{deb}}
 
[http://sylpheed.good-day.net/en/ Sylpheed ] {{linux}} {{windows}} - {{deb}}
 
|-
| align="center" |
====Chat====
 
| [http://www.mirc.com/ Mirc] {{windows}}
 
[http://www.hydrairc.com/ HydraIRC] {{windows}} ''Contrariamente a quanto sostenuto dall'autore questo programma non � opensource! Ha [http://www.hydrairc.com/index.php?page=developers questa licenza].''
 
| [http://konversation.kde.org/ Konversation] -- [[Software:konversation | scheda]] {{linux}} - {{deb}}
 
[http://www.xchat.org/ Xchat] {{linux}} {{windows}}  - {{deb}}
 
[http://gaim.sourceforge.net/ Gaim]  {{linux}} {{windows}}  - {{deb}}
 
[http://packages.debian.org/stable/net/ksirc Ksirc]  {{linux}}  - {{deb}}
 
[http://www.kvirc.net/ Kvirk]  {{linux}}  - {{deb}}
 
 
|-
| align="center" |
 
====Ftp Client====
| [http://www.cuteftp.com/ CuteFTP] {{windows}}
 
| [http://filezilla.sourceforge.net/ Filezilla] {{windows}} 
 
[http://gftp.seul.org/ gftp] {{linux}} {{deb}}
 
[http://kbear.sourceforge.net/ kbear] {{linux}} {{deb}}
 
[http://kftpgrabber.sourceforge.net/ kftpgrabber] {{linux}} {{udeb|http://repos.knio.it}}
 
 
|-
| align="center" |
 
====Instant Messaging====
| [http://www.icq.com/ Icq] {{windows}} {{mac}}
 
[http://www.msn.it Msn] {{windows}}
 
[http://www.mercury.to Mercury] {{linux}} {{windows}} {{mac}}
 
| [http://kopete.kde.org/ Kopete] {{linux}} - {{deb}}
 
[http://gaim.sourceforge.net/ Gaim] {{linux}} {{windows}} {{mac}} - {{deb}}
 
[http://amsn.sourceforge.net/ Amsn] {{linux}} {{windows}} {{mac}} - {{deb}}
 
[http://sim-icq.sourceforge.net/ Sim] {{linux}} - {{deb}}
 
[http://www.miranda-im.org/ Miranda] {{windows}}
 
|-
| align="center" |
 
====News Reader====
 
| [http://www.microsoft.com Microsoft Outlook] {{windows}} {{mac}}
 
| [http://pan.rebelbase.com/ Pan] {{linux}} {{mac}} {{windows}} - {{deb}}
 
[http://knode.sourceforge.net/ Knode] {{linux}} - {{deb}}
 
[http://sylpheed.good-day.net/en/ Sylpheed] {{linux}} {{windows}} - {{deb}}
 
|-
| align="center" |
 
====Voip====
 
|[http://www.skype.com/ Skype] {{linux}} {{Mac}} {{windows}}
 
|[http://www.gnomemeeting.org/ Gnomemeeting] {{linux}} {{windows}} - {{deb}}
 
|-
| align="center" colspan="3" |
 
===Multimedia===
|-
| align="center" |
====Audio player====
 
| [http://www.winamp.com/ Winamp] {{windows}}
 
| [http://www.xmms.org/ Xmms] {{linux}} - {{deb}}
 
[http://www.sosdg.org/~larne/w/BMP_Homepage Beep Media Player] {{linux}} - {{deb}}
 
[http://www.zinf.org/ Zinf] {{linux}} {{windows}}
 
|-
| align="center" |
 
====Gestione Raccolte Musicali====
 
| [http://www.apple.com/itunes/ iTunes] {{mac}} {{windows}}
 
[http://www.microsoft.com/windows/windowsmedia/ Windows Media Player] {{windows}}
 
| [http://www.gnome.org/projects/rhythmbox/ Rhythmbox] (player di default di Gnome) {{linux}} - {{deb}}
 
[http://amarok.kde.org/ Amarok] {{linux}} - {{deb}}
 
[http://www.sacredchao.net/quodlibet Quod Libet] {{linux}} - {{deb}}
 
|-
| align="center" |
 
====Video player====
 
| [http://www.microsoft.com/windows/windowsmedia/ Windows Media Player] {{windows}}
 
| [http://www.videolan.org/vlc/ VLC] {{linux}} {{mac}} {{windows}} ''(e molti altri)''
 
[http://xinehq.de/ Xine] {{linux}} - {{deb}}
 
[http://www.mplayerhq.hu/homepage/design7/news.html MPlayer] {{linux}} {{mac}} {{windows}} - {{udeb|http://debian.video.free.fr/}}
 
[http://www.gnome.org/projects/totem/ Totem] {{linux}} - {{deb}}
 
|-
| align="center" |
 
====Gestione/Organizzazione Foto====
 
| [http://picasa.google.com/index.html Picasa] {{windows}}
 
[http://www.apple.com/ilife/iphoto/ iPhoto] {{mac}}
 
| [http://gthumb.sourceforge.net/ Gthumb] {{linux}} - {{deb}}
 
[http://www.digikam.org/ Digikam] {{linux}} - {{deb}}
 
[http://gqview.sourceforge.net/ GQview] {{linux}} - {{deb}}
 
[http://www.gnome.org/projects/f-spot/ F-Spot] {{linux}}
 
|-
| align="center" colspan="3" |
 
===Office===
 
|-
| align="center" |
====Suite Office====
 
| [http://office.microsoft.com/ Microsoft Office] {{windows}} {{mac}}
 
[http://www.software602.com/ 602 PC Suite] {{windows}}
 
[http://www.sun.com/software/star/staroffice/ StarOffice] {{linux}} {{windows}}
 
|
 
[http://www.openoffice.org OpenOffice.Org] {{linux}} {{windows}} {{mac}} - {{deb}}
 
[http://www.koffice.org Koffice] {{linux}} - {{deb}}
 
[http://www.gnome.org/gnome-office/ GnomeOffice] {{linux}} {{windows}} {{mac}} - {{deb}}
 
|-
| align="center" |
====Editor di Testi====
| [http://office.microsoft.com/ Microsoft Word] {{windows}} {{mac}}
 
[http://www.microsoft.com/products/works/default.mspx Microsoft Works] {{windows}}
 
| [http://www.abisource.com/ Abiword] {{linux}} {{windows}} {{mac}} - {{deb}}
 
[http://www.koffice.org Kword] (Parte di Koffice) {{linux}} - {{deb}}
 
[http://www.openoffice.org OpenOfficeWriter] (Parte di OpenOffice.Org) {{linux}} {{windows}} {{mac}} - {{deb}}
 
|-
| align="center" |
====Fogli di Calcolo====
| [http://office.microsoft.com/ Microsoft Excel] {{windows}} {{mac}}
 
[http://www.microsoft.com/products/works/default.mspx Microsoft Works] {{windows}}
 
| [http://www.gnome.org/projects/gnumeric/ Gnumeric] {{linux}} {{windows}} {{mac}} - {{deb}}
 
[http://www.koffice.org Kspread] (Parte di Koffice) {{linux}} - {{deb}}
 
[http://www.openoffice.org OpenOfficeCalc] {{linux}} {{windows}} {{mac}} - {{deb}}
 
|-
| align="center" colspan="3" |
===Programmi Scientifici===
 
|-
| align="center" |
====Matlab====
 
| [http://www.mathworks.com/ Matlab] {{linux}} {{windows}} {{mac}}
 
| [http://www.octave.org/ Octave] {{linux}} {{windows}} {{mac}} - {{deb}}
 
[http://scilabsoft.inria.fr Scilab] {{linux}} {{windows}} {{mac}} - {{deb}}
 
|-
| align="center" colspan="3" |
=== Utilita'===
|-
| align="center" |
====Pulizia del Sistema====
| [http://www.symantecstore.com/antivirus/norton-cleansweep-a.htm CleanSweep] {{windows}}
 
| [http://www.kde-apps.org/content/show.php?content=28631 Kleansweep] {{linux}} {{udeb|http://repos.knio.it}}
|}
 
 
==Leggenda==
Nella tabella sono presenti alcuni simboli, per identificare quali sistemi operativi sono supportati dalle applicazioni:
: {{linux}} Indica che il programma e' compatibile con Linux.
: {{windows}} Indica che il programma e' compatibile con Windows.
: {{mac}} Indica che il programma e' compatibile con MacOs.
 
Sono, inoltre, presenti delle swirl, che indicano la presenza dei programmi in formato .deb.
: {{deb}} Indica che il programma e' stato pacchettizzato ed e' presente nei repository ufficiale Debian.
: http://guide.debianizzati.org/images/7/7b/Swirl_gray.png Indica che il programma e' stato pacchettizzato, ma e' presente in un repository non ufficiale. E' inoltre presente un link al repository in cui si trova il pacchetto.

Versione delle 15:10, 31 mar 2006

Presentazione

Questo script bash confronta due file di configurazione del kernel e stampa le voci che contengono una determinata stringa che siano settate (o non settate) nel primo e settate (o non settate) nel secondo.

Può essere utile per individuare quali voci mancano in un kernel ricompilato ripetto ad un kernel binario debian, in una particolare sezione del kernel.

Sintassi

Lo script va lanciato nel seguente modo (supponendo di averlo chiamato ker-conf):

 ker-conf config-1 config-2 stringa [s|n] [s|n]

I primi due parametri sono i due file di configurazione del kernel da confrontare. Il terzo parametro è la stringa che deve essere contenuta nelle voci di configurazione di entrambi i kernel (solo questo sotto-insieme viene confrontato). La stringa di ricerca è case-insensitive, valori di esempio sono: scsi, usb, acpi, '*', ecc...

Gli ultimi due parametri (opzionali) possono essere solo 's' o 'n' (settato o non settato) e si riferiscono rispettivamente allo stato di config-1 e config-2. Se gli ultimi due parametri vengono omessi viene usato il default: n s.

Quando l'ultimo parametro è s (e' il default se non specificato) le voci sono stampate con lo stato (=y oppure =m) del secondo config.

Per una breve decrizione del funzionamento dello script, basta lanciarlo senza alcun parametro.

Script

#!/bin/bash
#
#  ckc - Confronta Kernel Config 
#  Versione: 0.0.3
#
#  Copyright (C) 2005 - Davide Natalini <tindal@katamail.com> 
#                       Antonio Ingargiola <debian@fastwebnet.it>
#
#  Released under the GNU GENERAL PUBLIC LICENSE.
#

usage()	{
	echo -e "\n  *** Errore: Parametri non corretti.\n"
	echo -e "  USO: \n" 
	echo -e "  ${0##*/} config-1 config-2 stringa [s|n] [s|n]\n"
	echo -e "  Lo script ${0##*/} confronta due file di configurazione del kernel e stampa" 
	echo -e "  le voci che contengono 'stringa' che siano settate (o non settate) nel primo"
	echo -e "  e settate (o non settate) nel secondo.\n"
	echo -e "  Gli ultimi due parametri possono essere solo 's' o 'n' (settato o non" 
	echo -e "  settato) e si riferiscono rispettivamente allo stato di config-1 e config-2." 
	echo -e "  Se gli ultimi due parametri vengono omessi viene usato il default: n s. \n"
	echo -e "  Quando l'ultimo parametro e' s (e' il default se non specificato) le voci"
	echo -e "  sono stampate con lo stato (built-in o modulo) del secondo config.\n"
	exit 1
}

filter () {
	FILE=$1; STATUS=$2
	BOOL=''; EXP='^ *$'; [ "$STATUS" = "s" ] && BOOL="-v" || EXP='=|is not set'
	SED_EXP='s/\(# \)\?\([0-9a-zA-Z_]\+\)\(=.\)\?.*/\2\3/'
	egrep $BOOL '^#' "$FILE" | egrep $BOOL "$EXP" | egrep -i "$PAR" | sed "$SED_EXP"
}
		
[ $# -lt 3 ] || [ $# -gt 5 ] && usage

NEW_CONFIG=$1;  REF_CONFIG=$2;  PAR=$3

STATUS_NEW=${4-n}; STATUS_REF=${5-s}
for S in $STATUS_NEW $STATUS_REF; do [ "$S" = "s" ] || [ "$S" = "n" ] || usage; done

TMP_FILE_NEW="/tmp/${0##*/}-new.tmp"
TMP_FILE_REF="/tmp/${0##*/}-ref.tmp"
ON_EXIT="rm -f $TMP_FILE_NEW $TMP_FILE_REF"

trap "$ON_EXIT" 0 15

filter $REF_CONFIG $STATUS_REF > $TMP_FILE_REF
filter $NEW_CONFIG $STATUS_NEW > $TMP_FILE_NEW

for LINE_NEW in $( cat $TMP_FILE_NEW )
do
	egrep "${LINE_NEW/%=[ymn]/}(=[ymn])?$" $TMP_FILE_REF
done

exit 0