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