Advertisement
s243a

sync_file_lists.sh (Draft #1)

Feb 16th, 2021
1,256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.26 KB | None | 0 0
  1. #/bin/bash
  2. CHROOT_DIR="${CHROOT_DIR:-/mnt/+aufs+devsave+test_save+ext2/Kali/kalipup_CLI.tar.gz.extracted/kalipup/puppy_upupgg+d_20.10.sfs.extracted/kali}"
  3. DISTRO_PKGS_SPECS="${CHROOT_DIR}/var/packages/DISTRO_PKGS_SPECS"
  4. mkdir -p "$CHROOT_DIR"/var/packages/builtin-breakout
  5. ADMIN_DIR=/var/lib/dpkg
  6. mkdir -p "$CHROOT_DIR/${ADMIN_DIR}"/info
  7.  
  8.  
  9. while read line; do
  10.   [[ ! "$line" = 'yes|'*'|'*'|'* ]] && continue
  11.   pkg_grp="$(echo "$line" | cut -f2 -d'|')"
  12.   cd "$CHROOT_DIR"/var/packages/builtin-breakout
  13.   [ ! -e ../builtin_files/"$pkg_grp" ] && continue
  14.   pkgs_str="$(echo "$line" | cut -f3 -d'|')"
  15.   pkgs=(${pkgs_str//,/" "})
  16.   cd "$CHROOT_DIR"/var/packages/builtin-breakout
  17.  
  18.   if [ ${#pkgs[@]} -eq 1 ]; then
  19.     [ ! -e "${pkgs[0]}" ] && ln ../builtin_files/"$pkg_grp" "${pkgs[0]}"
  20.     cd "$CHROOT_DIR/${ADMIN_DIR}"/info
  21.     [ ! -e "${pkgs[0]}".list ] && ln "${pkgs[0]}" "$CHROOT_DIR"/${ADMIN_DIR}/info/"${pkgs[0]}".list
  22.   else
  23.     for a_pkg in "${pkgs[0]}"; do
  24.       [ ! -e "${a_pkg}" ] && ln -s ../builtin_files/"$pkg_grp" "${a_pkg}"
  25.       cd "$CHROOT_DIR/${ADMIN_DIR}"/info
  26.       [ ! -e "${a_pkg}".list ] && ln -s ../../../packages/builtin-breakout/"${a_pkg}" "$CHROOT_DIR"/${ADMIN_DIR}/info/"${a_pkg}".list
  27.     done
  28.   fi
  29. done < <(cat "$DISTRO_PKGS_SPECS")
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement