Re: kompilace


To Debian CZ/SK project discussion list <czdebian-l zavinac debian bod cz>
From Petr Stehlik <pstehlik zavinac sophics bod cz>
Date Fri, 06 Jan 2006 10:39:25 +0100

Martin Slouf píše v Pá 06. 01. 2006 v 09:52 +0100:
> osobne doporucuji, minimalne napoprvy, abys mohl snadno 'deinstalovat' ==
> smazat:
> 
> ./configure --prefix=/usr/local/<jmeno_programu>
> make
> make install (pro uspesne provedeni tohoto prikazu je nutne se prihlasit
>             jako root)
> 
> ten parametr za configure zaridi, ze se program instaluje do tebou zvoleneho
> adresare (vcetne knihoven a dokumentace), takze odstraneni je snadna
> zalezitost -- proste smazes ten adresar /usr/local/<jmeno_programu>

Par poznamek:

1) je tezke najit program, ktery jeste nema debianni balicek. Pokud
jeste neni primo v http://packages.debian.org/ tak klidne muze byt
jinde, obvykle poradi strycek google.

2) kdyz uz clovek chce 'risknout' make install a pouzije vami doporuceny
postup, tak program stejne nebude fungovat, protoze jednak nebudou
spustitelne programy tam, kde se hledaji (v $PATH) a druhak nebudou
jejich dynamicke knihovny tam, kde se hledaji (/etc/ld.so.conf).
A pokud je nahodou Makefile daneho programu tak promakany, ze se o to
postara (napr. symbolickymi linky), tak potom zas nefunguje vas napad s
"odinstalovanim" pomoci pouheho smazani adresare v /usr/local/<>.

Pokud presto chcete pouzivat tento postup, tak pro lepsi pocit sucha a
bezpeci doporucuji misto do /usr/local/<jmeno_programu> konfigurovat
prefix do $HOME/<jmeno_programu>. Vyhoda je, ze pak pro make install
nemusite byt rootem a tim padem ani nehrozi, ze by vymakany Makefile
udelal symbolicke linky do systemovych adresaru.

3) doporucuji podivat se na checkinstall (aptitude install checkinstall)
a pak ve zname trojkombinaci ./configure && make && make install
nahradit treti krok prikazem checkinstall. Vypadne z toho pekny debianni
balicek, ktery si pak instalujete sami pres "dpkg -i balicek.deb" a pro
odinstalaci pak funguje napr. spolehlivy "aptitude remove balicek".

Petr




Partial thread listing: