Jelajahi Sumber

Update and rename archlinux-v4.sh to archlinux-v5.sh

tteckster 2 tahun lalu
induk
melakukan
79c4dd0dfe
1 mengubah file dengan 64 tambahan dan 21 penghapusan
  1. 64 21
      ct/archlinux-v5.sh

+ 64 - 21
ct/archlinux-v4.sh → ct/archlinux-v5.sh

@@ -1,4 +1,16 @@
 #!/usr/bin/env bash
 #!/usr/bin/env bash
+function header_info {
+  cat <<"EOF"
+    ___              __       __    _                 
+   /   |  __________/ /_ v5  / /   (_)___  __  ___  __
+  / /| | / ___/ ___/ __ \   / /   / / __ \/ / / / |/_/
+ / ___ |/ /  / /__/ / / /  / /___/ / / / / /_/ />  <  
+/_/  |_/_/   \___/_/ /_/  /_____/_/_/ /_/\__,_/_/|_|  
+                                                      
+EOF
+}
+clear
+header_info
 echo -e "Loading..."
 echo -e "Loading..."
 APP="Arch Linux"
 APP="Arch Linux"
 var_disk="1"
 var_disk="1"
@@ -7,7 +19,7 @@ var_ram="512"
 var_os="archlinux"
 var_os="archlinux"
 var_version="base"
 var_version="base"
 NSAPP=$(echo ${APP,,} | tr -d ' ')
 NSAPP=$(echo ${APP,,} | tr -d ' ')
-NEXTID=$(pvesh get /cluster/nextid)
+var_install="${NSAPP}-v5-install"
 INTEGER='^[0-9]+$'
 INTEGER='^[0-9]+$'
 YW=$(echo "\033[33m")
 YW=$(echo "\033[33m")
 BL=$(echo "\033[36m")
 BL=$(echo "\033[36m")
@@ -19,6 +31,7 @@ CL=$(echo "\033[m")
 BFR="\\r\\033[K"
 BFR="\\r\\033[K"
 HOLD="-"
 HOLD="-"
 CM="${GN}✓${CL}"
 CM="${GN}✓${CL}"
+CROSS="${RD}✗${CL}"
 set -o errexit
 set -o errexit
 set -o errtrace
 set -o errtrace
 set -o nounset
 set -o nounset
@@ -34,31 +47,22 @@ function error_exit() {
   echo -e "$flag $msg" 1>&2
   echo -e "$flag $msg" 1>&2
   exit $EXIT
   exit $EXIT
 }
 }
