So fügen Sie einen symbolischen Link hinzu, um ein nicht verfügbares Busybox-Applet zu umgehen

Ich habe die BusyBox-Version v1.15.3 installiert, die mit dem ROM gingerdx 31b geliefert wurde. Diese Busybox-Version kann nicht aktualisiert/geändert werden, denn wenn sie aktualisiert wird, geht das Telefon beim nächsten Neustart in einen Bootloop, es heißt, dass die Busybox auch im ROM-Thread nicht aktualisiert werden soll.

Das Problem ist, dass diese Busybox-Version das Applet nicht enthält pgrep. Immer wenn pgrep in die Shell eingegeben und ausgeführt wird, wird ein Fehler ausgegeben pgrep: not found. "pgrep" wird vom Skript "super charger" benötigt, um einige Aufgaben zu erledigen.

Also habe ich versucht, einen symbolischen Link zu einem funktionierenden Pgrep von einer anderen Busybox-Version zu erstellen. Ich habe die busybox-Datei in dem /data/Ordner gespeichert, sie erstellt chmod 777und dann cdin dieses Verzeichnis verschoben. Führen Sie dann den Befehl aus;

ln -sf "busybox pgrep" "./busybox pgrep"

aber selbst wenn ich pgrep ausführe, gibt es immer noch den gleichen Fehler. Wie kann ich den pgrep-Befehl über eine andere busybox oder eine pgrep-Datei auf ein funktionierendes pgrep verweisen lassen?

Wie mache ich diesen Link dauerhaft, damit er nach einem Neustart so bleibt? Soll ich dies der .bashrc hinzufügen oder dies mit einem init.d-Skript tun? Mein Wissen über Android- und Linux-Befehle ist ebenfalls begrenzt. Jede Hilfe wird sehr geschätzt.

Danke schön.

Antworten (1)

Denkfehler. Sie haben einen Link namens erstellt busybox pgrep, der auf eine (nicht vorhandene) andere Datei mit demselben Namen verweist. Was Sie wahrscheinlich erreichen wollten, ist:

ln -sf </path/to/alternative/>busybox </path/to/linkdir/>pgrep

Ersetzen Sie </path/to/alternative/>durch den Pfad zu der busyboxBinärdatei, die pgrepdie Funktionalität enthält, und </path/to/linkdir/>durch den Pfad zu einem Verzeichnis, das in Ihrem enthalten ist $PATH(am besten dasjenige, in dem sich die anderen Symlinks befinden).

Busyboxen entscheiden normalerweise über ihre "gewünschte Funktionalität", indem sie prüfen, von wo aus sie angerufen werden. Der Symlink heißt also einfach pgrep, grep, oder was auch immer und zeigt auf die busyboxBinärdatei.