![Die ausführbare Datei existiert nicht in /usr/local/bin, aber in /usr/bin, und trotzdem schlägt sie fehl](https://rvso.com/image/1289061/Die%20ausf%C3%BChrbare%20Datei%20existiert%20nicht%20in%20%2Fusr%2Flocal%2Fbin%2C%20aber%20in%20%2Fusr%2Fbin%2C%20und%20trotzdem%20schl%C3%A4gt%20sie%20fehl.png)
Für einen bestimmten Patch musste ich Wine manuell kompilieren, aber das brauche ich nicht mehr.
Also habe ich ein (ich hätte wohl von Anfang an make distclean
ein tun sollen , aber na ja) und es war immer noch da. Die ausführbare Datei saß inmake uninstall
/usr/local/bin/wine
Die andere ausführbare Datei befand sich in /usr/bin
, daher dachte ich, dass das Problem durch einfaches Entfernen der anderen Datei behoben wäre.
Es hat nicht.
Warum nicht? Und wie behebe ich das Problem?
Antwort1
In Ihrem $PATH
steht /usr/local/bin
vor /usr/bin
. Daher wird eine unerwünschte ausführbare Datei in /usr/local/bin
zuerst gefunden und aufgerufen, anstatt einer gewünschten ausführbaren Datei mit demselben Namen in /usr/bin
.
Löschen Sie als Root (verwenden Sie sudo
oder su
) die unerwünschte(n) ausführbare(n) Datei(en) aus /usr/local/bin
.
Aktualisieren:
Die Nachricht
bash: /usr/local/bin/wine: Bestand of map bestaat niet
Bedeutet, dass ein Befehl oder ein Skript ausdrücklich versucht hat, wine
unter Verwendung des falschen Pfads ausgeführt zu werden /usr/local/bin/wine
.
Wenn Sie einen Befehl eingegeben haben foo
, der diese Meldung erzeugt hat, verwenden Sie , which foo
um herauszufinden, wo sich dieser Befehl befindet, und verwenden Sie dann , file /full/path/to/foo
um herauszufinden, ob es sich um ein Skript handelt, das Sie bearbeiten, löschen oder ersetzen können.