Enjoy the Holiday season!

Welcome to the Slackware Documentation Project

Разлике

Овде су приказане разлике између изабране ревизије и тренутне верзије странице.

Постави везу ка овом компаративном приказу

Обе стране последње ревизије Претходна ревизија
Следећа ревизија
Претходна ревизија
sr:slackbook:package_management [2013/04/20 19:00 (UTC)]
slackmuz
sr:slackbook:package_management [2013/04/27 18:20 (UTC)] (тренутно)
slackmuz
Линија 1: Линија 1:
-<note important>This page is still work in progress</note> 
-<note important>Страна је у изради</note> 
- 
 ====== Управљање пакетима ====== ====== Управљање пакетима ======
  
-Управљање пакетима је суштински део сваке Линукс дистрибуције. Сваки део софтвера који је укључен у Слеквер, поред многих алатки треће стране је дистрибуиран као изворни кôд који се компилује, али компиловање хиљаде различитих апликација и библиотека је досадно и одузима много времена. Зато већина корисника преферира инсталацију прекомпилираних пакета софтвера. Заправо, при инсталацији Слеквера, програм **//setup//** је првенствено радио примењујући алатке за управљање пакетима на листу пакета. Овде ћемо се позабавити различитим алаткама које су коришћене за руковање пакетима у Слекверу.+Управљање пакетима је суштински део сваке Линукс дистрибуције. Сваки део софтвера који је укључен у Слеквер, поред многих алатки треће стране је дистрибуиран као изворни кôд који се компилује, али компиловање хиљаде различитих апликација и библиотека је досадно и одузима много времена. Зато већина корисника преферира инсталацију прекомпилираних пакета софтвера. Заправо, при инсталацији Слеквера, програм **//setup//** је првенствено радио примењујући алатке за управљање пакетима на листу пакета. Овде ћемо се позабавити различитим алаткама које се користе за руковање пакетима у Слекверу.
  
 ===== pkgtool ===== ===== pkgtool =====
Линија 15: Линија 12:
  
 ===== Инсталација, уклањање и надоградња пакета===== ===== Инсталација, уклањање и надоградња пакета=====
 +
 +Док **//pkgtool//** поентира на поузданости, **//installpkg//**(8) је способнији кад је у питању руковање задацима као што су брза инсталација једног пакета, инсталација комплетног сета пакета, или скриптовање и инсталација. **//installpkg//** узима списак пакета за инсталацију и једноставно их инсталира без постављања питања. Попут свих Слекверових алата за управљање пакетима, овај предпоставља да знате шта радите и не претендује да буде паметнији од вас. У својој најједноставнијој форми, **//installpkg//** узима списак пакета за инсталацију и ради управо оно што ви очекујете.
 +
 +<code>
 +darkstar:~# installpkg blackbox-0.70.1-i486-2.txz
 +Verifying package blackbox-0.70.1-i486-2.txz.
 +Installing package blackbox-0.70.1-i486-2.txz:
 +PACKAGE DESCRIPTION:
 +# blackbox (Blackbox window manager)
 +#
 +# Blackbox is that fast, light window manager you have been looking for
 +# without all those annoying library dependencies.
 +#
 +# Also included in this package is the bbkeys utility for controlling
 +# keyboard shortcut commands from within Blackbox.
 +#
 +# The Blackbox home page is http://blackboxwm.sourceforge.net
 +#
 +Package blackbox-0.70.1-i486-2.txz installed.</code>
 +
 +Можете инсталирати више пакета одједном и користити џокере или знакове замене. Следећа команда ће инсталирати све из //"N"// серије пакета са монтираног диска.
 +
 +<code>
 +darkstar:~# installpkg /mnt/cdrom/slackware/n/*.txz</code>
 +
 +Можете видети који су све пакети инсталирани на вашем систему листајући садржај фасцикле /var/log/packages, где ће поред имена пакета бити приказана и верзија. Уколико треба да сазнате који су све појединачни фајлови инсталирани као део неког пакета, примените команду **//cat//** на пакет.
 +
 +<code>
 +
 +darkstar:~#cat /var/log/packages/foo-1.0-x86_64.txz
 +</code>
 +
 +Ово ће дати излаз у коме ћете моћи да видите све, од величине пакета, описа о сврси и функцији пакета (шта дати програм ради), имена и локације сваког фајла инсталираног као део пакета.
 +
 +Уклањање пакета је подједнако лако као инсталирање. Као што можете предпоставити, команда за извршавање овог задатка је **//removepkg//**(8). Једноставно јој реците који пакет да уклони, и **//removepkg//** ће проверити садржај базе података пакета и уклниће све фајлове и директоријуме тог пакета. Уколико је одређени фајл укључен у више инсталираних пакета, биће прескочен и уколико у одређеном директоријуму има нових фајлова, директоријум ће бити остављен нетакнут. Зато уклањање пакета траје знатно дуже од инсталирања истих.
 +
 +<code>
 +darkstar:~# removepkg blackbox-0.70.1-i486-2.txz
 +</code>
 +
 +На крају, надоградња се врши једноставно помоћу команде (већ погађате) **//upgradepkg//**(8) која прво инсталира нови пакет па онда уклања фајлове и директоријуме који су преостали, а везани су за стари пакет. Битна ствар коју треба да запамтите је да  **//upgradepkg//** не проверава да ли је верзија претходно инсталираног пакета већа од верзије //"новог"//, тако да се иста команда може користити и за враћање пакета са нижом верзијом (енгл. downgrade).
 +
 +<code>
 +darkstar:~# upgradepkg blackbox-0.70.1-i486-2.txz
 +
 ++==============================================================================
 +| Upgrading blackbox-0.65.0-x86_64-4 package using
 +./blackbox-0.70.1-i486-2.txz
 ++==============================================================================
 +
 +Pre-installing package blackbox-0.70.1-i486-2...
 +
 +Removing package
 +/var/log/packages/blackbox-0.65.0-x86_64-4-upgraded-2010-02-23,16:50:51...
 +--> Deleting symlink /usr/share/blackbox/nls/POSIX
 +--> Deleting symlink /usr/share/blackbox/nls/US_ASCII
 +--> Deleting symlink /usr/share/blackbox/nls/de
 +--> Deleting symlink /usr/share/blackbox/nls/en
 +--> Deleting symlink /usr/share/blackbox/nls/en_GB
 +...
 +Package blackbox-0.65.0-x86_64-4 upgraded with new package
 +./blackbox-0.70.1-i486-2.txz.</code>
 +
 +Све ове алатке имају корисне аргументе. На пример, аргумент //--root// ће навести команду **//installpkg//** да инсталира пакет у произвољни директоријум. Аргумент //--dry-run// ће упутити команду **//upgradepkg//** да вас једноставно обавести шта намерава да уради, а да притом не начини ниједну измену у вашем систему. За све детаље погледајте (као и увек) man странице.
 +
 +===== Формати компресије пакета =====
 +
 +Раније су сви Слеквер пакети били компримовани помоћу **//gzip//**(1) алатке, што је био добар компромис између брзине компримовања и величине. Недавно је додата нова шема компримовања, па су и алатке за управљање пакетима надограђене. Данас су званични Слеквер пакети компримовани помоћу **//xz//** алатке и завршавају се .txz проширењем. Старији пакети (и многи пакети треће стране) и даље користе .tgz проширење.
 +
 +Треба нагласити да су .tgz и .txz (или, сажето .t?z фајлови) стандардна, неретка проширења за компримоване .tar фајлове. Ово има многе предности; лако се изграђују на скоро свим Јуникс системима (многи други формати пакета захтевају специјалне алате за изградњу), и једноставно се разграђују.
 +
 +Међутим, важно је схватити да то што су сви Слеквер пакети .t?z фајлови не значи да су и сви .t?z фајлови истовремено Слеквер пакети. **//Installpkg//** неће инсталирати сваки .t?z фајл, већ само Слеквер пакете. 
 +
 +==== slackpkg ====
 +
 +**//Slackpkg//** ја аутоматизована алатка за управљање Слеквер пакетима. До издања 12.1 Слеквера била је смештена у extra/, а од издања 12.2 у ap/ серији основне инсталације.
 +
 +Као што можете да користите **//installpkg//** за инсталирање Слеквер пакета из extra/ директоријума на инсталационом медијуму, **//slackpkg//** можете користити за свлачење пакета са интернета и инсталацију истих. Ово је посебно корисно за сигурносна ажурирања и надоградње значајних апликација које су постављене на Слекверовим серверима, које ћете можда почети да користите на свом систему.
 +
 +Без **//slackpkg//** алатке, процес би изгледа овако:
 +  - Проверите у Слекверовој историји измена (енгл. changelog) да ли је ажурирање доступно.
 +  - Пронађите у локалном Слекверовом огледалу везу за преузимање пакета
 +  - Преузмите пакет на ваш чврсти диск.
 +  - Користите **//installpkg//** или **//pkgtool//** за инсталацију преузетог пакета. 
 +
 +Са **//slackpkg//** алатком, цео процес се састоји из следећег:
 +  - Проверите у Слекверовој историји измена да ли је ажурирање за **//foo//** доступно.
 +  - **slackpkg** //install// foo
 +
 +Очито, ово знатно поједностављује један овакав уобичајен задатак.
 +
 +Да бисте користили **//slackpkg//**, подесите Слеквер огледало уређујући фајл /etc/slackpkg/mirrors као root корисник. Пронађите огледало које одговара верзији и архитектури вашег Слеквера и откоментаришите га (уклоните знак тарабице (#) испред). Списак огледала нуди ftp и http приступ, али можете откоментарисати **само једно** огледало. 
 +
 +Када одаберете једно огледало, ажурирајте списак удаљених фајлова покретањем иницијалне команде **slackpkg update**. Ово треба урадити увек када буде постављен нови пакет (редовно проверавајте Слекверову историју измена; погледајте [[sr:slackbook:tracking_updates|Праћење ажурирања]] за више информација).
 +
 +За претрагу пакета користите **slackpkg search**, а за инсталацију **slackpkg install**.
 +
 +Када инсталирате пакет помоћу **//slackpkg//**, исти можете уклонити или надоградити користећи **//pkgtool//** или друге команде за управљање пакетима као што је објашњено у [[#Инсталација, уклањање и надоградња пакета|Инсталација, уклањање и надоградња пакета]].
 +
 +За више информација погледајте **//man//** странице за slackpkg(8) и slackpkg.conf(5), и посетите сајт [[http://www.slackpkg.org/|http://www.slackpkg.org/]].
 +
 +==== rpm2tgz ====
 +
 +Један од најприсутнијих формата пакета за Линукс софтвер је RPM; није необично наћи програмера који нуди своје апликације за преузимање у изворном кôду или у облику RPM фајла, и никако другачије. У овом случају имате три опције:
 +  - Изградити сопствени Слеквер пакет.
 +  - Компиловати и инсталирати директно из изворног кôда.
 +  - Конвертовати и инсталирати RPM пакет.
 +
 +Изградња пакета из извора или креирање сопственог Слеквер пакета није тако сложен процес као што мислите али инсталирање директно из извора је генерално обесхрабрујућ процес јер не постоји једноставан начин да пратите шта је све инсталирано у ваш систем након покретања команде **make install**. Изградња сопственог Слеквер пакета није тема овог поглавља. Тако да нам остаје корисна алатка **//rpm2tgz//**.
 +
 +**//rpm2tgz//**. конвертује RPM пакете у Слеквер пакете који онда могу да се инсталирају помоћу **//pkgtool//** или **//installpkg//**. Ово заобилази изградњу сопственог Слеквер пакета али вам даје могућност да уклоните, ажурирате пратите шта сте инсталирали.
 +
 +<note warning>
 +
 +Док се Слеквер пакет састоји из скрипта љуске и изворног кôда, RPM пакет може по поређењу бити лавиринт списка зависности и специјалних упустава. Стога, **//rpm2tgz//** неће увек функционисати, нарочито кад су у питању сложене апликације, и никад неће самостално решавати зависности.
 +
 +</note>
 +
 +Да бисте пробали **//rpm2tgz//**, преузмите RPM фајл из поверљивог извора и конвертујте га.
 +
 +<code>
 +
 +rpm2tgz foo-x.x.xx.rpm
 +</code>
 +
 +Резултат је .tgz фајл, тако да након конверзије оригинални RPM фајл можете слободно уклонити. Користите **//installpkg//** за инсталацију Слеквер пакета који сте креирали, под условом да сте инсталирали све зависности без којих апликација не би функционисала.
 +
 +====== Навигација кроз поглавља ======
 +
 +**Претходно поглавље: [[sr:slackbook:basic_networking_utilities|Основни мрежни алати]]**
 +
 +**Следеће поглавље: [[sr:slackbook:tracking_updates|Праћење ажурирања]]**
 +
 +====== Извори ======
 +
 +  * Оригинални извор: [[http://www.slackbook.org/beta]] 
 +  * Изворно писали Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson

In Other Languages
QR Code
QR Code sr:slackbook:package_management (generated for current page)