it-swarm-eu.dev

Jak kompilovat a instalovat programy ze zdroje

Toto je problém, který opravdu omezuje mé potěšení z Linuxu. Pokud aplikace není v úložišti nebo pokud nemá instalační skript, pak opravdu bojuji, kde a jak nainstalovat aplikaci ze zdroje.

Ve srovnání s Windows je to snadné. Jste (do značné míry) povinni použít instalační aplikaci, která provádí veškerou práci v Průvodci. S Linuxem ... ne tolik.

Máte k tomu nějaké tipy nebo pokyny nebo existují nějaké webové stránky, které výslovně vysvětlují, jak, proč a kde instalovat Linuxové programy ze zdroje?

42
Nitrodist

Za normálních okolností bude mít projekt webovou stránku s pokyny, jak jej sestavit a nainstalovat. Google za to první.

Z velké části budete dělat buď:

  1. Stáhněte si tarball (tar.gz nebo tar.bz2 soubor), což je vydání konkrétní verze zdrojového kódu
  2. Rozbalte tarball příkazem jako tar zxvf myapp.tar.gz pro gbalipový tarball nebo tar jxvf myapp.tar.bz2 pro bzipped tarball
  3. cd do adresáře vytvořeného výše
  4. spustit ./configure && make && Sudo make install

Nebo:

  1. Použijte git nebo svn nebo cokoli a vytáhněte nejnovější zdrojový kód z jejich oficiálního zdrojového úložiště
  2. cd do adresáře vytvořeného výše
  3. spustit ./autogen.sh && make && Sudo make install

Konfigurovat i autogen.sh přijme argument - prefix, aby určil, kde je nainstalován software. Doporučuji vyzkoušet Kam mám umístit software, který zkompiluji? , kde najdete rady ohledně nejlepšího místa pro instalaci softwaru na míru.

24
Sandy

Chci jen dodat, že existují správci balíčků, kteří kompilují balíčky ze zdroje a zpracovávají všechny závislosti balíčků, příznaky atd. ..

V BSD systémech je to ports: sing Ports Collection

V Debianu je apt-get Správce balíků se může nainstalovat také ze zdroje: APT HOWTO: Práce se zdrojovými balíčky (Totéž platí pro Ubuntu, Linux-mint a všechno ostatní založené na Debianu)

Distribuce Gentoo používá správce balíčků portage, který celý systém kompiluje pouze ze zdroje: Portage Introduction .

Slackware umí kompilovat balíčky, ale nevím, jestli tam existuje nějaký správce balíčků .. =)

Balíčky můžete kdykoli kompilovat ručně, jako je výše zmíněná Sandy =) Také musí být možné použít apt-get nebo portage správci balíků v jakémkoli jiném distro ...

4
holms

Myslím, že je nejlepší přečíst si dokumentaci dodávanou s konkrétním programem nebo aplikací, kterou chcete nainstalovat. Obvykle jsou uvnitř tarballs readmes/READMEs (archiv zdroje aplikace, který si můžete obvykle stáhnout), nebo možná dokonce INSTALL soubory, které čtou a dozvíte se, jaký je preferovaný způsob instalace uvedené aplikace. Zkrátka: RTFM;)

2
reiche

Souhrn pro použití kolekce portů ve FreeBSD:

Najít port

Porty jsou uspořádány podle kategorií, takže pokud nevíte, v jaké kategorii je port, musíte jej nejprve najít:

cd /usr/ports
make search name=myport

Někdy je tak příliš mnoho záznamů. Já osobně dávám přednost:

find /usr/ports -name myport* -print -depth 2

Použijte * při vyhledávání, protože často existuje více verzí portu. Argument hloubky zajišťuje, že vaše výsledky návratu nebudou zbytečně zaplněny zápasy, které pravděpodobně nebudete chtít.

Konfigurace

Často budete chtít provést nějakou konfiguraci; software jako Apache a Postgres to prakticky vyžadují. Existují tři hlavní možnosti: příkazový řádek, prostředí a vytváření konfiguračních souborů. Chcete-li začít s příkazovým řádkem:

make showconfig

tím se zobrazí výchozí možnosti konfigurace. Pokud se vám líbí výchozí nastavení, jste připraveni sestavit a nainstalovat. Pokud ne,

make config

zobrazí dialogové okno, ve kterém můžete vybrat, které možnosti chcete. (Nenechte se s tím zaměnit a make configure který konfiguruje váš port s vybranými možnostmi!) To je často dostačující, ale u některých programů, jako je Apache, je často složitá konfigurace, kterou jednoduchý dialog nezvládne. Z tohoto důvodu byste se také měli podívat na Makefile (y), které vám někdy poskytnou nějaké další cíle, díky nimž získáte více informací. Pokračování příkladu Apache

make show-modules
make show-options
make show-categories

vám poskytne informace o nastavení vybraných modulů, možností vláken a podobně. Pokud jsou výchozí hodnoty vašeho portu většinou v pořádku a chcete pouze změnit několik věcí, můžete také předat páry klíč = hodnota jako proměnné prostředí:

make MYVBL1=MYVAL1 ... install clean

Možnosti přepínání můžete také nastavit pomocí -D možnost:

make -D MYVAR -D MYOTHERVAR ... install clean

Pro složitou konfiguraci však příkazový řádek nebude fungovat dobře a vy jste lepší, ani jedna z prvních dvou metod nebude účinná. V tomto případě můžete vytvořit konfigurační soubor a předat jej do proměnné __MAKE_CONF do make. FreeBSD má výchozí konfigurační soubor: /etc/make.conf které obvykle obsahuje informace o dříve nainstalovaných portech a dalších systémových nastaveních. Chcete-li začít, vytvořte soubor s možnostmi portů, zavolejte jej ~/myport.mk a zkombinujte tento soubor s /etc/make.conf:

cat /etc/make.conf ~/myport.mk >> ~/make.myport.conf

pak můžete zkontrolovat konfiguraci:

make showconfig __MAKE_CONF=~/make.port.conf

a pokud všechno vypadá dobře:

make install clean __MAKE_CONF=~/make.myport.conf

POZOR! Pokud potřebujete upravit nastavení konfigurace po make configure nebo instalace jako celek nebo její část absolutně musíte nejprve vymazat vaši konfiguraci:

make rmconfig

Pokud tak neučiníte, bude to mít za následek neočekávané interakce mezi subsystémem porty, výchozí nastavení make vašeho portu a požadovanou konfiguraci.

To je docela hodně pro shrnutí, ale složitost konfigurace je hlavně o aplikaci, ne o portu. Bash například nemá ve skutečnosti žádné možnosti.

Instalace

To je snadná část:

make install clean

nebo můžete

make build
make install
make clean

což je jen psaní.

To je do značné míry. Je zřejmé, že můžete udělat více, jako je rekurzivní výpis závislostí a možností konfigurace, aktualizace pomocí záplat atd. Zde vás odkážu na část PortsPříručka , na manuálovou stránku subsystému port (dobrá informace o dalších cílových cílech) a na stránku make man .

1
gvkv

Nedávno jsem začal používat „Checkinstall“ při instalaci ze zdroje mimo správce balíčků. Vytváří „balíček“ z tarballu třetí strany, který lze poté nainstalovat a spravovat (a odinstalovat) pomocí nástrojů pro správu balíků.

Podívejte se na tento článek - http://www.linuxjournal.com/content/using-checkinstall-build-packages-source

0
aryeh