Bevezetés
A legtöbb Unix-szerű 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 pedig úgynevezett repository-ban (továbbiakban tároló) tárolják. A csomagokkal való munkát csomagkezelésnek hívjuk. A csomagok gondoskodnak az alap komponenseiről az operációs rendszernek, együtt véve az osztott könyvtárakkal (shared libraries), alkalmazásokkal, szolgáltatásokkal és dokumentációkkal.
A csomagkezelő rendszer többet nyújt, mint egy szoftver egyszeri telepítése, például lehetőséget nyújt a már feltelepített csomagok frissítésére is. A tárolók segítséget nyújtanak abban, hogy megbizonyosodj, az adott program kódját átvizsgálták a rendszeren való használathoz, és hogy a feltöltött szoftver jóváhagyásra került a fejlesztők és a csomag karbantartói által.
Amikor szervert vagy fejlesztői környezetet konfigurálunk, gyakran szükségünk lehet nem csak a hivatalos tárolók használatára. A csomagok a stabil kiadásban talán elavultak, különösen akkor, ha egy új, gyorsan változó szoftverről van szó. Mindazonáltal a csomagkezelő egy létfontosságú eszköz egy rendszergazda és fejlesztő számára.
Ennek a leírásnak a célja, hogy megismerd az alapvető funkciókat, mint a csomagok keresése, telepítése és frissítése különböző disztribúciókon.
Csomagkezelő rendszerek: Egy rövid áttekintés
A legtöbb csomagkezelő rendszer csomagok kollekciója köré épült. A csomagfájl általában egy archívum, ami tartalmaz lefordított binárisokat és más forrásokat, telepítő scripteket. A csomagok tartalmaznak még metaadatokat, beleértve a függőségek listáját, ami tartalmazza a telepítéshez szükséges egyéb csomagok nevét.
Bár a funkcionalitás nagyjából hasonló, a csomag formátuma és az eszköz változik platformonként:
Operációs rendszer | Formátum | Csomagkezelő |
---|---|---|
Debian | .deb |
apt , apt-cache , apt-get , dpkg |
Ubuntu | .deb |
apt , apt-cache , apt-get , dpkg |
CentOS | .rpm |
yum |
Fedora | .rpm |
dnf |
FreeBSD | Port -ok, .txz |
make , pkg |
Debian-on és Debian alapú rendszereken, mint az Ubuntu, Linux Mint és Raspbian a csomagformátum a .deb
. Az APT (Advanced Packaging Tool) biztosítja a parancsokat a leggyakrabban használt műveletekre, mint pl.: keresés a tárolóban, csomagok telepítése a hozzájuk tartozó függőségekkel együtt és a frissítések kezelése. Az APT parancsok úgy működnek, mint egy front-end az alacsonyabb szintű dpkg
utility-hez ami kezeli a telepítését a különböző .deb
fájloknak a helyi rendszeren.
A CentOS, Fedora és más tagja a Red Hat családnak RPM fájlokat használ. CentOS-on a yum
használható az egyedi csomagfájlok és tárolók kezelésére.
A Fedora utóbbi verzióiban a yum
-ot felváltotta a dnf
, ami egy modernizált változata a yum
-nak, de megtartotta a legtöbb felületet.
A FreeBSD bináris csomagrendszere a pkg
paranccsal kezelhető. A FreeBSD kínál úgynevezett Port kollekciókat vagy másnéven Port fákat, ami nyújt egy helyi könyvtár struktúrát és eszközöket, amik lehetővé teszik a felhasználó számára, hogy fordítson és telepítsen csomagokat egyenesen forráskódból Makefile használatával. Általában sokkal kényelmesebb a pkg
-t használni, de néha egy előre összeállított csomag nem érhető el, vagy esetleg meg kell változtatni fordítási beállításokat.
Csomagok listájának frissítése
Sok rendszer tart egy helyi adatbázist arról, hogy milyen csomagok érhetőek el a távoli tárolókban. A legjobb, ha minden csomag telepítés vagy frissítés előtt frissítjük ezt az adatbázist. Kivétel ez alól a yum
és a dnf
ami egy frissítést végez el mielőtt valamilyen műveletet végeznénk.
Operációs rendszer | Parancs |
---|---|
Debian / Ubuntu | sudo apt-get update |
CentOS | yum check-update |
Fedora | dnf check-update |
FreeBSD Csomagok | sudo pkg update |
FreeBSD Portok | sudo portsnap fetch update |
Telepített csomagok frissítése
Ügyelnünk kell arra, hogy minden telepített szoftver a rendszeren frissítve legyen, ez csomagkezelő nélkül elég nehéz feladat lenne, meg kellene nézni több száz csomag változásnaplóját és biztonsági javításait.
FreeBSD-n a telepített port-okat sok esetben manuálisan kell beállítani, hogy frissíteni lehessen. A legjobb elolvasni a /usr/ports/UPDATING
fájlt mielőtt frissítünk portmaster
-el.
Operációs rendszer | Parancs | Megjegyzés |
---|---|---|
Debian / Ubuntu | sudo apt-get upgrade |
Csak a telepített csomagokat frissíti amennyiben lehetséges. |
sudo apt-get dist-upgrade |
Frissít minden csomagot a legújabb verzióra és telepít vagy eltávolít függőségeket ha szükséges. | |
CentOS | sudo yum update |
|
Fedora | sudo dnf upgrade |
|
FreeBSD Csomagok | sudo pkg upgrade |
|
FreeBSD Portok | less /usr/ports/UPDATING |
Használd a less parancsot, hogy megnézd a frissítési leírást a portokhoz. |
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a |
Feltelepíti a portmaster -t és frissíti a telepített portokat. |
Csomag keresése
A legtöbb disztribúció kínál grafikus vagy menü vezérelt front-end-et a csomag kollekciókhoz. Ez lehet egy jó és könnyű módja, hogy böngésszünk a kategóriák között és új szoftvereket fedezzünk fel. Gyakran azonban a leghatékonyabb és leggyorsabb módszer, hogy megtaláljunk egy csomagot a parancssorban való keresés.
Operációs rendszer | Parancs | Megjegyzés |
---|---|---|
Debian / Ubuntu | apt-cache search keresési_szöveg |
|
CentOS | yum search keresési_szöveg |
|
yum search all keresési_szöveg |
A csomag leírásában is keres. | |
Fedora | dnf search keresési_szöveg |
|
dnf search all keresési_szöveg |
A csomag leírásában is keres. | |
FreeBSD Csomagok | pkg search keresési_szöveg |
Név alapján keres. |
pkg search -f keresési_szöveg |
Név alapján keres és visszaadja a teljes csomag leírást. | |
pkg search -D keresési_szöveg |
A csomag leírásában keres. | |
FreeBSD Portok | cd /usr/ports && make search name=csomagnév |
Név alapján keres. |
cd /usr/ports && make search key=keresési_szöveg |
A csomag leírásában és függőségeiben keres. |
Részletes információ megtekintése egy adott csomagról
Amikor eldől miket is szeretnénk telepíteni gyakran hasznos elolvasni előtte a részletes leírásait a csomagoknak. Ezek a leírások gyakran tartalmaznak metaadatokat mint a verziószám és/vagy a szükséges egyéb csomagok listáját.
Operációs rendszer | Parancs | Megjegyzés |
---|---|---|
Debian / Ubuntu | apt-cache show csomag |
Megmutatja a helyileg tárolt információt a csomagról. |
dpkg -s csomag |
Megmutatja az aktuális telepítési állapotát a csomagnak. | |
CentOS | yum info csomag |
|
yum deplist csomag |
Megmutatja a csomag függőségi listáját. | |
Fedora | dnf info csomag |
|
dnf repoquery --requires csomag |
Megmutatja a csomag függőségi listáját. | |
FreeBSD Csomagok | pkg info csomag |
Információt ad a telepített csomagról. |
FreeBSD Portok | cd /usr/ports/kategória/port_név && cat pkg-descr/code> |
Csomag telepítése tárolóból
Ha már tudjuk a nevét a csomagnak, akkor általában már egy paranccsal tudjuk telepíteni a csomagot és a függőségeit. Általánosságban elmondható, hogy ha több csomagot akarunk telepíteni elég felírni egymás után a nevüket.
Operációs rendszer | Parancs | Megjegyzés |
---|---|---|
Debian / Ubuntu | sudo apt-get install csomag |
|
sudo apt-get install csomag1 csomag2 ... |
Feltelepíti a felsorolt csomagokat. | |
sudo apt-get install -y csomag |
Automatikus "igen" parancs telepítésnél. | |
CentOS | sudo yum install csomag |
|
yum deplist csomag |
Megmutatja a csomag függőségi listáját. | |
Fedora | dnf info csomag |
|
dnf repoquery --requires csomag |
Megmutatja a csomag függőségi listáját. | |
FreeBSD Csomagok | pkg info csomag |
Információt ad a telepített csomagról. |
FreeBSD Portok | cd /usr/ports/kategória/port_név && cat pkg-descr |
Felépíti és telepít Port-ot forráskódból. |
Csomag telepítése helyi fájlrendszerről
Néha, még ha a csomag nem is hivatalosan van kiadva az adott operációs rendszerre, a fejlesztő vagy eladó kínál telepítési csomagot letöltésre. Ezeket le tudod tölteni a böngésződdel vagy akár parancssorból is.
Debian alapú rendszereken, a dpkg
kezeli a csomagfájlokat. Ha egy csomagnak függőségei vannak, akkor a gdebi
segítségével le tudod tölteni őket a hivatalos tárolókból.
CentOS, Fedora rendszeren a yum
és a dnf
használható a fájlok telepítésére és ezek a programok kezelik a függőségeket is.
Operációs rendszer | Parancs | Megjegyzés |
---|---|---|
Debian / Ubuntu | sudo dpkg -i csomag.deb |
|
sudo apt-get install -y gdebi && sudo gdebi csomag.deb |
Feltelepíti és hasznlája a gdebi-t a szükséges, hiányzó függőségek telepítésére. | |
CentOS | sudo yum install csomag.rpm |
|
Fedora | sudo dnf install csomag.rpm |
|
FreeBSD Csomagok | sudo pkg add csomag.txz |
|
sudo pkg add -f csomag.txz |
Akkor is feltelepíti a csomagot, ha az már fel van telepítve. |
Egy vagy több feltelepített csomag törlése
Mivel a csomagkezelő tudja, milyen fájlokat biztosít az adott csomag, ezért általában eltávolítja őket, ha a szoftver többé nem szükséges.
Operációs rendszer | Parancs | Megjegyzés |
---|---|---|
Debian / Ubuntu | sudo apt-get remove csomag |
|
sudo apt-get autoremove |
Letörli a nem szükséges csomagokat. | |
CentOS | sudo yum remove csomag |
|
Fedora | sudo dnf erase csomag |
|
FreeBSD Csomagok | sudo pkg delete csomag |
|
sudo pkg autoremove |
Letörli a nem szükséges csomagokat. | |
FreeBSD Portok | sudo pkg delete csomag |
|
cd /usr/ports/eleresi_ut_a_porthoz && make deinstall |
Letörli a feltelepített portot. |
Segítség keresése
Mivel a csomagkezelő tudja, milyen fájlokat biztosít az adott csomag, ezért általában eltávolítja őket, ha a szoftver többé nem szükséges.
Operációs rendszer | Parancs | Megjegyzés |
---|---|---|
Debian / Ubuntu | sudo apt-get remove csomag |
|
sudo apt-get autoremove |
Letörli a nem szükséges csomagokat. | |
CentOS | sudo yum remove csomag |
|
Fedora | sudo dnf erase csomag |
|
FreeBSD Csomagok | sudo pkg delete csomag |
|
sudo pkg autoremove |
Letörli a nem szükséges csomagokat. | |
FreeBSD Portok | sudo pkg delete csomag |
|
cd /usr/ports/eleresi_ut_a_porthoz && make deinstall |
Letörli a feltelepített portot. |