Csomagkezelés (Linux) – Óraterv

Terv típusa
Óraterv
Szektor
Információs és kommunikációs technológiák
Témakör, tanulási terület
Csomagkezelés
Évfolyam
Fejlesztendő "puha" kompetenciák, készségek
Digitális készségek
Információs műveltség
Kritikus gondolkodás és problémamegoldás
Produktivitás és számonkérhetőség
Fejlesztendő szakmai vagy közismereti tantárgyhoz kapcsolódó készségek
A linux világában megszokott csomagkezelés megismerése (pl. programok telepítéséhez)
Tanítási, tanulásszervezési módszer
Felfedeztető tanulás
Közismereti tantárgy(ak)
Tanulási, fejlesztési célok
A tanulók Arch Linux alapú rendszereken képesek legyenek a csomagok kezelésére.
Fogalmak
package (csomag), repository (tároló), függőség (dependency), metadata (metaadat)
Szükséges eszközök
Valós vagy virtuális környezetben futó linux disztribúció. Live rendszer is megfelel (pl. Systemrescue, Calam-arch-installer, EndeavourOS, ALG). Projektor.
Időtartam
1 óra
Bevezető rész, előkészítés

1. Bevezetés (5 perc)

  • Mi az Arch Linux?
    Az Arch Linux egy rolling release disztribúció. Ez azt jelenti, hogy nincsenek "verziók" (mint például Ubuntu 22.04), hanem folyamatosan érkeznek a legfrissebb csomagok a fejlesztőktől. Ezért nem kell a felhasználóknak verziónként a tárolókat karbantartani. Fókuszban az egyszerűség, minimalizmus és a felhasználói kontroll.
     
  • Mi a csomagkezelő és miért fontos?
    A csomagkezelő (mint az apt vagy yum) egy olyan eszköz, amely a szoftverek telepítését, frissítését és eltávolítását teszi lehetővé egy operációs rendszeren. Arch Linux alatt a pacman automatikusan kezeli a függőségeket, biztosítja a tiszta eltávolítást, és megkönnyíti a szoftverek frissítését.
     
  • Mit értünk függőség alatt?
    A függőség (dependency) egy Linux disztribúciónál olyan szoftver vagy csomag, amelyre egy másik programnak szüksége van a megfelelő működéshez. Telepítéskor ezek a szükséges csomagok települnek először (automatikusan), hogy a kért csomag hiba nélkül működhessen.
Megvalósítás részletes tervezése

2. Rendszerfrissítés és csomagadatbázisok szinkronizálása (10 perc)

