Jest to problem, który naprawdę ogranicza moją przyjemność korzystania z Linuksa. Jeśli aplikacja nie znajduje się w repozytorium lub nie ma skryptu instalatora, naprawdę mam problem z tym, gdzie i jak zainstalować aplikację ze źródła.
W porównaniu do systemu Windows jest to łatwe. Musisz (właściwie) korzystać z aplikacji instalatora, która wykonuje całą pracę w Kreatorze. Z Linuksem ... nie za bardzo.
Czy masz jakieś wskazówki lub instrukcje na ten temat, czy są też strony internetowe, które wyraźnie wyjaśniają, w jaki sposób, dlaczego i gdzie instalować programy Linux ze źródła?
compiling
software-installation
source
Nitrodist
źródło
źródło
Odpowiedzi:
Zwykle projekt będzie miał stronę internetową z instrukcjami, jak go zbudować i zainstalować. Google po raz pierwszy.
W większości zrobisz albo:
tar zxvf myapp.tar.gz
dla archiwum gzip lubtar jxvf myapp.tar.bz2
archiwum bzip./configure && make && sudo make install
Lub:
./autogen.sh && make && sudo make install
Zarówno config, jak i autogen.sh zaakceptują argument --prefix, aby określić miejsce instalacji oprogramowania. Polecam sprawdzić Gdzie powinienem umieścić oprogramowanie, które sam kompiluję? w celu uzyskania porady na temat najlepszego miejsca do zainstalowania niestandardowego oprogramowania.
źródło
make && sudo make install
. Niektóre projekty w języku Python będą miały tylko plik setup.py, który wywołasz w celu instalacji (ponieważ nie ma prawdziwej konfiguracji kompilacji). Istnieje również wiele innych systemów kompilacji / instalacji. Mam nadzieję, że pliki README lub INSTALL dokładnie wyjaśnią, co robić.Chcę tylko dodać, że istnieją menedżerowie pakietów, którzy kompilują pakiety ze źródła i obsługują wszystkie zależności pakietów, flagi itp.
W systemach BSD jest to
ports
: Korzystanie z kolekcji portówW Debianie
apt-get
menedżer pakietów może również instalować ze źródła: APT HOWTO: Praca z pakietami źródłowymi (to samo dotyczy Ubuntu, Linux-mint i wszystkiego innego opartego na Debianie)Dystrybucja Gentoo używa
portage
menedżera pakietów, który kompiluje cały system tylko ze źródła: Portage Wprowadzenie .Slackware może kompilować pakiety, ale nie wiem, czy jest tam jakiś menedżer pakietów .. =)
W każdym razie zawsze możesz ręcznie skompilować pakiety, takie jak Sandy wspomniany powyżej =) Ponadto musi istnieć możliwość użycia
apt-get
lubportage
zarządzania pakietami w innych dystrybucjach ...źródło
Myślę, że najlepiej jest przeczytać dokumentację dostarczoną z konkretnym programem lub aplikacją, którą chcesz zainstalować. Zazwyczaj wewnątrz plików archiwalnych znajdują się readmes / README (archiwum źródłowe aplikacji, które zazwyczaj można pobrać) lub może nawet ZAINSTALUJ pliki, aby przeczytać i dowiedzieć się, jaki jest preferowany sposób instalacji tej aplikacji. W skrócie: RTFM;)
źródło
Podsumowanie korzystania z kolekcji portów w FreeBSD:
Znajdź port
Porty są uporządkowane według kategorii, więc jeśli nie wiesz, w jakiej kategorii znajduje się port, musisz go najpierw znaleźć:
Czasami w ten sposób jest zbyt wiele wpisów. Ja osobiście wolę:
Użyj
*
podczas wyszukiwania, ponieważ często dostępnych jest wiele wersji portu. Argument głębokości zapewnia, że wyniki zwracane przez użytkownika nie są niepotrzebnie zaśmiecone dopasowaniami, których prawdopodobnie nie chcesz.Konfiguracja
Często będziesz chciał dokonać konfiguracji; oprogramowanie takie jak Apache i Postgres praktycznie tego wymaga. Istnieją trzy główne opcje: linia poleceń, środowisko i tworzenie plików konfiguracyjnych. Aby rozpocząć pracę z wierszem poleceń:
wyświetli to domyślne opcje konfiguracji. Jeśli podoba Ci się wartość domyślna, jesteś gotowy do kompilacji i instalacji. Jeśli nie,
wyświetli się okno dialogowe, w którym możesz wybrać, które opcje chcesz. (Nie myl się z tym,
make configure
co konfiguruje twój port z wybranymi opcjami!) Jest to często wystarczające, ale w przypadku niektórych programów, takich jak Apache, często istnieje złożona konfiguracja, której nie obsługuje proste okno dialogowe. W tym celu powinieneś również przyjrzeć się Makefile (s), które czasem dadzą ci dodatkowe cele do make, które dadzą ci więcej informacji. Aby kontynuować przykład Apachepoda informacje na temat konfigurowania wybranych modułów, opcji wątków i tym podobnych. Jeśli domyślne ustawienia twojego portu są w większości w porządku, a chcesz tylko zmienić kilka rzeczy, możesz również przekazać pary klucz = wartość, takie jak zmienne środowiskowe:
Ponadto możesz ustawić opcje przełączania za pomocą
-D
opcji:W przypadku złożonej konfiguracji linia poleceń nie będzie działać dobrze i lepiej, aby żadna z dwóch pierwszych metod nie była skuteczna. W takim przypadku możesz utworzyć plik konfiguracyjny i przekazać go
make
do zmiennej __MAKE_CONF. FreeBSD ma domyślny plik konfiguracyjny:/etc/make.conf
który zwykle zawiera informacje o wcześniej zainstalowanych portach i innych ustawieniach systemu. Aby rozpocząć, utwórz plik z opcjami portów, wywołaj go,~/myport.mk
a następnie połącz ten plik z plikiem /etc/make.conf:możesz następnie dwukrotnie sprawdzić konfigurację:
a jeśli wszystko wygląda dobrze:
STRZEC SIĘ! Jeśli musisz zmienić ustawienia konfiguracji po
make configure
instalacji lub w całości lub w części, absolutnie musisz najpierw wyczyścić konfigurację :Nieprzestrzeganie tego spowoduje nieoczekiwane interakcje między podsystemem portów,
make
wartościami domyślnymi portu i pożądaną konfiguracją.To dość dużo w podsumowaniu, ale złożoność konfiguracji dotyczy głównie aplikacji, a nie portu. Na przykład Bash tak naprawdę nie ma żadnych opcji.
Instalacja
To jest łatwa część:
lub możesz
co jest po prostu więcej pisania.
To właściwie tyle. Oczywiście możesz zrobić więcej, na przykład rekurencyjnie wyświetlając zależności i opcje konfiguracji, aktualizując łaty i tak dalej. Tutaj odsyłam cię do sekcji Porty Podręcznika , strony man podsystemu portów (dobre informacje o dodatkowych celach make) i stronie
make
man.źródło
Ostatnio zacząłem używać „Checkinstall” podczas instalacji ze źródła spoza mojego menedżera pakietów. Tworzy „pakiet” z tarballa innej firmy, który można następnie zainstalować i zarządzać (i odinstalować) za pomocą narzędzi menedżera pakietów.
Sprawdź ten artykuł - http://www.linuxjournal.com/content/using-checkinstall-build-packages-source
źródło