Wine卸载后仍然可用

Wine卸载后仍然可用

我在 CentOS 7.4 机器上遇到了一个我不明白的问题。

有人安装了一个 wine,但没有记录他们是如何安装它的(是用yum、直接用 arpm还是从源代码构建?我不知道)。现在我需要卸载它,所以我做了以下操作:

  • 我使用sudo yum remove wine*它卸载了大约 15 个不同的软件包
  • 使用rpm -qa | grep wine我检查以前的软件包确实已卸载。

问题是,当我which wine获取/usr/local/bin/winels -l /usr/local/bin/ | grep wine返回时,我仍然有一个 wine 可执行文件

-rwxr-xr-x  1 root root   17616  wine
-rwxr-xr-x  1 root root    1973  wineboot
-rwxr-xr-x  1 root root  247924  winebuild
-rwxr-xr-x  1 root root    1973  winecfg
-rwxr-xr-x  1 root root    1973  wineconsole
lrwxrwxrwx  1 root root       7  winecpp -> winegcc
-rwxr-xr-x  1 root root    1973  winedbg
-rwxr-xr-x  1 root root  413540  winedump
-rwxr-xr-x  1 root root    1973  winefile
lrwxrwxrwx  1 root root       7  wineg++ -> winegcc
-rwxr-xr-x  1 root root   72700  winegcc
-rwxr-xr-x  1 root root   95099  winemaker
-rwxr-xr-x  1 root root    1973  winemine
-rwxr-xr-x  1 root root    1973  winepath
-rwxr-xr-x  1 root root   32256  wine-preloader
-rwxr-xr-x  1 root root 2821988  wineserver

所以我有删除这些文件的想法(我实际上移动了它们),但是当我使用命令 wine 而不是收到预期的not a command错误消息时,我得到了/usr/local/bin/wine: No such file or directory这让我认为卸载没有完全执行。 (所以现在我将文件移回/usr/local/bin

因此我的问题是:

  • 什么是保留引用/usr/local/bin/wine以及为什么保留该引用? (注意alternatives --list | grep wine没有返回任何内容)
  • 我如何以干净的方式完全摆脱这个 wine 安装?

编辑我必须补充一点,sudo yum erase wine* --remove-leaves返回Command line error: no such option: --remove-leaves

[user@host]$ yum --version
3.4.3
  Installed: rpm-4.11.3-32.el7.x86_64 at 2018-05-04 08:10
  Built    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> at 2017-11-13 15:51
  Committed: Panu Matilainen <[email protected]> at 2017-11-13

  Installed: yum-3.4.3-154.el7.noarch at 2018-04-06 13:07
  Built    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> at 2017-03-27 16:30
  Committed: Valentina Mukhamedzhanova <[email protected]> at 2017-03-27

答案1

当您离开时/usr/local/bin/wine*,您的 shell 仍然会记住您之前运行的命令;移动路径中的文件后,您需要运行

hash -r

当您尝试运行可执行文件时,强制 shell 重新发现哪些可执行文件可用。

要干净地删除 Wine,您确实需要知道它是如何安装的。就您而言,我认为您能做的最好的事情就是删除/usr/local/bin( wine*regeditregsrv32msiexec) 中的所有 Wine 可执行文件,并删除其关联的目录/usr/local/lib/wine/usr/local/share/wine(或类似的目录)。您可能想要查找 Wine 前缀,并删除它们;find / -type d -name drive_c -printf %p\\n将为您列出这些。

相关内容