Compare commits
65 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6616343ebb | ||
|
|
c38c7d518b | ||
|
|
ae2e4a3a1b | ||
|
|
e644c77731 | ||
|
|
6d55a60719 | ||
|
|
3a50933fb9 | ||
|
|
697415da91 | ||
|
|
46eee30a56 | ||
|
|
7126b540ff | ||
|
|
82426a19e4 | ||
|
|
b93c32b443 | ||
|
|
05ea74636a | ||
|
|
9b6e235b74 | ||
|
|
8f67c9087e | ||
|
|
4b1515d762 | ||
|
|
2651570efc | ||
|
|
d3e618759b | ||
|
|
c75ee783b6 | ||
|
|
d880061a22 | ||
|
|
0fa229324a | ||
|
|
3cdd326596 | ||
|
|
bd7a8eaf18 | ||
|
|
487446ec42 | ||
|
|
a6546abc42 | ||
|
|
2fb6cd534d | ||
|
|
a97f3fee59 | ||
|
|
b36474aca9 | ||
|
|
6cd98dfb9b | ||
|
|
98b7d04a48 | ||
|
|
6d69a62109 | ||
|
|
ab582418d5 | ||
|
|
66f9a76e92 | ||
|
|
a0cd572e1b | ||
|
|
3a7ab5c2af | ||
|
|
2cd63c44a2 | ||
|
|
b2c1c5f554 | ||
|
|
640d4d776d | ||
|
|
5e07400e5c | ||
|
|
76d95d9bd0 | ||
|
|
aa8769b7dd | ||
|
|
7b73156b1c | ||
|
|
e5da554158 | ||
|
|
e7492cbf67 | ||
|
|
6d9f45b56b | ||
|
|
89b8e808ed | ||
|
|
c61e8398e4 | ||
|
|
27a7e2de7b | ||
|
|
c76b832ac6 | ||
|
|
bfd2377c8a | ||
|
|
3064fdcab2 | ||
|
|
3503add54c | ||
|
|
cab7df20ff | ||
|
|
1b30909d0b | ||
|
|
71e9cae4fa | ||
|
|
dbe22ff781 | ||
|
|
95ef408d04 | ||
|
|
2c81ae0673 | ||
|
|
d5c5869aa8 | ||
|
|
2fdd1ce655 | ||
|
|
7bd23fb5db | ||
|
|
142144bf2e | ||
|
|
d21fff1c08 | ||
|
|
820ddfe905 | ||
|
|
c517e64850 | ||
|
|
646a913ccb |
49
CHANGELOG.md
49
CHANGELOG.md
@@ -1,5 +1,52 @@
|
||||
# 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.6] - 2023-Jan-25
|
||||
|
||||
1) Added: A new option was added to `ishare2 upgrade` > `option 2`: Now, it is possible to upgrade PNETLab from almost any version to v5.3.0 (Not possible for this case: 6.x to 5.3.0)
|
||||
|
||||
## [v1.5.5] - 2023-Jan-23
|
||||
|
||||
1) Added: A new option was added to `ishare2 upgrade` > `option 2`: Now, it is possible to upgrade PNETLab from almost any version to v5.2.9 (Not possible for this case: 6.x to 5.2.9)
|
||||
|
||||
## [v1.5.4] - 2023-Jan-23
|
||||
|
||||
1) Modified: Changes were made in set_yml_template_folder_location() function. Now, this function support the following PNETLab versions:
|
||||
|
||||
For `/opt/unetlab/html/templates/`: 4.2.10 and 5.0.1
|
||||
|
||||
For `/opt/unetlab/html/templates/intel/` or `/opt/unetlab/html/templates/amd/`: 5.2.x, 5.3.x and 6.x
|
||||
|
||||
5.3.x is not implemented yet (Change made in case it is needed in the future)
|
||||
|
||||
## [v1.5.3] - 2023-Jan-22
|
||||
|
||||
1) Modified: --content-disposition was added in order to download images from other repo
|
||||
|
||||
## [v1.5.2] - 2023-Jan-22
|
||||
|
||||
1) Modified: Some strings were modified when using this option: `ishare2 upgrade` > `option 2`. Now, it looks better for users
|
||||
|
||||
## [v1.5.1] - 2023-Jan-22
|
||||
|
||||
1) Added: A new option was added to `ishare2 upgrade` > `option 2`: Now, it is possible to upgrade PNETLab from almost any version to v5.2.8 (Not possible for this case: 6.x to 5.2.8)
|
||||
|
||||
## [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
|
||||
|
||||
|
||||
13
README.md
13
README.md
@@ -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
|
||||
@@ -121,7 +121,12 @@ 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)
|
||||
- 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)
|
||||
- Upgrade from any to v5.2.8: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_any_to_5.2.8)
|
||||
- Upgrade from any to v5.2.9: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_any_to_5.2.9)
|
||||
- Upgrade from any to v5.3.0: [Instructions](https://github.com/pnetlabrepo/ishare2/tree/main/upgrades/from_any_to_5.3.0)
|
||||
|
||||
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
|
||||
|
||||
|
||||
183
ishare2
183
ishare2
@@ -1,17 +1,34 @@
|
||||
#!/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
|
||||
URL_UPGRADE_PNETLAB_FROM_any_TO_5_2_8=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.2.8/upgrade.sh
|
||||
URL_UPGRADE_PNETLAB_FROM_any_TO_5_2_9=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.2.9/upgrade.sh
|
||||
URL_UPGRADE_PNETLAB_FROM_any_TO_5_3_0=https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.0/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 +36,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,21 +51,27 @@ 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)
|
||||
pnetlab_version=${data_array[1]}
|
||||
|
||||
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 == "4.2.10" ]] || [[ $pnetlab_version == "5.0.1" ]]; then
|
||||
YML_DIR="/opt/unetlab/html/templates/"
|
||||
fi
|
||||
|
||||
if [[ $pnetlab_version == *5.2* ]] || [[ $pnetlab_version == *5.3* ]] || [[ $pnetlab_version == *6.* ]]; then
|
||||
get_server_platform
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -907,13 +930,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 +944,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 +952,103 @@ function upgrade_ishare2() {
|
||||
echo "$REMOTE_VALUE" >> /usr/sbin/ishare2_version
|
||||
}
|
||||
|
||||
function menu_ishare2_upgrade_pnetlab() {
|
||||
prompt="Please, select an option: "
|
||||
options=(
|
||||
"Upgrade PNETLab: from 4.2.10 to 5.0.1"
|
||||
"Upgrade PNETLab: from 4.2.10 to 5.2.7"
|
||||
"Upgrade PNETLab: from 5.0.1 to 5.2.7"
|
||||
"Upgrade PNETLab: from any version to 5.2.8"
|
||||
"Upgrade PNETLab: from any version to 5.2.9"
|
||||
"Upgrade PNETLab: from any version to 5.3.0"
|
||||
)
|
||||
|
||||
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
|
||||
;;
|
||||
4)
|
||||
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_any_TO_5_2_8 > /dev/null 2>&1
|
||||
chmod +x upgrade.sh
|
||||
bash upgrade.sh
|
||||
break
|
||||
;;
|
||||
5)
|
||||
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_any_TO_5_2_9 > /dev/null 2>&1
|
||||
chmod +x upgrade.sh
|
||||
bash upgrade.sh
|
||||
break
|
||||
;;
|
||||
6)
|
||||
wget -O upgrade.sh $URL_UPGRADE_PNETLAB_FROM_any_TO_5_3_0 > /dev/null 2>&1
|
||||
chmod +x upgrade.sh
|
||||
bash upgrade.sh
|
||||
break
|
||||
;;
|
||||
$((${#options[@]}+1)))
|
||||
break
|
||||
;;
|
||||
*)
|
||||
STR="Invalid option: Select a number from 1 to 7"
|
||||
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 +1079,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"
|
||||
}
|
||||
@@ -989,11 +1103,11 @@ function download_1_file_bin_or_dynamips() {
|
||||
echo -e "$SIZE $UNIT\n"
|
||||
|
||||
if [[ $TYPE = "dynamips" ]]; then
|
||||
wget -q --show-progress -O /opt/unetlab/addons/dynamips/"$NAME" "$LINK"
|
||||
wget --content-disposition -q --show-progress -O /opt/unetlab/addons/dynamips/"$NAME" "$LINK"
|
||||
fi
|
||||
|
||||
if [[ $TYPE = "bin" ]]; then
|
||||
wget -q --show-progress -O /opt/unetlab/addons/iol/bin/"$NAME" "$LINK"
|
||||
wget --content-disposition -q --show-progress -O /opt/unetlab/addons/iol/bin/"$NAME" "$LINK"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1010,7 +1124,7 @@ function download_1_file_qemu() {
|
||||
echo -e "\n\033[33mFolder requested:\033[0m $FOLDERNAME (""$SIZE"" ""$UNIT"")"
|
||||
echo -e "\nFile requested:\n $NAME - $SIZE $UNIT\n"
|
||||
|
||||
wget -q --show-progress -O "$NAME" "$LINK"
|
||||
wget --content-disposition -q --show-progress -O "$NAME" "$LINK"
|
||||
}
|
||||
|
||||
function download_multiple_files_qemu() {
|
||||
@@ -1027,7 +1141,7 @@ function download_multiple_files_qemu() {
|
||||
for (( c=1; c<=FILES_COUNTER; c++ ))
|
||||
do
|
||||
echo -e "\nFile $c/$FILES_COUNTER"
|
||||
wget -q --connect-timeout 5 --show-progress -P /opt/unetlab/addons/qemu/"$FOLDERNAME" "${myArray[c-1]}"
|
||||
wget --content-disposition -q --connect-timeout 5 --show-progress -P /opt/unetlab/addons/qemu/"$FOLDERNAME" "${myArray[c-1]}"
|
||||
done
|
||||
}
|
||||
|
||||
@@ -1220,7 +1334,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 +1348,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 +1374,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 +1710,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 +1719,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 +1788,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 +2162,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 +2173,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
|
||||
|
||||
41
templates/winserver/winserver.yml
Normal file
41
templates/winserver/winserver.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2016, Andrea Dainese
|
||||
# Copyright (c) 2018, Alain Degreffe
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# * Neither the name of the UNetLab Ltd nor the name of EVE-NG Ltd nor the
|
||||
# names of its contributors may be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
---
|
||||
type: qemu
|
||||
name: Winserver
|
||||
description: Windows Server
|
||||
cpulimit: 1
|
||||
icon: Server.png
|
||||
cpu: 1
|
||||
ram: 4096
|
||||
ethernet: 1
|
||||
console: vnc
|
||||
shutdown: 1
|
||||
qemu_arch: x86_64
|
||||
qemu_version: 2.0.2
|
||||
qemu_options: -machine type=pc-1.0,accel=kvm -cpu qemu64,+fsgsbase -vga std -usbdevice
|
||||
tablet -boot order=dc -drive file=/opt/qemu/share/qemu/virtio-win-drivers.img,index=1,if=floppy,readonly
|
||||
...
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
27
upgrades/from_any_to_5.2.8/README.md
Normal file
27
upgrades/from_any_to_5.2.8/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
```linux
|
||||
This script allows to upgrade PNETLab from almost any version to v5.2.8
|
||||
It cannot be used when version is 6.x
|
||||
|
||||
File 5.2.8.zip will be downloaded from unetlab.cloud
|
||||
```
|
||||
## upgrade.sh
|
||||
|
||||
`This script cannot be used in cases where PNETLab version is 6.x: An error message will be displayed and the script execution will be finished`
|
||||
|
||||
`Also, this script detects if you already have PNETLab v5.2.8 in your system and avoids to upgrade twice`
|
||||
|
||||
### Upgrade
|
||||
Apply this command using the terminal
|
||||
```linux
|
||||
wget -O upgrade.sh https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.2.8/upgrade.sh > /dev/null 2>&1 && chmod +x upgrade.sh && bash upgrade.sh
|
||||
```
|
||||
|
||||
After a few seconds, the upgrade will be done.
|
||||
|
||||
Note: This upgrade does not use ishare2:
|
||||
|
||||
When you execute the command from above, the steps are as follows:
|
||||
|
||||
1) A file called [upgrade.sh](https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.2.8/upgrade.sh) will be downloaded from this repository
|
||||
2) Execution permissions will be made to this file
|
||||
3) This script will be executed in order to make the upgrade
|
||||
50
upgrades/from_any_to_5.2.8/upgrade.sh
Normal file
50
upgrades/from_any_to_5.2.8/upgrade.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script designed to upgrade PNETLab from almost any version to NEW_PNETLAB_VERSION version
|
||||
# Requirement: Not having PNETLab 6.x installed for being able to upgrade to NEW_PNETLAB_VERSION
|
||||
# This script avoids to make this upgrade process twice
|
||||
|
||||
# CONSTANTS
|
||||
NEW_PNETLAB_VERSION=5.2.8
|
||||
GREEN='\033[32m'
|
||||
NO_COLOR='\033[0m'
|
||||
URL_ZIP_FILE=https://unetlab.cloud/api/raw/?path=/UNETLAB%20I/upgrades_pnetlab/from_any_to_5.2.8/5.2.8.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]}
|
||||
|
||||
if [[ $pnetlab_version == $NEW_PNETLAB_VERSION ]]; then
|
||||
echo "PNETLab already upgraded to v$NEW_PNETLAB_VERSION. You can´t upgrade twice"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ $pnetlab_version == *6.* ]]; then
|
||||
echo "It is not possible to upgrade to $NEW_PNETLAB_VERSION having version 6.x"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
|
||||
wget --content-disposition -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
|
||||
|
||||
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 right now...${NO_COLOR}"
|
||||
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
|
||||
reboot
|
||||
27
upgrades/from_any_to_5.2.9/README.md
Normal file
27
upgrades/from_any_to_5.2.9/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
```linux
|
||||
This script allows to upgrade PNETLab from almost any version to v5.2.9
|
||||
It cannot be used when version is 6.x
|
||||
|
||||
File 5.2.9.zip will be downloaded from unetlab.cloud
|
||||
```
|
||||
## upgrade.sh
|
||||
|
||||
`This script cannot be used in cases where PNETLab version is 6.x: An error message will be displayed and the script execution will be finished`
|
||||
|
||||
`Also, this script detects if you already have PNETLab v5.2.9 in your system and avoids to upgrade twice`
|
||||
|
||||
### Upgrade
|
||||
Apply this command using the terminal
|
||||
```linux
|
||||
wget -O upgrade.sh https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.2.9/upgrade.sh > /dev/null 2>&1 && chmod +x upgrade.sh && bash upgrade.sh
|
||||
```
|
||||
|
||||
After a few seconds, the upgrade will be done.
|
||||
|
||||
Note: This upgrade does not use ishare2:
|
||||
|
||||
When you execute the command from above, the steps are as follows:
|
||||
|
||||
1) A file called [upgrade.sh](https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.2.9/upgrade.sh) will be downloaded from this repository
|
||||
2) Execution permissions will be made to this file
|
||||
3) This script will be executed in order to make the upgrade
|
||||
50
upgrades/from_any_to_5.2.9/upgrade.sh
Normal file
50
upgrades/from_any_to_5.2.9/upgrade.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script designed to upgrade PNETLab from almost any version to NEW_PNETLAB_VERSION version
|
||||
# Requirement: Not having PNETLab 6.x installed for being able to upgrade to NEW_PNETLAB_VERSION
|
||||
# This script avoids to make this upgrade process twice
|
||||
|
||||
# CONSTANTS
|
||||
NEW_PNETLAB_VERSION=5.2.9
|
||||
GREEN='\033[32m'
|
||||
NO_COLOR='\033[0m'
|
||||
URL_ZIP_FILE=https://unetlab.cloud/api/raw/?path=/UNETLAB%20I/upgrades_pnetlab/from_any_to_5.2.9/5.2.9.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]}
|
||||
|
||||
if [[ $pnetlab_version == $NEW_PNETLAB_VERSION ]]; then
|
||||
echo "PNETLab already upgraded to v$NEW_PNETLAB_VERSION. You can´t upgrade twice"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ $pnetlab_version == *6.* ]]; then
|
||||
echo "It is not possible to upgrade to $NEW_PNETLAB_VERSION having version 6.x"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
|
||||
wget --content-disposition -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
|
||||
|
||||
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 right now...${NO_COLOR}"
|
||||
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
|
||||
reboot
|
||||
27
upgrades/from_any_to_5.3.0/README.md
Normal file
27
upgrades/from_any_to_5.3.0/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
```linux
|
||||
This script allows to upgrade PNETLab from almost any version to v5.3.0
|
||||
It cannot be used when version is 6.x
|
||||
|
||||
File 5.3.0.zip will be downloaded from unetlab.cloud
|
||||
```
|
||||
## upgrade.sh
|
||||
|
||||
`This script cannot be used in cases where PNETLab version is 6.x: An error message will be displayed and the script execution will be finished`
|
||||
|
||||
`Also, this script detects if you already have PNETLab v5.3.0 in your system and avoids to upgrade twice`
|
||||
|
||||
### Upgrade
|
||||
Apply this command using the terminal
|
||||
```linux
|
||||
wget -O upgrade.sh https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.0/upgrade.sh > /dev/null 2>&1 && chmod +x upgrade.sh && bash upgrade.sh
|
||||
```
|
||||
|
||||
After a few seconds, the upgrade will be done.
|
||||
|
||||
Note: This upgrade does not use ishare2:
|
||||
|
||||
When you execute the command from above, the steps are as follows:
|
||||
|
||||
1) A file called [upgrade.sh](https://raw.githubusercontent.com/pnetlabrepo/ishare2/main/upgrades/from_any_to_5.3.0/upgrade.sh) will be downloaded from this repository
|
||||
2) Execution permissions will be made to this file
|
||||
3) This script will be executed in order to make the upgrade
|
||||
50
upgrades/from_any_to_5.3.0/upgrade.sh
Normal file
50
upgrades/from_any_to_5.3.0/upgrade.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script designed to upgrade PNETLab from almost any version to NEW_PNETLAB_VERSION version
|
||||
# Requirement: Not having PNETLab 6.x installed for being able to upgrade to NEW_PNETLAB_VERSION
|
||||
# This script avoids to make this upgrade process twice
|
||||
|
||||
# CONSTANTS
|
||||
NEW_PNETLAB_VERSION=5.3.0
|
||||
GREEN='\033[32m'
|
||||
NO_COLOR='\033[0m'
|
||||
URL_ZIP_FILE=https://unetlab.cloud/api/raw/?path=/UNETLAB%20I/upgrades_pnetlab/from_any_to_5.3.0/5.3.0.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]}
|
||||
|
||||
if [[ $pnetlab_version == $NEW_PNETLAB_VERSION ]]; then
|
||||
echo "PNETLab already upgraded to v$NEW_PNETLAB_VERSION. You can´t upgrade twice"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ $pnetlab_version == *6.* ]]; then
|
||||
echo "It is not possible to upgrade to $NEW_PNETLAB_VERSION having version 6.x"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}Downloading $NEW_PNETLAB_VERSION zip file...${NO_COLOR}"
|
||||
wget --content-disposition -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
|
||||
|
||||
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 right now...${NO_COLOR}"
|
||||
echo -e "${GREEN}Try to connect again in about a minute${NO_COLOR}"
|
||||
reboot
|
||||
Reference in New Issue
Block a user