AptGetHowTo
Iz projekta Ubuntu-RS Wiki
Sadržaj |
Управљање пакетима помоћу apt
Управљач пакетима помоћу apt-get ради у тандему са датотеком sources.list. За детаљније информације о измени и ажурирању ове датотеке погледајте Lista izvora
Увод
In the beginning there was the .tar.gz. Users had to compile each program that they wanted to use on their GNU/Linux systems. When Debian was created, it was deemed necessary that the system include a method of managing the packages installed on the machine. The name dpkg was given to this system. Thus the famous 'package' first came into being on GNU/Linux, a while before Red Hat decided to create their own 'rpm' system.
A new dilemma quickly took hold of the minds of the makers of GNU/Linux. They needed a rapid, practical, and efficient way to install packages that would manage dependencies automatically and take care of their configuration files while upgrading. Here again, Debian led the way and gave birth to APT, the Advanced Packaging Tool, which has since been ported by Conectiva for use with rpm and has been adopted by some other distributions.
-- Извод из Debian APT HOWTO
Команде
Све описане команде захтевају sudo. Замените "imepaketa" или "string" са пакетом који инсталирате или тражите.
Инсталација
apt-get install imepaketa- инсталира нови пакет (али погледајте и aptitude, испод)aptitude- Curses приказ доступних и инсталираних пакета. Aptitude можете да користите и из командне линије на сличан начин као и apt-get, али само за неке команде - install and remove being the most common. Ипак, зато што aptitude бележи више информација од apt-get, па смарта се бољим решењем за инсталирање и уклањање пакета.
Одржавање
apt-get update-- Покрените ову команду након измена у датотекама /etc/apt/sources.list или /etc/apt/preferences. Такође препоручљиво је покретати периодично да би вам листа пакета била ажурна. Ово је еквивалент команде “reload” у Synaptic, или “check for updates” у Windows или OS X-у.apt-get upgrade-- Надогради све инсталиране пакете. Ово је еквивалент команде “mark all upgrades” и “apply” у Synaptic али у једном кораку.apt-get dist-upgrade- надоградња целог система на ново издање. Исто као и претходно, осим додатка “smart upgrade” -- тј. овим говорите APT да уради све што треба да би надоградио пакете на најновије верзије, чак и када то подразумева уклањање неког другог пакета. (ово није препоручљив начин на надоградњу оперативног система на нову верзију)apt-get -f install-- исто као “Edit->Fix Broken Packages” и “Apply” у synaptic. Користите ову команду ако имате проблема са незадовољеним зависностима “unmet dependences”.apt-get autoclean- Покрените ову команду периодично да бисте очистили архиву .deb датотека од пакета који више нису инсталирани на систему. Овим можете повратити доста простора на диску. Ако вам је баш неопходан простор на диску,apt-get cleanје још радикалнији, уклониће .deb датотеке и када је пакет тренутно инсталиран. Али у највећем броју случајева вероватно вам .deb неће требати па је можда и вреди уклонити их зарад додатних мегабајта.apt-get clean-- исто као изнад, осим што уклања *све* пакете из кеша. Углавном вам они ни неће требати, па је паметно ово користити када вам понестаје простор на диску. Ако на интернет излазите уз помоћ телефонског модема онда добро размислите.- Кеш свих пакета се налази у /var/cache/apt/archives, па са "du -sh /var/cache/apt/archives" можете проверити колико кеширани пакети заузимају на диску.
dpkg-reconfigure foo-- поновно подешавање пакета ”foo“. Ово треба познавати. Са одређеним бројем пакета, бућете упитани за неке од опција подешавања иако нисте знали да постоје. На пример: dpkg-reconfigure fontconfig-config ће вам приказати ”чаробњака“ за поставке фонтова у Убунтуу. Ја га користим на свакој Убунту инсталацији, јер желим да користим bitmapped фонтове у свим апликацијама.dpkg-reconfigure, као што име говори, служи за *reconfiguring* пакета -- ако сте инсталирали пакет који је од вас тражио нека питања, и касније желите да промените неке од одговора које сте дали, ово је оно што вам треба.
echo "foo hold" | dpkg --set-selectons-- ставља пакет "foo" на чекање, тј. пакет се неће надограђивати,
чак када то значи да треба задржати надоградње пакета који зависе од њега. Еквивалентна команда у Synaptic-у је "Package->Lock Version"
- Напомињемо да ће
apt-get dist-upgradeпремостити ова ограничења, али ће вас претходно упозорити. Такође, ако ову команду желите да користите са sudo, потребно је да укуцате 'echo "foo hold" | sudo dpkg --set-selections' а не 'sudo echo "foo hold" | dpkg --set-selections'.
- Напомињемо да ће
echo"foo install" -- ће променити "hold" или "locked package" стање на претходном примеру. Иста ствар се односи и на sudo, тј. 'echo "foo install" | sudo dpkg --set-selections'
Уклањање
apt-get remove imepaketa- уклања инсталирани пакет (датотеке са поставкама остају)apt-get --purge remove imepaketa- уклања инсталирани пакет (бришу се и датотеке са поставкама)- Трик: Ако желите да уклоните пакет “foo” и да инсталирате пакет “bar” у једном кораку:
apt-get --purge remove foo bar+.
- Трик: Ако желите да уклоните пакет “foo” и да инсталирате пакет “bar” у једном кораку:
apt-get autoremove imepaketa- уклања инсталирани пакет и његове зависности
Претрага
apt-cache search foo-- тражи пакете који садрже “foo”.dpkg -l ’*foo*‘-- тражи пакете чији назив садржи “foo”. Слично као иapt-cache search foo, али додатно приказује да ли је пакет инсталиран на систему обележавајући га саii(installed - инсталиран) иun(uninstalled - није инсталиран).apt-cache show foo-- приказује опис пакета “foo" и друге релевантне информације укључујући верзију, величину, зависности и конфликте.- dpkg --print-avail -- слично претходном.
dpkg -L imepaketa- Списак датотека у пакету. Такође се користи и да бисте видели које датотеке пакета “foo” су инсталиране на вашем систему. *Веома* корисно.dpkg -c foo.deb-- Списак датотека у архиви пакета "foo.deb". Приметите да је foo.deb путања/датотека -- користићете када сте .deb ручно преузели.dlocate foo--
Открива које инсталиране пакете поседује foo. Determines Which installed package owns foo. dlocate приказује датотеке из инсталираних пакета које садрже “foo”, као и назив пакета коме припадају. Ово је на неки начин и инверзија претходне команде, и корисна је када постављае питање “Из ког пакета је дошла ова датотека?“ Потребно да је имате инсталиран пакет dlocate.
dpkg -S foo-- Као претходно, али доста спорије. Команда ради на свим Дебијан или Убунту системима, тј. не захтева да dlocate буде инсталиран.apt-file search foo-- као dlocate и dpkg -S, али претражује све доступне пакете, а не само оне који су вам инсталирани на систему -- нпр. добијате одговор на питање ”Који пакет има ову датотеку?“. Претходно инсталирајте пакет apt-file, и одржавајте његову базу ажурну (нпр. треба да радите apt-file update исто као и што користите apt-get update).apt-cache pkgnames- Брза листа свих пакета на систему- Општа напомена за претрагу: Ако претраживањем добијете предугачку листу, резултате можете филтрирати надовезивањем команде
grep. На пример:apt-cache search filename | grep -w imepaketa- приказује само датотеке чији назив садржи imepaketa као целу речdpkg -L package | grep /usr/bin- излистај датотеке које се налазе у директоријумима /bin или /usr/bin, корисно ако тражите одређене извршне датотеке
За детаљније информације o apt-get, apt-cache i dpkg проучите њихова упутства помоћу man команде. Упутства пружају шири спектар информација о сим опцијама које можете користити са сваким од програма.
Пример: man apt-get.
Најчешћи начин коришћења
Рецимо да хоћу да осетим ветар у коси, адреналин и брзину. Хајде да инсталирамо једну вожњу. Али не знамо које игре вожње су нам доступне?
apt-cache search racing game
Добили смо гомилу одговора. Уочио сам назив "torcs". Хајде да сазнамо неке информације о овој игри.
apt-cache show torcs
Хммм... звучи интересантно. Али зар игра већ није инсталирана на мом рачунару? И које су верзије доступне? Да ли припада Universe или главној ризници?
apt-cache policy torcs
Ок, добро је, хајде да је инсталирамо!
apt-get install torcs
Која је команда коју морам да укуцам да би покренуо игру? У овом случају је иста ("torcs"), али није увек тако. Први начин је да потражите назив пакета међу датотекама које су инсталиране у "/usr/bin". За игре то ће бити "/usr/games" а за административне програме у "/usr/sbin".
dpkg -L torcs|grep /usr/games
Први део команде приказује све датотеке које су инсталиране пакетом "torcs" (пробајте). Други део коменаде, тражи да се прикажу само оне линије које садрже "/usr/games/".
Хммм, игра је cool. Можда постоје додатне стазе?
apt-cache search torcs
Има их, али сам остао без простора на диску. Обрисаћу apt кеш!
apt-get clean
О не, мајка ми тражи да уклоним све игре са овог рачунара. А ја ћу их уклонити и задржати све датотеке са подешавањима да бих касније само реинсталирао игре.
apt-get remove torcs
Ако хоћу да обришем и датотеке са подешавањима:
apt-get remove --purge torcs
Додатни пакети
deborphan и debfoster су одлични за тражење "лебдећих" и непотребних пакета који се могу уклонити.
Убрзање рада са командне линије
Да бисте брже користили ове команде можете направити алиасе. За трајно коришћење потребно је да допишете у ~/.bashrc
alias acs='apt-cache search' alias agu='sudo apt-get update' alias agg='sudo apt-get upgrade' alias agd='sudo apt-get dist-upgrade' alias agi='sudo apt-get install' alias agr='sudo apt-get remove'
Али читајући о aptitude, при врху, има резона користити "alias agi='sudo aptitude install'"
Поставка http-proxy за apt-get
Има три начина да користите apt-get са http-proxy.
1. Начин
Ово је начин којим се привремено користи apt-get преко http-proxy и захтева ручно покретање сваки пут када вам затреба. Овај метод је користан само ако желите привремено да користите http-proxy.
Унесите ову наредбу у командну линије пре позивања apt-get (замените proxyadresa i proxyport са вашим параметрима).
export http_proxy=http://proxyadresa:proxyport</code>
2. Начин
Овај метод користи датотеку apt.conf која се налази у /etc/apt/. Овај метод је користан ако желите да само apt-get (не и остале апликације)стално користи http-proxy.
Напомена:- На неким инсталацијама неће бити датотеке apt-conf. Овим упутством ћете или изменити постојећу или направити нову apt-conf датотеку.
gksudo gedit /etc/apt/apt.conf
Додајте следећу линију у датотеку apt.conf (замените proxyadresa i proxyport са вашим параметрима).
Acquire::http::Proxy "http://proxyadresa:proxyport";
Сачувајте датотеку apt.conf.
3. Начин
Овом методом додајемо две линије у датотеку .bashrc из $HOME директоријума. Ову методу треба користити када желите да apt-get и остале аликације као нпр. wget, да користе http-proxy.
gedit ~/.bashrc
додајте ове две линије на крај Ваше .bashrc датотеке (замените yourproxyaddress и proxyport са Вашим подацима)
http_proxy=http://yourproxyaddress:proxyport export http_proxy
Сачувајте датотеку. Затворите прозор Теминала а затим отворите други
Тестирајте proxy са sudo apt-get update и можда још неким алаткама за мреже. Ја користим firestarter за праћење активних конекција.
Ако направите грешку па је касније поправите, не заборавите да затворите и поново отворите Терминал јер нове поставке неће бити активне док не урадите тако.
Линкови
- оригинални енглески текст [1]
- Дебијанова Apt-howto документација је достопна и као пакет
apt-howto. - For further apt-get goodness see PinningHowto.

