소스 검색

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

tteckster 2 년 전
부모
커밋
d0e43fa657
1개의 변경된 파일64개의 추가작업 그리고 22개의 파일을 삭제
  1. 64 22
      ct/podman-v5.sh

+ 64 - 22
ct/podman-v4.sh → ct/podman-v5.sh

@@ -1,4 +1,16 @@
 #!/usr/bin/env bash
+function header_info {
+  cat <<"EOF"
+    ____            __                    
+   / __ \____v5____/ /___ ___  ____ _____ 
+  / /_/ / __ \/ __  / __ `__ \/ __ `/ __ \
+ / ____/ /_/ / /_/ / / / / / / /_/ / / / /
+/_/    \____/\__,_/_/ /_/ /_/\__,_/_/ /_/ 
+                                          
+EOF
+}
+clear
+header_info
 echo -e "Loading..."
 APP="Podman"
 var_disk="4"
@@ -7,8 +19,7 @@ var_ram="2048"
 var_os="debian"
 var_version="11"
 NSAPP=$(echo ${APP,,} | tr -d ' ')
-var_install="${NSAPP}-install"
-NEXTID=$(pvesh get /cluster/nextid)
+var_install="${NSAPP}-v5-install"
 INTEGER='^[0-9]+$'
 YW=$(echo "\033[33m")
 BL=$(echo "\033[36m")
@@ -20,6 +31,7 @@ CL=$(echo "\033[m")
 BFR="\\r\\033[K"
 HOLD="-"
 CM="${GN}✓${CL}"
+CROSS="${RD}✗${CL}"
 set -o errexit
 set -o errtrace
 set -o nounset
@@ -35,31 +47,22 @@ function error_exit() {
   echo -e "$flag $msg" 1>&2
   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() {
   local msg="$1"
   echo -ne " ${HOLD} ${YW}${msg}..."
 }
+
 function msg_ok() {
   local msg="$1"
   echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
 }
+
+function msg_error() {
+    local msg="$1"
+    echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
+}
+
 function PVE_CHECK() {
   PVE=$(pveversion | grep "pve-manager/7" | wc -l)
   if [[ $PVE != 1 ]]; then
@@ -69,6 +72,30 @@ function PVE_CHECK() {
     exit
   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 [[ ! -f /etc/systemd/system/podman.socket ]]; 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() {
   echo -e "${DGN}Using Container Type: ${BGN}Unprivileged${CL} ${RD}NO DEVICE PASSTHROUGH${CL}"
   CT_TYPE="1"
@@ -102,6 +129,7 @@ function default_settings() {
   SSH="no"
   echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
   VERB="no"
+  VERB2="silent"
   echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}"
 }
 function advanced_settings() {
@@ -113,7 +141,7 @@ function advanced_settings() {
   if [ $exitstatus = 0 ]; then
     echo -e "${DGN}Using Container Type: ${BGN}$CT_TYPE${CL}"
   fi
-  PW1=$(whiptail --inputbox "Set Root Password (needed for root ssh access)" 8 58 --title "PASSWORD (leave blank for automatic login)" --cancel-button Exit-Script 3>&1 1>&2 2>&3)
+  PW1=$(whiptail --inputbox "Set Root Password (needed for root ssh access)" 8 58 --title "PASSWORD(leave blank for automatic login)" --cancel-button Exit-Script 3>&1 1>&2 2>&3)
   exitstatus=$?
   if [ $exitstatus = 0 ]; then
     if [ -z $PW1 ]; then
@@ -254,9 +282,11 @@ function advanced_settings() {
   if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
       echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}"
       VERB="yes"
+      VERB2=""
   else
       echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
       VERB="no"
+      VERB2="silent"
   fi
   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}"
@@ -267,7 +297,7 @@ function advanced_settings() {
     advanced_settings
   fi
 }
-function start_script() {
+function install_script() {
   if (whiptail --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
     header_info
     echo -e "${BL}Using Default Settings${CL}"
@@ -278,8 +308,19 @@ function start_script() {
     advanced_settings
   fi
 }
+
+function update_script() {
+clear
+header_info
+msg_info "Updating ${APP} LXC"
+apt-get update &>/dev/null
+apt-get -y upgrade &>/dev/null
+msg_ok "Updated ${APP} LXC"
+msg_ok "Update Successfull"
+exit
+}
 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 [ "$CT_TYPE" == "1" ]; then
   FEATURES="nesting=1,keyctl=1"
@@ -289,6 +330,7 @@ fi
 TEMP_DIR=$(mktemp -d)
 pushd $TEMP_DIR >/dev/null
 export VERBOSE=$VERB
+export STD=$VERB2
 export SSH_ROOT=${SSH}
 export CTID=$CT_ID
 export PCT_OSTYPE=$var_os