Tenhle návod jsem publikoval na ubuntím fóru, ale tady mu to bude slušet víc. Dá se použít prakticky na všech Debian-like distribucích.(http://img442.imageshack.us/img442/4263/snmekobrazovkyroot192tec.png)
Kompilace přináší nejen spoustu výhod, ale taky spoustu starostí, jen málokdo se do toho dobrovolně pustí, neboť je třeba doinstalovat si některý kompilátory, spoustu *-dev balíků a hlavně ten někdo musí vědět, jak se co kompiluje, někde totiž nestačí hodit do stroje svatou trojici a pak se těšit z úspěchu.
Hlavní výhodou kompilace je, že si ušijete program svý mašince na míru, ten pak může poskytnout vyšší výkon, program samotný pak může na disku zabrat i o něco méně místa.
Většinu nevýhod kompilace odstraňuje program apt-build. Sám se postará o získání potřebných balíků, sám si zkompiluje, sám vytvoří DEB balík, sám vytvoří lokální repozitář, sám nainstaluje.Funkce, co vám apt-build nabídne:Commands:
update - Update package lists
upgrade - Perform an upgrade
install - Build and install new packages
source - Download and extract source in build directory
build-source - Download, extract and build source package
update-source - Update all sources and rebuild them
remove - Remove packages
build-repository - Rebuild the repository
clean-sources - Clean up all object files in source directories
clean-build - Erase downloaded packages and temporary build files
clean-repository - Erase downloaded packages and temporary build files
world - Rebuild and reinstall all packages on your system
info - Build-related package information
Options:
--reinstall - Re-build and install already installed package
--rebuild - Rebuild package
--remove-builddep - Remove build-dependencies installed by apt-build
--nowrapper - Do not use gcc/g++ wrapper
--purge - Use purge instead of remove
--noupdate - Do not run 'apt-get update' before package installation
--build-command - Use <command> to build package
--patch <file> - Apply patch <file>s before the build
--patch-strip - Striplevel for the patch files
--yes -y - Assume yes
--version -v - Show version and exit
--force-yes - Force yes
--source - Do not download source (sources are extracted already)
--build-only - Do not install any of build dependencies or <package>
--build-dir - Specify build dir
--repository-dir - Specify the repository directory
--target-release - Distribution to fetch packages from
--sources-list - Specify sources.list file
--apt-get - Specify an alternative apt-get application to use
--apt-cache - Specify an alternative apt-cache application to use
--config - Specify an alternative configuration file
Manuál:APT-BUILD(1) APT-BUILD(1)
NAME
apt-build - Fetch sources and build packages optimized for your architecture.
SYNOPSIS
apt-build [ options ] [ update ] [ upgrade ] [ world ] [ install pkg ] [ remove pkg ] [ info pkg ]
DESCRIPTION
apt-build is an apt-get frontend to build and install architecture optimized packages.
COMMANDS
update Retrieve new lists of packages
upgrade
Perform an upgrade
world Rebuild your system
install
Build and install new packages
source Download and extract source in the build directory
info Info on a package which could be built
remove Remove packages
clean-build
Erase built packages
clean-sources
Call debian/rules clean in source directories
build-source
Build source without installing them
update-source
Update sources and rebuild them if they are missing in the repository
build-repository
Rebuild the repository
OPTIONS
--help
Shows help
--nowrapper
Do not use the gcc wrapper
--remove-builddep
Remove build-dependencies installed by apt-build
--no-source
Don't download source
--build-dir
Specify build-dir
--build-only
Build package only
--rebuild
Rebuild a package
--reinstall
Build and install an already installed package
--build-command <command>
Use this command to build package
--patch <file>
Apply this patch before build (you can use this option one or several times)
--patch-strip, -p <number>
Prefix to strip on patch (0 = -p0, 1 = -p1 ...)
--yes, -y
Assume yes
--purge
Use purge instead of remove
--noupdate
Do not run 'apt-get update' before package installation
--sources-list
Specify sources.list file
--apt-get
Specify an alternative apt-get command
--apt-cache
Specify an alternative apt-cache command
--force-yes
Force yes
--source
Do not download source (sources are extracted already)
--repository-dir
Specify the repository directory
--target-release
Distribution to fetch packages from
--config
Specify an alternative configuration file
--version, -v
Show version
BUGS
Many.
AUTHOR
apt-build was written by Julien Danjou <acid@debian.org> with many contributors.
3rd Berkeley Distribution November 2003 APT-BUILD(1)
1) Jak jej získat?sudo apt-get install apt-build
Debconf se vás při instalaci zeptá:
1) Kam stahovat a sestavovat balíky (výchozí: /var/cache/apt-build/build)
2) Kde vytvořit lokální repozitář (výchozí: /var/cache/apt-build/repository) - pokud to není nutný, neměňte. Platí i pro předchozí bod.
3) Jak silnou optimalizaci při kompilaci má použít- lehkou, střední a silnou. Já sice používám silnou (taky to dlouho trvá), vy radši sáhněte po střední.
4) Jestli přidat lokální repozitář do sources.list- odpovězte kladně
5) Volby pro GCC a Make- pokud nevíte, nic tam nepište
6) Architektura vašeho procesoru- pokud nevíte, zeptejte se tady (mám navoleno core2 - Intel Pentium Dual-Core E2180).
2) Jdeme na toPokud jste se rozhodli tenhle nástroj použít a máte dost času (kompilace trvá dlouho, někdy pár minut, jindy až několik hodin!), směle do toho!
Většinou se apt-build používá stejně jako apt-get, tzn.:
apt-build install --reinstall nazevbaliku - instalace / reinstalace stávajícího programu programem osobně kompilovaným (použijte radši i volbu --reinstall, je to jistější)
apt-build update =
apt-get update - aktualizace databáze balíků
apt-build upgrade - aktualizace aktualizovatelných balíků
atd.
apt-build clean-sources - vyčistí složku sources (může trvat delší dobu)
apt-build clean-build /
apt-build clean-repository - vyčistí lokální repozitář
3) FAQ:Q: Co se stane, když se něco při kompilaci nepovede?A: Nic, balík se nevytvoří a tím pádem se ani nenainstaluje
Q: Co tím získám?A: Některý programy budou o dost rychlejší, můžou bejt i stabilnější
Q: Mám z toho strach...A: Pak zemřeš pomalu a v krutých bolestech s vědomím, žes nic nedokázal
Tip:
Pokud chcete originální spořič obrazovky, nastavte si v Terminálu černý pozadí, zelený písmo, hoďte do /dev/null toolbar a posuvník a pomocí klávesy [F11] uveďte Terminál do fullscreenu.
Výsledek:
(http://img301.imageshack.us/img301/1591/matrixm.th.png) (http://img301.imageshack.us/i/matrixm.png/)
Matrix 8)
Nevím jestli to sem patří... Zkoušel jsem zkompilovat firefox a totem víc toho nešlo, protože jsem další věci prostě ve zdrojích nenašel. Ale nezdá se mi že by to nějak zrychlilo. Akorát se mi teď při přehrávání filmu občas kousne obraz a vytěžuje víc procesor... Zajímalo by mě jaké máš repozitáře??? mylím že to chce source -ale tam mi dost věcí chybělo, jako gnome věci, metacity,... mám debian Lenny
Hm... jsem trošku líný hledat, tak se ptám: Umí to někde nastavit konfigurační volby pro GCC? protože bych na serveru občas překompiloval suPHP na lepší optimalizaci...
Citace od: Jakub Lucký kdy 27. 01. 2010, 16:17:59
Hm... jsem trošku líný hledat, tak se ptám: Umí to někde nastavit konfigurační volby pro GCC? protože bych na serveru občas překompiloval suPHP na lepší optimalizaci...
sudo dpkg-reconfigure apt-build - tam si můžeš nastavit jak volby pro GCC, tak i pro Make
Máš tam typo..
CitaceFunkce, co vám apt-builb nabídne:
Jinak hezký článek, you deserve a cookie for it.