Ahhoz, hogy mindig (az interneten elérhető) legfrissebb szoftvereket használjuk, rendszeresen frissítenünk kell saját gépünk csomagokról szóló információs adatbázisát. A pacman szinkronizálja a csomaglistánkat a "master szerverrel".

  • Parancs: sudo pacman -Syu

        Magyarázat: Ez a leggyakrabban használt parancs a rendszer karbantartásához.

            ▪ sudo: Rendszergazdai jogokat biztosít a parancs végrehajtásához.

            ▪ -S (synchronize): A távoli (internetes) tárolókból szinkronizálja a csomagokat.

            ▪ -y (refresh): Frissíti a helyi csomagtárolók listáját és adatbázisait a szerverekről. Ha kétszer adjuk meg (-yy), kényszerít
                az újratöltést, még ha frissnek tűnik is.

            ▪ -u (sysupgrade): Frissíti (letölti és telepíti) az összes csomagot amiknél a tárolókban újabb verziók érhetők el.

    Bemutatás: Futtassuk a parancsot. Ha vannak frissítések, megkérdezi, hogy telepítse-e őket. Alapértelmezetten maga a pacman csomag is frissülhet ezzel a paranccsal.

    Ha csak egy-egy csomagot frissítenénk: sudo pacman -Sy csomag_neve alakkal tehetjük meg.
    Pl. sudo pacman -Sy mc

    3. Telepített csomagok lekérdezése (10 perc)

    A pacman segítségével könnyedén lekérdezhetjük, milyen csomagok vannak telepítve, és részletes információkat kaphatunk róluk.

  • Parancs: pacman -Q

        Magyarázat: Kilistázza a helyi csomagadatbázisban található összes telepített csomagot.
        Bemutatás: Futtassuk a parancsot.

  • Parancs: pacman -Q mc (feltételezve, hogy az mc – Midnight Commander – telepítve van)

        Magyarázat: Ez a parancs ellenőrzi, hogy a megadott nevű csomag telepítve van-e a rendszeren, és kiírja annak verzióját.
        Bemutatás: Futtassuk a parancsot. (Ha az mc nincs telepítve, a pacman hibát jelez. Ebben az esetben telepítsük előtte
        a sudo pacman -S mc paranccsal, vagy használjunk egy másik, biztosan telepített csomagot.)

  • Parancs: pacman -Qi mc

        Magyarázat: Részletes információkat jelenít meg egy telepített csomagról. Láthatjuk a leírását, a verziószámát, a függőségeit,
        az opcionális függőségeit, a telepítési dátumot és a telepített méretet.
        Bemutatás: Futtassuk a parancsot, és értelmezzük a kimenetet.

  • Parancs: pacman -Ql mc

        Magyarázat: Kilistázza egy telepített csomag által a fájlrendszerre telepített összes fájlt és azok elérési útvonalait. Ez a funkció
        biztosítja a "tiszta eltávolítást", mivel a pacman tudja, mely fájlok tartoznak egy csomaghoz, így eltávolításkor nem hagynak
        hátra felesleges fájlokat.
        Bemutatás: Futtassuk a parancsot, és lássuk, mennyi fájlt telepít (és hova) egyetlen csomag.

    4. Csomagok keresése és telepítése (5 perc)

    Ha új szoftvert szeretnénk telepíteni, először meg kell keresnünk a tárolókban (az interneten).

  • Parancs: pacman -Ss mousepad

        Magyarázat: Keresést végez a hivatalos tárolókban (szinkron adatbázisokban) a megadott kifejezésre csomagnév és leírás
        alapján . A mousepad egy könnyű szövegszerkesztő, jó példa a telepítésre.
        Bemutatás: Futtassuk a parancsot. Láthatjuk a találatokat, beleértve a csomag nevét, verzióját és rövid leírását.

  • Parancs: sudo pacman -S mousepad

        Magyarázat: Telepíti a kiválasztott csomagot a tárolóból. A pacman automatikusan feloldja és telepíti az összes szükséges
        függőséget is. Több csomag is telepíthető egyszerre, szóközzel elválasztva a nevüket.
        Bemutatás: Futtassuk a parancsot. Megkérdezi, hogy szeretnénk-e folytatni a telepítést, majd letölti és telepíti a csomagot.

    5. Csomagok eltávolítása és a cache működése (10 perc)

    Amikor egy szoftverre már nincs szükségünk, eltávolíthatjuk a rendszerünkből. A pacman a letöltött csomagokat egy gyorsítótárban is tárolja.

  • Parancs: sudo pacman -R mousepad

        Magyarázat: Ez a parancs eltávolítja a mousepad csomagot, de a hozzá tartozó függőségeket a rendszeren hagyja. Ez akkor          hasznos, ha feltételezzük, hogy más programoknak is szükségük lehet ezekre a függőségekre.
        Bemutatás: Futtassuk a parancsot.

        Tipp: A függőségekkel együtt történő eltávolításhoz az sudo pacman -Rs mousepad parancsot érdemes használni.
        Ez eltávolítja a csomagot és azokat a függőségeit is, amelyekre más telepített csomagnak már nincs szüksége, ezzel segítve a
        rendszer tisztán tartását az "árva" (orphan) csomagoktól.

  • Parancs: sudo pacman -S mousepad (újra telepítés)

        Magyarázat: Amikor újra telepítjük a mousepad csomagot, a pacman először megnézi a gyorsítótárát
        (a /var/cache/pacman/pkg/ mappát). Ha a csomag (vagy annak egy korábbi verziója) már le van töltve, nem tölti le újra az
        internetről, hanem a helyi cache-ből telepíti.
        Bemutatás: Futtassuk a parancsot. Figyeljük meg a kimenetet, valószínűleg nem lesz letöltési folyamat, hanem közvetlenül a
        cache-ből történik a telepítés.

    Kérdés a diákoknak: miért jó ez a gyorsítótár?

  • Gyorsabb telepítés, ha a csomag már le van töltve.
  • Internetkapcsolat nélkül is telepíthetők a már letöltött csomagok.
  • Lehetővé teszi a csomagok leminősítését (downgrade) is egy korábbi verzióra, ha valami probléma adódna a legfrissebbel.

