Instalowanie aplikacji ze źródła

12

Zastanawiałem się nad ogólnymi instalacjami wszystkich aplikacji w systemie Linux. A co to znaczy? Cóż, kiedy korzystałem z systemu Windows, wiedziałem, że jeśli chcę zainstalować aplikację, dwukrotnie klikam plik .exe, a następnie następny, następny, następny.

W Linuksie zrozumiałem, że może istnieje powszechny (nie ogólny) sposób instalowania dowolnej aplikacji. Może instalujesz ze źródła? Czy istnieje metoda krok po kroku, której można użyć do zainstalowania aplikacji, takiej jak w systemie Windows, czy nie?

Pytam, bo nie chcę pytać google, jak to zrobić? Więc udało mi się ostatnio zainstalować ze źródła Freecad z tego przewodnika i myślę, że byłby to bardzo dobry początek jako powszechna metoda, prawda?

Ale chodzi o to, gdzie znaleźć właściwe źródło i kiedy aplikacja ma bardzo unikalną metodę instalacji!

Gabriel
źródło
Możliwy duplikat instalacji z .tar.gz?
Tachyons,
Nie, myślę, że moje pytanie było jasne! Po prostu głębsza informacja
Gabriel,
świetnie świetnie świetnie jak howtogeek.com/105413/…
Mohammad Reza Rezwani

Odpowiedzi:

14

Instrukcje instalacji różnią się w zależności od programu, chociaż istnieją dobrze znane narzędzia, takie jak narzędzia automatyczne (w tym automake i autoconf) i cmake.

Ponieważ programy mogą być dostępne w różnych językach programowania, trudno jest podać ogólne polecenia pasujące do wszystkich pakietów. Na przykład Python często ma skrypty setup.py, w których programy C często używają autotools lub przynajmniej Makefile.

Zawsze zaczynam od znalezienia plików INSTALL, README lub podobnych. Jeśli potrzebujesz skompilować program ze źródła, prawdopodobnie potrzebujesz build-essentialpakietu, który zależy od kompilatorów i innych ogólnych pakietów programistycznych.

W zależności od programu, który próbujesz skompilować, może być konieczne zainstalowanie innych zależności. Sprawdź ./configureplik README dla tego lub wyniku skryptu (plik wykonywalny znajduje się w katalogu głównym wyodrębnionego źródła). Na przykład, jeśli mówi, że potrzebujesz „nagłówków programistycznych x11”, spróbuj znaleźć „x11-dev” lub „libx11-dev” w repozytoriach (w tym przypadku jest tolibx11-dev to, czego szukasz).

Dystrybucje źródłowe zbudowane za pomocą autoconf / automake można wyodrębnić i skonfigurować za pomocą:

tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install

Użyj ./configure --helpdla dostępnych opcji. Domyślnie pliki są często instalowane, /usr/localco jest całkowicie w porządku. O ile nie zamierzasz spakować pliku do pliku .deb, nie zmieniaj tego prefiksu na, /usrponieważ może to powodować konflikt z systemem zarządzania pakietami (dpkg).

