Emerge kasutamine

Allikas: Pingviini viki

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

LinuxReviews

Gentoo Wiki


Autor:Spott