Linux I.
Webmester - 2015. 06. 04. 13:41

Alapvetően Windowson nevelkedtem, de az évek alatt sokszor neki futottam a Linuxnak is. Tanítottak alapokat, shell scriptet egyetemen, kíváncsiságból játszadoztam otthon, és az utóbbi időben munka miatt is sokat kellett Linuxon tevékenykednem. Mivel mindig csak rövid időszakokban foglalkoztam vele, sokszor elhatároztam, hogy írok a tapasztalatokról, jegyzetelek, hogy vissza tudjam keresni később a dolgokat, ha újra szükségem lenne rá. Nos végre sikerült jegyzetelnem, már csak poszt formába kell önteni őket. Íme az első, melyben az apt (és kicsit a dpkg) csomagkezelő használatához kapcsolódó dolgokat veszek górcső alá.

Le szeretném szögezni rögtön az elején, hogy Debian alapú linuxokat használok (debian, ubuntu, Mint), más verziókon lehetnek eltérések. A másik dolog, hogy tapasztalataim alapján egy feladatot sokféleképp el lehet végezni (mint általában az informatika, programozás világában), megeshet, hogy létezik hatékonyabb mód is az itt ismertetetteknél. Helyesbítéseket, javításokat szívesen fogadok (egyelőre) emailben.

Honnan is veszi az apt a csomagokat?

Az /etc/apt/ könyvtárban kell keresgélnünk, itt lakik egy sources.list nevű fájl, melyben fel vannak sorolva a források. Ha új forrást szeretnék felvenni, ehhez a fájlhoz adhatjuk hozzá, vagy létrehozhatunk egy új fájlt a forrással az /etc/apt/sources.list.d mappába. Az apt automatikusan felolvassa ebből a könyvtárból a fájlokat, amikor szükséges.

Ha nem vagyunk biztosak abban, hogy egy adott forrás már benne van a listában, az alábbi paranccsal könnyedén rákereshetünk:

$ sudo fgrep -R -i keresett_kifejezés /etc/apt`

Például, ha kíváncsiak vagyunk, hogy a java telepítéséhez felvettük-e már a szükséges repository-t, azt így tehetjük meg:

$ sudo fgrep -R -i java /etc/apt

Melyre hasonló kimenetet kapunk ha már szerepel a repository a listánkban (ellenkező esetben nem lesz semmilyen kimenet):

/etc/apt/sources.list:deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
/etc/apt/sources.list:deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main

Milyen csomagok vannak a gépre telepítve?

Mivel rengeteg csomag van fent már alapból egy linux telepítése után, érdemes szűkíteni, hogy mire is vagyunk kíváncsiak. Ezt megtehetjük például így (értelemszerűen ha elhagyjuk a | grep részt, akkor megkapjuk a teljes listát):

$ dpkg --get-selections | grep kereső_kifejezés

A java-s példánál maradva egy példa parancs és kimenet:

$ dpkg --get-selections | grep java
java-common                                     install  
javascript-common                               install  
oracle-java7-installer                          install

Hova kerülnek az apt-tal telepített csomagok fájljai?

Az alábbi parancs listázza egy csomag összes fájljának helyét:

$ dpkg -L csomagnév

Példa a java-common csomaggal:

$ dpkg -L java-common
/.
/usr
/usr/sbin
/usr/sbin/update-java-alternatives
/usr/share
/usr/share/java
...

Hogyan frissítem a csomagokat?

A csomaglistát az apt-get update paranccsal frissíthetjük.
Ez után tudunk egy adott csomagot frissíteni az apt-get install csomagnév paranccsal, vagy az összes csomagot az apt-get upgrade paranccsal.

Források

Címkék: linux