-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·120 lines (101 loc) · 2.74 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·120 lines (101 loc) · 2.74 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash
# This script setup Time Machine on Raspberry Pi.
function installNetatalk {
sudo apt-get install git
mkdir -p /tmp/code
pushd /tmp/code > /dev/null
git clone git://git.code.sf.net/p/netatalk/code netatalk
pushd netatalk > /dev/null
git checkout netatalk-3.1.8
sudo apt-get install build-essential \
libevent-dev \
libssl-dev \
libgcrypt11-dev \
libkrb5-dev \
libpam0g-dev \
libwrap0-dev \
libdb-dev \
libtdb-dev \
libmysqlclient-dev \
libavahi-client-dev \
libacl1-dev \
libldap2-dev \
libcrack2-dev \
systemtap-sdt-dev \
libdbus-1-dev \
libdbus-glib-1-dev \
libglib2.0-dev \
tracker \
libtracker-sparql-1.0-dev \
libtracker-miner-1.0-dev \
bison \
libltdl-dev \
autoconf \
libtool-bin \
automake \
avahi-daemon -y
./bootstrap
./configure \
--with-init-style=debian-sysv \
--without-libevent \
--without-tdb \
--with-cracklib \
--enable-krbV-uam \
--with-pam-confdir=/etc/pam.d \
--with-dbus-sysconf-dir=/etc/dbus-1/system.d \
--with-tracker-pkgconfig-version=1.0
make
sudo make install
make clean
popd > /dev/null
popd > /dev/null
afpd -V
rm -rf /tmp/code
}
sudo apt-get update
sudo apt-get upgrade -y
if ! command -v netatalk > /dev/null; then
installNetatalk
fi
read -p "Please enter the usb storage device name, default is sda1" deviceName
if [ "$deviceName" == "" ]; then
deviceName="sda1"
fi
sudo umount /dev/$deviceName
sudo mkdir -p /media/my_book
sudo chown pi:pi /media/my_book
deviceUUID=`ls -l /dev/disk/by-uuid/ | grep sda1 | awk '{print $9}'`
if [ "$deviceUUID" == "" ]; then
exit 1
fi
sudo sed -i "/^\/dev\/$deviceName/d" /etc/fstab
sudo sed -i "/^UUID=$deviceUUID/d" /etc/fstab
seqFSCK=$((`cat /etc/fstab | grep -v '^#' | awk '{print $6}' | sort | tail -1` + 1))
sudo bash -c "echo 'UUID=$deviceUUID /media/my_book ext4 noexec,defaults,nofail 0 $seqFSCK' >> /etc/fstab"
sudo mount -a
sudo sed -i 's/^hosts:.*$/hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns/' /etc/nsswitch.conf
interfaces=`ip -o link show | awk -F': ' '{print $2}' | \
sed /lo/d | sed -n -e 'H;${x;s/\n/,/g;s/^,//;p;}'`
sudo bash -c "cat > /usr/local/etc/afp.conf << 'EOF'
[Global]
apf interfaces = $interfaces
log level = default:warn
log file = /var/log/afpd.log
mimic model = TimeCapsule6,106
vol dbpath = /var/netatalk/CNID/$u/$v/
[Time Machine]
path = /media/my_book
time machine = yes
EOF"
sudo mkdir -p "/var/netatalk/CNID/pi/Time Machine/"
sudo service avahi-daemon restart
sudo service netatalk restart
sudo update-rc.d avahi-daemon defaults
sudo update-rc.d netatalk defaults
# spin down harddisk after 20 minutes
sudo apt-get install hdparm
sudo bash -c 'cat >> /etc/hdparm.conf << "EOF"
command_line {
hdparm -S 240 /dev/sda
}
EOF'