diff options
author | Simon Rettberg | 2013-12-18 18:15:34 +0100 |
---|---|---|
committer | Simon Rettberg | 2013-12-18 18:15:34 +0100 |
commit | b90f8bd14cb7246d0be0207c4d843d7a40a5e624 (patch) | |
tree | dde18da4de38fdcc89c4b46aba5555170cc3c309 | |
parent | Merge branch 'master' of dnbd3:openslx-ng/tm-scripts (diff) | |
download | tm-scripts-b90f8bd14cb7246d0be0207c4d843d7a40a5e624.tar.gz tm-scripts-b90f8bd14cb7246d0be0207c4d843d7a40a5e624.tar.xz tm-scripts-b90f8bd14cb7246d0be0207c4d843d7a40a5e624.zip |
Two tiny scripts for copying/analyzing binaries and their shared libs
-rwxr-xr-x | useful/lddcopy | 23 | ||||
-rwxr-xr-x | useful/lddsize | 26 |
2 files changed, 49 insertions, 0 deletions
diff --git a/useful/lddcopy b/useful/lddcopy new file mode 100755 index 00000000..c8f5ceb6 --- /dev/null +++ b/useful/lddcopy @@ -0,0 +1,23 @@ +#!/bin/bash + +if [ $# -ne 2 ]; then + echo "Usage: $0 FILE TARGET_HOST" >&2 + exit 1 +fi + +# libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f0844776000) +if [ -e "$1" ]; then + FILE="$1" +else + FILE=$(which "$1") +fi + +if [ ! -e "$FILE" ]; then + echo "FILE NOT FOUND: $FILE" >&2 + exit 1 +fi + +SOS=$(ldd "$FILE" | sed -r 's/^[^=]*=> ([^ ]*) .*$/\1*/g' | grep '^/') +set -x +tar -cpP $FILE $SOS | ssh "root@$2" "tar -xp -C /" + diff --git a/useful/lddsize b/useful/lddsize new file mode 100755 index 00000000..1215f989 --- /dev/null +++ b/useful/lddsize @@ -0,0 +1,26 @@ +#!/bin/bash + +# libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f0844776000) +if [ -e "$1" ]; then + FILE="$1" +else + FILE=$(which "$1") +fi + +if [ ! -e "$FILE" ]; then + echo "FILE NOT FOUND: $FILE" >&2 + exit 1 +fi + +SOS=$(ldd "$FILE" | sed -r 's/^[^=]*=> ([^ ]*) .*$/\1/g' | grep '^/') +SIZE=$(stat -c %s "$FILE") +LIBS=0 +for SO in $SOS; do + S=$(stat -c %s "$SO") + SIZE=$(( $SIZE + $S )) + LIBS=$(( $LIBS + 1 )) +done + +SIZE=$(( $SIZE / 1024 )) +echo "$FILE has $LIBS shared libs with a total size of ${SIZE}KiB (including itself)" + |