□ Coredns 버전이 업데이트 되면 자동으로 최신 버전으로 대체

 ○ 기존 글 참고 :  https://positively.tistory.com/4

#!/usr/bin/env sh
ALPINE_VER=3.16
## 알파인 repository 버전 업데이트
sed -i "s/3.11/$ALPINE_VER/g" /etc/apk/repositories
## 알파인 버전 일괄 변경
sed -i "s/http/https/g" /etc/apk/repositories
## https 적용

if [ -z "$(apk info | grep curl)" ];
## curl 확인, 없으면....
then
   apk add -X https://dl-cdn.alpinelinux.org/alpine/${ALPINE_VER}/main -u alpine-keys --allow-untrusted &&
   apk add -X https://dl-cdn.alpinelinux.org/alpine/${ALPINE_VER}/community -u alpine-keys --allow-untrusted &&
   ## 3.16으로 일시에 올리면 신뢰성 요구 하길래... 신뢰성 무시
   apk add curl
   ## curl 설치
fi

apk upgrade -y
## apk 일괄 업데이트

COREDNS_VER=$(curl -s -I https://github.com/coredns/coredns/releases/latest | grep 'location: ' | cut -d 'v' -f2 | tr -d '\r')
## coredns 최신 버전 확인하여 구동시 마다 최신버전 적용
OS=$(echo $(uname) | tr '[:upper:]' '[:lower:]')
## os 확인 -> 대문자는 일괄 소문자로 변경

arch(){
  case $(uname -m) in
  aarch64)
    echo arm64
    ;;
  x86_64)
    echo amd64
    ;;
  *)
    ehco $(uname -m)
    ;;
 esac
}
## 아키텍쳐 확인
COREDNS_FILE=coredns_${COREDNS_VER}_${OS}_$(arch).tgz
## 다운로드 받아질 바이너리 파일명 변수 선언
COREDNS_URL=https://github.com/coredns/coredns/releases/download/v${COREDNS_VER}/${COREDNS_FILE}
## 다운로드 파일 url 변수 선언


if [ -e /app/${COREDNS_FILE} ];
then
    nohup /app/coredns -dns.port=53 >/dev/null 2>&1 &
else
    /usr/bin/wget -P /app/ ${COREDNS_URL} &&
    /bin/tar -zxvf /app/${COREDNS_FILE} -C /app &&
    echo -e '. \n{\n loop \n forward . /etc/resolv.conf \n}' >>/app/Corefile &&
    nohup /app/coredns -dns.port=53 >/dev/null 2>&1 &
fi

'IT' 카테고리의 다른 글

xauth 설정 및 x11 접속  (0) 2024.05.15
Docker setting  (0) 2023.02.12
WSL to local ip  (0) 2022.10.17
영상 다운로드(ffmpeg)  (0) 2022.10.17
Alpine Linux using the korean input method  (0) 2022.10.17

+ Recent posts