#!/bin/sh function getkey { local save save=`stty --save` stty raw dd if=/dev/tty count=1 bs=1 2>/dev/null stty "$save" } while : ; do echo -e "\nmyrpm - Interfaccia a menu per rpm" echo " a) mostra info su di un file .rpm non installato" echo " b) mostra info su di un package installato" echo " c) mostra tutti i packages installati" echo " d) mostra il package cui appartiene un certo file" echo " e) installa un package" echo " j) aggiorna un package" echo " f) disinstalla un package" echo " g) verifica package installato" echo " h) verifica se e' possibile installare un dato package" echo " i) verifica tutti i packages installati" echo " q) quit" echo -ne "Quale? [ ]\b\b" q=`getkey` echo case $q in a) echo -n "File *.rpm: " read fn { echo -e "\nINFO ON $fn:" rpm -qpi $fn echo -e "\nFILES ON $fn:" rpm -qpls --provides $fn echo -e "\nDEPENDENCIES OF $fn:" rpm -qp --requires $fn } | less ;; b) echo -n "Nome Package: " read pk { echo -e "\nINFO ON $pk:" rpm -qi $pk echo -e "\nFILES ON $pk:" rpm -qls $pk echo -e "\nDEPENDENCIES OF $pk:" rpm -q --requires $pk } | less ;; c) { echo -e "\nTUTTI I PACKAGES INSTALLATI:" rpm -qa | sort -df } | less ;; d) echo -n "File: " read fn echo "Il file $fn appartiene a:" rpm -qf $fn | less ;; e) echo -n "File *.rpm da installare: " read pk rpm --install $pk 2>&1 | less ;; f) echo -n "Package da disinstallare: " read pk rpm --erase $pk 2>&1 | less ;; g) echo -n "Package da verificare: " read pk rpm --verify $pk 2>&1 | less ;; h) echo -n "File *.rpm da verificare: " read pk rpm -i --test $pk 2>&1 | less ;; i) { echo "Verifica tutti i packages:" ; rpm -Va ; } | less 2>&1 ;; j) echo -n "File *.rpm di aggiornamento: " read pk rpm -U $pk | less 2>&1 ;; q) exit 0 ;; *) echo "OPZIONE ERRATA, RIPROVA" sleep 4 ;; esac done