Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 23rd, 2012  |  syntax: None  |  size: 0.79 KB  |  hits: 6  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/bin/bash
  2. # Restores file permissions for all files on a debian system for which .deb
  3. # packages exist.
  4. #
  5. # Author: Larry Kagan <me at larrykagan dot com>
  6. # Since 2007-02-20
  7.  
  8. ARCHIVE_DIR=/var/cache/apt/archives/
  9. PACKAGES=`ls $ARCHIVE_DIR`
  10. cd /
  11.  
  12. function changePerms()
  13. {
  14.     CHOWN="/bin/chown"
  15.     CHMOD="/bin/chmod"
  16.     PERMS=$1
  17.     OWN=`echo $2 | /usr/bin/tr '/' ':'`
  18.     PATHNAME=$3
  19.  
  20.     echo -e "$CHOWN $OWN $PATHNAME"
  21.     #`$CHOWN $OWN $PATHNAME`
  22.     #`$CHMOD $MODE $PATHNAME`
  23.  
  24. }
  25.  
  26. for PACKAGE in $PACKAGES;
  27. do
  28.     echo -e "Getting information for $PACKAGE\n"
  29.     FILES=`/usr/bin/dpkg -c "${ARCHIVE_DIR}${PACKAGE}"`
  30.  
  31.     for FILE in "$FILES";
  32.     do
  33.         FILE_DETAILS=`echo "$FILE" | awk '{print $1"\t"$2"\t"$6}'`
  34.         changePerms $FILE_DETAILS
  35.     done
  36. done