Chciałbym zmienić cel dowiązania symbolicznego w skrypcie basha. Problemem jest to, że dowiązanie jest bardzo ważne (to /bin/sh
, mianowicie) i chciałbym zrobić to w sposób, który:Zamień ważne dowiązanie symboliczne "bezpiecznie"
- Nowy cel będą dostępne natychmiast po usunięciu starych, czyli nie będzie możliwości, że coś będzie Zauważ, że zniknie,
- Nie będzie żadnej możliwości, że zmiana zakończy się niepowodzeniem w środku, tj. usunięcie użytkownika z usuniętym dowiązaniem symbolicznym i brak nowego.
Myślałem o dwóch metodach. Albo za pomocą zwykłego ln
:
ln -fs /bin/bash /bin/sh
lub używając mv
:
ln -s /bin/bash /bin/sh.new
mv /bin/sh.new /bin/sh
Które jeden lepiej spełnić moje potrzeby? Czy jest jakaś możliwość, że jeden z nich spróbuje zastąpić cel dowiązania symbolicznego zamiast samego dowiązania symbolicznego?
Nie możesz być pewien, że nie wystąpią potencjalne problemy, jeśli po prostu spróbujesz tego :). Bardzo trudno jest zrobić test dla "coś Zawiadomienie znikające ". –
Eugene
O poście na blogu - '-T' nie wydaje się być opcją przenośną. –