Professional Documents
Culture Documents
RENDSZEREK
3.EA
Nemes Teréz
nemes.terez@uni-bge.hu
Linux csomagkezelés alapjai
Csomagtípusok
Hálózati csomag források
Csomagok tulajdonságai, keresése, kezelése
Kompatibilitási kérdések, csomagok konvertálása
2
Mit nevezünk csomagkezelésnek
• A legtöbb Linux operációs rendszer központosított mechanizmust kínál
a szoftverek keresésére és telepítésére
• A szoftvereket általában csomagokként szolgáltatják
• Ezeket a csomagokat repository-ban – tároló - tárolják
• A csomagokkal való munkát hívjuk csomagkezelésnek
• A csomagok gondoskodnak
• az operációs rendszer alap komponenseiről
• az osztott könyvtárakról (shared libraries)
• alkalmazásokról
• szolgáltatásokról
• dokumentációkról
3
Csomagkezelők alapszolgáltatásai
• A csomagkezelő rendszer többet nyújt, mint egy szoftver
egyszerű telepítése
• Lehetőséget nyújt a már feltelepített csomagok frissítésére
• Arra, hogy biztosak lehessünk benne, hogy adott program kódját
átvizsgálták a rendszeren való használathoz
• A feltöltött szoftver jóváhagyásra került a fejlesztők és a csomag
karbantartói által
• A csomagkezelés egy részéhez superuser jogosultságok kellenek
4
Mit nevezünk csomagnak
• A legtöbb csomagkezelő rendszer csomagok gyűjteménye
• A csomagfile általában önmagában egy archívum, ami tartalmazza
• lefordított binárisokat, a program file-okat és más forrásokat
• A gyári alapbeállításokat
• Ha kellenek library-k, akkor a lib-eket
• A függőségek listáját, ami tartalmazza a telepítéshez szükséges
egyéb csomagok vagy file-ok nevét
• (deb: csomag, rpm: file)
• De az is előfordulhat, hogy egy csomagban több program
van
5
Csomagok függősége
• A különböző dolgok gyakran külön csomagokba kerülnek
• Külön csomagba kerül a bináris és a beállító file-ok
• Külön csomagba a lib-ek, amiket esetleg más csomagok
binárisai is használnak
• Külön esetleg a kliens és szerver rész
• Külön az egyéb, a használatot segítő programok, pl. frontend…
• A függőségek azt mondják meg, hogy a kiválasztott csomaghoz
milyen egyéb csomagokat kell még telepíteni a működéséhez
6
Csomagtípusok
• Többféle alaprendszer létezik
• dpkg + apt (Debian, Ubuntu és mások)
• rpm + yum (openSUSE, Fedora, RedHat, CentOS)
• pacman (Arch és mások)
• portage (gentoo és klónjai)
• Lehetnek grafikus felületű csomagkezelők, szöveges és szöveges, menüs
rendszerűek
• Fontosabbak:
• Synaptic, Kpackage,…
7
Alapvető csomagformátumok
• deb
• rpm
• tgz
• ebuild
• Virtuális csomagok
• Bizonyos szolgáltatásokat adnak meg, pl. smtp szerver (lehet exim4, postfix)
• Ha egy csomagnak ez a függősége, kell egy levelező szerver, akkor a rendszer kiválasztja
az alapértelmezettet, ha nincs fenn egyik sem, de ha van, nem tesz fel másikat
Alapvető csomagkezelők
• APT - Advanced Packaging Tool
• dpkg- Debian package röviden
• RPM - RPM Package Manager
• Yast - Yet another Setup Tool
• Pacman - Arch Linux Package Management
• Yum - Yellowdog Updater, Modified
• Portage – Eredetileg Gentoo
• opkg – beágyazott rendszerek
9
deb csomagok
• Debian, Ubuntu, Knopix, Linux Mint…
• Az egyik legelterjedtebb csomagformátum
• .deb kiterjesztés
• csomagnevek
• ls –lh /var/cache/apt/archives
• Itt vannak a letöltött csomagok
• Csomag neve_verzió_release-információk-csomagolás-
verziója_architektura
10
Névadási szabályok
11
Online tárolók
• A tárolók – repository olyan speciális könyvtárstruktúrák, ahol
csomagok vannak, kezdőbetűk szerint csoportosítva, egy indexfájllal
(Packages.gz) kategorizálva.
• Ilyen tárolót egyszerre többet is lehet használni.
• Csak olyan tárolókat érdemes használni amelyekben meg lehet bízni –
komoly biztonsági kockázat
• sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com kulcs-
ujjlenyomat
• Deb tárolóit alapvetően kétféleképpen tudjuk kezelni:
• /etc/apt/sources.list fájl
• Grafikus felületű menedzseléshez Synaptic
12
13
Legfontosabb tárolók Ubuntu
Hivatalos tárolók
• main
• A hivatalosan támogatott csomagokat tartalmazza. Ez teljes egészében
rajta van a cd-s kiadáson. Csak szabad szoftvert tartalmaz. Synapticban
egy Ubuntu logó jelenik meg a main csomagok neve mellett
• restricted
• Szerzői jogi korlátozás alá eső csomagok (tipikus példa videokártyák
meghajtóprogramjai). Ezek a csomagok is rajta vannak a cd-n és
támogatottak
14
Legfontosabb tárolók Ubuntu folyt.
Hivatalos tárolók
• universe
• A közösség által támogatott csomagokat tartalmazza, csak interneten
keresztül érhető el. Az alapértelmezett telepítésben ez a tároló nincs
mindig engedélyezve. Ezeknek a csomagoknak egy része a debianból
minimális módosítással került át, nincsenek túltesztelve
• multiverse
• Olyan csomagokat tartalmaz, melyeknek licence nem kompatibilis a nyílt
forráskódúakéval, például egyes kodekek vagy az Mplayer
• backports, extras
15
Legfontosabb tárolók Ubuntu folyt.
Nem hivatalos tárolók
• Sun Java, nem szabad RAR kicsomagoló és DVD lejátszási képesség,
Open office
Partner tárolók
• Ezek a programok - mint a Flash és a Skype - a hivatalos
szoftverforrásoknál az Ubuntu Linux rendszerben alapértelmezetten tiltva
vannak
Személyes tárolók - PPA
• Olyan szoftverek forrásai/frissítései jelentik, mint pl. VLC, Skype
• Ezeket a ppa-kat nem az Ubuntu fejlesztői tartják karban, ezért
használatuknál nem árt némi óvatosság
16
Tárolók hozzáadása
• /etc/apt/sources.list konfigurációs file szerkesztése.
• Ebben találhatók adatok arról, hogy a frissítésekkor milyen csomagokat és honnan
vegyen figyelembe a rendszer
• A szerkesztéséhez rendszergazdai jog kell
• A fájl sorai a következőképpen épülnek fel:
• deb|deb-src] [szerver/elérési/út] [kiadás] [tároló(k) neve(i)]
• Pl: deb http://hu.archive.ubuntu.com/ubuntu bionic main restricted universe
• Jelentése: a magyar Ubuntu tükrön található main (hivatalosan támogatott), restricted (nem szabad
felhasználású) és universe (közösség által támogatott) bináris csomagokat tartalmazó tárolók a
Bionic Beaver kiadásból.
• Az /etc/apt/sources.list file módosítása után
• sudo apt update
• /etc/apt/sources.list.d
• .list kiterjesztésű file-okba
17
deb csomagok kezelése
18
deb csomagok kezelése - aptitude
• Az Aptitude egy menüvezérlésű szöveges felület APT-hez. Számos
gyakori csomagkezelési feladat, mint például a telepítés,
eltávolítás és frissítés, az Aptitude-ban egybillentyűs parancsokkal
hajtható végre.
• Nem grafikus terminálkörnyezetekben a leghasználhatóbb.
• sudo aptitude
19
deb csomagok kezelése - aptitude
20
deb csomagok kezelése - apt
• A tárolókban lévő információk frissítése
• sudo apt update
• apt list --upgradable
• alaphelyzetben ez jól be van állítva
• A csomagokhoz tartozik egy GPG aláírás
• Hitelesíti a csomagot
• A készítő saját kulcsával van hitelesítve
• Optimista esetben más nem tudja hitelesíteni
• MS-nél https hitelesítés, a szervert hitelesíti
• Linuxnál nem kell dedikált frissítő szerver, bármilyen tükör használható, mert a
letöltött file hitelesíti magát
• Globális frissítés
• sudo apt upgrade
21
deb csomagok kezelése – apt upgrade
22
deb csomagok kezelése – apt upgrade
• Lehetnek visszatartott csomagok
• apt-mark hold / unhold csomagnév
• Az alábbi csomagok vissza lesznek tartva és nem lesznek frissítve
• apt-mark showhold
• Mert frissítéseknél deb csomagok esetén van egy fontos alapelv, a frissítés
nem eredményezhet csomageltávolítást vagy telepítést, ezek meg
telepítéssel járnának
• Ezeket telepíteni kell
• Kernelt soha sem frissít, azt mindig a régi mellé teszi fel
• sudo full-upgrade
• Itt érdemes vigyázni, nem él a szabály, hogy nem telepíthet, konzisztencia
• Hiba esetén dpkg --reconfigure –a
• Végső eset /usr/share/apt errorfile-ok törlése
23
Milyen csomagok vannak
24
Milyen csomagok vannak telepítve
25
Csomagkeresés
26
Csomagkeresés
27
Információ egy csomagról
• sudo apt-cache show csomagnév
• Szerepe
• Mérete
• Melyik tárolón
• Checksum
• Leírás
• Függőségek
• Recommends
• Suggests
• Honlap
• Hibák
28
29
Csomagok telepítése
30
Csomagok telepítése
31
Letöltött file-ok telepítése
32
Letöltött file-ok telepítése
33
Letöltött file-ok telepítése hibakezelés
34
Letöltött file-ok telepítése hibakezelés
35
Lekérdezések a csomag adatbázisban
dpkg -l
• Kilistázza a valaha is telepített csomagokat
• Eleje állapot és státus (tetején látszik a betűk jelentése)
• Teljesen telepítettnél ii
• Név, verzió, info (csak az első karakterek)
• Ha szűrni akarjuk
• dpkg –l ’*abc*’
• sudo apt list (1661)
• sudo apt list --installed (61530)
36
Lekérdezések a csomag adatbázisban
37
Lekérdezések a csomag adatbázisban
38
Milyen file-ok tartoznak egy csomagba
39
Csomag tartalma
40
Adott file melyik csomagba tartozik
dpkg –S teljes_eleresi_ut/file_nev
• Egész köyvtárt is le lehet kérdezni, ad egy listát
• Meg lehet tudni, milyen file-ok vannak még ugyanabban a
csomagban
41
Csomagok eltávolítása
42
Csomagok eltávolítása II.
43
Csomagok eltávolítása II.
44
Felesleges helyfoglalás felszabadítása
• ls –lh /var/cache/apt/archives | wc –l
• Ezek már nem kellenek
• sudo apt autoclean
• Eltávolít minden olyan csomagot, amelyik nincs telepítve
• sudo apt clean
• Teljes tartalmat törli
• partial
• Töltési állapotban lévő csomagok
45
rpm alapú csomagkezelés
47
Kompatibilitási kérdések, csomagok konvertálása
48