makema zacząć kompilować wszystko, gdzie make installinstaluje pliki w wyznaczonych lokalizacjach ( sudojest to konieczne do zapisu w uprzywilejowanych lokalizacjach, takich jak /usr/local). Aby go później odinstalować, uruchom z katalogu źródłowegosudo make uninstall (pod warunkiem, że pakiet jest poprawnie skompilowany z autoconf / automake, za co odpowiedzialny jest programista, a nie ty, użytkownik!

Jeśli chcesz tylko skompilować pakiet z centrum oprogramowania na swoim komputerze, kontynuuj (odpowiednio zamień packagei wersję):

sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us

Więcej informacji na temat poleceń można znaleźć na odpowiednich stronach podręcznika. (np. działa man dpkg-buildpackagew terminalu). Po wykonaniu tych poleceń będziesz mieć plik .deb w katalogu nadrzędnym. W miarę możliwości zaleca się korzystanie z pakietów z repozytoriów Ubuntu. Powyższe kroki są pokazane ze względów edukacyjnych, ale generalnie chcesz zmodyfikować niektóre pliki przed zbudowaniem pakietu.

Lekensteyn
źródło
Rzeczywiście bardzo pomocne, więc jedyną powszechną metodą jest pobranie pakietu (tar ??), a następnie wypakowanie go, aby zobaczyć jego zawartość! Później muszę zapytać, rozpakowuję pliki, a następnie uruchamiam wszystkie polecenia, o których wspomniałeś powyżej. Więc plik instalacyjny to ten, na którym pracowałem wszystkie te polecenia? Lub wszystkie katalogi plików aplikacji są specyficzne albo instalowanie z centrum, albo instalacja ze źródła? Aby to wyjaśnić, chcę po prostu zainstalować aplikację, gdziekolwiek chcę wszystko w / opt lub / usr? Dzięki
gabriel,
Zobacz zaktualizowany post. Wyodrębnij i zmień katalog to 99% wszystkich przypadków. Po .tar możesz zobaczyć różne rozszerzenia, takie jak .gz, .bz2, .xz. Odnoszą się one do formatu kompresji. .zip jest mniej powszechny, ponieważ nie może przechowywać uprawnień do plików, ale jest widoczny w wersji co najmniej 7-zip. Uwaga: moje instrukcje są bardziej ogólne dla „kompilacji ze źródła”. Ścieżki i konfiguracja nie są takie same jak ścieżki z Centrum oprogramowania Ubuntu.
Lekensteyn,
Nie ma więc znaczenia, w którym katalogu pracuję ./configure, make i make install. Na przykład id pobieram i rozpakowuję w katalogu osobistym, a następnie powinienem uruchomić te polecenia i automatycznie polecenie make install umieści pliki instalacyjne w konkretny katalog, prawda?
Gabriel
Nie ma więc określonego katalogu, takiego jak „Program Files” systemu Windows, prawda?
Gabriel
Po rozpakowaniu archiwum, zmień katalog na rozpakowany. Dokładna lokalizacja nie ma znaczenia, możesz to zrobić w katalogu domowym lub ~ / Downloads, po prostu upewnij się, że ścieżka nie zawiera białych znaków, ponieważ psuje większość narzędzi. Na przykład, ~/Downloaded Sourcesto zły pomysł, gdzie ~/Downloaded-sourcesjest całkowicie w porządku. Ostatnie pytanie znajduje się na stronie askubuntu.com/q/27213/6969
Lekensteyn,
7

FreeCAD jest dostępny w Centrum oprogramowania Ubuntu, więc nie trzeba było go budować i instalować z kodu źródłowego.

Centrum oprogramowania Ubuntu zawsze jest pierwszym miejscem, w którym powinieneś szukać. Instalacja to tylko kwestia kliknięcia przycisku.

Na pasku po lewej stronie ekranu znajduje się ikona Centrum oprogramowania Ubuntu.

Jeśli naprawdę chcesz zbudować i zainstalować program ze źródła, poszukaj pliku README lub innych instrukcji dołączonych do programu.

Wiele pakietów oprogramowania używa autotoolów GNU jako systemu kompilacji i można je budować i instalować za pomocą następujących poleceń:

./configure
make
sudo make install

Przed zbudowaniem programu musisz sprawdzić, jakie są wymagane biblioteki i inne zależności (należy to również wspomnieć w dokumentacji programu). Na Package.ubuntu.com można znaleźć pakiety Ubuntu, które zawierają wymagane biblioteki.

Załóżmy, że program potrzebuje biblioteki o nazwie blah, wtedy prawdopodobnie będziesz musiał zainstalować pakiet libblah-dev(sprawdź dokładną nazwę na stronie Pakiety Ubuntu, o której wspomniałem powyżej).

sudo apt-get install libblah-dev
Jesper
źródło
HAHA, tak, znam tę ikonę, ALE jeśli kiedykolwiek zauważyłeś, w centrum oprogramowania w dowolnej aplikacji jest opis: „kanoniczny nie zapewnia krytycznych aktualizacji”, a wersja Freecad to wersja 0.8 i zainstalowałem Freecad v0.13. chcę tylko głębszej wiedzy na temat systemów Linux, a nie odpowiedzi wskazujących, gdzie jest centrum oprogramowania, w każdym razie dzięki :-)
gabriel
TERAZ mówisz dobrze! I dziękuję BARDZO bardzo, to jest głębsza wiedza, której chcę! Kontynuuj!
Gabriel
OK, więc jeśli chcę zainstalować aplikację ze źródła, ludzie tej aplikacji muszą podać kod źródłowy? Na przykład, jeśli chcę zainstalować aplikację komercyjną, nie jestem w stanie zainstalować ze źródła, to jest w ogóle projekt open source, prawda? aplikacje mają otwarte źródło dla wszystkich, ale nie komercyjne. prawda?
Gabriel
„jeśli chcę zainstalować aplikację ze źródła, ludzie tej aplikacji muszą podać kod źródłowy?” - Tak, oczywiście, to znaczy „ze źródła ”! A jeśli jest to program komercyjny, który nie jest open source, to nie dostajesz kodu źródłowego.
Jesper
Właśnie dlatego większość aplikacji Windows nie można zainstalować w systemie Linux, prawda?
Gabriel
2

