tazlito rev 57
Link duplicates files
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Apr 12 23:50:34 2008 +0000 (2008-04-12) |
parents | f5662e570e4e |
children | e3db72f3e61b |
files | tazlito |
line diff
1.1 --- a/tazlito Thu Mar 20 11:51:53 2008 +0000 1.2 +++ b/tazlito Sat Apr 12 23:50:34 2008 +0000 1.3 @@ -252,6 +252,28 @@ 1.4 genisohooks rootfs 1.5 cd $ROOTFS 1.6 echo "" 1.7 + 1.8 + # Link duplicate files 1.9 + find . -type f -size +0c -exec stat -c '%s %a %u %g %Y %i %n' {} \; | \ 1.10 + sort | ( save=0; old_owner=""; old_group=""; old_size="" 1.11 + old_time=""; old_perm=""; old_inode=""; old_file="" 1.12 + while read size perm owner group time inode file; do 1.13 + if [ "$size" = "$old_size" -a "$perm" = "$old_perm" -a \ 1.14 + "$owner" = "$old_owner" -a "$group" = "$old_group" -a \ 1.15 + "$inode" != "$old_inode" ]; then 1.16 + if cmp "$file" "$old_file" >/dev/null; then 1.17 + rm -f "$file" 1.18 + ln "$old_file" "$file" 1.19 + inode="$old_inode" 1.20 + save="$(expr $save + $size)" 1.21 + fi 1.22 + fi 1.23 + old_size="$size" ; old_perm="$perm"; old_owner="$owner" 1.24 + old_group="$group"; old_time="$time"; old_inode="$inode" 1.25 + old_file="$file" 1.26 + done 1.27 + echo "$save bytes saved in duplicate files." 1.28 + 1.29 # Use lzma if installed 1.30 if [ "$COMPRESSION" = "none" ]; then 1.31 echo -n "Generating uncompressed initramfs... "