Hi all
>> non mi pare che dpkg --compare-versions funzioni sempre bene ... >> nell'esempio sottostante doveva rispondere YESSS e invece ha risposto NOOO >> idem se nel pacchetto c'e' %3a che indica i ":" >> >> if dpkg --compare-versions fetchmail_5.9.11-6.1_i386.deb gt >> fetchmail_5.9.11-6_i386.deb ; then echo YESSS ;else echo NOOO; fi >> NOOO >> bug o feature ? ;-) >bug tuo.. dpkg confronta versioni, non pacchetti. in particolare quando arriva a >-6.1 e -6_ trovando due non-numeri . e _ li confronta ed indovina chi chiene prima? >if dpkg --compare-versions 5.9.11-6.1 gt 5.9.11-6 ; then > echo YESSS >else > echo NOOO >fi >--> YESSS hum ... hai ragione, anche il man scrive che confronta le versioni anche se davo per scontato che confrontasse lui le versioni leggendole dal deb o dal nome del file. La cosa sarebbe + utile per gli script che ne facessero uso. comunque capito l'inganno si puo' risolvere cosi' anche usando i nomi dei pacchetti : if dpkg --compare-versions `dpkg -I fetchmail_5.9.11-6.1_i386.deb | grep " Version:" | sed -e "s/ Version: //"` gt `dpkg -I fetchmail_5.9.11-6_i386.deb | grep " Version:" | sed -e "s/ Version: //"` ; then echo YESSS ; else echo NOOO; fi YESSS :) se a qualcuno puo' servire mi ero fatto pure io uno scriptino che elimina i pacchetti doppi da /var/cache/apt/archive chiedendo comunque una conferma e facendoli vedere prima di eliminarli. Ora con questa sistemazione propone anche yes o no in base alla versione :) in riferimento al thread iniziale tiene il vecchio pacchetto solamente se e' unico ... -- ;---+---; bye | bye |hor