További információ: A pacman nem távolítja el automatikusan a régi csomagokat a gyorsítótárból, ezért idővel ezek sok helyet foglalhatnak. Manuálisan lehet törölni a sudo pacman -Scc (minden fájl törlése a cache-ből) paranccsal, vagy akár direkt a fájlokat az sudo rm /var/cache/pacman/pkg/* paranccsal.

6. Összefoglalás és kérdések (5 perc)

    Összefoglalás:

    sudo pacman -Syu: Rendszer frissítése és adatbázisok szinkronizálása.

    pacman -Q: Telepített csomagok listázása.

    pacman -Qi <csomag_név>: Részletes információ egy telepített csomagról.

    pacman -Ql <csomag_név>: Egy telepített csomag fájljainak listázása.

    pacman -Ss <keresési_minta>: Csomagok keresése a tárolókban.

    sudo pacman -S <csomag_név>: Csomag telepítése.

    sudo pacman -R <csomag_név>: Csomag eltávolítása (függőségek meghagyásával).

    sudo pacman -Rs <csomag_név>: Csomag eltávolítása a nem szükséges függőségekkel együtt.

 

További információk. Az Arch Linuxnak kiváló és részletes dokumentációja van, az ArchWiki (https://wiki.archlinux.org/) oldalon.
Kérdések: Lehetőség a diákoknak kérdéseket feltenni.

Tananyagkészítéshez és az órai munkához használt alkalmazás
ChatGPT
Gemini
Google NotebookLM
PowerPoint 2016+ videó rögzítés
Egyéb, az előző listában nem szereplő digitális eszköz
Libreoffice, Veyon
Értékelési terv

Csomagkezelési feladatok sikerességének felmérése: volt-e valamilyen (hiba)üzenet, a csomaglista tanulmányozása.
Eredmények értelmezése: indítható-e a telepített csomag? Törlődött-e a csomag? Milyen fájlokból áll a csomag? Milyen metainformációk érhetők el a csomagban?
Hibakeresés: hibásan gépelt, vagy jogosulatlan művelet hibaüzeneteinek megértése, a hibák javítása.
 

Differenciálás
Differenciálás a lekérdezéses feladatokban
  • Alapszintű tanulók: a kiadott feladatok tanári útmutatás alapján való végrehajtása.
  • Haladó szintű tanulók: a kiadott feladatok összekapcsolása a korábban tanultakkal (|, more, less, grep).
Differenciálás az oktatási módszerekben
  • Gyakorlati tanulók számára: parancssori eszköz (pacman)
  • Vizuális tanulók számára: grafikus eszköz (pamac)
Feladatok
  1. Keressenek a tanulók számukra fontos kifejezést (pl. game) tartalmazó csomagokat és telepítsék azokat.
  2. A telepített csomagot kérdezzék le, hogy milyen végrehajtható fájlok találhatók bennük (tipp: többnyire /bin/mappákban lesznek a kérdéses fájlok)
  3. Töröljék a csomagot, függőséggel együtt