-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdate.sh
More file actions
48 lines (36 loc) · 1.62 KB
/
update.sh
File metadata and controls
48 lines (36 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
# The easy script for terminal command
# [sudo apt update && sudo apt dist-upgrade && sudo apt upgrade && sudo apt autoremove && sudo apt autoclean]
if ! ping -c 1 8.8.8.8 > /dev/null 2>&1; then
printf "\033[31m\nDon't have an internet connectivity! Terminated.\033[0m \n\n"
exit
fi
printf "\033[32m\nFetch the fresh packages from reposirories\033[0m \n"
sudo apt update
forUpdate=`sudo /usr/lib/update-notifier/update-motd-updates-available`
isFlatpakInstalled=`dpkg-query -W flatpak`
flatpakRegexp="^(flatpak.*)$"
if [ "${forUpdate}" ]; then
printf "\033[32mUpdate has been completed. Look at the packages for upgrade!\033[0m \n\n"
printf "\033[32m" && sudo apt list --upgradable && printf "\033[0m \n\n"
printf "\033[32mStart the dist-upgrade.\033[0m \n\n"
sudo apt dist-upgrade -y
printf "\033[32mThe dist-upgrade has been completed. Start packages upgrade.\033[0m \n\n"
sudo apt upgrade -y
printf "\033[32mUpgrade has been completed.\n"
else
printf "\033[32mUpdate has been completed. There no packages for upgrade!\033[0m \n\n"
fi
if [[ ${isFlatpakInstalled} =~ $flatpakRegexp ]]; then
printf "\n\033[32mUpgrade the Flatpak package manager.\033[0m \n"
sudo flatpak update
fi
printf "\033[32m\nClear the system packages.\033[0m \n"
sudo apt -y autoremove --purge
sudo apt -y autoclean
printf "\033[32mAutoremove and autoclean has been completed.\033[0m \n\n"
printf "\033[32mEverything was updated. Enjoy it!\033[0m \n\n"
if [ -f /var/run/reboot-required ]; then
printf "\033[31mPlease, reboot your system, it's required!\033[0m \n\n"
fi
sudo -k # exit from sudo rights