/
preinst
85 lines (72 loc) · 2.25 KB
/
preinst
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
#!/bin/bash
#
# This script is executed in the pre-installation phase
#
# On Debian,
# $1=install : indicates an new install
# $1=upgrade : indicates an upgrade
#
# On RedHat,
# $1=1 : indicates an new install
# $1=2 : indicates an upgrade
set -e
err_exit() {
echo "$@" >&2
exit 1
}
# source the default env file
if [ -f "@path.env@" ]; then
. "@path.env@"
fi
export ES_PATH_CONF=${ES_PATH_CONF:-@path.conf@}
case "$1" in
# Debian ####################################################
install|upgrade)
# Create elasticsearch group if not existing
if ! getent group elasticsearch > /dev/null 2>&1 ; then
echo -n "Creating elasticsearch group..."
addgroup --quiet --system elasticsearch
echo " OK"
fi
# Create elasticsearch user if not existing
if ! id elasticsearch > /dev/null 2>&1 ; then
echo -n "Creating elasticsearch user..."
adduser --quiet \
--system \
--no-create-home \
--home /nonexistent \
--ingroup elasticsearch \
--disabled-password \
--shell /bin/false \
elasticsearch
echo " OK"
fi
;;
abort-deconfigure|abort-upgrade|abort-remove)
;;
# RedHat ####################################################
1|2)
# Create elasticsearch group if not existing
if ! getent group elasticsearch > /dev/null 2>&1 ; then
echo -n "Creating elasticsearch group..."
groupadd -r elasticsearch
echo " OK"
fi
# Create elasticsearch user if not existing
if ! id elasticsearch > /dev/null 2>&1 ; then
echo -n "Creating elasticsearch user..."
useradd --system \
--no-create-home \
--home-dir /nonexistent \
--gid elasticsearch \
--shell /sbin/nologin \
--comment "elasticsearch user" \
elasticsearch
echo " OK"
fi
;;
*)
err_exit "pre install script called with unknown argument \`$1'"
;;
esac
@scripts.footer@