Muszę skompilować oprogramowanie na moim komputerze Fedora. Gdzie najlepiej to umieścić, aby nie zakłócać oprogramowania w pakiecie?
126
Muszę skompilować oprogramowanie na moim komputerze Fedora. Gdzie najlepiej to umieścić, aby nie zakłócać oprogramowania w pakiecie?
Odpowiedzi:
Ogólna zasada, przynajmniej w systemach o smaku Debiana:
/usr/local
o rzeczy, która jest „w całym systemie” -ie/usr/local
bywa zalega distro jest$PATH
, i podąża standardową hierarchię katalogów z systemu UNIX/usr/local/bin
,/usr/local/lib
itp/opt
do rzeczy, które nie mają zaufania do całego systemu, z prefiksów-ie na aplikacji/opt/firefox-3.6.8
,/opt/mono-2.6.7
i tak dalej. Rzeczy tutaj wymagają bardziej starannego zarządzania, ale także mniej prawdopodobne jest uszkodzenie systemu - i jest łatwiejsze do usunięcia, ponieważ po prostu usuwasz folder i go nie ma.źródło
/opt
jeśli się jesudo
zainstaluje.Jeśli naprawdę nie chcesz, aby to w ogóle przeszkadzało, nie umieszczaj go w żadnym miejscu
$PATH
.Jeśli chcesz
$PATH
, przynajmniej upewnij się, że nie instalujesz/usr/local
. Przekonałem się, że wiele programów wygląda tam, nawet jeśli jest zainstalowane przez dystrybucję/usr
.Mój ulubiony sposób instalowania niestandardowego oprogramowania znajduje się w moim
$HOME
katalogu. W ten sposób nie musisz używaćsudo
do niczego, i jest bardzo ładnie oddzielony od reszty twojego systemu. Na przykład:A jeśli chcesz, możesz dodać
/home/username/stage/bin
do swojego$PATH
.źródło
/usr/local
.).FHS mówi, aby umieścić go w / usr / local, gdzie dystrybucje nie powinny go dotykać.
/usr/local/bin
dla plików binarnych/usr/local/src
dla źródła i/usr/local/lib
bibliotek. Zobacz specyfikację FHS, aby uzyskać więcej informacjiźródło
/etc/mysql
do konfiguracji?/usr/local/etc
domyślnie jest folder, chyba powinienem go użyć ... :-)Przez większość czasu lubię umieszczać własne skompilowane rzeczy
/opt
. To trochę pseudo-standardowe miejsce. Możesz również rozważyć/usr/local
, ale wolę, aby moje rzeczy były w 100% odizolowane.źródło
/opt
, ale widziałem wiele razy, gdzie/usr/local
jest pełno śmieci, które pochodzą z dystrybucji/usr/local
to hierarchie katalogów podobne do tych w standardowym drzewie i być może indeksowanie plików takich rzeczy jak TeX.Połóż je
/usr/local/src
.To, co robię, to rozpakuj źródło w tym katalogu. Stworzy to ścieżkę podobną do
Następnie tworzę dowiązanie symboliczne do tego:
Zrób cały swój budynek
/usr/local/src/postgresql
.Robienie tego w ten sposób pomaga, gdy trzeba przedzierać się między wersjami i dokumentami, której wersji używasz.
źródło
To mi przypomina, że muszę częściej korzystać z checkinstall ! W ten sposób po prostu robię to, co zwykle
śledzony przez
utworzyć plik .deb ...
źródło
Jeśli jest taka możliwość - sugeruję skompilowanie oprogramowania, a następnie utworzenie pakietu FC (sądzę, że używa yum do instalowania pakietów oprogramowania). Następnie możesz zainstalować ten pakiet własnego skompilowanego oprogramowania i usunąć go bez zepsucia całego systemu.
źródło
Jeśli chcesz w łatwy sposób zainstalować i usunąć kilka samodzielnie zbudowanych aplikacji, możesz użyć Stow jako prostego menedżera pakietów.
źródło
Zgodnie z FHS ,
/usr/local/
jest używany do aplikacji skompilowanych ze źródła, podczas gdy/opt/
jest używany do aplikacji innych producentów nieobsługiwanych przez dostawcę systemu operacyjnego.źródło
Dwie rzeczy polecam:
System: użyj stow i zainstaluj w / usr / local / stow / package-version. Następnie możesz łatwo przełączać się między wersjami.
W moim domu lub jeśli nie mam uprawnień do zapisu / usr / local, osobiście instaluję programy w ~ / .local, co jest wskazane przez standard XDG .
Możesz także użyć stow lokalnie, chociaż nigdy tego nie zrobiłem :)
źródło
Mam trochę inną konfigurację niż większość ludzi, ponieważ robię dużo rozwoju. Mam katalog / home / jackson / bin /, w którym instaluję pliki, i edytowałem plik .bashrc, dodając:
Nie zrobiłbym tego dla wszystkiego, ale jest to miłe podczas tworzenia.
źródło
W rzeczywistości nie jest tak trudno tworzyć deb lub rpm ze źródłowego archiwum. W ten sposób możesz skorzystać z funkcji menedżera pakietów swojej dystrybucji, aby utrzymać system w czystości. To właśnie robię przez większość czasu: po prostu stwórz trochę obrotów na minutę.
źródło
jeśli kompilujesz aplikację, możesz dodać jej ścieżkę do pliku zmiennej PATH env. nie wpłynie to na innych użytkowników.
źródło
Zawsze istnieje opcja „umieść to tam, gdzie należy”, ale najpierw napisz proste rpm.
źródło
Jeśli chcesz, aby Twoja aplikacja była dostępna dla wszystkich użytkowników w systemie i masz niezbędne uprawnienia, użyj / opt. Jeśli chcesz, aby aplikacja była dostępna tylko dla Ciebie (i użytkownika root), użyj / home / nazwa użytkownika
źródło
Najprostszym sposobem na to jest
.src.rpm
pobranie pakietu źródłowego ( dla RPMites), rozpakowanie go, zhakowanie nowego źródła / konfiguracji / czegokolwiek, zmianę wersji i skompilowanie. Zainstalowanie tego powoduje, że menedżer pakietów wie o nowym pakiecie, pozwala rozważyć jego zależności i odinstalować / zaktualizować.Za pierwszym razem jest to obowiązkowe, ale jeśli pojawi się nowa wersja (lub jakaś krytyczna łatka), łatwiej jest ją zaktualizować. Kolejną korzyścią jest to, że możesz stworzyć własne repozytorium z lokalnym oprogramowaniem, które będzie udostępniane np. Przez maszyny w laboratorium.
źródło
Napisz RPM, nie jest to trudne, ma wytyczne, gdzie umieścić rzeczy i sprawia, że odinstalowanie jest szybkie.
Jeśli to zrobisz, zainstaluj pliki pod
/usr
i nie pod/usr/local
, podobnie jak wszystkie inne pliki przechodzące przez system pakowania.źródło