tdavis (owner)

Forks

Revisions

gist: 198291 Download_button fork
public
Public Clone URL: git://gist.github.com/198291.git
Embed All Files: show embed
bootstrap.sh #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/bash
 
usage='bootstrap.sh -- Bootstrap a profile installation
Options:
 
k A key name (Default: "id_dsa")
u User name directory (Default: "user")
o User home directory (Default: "/home/$u")
g Version of git to download (Default: 1.6.4.4)
c Profile clone path
p URL to public key
r URL to private key
h Print this message
';
 
KEYNAME=id_dsa
UNAME=user
HOME=/home/$UNAME
CLONE=git@server:/path/to/profile.git
GITVER=1.6.4.4
 
while getopts "k:u:o:c:g:p:r:h" opt; do
case $opt in
        k)
            KEYNAME=$OPTARG;;
        u)
            UNAME=$OPTARG;;
        o)
            HOME=$OPTARG;;
        c)
            CLONE=$OPTARG;;
        g)
            GITVER=$OPTARG;;
        p)
            PUBKEY=$OPTARG;;
        r)
            PRIVKEY=$OPTARG;;
        h)
            echo "$usage"
            exit;;
    esac
done
    
# Basic stuff
apt-get -qq update
apt-get -qq upgrade
apt-get -qq install build-essential python2.5 screen bzip2 zlib1g-dev tcl
 
# Make user
adduser $UNAME
mkdir /home/$UNAME/.ssh
 
cd /tmp
 
# Git
wget http://kernel.org/pub/software/scm/git/git-$GITVER.tar.gz
tar xfz git-$GITVER.tar.gz
cd git-$GITVER
./configure
make
make install
rm -rf /tmp/git*
 
# Profile prep
SSH=$HOME/.ssh
if [ -n $PRIVKEY ]; then
wget -q $PRIVKEY -O $SSH/$KEYNAME
fi
if [ -n $PUBKEY ]; then
wget -q $PUBKEY -O $SSH/$KEYNAME.pub
    cp $SSH/$KEYNAME.pub $SSH/authorized_keys
fi;
chmod -R 600 $SSH
chown -R $UNAME:$UNAME $SSH
 
# Keychain
wget -q http://agriffis.n01se.net/keychain/keychain-2.6.8.tar.bz2
tar xfj keychain-2.6.8.tar.bz2
install -m0755 keychain-2.6.8/keychain /usr/bin/keychain
rm -rf /tmp/keychain*
/usr/bin/keychain $HOME/.ssh/$KEYNAME
source $HOME/.keychain/`hostname`-sh
 
cd $HOME
 
# Clone profile
git clone $CLONE
python profile/setup-profile.py
chown -R $UNAME $HOME