29 Commits

Author SHA1 Message Date
pnetlabrepo
640d4d776d Update CHANGELOG.md 2023-01-22 04:00:47 -03:00
pnetlabrepo
5e07400e5c Update version 2023-01-22 03:59:07 -03:00
pnetlabrepo
76d95d9bd0 Update ishare2 2023-01-22 03:58:34 -03:00
pnetlabrepo
aa8769b7dd Update CHANGELOG.md 2023-01-21 10:51:11 -03:00
pnetlabrepo
7b73156b1c Update CHANGELOG.md 2023-01-19 07:16:25 -03:00
pnetlabrepo
e5da554158 Update version 2023-01-19 07:14:10 -03:00
pnetlabrepo
e7492cbf67 Update ishare2 2023-01-19 07:13:38 -03:00
pnetlabrepo
6d9f45b56b Update upgrade.sh 2023-01-18 02:43:03 -03:00
pnetlabrepo
89b8e808ed Update README.md 2023-01-18 02:34:21 -03:00
pnetlabrepo
c61e8398e4 Update README.md 2023-01-18 02:33:11 -03:00
pnetlabrepo
27a7e2de7b Update upgrade.sh 2023-01-18 02:30:42 -03:00
pnetlabrepo
c76b832ac6 Update upgrade.sh 2023-01-18 02:29:10 -03:00
pnetlabrepo
bfd2377c8a Update upgrade.sh 2023-01-18 02:19:39 -03:00
pnetlabrepo
3064fdcab2 Update upgrade.sh 2023-01-18 02:19:38 -03:00
pnetlabrepo
3503add54c Update upgrade.sh 2023-01-18 02:11:52 -03:00
pnetlabrepo
cab7df20ff Update upgrade.sh 2023-01-18 02:09:33 -03:00
pnetlabrepo
1b30909d0b Update upgrade.sh 2023-01-18 02:09:15 -03:00
pnetlabrepo
71e9cae4fa Update README.md 2023-01-17 03:47:19 -03:00
pnetlabrepo
dbe22ff781 Update ishare2 2023-01-17 02:14:43 -03:00
pnetlabrepo
95ef408d04 Update version 2023-01-17 02:12:21 -03:00
pnetlabrepo
2c81ae0673 Update ishare2 2023-01-17 02:11:50 -03:00
pnetlabrepo
d5c5869aa8 Update README.md 2023-01-17 02:10:10 -03:00
pnetlabrepo
2fdd1ce655 Update README.md 2023-01-17 02:09:42 -03:00
pnetlabrepo
7bd23fb5db Update CHANGELOG.md 2023-01-17 02:04:54 -03:00
pnetlabrepo
142144bf2e Update CHANGELOG.md 2023-01-17 02:04:29 -03:00
pnetlabrepo
d21fff1c08 Update ishare2 2023-01-17 02:02:44 -03:00
pnetlabrepo
820ddfe905 Update CHANGELOG.md 2023-01-16 09:33:26 -03:00
pnetlabrepo
c517e64850 Update version 2023-01-16 09:29:31 -03:00
pnetlabrepo
646a913ccb Update ishare2 2023-01-16 09:29:14 -03:00
7 changed files with 198 additions and 51 deletions

View File

@@ -1,5 +1,22 @@
# Changelog
All notable changes to this project will be documented in this file. You can upgrade ishare2 to the latest version using `ishare2 upgrade`
All notable changes to this project will be documented in this file. You can upgrade ishare2 to the latest version using `ishare2 upgrade` and then selecting option 1
## [v1.5.0] - 2023-Jan-22
1) Added: Some code has been added to ishare2 to support PNETLab upgrade to v5.2.8 (Same as v5.2.7 fix: AMD and Intel folders at html/templates/). PNETLab users from v4.2.10 should not have any problem
## [v1.4.9] - 2023-Jan-19
1) Added: This version adds support to PNETLab 6.x related to yml template location (AMD and Intel folders)
## [v1.4.8] - 2023-Jan-17
1) Added: A menu was added into the `ishare2 upgrade` command. This menu allows users to upgrade ishare2 and PNETLab to their latest versions
## [v1.4.7] - 2023-Jan-16
1) Added: A function called set_url_constants() was added to the code and to the main() execution. This function contains all of the URL needed in the project.
2) Modified: Function called set_color_variables() was renamed to set_color_constants()
## [v1.4.6] - 2023-Jan-16

