
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 locate
Befehl arbeitet mit einer Datenbank. Wenn Sie alsogewöhnt aneine Datei mit dem Namen haben /efi/refind/icons/os_refit.icns
, locate
könnte diese Datei weiterhin als Option angeben, auch nachdem die Datei gelöscht wurde. Das updatedb
Dienstprogramm aktualisiert die locate
Datenbank. Dieses Programm sollte regelmäßig ausgeführt werden. Wenn Sie eingeben, sudo updatedb
sollte 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 -V
um 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 locate
und 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.