web-dev-qa-db-fra.com

Comment désinstaller un programme installé par un installateur .sh?

J'ai téléchargé un programme .sh (dans ce cas, c'est un jeu) puis je l'ai installé avec "sh name.sh" (ou peut-être que c'était "bash name.sh". Je ne me souviens pas très bien, mais je suppose qu'il a aucune importance dans ce cas: P).

Tout a fonctionné comme prévu. Le fichier .sh a créé un dossier dans/usr/local/games/et à partir de là, je peux lancer le jeu à partir d’un fichier .bin (j’ai créé un "lien vers une application" sur mon bureau pour l’exécuter plus rapidement).

Jusqu'ici tout va bien, mais maintenant je veux supprimer/désinstaller le jeu mais je ne sais pas comment (je suppose que ni apt-get ni dpkg ne fonctionnent dans ce cas particulier. Corrigez-moi si je me trompe).

Donc ma question est, comment puis-je supprimer/désinstaller ce jeu?

Tyvm à l'avance pour toute réponse.

MODIFIER

J'ai essayé d'ouvrir et de lire le .sh (en fait, c'était la première chose que j'ai faite), mais quand je l'ouvre, l'éditeur (kate dans ce cas) m'avertit par le message suivant:

The file /home/user/Games/name/name.sh was opened with UTF-8 encoding but contained invalid characters. It is set to read-only mode, as saving might destroy its content. Either reopen the file with the correct encoding chosen or enable the read-write mode again in the menu to be able to edit it.

Et quand j'essaie de faire quelque chose, comme trouver ou sélectionner quelque chose, mon ordinateur devient engourdi et "surchargé" et ne me laisse rien faire (presque comme un gel), et comme le code est gros, je ne peux pas simplement lisez ligne par ligne jusqu'à ce que je trouve la (les) pièce (s) que je cherche.

Le dossier créé lors de l'installation (dans/usr/local/games /) présente les caractéristiques suivantes:

name.bin.x86_64
name.png
README.linux
xdg-utils (folder)
  xdg-desktop-menu
name.dat
lib64 (folder)
  libfreeimage.so.3
  libminizip.so.1
  libSDL2-2.0.so.0
xdg-open

J'imagine que xdg-desktop-menu est utilisé dans ce cas pour désinstaller le jeu depuis que je tape dans le terminal: "xdg-desktop-menu --help", une des lignes dit:

xdg-desktop-menu uninstall [--noupdate] [--mode mode] directory-file(s)
desktop-file(s)

Mais je ne sais pas comment l'utiliser. Est-ce que quelqu'un a utilisé quelque chose comme ça? ou basé dans la ligne ci-dessus, dans ce cas, que dois-je taper?

4
Istall

Comment désinstaller?

Le fichier .sh est un script d'installation. Il fait diverses actions pour installer le jeu. (comme copier des fichiers dans/usr/local/games /)

Supprimer à l'aide d'un script de suppression (recommandé)

La plupart des applications livrées avec un programme d'installation .sh ont également un script de suppression .sh . Parfois, vous pouvez trouver l'emplacement du script de suppression dans le README de l'application. Sinon, vous devrez le rechercher vous-même dans le répertoire d'installation (/usr/local/games/<NAME_OF_GAME>). Il s'appelle uninstall.sh ou quelque chose de similaire.

Si vous trouvez le script, vous pouvez l'exécuter en tapant ./<NAME_OF_SCRIPT>.sh dans le terminal.

Supprimer manuellement

Si l'application ne possède pas de script de désinstallation, vous pouvez la supprimer manuellement en supprimant le répertoire complet /usr/local/games/<NAME_OF_GAME> et en supprimant le programme de lancement. Cependant, il se peut que l'application comporte également des fichiers dans d'autres répertoires.

Vous pouvez utiliser la commande dans réponse de Terdon pour rechercher tous les répertoires modifiés par le script d'installation.

Puis-je désinstaller en utilisant xdg-desktop-menu?

Non, à partir des pages de manuel (man xdg-desktop-menu)

Le programme xdg-desktop-menu peut être utilisé pour installer de nouvelles entrées de menu dans le menu d'application du bureau.

Donc, il est uniquement utilisé pour installer/supprimer l’entrée de menu , pas le programme complet lui-même.

2
Galgalesh

Vous ne pouvez pas le faire automatiquement, vous devrez lire le script pour voir quels répertoires et fichiers il a créés. Vous pourriez rendre cela plus facile avec quelque chose comme:

grep -P '("|/)\S+/\S+' script.sh

La commande ci-dessus devrait imprimer tous les chemins trouvés dans le script d'installation, en supposant qu'ils ne contiennent pas d'espaces. Vous pouvez ensuite consulter le résultat et les supprimer à la main.

1
terdon