Seltsames „Ortungs“-Verhalten und Symboländerung

Seltsames „Ortungs“-Verhalten und Symboländerung

Ich möchte das Symbol eines Programms namens Refit durch ein benutzerdefiniertes ersetzen. Dieses Programm verfügt über verschiedene Tools und wenn ich versuche, diese Symbole zu ändern, ist alles in Ordnung, aber dann führe ich den folgenden Befehl aus:

$ locate refit.icns

und die Ausgabe ist:

$ /efi/refind/icons/os_refit.icns

Das Problem ist, dass ich keinen Ordner namens refind habe und der Pfad einfach nicht existiert. Ich habe es mit beidem probiert:

$ ls 

Und

$ sudo ls

im Verzeichnis /efi. Ich habe also eigentlich zwei Fragen: Wie kann ich das Symbol dieses Programms ändern? Und warum gibt es dieses seltsame Verhalten mit dem Befehl „locate“?

Ich verwende Snow Leopard 10.6.8. Danke für Ihre Hilfe.

Antwort1

Der locateBefehl arbeitet mit einer Datenbank. Wenn Sie alsogewöhnt aneine Datei mit dem Namen haben /efi/refind/icons/os_refit.icns, locatekönnte diese Datei weiterhin als Option angeben, auch nachdem die Datei gelöscht wurde. Das updatedbDienstprogramm aktualisiert die locateDatenbank. Dieses Programm sollte regelmäßig ausgeführt werden. Wenn Sie eingeben, sudo updatedbsollte es sofort ausgeführt werden – aber seien Sie sich bewusst, dass die Ausführung eine Weile dauern wird (wahrscheinlich ein paar Minuten) und ziemlich viel Speicherplatz beansprucht.

Ein Vorbehalt: Mein Mac läuft derzeit unter Linux, daher stütze ich mich hier auf Linux-Dienstprogramme. OS X ist auf dieser Ebene normalerweise recht ähnlich, aber es kann einige entscheidende Unterschiede geben.

Antwort2

Locate kann so konfiguriert werden, dass es nach gemounteten und unmounteten Partitionen sucht. Ich gebe zu, dass ich keine Erfahrung mit Locate in OS X habe (führen Sie es aus, locate -Vum Informationen zu erhalten), aber ich vermute, dass Sie feststellen werden, dass eine Art Boot-Partition von Locate gescannt und indiziert wird, wenn Sie sich die Konfigurationsdatei ansehen. Sie kann sich in /etc/locate.conf befinden. Wenn sie dort nicht zu finden ist, führen Sie einen aus man locateund scrollen Sie nach unten zuDATEIEN. Wenn Sie dort nur den Einhängepunkt finden (z. B. /efi), dann müssen Sie in /etc/fstab nach dem zugehörigen Gerät suchen.

verwandte Informationen