View Single Post
Old 06-11-2009, 22:54   #3
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Cittā: Parma
Messaggi: 3008
Discussione interessante.
Propongo uno scriptino per distribuzioni Debian based.

Reinstallare tutti i .deb che inseriscono almeno un file nella cartella data come argomento.
Utile in caso di maldestri rm o altri disastri assortiti.
Codice:
#!/bin/bash

FOLDER="$1"

if [ -z "$FOLDER" ]; then
  echo "Utilizzo:"
  echo -e "$(basename $0) [cartella]\n\noppure (piuttosto inutile)\n\n$(basename $0) [file]"
  exit 1
fi

if [ -z "`which apt-file`" ]; then
  echo -e "Installare apt-file!\n\napt-get install apt-file\napt-file update\n\n"
  exit 1
fi

if [ "$(id -u)" != "0" ]; then
  echo "Questo script dev'essere eseguito come root!" 1>&2
  exit 1
fi

PKGS=`comm -12 <(apt-file search $FOLDER | sed 's/\([^: ]*\).*/\1/' | uniq | sort) \
               <(dpkg --get-selections | grep -E \[\[:blank:\]\]install\$ | sed 's/\([^\t ]*\).*/\1/' | uniq | sort)`

apt-get install --reinstall ${PKGS}
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] č offline   Rispondi citando il messaggio o parte di esso