Линукс команди је на стотине, све запамтити немогуће је. А није ни потребно. Бива тренутака кад потпуно заглупим и никако не могу да се сетим неке команде. Буљим и буљим у терминал, ал’ јок, ништа. Дешава ли се исто и вама? Е, имам лепу вест: Apropos и BASH history омогућавају да се на једноставан начин подсетимо заборављених команди. Apropos је команда којом се претражују странице упутстaва (Man pages), тамошњи називи и описи команди, на основу кључних речи.
Рецимо да сте заборавили команду за излиставање садржаја директоријума. Како употребити aprpos? Једноставно:
$ apropos "list directory"
И добијамо листу команди везаних за упит:
Знам да је dir , што најпре можемо употребити, лако запамтити, али сам овим примером само хтео да покажем која је сврха apropos команде. Да напоменем да упит треба да буде што експлицитнији, јер има случајева да, када садржи само једну реч, нећете добити шта тражите. На пример,
$ apropos "list"
и apropos не помаже.
Опет, ако вас интересују детаљи о кернелу, довољно је:
$ apropos "kernel"
Реултат:
Чак и без наводника ћете добити исти испис. Али, ако упит садржи више речи, наводници се морају користити.
Идемо даље. Заборавили сте које команде користити за додир са физички удаљеним системом? Тада помаже:
$ apropos "remote"
Само имајте на уму да вам apropos излистава све команде које садрже реч унету у упит, да ћете морати да мало скролујете да се опсетите онога шта тражите.
Примера има колико хоћете, па да бисте видели шта све може apropos консултујте странице Упутства (Manual) и команду man:
$ man apropos
А да, заборавих. Можете употребити и “обрнуту претрагу” (reverse search) тако што ћете притиснути CTRL+R и укуцати, ако се сећате, првих неколико слова заборављеног. Из bash history ћете добити листу команди које сте раније користили, да их претражите користите стрелице горе и доле и, када нађете тражену команду, притисните TAB или десну стрелицу да бисте је изабрали, и ENTER, да би постала извршна.
Има и других лекова за нас “кречане” .”Букмарковање” (од bookmark) и “таговање” (од tag) често коришћених команди ће нас поштедети копања по Гуглети и ман-страницама. Више о тој апотеци на страницама испод:
Нове вештине треба учити читавог живота, јер вам ум постаје живахнији а и чине вас конкурентнијим на тржишту рада. Опет, неке вештине су теже за научити од других, посебно оне у коме вас мале новајлијске грешке могу коштати подоста времена када их исправљате.
Добар пример је учење Линукса. Ако сте свикли на Виндоус или МекОС радно окружење, прелазак на Линукс, са његовим командама за терминал – вама непознатим – може захтевати прилично учења. Али награда је вредна труда и уложеног времена, у шта су се уверили милиони и милиони људи пре вас.
Међутим, линуксшко путешествије није без замки. Стога смо замолили неколико заљубљеника у Линукс да се присете почетака и грешки које су правили.
“Не упуштајте се у рад у терминалу очекујући да команде функционишу на рационалан и конзистентан начин, јер ћете бити тешко исфрустрирани. Али не зато што су терминал и његове функције лоше пројектовани – мада ћете се понекад осећати као да лупате главом у зид – већ стога што су и терминали и програми настајали еволутивно, функције и команде су и мењане и додаване током више генерација” – напомиње Ђина Ликинс.
“Исто тако лако и природно као што вам је ‘копипејстовање’, требало би да вам буде да се прво обавестите, прочитате о одређеној команди, да бисте стекли бар општу представу о њеним учинцима. Нарочито ако је у оквиру ње и pipe команда и/или још која друга. Зашто? Зато што има доста команди које могу бити деструктивне све док не научите шта раде (на пример команде rm и dd). Не питајте ме откуд то знам” – Кети Меклафлин.
“На почетку линуксашења, нисам баш био свестан важности сналажења у систему датотека. Тако сам једном обрисао неки фајл у ономе за шта сам мислио да је home директоријум, у терминал сам укуцао sudo rm -rf * и тако избрисо фајлове за подизање (boot) система. Сада, пре задавања сличних команди, често користим pwd да бих био сигуран да сам тамо где хоћу да будем у фајл-систему. А што се тиче оног ‘акцидента’ имадох среће, при руци ми је био бутабилни УСБ, па сам успео да повратим фајлове из сиротог лаптопа” – Дон Воткинс
Не ресетујте дозволе (permissions) за читав систем на 777 јер вам се чини да је дозволе тешко разумети а хоћете да вам апликација има приступ нечему” – искуство је Метју Хелмкеа.
“Уклонио сам пакет (програм), а нисам проверио од којих подпрограма (dependencies) зависи. Пустио сам да буде уклоњено све, тако да због уклоњених подпрограма неки други програми нису могли да раде” – Кедар Виџај Кулкарни.
А ви? Које сте грешке ви правили на почетку своје одисеје с Линуксом? Да их други, и не само почетници, не праве, опишите их доле, у Коментарима.
Кратко речено, овај водич за почетнике има за циљ да вам покаже шта можете да урадите са apt-get командама у Линуксу, како да их користите за проналажење нових пакета и њихово инсталирање, као и за надоградњу и чишћење система.
Ако сте почели да користите Убунту или неку коју другу дистрибуцију базирану на Убунтуу као што су Линукс Минт, Елементари ОС итд, до сада сте се сигурно сусрели са apt-get командом.
У ствари, прва на листи ствари које треба урадити после инсталирања Убунту-а је да употребите apt-get update и apt-get upgrade. Али, иако сте до сада научили неколико команди и како се користе, можда не знате за друге apt-get команде и њихову употребу.
У овом упутству за почетнике ћу изложити разне apt-get наредбе с примерима, тако да их можете користити исто као и уважени напредни корисници чистог Дебијан Линукса.
Убунту је дериват Дебијан Линукса, који користи dpkg систем паковања (и инсталирања програма, прочитајте Водич за почетнике: dpkg команде за Дебијан и дебијанчурлију– прим.прев.). Систем паковања је начин да се обезбеде програми и апликације за инсталацију. На тај начин не морате да сами правите програм од изворног кода.
APT (Advanced Package Tool) је алат за командну линију за интеракцију са овим системом за паковање. Има и других алата и команди за dpkg . Али Apt је лагоднији начин руковања пакетима (тј. програмима – прим. прев.). Можете га користити за проналажење и инсталирање нових пакета, надоградњу и чишћење пакета и система, итд, итд.
Apt има два главна алата: apt-get за инсталирање, надоградњу и чишћење пакета и система, и; apt cache за проналажење пакета путем командне линије, терминала. Примери следе испод.
У раду на овом упутству користим и мислим на Линукс Минт, али оно важи и за Дебијан и друге на њему засноване дистрибуције.
Коришћење apt-get команди
Почнимо са apt-get командама. Јер не можете их избећи. Боље је научити и разумети apt-get команде тако да можете да својим Линукс системом управљате ефикасније.
Ажурирање базе података о пакетима (програмима) са apt-get командама је у ствари ажурирање пакета доступних у репозиторијуму. Без ажурирања, ваше Линуксче не може да зна има ли новијих пакета. Дакле, наредба ажурирања је прва наредба коју треба издати одмах после инсталирања било ког дистроа.
Ажурирање захтева “коренско”,root овлашћење, тако да се мора користити sudo:
sudo apt-get update
Када покренете ову команду, видећете информације које се преузимају са различитих сервера. И три различита типа линија: hit, ign и get. Да то мало објаснимо:
– hit значи да нема промена постојећих верзија пакета;
– ign значи да је одређени пакет игнорисан, било да је превише нов па га ни не треба контролисати, било да је дошло до грешке при преузимању датотеке о пакету, али грешка је незнатна и стога се занемарује. Дакле, нема разлога за бригу;
– get нас обавештава да је доступна нова верзија. Get преузима информације о пакету (пакетима), али не преузима сам пакет.
Надоградња
После ажурирања базе података, инсталиране пакете можете надоградити, ако за њих постоји и за ваш дистро је доступна новија верзија:
sudo apt-get upgrade
Да бисте надоградили само одређени програм, користите наредбу:
sudo apt-get upgrade <назив пакета>
А да бисте надоградили све, цео систем:
sudo apt-get dist-upgrade
Са горњом командом се траже подпрограми (dependencies) и програми новијих верзија, и ако их има, њихово инсталирање. Али је треба избегавати, што треба објаснити.
Разлика између upgrade и dist-upgrade
Команда apt-get upgrade је, да тако кажемо, веома питома и послушна. Никада не покушава да уклони све пакете или да самостално инсталира нови пакет.
С друге стране, наредба apt-get dist-upgrade је проактивна. Она тражи подпрограме (dependencies) за новију верзију пакета који се инсталира и покушава да самостално инсталира нови или уклони постојећи пакет.
Звучи као да је dist-upgrade моћнији и интелигентнији, зар не? Мож’ бити, али је и опаснији.
Јер има “паметан” систем за решавање конфликата. То ће рећи, покушаће да надогради најважније пакете на рачун оних мање важних. Ово може довести до уклањања неких пакета за које можда не желите да буду обрисани. Ето, то је главни разлог зашто треба избегавати dist-upgrade на продукционим машинама.
Која је разлика између apt-get update и apt-get upgrade?
Збуњени мало, а? Нема везе, нисте једини Убунташ/Минтовац/Елементарац… којег збуњују update (ажурирање) и upgrade (надоградња).
Озбиљни Дебијанисти знају: apt-get update само ажурира базу података пакета, да систем “зна” да је доступна нова верзија тог и тог или тих и тих пакета, док их после apt-get upgrade, ако их има (и после питања ‘оћете ли или нећете – прим. прев.), и инсталира.
Стога је најбржи и најмудрији начин да свој Убунту/Минт/Елементари и сл. уједно ажурирате и надоградите следећа команда:
sudo apt-get update && sudo apt-get upgrade -y
Коришћење apt-cache команде за тражење одређеног програма
Мада ово није мој превасходни метод, apt-cache је прилично корисна ствар када тражите одређени подпрограм или програм.
Све што треба да урадите је да у терминал укуцате следећу команду, за коју вам не треба sudo:
apt-cache search <шта већ тражите>
Чак не морате знати ни тачан назив пакета. Apt ће са овом командом претражити и излистати пакете на основу и назива и кратког описа датог у бази података.
Али ако желите да вам се излистају тачни називи свих пакета који одговарају термину што сте га унели, ту је:
apt-cache pkgnames <на пример “notes” (без наводника)>
Када сазнате назив пакета, више информација о њему, као што су верзија, зависности итд, можете добити помоћу наредбе: apt-cache showpkg <назив пакета (малим словима)>
Инсталирање нових пакета
Ако знате тачан назив пакета, ништа лакше (ако постоји у репозиторијуму, за .deb и tar пакете “са стране” је други поступак – прим. прев.):
sudo apt-get install <назив пакета>
Рецимо да хоћу да инсталирам уређивач слика Пинту. Све што треба да унесем је: sudo apt-get install pinta
Добра ствар код ове наредбе је то што има аутоматско довршавање. Дакле, ако нисте сигурни који је тачан назив пакета, откуцајте неколико слова и притисните тастер tab и биће вам предочени сви доступни пакети чији назив почиње тим словима. На пример:
Како инсталирати више пакета одједном
Apt вас не ограничава на инсталирање само једног пакета “у цугу”. Више их истовремено можете инсталирати наредбом: sudo apt-get install <пакет1> <пакет2> <пакет3> (Само размаци, нема зареза – прим. прев.)
Шта бива ако хоћете да инсталирате већ инсталирани пакет?
Ако унесете наредбу apt-get install <назив већ инсталираног пакета>, десиће се само то да ће, ако је има, бити инсталирана најновија верзија.
Али, ако из неког разлога не желите “апгрејдовање”, онда: sudo apt-get install <назив пакета> –no-upgrade
Како инсталирати одређену верзију програма
По “дифолту”, биће инсталирана најновија верзија која постоји у “ризници”. Али, ако нећете најновију, само унесите тачан назив програма и бројчану ознаку верзије: sudo apt-get install <назив пакета>=<бројчана ознака>
Како уклонити инсталиране пакете
Са:
sudo apt-get remove <назив пакета>
Што можете учинити и на хигијенскији начин, уз чишћење (purge): sudo apt-get purge<назив пакета>
Која је разлика између apt-get remove и apt-get purge?
Та што apt-get remove уклања само бинарне датотеке пакета. Не дира конфигурационе датотеке.
А apt-get purge уклања све што се односи на пакет укључујући конфигурацијске датотеке.
Дакле, ако сте урадили remove неког програма и потом га поново инсталирали, ваш систем ће имати исте конфигурацијске датотеке за њега. Наравно, бићете питани да ли желите да поништите постојеће конфигурацијске датотеке.
Чишћење (purge) је посебно корисно када сте се забрљали са конфигурацијом програма. Онда желите да потпуно избришете све његове трагове у систему и, можда, да га поново инсталирате и исподешавате..
Опет, једноставно уклањање (remove) је више него довољно за деинсталирање пакета.
Како очистити систем
О да! Са apt-get такође можете очистити систем и ослободити простор на диску.
Команда за чишћење локалног спремишта преузетих датотека пакета је:
sudo apt-get clean
Може и са:
sudo apt-get autoclean
С тим да треба знати да autoclean, за разлику од clean, уклања само преузете датотеке пакета које имају новију верзију а старе више неће бити коришћене.
Још један начин да се ослободи простор на диску је употреба команде:
sudo apt-get autoremove
Што је такође начин чишћења Линукса уз употребу командне линије, терминала. Но, ако сте, као Убунташ, Минтовац и слични, склонији графичком корисничком интерфејсу (GUI), има лекова и за то.
И, шта кажете?
О Apt-у и apt-get командама можемо летњи дан до подне, али мислим да вам је и ово за почетак довољно. Уосталом, ту су man pages за додатне информације.
И допада вам ли се ово упутство? Је л’ корисно и разумљиво? Ваши одговори би допринели да их буде још, детаљнијих и можда бољих.