debian package uninstallation script (#3027)
* debian package uninstallation script * Script to remove/uninstall dotnet pkgs from a OSX machine. * name change of deb uninstall script * Address PR feedback Changes to fail the script if the 'pkgutil --forget' command fails.
This commit is contained in:
parent
eb7054c90d
commit
b23feed7c8
2 changed files with 77 additions and 0 deletions
39
scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh
Executable file
39
scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||||
|
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
#
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
current_user=$(whoami)
|
||||||
|
if [ $current_user != "root" ]; then
|
||||||
|
echo "$(basename $0) uninstallation script requires superuser privileges to run"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
host_package_name="dotnet-host"
|
||||||
|
|
||||||
|
remove_all(){
|
||||||
|
apt-get purge -y $host_package_name
|
||||||
|
}
|
||||||
|
|
||||||
|
is_dotnet_host_installed(){
|
||||||
|
local out="$(dpkg -l | grep $host_package_name)"
|
||||||
|
[ -z "$out" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
is_dotnet_host_installed
|
||||||
|
[ "$?" -eq 0 ] && echo "Unable to find dotnet installation to remove." \
|
||||||
|
&& exit 0
|
||||||
|
|
||||||
|
remove_all
|
||||||
|
[ "$?" -ne 0 ] && echo "Failed to remove dotnet packages." && exit 1
|
||||||
|
|
||||||
|
is_dotnet_host_installed
|
||||||
|
[ "$?" -ne 0 ] && \
|
||||||
|
echo "dotnet package removal succeeded but appear to still be installed. Please file an issue at https://github.com/dotnet/cli" && \
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
echo "dotnet package removal succeeded."
|
||||||
|
exit 0
|
38
scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh
Executable file
38
scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||||
|
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
#
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
current_user=$(whoami)
|
||||||
|
if [ $current_user != "root" ]; then
|
||||||
|
echo "`basename "$0"` uninstallation script requires superuser privileges to run"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# this is the common suffix for all the dotnet pkgs
|
||||||
|
dotnet_pkg_name_suffix="com.microsoft.dotnet"
|
||||||
|
dotnet_install_root="/usr/local/share/dotnet"
|
||||||
|
dotnet_path_file="/etc/paths.d/dotnet"
|
||||||
|
|
||||||
|
remove_dotnet_pkgs(){
|
||||||
|
installed_pkgs=($(pkgutil --pkgs | grep $dotnet_pkg_name_suffix))
|
||||||
|
|
||||||
|
for i in "${installed_pkgs[@]}"
|
||||||
|
do
|
||||||
|
echo "Removing dotnet component - \"$i\""
|
||||||
|
pkgutil --force --forget "$i"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_dotnet_pkgs
|
||||||
|
[ "$?" -ne 0 ] && echo "Failed to remove dotnet packages." && exit 1
|
||||||
|
|
||||||
|
echo "Deleting install root - $dotnet_install_root"
|
||||||
|
rm -rf $dotnet_install_location
|
||||||
|
rm -f $dotnet_path_file
|
||||||
|
|
||||||
|
echo "dotnet packages removal succeeded."
|
||||||
|
exit 0
|
Loading…
Reference in a new issue