administracija gentoo linux - connecting repositories · 2017. 11. 28. · administracija gentoo...
TRANSCRIPT
UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
Žiga Švent
ADMINISTRACIJA GENTOO LINUX
Diplomsko delo
Maribor, avgust 2015
i
ADMINISTRACIJA GENTOO LINUX
Diplomsko delo
Študent: Žiga Švent
Študijski program: visoko-šolski študijski program
informatika in tehnologije komuniciranja
Smer: tehnologije multimedijskega komuniciranja
Mentor: viš.pred. dr. Bojan Novak, univ. dipl. inž. el.
Lektorica: Nataša Šafarič, prof.
ii
iii
ADMINISTRACIJA GENTOO LINUX
Ključne besede: Linux, Gentoo, Portage
UDK: 004.451(043.2)
Povzetek
V diplomskem delu je predstavljena praktična namestitev operacijskega sistema Gentoo
Linux, nameščenega v virtualnem okolju. Opisane so pomembnejše komponente ter
preučena in opisana je celotna namestitev operacijskega sistema skupaj z namiznim
okoljem. Predstavljene so optimizacije glede na karakteristike naprave, za optimalno
delovanje. Predstavljena in opisana je uporaba programa Portage, ki omogoča dostop do
repozitorijev programske opreme.
iv
GENTOO LINUX ADMINISTRATION
Key words: Linux, Gentoo, Portage
UDK: 004.451(043.2)
Abstract
The thesis is presenting the practical installation of the operation system Gentoo Linux
installed in the virtual enviroment. Firstly the more inportant components are described
and the whole installation of the operating system including the desktop enviroment is
shown. Then the optimization based on the characteristics of the device is presented for
optimal usage. Finally the use of theprogram Portage is shown which is allowing the
access to the software repository.
v
KAZALO
1 UVOD ............................................................................................................................ 1
2 GENTOO LINUX .......................................................................................................... 2
2.1 Distribucija .............................................................................................................. 2
2.2 Arhitektura .............................................................................................................. 2
2.3 Jedro (Kernel) ......................................................................................................... 3
2.4 Prevajalnik (GCC Compiler) .................................................................................. 5
2.5 Ukazna lupina (Shell) ............................................................................................. 8
3 NAMESTITEV OPERACIJSKEGA SISTEMA ........................................................... 9
3.1 Konfiguracija internetne povezave ......................................................................... 9
3.2 Priprava diskov ..................................................................................................... 10
3.3 Prenos namestitvenega paketa in namestitev ........................................................ 12
3.4 Namestitev osnovnega sistema ............................................................................. 15
3.5 Konfiguriranje in namestitev jedra ....................................................................... 20
3.6 Konfiguracija informacij sistema .......................................................................... 26
3.7 Namestitev zagonskega nalagalnika GRUB2 ....................................................... 28
4 NAMESTITEV NAMIZNEGA OKOLJA .................................................................. 30
4.1 Namestitev Xorg strežnika .................................................................................... 31
4.2 Namestitev namiznega okolja Xfce4 .................................................................... 33
5 PORTAGE (REPOZITORIJ) ....................................................................................... 35
5.1 Uporaba zastavic ("USE flags") ............................................................................ 36
6 SKLEP .......................................................................................................................... 39
7 VIRI IN LITERATURA .............................................................................................. 40
vi
KAZALO SLIK
Slika 2.1 Shema operacijskega sistema Linux [6] ................................................................. 3
Slika 2.2 Nastavitvena datoteka programa Portage ............................................................... 5
Slika 2.3 Primer ukazne lupine .............................................................................................. 8
Slika 3.1: Shema ustvarjenih particij ................................................................................... 11
Slika 3.2: Seznam profilov sistema ..................................................................................... 17
Slika 3.3: Definiranje "USE" spremenljivk ......................................................................... 18
Slika 3.4: Konfiguracija jedra sistema ................................................................................. 21
Slika 3.5: Konfiguracija jedra (kategorija "General setup") ................................................ 22
Slika 3.6: Konfiguracija jedra (kategorija "Processor type and features") .......................... 23
Slika 3.7: Konfiguracija jedra (podpora datotečnim sistemom) .......................................... 24
Slika 3.8: Sistemska datoteka "fstab" .................................................................................. 26
Slika 3.9 Zagon sistema ...................................................................................................... 29
Slika 4.1: Namizno okolje Xfce4 ........................................................................................ 34
Slika 5.1 Primer uporabe zastavic ....................................................................................... 37
Slika 5.2 Primer lokalne zastavice in nastavitev želene različice paketa ............................ 38
vii
KAZALO UKAZOV
Ukaz 3.1 Konfiguriranje internetne povezave ....................................................................... 9
Ukaz 3.2: Priprava diska z orodjem "fdisk" ........................................................................ 10
Ukaz 3.3: Ustvarjanje datotečnih sistemov na particije ...................................................... 11
Ukaz 3.4: Naredimo particije dostopne ............................................................................... 12
Ukaz 3.5: Preverjanje in nastavljanje datuma in ure ........................................................... 12
Ukaz 3.6: Prenos in razširitev namestitvenega paketa ........................................................ 13
Ukaz 3.7: Prenos in razširitev programa Portage ................................................................ 13
Ukaz 3.8: Nastavitvena datoteka programa Portage ............................................................ 14
Ukaz 3.9: Nastavitev virov za programskih paketov ........................................................... 14
Ukaz 3.10: Kopiranje informacij internetne povezave ........................................................ 15
Ukaz 3.11: Dostop do datotečnih sistemov ......................................................................... 15
Ukaz 3.12: Vstop v novo okolje sistema ............................................................................. 16
Ukaz 3.13: Posodobitev drevesa programa Portage ............................................................ 16
Ukaz 3.14: Izbira profila sistema ......................................................................................... 17
Ukaz 3.15: Nastavitev jezika ............................................................................................... 19
Ukaz 3.16: Izbira ustreznega jezika ..................................................................................... 19
Ukaz 3.17: Nastavitev časovnega pasu................................................................................ 19
Ukaz 3.18: Prenos jedra sistema .......................................................................................... 20
Ukaz 3.19: Orodje za pregled strojne opreme naprave ....................................................... 20
Ukaz 3.20: Konfiguracija jedra sistema .............................................................................. 21
Ukaz 3.21: Prevajanje jedra in namestitev modulov ........................................................... 25
Ukaz 3.22: Konfiguriranje sistemske datoteke .................................................................... 26
Ukaz 3.23: Poimenovanje sistema in nastavitev omrežja ................................................... 27
Ukaz 3.24: Dodajanje omrežja v zagon s sistemom ............................................................ 27
Ukaz 3.25: Prenos in namestitev zagonskega nalagalnika GRUB2 .................................... 28
Ukaz 3.26 Konfiguriranje zagonskega nalagalnika GRUB2 ............................................... 28
Ukaz 4.1 Konfiguriranje nastavitvene datoteke programa Portage ..................................... 31
Ukaz 4.2 Prenos "Xorg" strežnika in posodobitev spremenljivk sistemskega okolja ......... 32
Ukaz 4.3 Definiranje privzete seje ...................................................................................... 32
Ukaz 4.4 Prenos in namestitev namiznega okolja ............................................................... 33
viii
Ukaz 4.5 Namestitev grafičnega terminala in nastavitev okolja ......................................... 34
KAZALO TABEL
Tabela 3.1 Nastavljeni parametri prevajalnika .................................................................... 14
Tabela 5.1: Funkcionalnosti orodja "emerge" .................................................................... 36
Tabela 5.2 Uporabljene zastavice ("USE flags") [14] ......................................................... 38
Administracija Gentoo Linux
1
1 UVOD
Linux je prosti oziroma odprtokodni operacijski sistem, podoben operacijskemu sistemu
Unix ("Uniplexed Information and Computing Service"). V začetku sedemdesetih let
prejšnjega stoletja so v laboratoriju raziskovalnega instituta MIT ("Massachusetts Institute
of Technology") razvili operacijski sistem Unix. Sistem je do konca sedemdesetih let
postal eden od vodilnih operacijskih sistemov in prešel iz odprto kodnega sistema v
licenčno zaščiten sistem, kar je preprečevalo kopiranje, predvsem pa modificiranje s strani
uporabnika [1]. S tem se ni strinjal takratni razvijalec sistema Unix Richard Stallman, ki je
bil mnenja, da je preprečevanje dostopa do izvorne kode kršenje svobode uporabnika.
Verjel je, da je deljenje, preučevanje in spreminjanje programske opreme uporabnikova
pravica. Tako je leta 1983 začel projekt GNU, s katerim je med drugimi razvil prevajalnik
za programski jezik C ("GCC"), urejevalnik besedila, imenovan EMACS, ter
razhroščevalnik ("gdb"). Edina slabost projekta je bilo slabo oziroma skoraj neuporabno
jedro sistema [2]. Leta 1991 je finski študent Linus Torvalds ljubiteljsko, začel z izdelavo
brezplačnega operacijskega sistema. S pomočjo operacijskega sistema MINIX, ki ga je
razvil profesor Andrew S. Tanenbaum, je Torvalds spisal lastno jedro in ga poimenoval
Linux. Jedro je samo po sebi za uporabnika neuporabno, saj nima nobene zanj uporabne
funkcionalnosti. Šele z uporabo komponent GNU projekta skupaj z Torvaldsovim jedrom
so izdelali popolnoma funkcionalen, uporaben in brezplačen operacijski sistem, kot ga
poznamo danes pod imenom Linux ali GNU/Linux [3].
Diplomsko delo sestoji iz petih poglavij. V drugem poglavju smo opisali nekaj osnovnih
komponent Gentoo Linux distribucije. Splošno smo opisali distribucijo in arhitekture, na
katerih deluje. Predstavili smo jedro sistema in kako deluje prevajalnik programske kode.
Na kratko smo opisali tudi, kaj je ukazna lupina. V tretjem poglavju smo podrobno opisali
celotno namestitev sistema v virtualnem okolju. V četrtem poglavju smo opisali namestitev
grafičnega namiznega okolja. V zadnjem petem poglavju pa smo opisali, kaj je in kako
deluje program Portage. Cilj diplomskega dela je uspešno namestiti sistem, namizno okolje
sistema in se spoznati s programom Portage, ki omogoča vzdrževanje sistema.
Administracija Gentoo Linux
2
2 GENTOO LINUX
2.1 Distribucija
Gentoo Linux je ena izmed mnogih distribucij operacijskega sistema Linux, ki je bila prvič
objavljena leta 2002, začetek pa sega že v leto 1999. Od večine ostalih distribucij se
razlikuje v tem, da je zelo prilagodljiva arhitekturi računalnika, saj je pred nameščanjem
sistema in programskih paketov izvorno kodo potrebni prevesti v računalniku razumljivo
strojno kodo [4]. To uporabniku omogoča konfiguriranje oziroma prilagoditev sistema ali
komponente sistema, arhitekturi računalnika pred dejansko namestitvijo. Tako ima
uporabnik skoraj popoln nadzor nad konfiguracijo sistema in njegovih komponent. Sistem
lahko prilagodi karakteristikam strojne opreme ali lastnim potrebam. Prevajanje izvorne
kode poteka lokalno, na računalniku, na katerega želimo namestiti sistem ali komponento
sistema, kar je slaba stran takšnega načina distribuiranja sistema ali programske opreme,
saj je lahko prevajanje dolgotrajno opravilo.
2.2 Arhitektura
Izraz arhitektura v Gentoo Linux sistemu se nanaša na definicijo procesorja v napravi na
kateri želimo uporabljati sistem. Gre za tako imenovano družino procesorjev, katerim so
skupna enaka navodila. Gentoo Linux je bil prvotno razvit za x86 (32-bitno procesorsko
arhitekturo), vendar deluje tudi na ostalih arhitekturah [5]:
Alpha – 64-bitna arhitektura,
AMD64 - danes najbolj uporabljana arhitektura, ki je združljiva z 32-bitno,
ARM – 32-bitna arhitektura popularna za manjše sisteme,
ARM64 – 64-bitna arhitektura.
HPPA, IA64, MIPS
PPC in PPC64
SPARC.
Administracija Gentoo Linux
3
2.3 Jedro (Kernel)
Jedro operacijskega sistema je ogrodje oziroma osnova, v katerem tečejo ostali programi.
Programi, ki tečejo v jedru, se z njim sporazumevajo preko sistemskih klicev. Jedro skrbi
tudi za komunikacijo med strojno opremo in programsko opremo. Linux sistemi
uporabljajo monolitna jedra. Monolitna jedra se v celoti naložijo v pomnilnik in vsi servisi
tečejo v eni sami niti in imajo močno podporo strojni opremi, zato so tudi zelo obsežna.
Večina jeder Linux sistemov je napisana v programskem jeziku C [6].
Slika 2.1 Shema operacijskega sistema Linux [6]
Kot lahko vidimo na sliki 2.1, je pomnilniški prostor razdeljen na dva dela, uporabniški
prostor "User Space" in prostor jedra "Kernel Space". Razdelitev je primarno izvedena
zaradi varnosti pomnilnika, kar preprečuje izgubo podatkov in napake v delovanju.
V prostoru jedra, ki ima dostop do vseh naslovov pomnilnika, tečejo gonilniki naprav in
podsistemi jedra [5]:
razvrščanje procesov,
upravljanje s pomnilnikom,
navidezni datotečni sistem,
IPC podsistem,
omrežni sistem.
Administracija Gentoo Linux
4
ter ostale komponente [5]:
ALSA - vmesnik za gonilnike zvočne kartice,
edev - vmesnik za vhodno/izhodne naprave,
DVI - okvir za grafično okolje,
varnostni moduli.
V uporabniškem prostoru, ki ima omejen dostop do pomnilnika in ostalih komponent
naprave, pa v večini tečejo uporabnikove aplikacije in nizko-nivojske sistemske
komponente oziroma knjižice [5]:
windowing system - sistemi za grafično okolje,
system deamons - strežniški procesi,
sistem za grafiko.
Jedro se v Gentoo Linux distribuira v obliki izvorne kode in ga je potrebno pred
namestitvijo prevesti v strojno kodo. Jedro je pred prevajanjem potrebno konfigurirati
oziroma prilagoditi strojni opremi naprave, na katero želimo namestiti sistem. Za uspešno
in optimalno konfiguriranje jedra je potrebno dobro poznavanje strojne opreme naprave, na
katero nameščamo sistem. Napačno konfigurirano jedro se bo sicer v večini primerov
prevedlo, vendar bo v fazi nalaganja sistema prišlo do napake. Gentoo Linux sicer ponuja
samodejno konfiguriranje jedra, vendar pa s takim načinom izgubimo na optimalni
konfiguraciji sistema. Z ročnim konfiguriranjem jedra pridobimo:
fleksibilnost sistema,
krajši prevajalni čas jedra,
popoln nadzor nad sistemom in komponentami sistema,
manjšo velikost prevedenega jedra,
dobro poznavanje jedra sistema.
Administracija Gentoo Linux
5
2.4 Prevajalnik (GCC Compiler)
Ena od zelo pomembnih komponent predvsem v Gentoo Linux distribuciji je prevajalnik
imenovan, GCC ("GNU Compiler Collection"). GCC je množica programskih
prevajalnikov, ki je bila izdelana v sklopu GNU projekta, in je standardni prevajalnik za
Linux oziroma GNU/Linux sisteme. Omogoča nam visoko zmogljivo prevajanje izvorne
kode iz različnih programskih jezikov v strojno kodo. Čeprav je GCC izvorno podpiral
samo prevajanje programskega jezika C, pa sedaj podpira že več programskih jezikov kot
so [7]:
C++ in Objective-C
Fortran in Java,
Ada.
Za distribucijo, prevajanje in namestitev skrbi program imenovan Portage. Portage za
prevajanje izvorne kode uporablja GCC. Omogoča nam globalno optimizacijo prevedene
kode in optimizacijo glede na procesorsko arhitekturo preko nastavitvene datoteke, kot
lahko vidimo na sliki 2.2.
Slika 2.2 Nastavitvena datoteka programa Portage
Administracija Gentoo Linux
6
V nastavitveni datoteki lahko z uporabo "CFLAGS" in "CXXFLAGS" nastavimo
parametre za optimizacijo. Gre za parametra, ki prevajalniku povesta, katera stikala
uporabiti pri prevajanju. "CFLAGS" parameter uporabljamo za izvorno kodo napisano v
programskem jeziku C, "CXXFLAGS" pa za izvorno kodo napisano v programskem jeziku
C++. Z optimizacijo lahko dosežemo hitrejše izvajanje prevedene kode kot tudi manjši
obseg. V teh parametrih lahko določimo zastavice "flags" za optimizacijo. Določimo lahko
stopnjo optimizacije z zastavico "–O". GCC omogoča kar nekaj stopenj kot so [8]:
-O1,
-O2,
-O3,
-Os,
-Og,
-Ofast
Zastavica "-O1" je osnovna stopnja optimizacije. Prevajalnik bo poizkusil izdelati hitro in
manj obsežno strojno kodo v dokaj normalnem prevajalnem času. Na tej stopnji bi se
moralo brez težav prevesti vse [8].
Zastavica "-O2" je priporočena stopnja optimizacije. V tej stopnji se bodo aktivirali
nekateri dodatni parametri optimizacije. Prevajalnik bo poizkusil izdelati hitrejšo kodo,
približno enake velikosti kot v prejšnji stopnji. S to stopnjo se prevaja jedro sistema ne
glede na nastavitve [8].
Zastavica "-O3" je najvišja stopnja optimizacije. Možno je nastaviti zastavico višje stopnje,
vendar prevajalnik vse zastavice višje stopnje smatra kot "-03". Omogoča optimizacijo, ki
zahteva veliko časa za prevajanje in povečano uporabo pomnilnika. S to stopnjo ni
priporočljivo prevajati, saj lahko povzroči veliko težav, predvsem pa pokvari določene
programske pakete [8].
Administracija Gentoo Linux
7
Zastavica "-Os" optimizira velikost prevedene kode. Aktivira vse možnosti stopnje "-O2",
ki ne povečajo velikosti prevedene kode. Uporabna je predvsem v napravah z malo
diskovnega prostora in slabšimi procesorji [8].
Zastavica "-Og" je predstavljena z različico GCC 4.8. Naslavlja predvsem hitrost
prevajanja in odlično razhroščevanje v razmeroma normalnem prevajalnem času. Primerna
je predvsem za razvijalce [8].
Zastavica "-Ofast" zajame vse možnosti optimizacije stopnje »-O3« in nekaj dodatnih
možnosti. Ni priporočena za uporabo, saj krši standarde prevajanja [8].
Zastavica "-pipe" ni optimizacijska stopnja, saj ne vpliva na prevedeno kodo, vendar pa
izboljša hitrost prevajanja. Namesto uporabe začasnih datotek prevajalnik uporabi pipe.
Uporabi lahko veliko pomnilnika, zato ni primerna za uporabo v napravah z manj
pomnilniškega prostora [8].
Zastavica "-march" ali "mtune" pove prevajalniku o procesorski arhitekturi naprave, na
kateri prevajamo. Tako lahko prevajalnik naredi optimizacijo za točno določeno
procesorsko arhitekturo. GCC podpira veliko procesorskih arhitektur. Primera nastavljene
zastavice za Intelov Core2 procesor in zastavice "native" [8]:
"-march=core2"
"-march=native"
V primeru kadar procesorska arhitektura ni podprta ali pa ne vemo, kakšna je, lahko
uporabimo "native" namesto tipa procesorja. GCC bo poskusil zaznati tip procesorja in
samodejno nastaviti potrebne parametre. V primeru uporabe "-march=native" bo prevedena
koda delovala samo na enakem tipu procesorja.
Eden izmed pomembnih parametrov, ki ga je mogoče nastaviti v nastavitveni datoteki, je
parameter "MAKEOPTS«" Parameter predstavlja oziroma definira število paralelnih
prevajanj pri namestitvi programski paketov [9].
Administracija Gentoo Linux
8
Priporočena vrednost parametra je število procesorjev ali jeder procesorja plus ena.
Nastavitev vrednosti parametra za procesor s štirimi jedri:
MAKEOPTS="-j5"
Obstaja veliko več možnosti optimizacije oziroma kombinacij, ki jih ponuja GCC
prevajalnik. Predstavili smo samo nekaj osnovnih pomembnih možnosti, ki so osnova za
delujoč sistem. Pri pretirani uporabi možnosti lahko pride do nedelujoče programske
opreme ali pa do napak pri prevajanju.
2.5 Ukazna lupina (Shell)
Ukazna lupina ali angleško "Shell" je uporabniški vmesnik za interakcijo med
uporabnikom in operacijskim sistemom. Interakcija poteka preko ukazov, ki jih uporabnik
vnaša znakovno, sistem pa mu odgovarja oziroma izvaja ukaze [10]. Je osnova za delo v
Linux oziroma GNU/Linux sistemih, saj se že pri samem nameščanju sistema srečamo z
njo. V Gentoo Linux distribuciji je privzeto v uporabi tako imenovana bash ("Bourne
Again Shell") ukazna lupina, obstaja pa veliko več ukaznih lupin. Slika 2.3 prikazuje
primer ukazne lupine, v kateri je izveden ukaz in izpisan odgovor sistema.
Slika 2.3 Primer ukazne lupine
Administracija Gentoo Linux
9
3 NAMESTITEV OPERACIJSKEGA SISTEMA
3.1 Konfiguracija internetne povezave
Prvi korak, ki smo ga naredili v namestitvenem okolju sistema, je konfiguracija
internetnega omrežja. Gentoo Linux minimalni zagonski paket vsebuje samo zagon
osnovnih gonilnikov in osnovno jedro sistema, zato za nadaljnjo namestitev potrebujemo
delujočo internetno povezavo. V večini primerov sistem samodejno prepozna mrežno
kartico in konfigurira internetno povezavo.
Konfiguracijo mrežne kartice smo izvedli z prvim ukazom na sliki (Ukaz 3.1) in z imenom
naprave "enp0s3". Ukaz nam odpre grafični vmesnik in nas vodi skozi konfiguracijo
mrežne ali brezžične kartice.
# net-setup enp0s3
# ping –c 3 www.google.com
Ukaz 3.1 Konfiguriranje internetne povezave
Ali imamo aktivno internetno povezavo, smo preverili z drugim ukazom. Program ki ga
prožimo z ukazom, pošlje na določen spletni naslov testne pakete in preverja ali je dobil
odgovor iz istega spletnega naslova. V primeru pozitivnega odgovora imamo aktivno
internetno povezavo.
Administracija Gentoo Linux
10
3.2 Priprava diskov
Naslednji korak, ki smo ga naredili, je priprava diskov oziroma diska za namestitev
sistema. V Gentoo Linux sistemu oziroma v Linux sistemih nasploh se celoten disk razdeli
v manjše sektorje, ki jih imenujemo particije. Particija je logična enota diska ki ima svoj
datotečni sistem in velikost. V uporabi sta trenutno dve standardni tehnologiji za
shranjevanje informacij o particijah, imenovani GPT in MBR.
Tehnologija GPT ("GUID Partition Table") je novejša tehnologija, ki je povezana
predvsem z novo tehnologijo UEFI. Za naprave, ki bazirajo na UFEI namesto na klasični
BIOS tehnologiji je uporaba GPT tehnologije obvezna, saj je UEFI sposoben naložiti
sistem samo iz GPT tehnologije. MBR ("Master Boot Record") je starejša tehnologija in je
primerna za naprave, ki bazirajo na BIOS tehnologiji [11].
V našem primeru smo uporabili MBR tehnologijo za zapis informacij o particijah. Z
ukazom na sliki (Ukaz 3.2) smo prožili orodje, s katerim lahko preko preprostega
vmesnika upravljamo s particijami. Orodje nam preko znakovnih ukazov omogoča
dodajanje, odstranjevanje, spreminjanje, definiranje tipov datotečnih sistemov in velikosti
particij.
# fdisk /dev/sda
Ukaz 3.2: Priprava diska z orodjem "fdisk"
Z orodjem smo ustvarili tri primarne particije. Kot prvo smo ustvarili tako imenovano
"boot" particijo. Na njej je nameščeno jedro sistema. Druga particija, ki smo jo ustvarili, se
imenuje "swap" in se uporablja kot navidezni pomnilnik sistema. Tretja particija, ki smo jo
ustvarili, se imenuje "root" in na njej je nameščen korenski datotečni sistem. Na sliki 3.1
lahko vidimo shemo ustvarjenih particij "sda1", "sda2" in "sda3".
Administracija Gentoo Linux
11
Slika 3.1: Shema ustvarjenih particij
Sedaj ko smo ustvarili particije, moramo še na njih inicializirati oziroma naložiti ustrezne
datotečne sisteme. Datotečni sistem nam omogoča trajno shranjevanje in ureditev
podatkov. Gentoo Linux omogoča kar nekaj tipov oziroma vrst datotečnih sistemov. V
našem primeru smo uporabili datotečna sistema "ext2" in "ext3". Kot lahko vidimo na sliki
(Ukaz 3.3), smo s prvim ukazom ustvarili datotečni sistem "ext2" za "boot" particijo, z
drugim ukazom smo ustvarili navidezni pomnilnik za "swap" particijo. S tretjim ukazom
smo ustvarili datotečni sistem "ext3" za "root" particijo in s četrtim ukazom aktivirali
navidezni pomnilnik na "swap" particiji.
# mkfs.ext2 /dev/sda1
# mkswap /dev/sda2
# mkfs.ext4 /dev/sda3
# swapon /dev/sda2
Ukaz 3.3: Ustvarjanje datotečnih sistemov na particije
Administracija Gentoo Linux
12
Naslednji korak, ki zaključi pripravo diskov, je omogočiti dostop do ustvarjenih particij z
datotečnimi sistemi in povedati sistemu, v katerih datotekah so informacije o particijah. To
smo storili z ukazi na sliki (Ukaz 3.4). S prvim ukazom smo omogočili in ustvari potrebno
datoteko za dostop do "root" particije. Z drugim ukazom smo ustvarili potrebno datoteko
za "boot" particijo, ki privzeto ne obstaja. S tretjim ukazom smo omogočili dostop do
"boot" particije s prej ustvarjeno datoteko.
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
Ukaz 3.4: Naredimo particije dostopne
3.3 Prenos namestitvenega paketa in namestitev
Najprej smo preverili datum in čas sistema. Če se čas ne ujema z realnim časom, ga je
potrebno ročno nastaviti. Datum in čas smo preverili in nastavili z ukazoma s slike (Ukaz
3.5). S prvim ukazom smo preverili, z drugim ukazom pa smo ročno popravili datum in
čas. Napačno nastavljen datum in čas lahko v nadaljnji namestitvi povzroči napake.
# date
# date 082114322015
Ukaz 3.5: Preverjanje in nastavljanje datuma in ure
Kot smo že omenili, ker Gentoo Linux minimalni paket vsebuje osnovno jedro in omogoči
samo zagon osnovnih gonilnikov, je potrebno za namestitev sistema prenesti sistemski
Administracija Gentoo Linux
13
namestitveni paket. Najprej smo se postavili v potrebno datoteko s prvim ukazom s slike
(Ukaz 3.6). Z drugim ukazom smo prožili konzolni brskalnik, preko katerega smo prenesli
ustrezen namestitveni paket. Izbrali smo namestitveni paket "Stage3", ki je trenutno edini
podprt paket. Po končanem prenosu smo s tretjim ukazom razširili prenesen paket v
datoteko, v katero smo se postavili s prvim ukazom.
# cd /mnt/gentoo
# links http://www.gento.org/main/en/mirrors.xml
# tar xvjpf stage3-amd64-date.tar.bz2 --xattrs
Ukaz 3.6: Prenos in razširitev namestitvenega paketa
Po končani razširitvi namestitvenega paketa je priporočljivo prenesti najnovejšo različico
programa Portage. Kot vidimo na sliki (Ukaz 3.7), smo s prvim ukazom prenesli paket
programa Portage enako kot pri namestitvenem paketu sistema. Z drugim ukazom pa smo
razširili in definirali ciljno datoteko razširitve.
# links http://www.gento.org/main/en/mirrors.xml
# tar –xjvf /mnt/gentoo/portage-20150804.tar.bz2 –C /mnt/gentoo/usr
Ukaz 3.7: Prenos in razširitev programa Portage
Po uspešni razširitvi programa Portage je potrebno nastaviti konfiguracije prevajalnika
GCC. Kot smo že omenili v poglavju o prevajalniku GCC, za prevajanje skrbi program
Portage, v katerem lahko konfiguriramo nastavitveno datoteko, prikazano na sliki 2.2. Z
ukazom, ki ga vidimo na sliki (Ukaz 3.8), smo odprli nastavitveno datoteko.
Administracija Gentoo Linux
14
# nano –w /mnt/gentoo/etc/portage/make.conf
Ukaz 3.8: Nastavitvena datoteka programa Portage
Kako se konfigurira nastavitveno datoteko programa Portage, smo obrazložili že v
poglavju o prevajalniku GCC. V tabeli 3.1 lahko vidimo parametre in njihove vrednosti, ki
smo jih v našem primeru nastavili za prevajalnik in procesorsko arhitekturo.
Tabela 3.1 Nastavljeni parametri prevajalnika
Parameter Vrednost parametra Opis
MAKEOPST "-j5" Vrednost za procesor s štirimi jedri
CFLAGS march=native –O2 –pipe Druga stopnja optimizacije z uporabo pip
CXXFLAGS march=native –O2 –pipe Enako kot pri zastavici za C prevajalnik
Naslednji korak pred namestitvijo osnovnega sistema je, da določimo oziroma spremenimo
vir, iz katerega bomo prenašali programske pakete. To smo storili z ukazoma s slike (Ukaz
3.9).
# mirrorselect –i –o >> /mnt/gentoo/portage/make.conf
# mirrorselect –i –r –o >> /mnt/gentoo/portage/make.conf
Ukaz 3.9: Nastavitev virov za programskih paketov
Preden smo začeli z namestitvijo osnovnega sistema, je bilo potrebno še samo kopirati
informacije o internetni povezavi v novo okolje. S tem smo zagotovili delovanje internetne
povezave tudi v novem okolju. Kopiranje informacij smo izvedli z ukazom, s slike (Ukaz
3.10).
Administracija Gentoo Linux
15
# cp –L /etc/resolv.conf /mnt/gentoo/etc/
Ukaz 3.10: Kopiranje informacij internetne povezave
3.4 Namestitev osnovnega sistema
Sedaj smo lahko pričeli z namestitvijo osnovnega sistema. Najprej smo morali omogočiti
dostop do nekaj datotečnih sistemov, ki morajo biti na voljo novemu okolju. To smo storili
z ukazi s slike (Ukaz 3.11).
# mount -t proc none /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
#mount –rbind /dev /mnt/gentoo/dev
Ukaz 3.11: Dostop do datotečnih sistemov
Naslednji korak je vstop v predhodno pripravljeno novo okolje. Iz sedanjega minimalnega
namestitvenega okolja smo vstopili v novo namestitveno sistemsko okolje. To smo storili z
ukazi, ki jih vidimo na sliki (Ukaz 3.12). S prvim ukazom smo zamenjali lokacijo na "root"
particijo. Z drugim ukazom smo ponovno naložili nekaj nastavitev v pomnilnik. S tretjim
ukazom pa smo nastavili ukazno vrstico na novo okolje.
Administracija Gentoo Linux
16
# chroot /mnt/gentoo /bin/bash
# source /etc/rpofile
# export PS1=«(chroot) $SP1«
Ukaz 3.12: Vstop v novo okolje sistema
Sedaj ko smo v namestitvenem okolju sistema, je priporočeno posodobiti drevo programa
Portage. To smo storili z ukazom s slike (Ukaz 3.13).
# emerge –sync
Ukaz 3.13: Posodobitev drevesa programa Portage
Po uspešni posodobitvi je potrebno izbrati ustrezen profil sistema. Izbira profila omogoči
nastavljanje privzetih parametrov sistema in filtrira izbor namestitvenih paketov glede na
izbran profil. V tej fazi namestitve je dobro vedeti, kakšen sistem želimo, da lahko
ustrezno nastavimo profil. Na sliki 3.2 lahko vidimo seznam vseh možnih profilov.
Administracija Gentoo Linux
17
Slika 3.2: Seznam profilov sistema
V našem primeru smo izbrali profil s podporo namizju. To smo storili z ukazi s slike (Ukaz
3.14). S prvim ukazom smo izpisali seznam profilov, ki so na voljo, z drugim ukazom pa
smo izbrali tretji profil.
# eselect profile list
# eselect profile set 3
Ukaz 3.14: Izbira profila sistema
Naslednji korak je definiranje zastavic, imenovanih "USE flags". Uporaba in pomen teh
spremenljivk sta opisana v poglavju Portage. V našem primeru smo v nastavitveni datoteki
programa Portage definirali nekaj zastavic, kot jih prikazuje slika 3.3 (v odstavku USE).
Administracija Gentoo Linux
18
Slika 3.3: Definiranje "USE" spremenljivk
Naslednji korak v namestitvi sistema je lokalizacija oziroma podpora jezikom. Priporočeno
je imeti vsaj dva jezika, med katerimi naj bo britanska oziroma ameriška angleščina. Gre
predvsem za to, da nekateri programski paketi podpirajo samo ta dva jezika. Kot drugi
jezik smo nastavili slovenščino S prvim ukazom s slike (Ukaz 3.15) smo izpisali seznam
podprtih jezikov, filtriran samo na slovenski jezik. Kar nam je izpisal prvi ukaz, je
potrebno dodati v nastavitveno datoteko za podporo jezikom. Z drugim ukazom smo odprli
nastavitveno datoteko in dodali dve vrstici:
"sl-SI ISO-8859-2"
"sl_SI.UTF-8 UTF-8"
Sedaj, ko smo uspešno dodali jezike v nastavitveno datoteko, je potrebno le-te še
generirati, kar smo storili s tretjim ukazom.
Administracija Gentoo Linux
19
# cat /usr/share/i18n/SUPPORTED | grep ^sl
# nano –w /etc/local.gen
# local-gen
Ukaz 3.15: Nastavitev jezika
Potrebno je še izbrati nastavljeni jezik. To smo storili z ukazoma s slike (Ukaz 3.16). S
prvim ukazom smo izpisali seznam generiranih jezikov, z drugim ukazom pa smo izbrali
ustrezni jezik.
# eselect locale list
# eselect locale set 8
Ukaz 3.16: Izbira ustreznega jezika
Naslednji korak je nastavljanje ustreznega časovnega pasu. To storimo z ukazoma s slike
(Ukaz 3.17). S prvim ukazom smo izpisali vse možne časovne pasovee za Evropo. Z
drugim ukazom smo kopirali ustrezen časovni pas ("Europe/Ljubljana") v datoteko za
lokalni čas. S tretjim ukazom smo z namenom, da spremembe aktiviramo, na novo naložili
sistemsko okolje.
# ls /usr/share/zoneinfo/Europe
# cp /usr/share/zoneinfo7Europe/Ljubljana /etc/localtime
# env-update && source /etc/profile
Ukaz 3.17: Nastavitev časovnega pasu
Administracija Gentoo Linux
20
3.5 Konfiguriranje in namestitev jedra
Naslednji korak v namestitvi sistema je eden pomembnejših korakov. Potrebno je prenesti
in namestiti jedro sistema. Zahtevna naloga je predvsem pravilno konfiguriranje jedra.
Potrebno je dobro poznati strojno opremo naprave, na katero nameščamo sistem, da lahko
ustrezno konfiguriramo jedro. Najprej je potrebno jedro sistema prenesti. To smo storili z
ukazom s slike (Ukaz 3.18).
# emerge –ask sys-kernel/gentoo-sources
Ukaz 3.18: Prenos jedra sistema
Po prenosu jedra je potrebno definirati našo strojno opremo. Če strojne opreme naprave ne
poznamo dodobra, si lahko pomagamo s kar nekaj orodji. Eno izmed orodij je "pciutils", ki
ga je potrebno naložiti. To smo storili s prvim ukazom s slike (Ukaz 3.19). Po uspešni
namestitvi smo z drugim ukazom izpisali informacije o napravi.
# emerge –ask sys-apps/pciutils
# lspci
Ukaz 3.19: Orodje za pregled strojne opreme naprave
Sedaj, ko smo definirali strojno opremo naprave, sledi konfiguriranje jedra. Najprej smo se
postavili v datoteko, kjer je preneseno jedro s prvim ukazom iz slike (Ukaz 3.20). V tej
datoteki smo z drugim ukazom prožili grafični vmesnik za konfiguriranje jedra sistema.
Administracija Gentoo Linux
21
# cd /usr/src/linux
#make menuconfig
Ukaz 3.20: Konfiguracija jedra sistema
V grafičnem vmesniku, ki ga vidimo na sliki 3.4, lahko z osnovnim pomikanjem po meniju
bodisi dodamo ali odstranimo funkcije sistema. Funkcije je možno dodati kot del jedra ali
pa kot zunanji modul. Funkcije, dodane kot del jedra, se prevedejo direktno v jedro,
funkcije, dodane kot modul, pa se prevedejo kot zunanje komponente in se prožijo šele tik
preden jih sistem potrebuje. Funkcije, ki jih ne potrebujemo oziroma jih ne želimo, lahko
tudi odstranimo. S tem zmanjšamo velikost jedra in preprečimo nalaganje nepotrebnih
funkcij, kar vodi do hitrejšega sistema in manjše velikosti jedra.
Slika 3.4: Konfiguracija jedra sistema
Administracija Gentoo Linux
22
V grafičnem vmesniku smo izbrali nekaj pomembnih funkcij, brez katerih sistem ne deluje
pravilno ali pa ne deluje optimalno. Večina funkcij je že predhodno izbrana. Najprej smo v
kategoriji "General setup" označili oziroma preverili, ali so že označene naslednje funkcije:
"Kernel config support" - omogoča nadaljnjo uporabo konfiguracije jedra,
"System V IPC" - omogoča izmenjavo informacij med programi,
"Suport for paging of anonymous memory (swap)" – omogoči navidezni pomnilnik
("swap") na sistemu.
Na sliki 3.5 vidimo, kako smo definirali funkcije v kategoriji.
Slika 3.5: Konfiguracija jedra (kategorija "General setup")
Administracija Gentoo Linux
23
Naslednji korak je izbor funkcij procesorja. V kategoriji "Processor type and features" smo
označili oziroma preverili, ali so že označene naslednje funkcije:
"Symmetric multi-processing support" - podpora za procesorje z več jedri,
"SMT (Hyperthreading) scheduler support" - podpora za procesorje, ki imajo
podporo za "hypretreading",
"Multi-core scheduler support" - dodatna podpora za procesorje z več jedri,
"Machine Check / overheating reporting" - javljanje napake na procesorju.
Na sliki 3.6 vidimo, kako smo definirali funkcije v kategoriji.
Slika 3.6: Konfiguracija jedra (kategorija "Processor type and features")
Administracija Gentoo Linux
24
Naslednji korak je izbor gonilnikov naprav. V kategoriji "Device Drivers" smo označili
oziroma preverili, ali so že označene naslednje funkcije:
"SCSI device support" - podpora za SATA diske,
"Serial ATA and Parallel driver" - gonilniki za SATA diske,
"Network device support" - podpora in gonilniki za mrežne in brezžične kartice,
"Input device support" - podpora in gonilniki za vhodno/izhodne naprave (miška,
tipkovnica),
"Graphics support" - podpora in gonilniki za grafične kartice,
"Sound" - podpora in gonilniki za zvočne kartice,
"Second extended fs support" - podpora datotečnem sistemu »ext2«.
"Ext3 journaling file system support" - podpora datotečnem sistemu »ext3«.
V tej kategoriji je predvsem pomembno, da izberemo podporo datotečnim sistemom, ki
smo jih uporabili v pripravi diskov za namestitev sistema. Na sliki 3.7 vidimo, kako smo
definirali funkcije za datotečne sisteme.
Slika 3.7: Konfiguracija jedra (podpora datotečnim sistemom)
Administracija Gentoo Linux
25
Grafični vmesnik za konfiguriranje jedra omogoča veliko več funkcij in nastavitvenih
možnosti, kot smo jih uporabili v namestitvi, vendar se razlikujejo za vsako napravo
posebej. Konfiguriranje jedra je odvisno predvsem od strojne opreme naprave in potreb
oziroma želja uporabnika.
Po končani konfiguraciji je potrebno jedro še prevesti. To smo storili z ukazi s slike (Ukaz
3.21). S prvim ukazom smo prevedli jedro, z drugim ukazom pa smo namestili module
jedra. Po končanem prevajanju in namestitvi modulov smo s tretjim ukazom kopirali jedro
na "boot" particijo.
# make -j5
# make modules-install
# make install
Ukaz 3.21: Prevajanje jedra in namestitev modulov
Administracija Gentoo Linux
26
3.6 Konfiguracija informacij sistema
Po končani namestitvi jedra je potrebno konfigurirati sistemsko datoteko, ki vsebuje
informacije o particijah, in datotečnih sistemih. Z ukazom s slike (Ukaz 3.22) smo odprli
datoteko "fstab".
# nano –w /etc/fstab
Ukaz 3.22: Konfiguriranje sistemske datoteke
V datoteki je potrebno pravilno nastaviti particije pripadajočim datotečnim sistemom in pot
do teh particij. Potrebno je definirati naprave, kot so disketniki ali predvajalniki zgoščenk,
in določiti pravice uporabe teh particij oziroma naprav. Datoteko smo definirali, kot
prikazuje slika 3.8.
Slika 3.8: Sistemska datoteka "fstab"
Naslednji korak je poimenovanje sistema in konfiguriranje omrežja. Najprej smo določili
ime sistema. S prvim ukazom s slike (Ukaz 3.23) smo odprli datoteko z informacijami o
napravi in vnesli poljubno ime. Z drugim ukazom smo prenesli programski paket za
namestitev omrežja in ga namestili. S tretjim ukazom smo v nastavitveni datoteki omrežja
dodali vrstico "config_enp0s3=dhcp", s katero povemo, da je v uporabi DHCP ("Dynamic
Host Configuration Protokol"). Potrebno je še namestit DHCP odjemalca, kar smo storili z
zadnjim ukazom.
Administracija Gentoo Linux
27
# nano –w /etc/conf.d/hostname
# emerge –ask –noreplace net-misc/netifrc
# nano –w /etc/conf.d/net
# emerge –ask net-misc/dhcpcd
Ukaz 3.23: Poimenovanje sistema in nastavitev omrežja
Po namestitvi omrežja je potrebno še nastaviti zagon omrežne povezave samodejno z
zagonom sistema. To smo storili z ukazi s slike (Ukaz 3.24). S prvim ukazom smo se
prestavili v ustrezno datoteko. Z drugim ukazom smo ustvarili simbolično povezavo in s
tretjim ukazom dodali omrežje v samodejni zagon skupaj s sistemom.
# cd /etc/init.d
# ln –s net.lo net.enp0s3
# rc-update add net.enp0s3 default
Ukaz 3.24: Dodajanje omrežja v zagon s sistemom
Administracija Gentoo Linux
28
3.7 Namestitev zagonskega nalagalnika GRUB2
Zadnji korak, preden prvič vstopimo v nameščen sistem je namestitev in konfiguriranje
zagonskega nalagalnika. Zagonski nalagalnik nam omogoči zagon jedra in s tem
posledično celotnega sistema. V uporabi sta predvsem dva nalagalnika, imenovana LILO
in GRUG2, ki sta oba za sisteme, bazirane na BIOS, vendar je LILO že zastarel in brez
podpore razvijalcev. Za sisteme, ki bazirajo na UEFI, je na voljo zagonski nalagalnik
"efibootmgr".
Najprej je potrebno prenesti namestitveni paket nalagalnika, kar smo storili s prvim
ukazom s slike (Ukaz 3.25). Po prenosu smo z drugim ukazom namestili potrebne datoteke
na disk, s katerega zaganjamo sistem.
# emerge –ask grub
# grub2-install /dev/sda
Ukaz 3.25: Prenos in namestitev zagonskega nalagalnika GRUB2
Po namestitvi potrebnih datotek je potrebno zagonski nalagalnik še konfigurirati. GRUB2
nam omogoča proženje skripte, s katero samodejno generiramo nastavitveno datoteko,
možno pa ga je konfigurirati tudi ročno. Samodejno generiranje smo prožili z ukazom s
slike (Ukaz 3.26).
# grub2-mkconfig –o /boot/grub/grub.cfg
Ukaz 3.26 Konfiguriranje zagonskega nalagalnika GRUB2
Administracija Gentoo Linux
29
Sedaj je sistem pripravljen na prvi zagon. Najprej smo ugasnili sistem in v programu
VirtualBox odstranili zagonski paket. Po ponovnem zagonu smo preko zagonskega
nalagalnika prožili naložen sistem, kot prikazuje slika 3.9.
Slika 3.9 Zagon sistema
Administracija Gentoo Linux
30
4 NAMESTITEV NAMIZNEGA OKOLJA
Gentoo Linux distribucija privzeto nima grafičnega uporabniškega vmesnika ("GUI")
oziroma namiznega okolja, zato ga je potrebno namestiti. Grafični uporabniški vmesnik je
aplikacija, ki nam omogoča grafično interakcijo s sistemom. Gentoo Linux oziroma Linux
sistemi nasploh omogočajo kar nekaj namiznih okolij, kot so:
KDE,
GNOME,
Xfce4 ,
CINAMOME,
LXDE.
KDE namizno okolje je eno izmed močnejših in dobro podprtih okolij za Linux sisteme.
Omogoča veliko nastavitvenih opcij in prilagoditev uporabniku ter ima veliko programsko
podporo. Za razvoj okolja skrbi skupina KDE:
GHOME je enako kot KDE eno močnejših namiznih okolij za Linux sisteme. Omogoča
močan grafični vmesnik z možnostjo prilagoditve željam uporabnika. Za razvoj okolja
skrbi projekt GNOME.
Xfce4 je zelo lahko namizno okolje primerno, za starejše naprave z slabšimi zmožnostmi
vendar dovolj dobro, da zadovolji potrebe uporabnika. Gre tudi za uporabniku zelo
prilagodljivo okolje, saj omogoča kar dosti razširitev.
CINAMONE je grafično okolje s sodobnimi grafičnim namizjem in z dobrimi grafičnimi
efekti. Izdelano je bilo iz grafičnega namizja GNOME.
LXDE je eno izmed lahkih grafičnih okolij za sisteme Linux. Grafično okolje je hitro in
energijsko učinkovito. Ima zelo varčno porabo pomnilnika naprave, kar ga naredi
primernega tudi za naprave s slabšimi karakteristikami. Je privzeto okolje v nekaj Linux
distribucijah.
Administracija Gentoo Linux
31
4.1 Namestitev Xorg strežnika
Za namestitev namiznega okolja potrebujemo aplikacijo oziroma ogrodje imenovano "X
Window Server". V osnovi gre za ogrodje, v katerem tečejo grafični uporabniški vmesniki,
ki skrbi za namizno okolje in interakcijo z zunanjimi napravami, kot sta tipkovnica in
miška.
Za naše potrebe smo izbrali in namestili "Xorg" strežnik in namizno okolje "Xfce4".
Najprej je potrebno nastaviti nekaj parametrov v nastavitveni datoteki programa Portage. Z
ukazom s slike (Ukaz 4.1), smo odprli nastavitveno datoteko.
# nano –w /etc/portage/make.conf
Ukaz 4.1 Konfiguriranje nastavitvene datoteke programa Portage
V nastavitveni datoteki moramo definirati parametra za grafično kartico in vhodne
naprave. Dodali smo dve vrstici:
VIDEO_CARDS="virtualbox"
INPUT_DEVICES="evdev"
Prva vrstica definira, katere gonilnike za grafično kartico nameravamo uporabiti, druga
vrstica pa definira kateri, gonilniki se bodo uporabili za vhodne naprave. Ker nameščamo v
virtualnem okolju, smo definirali grafično kartico virtualnega okolja.
Naslednji korak je prenos in namestitev "Xorg" strežnika. To smo storili s prvim ukazom s
slike (Ukaz 4.2). Po končanem prenosu in namestitvi strežnika smo z drugim in tretjim
ukazom posodobili sistemsko okolje in profil.
Administracija Gentoo Linux
32
# emerge –ask x11-base/xorg-server
# env-update
# source /etc/profile
Ukaz 4.2 Prenos "Xorg" strežnika in posodobitev spremenljivk sistemskega okolja
Potrebno je še nastaviti privzeto sejo za vse uporabnike namiznega okolja. Z prvim
ukazom s slike (Ukaz 4.3) smo ustvarili nastavitveno datoteko seje, v njo zapisali kot
privzeto sejo namizno okolje ("XSESSION=Xfce4") in z drugim ukazom posodobili
sistemsko okolje. S tem smo omogočili uporabo namiznega okolja vsem uporabnikom
sistema.
# echo XSESSION="Xfce4" > /etc/env.d/90xsession
# env-update
Ukaz 4.3 Definiranje privzete seje
Strežnik nam omogoča tudi nastavitev ločljivosti monitorja ali več monitorjev in nastavitev
vhodnih naprav. Preko nastavitvenih datotek strežnika lahko predhodno nastavimo
lokalizacijo, tip naprav in dodatne možnosti vsake naprave.
Administracija Gentoo Linux
33
4.2 Namestitev namiznega okolja Xfce4
Sedaj, ko imamo pripravljen "Xorg" strežnik, lahko pričnemo z namestitvijo namiznega
okolja " Xfce4". Najprej smo preverili zastavice "USE flags", ali imamo dodane oziroma
ali moramo dodati naslednje zastavice:
"session",
"X",
"-gnome",
"-KDE",
"jpeg",
"udev".
Večina potrebnih zastavic pa se uporabi samodejno, saj smo v namestitvi sistema izbrali
ustrezen profil. Sedaj smo pripravljeni na prenos in namestitev programskega paketa. To
smo storili s prvim ukazom s slike (Ukaz 4.4). Z drugim in tretjim ukazom smo po
namestitvi posodobili spremenljivke okolja sistema.
# emerge –ask xfce-base/xfce-meta
# env-update
# source /etc/profile
Ukaz 4.4 Prenos in namestitev namiznega okolja
Preden prožimo naše novo namizno okolje, moramo namestiti še grafični terminal in
nastaviti "Xfce4" na privzeto namizno okolje sistema. To smo storili z ukazoma s slike
(Ukaz 4.5). Prvi ukaz prenese in namesti grafični terminal, drugi ukaz pa nastavi "Xfce4"
kot privzeto okolje sistema.
Administracija Gentoo Linux
34
# emerge –ask x11-terms/xfce4-terminal
# echo "exec startxfce4" > ~/.xinitrc
Ukaz 4.5 Namestitev grafičnega terminala in nastavitev okolja
Pripravljeni smo na vstop oziroma zagon novega namiznega okolja. S preprostim ukazom
"startx" prožimo "Xorg" strežnik, ki nam zažene namizno okolje, kot vidimo na sliki 4.1.
Slika 4.1: Namizno okolje Xfce4
S podporo namiznemu okolju lahko naložimo različne aplikacije, kot so urejevalniki slik,
predvajalniki glasbe, spretni brskalniki. Okolje lahko prilagodimo svojim potrebam z
namestitvijo raznih razširitev, ki jih podpira "Xfce4".
Administracija Gentoo Linux
35
5 PORTAGE (REPOZITORIJ)
Repozitorij v sistemih Linux je v večini primerov strežnik, na katerem je shranjena
programska oprema, ki je na voljo za določen sistem. Omogoča nam spletni dostop do te
programske opreme. Večina Linux distribucij ponuja in vzdržuje svoje uradne repozitorije,
seveda pa so na voljo tudi neuradni repozitoriji. V Gentoo Linux distribuciji do teh
repozitorijev dostopamo preko programa Portage, za katerega bi lahko rekli, da je sistem
za upravljanje s programskimi paketi in osrčje sistema. Portage nam preko orodja "emerge"
in skripte "ebuild" omogoča osnovna opravila, kot so:
iskanje,
namestitev,
odstranjevanje,
posodabljanje programskih paketov,
vzdrževanje lokalnega drevesa in baze nameščenih programskih paketov,
pregled nameščenih paketov in različic,
ogled dokumentacije programskega paketa,
nastavitev podpore programskih paketov ("USE flags").
Orodje "emerge" je ukazni uporabniški vmesnik, ki nam omogoča proženje vseh funkcij
programa Portage. Kot je Portage osrčje sistema, je vmesnik "emerge" osrčje programa
Portage. Orodje nam s pomočjo skripte "ebuild" omogoča nameščanje programskih
paketov na sistem [12].
Skripta "ebuild" omogoča avtomatsko prevajanje in namestitev programskega paketa. V
skripti so zapisane funkcije, parametri in navodila, kako konfigurirati, prevesti in namestiti
programski paket. To skripto uporabi orodje »emerge« za preračunavanje namestitve glede
na podporo, ki je določena, in za prevajanje ter namestitev programskega paketa [12].
Administracija Gentoo Linux
36
Uporaba programa Portage je dokaj enostavna. Kot smo že povedali, z znakovnim ukazom
"emerge", kateremu dodamo še dodatne parametre oziroma funkcije, prožimo opravila, ki
smo jih opisali že na začetku poglavja. Uporaba ukaza "emerge" ima naslednjo strukturo:
emerge --function package_name
V tabeli 5.1 je prikazanih nekaj osnovnih funkcionalnosti programa Portage oziroma
orodja "emerge", ki smo jih tudi uporabili tekom namestitve sistema in programskih
paketov. Seveda pa orodje ponuja še veliko več [12].
Tabela 5.1: Funkcionalnosti orodja "emerge"
Dodatni parametri Opis funkcionalnosti
emerge --sync Posodobi drevo programa Portage.
emerge -- search package_name Poišče določen paket in izpiše osnovne informacije.
emerge -- ask package_name Izpiše vse potrebne pakete in nas vpraša za potrditev.
emerge --C package_name Izbriše določen paket.
emerge –uN package_name Namesti novejšo različico določenega paketa.
5.1 Uporaba zastavic ("USE flags")
Gentoo Linux omogoča uporabo tako imenovanih zastavic za uporabo ("USE flags"). Gre
za zelo močno funkcijo, ki je pomembna za vzdrževanje sistema. Nastavljanje teh zastavic
nam omogoča Portage. V programu je v nastavitveni datoteki možno nastaviti uporabo teh
zastavic. Zastavice je mogoče nastaviti na dva načina in sicer globalno, kar pomeni, da
zastavica velja za vsak paket na sistemu, in lokalno za vsak paket posebej.
Zastavice globalno nastavimo v namestitveni datoteki "make.conf", lokalno pa v datoteki
"package.use". Predvsem se za definiranje podpore uporabljajo globalne zastavice [13].
Administracija Gentoo Linux
37
Zastavice nam omogočijo, da programu Portage pri namestitvi programskih paketov
povemo, kakšno podporo želimo od paketa. Sistemi se po namenu razlikujejo med seboj,
zato je podpora vsemu nesmiselna. Z zastavico lahko dodamo ali odstranimo podporo
določeni funkciji. V primeru, da nameščamo oziroma uporabljamo sistem za strežnik in ne
želimo namiznega okolja, lahko za vsak namestitveni paket z zastavico izključimo podporo
namiznemu okolju. Prednosti uporabe zastavic so:
nepotrebno nameščanje programskih paketov z vso podporo,
manjša velikost paketov,
krajši prevajalni čas,
optimizacija programske opreme,
hitrejše delovanje in manjša uporaba pomnilnika programske opreme.
Slabost uporabe pa:
v primeru dodane nove zastavice je potrebno posodobiti celoten sistem, kar je lahko
dolgotrajen postopek.
Spodnja slika prikazuje primer uporabe globalnih zastavic z izklopljeno podporo za
namizno okolje GNOME in namizno okolje KDE in z vklopljeno podporo za DVD in
programski jezik Java. Z znakom "-" pred zastavico izklopimo podporo, z zastavico brez
znaka pa vklopimo podporo določeni funkciji.
USE=" –kde –gnome java dvd"
Slika 5.1 Primer uporabe zastavic
Gentoo Linux omogoča kar veliko zastavic, ki jih lahko uporabimo. V tabeli 5.2 je
prikazanih nekaj pomembnih zastavic, ki smo uporabili v namestitvi sistema.
Administracija Gentoo Linux
38
Tabela 5.2 Uporabljene zastavice ("USE flags") [14]
Zastavica Opis
kde Podpora namiznemu okolju KDE
gnome Podpora namiznemu okolju GNOME
X Podpora X11 (Xorg strežnik)
gt4 Podpora za GUI Toolkit
jpeg Podpora slikam
udev Podpora napravam, napajanju in diskom.
dbus Omogoči komunikacijo med programi
Kot smo že omenili, pa lahko zastavice uporabljamo tudi lokalno, kar pomeni, da določimo
podporo za točno določen programski paket. V nastavitveni datoteki, kjer nastavljamo
zastavice za vsak paket posebej, lahko tudi nastavimo, katero različico oziroma različice
želimo imeti na sistemu. Z uporabo preprostih znakov večje, manjše in je enako definiramo
želene različice paketov. Seveda lahko znake tudi kombiniramo in tako določimo različico
programskega paketa, ki bo bodisi novejša ali enaka oziroma starejša ali enaka.
Slika 5.2 prikazuje uporabo znakov za definiranje različice in uporabo lokalnih zastavic.
Prvi primer definira, da želimo samo starejšo ali enako različico spletnega brskalnika
"firefox", brez podpore za "gnome". Drugi primer definira, da želimo samo to različico
spletnega brskalnika "chrome" s podporo "KDE".
<=www-client/firefox-38.1.1 –gnome
=www-client/google-crome-beta-46.0.2490-13_p1 KDE
Slika 5.2 Primer lokalne zastavice in nastavitev želene različice paketa
Administracija Gentoo Linux
39
6 SKLEP
Optimalna namestitev in administracija zahteva dobro poznavanje delovanja sistema in
njegovih komponent, kar smo ugotovili tekom nameščanja sistema oziroma ob izdelavi
diplomskega dela. Predvsem so težave pri nameščanju jedra oziroma pri konfiguriranju
jedra, saj smo ugotovili, da se napačno konfigurirano jedro vseeno prevede, vendar pa v
večini primerov pride do napake pri zagonu sistema. Težave, ki jih je težko rešiti, so
nastopile tudi pri namestitvi programskih paketov na sistem.
Gentoo Linux operacijski sistem je možno namestiti na več načinov z različnimi koraki in
različnimi konfiguracijami. Naša metoda nameščanja sistema je bila predvsem omejena na
virtualno okolje, v katerem nismo dosegli dejanskih zmožnosti, ki jih je sistem sposoben,
vendar pa smo tekom namestitve in raziskovanjem konfiguracij ugotovili, kaj vse sistem
omogoča. Predvsem se to nanaša na možnost prilagoditve sistema in svobode uporabnika.
Gentoo Linux omogoča veliko več kot samo namestitev, ki smo jo izvedli in preučili v
diplomskem delu. Namestitev je samo dober korak proti vsem možnostim, ki jih Gentoo
Linux ponuja, vendar lahko z nadaljnjo uporabo sistema te možnosti preizkusimo in
preučimo.
Čeprav Linux sistemi še zmeraj ne privlačijo uporabnikov računalnikov in ostalih naprav
zaradi strahu pred kompleksno namestitvijo in drugačnim načinom uporabe, pa vseeno
pridobivajo na popularnosti. Zaradi večje popularnosti se povečuje tudi podpora in razvoj
sistemov, kar vodi do večjega povpraševanju po znanju o Linux sistemih.
Administracija Gentoo Linux
40
7 VIRI IN LITERATURA
[1] „History of Linux,“ [Elektronski]. Available:
https://en.wikipedia.org/wiki/History_of_Linux. [Poskus dostopa 5 Avgust 2015].
[2] „Richard Stallman,“ [Elektronski]. Available:
https://en.wikipedia.org/wiki/Richard_Stallman. [Poskus dostopa 5 Avgust 2015].
[3] „Linux,“ [Elektronski]. Available: https://en.wikipedia.org/wiki/Linux. [Poskus
dostopa 5 Avgust 2015].
[4] „Gentoo Linux,“ [Elektronski]. Available:
https://en.wikipedia.org/wiki/Gentoo_Linux. [Poskus dostopa 5 Avgust 2015].
[5] „Linux kernel Wikipedia,“ [Elektronski]. Available:
https://en.wikipedia.org/wiki/Linux_kernel. [Poskus dostopa 5 Avgust 2015].
[6] „Linux kernel and arhitecture,“ [Elektronski]. Available:
https://knowstuffs.wordpress.com/2012/06/11/linux-kernel-and-architecture/. [Poskus
dostopa 6 Avgust 2015].
[7] „GNU Compiler Collection,“ [Elektronski]. Available:
https://en.wikipedia.org/wiki/GNU_Compiler_Collection. [Poskus dostopa 7 Avgust
2015].
[8] „GCC Optimization,“ [Elektronski]. Available:
https://wiki.gentoo.org/wiki/GCC_optimization. [Poskus dostopa 8 Avgust 2015].
[9] „Gentoo Wiki makeopts,“ [Elektronski]. Available:
https://wiki.gentoo.org/wiki/MAKEOPTS. [Poskus dostopa 10 Avgust 2015].
Administracija Gentoo Linux
41
[10] „Unix Shell,“ [Elektronski]. Available:
https://en.wikipedia.org/wiki/Bash_(Unix_shell). [Poskus dostopa 10 Avgust 2015].
[11] „GPT and MBR partitions,“ [Elektronski]. Available:
http://www.howtogeek.com/193669/whats-the-difference-between-gpt-and-mbr-
when-partitioning-a-drive/. [Poskus dostopa 11 Avgust 2015].
[12] „Portage Software,“ [Elektronski]. Available:
https://en.wikipedia.org/wiki/Portage_(software)#ebuild. [Poskus dostopa 25 Avgust
2015].
[13] „USE FLAGS,“ [Elektronski]. Available:
https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE. [Poskus dostopa 19
Avgust 2015].
[14] „USE Flags documentation,“ [Elektronski]. Available:
https://www.gentoo.org/support/use-flags/#doc_chap1. [Poskus dostopa 25 Avgust
2015].
42
43
44