-if (whiptail --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
-  echo "User selected Yes"
-else
-  clear
-  echo -e "⚠ User exited script \n"
-  exit
-fi
-function header_info {
-  cat <<"EOF"
-    ___              __       __    _                 
-   /   |  __________/ /_ v4  / /   (_)___  __  ___  __
-  / /| | / ___/ ___/ __ \   / /   / / __ \/ / / / |/_/
- / ___ |/ /  / /__/ / / /  / /___/ / / / / /_/ />  <  
-/_/  |_/_/   \___/_/ /_/  /_____/_/_/ /_/\__,_/_/|_|  
-                                                      
-EOF
-}
+
 function msg_info() {
 function msg_info() {
   local msg="$1"
   local msg="$1"
   echo -ne " ${HOLD} ${YW}${msg}..."
   echo -ne " ${HOLD} ${YW}${msg}..."
 }
 }
+
 function msg_ok() {
 function msg_ok() {
   local msg="$1"
   local msg="$1"
   echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
   echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
 }
 }
+
+function msg_error() {
+    local msg="$1"
+    echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
+}
+
 function PVE_CHECK() {
 function PVE_CHECK() {
   PVE=$(pveversion | grep "pve-manager/7" | wc -l)
   PVE=$(pveversion | grep "pve-manager/7" | wc -l)
   if [[ $PVE != 1 ]]; then
   if [[ $PVE != 1 ]]; then
@@ -68,6 +72,30 @@ function PVE_CHECK() {
     exit
     exit
   fi
   fi
 }
 }
+
+if command -v pveversion >/dev/null 2>&1; then
+  if (whiptail --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
+    NEXTID=$(pvesh get /cluster/nextid)
+  else
+    clear
+    echo -e "⚠ User exited script \n"
+    exit
+  fi
+fi
+if ! command -v pveversion >/dev/null 2>&1; then
+  if [[ ! -d /etc/pacman.d ]]; then
+    msg_error "No ${APP} Installation Found!";
+    exit 
+  fi
+  if (whiptail --title "${APP} LXC UPDATE" --yesno "This will update ${APP} LXC.  Proceed?" 10 58); then
+    echo "User selected Update"
+    else
+    clear
+    echo -e "⚠ User exited script \n"
+    exit
+  fi
+fi
+
 function default_settings() {
 function default_settings() {
   echo -e "${DGN}Using Container Type: ${BGN}Unprivileged${CL} ${RD}NO DEVICE PASSTHROUGH${CL}"
   echo -e "${DGN}Using Container Type: ${BGN}Unprivileged${CL} ${RD}NO DEVICE PASSTHROUGH${CL}"
   CT_TYPE="1"
   CT_TYPE="1"
@@ -97,10 +125,11 @@ function default_settings() {
   MAC=""
   MAC=""
   echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}"
   echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}"
   VLAN=""
   VLAN=""
-    echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
+  echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
   SSH="no"
   SSH="no"
   echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
   echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
   VERB="no"
   VERB="no"
+  VERB2="silent"
   echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}"
   echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}"
 }
 }
 function advanced_settings() {
 function advanced_settings() {
@@ -253,9 +282,11 @@ function advanced_settings() {
   if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
   if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
       echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}"
       echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}"
       VERB="yes"
       VERB="yes"
+      VERB2=""
   else
   else
       echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
       echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
       VERB="no"
       VERB="no"
+      VERB2="silent"
   fi
   fi
   if (whiptail --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create ${APP} LXC?" --no-button Do-Over 10 58); then
   if (whiptail --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create ${APP} LXC?" --no-button Do-Over 10 58); then
     echo -e "${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
     echo -e "${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
@@ -266,7 +297,7 @@ function advanced_settings() {
     advanced_settings
     advanced_settings
   fi
   fi
 }
 }
-function start_script() {
+function install_script() {
   if (whiptail --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
   if (whiptail --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
     header_info
     header_info
     echo -e "${BL}Using Default Settings${CL}"
     echo -e "${BL}Using Default Settings${CL}"
@@ -277,8 +308,19 @@ function start_script() {
     advanced_settings
     advanced_settings
   fi
   fi
 }
 }
+
+function update_script() {
+clear
+header_info
+msg_info "Updating ${APP} LXC"
+pacman-key --init
+pacman-key --populate archlinux
+pacman -Sy archlinux-keyring && pacman -Su
+msg_ok "Update Successfull"
+exit
+}
 clear
 clear
-start_script
+if ! command -v pveversion >/dev/null 2>&1; then update_script; else install_script; fi
 if [ "$VERB" == "yes" ]; then set -x; fi
 if [ "$VERB" == "yes" ]; then set -x; fi
 if [ "$CT_TYPE" == "1" ]; then
 if [ "$CT_TYPE" == "1" ]; then
   FEATURES="nesting=1,keyctl=1"
   FEATURES="nesting=1,keyctl=1"
@@ -288,6 +330,7 @@ fi
 TEMP_DIR=$(mktemp -d)
 TEMP_DIR=$(mktemp -d)
 pushd $TEMP_DIR >/dev/null
 pushd $TEMP_DIR >/dev/null
 export VERBOSE=$VERB
 export VERBOSE=$VERB
+export STD=$VERB2
 export SSH_ROOT=${SSH}
 export SSH_ROOT=${SSH}
 export CTID=$CT_ID
 export CTID=$CT_ID
 export PCT_OSTYPE=$var_os
 export PCT_OSTYPE=$var_os