Emerge kasutamine
Sisukord
Lühikokkuvõte
emerge on Gentoo Linuxi Portage käsurea klient. Peamiselt on ta kasutusel süsteemi rakenduste paigaldamiseks ja eemaldamiseks. Paigaldamisel kontrollitakse kõiki sõltuvusi ja paigaldatakse ka muud paketid, mis vajalikud paigaldatava rakenduse toimimiseks.
Emerge on kirjutatud Pythonis ja ta loeb /usr/portage kataloogis olevaid .ebuild faile. Selles kataloogis olevaid faile nimetatakse ka Portage puuks. .ebuild sisaldab endas infot, kuidas lähtekoodist rakendus kompileerida, milliseid teisi rakendusi selleks on vaja, mis versiooniga on tegu. Ühtlasi kontrollitakse /etc/make.conf faili sisestatud USE lippe.
Emerge põhikäsud
Üks kõige tähtsamaid emerge käskusid on
emerge sync
Sellega Te uuendate oma Portage puu .ebuild failide nimekirja kõige uuemaks saadaolevaks nimekirjaks. See käsk on soovituslik alati käivitada enne suuremat uuendust või kui Te pole pikka aega ühtegi programmi paigaldanud ja Portage puud uuendanud. Kui Teil ei tööta tulemüüri tõttu sync, siis võite proovida ka emerge -webrsync käsku kasutada.
Rakenduste paigaldamine emerge abil
Kõige rohkem kasutatakse emerge-t erinevate rakenduste paigaldamiseks süsteemi. Peamiselt käib see järgmise käsuga:
emerge rakendusenimi
Sellega paigaldatakse Teile süsteemi soovitud rakendus koos kõige temast sõltuvate programmide ja pakettidega, mis pole veel paigaldatud. Antud käsk paigaldab üldjuhul koheselt ilma edasisi küsimusi esitamatakõik paketid. Juhul, kui soovite enne näha, mis paigaldatakse, siis võite kasutada -a või --ask võimalust.
Näiteks soovime süsteemi paigaldada Kopete:
emerge -a kopete
andis meile nüüd väljundiks:
# emerge -a kopete These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] kde-base/kopete-3.4.1-r1 Do you want me to merge these packages? [Yes/No]
Ja nüüd saame valida, kas paigaldame selle y või ei paigalda n Valides Yes paigaldatakse nüüd kõik ette näidatud rakendused.
Juhul, kui soovite saada rohkem infot, mis paigaldatakse ja mis USE lippe paigaldatavad rakendused nõuavad, siis saate kasutada selleks lisavõimalust -v või --verbose. Samuti kuvab see erinevaid emerge kasutamisel tekkivaid vigu. Emerge kasutamisel on võimalik kasutada korraga erinevaid võimalusi.
Näiteks soovime süsteemi paigaldada Kopete ja näha ühtlasi, mis USE lippe uus rakendus(rakendused) nõuavad:
emerge -av kopete
andis väljundiks:
# emerge -av kopete These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] kde-base/kopete-3.4.1-r1 +arts -debug -kdeenablefinal -kdexdeltas +ssl -xinerama 0 kB Total size of downloads: 0 kB Do you want me to merge these packages? [Yes/No]
Ja taas saame valida jah y või ei n.
Kui aga soovime samal ajal uuendada ka kõik rakenduse paigaldamisega seotud paketid, mis juba on süsteemi paigaldatud, siis on soovitus kasutada -u või --update võimalust.
Näiteks soovime endale paigaldada Bittorrenti, ühtlasi soovime näha, mis sõltuvused tal on, mis USE lipud ja lasta tal ka vajaminevad paketid uuendada.
emerge -avu bittorrent
väljundiks saame:
# emerge -avu bittorrent These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] dev-python/dnspython-1.3.3 84 kB [ebuild N ] net-p2p/bittorrent-4.0.2 +X 151 kB Total size of downloads: 236 kB Do you want me to merge these packages? [Yes/No]
Valikuvõimalus jälle sama. Siin on näha, et rakendus bittorrent on süsteemis uus. Seda näitab N ebuild-i taga ja rakendus dnspython on süstemis olemas, kuid vajab uuendamist. (tegelikult kuvatakse selle taga ka paigaldatud versiooni numbrit, kuid kuna minu süsteem on pidevalt uuendatud, siis mul ei õnnestunud kuvada seda võimalust, et mingi pakett ka uuendamist vajaks :( )
Rakenduste eemaldamine süsteemist
Kui Te ei soovi enam oma süsteemis mingit rakendust omada, siis saate selle ka lihtsalt emerge abil eemaldada. Kirjutage vaid terminali käsk:
emerge -C rakendus
või siis
emerge unmerge rakendus
Nüüd on Teil aega 5 sekundit veel ümber mõtlemiseks. Kui soovite eemaldamise lõpetada, siis vajutage korraga Ctrl ja c. Kuid te saate taas kasutada eelnevalt tuntud -a võimalusi. Seega kõige turvalisem rakenduste eemaldamise võimaluseks oleks käsk:
emerge -aC rakendus
Sellega saate rohkem aega kontrollida, kas eemaldate ikka õige asja.
Rakenduste otsimine
Rakenduste otsimine Portages on samuti võimalik teha emerge käskudega. Kui soovite otsida ainult rakenduste pealkirjadest, siis kasutage käsku:
emerge -s otsingusõna
Oluline on teada, et pole vaja kirjutada täpset otsingu sõna. Võite kirjutada ka osa sõnast. Näiteks kirjutades msn otsitakse välja kõik rakendused, mille nimes sisaldub msn. Kui soovite aga otsida rakenduste kirjelduste seast, siis kasutage käsku:
emerge -S otsingusõna
Kuna kontrollitakse kõigi Portage puus olevate paketide kirjelduste seast, siis võib see võtta üsna kaua aega.
Süsteemi uuendamine
Kui soovite uuendada oma süsteemi, siis pole Gentoos tarvis muud, kui kirjutada:
emerge -uD world
See uuendab kõik rakendused, mis Portage abil paigaldatud ja käsku
emerge -u system
uuendab ainult Gentoo baassüsteemi. Juhul, kui soovite ainult vaadata, mis uuendatakse, siis kasutage -p võimalusi. Sellega näidatakse Teile ainult näidatakse pakette, mis vajavad uuendamist kuid neid ei paigaldata.
emerge -p world
või
emerge -p system
Emerge teised võimalused
Masked rakendused
Mõnede rakenduste paigaldamisel võite saada hoopis errori, et vajaminev pakett on masked. Mida see siis tähendab. Tegu on Gentoo arendajate poolt “peidetud” rakendustega, mille paigaldamine võib mitte õnnestuda või nad võivad süsteemi ebastabiilseks muuta. Lisaks võivad “peidetud” rakenduste alla satuda sellised rakendused, mis pole veel piisavalt testitud. Seega nende kasutamine on alati seotud kasutaja enda riskiga, kuigi ainult masked ei tähenda kohe, et tegu on ebastabiilse või vigase rakendusega.
Rakendused võivad olla masked lihtsalt vastava arhidektuuri tähisega:
# emerge gdesklets-core '''Calculating dependencies''' !!! all ebuilds that could satisfy "gnome-extra/gdesklets-core" have been masked. !!! possible candidates are: - gnome-extra/gdesklets-core-0.26 (masked by: ~keyword) - gnome-extra/gdesklets-core-0.26.1 (masked by: ~keyword) !!! Error calculating dependencies. Please correct.
Antud juhtumil on siis soovitud rakendus gdesklets-core peidetud (masked) ~ kasutades. Selle rakenduse paigaldamiseks on soovitatav lisada selle kirje faili /etc/poratge/packages.keywords:
echo gnome-extra/gdesklets-core >> /etc/poratge/packages.keywords
Tähelepanu tuleks pöörata just faili lõppu suunamisele (>>), ühekordne > kustutab vana faili ja võib üsna palju segadust tekitada. Kui faili packages.keywords lisatakse paki kirje ilma versiooni täpsustamata, on ~keyword maskist vabad ka kõik järgnevad versioonid. Kui soovitakse vaid konkreetset versiooni maski alt vabastada, siis:
echo =gnome-extra/gdesklets-core-0.26.1 >> /etc/poratge/packages.keywords
Kui on aga soov korjata mask vaid sama seeria pakkidelt (0.26.2, 0.26.5-r2 jne), on abiks:
echo '<=gnome-extra/gdesklets-core-0.27' >> /etc/portage/packages.keywords
Jutumärgid on siin vajalikud, nende puudumisel loetakse märk < voo suunamiseks. Edasi toimib kõik vanaviisi:
# emerge gdesklets-core
Mitmel pool kirjeldatakse maskeeritud pakkide paigaldamiseks ka veel järgnevat viisi:
ACCEPT_KEYWORDS="~x86" emerge gdesklets-core
(~ järgi tuleb arvuti arhidektuur - x86, ppc, sparc, sparc64 või alpha) Sellest tuleks siiski hoiduda! Muutuja ACCEPT_KEYWORDS seadmine ei mõju mitte ainult konkreetsele rakendusele, vaid ka kõigele muule, mis paigaldatakse selle sõltuvustena. Lisaks võivad järgmisel süsteemi uuendamisel paljud sel viisil paigaldatud rakendused ja nende sõltuvused versioonis tagasi liikuda - paigaldatakse viimane stabiilne (ilma maskita) versioon.
Lisaks ~keyword maskile on kasutusel ka hardmask, nii märgitud versioonid on tihti alles testimisjärgus, aktiivses arenduses või lihtsalt ei tööta teatud tingimustes. Selliste versioonide paigaldamisel annab portage teate:
(masked by: package.mask)
ning sageli järgneb sellele ka lühike selgitus. Kui on siiski kindel soov tarkvarast hardmasked versiooni proovida, tuleb vastav kirje lisada package.unmask faili:
echo media-gfx/gimp >> /etc/poratge/packages.unmask
Nagu packges.keywords failis, saab ka siin määrata konkreetset versiooni, millelt/milleni/millest alates soovitakse maski ära korjata. packges.keywords ja packges.umask muutmiseks sobib suurepäraselt ka nano või mõni muu readaktor:
nano /usr/portage/package.keywords nano /usr/portage/package.unmask
Lisades analoogseid kirjeid faili /usr/portage/package.mask, saab keelata teatud versioonidele uuendamist. Vajalik näiteks siis, kui uus versioon mingil põhjusel muidu toimiva süsteemi katki teeb.
Soovituslik on enne failide muutmist neist ka koopia teha, näiteks:
cd /usr/portage/ BD=$(date +%Y-%m-%d-%H_%M); mkdir ${BD}; cp packages.* ${BD}
kopeerib kõik packages.* failid tänase kuupäevaga kataloogi. Et vähem trükkimst oleks, võib sellest endale aliase teha:
alias backup_pfiles=" cd /etc/portage/ BD=$(date +%Y-%m-%d-%H_%M) mkdir ${BD} cp packages.* ${BD} cd - "
ja näiteks kodukataloogis olevasse .bashrc faili lisada.
Paigaldatud rakenduste haldamine
Gentoo Portage ja emerge võimaldavad ka hallata ja vaadata infot paigaldatud rakenduste kohta. Kirjutades lihtsalt
emerge search rakendus
kuvab lisaks otsingu tulemustele ka rakendused, mis on paigaldatud. Näiteks otsime amsn-i kohta infot.
emerge search amsn
andis tulemuseks:
# emerge search amsn Searching... [ Results for search key : amsn ] [ Applications found : 2 ] * net-im/amsn Latest version available: 0.94 Latest version installed: 0.94 Size of downloaded files: 2,240 kB Homepage: http://amsn.sourceforge.net Description: Alvaro's Messenger client for MSN License: GPL-2 * x11-themes/amsn-skins [ Masked ] Latest version available: 20040223 Latest version installed: [ Not Installed ] Size of downloaded files: 900 kB Homepage: http://amsn.sourceforge.net/ Description: Collection of AMSN themes License: freedist #
Nagu näete on süsteemi paigaldatud aMSN versioon 0.94 Latest version installed: 0.94. Mis on ühtlasi ka kõige uuem versioon aMSN-ist. Kuid kasutades spetsiaalset gentoolkit-i on võimalik saada veel rohkem informatsiooni. Tavaliselt seda süsteemi veel paigaldatud veel pole, seega:
emerge -avu gentoolkit
Selle abiga on meil võimalik saada tunduvalt rohkem infformatsiooni paigaldatud rakenduste kohta. Emerge seda kahjuks kõike ei võimalda. Gentoolkit sisaldab endas näiteks qpkg, etcat-i jne. Et näha näiteks kõiki paigaldatud pakette kirjutage:
qpkg -I
Kui soovite näha, mis muudatused on ellu viidud viimases ja sellele eelnevas rakenduse versioonisdes, siis kirjutage:
etcat -c rakendus
Kui soovite leida infot, kas süsteemis on mõne rakenduse mitu versiooni paigaldatud, siis selles aitab Teid käsk:
qpkg --dups -v
Rohkem infot saate man qpkg või man etcat kasutades.
Välislingid
Autor:Spott