如何卸载由 .sh 安装程序安装的程序?

Ist*_*all 6 uninstall bash scripts games .sh

我下载了一个 .sh 程序(在本例中是一个游戏),然后使用“sh name.sh”安装(或者可能是“bash name.sh”。我不太记得了,但我猜它有在这种情况下并不重要:P)。

一切都按计划进行。.sh 在 /usr/local/games/ 中创建了一个文件夹,从那里我可以从 .bin 运行游戏(我在桌面上创建了一个“应用程序链接”以更快地运行它)。

到目前为止一切顺利,但现在我想删除/卸载游戏,但我不知道如何操作(我猜 apt-get 或 dpkg 在这种特殊情况下都不起作用。如果我错了,请纠正我)。

所以我的问题是,如何删除/卸载这个游戏?

Tyvm 提前回复。

编辑

我尝试打开并阅读 .sh(实际上,这是我做的第一件事),但是当我打开它时,编辑器(在本例中为 kate)警告我以下消息:

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.

当我尝试做任何事情时,例如查找或选择某些内容,我的计算机会变得麻木并且“超载”,它不允许我做任何事情(几乎冻结),并且由于代码很大,我不能只是逐行阅读,直到找到我正在寻找的部分。

安装时创建的文件夹(在 /usr/local/games/ 中)具有以下内容:

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
Run Code Online (Sandbox Code Playgroud)

我猜想在这种情况下使用 xdg-desktop-menu 来卸载游戏,因为当我在终端中输入:“xdg-desktop-menu --help”时,其中一行显示:

xdg-desktop-menu uninstall [--noupdate] [--mode mode] directory-file(s)
desktop-file(s)
Run Code Online (Sandbox Code Playgroud)

但我不确定如何使用它。有人用过这样的东西吗?或者基于上面的行,在这种情况下,我应该输入什么?

Mer*_*hts 7

我该如何卸载?

.sh 文件是安装程序脚本。它执行各种操作来安装游戏。(比如将文件复制到/usr/local/games/)

使用删除脚本删除(推荐)

大多数附带 .sh 安装程序的应用程序也有.sh 删除脚本。有时您可以在应用程序的自述文件中找到删除脚本的位置。否则,您必须自己在安装目录(/usr/local/games/<NAME_OF_GAME>)中搜索它。它被命名为 uninstall.sh 或类似的名称。

如果找到该脚本,则可以通过./<NAME_OF_SCRIPT>.sh在终端中键入来执行它。

手动删除

如果应用程序没有卸载程序脚本,您可以通过删除完整目录/usr/local/games/<NAME_OF_GAME>并删除启动程序来手动删除应用程序。但是,该应用程序可能在其他目录中也有一些文件。

您可以使用Terdon 的答案中的命令来查找安装程序脚本更改的所有目录。

我可以使用 xdg-desktop-menu 卸载吗?

否。来自手册页 ( man xdg-desktop-menu)

xdg-desktop-menu 程序可用于将新菜单项安装到桌面的应用程序菜单。

因此它仅用于安装/删除菜单项,而不是完整的程序本身


ter*_*don 3

您无法自动执行此操作,您必须阅读脚本才能查看它创建了哪些目录和文件。你可以用类似的东西让这变得更容易:

grep -P '("|/)\S+/\S+' script.sh
Run Code Online (Sandbox Code Playgroud)

上面的命令应该打印安装脚本中找到的所有路径,假设它们不包含空格。然后您可以查看结果并手动删除它们。