github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/nydus/nydusdfile/clientfile/start.sh (about)

     1  #!/bin/bash
     2  # Copyright © 2022 Alibaba Group Holding Ltd.
     3  #
     4  # Licensed under the Apache License, Version 2.0 (the "License");
     5  # you may not use this file except in compliance with the License.
     6  # You may obtain a copy of the License at
     7  #
     8  #     http://www.apache.org/licenses/LICENSE-2.0
     9  #
    10  # Unless required by applicable law or agreed to in writing, software
    11  # distributed under the License is distributed on an "AS IS" BASIS,
    12  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  # See the License for the specific language governing permissions and
    14  # limitations under the License.
    15  
    16  set -e
    17  set -x
    18  
    19  ! mountpoint -q "$1" || umount -lf "$1"
    20  ! mountpoint -q nydusdfs || umount -lf nydusdfs
    21  rm -rf $1
    22  mkdir -p $1
    23  rm -rf nydusdfs
    24  mkdir -p nydusdfs
    25  rm -rf /usr/bin/nydusd
    26  cp nydusd /usr/bin/nydusd
    27  chmod +x /usr/bin/nydusd
    28  
    29  nydusdserver="
    30  [Unit]\n
    31  Description=nydusd service\n
    32  [Service]\n
    33  TimeoutStartSec=3\n
    34  ExecStart=/usr/bin/nydusd --thread-num 10 --log-level debug --mountpoint $(pwd)/nydusdfs --apisock $(pwd)/nydusd.sock --id sealer --bootstrap $(pwd)/rootfs.meta --config $(pwd)/httpserver.json --supervisor $(pwd)/supervisor.sock\n
    35  Restart=always\n
    36  [Install]\n
    37  WantedBy=multi-user.target\n
    38  "
    39  echo -e ${nydusdserver} > /etc/systemd/system/nydusd.service
    40  systemctl enable nydusd.service
    41  systemctl restart nydusd.service
    42  rm -rf upper
    43  rm -rf work
    44  mkdir -p upper
    45  mkdir -p work
    46  sleep 0.5
    47  mount -t overlay overlay -o lowerdir=$(pwd)/nydusdfs,upperdir=$(pwd)/upper,workdir=$(pwd)/work $1 -o index=off