|
|
1.1 ! root 1: #!/bin/sh ! 2: # TrueCrypt install script ! 3: ! 4: BIN_DIR=/usr/local/bin ! 5: MAN_DIR=/usr/local/man ! 6: MOD_DIR=/lib/modules/$(uname -r)/extra ! 7: BIN_PERM=750 ! 8: ! 9: umask 022 ! 10: ! 11: error () ! 12: { ! 13: echo "Error: $*" >&2 ! 14: } ! 15: ! 16: # Prerequisites ! 17: ! 18: echo "Checking installation requirements..." ! 19: ! 20: [ $(id -u) -ne 0 ] && error "Administrator (root) privileges required" && exit 1 ! 21: ! 22: if ! modprobe -V >&- 2>&- || ! rmmod -V >&- 2>&- ! 23: then ! 24: error "modprobe or rmmod not found. TrueCrypt requires kernel module tools." ! 25: exit 1 ! 26: fi ! 27: ! 28: if [ ! -c /dev/mapper/control -a ! -L /dev/mapper/control ] ! 29: then ! 30: echo -n "/dev/mapper/control not found - create? [Y/n]: " ! 31: read A ! 32: if [ "$A" = "" -o "$A" = "y" -o "$A" = "Y" ] ! 33: then ! 34: mkdir /dev/mapper 2>/dev/null && chmod 755 /dev/mapper ! 35: mknod -m 600 /dev/mapper/control c 10 63 ! 36: fi ! 37: fi ! 38: ! 39: modprobe dm-mod >&- 2>&- ! 40: ! 41: if ! dmsetup targets >&- 2>&- ! 42: then ! 43: error "TrueCrypt requires device mapper tools (dmsetup) 1.00.08 or later." ! 44: exit 1 ! 45: fi ! 46: ! 47: if [ ! -b /dev/loop0 -a ! -b /dev/loop/0 -a ! -b /dev/loop1 ] ! 48: then ! 49: echo -n "No loopback device found - create? [Y/n]: " ! 50: read A ! 51: if [ "$A" = "y" -o "$A" = "Y" ] ! 52: then ! 53: for I in 0 1 2 3 4 5 6 7 ! 54: do ! 55: mknod -m 600 /dev/loop$I b 7 $I ! 56: done ! 57: fi ! 58: fi ! 59: ! 60: rmmod truecrypt >&- 2>&- ! 61: if grep -q "^truecrypt " /proc/modules ! 62: then ! 63: error "Please dismount all mounted TrueCrypt volumes first." ! 64: exit 1 ! 65: fi ! 66: ! 67: ! 68: # Build ! 69: ! 70: if [ ! -f Kernel/truecrypt.ko -o ! -f Cli/truecrypt ] ! 71: then ! 72: ./build.sh ! 73: [ $? -ne -0 ] && error "Build failed - installation aborted" && exit 1 ! 74: fi ! 75: ! 76: ! 77: # Test ! 78: ! 79: echo -n "Testing truecrypt... " ! 80: ./Cli/truecrypt --test >/dev/null 2>/dev/null ! 81: [ $? -ne -0 ] && echo "FAILED" && exit 1 ! 82: echo Done. ! 83: ! 84: ! 85: # Installation ! 86: ! 87: echo ! 88: echo -n "Install binaries to [$BIN_DIR]: " ! 89: read A ! 90: [ "$A" ] && BIN_DIR=$A ! 91: [ ! -d $BIN_DIR ] && error "$BIN_DIR does not exist" && exit 1 ! 92: ! 93: echo -n "Install man page to [$MAN_DIR]: " ! 94: read A ! 95: [ "$A" ] && MAN_DIR=$A ! 96: [ ! -d $MAN_DIR/man1 ] && error "$MAN_DIR/man1 does not exist" && exit 1 ! 97: MAN_DIR=$MAN_DIR/man1 ! 98: ! 99: echo -n "Allow non-admin users to run TrueCrypt [y/N]: " ! 100: read A ! 101: [ "$A" = "y" ] && BIN_PERM=4755 ! 102: ! 103: echo -n "Installing kernel module... " ! 104: # make "KERNEL_SRC=$KERNEL_SRC" install >/dev/null ! 105: mkdir $MOD_DIR 2>&- # some distributions omit extra directory ! 106: cp Kernel/truecrypt.ko $MOD_DIR && chmod 600 $MOD_DIR/truecrypt.ko && depmod -a ! 107: [ $? -ne 0 ] && error "Failed to install kernel module" && exit 1 ! 108: echo Done. ! 109: ! 110: echo -n "Installing truecrypt to $BIN_DIR... " ! 111: cp Cli/truecrypt "$BIN_DIR" && chown root:root "$BIN_DIR/truecrypt" && chmod $BIN_PERM "$BIN_DIR/truecrypt" ! 112: [ $? -ne 0 ] && error "Failed to install truecrypt" && exit 1 ! 113: echo Done. ! 114: ! 115: echo -n "Installing truecrypt man page to $MAN_DIR... " ! 116: cp Cli/Man/truecrypt.1 "$MAN_DIR" && chown root:root "$MAN_DIR/truecrypt.1" && chmod 644 "$MAN_DIR/truecrypt.1" ! 117: [ $? -ne 0 ] && error "Failed to install truecrypt man page" && exit 1 ! 118: echo Done. ! 119: ! 120: exit 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.