Помогни ни да направим Uroci.net по - богат! Добави урок

Компилиране на софтуер в Debian

Aleksandrov   трудност:    видян: 6045

Както знаете, Debian поддържа огромно количество компилиран софтуер. Въпреки това, понякога е възможно да ви се наложи да си компилирате нещичко. Я някой никому неизвестен проект, я нещо от друга версия. Че и понякога може да решите да почовъркате по кода на някоя програма и да видите какво ще стане.

 

Типично по дебиански, имате няколко мощни и добре обмислени инструменти, чрез които мисията е пределно улеснена и автоматизирана. Те са създадени и се ползват основно от разработчиците на дистрибуцията, но и ние, простосмъртните потребители, можем да се възползваме.

 

Компилиране на пакети по класическия начин

 

Класическият начин за компилиране на софтуер се състои в следните стъпки:

 

1. Доставяне на source пакет. Ако даден софтуер не го намирате в хранилищата на Debian и на сайта на създателите му не е предоставен .deb пакет, а само source файл с разширение .tar.gz или .tar.bz2, то не ви остава нищо друго, освен да изтеглите този компресиран файл. След това следва разпакетиране. Добре е директорията на разпакетирания файл да си я сложите на специално място, където ще компилирате и други пакети евентуално. Целта е да не загубите тази папка и винаги да знаете къде е.

 

2. Отворете с файловия браузър тази папка и разгледайте съдържанието. Преди всичко, запознайте се със всички текстови файлове, особено ако имат заглавия от рода на Readme, Install. Така ще научите всичко, което е необходимо, за да компилирате успешно пакета. Обикновено, това са предписания каква е процедурата за командите, които трябва да изпълните, необходимите програми, които трябва да бъдат инсталирани предварително (т.н. зависимости).

 

3. В общия случай, командите са:

 

$./configure

 

$make

 

#make install

 

Първата и втората команда се изпълняват с правата на обикновен потребител, докато третата команда с права на root. За да се запази контрола над пакетите, е добра идея, вместо make install да използвате командата checkinstall (ще трябва да си я инсталирате преди това), която ще създаде дебиански пакет и ще го инсталира. След това, ако желаете да го премахнете, просто го правите чрез apt-get или synaptic.

 

Ако все пак сте имали неблагоразумието да използвате make install, за да премахнете пакета, е необходимо да влезете в папката с компилирания пакет и да изпълните:

 

#make uninstall

 

Не бих могъл в една кратка статия да осветля напълно тази тема. Тя е доста дълбока и засяга използването на доста различни програми – make, qmake, gcc и т.н. Само ще ви насоча, че след като стартирате ./configure, скриптът проверява, дали е възможно да се компилира успешно кодът, и ако завърши с грешка, ще може да се ориентирате какво ви липсва. След това с apt лесно ще си осигурите необходимите пакети. Обикновено тава са девелоперски такива и завършват с “-dev“.

 

Компилиране на debian binary пакети от debian source пакети

 

В хранилищата на Debian, освен компилираните пакети, може да намерите и съответните им пакети с код. За да имате достъп до тях, добавете в sources.list аналогичен запис на хранилището, но вместо в началото на реда да запишете deb, ще въведете deb-src . След това вече ще може да сваляте нужните ви debian source пакети с командата:

 

#apt-get source пакет

 

Ако изпълните горната команда с опция -b и права на root, то тя ще компилира пакета, ако е възможно.

 

А ще е възможно, ако предварително са изтеглени и инсталирани необходимите зависимости – най-често различни -dev пакети. И за това има команда, която трябва да изпълните преди горната:

 

#apt-get build-dep пакет

 

Ако все пак сте изтеглили ръчно debian source пакет, за разпакетиране използвайте:

 

#dpkg-source -x пакет.dsc

 

А за компилирането му влезте в главната директория на кода и стартирайте командата:

 

#dpkg-buildpackage -rfakeroot -uc -b

 

или

 

#debuild

 

Debian a la Gentoo

 

Няма грешка, в Debian можете да си прекомпилирате системата и по този начин да я оптимизирате. Възможностите не са така всеобхватни, както при Gentoo, но всъщност ефектът е сравним. Но и практиката е показала, че е достатъчно да се компилират и оптимизират не всички пакети, а само тези, които са важни за бързината.

 

Такива възможности ви дава програмата apt-build, която се инсталира по обичайния начин:

 

#apt-get install apt-build

 

При конфигурирането на програмата ще бъдете попитани къде искате да бъде създадена директорията, в която ще се съхраняват компилираните пакети и ще представлява вашето локално хранилище, кой компилатор предпочитате, какви да бъдат опциите за оптимизация и дали вашето хранилище да бъде включено в sources.list. По подразбиране, последното се намира в директорията

/var/cache/apt-build/repository , а ако все пак не се запише в sources.list, добавете го ръчно. Запишете:

 

deb file:/var/cache/apt-build/repository apt-build main

 

 

Сега можете да теглите source пакети от дебианските хранилища, да ги компилирате и да създадете бинарни .deb пакети, които ще се съхраняват във вашето локално хранилище. Тъй като то е прибавено в sources.list, synaptic ще може да ги инсталира и деинсталира. За всичко това ще се погрижи apt-build и многото и команди и опции. За щастие, man страничката за тази команда не е голяма и си заслужава да се запознаете с нея. Тук само ще покажа няколко примера какво може apt-build.

 

Обновяване списъците с пакети от хранилищата:

 

#apt-build update

 

Компилиране и инсталиране на пакети, които може да се подновят с нова версия:

 

#apt-build upgrade

 

Прекомпилиране на цялата система:

 

#apt-build world

 

Компилиране и инсталиране на пакет:

 

#apt-build install пакет

 

Компилиране и инсталиране на съществуващ пакет:

 

#apt-build install -reinstall пакет

 

Почистване на build директорията:

 

#apt-build clean-build

 

Актуализация на файловете Packages.gz и Sources.gz в локалното хранилище. Например, след добавяне на .deb пакети, компилирани по друг начин (dpkg-buildpackage):

 

#apt-build update-repository

 

Възможно е компилирането и изграждането на пакети да се осъществява, но те да не бъдат инсталирани. Все пак, ще ги намерите в локалното хранилище, и чрез synaptic съвсем лесно ще бъдат инсталирани.



Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com