github.com/qsunny/k8s@v0.0.0-20220101153623-e6dca256d5bf/examples-master/cassandra/image/files/build.sh (about) 1 #!/bin/bash 2 3 # Copyright 2018 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 18 set -o errexit 19 set -o nounset 20 set -o pipefail 21 22 echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections 23 24 apt-get update && apt-get dist-upgrade -y 25 26 clean-install \ 27 openjdk-8-jre-headless \ 28 libjemalloc1 \ 29 localepurge \ 30 dumb-init \ 31 wget 32 33 CASSANDRA_PATH="cassandra/${CASSANDRA_VERSION}/apache-cassandra-${CASSANDRA_VERSION}-bin.tar.gz" 34 CASSANDRA_DOWNLOAD="http://www.apache.org/dyn/closer.cgi?path=/${CASSANDRA_PATH}&as_json=1" 35 CASSANDRA_MIRROR=`wget -q -O - ${CASSANDRA_DOWNLOAD} | grep -oP "(?<=\"preferred\": \")[^\"]+"` 36 37 echo "Downloading Apache Cassandra from $CASSANDRA_MIRROR$CASSANDRA_PATH..." 38 wget -q -O - $CASSANDRA_MIRROR$CASSANDRA_PATH \ 39 | tar -xzf - -C /usr/local 40 41 mkdir -p /cassandra_data/data 42 mkdir -p /etc/cassandra 43 44 mv /logback.xml /cassandra.yaml /jvm.options /etc/cassandra/ 45 mv /usr/local/apache-cassandra-${CASSANDRA_VERSION}/conf/cassandra-env.sh /etc/cassandra/ 46 47 adduser --disabled-password --no-create-home --gecos '' --disabled-login cassandra 48 chmod +x /ready-probe.sh 49 chown cassandra: /ready-probe.sh 50 51 DEV_IMAGE=${DEV_CONTAINER:-} 52 if [ ! -z "$DEV_IMAGE" ]; then 53 clean-install python; 54 else 55 rm -rf $CASSANDRA_HOME/pylib; 56 fi 57 58 mv /kubernetes-cassandra.jar /usr/local/apache-cassandra-${CASSANDRA_VERSION}/lib 59 mv /cassandra-seed.so /etc/cassandra/ 60 mv /cassandra-seed.h /usr/local/lib/include 61 62 apt-get -y purge localepurge 63 apt-get -y autoremove 64 apt-get clean 65 66 rm -rf \ 67 $CASSANDRA_HOME/*.txt \ 68 $CASSANDRA_HOME/doc \ 69 $CASSANDRA_HOME/javadoc \ 70 $CASSANDRA_HOME/tools/*.yaml \ 71 $CASSANDRA_HOME/tools/bin/*.bat \ 72 $CASSANDRA_HOME/bin/*.bat \ 73 doc \ 74 man \ 75 info \ 76 locale \ 77 common-licenses \ 78 ~/.bashrc \ 79 /var/lib/apt/lists/* \ 80 /var/log/* \ 81 /var/cache/debconf/* \ 82 /etc/systemd \ 83 /lib/lsb \ 84 /lib/udev \ 85 /usr/share/doc/ \ 86 /usr/share/doc-base/ \ 87 /usr/share/man/ \ 88 /tmp/* \ 89 /usr/lib/jvm/java-8-openjdk-amd64/jre/plugin \ 90 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/javaws \ 91 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/jjs \ 92 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/orbd \ 93 /usr/lib/jvm/java-8-openjdk-amd64/bin/pack200 \ 94 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/policytool \ 95 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmid \ 96 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmiregistry \ 97 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/servertool \ 98 /usr/lib/jvm/java-8-openjdk-amd64/bin/tnameserv \ 99 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/unpack200 \ 100 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/javaws.jar \ 101 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/deploy* \ 102 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/desktop \ 103 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/*javafx* \ 104 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/*jfx* \ 105 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libdecora_sse.so \ 106 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libprism_*.so \ 107 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libfxplugins.so \ 108 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libglass.so \ 109 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libgstreamer-lite.so \ 110 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjavafx*.so \ 111 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjfx*.so \ 112 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jfxrt.jar \ 113 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/nashorn.jar \ 114 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/oblique-fonts \ 115 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/plugin.jar \ 116 /usr/lib/jvm/java-8-openjdk-amd64/man