View File

@@ -18,7 +18,7 @@ Apply this command using the terminal
wget -O /usr/sbin/ishare2 https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2 > /dev/null 2>&1 && chmod +x /usr/sbin/ishare2 && ishare2
```
Note: There is no need to be in the same directory where *ishare2* file is installed in order to execute it
`Note: There is no need to be in the same directory where ishare2 file is installed in order to execute it`
## ✅ Syntax
@@ -31,7 +31,7 @@ Note: There is no need to be in the same directory where *ishare2* file is insta
labs : Show labs on server and download images for those labs
mylabs : Same as labs command but using a customized path to labs
relicense : Generate a new iourc license for bin images
upgrade : Upgrade ishare2 code to the latest version
upgrade : Retrieves a menu that allows users to upgrade ishare2 and PNETLab VM
changelog : Show the latest changes made to ishare2
help : Show useful information
@@ -104,7 +104,7 @@ Note: There is no need to be in the same directory where *ishare2* file is insta
* For problems, use our Telegram Channel describing your problem and sending a screenshot and/or a video
* For new files to be uploaded, you can also use our Telegram Channel: In this case, you can send or ask for new images to be uploaded
* Using ishare2 upgrade will result in upgrading this utility (ishare2). It will not upgrade your PNETLab Ubuntu VM version
* Using ishare2 upgrade will display a menu that allows users to upgrade ishare2 and PNETLab.
* If CiscoIOUKeygen.py, iourc and/or keepalive.pl files in /opt/unetlab/addons/iol/bin/ are deleted, you can recover them by using ishare2 relicense. This will not affect images in there
Also, this command when used, will generate a new license file called "iourc", needed for bin files
@@ -122,6 +122,8 @@ Note: There is no need to be in the same directory where *ishare2* file is insta
- Upgrade from v4.2.10 to v5.0.1: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_4.2.10_to_5.0.1)
- Upgrade from v4.2.10 to v5.2.7: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_4.2.10_to_5.2.7)
- Upgrade from v5.0.1 to v5.2.7: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_5.0.1_to_5.2.7)
Note: You can also upgrade PNETLab using `ishare2 upgrade`, then using the `option 2` and finally selecting an option from the displayed list
## Known limitations

149
ishare2
View File

@@ -1,17 +1,31 @@
#!/bin/bash
#October, 2022
function set_color_variables() {
function set_color_constants() {
RED='\033[31m'
YELLOW='\033[1;33m'
GREEN='\033[32m'
NO_COLOR='\033[0m'
}
function set_url_constants() {
URL_ID_LIST=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/id_list
URL_VERSION=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version
URL_ISHARE2=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2
URL_CHANGELOG_MD=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/CHANGELOG.md
URL_CISCO_IOU_KEYGEN_PY=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/CiscoIOUKeygen.py
URL_KEEPALIVE_PL=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/keepalive.pl
URL_I86BI_LINUX_L2_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l2/i86bi_linux_l2.yml
URL_I86BI_LINUX_L3_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l3/i86bi_linux_l3.yml
URL_C2600_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c2600.yml
URL_C1760_YML=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c1760.yml
URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_0_1=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.0.1/upgrade.sh
URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_2_7=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.2.7/upgrade.sh
URL_UPGRADE_PNETLAB_FROM_5_0_1_TO_5_2_7=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_5.0.1_to_5.2.7/upgrade.sh
}
function check_user_is_root() {
user=$(whoami)
if [[ "$user" != "root" ]]; then
echo -e "${RED}[!] Current user ($user) is not root, please change user as root to execute this script${NO_COLOR}"
exit 1
@@ -19,7 +33,7 @@ function check_user_is_root() {
}
function get_initial_information() {
ID_LIST="$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/id_list)"
ID_LIST="$(curl -s $URL_ID_LIST)"
GOOGLE_SHEETS_ID=$( echo "$ID_LIST" | awk -F= '/^GOOGLE/ { print $2 }' )
BIN_GID=$( echo "$ID_LIST" | awk -F= '/^BIN/ { print $2 }' )
@@ -34,6 +48,16 @@ function get_initial_information() {
DYNAMIPS_URL=$URL_PREFIX$DYNAMIPS_GID$URL_POSTFIX
}
function get_server_platform() {
grep -q vmx /proc/cpuinfo && echo -n vmx > /opt/unetlab/platform
grep -q svm /proc/cpuinfo && echo -n svm > /opt/unetlab/platform
platform=$(cat /opt/unetlab/platform)
if [[ $platform == "vmx" ]]; then YML_DIR="/opt/unetlab/html/templates/intel/" ; fi
if [[ $platform == "svm" ]]; then YML_DIR="/opt/unetlab/html/templates/amd/" ; fi
}
function set_yml_template_folder_location() {
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
data_array=($data)
@@ -41,14 +65,12 @@ function set_yml_template_folder_location() {
if [[ $pnetlab_version == "4.2.10" ]]; then YML_DIR="/opt/unetlab/html/templates/" ; fi
if [[ $pnetlab_version == "5.2.5" ]] || [[ $pnetlab_version == "5.2.6" ]] || [[ $pnetlab_version == "5.2.7" ]]; then
grep -q vmx /proc/cpuinfo && echo -n vmx > /opt/unetlab/platform
grep -q svm /proc/cpuinfo && echo -n svm > /opt/unetlab/platform
platform=$(cat /opt/unetlab/platform)
if [[ $platform == "vmx" ]]; then YML_DIR="/opt/unetlab/html/templates/intel/" ; fi
if [[ $platform == "svm" ]]; then YML_DIR="/opt/unetlab/html/templates/amd/" ; fi
if [[ $pnetlab_version == "5.2.5" ]] || [[ $pnetlab_version == "5.2.6" ]] || [[ $pnetlab_version == "5.2.7" ]] || [[ $pnetlab_version == "5.2.8" ]]; then
get_server_platform
fi
if [[ $pnetlab_version == *6.* ]]; then
get_server_platform
fi
}
@@ -907,13 +929,13 @@ function download_lab_docker_images() {
function check_ishare2_version_file_exists() {
if ! [[ -e /usr/sbin/ishare2_version ]]; then
echo -n "$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version)" >> /usr/sbin/ishare2_version
echo -n "$(curl -s $URL_VERSION)" >> /usr/sbin/ishare2_version
fi
}
function upgrade_ishare2() {
LOCAL_VALUE=$(cat /usr/sbin/ishare2_version)
REMOTE_VALUE=$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version)
REMOTE_VALUE=$(curl -s $URL_VERSION)
if [[ $LOCAL_VALUE == "$REMOTE_VALUE" ]]; then
echo "ishare2 $REMOTE_VALUE is currently the newest version available"
@@ -921,7 +943,7 @@ function upgrade_ishare2() {
fi
rm /usr/sbin/ishare2
wget -O /usr/sbin/ishare2 https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/ishare2 > /dev/null 2>&1
wget -O /usr/sbin/ishare2 $URL_ISHARE2 > /dev/null 2>&1
chmod +x /usr/sbin/ishare2
echo "ishare2 was upgraded from $LOCAL_VALUE to $REMOTE_VALUE"
@@ -929,12 +951,82 @@ function upgrade_ishare2() {
echo "$REMOTE_VALUE" >> /usr/sbin/ishare2_version
}
function menu_ishare2_upgrade_pnetlab() {
prompt="Please, select an option: "
options=(
"Upgrade PNETLab 4.2.10 to 5.0.1"
"Upgrade PNETLab 4.2.10 to 5.2.7"
"Upgrade PNETLab 5.0.1 to 5.2.7"
)
PS3="$prompt"
select opt in "${options[@]}" "Exit"; do
case "$REPLY" in
1)
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_0_1 > /dev/null 2>&1
chmod +x upgrade.sh
bash upgrade.sh
break
;;
2)
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_4_2_10_TO_5_2_7 > /dev/null 2>&1
chmod +x upgrade.sh
bash upgrade.sh
break
;;
3)
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_5_0_1_TO_5_2_7 > /dev/null 2>&1
chmod +x upgrade.sh
bash upgrade.sh
break
;;
$((${#options[@]}+1)))
break
;;
*)
STR="Invalid option: Select a number from 1 to 4"
echo -e "${RED}$STR${NO_COLOR}"
continue
;;
esac
done
}
function menu_ishare2_upgrade() {
prompt="Please, select an option: "
options=(
"Upgrade ishare2"
"Upgrade PNETLab"
)
PS3="$prompt"
select opt in "${options[@]}" "Exit"; do
case "$REPLY" in
1)
upgrade_ishare2
break
;;
2)
menu_ishare2_upgrade_pnetlab
break
;;
$((${#options[@]}+1)))
break
;;
*)
STR="Invalid option: Select a number from 1 to 3"
echo -e "${RED}$STR${NO_COLOR}"
continue
;;
esac
done
}
function show_changelog() {
FILE=/root/CHANGELOG.md
if [[ -e $FILE ]]; then rm $FILE ; fi
CHANGELOG_URL=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/CHANGELOG.md
DATA="$(wget -q $CHANGELOG_URL -P /root)"
DATA="$(wget -q $URL_CHANGELOG_MD -P /root)"
head -n 15 $FILE
rm $FILE
}
@@ -965,11 +1057,11 @@ function generate_a_new_license() {
if [[ -e $PYTHON_FILE ]]; then rm $PYTHON_FILE ; fi
wget -O $PYTHON_FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/CiscoIOUKeygen.py > /dev/null 2>&1
wget -O $PYTHON_FILE $URL_CISCO_IOU_KEYGEN_PY > /dev/null 2>&1
python $PYTHON_FILE > /dev/null 2>&1
if ! [[ -e $PERL_FILE ]]; then
wget -O $PERL_FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/iol/bin/keepalive.pl > /dev/null 2>&1
wget -O $PERL_FILE $URL_KEEPALIVE_PL > /dev/null 2>&1
fi
echo "Done"
}
@@ -1220,7 +1312,7 @@ function show_help_info() {
echo -e "1) For problems, use our Telegram Channel describing your problem and sending a screenshot and/or a video"
echo -e "\n2) For new files to be uploaded, you can use our Telegram Channel too"
echo -e "In this case, you can send or ask for new images to be uploaded"
echo -e "\n3) Using \033[32mishare2 upgrade\033[0m will result in upgrading this utility (ishare2). It will \033[31mnot\033[0m upgrade your PNETLab Ubuntu VM version"
echo -e "\n3) Using \033[32mishare2 upgrade\033[0m will display a menu that allows users to upgrade ishare2 and PNETLab."
echo -e "\n4) If CiscoIOUKeygen.py, iourc and/or keepalive.pl files in /opt/unetlab/addons/iol/bin/ are deleted, you can recover them by using \033[32mishare2 relicense\033[0m. This will not affect images in there."
echo -e "Also, this command when used, will generate a new license file called iourc, needed for bin files"
echo -e "\n5) Don't cancell a download. In case you do it, you will have to remove incomplete files or folders manually"
@@ -1234,7 +1326,7 @@ function show_ishare2_usage() {
STR=""
LOCAL_VALUE=$ISHARE2_VERSION_USAGE
REMOTE_VALUE=$(curl -s https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/version)
REMOTE_VALUE=$(curl -s $URL_VERSION)
if ! [[ $LOCAL_VALUE == "$REMOTE_VALUE" ]]; then
STR="New ishare2 version available: $REMOTE_VALUE"
@@ -1260,7 +1352,7 @@ action:
labs : Show labs on server and download images for those labs
mylabs : Same as labs command but using a customized path to labs
relicense : Generate a new iourc license for bin images
upgrade : Upgrade ishare2 code to the latest version
upgrade : Retrieves a menu that allows users to upgrade ishare2 and PNETLab VM
changelog : Show the latest changes made to ishare2
help : Show useful information
@@ -1596,7 +1688,7 @@ function corrections_for_iol_images() {
FILE="$YML_DIR"i86bi_linux_l2.yml
if ! [[ -e $FILE ]]; then
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l2/i86bi_linux_l2.yml > /dev/null 2>&1
wget -O $FILE $URL_I86BI_LINUX_L2_YML > /dev/null 2>&1
fi
fi
@@ -1605,7 +1697,7 @@ function corrections_for_iol_images() {
FILE="$YML_DIR"i86bi_linux_l3.yml
if ! [[ -e $FILE ]]; then
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/i86bi_linux_l3/i86bi_linux_l3.yml > /dev/null 2>&1
wget -O $FILE $URL_I86BI_LINUX_L3_YML > /dev/null 2>&1
fi
fi
}
@@ -1674,13 +1766,13 @@ function corrections_for_dynamips_images() {
SUBSTRING="c2600"
if [[ "$NAME" == *"$SUBSTRING"* ]]; then
FILE="$YML_DIR"c2600.yml
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c2600.yml > /dev/null 2>&1
wget -O $FILE $URL_C2600_YML > /dev/null 2>&1
fi
SUBSTRING="c1760"
if [[ "$NAME" == *"$SUBSTRING"* ]]; then
FILE="$YML_DIR"c1760.yml
wget -O $FILE https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/templates/cisco/c1760.yml > /dev/null 2>&1
wget -O $FILE $URL_C1760_YML > /dev/null 2>&1
fi
}
@@ -2048,7 +2140,7 @@ function selector() {
elif [[ "$1" = "relicense" ]]; then # ishare2 relicense
generate_a_new_license
elif [[ "$1" = "upgrade" ]]; then # ishare2 upgrade
upgrade_ishare2
menu_ishare2_upgrade
elif [[ "$1" = "changelog" ]]; then # ishare2 changelog
show_changelog
elif [[ "$1" = "help" ]]; then # ishare2 help
@@ -2059,7 +2151,8 @@ function selector() {
}
function main(){
set_color_variables
set_color_constants
set_url_constants
check_user_is_root
get_initial_information
set_yml_template_folder_location

View File

@@ -4,6 +4,12 @@
# Requirement: Having PNETLab 4.2.10 installed for being able to upgrade it to 5.0.1
# This script avoids to make this upgrade process twice
# CONSTANTS
GREEN='\033[32m'
NO_COLOR='\033[0m'
URL_ZIP_FILE=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.0.1/5.0.1.zip
# Getting PNETLab version from db
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
pnetlab_info=($data)
pnetlab_version=${pnetlab_info[1]}
@@ -18,13 +24,22 @@ if ! [[ $pnetlab_version == "4.2.10" ]]; then
exit 0
fi
echo "Upgrading to v5.0.1"
wget -O /tmp/5.0.1.zip https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_5.0.1/5.0.1.zip > /dev/null 2>&1
cd /tmp
rm -rf upgrade
echo -e "${GREEN}Downloading 5.0.1.zip file...${NO_COLOR}"
wget -O /tmp/5.0.1.zip $URL_ZIP_FILE > /dev/null 2>&1
echo -e "${GREEN}Zip file has been downloaded successfully${NO_COLOR}"
cd /tmp && rm -rf upgrade
echo -e "${GREEN}Unzipping zip file...${NO_COLOR}"
unzip 5.0.1.zip -d ./upgrade > /dev/null 2>&1
echo -e "${GREEN}Zip file has been unzipped successfully...${NO_COLOR}"
chmod 755 -R upgrade
find upgrade -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
echo -e "${GREEN}Upgrading to v5.0.1...${NO_COLOR}"
./upgrade/upgrade
echo -e "${GREEN}Upgrade to v5.0.1 has been done successfully${NO_COLOR}"
rm -rf upgrade
rm 5.0.1.zip

View File

@@ -4,8 +4,13 @@
# Requirement: Having PNETLab 4.2.10 installed for being able to upgrade it to NEW_PNETLAB_VERSION
# This script avoids to make this upgrade process twice
# CONSTANTS
NEW_PNETLAB_VERSION=5.2.7
GREEN='\033[32m'
NO_COLOR='\033[0m'
URL_ZIP_FILE=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
# Getting PNETLab version from db
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
pnetlab_info=($data)
pnetlab_version=${pnetlab_info[1]}
@@ -19,22 +24,27 @@ if ! [[ $pnetlab_version == "4.2.10" ]]; then
echo "You need to have the v4.2.10 to upgrade to the v$NEW_PNETLAB_VERSION"
exit 0
fi
GREEN='\033[32m'
NO_COLOR='\033[0m'
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_4.2.10_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip $URL_ZIP_FILE
echo -e "${GREEN}$NEW_PNETLAB_VERSION zip file has been downloaded successfully${NO_COLOR}"
cd /root
rm -rf upgrade
cd /root && rm -rf upgrade
echo -e "${GREEN}Unzipping zip file...${NO_COLOR}"
unzip $NEW_PNETLAB_VERSION.zip -d ./upgrade > /dev/null 2>&1
echo -e "${GREEN}Zip file has been unzipped successfully...${NO_COLOR}"
chmod 755 -R upgrade
find upgrade -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
echo -e "${GREEN}Upgrading to v$NEW_PNETLAB_VERSION...${NO_COLOR}"
./upgrade/upgrade
echo -e "${GREEN}Upgrade to v$NEW_PNETLAB_VERSION has been done successfully${NO_COLOR}"
rm -rf upgrade
#rm $NEW_PNETLAB_VERSION.zip
echo -e "${GREEN}PNETLab VM will be rebooted now${NO_COLOR}"
echo -e "${GREEN}PNETLab VM will be rebooted right now...${NO_COLOR}"
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
reboot

View File

@@ -4,8 +4,13 @@
# Requirement: Having PNETLab 5.0.1 installed for being able to upgrade it to NEW_PNETLAB_VERSION
# This script avoids to make this upgrade process twice
# CONSTANTS
NEW_PNETLAB_VERSION=5.2.7
GREEN='\033[32m'
NO_COLOR='\033[0m'
URL_ZIP_FILE=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_5.0.1_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
# Getting PNETLab version from db
data=$(mysql -uroot -ppnetlab -D pnetlab_db -e "SELECT control_value FROM control WHERE control_value>1;" 2>/dev/null)
pnetlab_info=($data)
pnetlab_version=${pnetlab_info[1]}
@@ -19,22 +24,27 @@ if ! [[ $pnetlab_version == "5.0.1" ]]; then
echo "You need to have the v5.0.1 to upgrade to the v$NEW_PNETLAB_VERSION"
exit 0
fi
GREEN='\033[32m'
NO_COLOR='\033[0m'
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_5.0.1_to_$NEW_PNETLAB_VERSION/$NEW_PNETLAB_VERSION.zip
wget -q --show-progress -O /root/$NEW_PNETLAB_VERSION.zip $URL_ZIP_FILE
echo -e "${GREEN}$NEW_PNETLAB_VERSION zip file has been downloaded successfully${NO_COLOR}"
cd /root
rm -rf upgrade
cd /root && rm -rf upgrade
echo -e "${GREEN}Unzipping zip file...${NO_COLOR}"
unzip $NEW_PNETLAB_VERSION.zip -d ./upgrade > /dev/null 2>&1
echo -e "${GREEN}Zip file has been unzipped successfully...${NO_COLOR}"
chmod 755 -R upgrade
find upgrade -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
echo -e "${GREEN}Upgrading to v$NEW_PNETLAB_VERSION...${NO_COLOR}"
./upgrade/upgrade
echo -e "${GREEN}Upgrade to v$NEW_PNETLAB_VERSION has been done successfully${NO_COLOR}"
rm -rf upgrade
#rm $NEW_PNETLAB_VERSION.zip
echo -e "${GREEN}PNETLab VM will be rebooted now${NO_COLOR}"
echo -e "${GREEN}PNETLab VM will be rebooted right now...${NO_COLOR}"
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
reboot

View File

@@ -1 +1 @@
v1.4.6
v1.5.0