Csomagfüggőség

az informatikában használatos fogalom

A csomagfüggőség szó az angol package dependency nyersfordítása. Leggyakrabban az informatikában használatos, különösen nyílt forrású operációs rendszerekkel (pl. Linux disztribúciókkal) kapcsolatban. Ezen rendszerek nagyszámú szoftvercsomaggal érkeznek. Nagyon sok alkalmazás épülhet egy vagy több olyan más csomagra (library), amelyet a fejlett csomagkezelő csak egy példányban telepít. Ennek köszönhetően kevesebb tárhely kerül felhasználásra és a csomagverziók követése is könnyebbé válhat. Csomagkezelés nélküli rendszereken a sok példányban létező alkalmazások és/vagy könyvtárak (library-k) követése, frissítése, eltávolítása külön probléma.

A Linux-disztribúciók túlnyomó többsége a telepítendő szoftvereket tömörítve, csomagok formájában tartalmazza. A csomagok adatokat (bináris vagy forráskód, a program által használt adatok – például képek, hangok stb.), dokumentációt, valamint metaadatokat (a telepített csomag leírása, telepítőszkriptek, függőségi adatok) tartalmaznak.

A csomagfüggőség azt határozza meg, mely más csomagokat kell telepíteni ahhoz, hogy a telepíteni kívánt csomag (alkalmazás) működőképes legyen.

Sok disztribúció a csomagfüggőségeket automatikusan kezeli, a hiányzó csomagokat internetkapcsolaton (vagy más forrásból, például SMB vagy NFS csatolásról, optikai lemezről, stb.) keresztül automatikusan letölti, vagy ha ez nem lehetséges, megtagadja a kérdéses csomag telepítését.

Elismert csomagkezelők

szerkesztés
  • dpkg + apt / aptitude (Debian, Ubuntu és mások)
  • rpm + yum / apt (openSUSE, Fedora, RedHat, CentOS)
  • pacman (Arch és mások)
  • portage (gentoo és klónjai)

Felesleges csomagok és eltávolításuk

szerkesztés

Egy adott csomag (alkalmazás) eltávolítása után a csomagfüggőség miatt telepítve maradhatnak olyan csomagok, amelyekre az eltávolított csomag(ok) miatt már nincs szükség. Ezek eltávolításával tárhelyet takaríthatunk meg a merevlemezen.

  • apt csomagkezelő alatt:

$ sudo apt-get autoremove && sudo apt-get clean all && sudo apt-get autoclean all