This file is indexed.

preinst is in percona-xtradb-cluster-server-5.7 5.7.20-29.24-0ubuntu2.

This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.

The actual contents of the file can be viewed below.

  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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#!/bin/bash

set -e

if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then
    set -v -x
    DEBIAN_SCRIPT_TRACE=1
fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }

get_pcount() {
    PSCOUNT=$(ps -ef | grep "/usr/sbin/mysqld" | wc -l)
    echo "${PSCOUNT}"
}

server_stop() {
    bootstrapped=$(ps wwaux | grep mysql | grep wsrep-new-cluster | wc -l)
    if [ $bootstrapped != 0 ]; then
        echo 1 >/tmp/bootstrapped
    fi
    PSCOUNT=$(get_pcount)
    COUNT=0
    while :; do
        COUNT=$((COUNT + 1))
        echo -n .
        if [ "${PSCOUNT}" -eq 1 ]; then
            echo
            break
        fi
        if [ "${COUNT}" -gt 15 ]; then
            if [ ! -x /etc/init.d/mysql ]; then return; fi

            set +e
            cmd="/etc/init.d/mysql bootstrap-stop"
            $cmd
            errno=$?
            set -e

            # 0=ok, 100=no init script (fresh install)
            if [ "$errno" != 0 ]; then
                set +e
                cmd="service mysql stop"
                $cmd
                errno=$?
                set -e
                if [ "$errno" != 0 ]; then
                    return 1
                else
                    return 0
                fi
            else
                return 0
            fi
        fi
        PSCOUNT=$(get_pcount)
        sleep 1
    done
    return 0
}

case "$1" in
install)

    if [ -z "$2" ]; then
        if [ -x "/etc/init.d/mysql" ]; then
            invoke-rc.d mysql stop || exit $?
            server_stop
        fi

        MYSQLDATA=/var/lib/percona-xtradb-cluster
        MYSQLFILES=/var/lib/mysql-files
        MYSQLLOG=/var/log/mysql
        MYSQLRUN=/var/run/mysqld
        MYSQLKEYRING=/var/lib/mysql-keyring
        MYSQLLOGFILE=/var/log/mysqld.log

        if ! getent group mysql >/dev/null; then
            addgroup --system mysql >/dev/null
        fi

        if ! getent passwd mysql >/dev/null; then
            adduser --ingroup mysql --system --disabled-login \
                --no-create-home --home ${MYSQLDATA} \
                --shell /bin/false --gecos "MySQL Server" \
                mysql >/dev/null
        fi

        if [ ! -d ${MYSQLDATA} -a ! -L ${MYSQLDATA} ]; then
            mkdir ${MYSQLDATA}
            chown mysql:mysql ${MYSQLDATA}
            chmod 750 ${MYSQLDATA}
        fi

        if [ ! -d ${MYSQLFILES} -a ! -L ${MYSQLFILES} ]; then
            mkdir ${MYSQLFILES}
            chown mysql:mysql ${MYSQLFILES}
            chmod 770 ${MYSQLFILES}
        fi

        if [ ! -d ${MYSQLKEYRING} -a ! -L ${MYSQLKEYRING} ]; then
            mkdir ${MYSQLKEYRING}
            chown mysql:mysql ${MYSQLKEYRING}
            chmod 750 ${MYSQLKEYRING}
        fi

        if [ ! -d ${MYSQLLOG} -a ! -L ${MYSQLLOG} ]; then
            mkdir ${MYSQLLOG}
            chown mysql:adm ${MYSQLLOG}
            chmod 750 ${MYSQLLOG}
            touch ${MYSQLLOG}/error.log
            chmod 640 ${MYSQLLOG}/error.log
            chown mysql:adm ${MYSQLLOG}/error.log
        fi

        if [ ! -e ${MYSQLLOGFILE} ]; then
            touch ${MYSQLLOGFILE}
            chmod 640 ${MYSQLLOGFILE}
            chown mysql:adm ${MYSQLLOGFILE}
        fi

        if [ ! -d ${MYSQLRUN} -a ! -L ${MYSQLRUN} ]; then
            mkdir ${MYSQLRUN}
            chown mysql:mysql ${MYSQLRUN}
            chmod 755 ${MYSQLRUN}
        fi
    else
        server_stop
    fi

    ;;

upgrade)

    server_stop

    ;;

abort-upgrade) ;;

*)

    exit 1
    ;;
esac



exit 0