Istnieją tylko dwa podstawowe podejścia:

  1. Użyj Centrum oprogramowania lub narzędzia pokrewnego (Synaptic apt-getitp.). Jest to zwykle najlepsza opcja. Rezygnacja z tej metody może prowadzić do problemów, takich jak konflikty i trudności z aktualizacjami, więc powinieneś zrobić coś innego, jeśli wiesz, co robisz.
  2. Przeczytaj dokumentację i użyj jej do instalacji. Możesz go znaleźć na stronie projektu, w archiwum lub z miejsca, w którym masz plik. Lub może nie być dokumentacji, w takim przypadku musisz zgadnąć Google. Istnieje wiele różnych sposobów instalowania oprogramowania. Jeśli stanie się to mylące, wróć do numeru 1.

    Jeśli Twój pakiet używa standardu ./configure; make; sudo make install, możesz użyć go, checkinstallaby uzyskać .deb tego, co zbudowałeś. W ten sposób nie musisz poświęcać zarządzania pakietami.

Scott Severance
źródło
Ok, zadałem to pytanie, ponieważ miałem pewne problemy z centrum oprogramowania i plikami .deb. Na przykład chciałem zainstalować draftsight, program CAD i jest on przeznaczony tylko dla wersji 32-bitowej. Więc próbowałem z ignorowaniem zależności i poleceń architektury, ale nic nie przyszło on. Czy jest więc możliwe wyodrębnienie pliku .deb, a następnie ręczna instalacja za pomocą make i sudo make itp? dzięki
gabriel
Jeśli nie ma dostępnego pliku .deb dla Twojej architektury, musisz zainstalować program w inny sposób. Możesz Google sprawdzić, jak zrobiły to inne osoby, wyszukać plik .dev z odpowiednim łukiem lub zbudować ze źródła. Zobacz moją nadchodzącą edycję czegoś ważnego.
Scott Severance
checkinstall, zanim uruchomimy te polecenia? a co, pojawi się .deb? ((muszę zapytać, jak sprawić, by twoje posty wyglądały ładnie i uporządkowane? z podświetlonymi poleceniami i personelem? jakikolwiek przewodnik dla askubuntu?)) Więc mogę wyodrębnić .deb, a następnie checkinstall i spraw, aby działał na przykład na 64-bitach, czy też się mylę i głupio z tym pytaniem?
Gabriel
Nie można używać checkinstallw istniejących pakietach .deb. Jeśli masz już plik .deb, technicznie możesz go rozpakować i zainstalować ręcznie, ale nie jest to najlepszy sposób. checkinstalljest, gdy budujesz ze źródła. Aby uzyskać pomoc dotyczącą formatowania, zobacz link pomocy, który zawsze pojawia się podczas publikowania.
Scott Severance
Tak więc plik .deb o architekturze innej niż 64-bitowy, którą posiadam, nie powinien być rozpakowywany, a następnie instalowany ręcznie? plik .deb jest kompilowany skąd? Czy używa tego samego kodu źródłowego, co kompilacja ze źródła? Głupie pytanie?
Gabriel
0

Instalowanie ze źródła jest bardzo trudne do obsługi.

