/ bin / sh to dowiązanie symboliczne, które nie wskazuje na / bin / bash [zamknięte]

10

Instalowałem środowisko oprogramowania płyty eksperymentalnej Armadeus APF27DEV, a kiedy wypróbowałem makepolecenie, wyświetlił mi się następujący komunikat o błędzie:

On your system /bin/sh is a symbolic link that doesn't point to /bin/bash --> please correct that !
lrwxrwxrwx 1 root root 4 2013-08-03 20:57 /bin/sh -> dash

Aby rozwiązać ten błąd, próbowałem zmienić wszystkie shebangi z #!/bin/shna #!/bin/bashi wypróbowałem również następujący wiersz poleceń:

ln -s /bin/bash /bin/sh

Ale wszystko, co zrobiłem, nie rozwiązało problemu. Czy ktoś mógłby mi pomóc z tym problemem?

batur
źródło
2
Byłoby to błędem w ich oprogramowaniu, więc musisz się z nimi pogodzić.
psusi

Odpowiedzi:

22

Byłeś prawie przy komendzie ln - z tym wyjątkiem, że prawdopodobnie musiałeś dołączyć flagę -f („force”), aby zastąpić stary link - lepiej też użyć ścieżki względnej dla celu

sudo ln -sf bash /bin/sh

Po zakończeniu instalacji możesz przywrócić system do ustawień domyślnych za pomocą

sudo ln -sf dash /bin/sh

Nie powinno być potrzeby zmiany pliku skryptu „shebangs”

steeldriver
źródło
2
Lepiej byłoby uruchomić sudo dpkg-reconffigure dashi wybrać opcję, aby nie używać myślnika w celu zapewnienia /bin/sh. Jeśli zrobisz to z dpkg, zaktualizuje on inne części twojego systemu (takie jak strony podręcznika), aby pasowały.
mkasberg,
1

Problem nie może /bin/shwskazywać, dashponieważ jest to ustawienie domyślne (właśnie sprawdziłem na swoim końcu i było tak samo). Problem musi być gdzie indziej; pakiet nie wydaje się być kompatybilny z Ubuntu po wyjęciu z pudełka.

Być może w Makefile możesz znaleźć linię wykonującą skrypt shjawnie, tj sh path/to/script. Zamień wszystkie takie wystąpienia shdla bashi zgłoś swoje wyniki.

Severo Raz
źródło
Dziękuję za Twoją odpowiedź!!! Znam inny sposób niż to, co mi powiedziałeś.
batur