Jaka jest zaleta / wada tworzenia miękkiego łącza do pliku wykonywalnego w / bin?

0

Często używam tego sposobu, aby mój plik wykonywalny pojawił się w terminalu. To dobrze czy źle? I dlaczego?

Amp Tanawat
źródło
1
Co to jest „twój plik wykonywalny”? Twój własny program? Czy udostępniasz system innym użytkownikom?
slhck
Mam na myśli plik, który można wykonać, może to być pobrany program lub cokolwiek innego. I nie udostępniam mojego systemu innym.
Amp Tanawat

Odpowiedzi:

0

Nie ma nic złego w pozostawieniu dowiązania symbolicznego do pliku wykonywalnego w /bin. W rzeczywistości może to być bardzo czysty sposób zarządzania plikami wykonywalnymi, w porównaniu do umieszczania ścieżki każdego pliku wykonywalnego w swoim $PATH.

Więc zamiast na przykład /usr/local/bin:/usr/bin:/bin w Twoim $PATH, miałbyś /home/user/foo/bin:/home/user/bar/bin:/yet/another/bin:/usr/local/bin, itp., które byłyby trudne do utrzymania. Dodatkowo, musisz ustawić własną ścieżkę dla wszystkich powłok, a po prostu wstawić dowiązanie symboliczne /bin sprawia, że ​​jest dostępna dla każdej powłoki natychmiast.

Ale to jest twój wybór. Często programy muszą mieć FOO_HOME zmienna ustawiona, wskazująca na ich katalog, np. TOMCAT_HOME, który zawiera a bin własny katalog.


Może powinieneś rozważyć użycie /usr/bin zamiast /bin, ponieważ ten drugi jest zwykle zarezerwowany dla podstawowych plików binarnych systemu, które są dostępne dla wszystkich użytkowników, oraz /usr/bin jest dla nieistotnych plików binarnych.

Jeszcze lepiej byłoby użyć /usr/local/bin, od /usr/local jest domyślnym miejscem dla wszystkiego, co sam zainstalowałeś, jako użytkownik - wszystko, co nie jest częścią domyślnej instalacji systemu. Jeśli /usr/local/bin nie ma w tobie $PATH, powinieneś oczywiście to dodać.

Aby dowiedzieć się więcej o organizacji katalogów, przeczytaj Standard hierarchii systemu plików .

slhck
źródło
+1 dla / usr / local / bin. Katalogi / bin i / usr / bin powinny być utrzymywane przez menedżera pakietów, / usr / local / bin powinien być używany do programów instalowanych ręcznie i użytecznych skryptów powłoki.
richardneish
0

/bin jest używany dla plików wykonywalnych używanych przez jądro. /usr/bin/ Czy myślę o menedżerze pakietów twojej dystrybucji. Możesz swobodnie dodawać linki do swoich plików wykonywalnych /usr/local/bin zazwyczaj jest to miejsce, w którym kompilowane oprogramowanie instaluje się za pomocą make install

Idealną metodą jest dodanie ~/bin do swojej ścieżki utwórz ten folder w swoim katalogu domowym i po prostu użyj tego folderu.

Oczywiście wszystko to dotyczy głównie schludności, elegancji, poprawności itp. Nie mogę pomyśleć o rozsądnej wadzie technicznej związanej bezpośrednio /bin tak długo, jak robisz to poprawnie, bez żadnych błędów.

Karthik T
źródło