Advertisement
s243a

mv_bad_pkgs.sh

Feb 11th, 2020
455
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.10 KB | None | 0 0
  1. #!/bin/bash
  2. ROOT=/initrd/mnt/dev_save/precise/light/5.7.2/precisesave
  3. target_root=/initrd/mnt/dev_save/precise/light/5.7.2/precise_save_alt_glibc
  4. #while [ 1 -eq 1 ]; do
  5. #  ROOT="$(realpath `pwd`)"
  6. #  if [ $(ls -1 | grep -c "^var$") -eq 1 ]; then
  7. #    break
  8. #  fi
  9. #  cd .. || break
  10. #fi
  11. cd "$ROOT/var/packages"
  12. TO_MOVE_ARR=(libc6_2.15-0ubuntu10.18 libc-bin_2.15-0ubuntu10.18)
  13. mkdir -p "$target_root/var/packages"
  14. for a_move in "${TO_MOVE_ARR[@]}"; do #https://stackoverflow.com/questions/1521462/looping-through-the-content-of-a-file-in-bash
  15.   while IFS="" read -r file_list || [ -n "$file_list" ]
  16.   do
  17.     while IFS="" read -r pkg_file || [ -n "$pkg_file" ]
  18.     do    
  19.       pkg_file="$(echo "$pkg_file" | sed 's#/i386-linux-gnu##')"
  20.       fp="$(realpath "$ROOT$pkg_file")"
  21.      
  22.       if [[ "$fp" == "$ROOT/"* ]]; then
  23.         echo "$pkg_file" | cpio -pd "$target_root"
  24.         #mv "$pkg_file" "$target_root/pkg_file"
  25.       fi
  26.     done < <(cat "$file_list")
  27.     fp="$(realpath "$file_list")"
  28.     if [[ "$fp" == "$ROOT/"* ]]; then
  29.       mv "$file_list" "$target_root/var/packages/$file_list"
  30.     fi
  31.   done < <(eval "ls -1 ${a_move}.files")
  32. done
  33. TO_DELETE=("libc6_*" "libc-bin_*")
  34. for a_delete in "${TO_DELETE[@]}"; do #https://stackoverflow.com/questions/1521462/looping-through-the-content-of-a-file-in-bash
  35.   while IFS="" read -r file_list || [ -n "$file_list" ]
  36.   do
  37.     while IFS="" read -r pkg_file || [ -n "$pkg_file" ]
  38.     do    
  39.       pkg_file="$(echo "$pkg_file" | sed 's#/i386-linux-gnu##')"
  40.       fp="$(realpath "$ROOT$pkg_file")"
  41.       if [[ "$fp" == "$ROOT/"* ]]; then
  42.         rm "$fp"
  43.       fi
  44.     done < <(cat "$file_list")
  45.     fp="$(realpath "$ROOT/$pkg_file")"
  46.     if [[ "$fp" == "$ROOT/"* ]] && [ ! -d "$fp" ]; then    
  47.       rm "$fp"
  48.       d_rp="$(dirname "$fp")"
  49.       if [[ "$d_rp" == "$ROOT/"* ]]; then
  50.         if    ! ls -1qA "$d_rp" | grep -q .
  51.         then  
  52.           rm "$d_rp"
  53.         fi
  54.       fi
  55.     fi
  56.     fp="$(realpath "$file_list")"
  57.     if [[ "$fp"  == "$ROOT/"* ]]; then
  58.       rm "$file_list"
  59.     fi    
  60.   done < <(eval "ls -1 ${a_delete}.files")
  61. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement