Discussione:Installazione driver proprietari Nvidia: differenze tra le versioni

Solo header o sources?
Nessun oggetto della modifica
 
(Solo header o sources?)
Riga 1: Riga 1:
curiosità: non si potrebbe mettere qualche cosa relativamente alla DebianWay?
== Presentazione ==


[[Utente:MaXeR|MaXeR]] 11:27, Mar 31, 2006 (EST)
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 <tt>ker-conf</tt>):
 
  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 (<tt>=y</tt> oppure <tt>=m</tt>) del secondo config.
 
Per una breve decrizione del funzionamento dello script, basta lanciarlo senza alcun parametro.
 
== Script ==
 
<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.
#
 
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
</pre>
 
[[Categoria:Kernel]]
1 760

contributi