s243a

mv_extracted_stuff.sh (kali - Draft#1)

Feb 15th, 2021 (edited)
857
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 24.96 KB | None | 0 0
  1. #!/bin/bash
  2. CWD="$PWD"
  3. clean=true
  4. HARDLINKED_SFS_unextracted="$(realpath ../puppy_upupgg+d_20.10.sfs)"
  5. EXTRACTED_SFS=puppy_upupgg+d_20.10.sfs.extracted
  6. NEW_SFS=puli7.3_x86_64-ungoogled-hardlinked-new.sfs
  7.  
  8. FR_SOURCE_ARCHIVE="$(realpath ../kalipup_CLI_0.0002.sfs)"
  9. FR_SOURCE_ORIG="$(realpath ./chroot-kali-rolling-i386.extracted)"
  10. [ "$clean" = true ] && rm -rf "$EXTRACTED_SFS"
  11.  
  12. EXTRACTED_SFS_FP="$CWD"/"$EXTRACTED_SFS"
  13. FR_SOURCE="$CWD"/"$EXTRACTED_SFS"/kali/cli
  14.  
  15. if [ ! -d $EXTRACTED_SFS ] ||  [ ! "$(ls -A $EXTRACTED_SFS)" ] ; then
  16.   #mkdir -p "$EXTRACTED_SFS"
  17.   uextract $HARDLINKED_SFS_unextracted || { echo "failed to extract $HARDLINKED_SFS_unextracted" && exit; }
  18.   if [[ "${HARDLINKED_SFS_unextracted}.extracted" != "$EXTRACTED_SFS" ]]; then
  19.     mv ${$HARDLINKED_SFS_unextracted}.extracted $EXTRACTED_SFS
  20.   fi
  21. fi
  22. EXTRACTED_SFS="$(realpath "$EXTRACTED_SFS")" || { echo "failed realpath \"$HARDLINKED_SFS\"" && exit; }
  23.  
  24. TARGET="$EXTRACTED_SFS"/kali; mkdir -p "$TARGET"
  25. MV_LOC="$TARGET/GG-moved"; mkdir -p $MV_LOC
  26.  
  27. #See: https://forum.puppylinux.com/viewtopic.php?f=53&t=1397&p=15016&hilit=hardlinked#p15016
  28. HL_LOC="$EXTRACTED_SFS"; mkdir -p "$HL_LOC"
  29. USE_MULTI_ARCH_DIRS=yes
  30.  
  31. WARN_MV_ARCH=true
  32.  
  33.  
  34.  
  35. if [ ! -d "$TARGET" ]; then
  36.   mkdir -p "$TARGET"
  37.   rsync -rltDv --link-dest="${HL_LOC}/" "${HL_LOC}/" "${TARGET}/"
  38. fi
  39. if [ ! -d "$FR_SOURCE_ORIG" ]; then
  40.   uextract -o "$FR_SOURCE_ORIG" "$FR_SOURCE_ARCHIVE" || { echo "failed to extract $HARDLINKED_SFS_unextracted" && exit; }
  41. fi
  42. if [ ! -d "$FR_SOURCE_ORIG" ]; then
  43.   cp -Ra "$FR_SOURCE_ORIG" "$FR_SOURCE"
  44. fi
  45. if [ ! -d "$FR_SOURCE" ]; then
  46.   cp -Ra "$FR_SOURCE_ORIG" "$FR_SOURCE"
  47. fi
  48. #FR_SOURCE=/mnt/+mnt+sda5+test_save+ext2/firstRIB_lego/01firstrib_rootfs.sfs.extracted
  49. #Move no longer needed core libs
  50.  
  51. #if [ "$USE_MULTI_ARCH_DIRS" = yes ]; then
  52.   #while read arch_dir_rel; do
  53.      #target_arch_dir="$TARGET/$arch_dir_rel"
  54.      #arch_dir="$(basename "$arch_dir_rel")"
  55.      #parent_dir_rel="$(dirname "${arch_dir_rel}")"
  56.      #target_arch_parent="$TARGET/$parent_dir_rel"
  57.      #parent_of_arch_dir="$TARGET/$parent_dir_rel"
  58.      #fp_arch_dir="$parrent_dir/arch_dir"
  59.      ##if [ ! -d "$target_arch_dir" ]; then
  60.       ##source_dir="$FR_SOURCE/$a_dir"
  61.       #source_arch_dir="$FR_SOURCE/$arch_dir_rel"
  62.       #if [ ! -d "$source_arch_dir" ]; then
  63.         #[ -e "$target_arch_dir" ] && rm "$target_arch_dir" ;
  64.         #mkdir -p "$target_arch_dir"
  65.       #else
  66.  
  67. ##the read in this warn section causes the outer loop to be skipped so comment out until fixed.      
  68.         ##if [ "$WARN_MV_ARCH" = true ]; then #Debugging code      
  69.           ##set +x
  70.           ##echo "about to:"
  71.           ##echo "
  72.           ##cd \"$FR_SOURCE\"
  73.             ##echo ./\"${arch_dir_rel}\" | \
  74.               ##cpio -pdu \"$TARGET\" )"
  75.           ##read -p "Press enter to continue"
  76.           ##set -x
  77.          ##fi
  78.            
  79.         #( cd "$FR_SOURCE"
  80.           #echo "./${arch_dir_rel}" | \
  81.             #cpio -pdu "$TARGET" )    
  82.        #fi
  83.      ##fi
  84.  
  85.      #while read b_name; do
  86.  
  87. ##the read in this warn section causes the outer loop to be skipped so comment out until fixed.
  88.       ##if [ "$WARN_MV_ARCH" = true ]; then #Debugging code
  89.         ##set +x        
  90.         ##echo "about to:"
  91.         ##echo "
  92.          ##mv \"$target_arch_parent/$b_name\" \"$target_arch_dir/$b_name\"
  93.        ##( cd \"$target_arch_parent\"; ln -s \"$b_name\" \"$arch_dir/$b_name\" ) "
  94.          ##read -p "Press enter to continue"      
  95.         ##set -x
  96.        ##fi
  97.        #rel_path="$(dirname "$arch_dir_rel")/$b_name"
  98.        #case "$rel_path" in
  99.        #lib/lsb|lib/systemd|lib/terminfo) continue; ;;
  100.        #usr/lib/apt|usr/lib/debootstrap|usr/lib/dpkg) continue; ;;    
  101.        #usr/lib/locale|usr/lib/mime|usr/lib/NetworkManager) continue; ;;
  102.        #usr/lib/pm-utils|usr/lib/ssl|usr/lib/tmpfiles.d) continue; ;;
  103.        #esac
  104.        #[[ "$target_arch_parent/$b_name" = "$target_arch_dir" ]] && continue
  105.        #mv "$target_arch_parent/$b_name" "$target_arch_dir/$b_name"
  106.        #( cd "$target_arch_parent"; ln -s "$arch_dir/$b_name" "$b_name" )
  107.      #done < <(find $target_arch_parent -mindepth 1 -maxdepth 1 -type d | xargs -n 1 basename)
  108.   #done <<EOF
  109. #usr/local/lib/x86_64-linux-gnu
  110. #lib/x86_64-linux-gnu
  111. #usr/lib/x86_64-linux-gnu  
  112. #EOF
  113.  
  114. #fi
  115.  
  116. #if [ "$WARN_MV_ARCH" = true ]; then #Debugging code
  117.   #set +x
  118.   #echo "finished moving files to multi-arch dirs"
  119.   #read -p "Press enter to continue"
  120.   #set -x
  121. #fi
  122.  
  123.  
  124. #mkdir -p "$TARGET"/lib/glib23
  125. #while read line; do
  126.   #mv "$TARGET"/lib/$line "$TARGET"/lib/glib23/$line
  127. #done <<EOF
  128. #ld-2.23.so
  129. #ld-linux-x86-64.so.2
  130. #libanl-2.23.so
  131. #libanl.so.1
  132. #libaudit.so.1
  133. #libaudit.so.1.0.0
  134. #libBrokenLocale-2.23.so
  135. #libBrokenLocale.so.1
  136. #libbz2.so.1
  137. #libbz2.so.1.0
  138. #libbz2.so.1.0.4
  139. #libc-2.23.so
  140. #libcrypt-2.23.so
  141. #libcrypt.so.1
  142. #libc.so.6
  143. #libdbus-1.so.3
  144. #libdbus-1.so.3.14.6
  145. #libdl-2.23.so
  146. #libdl.so.2
  147. #libgpg-error.so.0
  148. #libgpg-error.so.0.17.0
  149. #libhistory.so.5
  150. #libhistory.so.6
  151. #libhistory.so.6.3
  152. #liblzma.so.0
  153. #liblzma.so.5
  154. #liblzma.so.5.0.0
  155. #libm-2.23.so
  156. #libmemusage.so
  157. #libm.so.6
  158. #libmvec-2.23.so
  159. #libmvec.so.1
  160. #libnl-3.so
  161. #libnl-3.so.200
  162. #libnl-3.so.200.22.0
  163. #libnl-genl-3.so
  164. #libnl-genl-3.so.200
  165. #libnl-genl-3.so.200.22.0
  166. #libnsl-2.23.so
  167. #libnsl.so.1
  168. #libnss_compat-2.23.so
  169. #libnss_compat.so.2
  170. #libnss_dns-2.23.so
  171. #libnss_dns.so.2
  172. #libnss_files-2.23.so
  173. #libnss_files.so.2
  174. #libnss_hesiod-2.23.so
  175. #libnss_hesiod.so.2
  176. #libnss_nis-2.23.so
  177. #libnss_nisplus-2.23.so
  178. #libnss_nisplus.so.2
  179. #libnss_nis.so.2
  180. #libpamc.so.0
  181. #libpamc.so.0.82.1
  182. #libpam_misc.so.0
  183. #libpam_misc.so.0.82.0
  184. #libpam.so.0
  185. #libpam.so.0.83.1
  186. #libpcprofile.so
  187. #libpthread-2.23.so
  188. #libpthread.so.0
  189. #libreadline.so.5
  190. #libreadline.so.6
  191. #libreadline.so.6.3
  192. #libresolv-2.23.so
  193. #libresolv.so.2
  194. #librt-2.23.so
  195. #librt.so.1
  196. #libSegFault.so
  197. #libselinux.so.1
  198. #libsepol.so.1
  199. #libsystemd.so.0
  200. #libsystemd.so.0.14.0
  201. #libthread_db-1.0.so
  202. #libthread_db.so.1
  203. #libudev.so.0
  204. #libudev.so.1
  205. #libudev.so.1.6.3
  206. #libutil-2.23.so
  207. #libutil.so.1
  208. #libz.so.1
  209. #libz.so.1.2.8
  210. #EOF
  211.  
  212. if [ 1 -ne 1 ]; then #TODO: We likely need to do something like this.
  213.   cd "$TARGET"/lib
  214.   rm ld-linux.so.2
  215. ln -s ../lib32/ld-linux.so.2 ld-linux.so.2
  216. fi
  217. #CWD="$PWD"
  218. #HARDLINKED_SFS=puli7.3_x86_64-ungoogled-hardlinked.sfs.extracted
  219. #FR_SOURCE=/mnt/+mnt+sda5+test_save+ext2/firstRIB_lego/01firstrib_rootfs.sfs.extracted
  220. #TARGET="$CWD"/"$HARDLINKED_SFS"/cont
  221.  
  222. #for folder in bin sbin usr/bin usr/sbin usr/local/bin usr/local/sbin
  223.   #for a_file in $(ls -1 $FR_SOURCE/"$folder");  do
  224.     #mkdir -p $TARGET/${folder}2
  225.     #if [[ "$(readlink "$TARGET/$folder/$a_file")" = */busybox  ]]; then
  226.       #if [ ! -h "$FR_SOURCE/$folder/$a_file" ]; then
  227.         #mv "$TARGET/$folder/$a_file" "$TARGET/${folder}2/$a_file"
  228.       #fi
  229.     #done
  230.   #done
  231. #done
  232.  
  233.  
  234. while read a_folder; do
  235.     mkdir -p "$MV_LOC/${a_folder}"
  236.   for a_file in $(ls -1A $FR_SOURCE/"$a_folder");  do
  237.  
  238.     #if [[ "$(readlink "$TARGET/$folder/$a_file")" = */busybox  ]]; then
  239.     #  if [ ! -h "$FR_SOURCE/$folder/$a_file" ]; then
  240.     source_file="$FR_SOURCE/$a_folder/$a_file"
  241.     target_file="$TARGET/$a_folder/$a_file"
  242.     if [ -d "$source_file" ] && [ ! -d "$target_file" ]; then
  243.       ( cd "$(dirname "$source_file")";
  244.         echo "$(basename "$source_file")" | \
  245.           cpio -pdu "$(dirname "$target_file")" )
  246.     else
  247.       if [ ! -e "$target_file" ] || [ $(stat -c %s "$source_file") -gt  $(stat -c %s "$target_file") ] || ! cmp --silent "$source_file" "$target_file"; then
  248.         if [ -e "$target_file" ]; then
  249.           if [ ! -d "$target_file" ]; then
  250.             if [ ! -d "$MV_LOC/${a_folder}" ]; then
  251.                ( cd "$TARGET";
  252.                  echo "./${a_folder}" | \
  253.                  cpio -pdu "$MV_LOC" )
  254.             fi
  255.             mv "$target_file" "$MV_LOC/${a_folder}/$a_file"
  256.           fi
  257.         fi
  258.         [ ! -d "$source_file" ] && ln "$source_file" "$target_file"
  259.       fi
  260.       #  fi
  261.       #done
  262.     fi
  263.   done
  264.  
  265. done <<EOF
  266. lib64
  267. var
  268. var/log
  269. var/log/apt
  270. var/cache
  271. var/cache/ldconfig
  272. var/cache/apt
  273. var/cache/apt/archives
  274. var/cache/apt/archives/partial
  275. var/cache/debconf
  276. var/lib
  277. var/lib/dpkg
  278. var/lib/dpkg/info
  279. var/lib/dpkg/updates
  280. var/lib/dpkg/parts
  281. var/lib/dpkg/alternatives
  282. var/lib/dpkg/triggers
  283. var/lib/apt
  284. var/lib/apt/lists
  285. var/lib/apt/lists/partial
  286. var/lib/apt/periodic
  287. var/lib/apt/mirrors
  288. var/lib/apt/mirrors/partial
  289. var/lib/pam
  290. usr
  291. usr/libexec
  292. usr/src
  293. usr/lib32
  294. usr/local
  295. usr/local/sbin
  296. usr/local/lib
  297. usr/local/include
  298. usr/local/share
  299. usr/local/share/ca-certificates
  300. usr/local/firstrib
  301. usr/local/firstrib/bin
  302. usr/local/bin
  303. usr/sbin
  304. usr/lib
  305. usr/lib/dpkg
  306. usr/lib/dpkg/methods
  307. usr/lib/dpkg/methods/apt
  308. usr/lib/ssl
  309. usr/lib/ssl/misc
  310. usr/lib/mime
  311. usr/lib/mime/packages
  312. usr/lib/apt
  313. usr/lib/apt/planners
  314. usr/lib/apt/methods
  315. usr/lib/apt/solvers
  316. usr/lib/NetworkManager
  317. usr/lib/NetworkManager/conf.d
  318. usr/lib/tmpfiles.d
  319. usr/lib/x86_64-linux-gnu
  320. usr/lib/x86_64-linux-gnu/coreutils
  321. usr/lib/x86_64-linux-gnu/perl-base
  322. usr/lib/x86_64-linux-gnu/perl-base/Text
  323. usr/lib/x86_64-linux-gnu/perl-base/Tie
  324. usr/lib/x86_64-linux-gnu/perl-base/Scalar
  325. usr/lib/x86_64-linux-gnu/perl-base/Getopt
  326. usr/lib/x86_64-linux-gnu/perl-base/unicore
  327. usr/lib/x86_64-linux-gnu/perl-base/unicore/To
  328. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib
  329. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dep
  330. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Hyphen
  331. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/STerm
  332. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFKDQC
  333. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Sc
  334. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/InPC
  335. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/IDS
  336. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CI
  337. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/IDC
  338. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/PCM
  339. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/In
  340. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ea
  341. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/QMark
  342. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Blk
  343. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/PatSyn
  344. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Vo
  345. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Math
  346. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dash
  347. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/GCB
  348. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/XIDS
  349. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/GrExt
  350. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Alpha
  351. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CE
  352. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Jt
  353. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFKCQC
  354. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Term
  355. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFDQC
  356. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Nt
  357. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ideo
  358. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Perl
  359. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/WB
  360. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/XIDC
  361. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/GrBase
  362. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWKCF
  363. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/InSC
  364. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWU
  365. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Hex
  366. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/BidiC
  367. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/DI
  368. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Lb
  369. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Cased
  370. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWT
  371. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CompEx
  372. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Age
  373. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/SD
  374. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dia
  375. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Bc
  376. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Lower
  377. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Upper
  378. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Dt
  379. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Scx
  380. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWCM
  381. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/SB
  382. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Gc
  383. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Nv
  384. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ccc
  385. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/BidiM
  386. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWL
  387. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Ext
  388. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Bpt
  389. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Hst
  390. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/Jg
  391. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/CWCF
  392. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/UIdeo
  393. usr/lib/x86_64-linux-gnu/perl-base/unicore/lib/NFCQC
  394. usr/lib/x86_64-linux-gnu/perl-base/warnings
  395. usr/lib/x86_64-linux-gnu/perl-base/Hash
  396. usr/lib/x86_64-linux-gnu/perl-base/IO
  397. usr/lib/x86_64-linux-gnu/perl-base/IO/Socket
  398. usr/lib/x86_64-linux-gnu/perl-base/auto
  399. usr/lib/x86_64-linux-gnu/perl-base/auto/re
  400. usr/lib/x86_64-linux-gnu/perl-base/auto/Hash
  401. usr/lib/x86_64-linux-gnu/perl-base/auto/Hash/Util
  402. usr/lib/x86_64-linux-gnu/perl-base/auto/IO
  403. usr/lib/x86_64-linux-gnu/perl-base/auto/Socket
  404. usr/lib/x86_64-linux-gnu/perl-base/auto/attributes
  405. usr/lib/x86_64-linux-gnu/perl-base/auto/File
  406. usr/lib/x86_64-linux-gnu/perl-base/auto/File/Glob
  407. usr/lib/x86_64-linux-gnu/perl-base/auto/Cwd
  408. usr/lib/x86_64-linux-gnu/perl-base/auto/List
  409. usr/lib/x86_64-linux-gnu/perl-base/auto/List/Util
  410. usr/lib/x86_64-linux-gnu/perl-base/auto/Fcntl
  411. usr/lib/x86_64-linux-gnu/perl-base/auto/POSIX
  412. usr/lib/x86_64-linux-gnu/perl-base/Carp
  413. usr/lib/x86_64-linux-gnu/perl-base/IPC
  414. usr/lib/x86_64-linux-gnu/perl-base/File
  415. usr/lib/x86_64-linux-gnu/perl-base/File/Spec
  416. usr/lib/x86_64-linux-gnu/perl-base/Exporter
  417. usr/lib/x86_64-linux-gnu/perl-base/List
  418. usr/lib/x86_64-linux-gnu/gconv
  419. usr/lib/x86_64-linux-gnu/engines-1.1
  420. usr/lib/x86_64-linux-gnu/audit
  421. usr/lib/locale
  422. usr/lib/locale/C.UTF-8
  423. usr/lib/locale/C.UTF-8/LC_MESSAGES
  424. usr/lib/debootstrap
  425. usr/lib/pm-utils
  426. usr/lib/pm-utils/sleep.d
  427. usr/include
  428. usr/share
  429. usr/share/pixmaps
  430. usr/share/terminfo
  431. usr/share/debianutils
  432. usr/share/doc
  433. usr/share/doc/libpam0g
  434. usr/share/doc/libsepol1
  435. usr/share/doc/lsb-base
  436. usr/share/doc/coreutils
  437. usr/share/doc/libzstd1
  438. usr/share/doc/libnl-genl-3-200
  439. usr/share/doc/debianutils
  440. usr/share/doc/libnl-3-200
  441. usr/share/doc/dpkg
  442. usr/share/doc/perl
  443. usr/share/doc/libacl1
  444. usr/share/doc/libpcre2-8-0
  445. usr/share/doc/libunistring2
  446. usr/share/doc/libpcsclite1
  447. usr/share/doc/libattr1
  448. usr/share/doc/libgnutls30
  449. usr/share/doc/libtasn1-6
  450. usr/share/doc/libdb5.3
  451. usr/share/doc/libnettle7
  452. usr/share/doc/libaudit1
  453. usr/share/doc/libsystemd0
  454. usr/share/doc/libgcrypt20
  455. usr/share/doc/libffi7
  456. usr/share/doc/gcc-10-base
  457. usr/share/doc/libtinfo6
  458. usr/share/doc/perl-base
  459. usr/share/doc/zlib1g
  460. usr/share/doc/libapt-pkg6.0
  461. usr/share/doc/libreadline8
  462. usr/share/doc/libreadline8/examples
  463. usr/share/doc/libselinux1
  464. usr/share/doc/libpam-modules
  465. usr/share/doc/libpam-modules/examples
  466. usr/share/doc/libsemanage-common
  467. usr/share/doc/apt
  468. usr/share/doc/apt/examples
  469. usr/share/doc/readline-common
  470. usr/share/doc/liblz4-1
  471. usr/share/doc/base-passwd
  472. usr/share/doc/libnl-route-3-200
  473. usr/share/doc/liblzma5
  474. usr/share/doc/libaudit-common
  475. usr/share/doc/libudev1
  476. usr/share/doc/less
  477. usr/share/doc/libdebconfclient0
  478. usr/share/doc/libsemanage1
  479. usr/share/doc/libc6
  480. usr/share/doc/libpam-modules-bin
  481. usr/share/doc/adduser
  482. usr/share/doc/adduser/examples
  483. usr/share/doc/adduser/examples/adduser.local.conf.examples
  484. usr/share/doc/adduser/examples/adduser.local.conf.examples/skel.other
  485. usr/share/doc/adduser/examples/adduser.local.conf.examples/skel
  486. usr/share/doc/libcap-ng0
  487. usr/share/doc/libgmp10
  488. usr/share/doc/ncurses-base
  489. usr/share/doc/libpam-runtime
  490. usr/share/doc/libseccomp2
  491. usr/share/doc/libcrypt1
  492. usr/share/doc/tar
  493. usr/share/doc/diffutils
  494. usr/share/doc/libssl1.1
  495. usr/share/doc/libc-bin
  496. usr/share/doc/passwd
  497. usr/share/doc/passwd/examples
  498. usr/share/doc/ca-certificates
  499. usr/share/doc/ca-certificates/examples
  500. usr/share/doc/ca-certificates/examples/ca-certificates-local
  501. usr/share/doc/ca-certificates/examples/ca-certificates-local/local
  502. usr/share/doc/ca-certificates/examples/ca-certificates-local/debian
  503. usr/share/doc/ca-certificates/examples/ca-certificates-local/debian/source
  504. usr/share/doc/libbz2-1.0
  505. usr/share/doc/openssl
  506. usr/share/doc/openssl/HOWTO
  507. usr/share/doc/wpasupplicant
  508. usr/share/doc/wpasupplicant/examples
  509. usr/share/doc/gpgv
  510. usr/share/doc/libgpg-error0
  511. usr/share/doc/debconf
  512. usr/share/doc/libdbus-1-3
  513. usr/share/doc/ubuntu-keyring
  514. usr/share/doc/libp11-kit0
  515. usr/share/doc/libp11-kit0/examples
  516. usr/share/doc/libidn2-0
  517. usr/share/dpkg
  518. usr/share/gdb
  519. usr/share/gdb/auto-load
  520. usr/share/gdb/auto-load/usr
  521. usr/share/gdb/auto-load/usr/lib
  522. usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu
  523. usr/share/udhcpc
  524. usr/share/man
  525. usr/share/man/man3
  526. usr/share/man/pl
  527. usr/share/man/pl/man8
  528. usr/share/man/pl/man1
  529. usr/share/man/pl/man5
  530. usr/share/man/fr
  531. usr/share/man/fr/man8
  532. usr/share/man/fr/man1
  533. usr/share/man/fr/man5
  534. usr/share/man/nl
  535. usr/share/man/nl/man8
  536. usr/share/man/nl/man1
  537. usr/share/man/nl/man5
  538. usr/share/man/tr
  539. usr/share/man/tr/man8
  540. usr/share/man/tr/man1
  541. usr/share/man/tr/man5
  542. usr/share/man/man8
  543. usr/share/man/man1
  544. usr/share/man/man7
  545. usr/share/man/it
  546. usr/share/man/it/man8
  547. usr/share/man/it/man1
  548. usr/share/man/it/man5
  549. usr/share/man/man5
  550. usr/share/man/pt
  551. usr/share/man/pt/man8
  552. usr/share/man/pt/man1
  553. usr/share/man/pt/man5
  554. usr/share/man/de
  555. usr/share/man/de/man8
  556. usr/share/man/de/man1
  557. usr/share/man/de/man5
  558. usr/share/man/ja
  559. usr/share/man/ja/man8
  560. usr/share/man/ja/man1
  561. usr/share/man/ja/man5
  562. usr/share/man/zh_TW
  563. usr/share/man/zh_TW/man8
  564. usr/share/man/zh_TW/man1
  565. usr/share/man/zh_TW/man5
  566. usr/share/man/es
  567. usr/share/man/es/man8
  568. usr/share/man/es/man1
  569. usr/share/man/es/man5
  570. usr/share/man/pt_BR
  571. usr/share/man/pt_BR/man8
  572. usr/share/man/pt_BR/man1
  573. usr/share/man/pt_BR/man5
  574. usr/share/man/ru
  575. usr/share/man/ru/man8
  576. usr/share/man/ru/man1
  577. usr/share/man/ru/man5
  578. usr/share/man/sv
  579. usr/share/man/sv/man8
  580. usr/share/man/sv/man1
  581. usr/share/man/sv/man5
  582. usr/share/man/zh_CN
  583. usr/share/man/zh_CN/man8
  584. usr/share/man/zh_CN/man1
  585. usr/share/man/zh_CN/man5
  586. usr/share/man/hu
  587. usr/share/man/hu/man1
  588. usr/share/man/hu/man5
  589. usr/share/man/da
  590. usr/share/man/da/man8
  591. usr/share/man/da/man1
  592. usr/share/man/da/man5
  593. usr/share/man/id
  594. usr/share/man/id/man8
  595. usr/share/man/id/man1
  596. usr/share/man/sl
  597. usr/share/man/sl/man8
  598. usr/share/man/sl/man1
  599. usr/share/man/cs
  600. usr/share/man/cs/man8
  601. usr/share/man/cs/man1
  602. usr/share/man/cs/man5
  603. usr/share/man/ko
  604. usr/share/man/ko/man8
  605. usr/share/man/ko/man1
  606. usr/share/man/ko/man5
  607. usr/share/man/fi
  608. usr/share/man/fi/man1
  609. usr/share/pam-configs
  610. usr/share/bug
  611. usr/share/bug/apt
  612. usr/share/info
  613. usr/share/gcc-10
  614. usr/share/gcc-10/python
  615. usr/share/gcc-10/python/libstdcxx
  616. usr/share/gcc-10/python/libstdcxx/v6
  617. usr/share/pam
  618. usr/share/polkit-1
  619. usr/share/polkit-1/actions
  620. usr/share/tabset
  621. usr/share/readline
  622. usr/share/base-passwd
  623. usr/share/keyrings
  624. usr/share/perl5
  625. usr/share/perl5/Debconf
  626. usr/share/perl5/Debconf/Template
  627. usr/share/perl5/Debconf/Client
  628. usr/share/perl5/Debconf/FrontEnd
  629. usr/share/perl5/Debconf/Element
  630. usr/share/perl5/Debconf/Element/Gnome
  631. usr/share/perl5/Debconf/Element/Dialog
  632. usr/share/perl5/Debconf/Element/Editor
  633. usr/share/perl5/Debconf/Element/Teletype
  634. usr/share/perl5/Debconf/Element/Noninteractive
  635. usr/share/perl5/Debconf/Element/Web
  636. usr/share/perl5/Debconf/DbDriver
  637. usr/share/perl5/Debconf/Format
  638. usr/share/perl5/Debian
  639. usr/share/perl5/Debian/DebConf
  640. usr/share/perl5/Debian/DebConf/Client
  641. usr/share/doc-base
  642. usr/share/dbus-1
  643. usr/share/dbus-1/system-services
  644. usr/share/adduser
  645. usr/share/bash-completion
  646. usr/share/bash-completion/completions
  647. usr/share/libc-bin
  648. usr/share/ca-certificates
  649. usr/share/ca-certificates/mozilla
  650. usr/share/locale
  651. usr/share/locale/pl
  652. usr/share/locale/pl/LC_MESSAGES
  653. usr/share/locale/ca
  654. usr/share/locale/ca/LC_MESSAGES
  655. usr/share/locale/fr
  656. usr/share/locale/fr/LC_MESSAGES
  657. usr/share/locale/nl
  658. usr/share/locale/nl/LC_MESSAGES
  659. usr/share/locale/nb
  660. usr/share/locale/nb/LC_MESSAGES
  661. usr/share/locale/tr
  662. usr/share/locale/tr/LC_MESSAGES
  663. usr/share/locale/ku
  664. usr/share/locale/ku/LC_MESSAGES
  665. usr/share/locale/km
  666. usr/share/locale/km/LC_MESSAGES
  667. usr/share/locale/vi
  668. usr/share/locale/vi/LC_MESSAGES
  669. usr/share/locale/it
  670. usr/share/locale/it/LC_MESSAGES
  671. usr/share/locale/pt
  672. usr/share/locale/pt/LC_MESSAGES
  673. usr/share/locale/de
  674. usr/share/locale/de/LC_MESSAGES
  675. usr/share/locale/sk
  676. usr/share/locale/sk/LC_MESSAGES
  677. usr/share/locale/mr
  678. usr/share/locale/mr/LC_MESSAGES
  679. usr/share/locale/et
  680. usr/share/locale/et/LC_MESSAGES
  681. usr/share/locale/eo
  682. usr/share/locale/eo/LC_MESSAGES
  683. usr/share/locale/ja
  684. usr/share/locale/ja/LC_MESSAGES
  685. usr/share/locale/pa
  686. usr/share/locale/pa/LC_MESSAGES
  687. usr/share/locale/gl
  688. usr/share/locale/gl/LC_MESSAGES
  689. usr/share/locale/zh_TW
  690. usr/share/locale/zh_TW/LC_MESSAGES
  691. usr/share/locale/es
  692. usr/share/locale/es/LC_MESSAGES
  693. usr/share/locale/pt_BR
  694. usr/share/locale/pt_BR/LC_MESSAGES
  695. usr/share/locale/ru
  696. usr/share/locale/ru/LC_MESSAGES
  697. usr/share/locale/sv
  698. usr/share/locale/sv/LC_MESSAGES
  699. usr/share/locale/nn
  700. usr/share/locale/nn/LC_MESSAGES
  701. usr/share/locale/bg
  702. usr/share/locale/bg/LC_MESSAGES
  703. usr/share/locale/ro
  704. usr/share/locale/ro/LC_MESSAGES
  705. usr/share/locale/cy
  706. usr/share/locale/cy/LC_MESSAGES
  707. usr/share/locale/eu
  708. usr/share/locale/eu/LC_MESSAGES
  709. usr/share/locale/zh_CN
  710. usr/share/locale/zh_CN/LC_MESSAGES
  711. usr/share/locale/hu
  712. usr/share/locale/hu/LC_MESSAGES
  713. usr/share/locale/da
  714. usr/share/locale/da/LC_MESSAGES
  715. usr/share/locale/bs
  716. usr/share/locale/bs/LC_MESSAGES
  717. usr/share/locale/id
  718. usr/share/locale/id/LC_MESSAGES
  719. usr/share/locale/ar
  720. usr/share/locale/ar/LC_MESSAGES
  721. usr/share/locale/ne
  722. usr/share/locale/ne/LC_MESSAGES
  723. usr/share/locale/dz
  724. usr/share/locale/dz/LC_MESSAGES
  725. usr/share/locale/sl
  726. usr/share/locale/sl/LC_MESSAGES
  727. usr/share/locale/th
  728. usr/share/locale/th/LC_MESSAGES
  729. usr/share/locale/cs
  730. usr/share/locale/cs/LC_MESSAGES
  731. usr/share/locale/ast
  732. usr/share/locale/ast/LC_MESSAGES
  733. usr/share/locale/ko
  734. usr/share/locale/ko/LC_MESSAGES
  735. usr/share/locale/lt
  736. usr/share/locale/lt/LC_MESSAGES
  737. usr/share/locale/el
  738. usr/share/locale/el/LC_MESSAGES
  739. usr/share/locale/tl
  740. usr/share/locale/tl/LC_MESSAGES
  741. usr/share/locale/fi
  742. usr/share/locale/fi/LC_MESSAGES
  743. usr/share/locale/uk
  744. usr/share/locale/uk/LC_MESSAGES
  745. usr/share/lintian
  746. usr/share/lintian/profiles
  747. usr/share/lintian/profiles/dpkg
  748. usr/share/lintian/overrides
  749. usr/share/debconf
  750. usr/bin
  751. home
  752. home/debian
  753. tmp
  754. opt
  755. sbin
  756. lib
  757. lib/systemd
  758. lib/systemd/system
  759. lib/terminfo
  760. lib/terminfo/v
  761. lib/terminfo/h
  762. lib/terminfo/s
  763. lib/terminfo/a
  764. lib/terminfo/m
  765. lib/terminfo/r
  766. lib/terminfo/l
  767. lib/terminfo/x
  768. lib/terminfo/w
  769. lib/terminfo/d
  770. lib/terminfo/c
  771. lib/terminfo/t
  772. lib/terminfo/E
  773. lib/terminfo/p
  774. lib/lsb
  775. lib/lsb/init-functions.d
  776. lib/x86_64-linux-gnu
  777. lib/x86_64-linux-gnu/security
  778. bin
  779. etc/libnl-3
  780. etc/terminfo
  781. etc/selinux
  782. etc/network
  783. etc/network/if-pre-up.d
  784. etc/network/if-down.d
  785. etc/network/if-up.d
  786. etc/network/if-post-down.d
  787. etc/dpkg
  788. etc/dpkg/dpkg.cfg.d
  789. etc/ssl
  790. etc/ssl/private
  791. etc/ssl/certs
  792. etc/udhcpc
  793. etc/logrotate.d
  794. etc/wpa_supplicant
  795. etc/rc.d
  796. etc/pam.d
  797. etc/apt
  798. etc/apt/auth.conf.d
  799. etc/apt/preferences.d
  800. etc/apt/apt.conf.d
  801. etc/apt/sources.list.d
  802. etc/apt/trusted.gpg.d
  803. etc/security
  804. etc/security/namespace.d
  805. etc/security/limits.d
  806. etc/default
  807. etc/ifplugd
  808. etc/ifplugd/action.d
  809. etc/kernel
  810. etc/kernel/postinst.d
  811. etc/dbus-1
  812. etc/dbus-1/system.d
  813. etc/cron.daily
  814. etc/skel
  815. etc/ld.so.conf.d
  816. etc/ca-certificates
  817. etc/ca-certificates/update.d
  818. etc/alternatives
  819. EOF
  820.  
  821. #We don't need to copy these directories from firstribrootfs
  822. #dev
  823. #dev/pts
  824. #boot
  825. #root
  826. #sys
  827. #proc
  828. #mnt
  829. #media
  830. #run
  831. #etc
  832.  
  833. echo "include /etc/ld.so.conf.d/*.conf" >> "$TARGET/etc/ld.so.conf"
  834. export $PATH="$PATH":/usr/local/firstrib/bin >> /etc/profile #maybe do this in /root/.profile
  835.  
  836. while read a_file; do
  837.  cp -af "$FR_SOURCE/etc/$a_file" "$TARGET/etc/$a_file"
  838. done <<EOF
  839. xattr.conf
  840. environment
  841. deluser.conf
  842. ca-certificates.conf
  843. pam.conf
  844. adduser.conf
  845. debconf.conf
  846. gai.conf
  847. bindresvport.blacklist
  848. EOF
  849. #Don't need from /etc:
  850. #.pwd.lock
  851. #group-
  852. #Duplicate in /etc
  853. #gshadow
  854. #inittab
  855. #passwd
  856. #passwd-
  857. #gshadow-
  858. #inputrc
  859. #ld.so.cache
  860. #libaudit.conf
  861. #nsswitch.conf
  862. #resolv.conf
  863. #shells
  864. #shadow
  865.  
  866. while read a_file_rel_path; do #EXTRACTED_SFS_FP
  867.   if [[ $(file "$TARGET/${a_file_rel_path}") != *ASCII* ]]; then
  868.     #mv "$TARGET/${a_file_rel_path}-FULL" "$MV_LOC/${a_file_rel_path}-FULL"
  869.     #mv "$TARGET/${a_file_rel_path}" "$TARGET/${a_file_rel_path}-FULL"
  870.     #mv "$MV_LOC/${a_file_rel_path}" "$TARGET/${a_file_rel_path}"
  871.    
  872.     mv "$TARGET/${a_file_rel_path}-FULL" "$MV_LOC/${a_file_rel_path}-FULL"
  873.     mv "$TARGET/${a_file_rel_path}" "$TARGET/${a_file_rel_path}-FULL"
  874.     mv "$EXTRACTED_SFS_FP/${a_file_rel_path}" "$TARGET/${a_file_rel_path}"
  875.   fi
  876. done <<EOF
  877. sbin/losetup
  878. bin/df
  879. bin/umount
  880. bin/mount
  881. bin/ps
  882. EOF
  883.  
  884. if [ 1 -ne 1 ]; then
  885.   cd "$TARGET"/lib
  886.   rm ld-linux-x86-64.so.2
  887.   ln -s ./x86_64-linux-gnu/ld-linux-x86-64.so.2 ld-linux-x86-64.so.2
  888.   ln -s ./x86_64-linux-gnu/ld-linux-x86-64.so.2 ld-linux-x86-64.so.1
  889. fi
  890.  
  891. #mksquashfs "$EXTRACTED_SFS" "$NEW_SFS"
  892.  
Add Comment
Please, Sign In to add comment