Elenco Pacchetti non installati
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
ocman
- Linux 2.x

- Messaggi: 239
- Iscritto il: gio 31 lug 2008, 18:18
- Slackware: ArchLinux
- Desktop: xfce
- Distribuzione: OpenIndiana
Elenco Pacchetti non installati
Ciao a tutti,
avrei la necessità di sapere quali pacchetti della mia Slackware-Current non sono presenti Rispetto all'albero dei pacchetti della current.
Mi spiego meglio:
vorrei elencare per tutte directory di installazione (A/AP/D/E/L/N/F/K/T/TCL/X/XAP/Y) per quali pacchetti differisce la mia current.
Ho subito pensato a slackpkg che però non può funzionare:
- install-new: trova i pacchetti presenti nella current, non installati, MA SOLO guardando nel changelog e quindi SOLO per pacchetti aggiunti alla current dopo la mia installazione
Mi hanno suggerito di fare un mirror locale dell'albero della slackware e poi lanciare un Upgrade *.txz. (in poche parole)
Questo metodo può funzionare perchè per quelli non installati avrò un output diverso. Tuttavia dovrei individuare i pacchetti non installati in molte macchine sia current che non e sia 32 che 64 bit.
La principale motivazione è sapere se in fase di installazione da Samba qualche pacchetto è stato saltato (per esempio per archivio corrotto). Slackware purtroppo continua senza dare un output fisso nell'installazione così che non si può notare nulla a meno di errori in fase di utilizzo.
L'altro caso in cui ne averi bisogno sarebbe per trovare tutti i pacchetti che ho escluso tramite la selezione in fase di installazione. (per empio alcune XAP e tutti i tools e librerie per il wireless)
Come punti di riferimento per risolvere il problema penso si possa usare /var/log/packages e PACKAGES.TXT dei mirrors della current.
Sinceramente però non so come questi file possono aiutarmi o come sono strutturati per fare un confronto.
Grazie.
avrei la necessità di sapere quali pacchetti della mia Slackware-Current non sono presenti Rispetto all'albero dei pacchetti della current.
Mi spiego meglio:
vorrei elencare per tutte directory di installazione (A/AP/D/E/L/N/F/K/T/TCL/X/XAP/Y) per quali pacchetti differisce la mia current.
Ho subito pensato a slackpkg che però non può funzionare:
- install-new: trova i pacchetti presenti nella current, non installati, MA SOLO guardando nel changelog e quindi SOLO per pacchetti aggiunti alla current dopo la mia installazione
Mi hanno suggerito di fare un mirror locale dell'albero della slackware e poi lanciare un Upgrade *.txz. (in poche parole)
Questo metodo può funzionare perchè per quelli non installati avrò un output diverso. Tuttavia dovrei individuare i pacchetti non installati in molte macchine sia current che non e sia 32 che 64 bit.
La principale motivazione è sapere se in fase di installazione da Samba qualche pacchetto è stato saltato (per esempio per archivio corrotto). Slackware purtroppo continua senza dare un output fisso nell'installazione così che non si può notare nulla a meno di errori in fase di utilizzo.
L'altro caso in cui ne averi bisogno sarebbe per trovare tutti i pacchetti che ho escluso tramite la selezione in fase di installazione. (per empio alcune XAP e tutti i tools e librerie per il wireless)
Come punti di riferimento per risolvere il problema penso si possa usare /var/log/packages e PACKAGES.TXT dei mirrors della current.
Sinceramente però non so come questi file possono aiutarmi o come sono strutturati per fare un confronto.
Grazie.
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Elenco Pacchetti non installati
con un comando adesso non saprei, ma tramite pipe penso si possa farlo, altrimenti qualcosa come
Codice: Seleziona tutto
grep "PACKAGE NAME" /var/lib/slackpkg/PACKAGES.TXT | cut -d" " -f4 | sort | sed -e 's/\.t.*z//' > /tmp/original.txt
find /var/log/packages/ | cut -d/ -f5 | sort > /tmp/installed.txt
diff -B --suppress-common-lines /tmp/original.txt /tmp/installed.txt-
ocman
- Linux 2.x

- Messaggi: 239
- Iscritto il: gio 31 lug 2008, 18:18
- Slackware: ArchLinux
- Desktop: xfce
- Distribuzione: OpenIndiana
Re: Elenco Pacchetti non installati
perfetto, l'output è corretto, quelli mancanti ci sono tutti. Aggiungerò qualche flag a diff per togliere quelli di kde e poi creo uno script.
Grazie Conraid !
Grazie Conraid !
- lennynero
- Linux 3.x

- Messaggi: 641
- Iscritto il: lun 3 mag 2004, 0:00
- Nome Cognome: Luigi Picaro
- Slackware: current-x64
- Kernel: 6.13.1
- Desktop: Xfce-4.20
- Località: Salerno
Re: Elenco Pacchetti non installati
Non ho capito benissimo il tuo obiettivo, comunque anche io sto scrivendo uno script che fa da monitor del ramo current, o di qualunque altro ramo(che usi PACKAGES.TXT), io mostro, i miei pacchetti, quelli della current, quelli obsoleti(rimossi dalla current), quelli persi(presenti in current, ma che io non ho), quelli non aggiornati, e quelli di terze parti. Il mio problema è il seguente: una volta saputo quali pacchetti ho in comune con la current, per controllare le versioni devo per forza fare un ciclio? questo è il mio approccio adesso, ma vorrei perfezionarlo:
Questo script impiega circa 12 secondi...e mi sembrano un pò troppi: il mio intento sarebbe trovare un metodo un pò più veloce...se esiste
.
Grazie in anticipo.
Codice: Seleziona tutto
rep=`grep "PACKAGE NAME:" PACKAGES.TXT | sed 's/\(PACKAGE NAME:[ ]*\)\(.*\)\(....\)/\2/' | egrep -vf Blacklist`
my=`ls /var/log/packages | egrep -vf Blacklist`
NAMES=`echo $rep | sed -e 's/^\([a-zA-Z0-9_+-]*\)-\(.*\)-\(.*\)-\([0-9]*\)\([a-z]*\)$/\1/'`
MY_NAMES=`echo $my | sed -e 's/^\([a-zA-Z0-9_+-]*\)-\(.*\)-\(.*\)-\([0-9]*\)\([a-z]*\)$/\1/'`
SIMILAR=`comm -12 <(echo $NAMES) <(echo $MY_NAMES) | tr '\n' '|' | sed 's/ //g' | sed 's/|$//'`
E=`echo $rep | egrep $SIMILAR`
count=0
for i in $E; do
newpkg=`echo $i | sed -e 's/^\([a-zA-Z0-9_+-]*\)-\(.*\)-\(.*\)-\([0-9]*\)\([a-z]*\)$/\1|\2|\4/'`
set -- $newpkg
IFS="|"; declare -a newpkg=($*)
new_name=${newpkg[0]}
new_ver=${newpkg[1]}
new_build=${newpkg[2]}
mine=`echo $my | egrep $new_name`
if [[ -n $mine ]]; then
pkg=`echo $mine | sed -e 's/^\([a-zA-Z0-9_+-]*\)-\(.*\)-\(.*\)-\([0-9]*\)\([a-z]*\)$/\1|\2|\4/'`
set -- $pkg
IFS="|"; declare -a pkg=($*)
name=${pkg[0]}
ver=${pkg[1]}
build=${pkg[2]}
if [[ $new_ver > $ver ]]; then
news="$news version upgrade: $i\n"
count=$((count+1))
elif [[ $new_ver == $ver ]]; then
if [[ $new_build > $build ]]; then
news="$news build upgrade: $i\n"
count=$((count+1))
fi
fi
fi
done
count2=`IFS=' ' | echo $news | wc -l`
echo $news > news
echo -e "--> New Packages: $news\n($count2) Upgradable packages found"Grazie in anticipo.
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Elenco Pacchetti non installati
Ho appena messo in wiki un mio script che uso per aggiornare la current. Eseguendolo con l'opzione '-n' dovresti ottenere quello che vuoi. Il wiki lo trovi a questo indirizzo:
http://www.slacky.eu/wikislack/index.ph ... lackPkg.sh
I consigli sono ben venuti,
Emanuele
http://www.slacky.eu/wikislack/index.ph ... lackPkg.sh
I consigli sono ben venuti,
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
ocman
- Linux 2.x

- Messaggi: 239
- Iscritto il: gio 31 lug 2008, 18:18
- Slackware: ArchLinux
- Desktop: xfce
- Distribuzione: OpenIndiana
Re: Elenco Pacchetti non installati
Grazie mille a tutti!
Perchè non proponete di integrare questi vostri script agli sviluppatori di slackpkg? Ci sono sicuramente funzionalità mancanti....
Perchè non proponete di integrare questi vostri script agli sviluppatori di slackpkg? Ci sono sicuramente funzionalità mancanti....
- lennynero
- Linux 3.x

- Messaggi: 641
- Iscritto il: lun 3 mag 2004, 0:00
- Nome Cognome: Luigi Picaro
- Slackware: current-x64
- Kernel: 6.13.1
- Desktop: Xfce-4.20
- Località: Salerno
Re: Elenco Pacchetti non installati
Ciao spina, mi fa piacere che anche tu ti occupi di script di questo tipo, mi autorizza a pensare che non sono inutili..
, comunque mi sono reso conto che postando lo script ho creato un pò di confuzione. La mia richiesta specifica è la seguente: c'è un modo più ottimizzato per fare il confronto di versione tra i propri packages e quelli di un rep? Ho notato che con il comando -n il tuo script verifica se un pacchetto, inteso come nome-versione-arch-sign non è installato sul proprio sistema, ma questo può dipendere da motivi diversi: il primo è che il nome non viene trovato sulla propria macchina, e in questo caso io lo considero un pacchetto perso, il secondo è che la versione o la build non vengono trovati, e in questo caso io lo considero una versione diversa; questo è il punto cruciale del problema: se trovo il nome(sulla mia macchina) ma la versione differisce, allora devo controllare la versione($new_ver > $ver) e mostrarlo tra gli aggiornamenti disponibili solo se il pacchetto risulta più nuovo di quello installato. La mia domanda in definitiva è: dati il file_list dei pacchetti installati, e il file_list dei pacchetti del repository, posso creare una lista di pacchetti comuni per cui controllare la versione, in modo rapido e magari evitando un ciclo come il for che ho mostrato sopra?
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Elenco Pacchetti non installati
Se guardi il mio script fa quello che chiedi come comportamento di default senza opzioni, solo che non faccio il controllo che la versione sia maggiore di quella installata, questo perchè può succedere che sia la versione sia più nuova sia che la 'sign' sia più nuova. Io mi limito a dire che i due pacchetti differiscono (con l'opzione -v puoi vedere la versione attuale e quella del repos).
Penso che non ci sia soluzione senza un ciclo for, comunque il mio script ci mette circa 5 secondi sulla mia macchina. Il problema è che il confronto va fatto sul nome del pacchetto, ma questo non ha una lunghezza ben definita e quindi non puoi usare un comando esistente.
Emanuele
Penso che non ci sia soluzione senza un ciclo for, comunque il mio script ci mette circa 5 secondi sulla mia macchina. Il problema è che il confronto va fatto sul nome del pacchetto, ma questo non ha una lunghezza ben definita e quindi non puoi usare un comando esistente.
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- lennynero
- Linux 3.x

- Messaggi: 641
- Iscritto il: lun 3 mag 2004, 0:00
- Nome Cognome: Luigi Picaro
- Slackware: current-x64
- Kernel: 6.13.1
- Desktop: Xfce-4.20
- Località: Salerno
Re: Elenco Pacchetti non installati
sì avevo notato, comunque io controllo la versione, successivamente se la versione è uguale controllo la build(la sign la lascio a parte). Inoltre dal tuo script ho rubato il modo di usare le funzioni con una stringa come return
non sapevo si potesse fare così.
ps comunque il mio metodo impiega circa 12secondi per rilevare 389 pacchetti aggiornabili, ma evidentemente il controllo di versione è oneroso...
ps comunque il mio metodo impiega circa 12secondi per rilevare 389 pacchetti aggiornabili, ma evidentemente il controllo di versione è oneroso...
-
ocman
- Linux 2.x

- Messaggi: 239
- Iscritto il: gio 31 lug 2008, 18:18
- Slackware: ArchLinux
- Desktop: xfce
- Distribuzione: OpenIndiana
Re: Elenco Pacchetti non installati
@Spina.
Ho provato lo script e funziona perfettamente oltre ad essere veloce con l'opzione -n.
è molto utile il fatto che venga dato il percorso completo del repository.
ora avevo l'esigenza di sapere i ___pacchetti installati per ogni gruppo___ di pacchetti di slackware ap/a/kde ...
Facendo $slackpkg search "ap" però non ottengo risultati corretti....magari per kdei si....ma no per tutte le categorie poichè fa una ricerca da più metadata.
Ache con pkgtool non te li ordina per gruppi. Conoscete altri metodi?
Ho provato lo script e funziona perfettamente oltre ad essere veloce con l'opzione -n.
è molto utile il fatto che venga dato il percorso completo del repository.
ora avevo l'esigenza di sapere i ___pacchetti installati per ogni gruppo___ di pacchetti di slackware ap/a/kde ...
Facendo $slackpkg search "ap" però non ottengo risultati corretti....magari per kdei si....ma no per tutte le categorie poichè fa una ricerca da più metadata.
Ache con pkgtool non te li ordina per gruppi. Conoscete altri metodi?
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Elenco Pacchetti non installati
Ma intendi relativamente al repository ufficiale? Cioé una cosa che si può vedere sempre analizzando il file FILE_LIST? Se è così posso vedere di implementarlo nello script. Effettivamente ho notato che l'output di '-s' non da il percorso completo. Facendo in modo che l'output sia il percorso completo, tutti i pacchetti installati dovrebbero essere l'insieme dato dall'esecuzione dello script senza parametri e quello con il flag '-s': quelli che hanno una versione differente e quelli che hanno la stessa versione.
Emanuele
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
ocman
- Linux 2.x

- Messaggi: 239
- Iscritto il: gio 31 lug 2008, 18:18
- Slackware: ArchLinux
- Desktop: xfce
- Distribuzione: OpenIndiana
Re: Elenco Pacchetti non installati
esatto. con il percorso completo nell'output di "-s" sarebbe cosa intendo
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Elenco Pacchetti non installati
Provo a vedere se riesco a fare qualcosa domani mattina prima di pranzo. Se vuoi vedi se riesci a risolvere tu la cosa e se ce la fai posta qui una patch o lo script modificato che poi vedo di implementarla nell'originale.
Emanuele
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Elenco Pacchetti non installati
Ho aggiornato lo script, era più facile del previsto. Dimmi se ora ti va bene,
Emanuele
P.S. Ovviamente è l'output di '-s' che è diverso.
Emanuele
P.S. Ovviamente è l'output di '-s' che è diverso.
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
ocman
- Linux 2.x

- Messaggi: 239
- Iscritto il: gio 31 lug 2008, 18:18
- Slackware: ArchLinux
- Desktop: xfce
- Distribuzione: OpenIndiana
Re: Elenco Pacchetti non installati
Perfetto. Ora c'è i percorso completo.
Grazie Spina