O ile to możliwe, instaluj z centrum oprogramowania. Jest to odpowiednik mentalności okna next-> next-> wykończenie.

Możesz również instalować rzeczy ze źródła w systemie Windows. To nie jest unikalne w Linuksie, po prostu więcej dostępnych aplikacji źródłowych jest ukierunkowanych na Linuksa.

RobotHumans
źródło
1
Cóż, chcę po prostu wskoczyć w swoje doświadczenie z Linuksem, mam trzy lata i chcę w końcu nie pytać, jak i jak mnie czujesz? Po prostu pogłębiać moją wiedzę na temat Linuksa. wyjaśnić mi źródło itp.?
Gabriel
linuxfromscratch.org
RobotHumans
? Również, gdy aplikacja ma .deb w moim ubuntu Jak zainstalować od centrum oprogramowania Wtedy jestem gotów ponownie zadać w askubuntu.com lub google.gr „” „jak zainstalować ten w Ubuntu 11.10?” „”
Gabriel
Tak. Specyficzne dla aplikacji jest lepsze. Zapewniają ukierunkowane, powtarzalne odpowiedzi dla określonych użytkowników. Dlatego są przydatne.
RobotHumans
Cóż, to jest naprawdę bardzo pomocne. Po prostu czujesz mnie i dałeś mi to, czego chcę. Ale chciałbym cię zapytać po dużo przeczytaniu o Linuksie i Linuksie, czy nigdy nie będę w stanie zainstalować ŻADNEJ aplikacji w systemach Linux? czy to nie jest w żaden sposób możliwe?
Gabriel
0

Ubuntu oferuje wiele metod instalacji

  1. Poprzez scentralizowany system pakowania

    Jest to preferowana metoda w Ubuntu (ale osobiście mi się to nie podoba), centrum oprogramowania, synaptic i aptitude są do sprawdzenia

  2. Samodzielny pakiet deb: - Ta metoda jest prostsza niż w przypadku systemu Windows, wystarczy dwukrotnie kliknąć plik i nacisnąć przycisk instalacyjny Np .: Menedżer pakietów Gdebi

  3. oprogramowanie binarne: są one bardzo podobne do instalacji Windows .exe, oferuje różnorodne GUI dla Instalatora, są to zwykle pliki .bin

    możesz użyć bit rocka lub podobnych narzędzi do tworzenia takich paczek

  4. automatyczne pakowanie i podobne narzędzia: -to są to zewnętrzne menedżery pakietów stworzone do obsługi różnych dystrybucji linuksa

  5. kod źródłowy: jest to pierwsza metoda instalacji oprogramowania, w tej metodzie kod źródłowy jest konwertowany na binarne pliki wykonywalne, instrukcje instalacji dla tych programów są zwykle dołączane z kodem źródłowym, i są one ważne tylko dla oprogramowania typu open source s / w

Ostrzeżenie: -To są tylko moje obserwacje, jestem nowicjuszem w Linuksie, więc mogłem swobodnie edytować / głosować Jeśli coś jest nie tak

Tachyony
źródło
Dzięki, z mojego doświadczenia zazwyczaj widzę w centrum oprogramowania opis aplikacji, a jeśli kanoniczny zapewnia aktualizacje, to instaluję go z centrum. Jeśli nie googluję, dlatego opublikowałem to pytanie, a wszystkie odpowiedzi były ver pomocna dzięki
Gabriel
Opcja 1 jest znacznie lepsza niż 3 i 4, ponieważ możesz automatycznie otrzymywać aktualizacje. Opcja 2 jest w porządku, gdy żądanego pakietu lub wersji nie ma w repozytorium (opcja 1). Unikaj liczb 3 i 4, jeśli to w ogóle możliwe, ponieważ nie wykorzystują one wszystkich cudownych zalet zarządzania pakietami i mogą powodować konflikty na późniejszym etapie. Mimo że Autopackage zarządza własnym pakietem, wciąż jest odrębnym systemem i może powodować konflikty i nieaktualne rzeczy. I, chyba że jesteś programistą, staraj się unikać budowania źródła. Zarządzanie pakietami to cudowna rzecz!
Scott Severance
Wolę te metody tylko dlatego, że moje połączenie internetowe jest wolne: p
Tachyons