-
Notifications
You must be signed in to change notification settings - Fork 0
/
razberryInstall.sh
139 lines (103 loc) · 3.46 KB
/
razberryInstall.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
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
!/bin/bash
# Script d'installation de la carte fille Razberry
#
# Hotfirenet - 03/2013
# http://www.hotfirenet.com
#
# Syntaxe: # sudo ./razberryInstall.sh
VERSION="1.00"
# Ajouter la liste de vos logiciels séparés par des espaces
LISTE=""
# libargtable
LISTE=$LISTE" libargtable2-0 libargtable2-dev"
#=============================================================================
# Variables globales
#-------------------
HOME_PATH=`grep $USERNAME /etc/passwd | cut -d: -f6`
APT_GET="apt-get -q -y --force-yes"
WGET="wget -m --no-check-certificate"
DATE=`date +"%Y%m%d%H%M%S"`
LOG_FILE="/tmp/razberryInstall-$DATE.log"
# Fonctions utilisées par le script
#---------------------------------
displaymessage() {
echo "$*"
}
displaytitle() {
displaymessage "------------------------------------------------------------------------------"
displaymessage "$*"
displaymessage "------------------------------------------------------------------------------"
}
displayerror() {
displaymessage "$*" >&2
}
# Premier parametre: ERROR CODE
# Second parametre: MESSAGE
displayerrorandexit() {
local exitcode=$1
shift
displayerror "$*"
exit $exitcode
}
# Premier parametre: MESSAGE
# Autres parametres: COMMAND
displayandexec() {
local message=$1
echo -n "[En cours] $message"
shift
echo ">>> $*" >> $LOG_FILE 2>&1
sh -c "$*" >> $LOG_FILE 2>&1
local ret=$?
if [ $ret -ne 0 ]; then
echo -e "\r\e[0;31m [ERROR]\e[0m $message"
else
echo -e "\r\e[0;32m [OK]\e[0m $message"
fi
return $ret
}
# Debut du programme
#-------------------
# Test que le script est lance en root
if [ $EUID -ne 0 ]; then
displayerror 1 "Le script doit être lancé en root: # su - -c $0"
fi
# Création du fichier de log
echo "Debut du script" > $LOG_FILE
# Installation des librairies
#---------------------------
displaytitle "-- Installation des logiciels suivants: $LISTE"
displayandexec "Installation des logiciels" $APT_GET install $LISTE
# Creation des répertoires zagent et en rep fils Certifications
#---------------------------
displaytitle "-- Création des répertoires zagent et Certifications"
displayandexec "Création des répertoires zagent" "mkdir zagent; cd zagent; mkdir Certifications"
# Téléchargement
#---------------------------
displaytitle "-- Téléchargements des fichiers Run_Z-Agent.sh et z-agent"
displayandexec "Téléchargement de Run_Z-Agent.sh" $WGET https://z-cloud.googlecode.com/git/Z-Connector/Unix/Run_Z-Agent.sh
displayandexec "Téléchargement de z-agent" $WGET wget https://z-cloud.googlecode.com/git/Z-Connector/Unix/Release/Raspberry/z-agent
# On recherche l'adresse de la carte fille
#---------------------------
displaytitle "-- On recherche l'adresse de la carte fille"
displayandexec "Recherche" dmesg|grep cp210x|grep tty
# if [ `arch` == "x86_64" ]; then
# fi
# On applique les droits
#---------------------------
displaytitle "-- On applique les droits "
displayandexec "Mise en place des droits" chmod u+x *
# Mise en place des certificats
# On lance
#---------------------------
displayandexec "Lancement de Run_Z-Agent.sh" "./Run_Z-Agent.sh &"
echo ""
echo "##############################################################################"
echo ""
echo " Fin du script (version $VERSION)"
echo ""
echo " Le log du script se trouve dans le fichier:"
echo " $LOG_FILE"
echo ""
echo "##############################################################################"
echo ""
echo "Fin du script" >> $LOG_FILE