protonup
protonup copied to clipboard
[SCRIPT] Remove all Proton GE versions installed, except the latest one
I'm not aware of a native way of removing all versions of proton GE, except the latest one and as a result I made a bash script that solves this issue.
#!/bin/bash
# Download the latest proton ge version
yes | protonup
# List all proton ge versions (protonup -l), find the latest version (grep -v), remove it from the list and remove any part not associated with the version tag (grep -o)
binaries=$(protonup -l | grep -v "$(protonup --releases | tail -n 1)" | grep -o '^\S*')
if [ -z "$binaries" ]
then
echo "No proton GE versions to remove..."
else
while IFS= read -r line ; do
# Remove "Proton-" from older versions of proton ge, because the uninstaller fails to match the folders
line="${line//Proton-/}"
# Remove all proton ge versions, except the latest one
yes | protonup -r "$line" && printf "\n"
done <<< "$binaries"
fi
#12
Note that the list is now reversed (shows newest first). So in this script you will need to change "tail" for "head".
I don't know why, but "protonup -l" keeps changing order from time to time.
So I changed my removal script to:
INSTALLED_PROTON=$(protonup -l | sort);
if [ $(echo ${INSTALLED_PROTON} | wc -l) != "1" ]; then
OLD_VERSION=$(echo ${INSTALLED_PROTON} |head -n 1 |cut -d " " -f1)
echo "Removing ${OLD_VERSION}"
protonup -r "${OLD_VERSION}"
fi;
it's not necessary to delete it through protonup, just deleting the folder will do. would be nice to integrate this into protonup tho.