Linux rendszereken a programok telepítése többféle módon történhet. Történhet úgy, hogy az előre lefordított programokat csak ki kell csomagolni, futtathatóvá tenni őket és kész. Ha úgy tetszik, akkor magunk fordíthatjuk és állíthatjuk be a programokat forráskódból. De a legelterjedtebb és legkényelmesebb módja a telepítéseknek, ha csomagkezelőt használunk. Ebben az esetben is kész, előre lefordított programot kapunk, de a telepítő csomagban benne van minden szükséges információ az adott programhoz. Alapértelmezett konfigurációs fájlok, dokumentációk, sőt még az is hogy milyen egyébb program csomagok szükségesek az adott program futtatásához és ezeket telepíti is vele. Több féle csomagformátum létezik a különböző disztibúciókban. A két legelterjedtebb a Debian féle deb és a Red Hat féle rpm. A csomagok beszerzése miatt sem kell aggódni, erre való a csomagkezelő. A csomagkezelő alapértelmezett beállításaiban megtalálhatóak a gyári hálózati tárolók, ahonnan biztonsággal telepíthetünk szinte bármilyen szükséges programot, de akár fel vehetünk harmadik fél által használt tárolókat is (de csak ha megbízunk a programok hitelességében). Bár a csomagformátumok különbözhetnek de a lényeg mindegyiknél ugyan az. Tudunk velük telepíteni, eltávolítani programokat, keresni a tárolókban, információt kérhetünk le adott csomagokról, függőségeikről stb. A deb és rpm csomagoknál is van alacsony (dpkg/rpm) és magas szintű (apt/yum) csomagkezelés. Az alacsony szintű csomagkezelést csak részben fogom érinteni, e leírásban inkább az APT (Advanced Packaging Tool) és a YUM (Yellowdog Updater Modifier) használatát mutatom be.

Csomag listák frissítése

Debian alapú rendszereken a csomag műveletek előtt ajánlatos a hálózati tárolók, helyben tárolt csomag adatait (cache) frissíteni. Ezt az apt-get update utasítással tehetjük meg.

# apt-get update
Mellőz http://ftp.bme.hu jessie InRelease
Találat http://ftp.bme.hu jessie-updates InRelease
Találat http://security.debian.org jessie/updates InRelease
...
Találat http://security.debian.org jessie/updates/main Translation-en     
Találat http://ftp.bme.hu jessie/main Translation-en                      
Letöltve 1.748 B 4mp alatt (395 B/s)              
Csomaglisták olvasása... Kész

A Red Hat alapú rendszereknél ilyen utasítás nincs, itt minden csomagművelet elött ezt a csomagkezelő megteszi.

Csomagok frissítése

Debian alapú rendszereknél, az apt-get update után kiadott apt-get upgrade megmutatja és felkínálja az elérhető csomag frissítéseket.

# apt-get upgrade
Csomaglisták olvasása... Kész
Függőségi fa építése       
Állapotinformációk olvasása... Kész
Frissítés kiszámítása... Kész
Az alábbi csomagok frissítve lesznek:
  bind9-host dnsutils libbind9-90 libdns-export100 libdns100 libirs-export91 libisc-export95 libisc95 libisccc90 libisccfg-export90 libisccfg90 liblwres90
  libssl1.0.0 linux-image-3.16.0-4-686-pae perl perl-base perl-modules
17 frissített, 0 újonnan telepített, 0 eltávolítandó és 0 nem frissített.
Letöltendő adatmennyiség: 43,5 MB.
A művelet után 389 kB lemezterület kerül felhasználásra.
Folytatni akarja? [I/n]

A -V kapcsolót használva, ellenőrizhetjük az elérhető frissítések verziószámait is.

# apt-get upgrade -V
Csomaglisták olvasása... Kész
Függőségi fa építése       
Állapotinformációk olvasása... Kész
Frissítés kiszámítása... Kész
Az alábbi csomagok frissítve lesznek:
   bind9-host (9.9.5.dfsg-9+deb8u5 => 9.9.5.dfsg-9+deb8u6)
   dnsutils (9.9.5.dfsg-9+deb8u5 => 9.9.5.dfsg-9+deb8u6)
   libbind9-90 (9.9.5.dfsg-9+deb8u5 => 9.9.5.dfsg-9+deb8u6)
...
   perl (5.20.2-3+deb8u3 => 5.20.2-3+deb8u4)
   perl-base (5.20.2-3+deb8u3 => 5.20.2-3+deb8u4)
   perl-modules (5.20.2-3+deb8u3 => 5.20.2-3+deb8u4)
17 frissített, 0 újonnan telepített, 0 eltávolítandó és 0 nem frissített.
Letöltendő adatmennyiség: 43,5 MB.
A művelet után 389 kB lemezterület kerül felhasználásra.
Folytatni akarja? [I/n]

Egy -y kapcsolóval kikényszeríthetünk egy igenleges választ, a frissítés folytatására. Én nem használom, mivel szeretem átfutni a frissítések listáját mielött telepítem őket.

Ha nem szeretnénk az összeset, csak egy vagy több adott csomagot frissíteni, akkor használjuk az adott csomagok nevét az utasításhoz pl. apt-get upgrade dnsutils. Persze itt számolni kell azzal, hogy a függőségeket is frissíteni kell vele együtt, mert azok hiányában ez nem sikerülhet.

# apt-get upgrade bind9-host -V
Csomaglisták olvasása... Kész
Függőségi fa építése       
Állapotinformációk olvasása... Kész
Frissítés kiszámítása... Néhány csomagot nem lehetett telepíteni. Ez azt jelentheti, hogy
egy lehetetlen állapotot kért, vagy ha az unstable disztribúciót
használja, akkor néhány igényelt csomag még nem készült el vagy ki
lett mozdítva az Incoming-ból.
Az alábbi információk segíthetnek megoldani a problémát:

Az alábbi csomagoknak teljesítetlen függőségei vannak:
 dnsutils : Függ ettől: libbind9-90 (= 1:9.9.5.dfsg-9+deb8u5) de csak 1:9.9.5.dfsg-9+deb8u6 telepíthető
            Függ ettől: libdns100 (= 1:9.9.5.dfsg-9+deb8u5) de csak 1:9.9.5.dfsg-9+deb8u6 telepíthető
            Függ ettől: libisc95 (= 1:9.9.5.dfsg-9+deb8u5) de csak 1:9.9.5.dfsg-9+deb8u6 telepíthető
            Függ ettől: libisccfg90 (= 1:9.9.5.dfsg-9+deb8u5) de csak 1:9.9.5.dfsg-9+deb8u6 telepíthető
            Függ ettől: liblwres90 (= 1:9.9.5.dfsg-9+deb8u5) de csak 1:9.9.5.dfsg-9+deb8u6 telepíthető
E: Törött csomagok

A másik utasítás amivel a rendszerünket frissíthetjük, az az apt-get dist-upgrade. Ezt akkor használjuk, ha a disztribúció frissült pl. Debian 7-röl 8-ra. A dist-upgrade lefutása és a rendszer újraindítása után ajánlott egy apt-get update és egy apt-get upgrade lefuttatása is.

Red Hat alapú rendszereknél a yum check-update utasítással ellenőrizhetjük, hogy vannak-e elérhető frissítések a rendszerünkhöz. Ha van, akkor kapunk egy listát a csomagokról és azok verziójáról. Az utasítás visszatérési értéke 0 ha nincsenek és 100 ha vannak frissítések. Ez hasznos lehet ha szkriptben szeretnénk használni. A visszatérési értéket az echo $? paranccsal kérhetjük le.

# yum check-update
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org

avahi-autoipd.x86_64                      0.6.31-15.el7_2.1                 updates
avahi-libs.x86_64                         0.6.31-15.el7_2.1                 updates
bind-libs-lite.x86_64                     32:9.9.4-29.el7_2.2               updates
...
systemd-sysv.x86_64                       219-19.el7_2.4                    updates
tuned.noarch                              2.5.1-4.el7_2.2                   updates
tzdata.noarch                             2016a-1.el7                       updates
# echo $?
100

A yum update utasítással telepíthetjük az elérhető frissítéseket. Ha viszont csak pár csomagot szeretnénk frissíteni, akkor itt is szintén felsorolhatjuk az adott csomagok nevét a parancs végén.

# yum update
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
Függőségek megállapítása
--> Tranzakció ellenőrzés futtatása
---> A(z) avahi-autoipd.x86_64 0:0.6.31-15.el7 csomaggal a következő történik: frissítve
---> A(z) avahi-autoipd.x86_64 0:0.6.31-15.el7_2.1 csomaggal a következő történik: egy frissítés
---> A(z) avahi-libs.x86_64 0:0.6.31-15.el7 csomaggal a következő történik: frissítve
...
---> A(z) tuned.noarch 0:2.5.1-4.el7_2.2 csomaggal a következő történik: egy frissítés
---> A(z) tzdata.noarch 0:2015g-1.el7 csomaggal a következő történik: frissítve
---> A(z) tzdata.noarch 0:2016a-1.el7 csomaggal a következő történik: egy frissítés
--> A függőségvizsgálat véget ért

Függőségek Megtalálva

===========================================================================================================
 Package                          Arch            Verzió                            Tároló           Méret
===========================================================================================================
Telepítés:
 kernel                           x86_64          3.10.0-327.10.1.el7               updates           33 M
Frissítés:
 avahi-autoipd                    x86_64          0.6.31-15.el7_2.1                 updates           39 k
 avahi-libs                       x86_64          0.6.31-15.el7_2.1                 updates           61 k
 bind-libs-lite                   x86_64          32:9.9.4-29.el7_2.2               updates          724 k
...
 systemd-sysv                     x86_64          219-19.el7_2.4                    updates           52 k
 tuned                            noarch          2.5.1-4.el7_2.2                   updates          193 k
 tzdata                           noarch          2016a-1.el7                       updates          431 k

Tranzakció Összegzés
===========================================================================================================
Telepítés   1 Package
Frissítés  46 Packages

Teljes letöltési méret: 83 M
Is this ok [y/d/N]:

És ha csak egy csomagot szeretnénk frissíteni…

# yum update tzdata
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
Függőségek megállapítása
--> Tranzakció ellenőrzés futtatása
---> A(z) tzdata.noarch 0:2015g-1.el7 csomaggal a következő történik: frissítve
---> A(z) tzdata.noarch 0:2016a-1.el7 csomaggal a következő történik: egy frissítés
--> A függőségvizsgálat véget ért

Függőségek Megtalálva

===========================================================================================================
 Package                Arch                   Verzió                        Tároló                  Méret
===========================================================================================================
Frissítés:
 tzdata                 noarch                 2016a-1.el7                   updates                 431 k

Tranzakció Összegzés
===========================================================================================================
Frissítés  1 Package

Teljes letöltési méret: 431 k
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /var/cache/yum/x86_64/7/updates/packages/tzdata-2016a-1.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
A publikus kulcs nincs telepítve a következőhöz: tzdata-2016a-1.el7.noarch.rpm
tzdata-2016a-1.el7.noarch.rpm                                                       | 431 kB  00:00:00     
GPG kulcs beszerzése a következőből: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
A(z) GPG kulcs importálása 0xF4A80EB5:
 Felhasználó: "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Ujjlenyomat: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Csomag       : centos-release-7-2.1511.el7.centos.2.10.x86_64 (@anaconda)
 Származás  : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Ez így jó? [y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Frissítés     : tzdata-2016a-1.el7.noarch                                                            1/2 
  Tisztítás     : tzdata-2015g-1.el7.noarch                                                            2/2 
  Ellenőrzés    : tzdata-2016a-1.el7.noarch                                                            1/2 
  Ellenőrzés    : tzdata-2015g-1.el7.noarch                                                            2/2 

Frissítve:
  tzdata.noarch 0:2016a-1.el7                                                                              

Kész!

Mint láthatjuk, a telepítő jelzi, hogy a CentOS-7 Key (CentOS 7 Official Signing Key) még nincs telepítve, így ezt most megtehetjük. De mielött megtesszük, ellenőrizzük a CentOS weboldalán(link) hogy a kulcs új-lenyomata egyezzen. Mivel a kulcs rendben van, így bekerült a GPG kulcsok közé a /etc/pki/rpm-gpg mappába és a csomagkezelő most már innen használja.

Red Hat alapú rendszereknél a dist-upgrade megfelelője a yum upgrade. Mindkét rendszernél (Debian és Red Hat alapúaknál) ha a kernel frissül akkor szükséges egy újraindítás, hogy a friss kernel használatba kerüljön.

Csomagok keresése

Debian alapú rendszereken ha keresni akarunk az elérhető csomagok között, akkor ezt az apt-cache search utasítással tehetjük meg. Persze ne felejtsük el előtte az apt-get update-el frissíteni a csomag listát.

# apt-cache search htop
aha - ANSI color to HTML converter
htop - interactive processes viewer
libauthen-oath-perl - Perl module for OATH One Time Passwords

Red Hat alapú rendszereken ez hasonlóan történik a yum search-el.

# yum search nano
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
================================ N/S matched: nano ================================
nano.x86_64 : A small text editor

 Csak a név és a leírás egyezik, használja a "search all" parancsot továbbiak kereséséhez.

Csomagok telepítése

Ha meg találtuk a keresett csomagot, akkor telepíthetjük is az apt-get install-al. Az esetleges törött függőségeket az apt-get -f install utasítással tudjuk javítani.

# apt-get install htop -V
Csomaglisták olvasása... Kész
Függőségi fa építése       
Állapotinformációk olvasása... Kész
Javasolt csomagok:
   strace (4.9-2)
   ltrace (0.7.3-4)
Az alábbi ÚJ csomagok lesznek telepítve:
   htop (1.0.3-1)
0 frissített, 1 újonnan telepített, 0 eltávolítandó és 0 nem frissített.
Letöltendő adatmennyiség: 74,0 kB.
A művelet után 205 kB lemezterület kerül felhasználásra.
Letöltés:1 http://ftp.bme.hu/debian/ jessie/main htop i386 1.0.3-1 [74,0 kB]
Letöltve 74,0 kB 0mp alatt (287 kB/s)
A korábban ki nem választott htop csomag kiválasztása.
(Adatbázis olvasása ... 21201 fájl és könyvtár van jelenleg telepítve.)
Kibontás előkészítése: .../archives/htop_1.0.3-1_i386.deb ...
Kibontás: htop (1.0.3-1) ...
Aktiválók feldolgozása: man-db (2.7.0.2-5) ...
Beállítás: htop (1.0.3-1) ...

Illetve Red Hat alapú rendszereken yum install-al.

# yum install nano
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
Függőségek megállapítása
--> Tranzakció ellenőrzés futtatása
---> A(z) nano.x86_64 0:2.3.1-10.el7 csomaggal a következő történik: telepítve
--> A függőségvizsgálat véget ért

Függőségek Megtalálva

===================================================================================
 Package         Arch              Verzió                    Tároló          Méret
===================================================================================
Telepítés:
 nano            x86_64            2.3.1-10.el7              base            440 k

Tranzakció Összegzés
===================================================================================
Telepítés  1 Package

Teljes letöltési méret: 440 k
Telepített méret: 1.6 M
Is this ok [y/d/N]: y
Downloading packages:
nano-2.3.1-10.el7.x86_64.rpm                                | 440 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Telepítés     : nano-2.3.1-10.el7.x86_64                                     1/1 
  Ellenőrzés    : nano-2.3.1-10.el7.x86_64                                     1/1 

Telepítve:
  nano.x86_64 0:2.3.1-10.el7                                                       

Kész!

Mind két esetben több csomagot is lehet egyszerre telepíteni, ez esetben csak fel kell sorolni a kívánt csomagokat, apt-get install csomag1 csomag2 ....

Telepített csomagok

Ha meg szeretnénk nézni a feltelepített csomagok listáját, akkor Debian alapú rendszereken ezt a dpkg -l utasítással tehetjük meg.

# dpkg -l
Kért=ismeretlen(u)/telepítés(i)/eltávolítás(r)/törlés(p)/tartás(h)
| Állapot=nem(n)/telepített(i)/ütköző-fájlok(c)/kibontatlan(u)/félig-
|     ütköző(f)/félig-telepített(h)/aktiválóra-vár(w)/aktiváló-függőben(t)
|/ Hiba?=(nem)/újratelepítés-szükséges(r) (Állapot,Hiba: nagybetű=rossz)
||/ Név            Verzió       Architektúra Leírás
+++-==============-============-============-==================================
ii  acl            2.2.52-2     i386         Access control list utilities
ii  acpi           1.7-1        i386         displays information on ACPI devic
ii  acpi-support-b 0.142-6      all          scripts for handling base ACPI eve
...
ii  xkb-data       2.12-1       all          X Keyboard Extension (XKB) configu
ii  xml-core       0.13+nmu2    all          XML infrastructure and XML catalog
ii  zlib1g:i386    1:1.2.8.dfsg i386         compression library - runtime

Ennek eredménye egy jó hosszú lista amit a grep utasítással szűkíthetünk.

# dpkg -l | grep image
ii  linux-base                    3.5                         all          Linux image base package
ii  linux-image-3.16.0-4-686-pae  3.16.7-ckt20-1+deb8u4       i386         Linux 3.16 for modern PCs
ii  linux-image-686-pae           3.16+63                     i386         Linux for modern PCs (meta-package)

Red Hat alapú rendszereknél a yum list installed vagy az rpm -qa utasítással tehetjük meg ugyanezt.

# yum list installed
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
Telepített csomagok
NetworkManager.x86_64                 1:1.0.6-27.el7                      @anaconda
NetworkManager-libnm.x86_64           1:1.0.6-27.el7                      @anaconda
NetworkManager-tui.x86_64             1:1.0.6-27.el7                      @anaconda
...
yum-metadata-parser.x86_64            1.1.4-10.el7                        @anaconda
yum-plugin-fastestmirror.noarch       1.1.31-34.el7                       @anaconda
zlib.x86_64                           1.2.7-15.el7                        @anaconda

Ezek szintén hosszú listák, de a grep-el itt is célzottan szűkithetünk.

# rpm -qa | grep nano
nano-2.3.1-10.el7.x86_64
# yum list installed | grep nano
nano.x86_64                         2.3.1-10.el7                       @base

Csomag információk

Egy adott csomagról mindent megtudhatunk az apt-cache showpkg utasítással. A függőségeit, hogy mely csomagok függnek tőle, verzióját és az MD5 ellenőrző kódját.

# apt-cache showpkg htop
Package: htop
Versions: 
1.0.3-1 (/var/lib/apt/lists/ftp.bme.hu_debian_dists_jessie_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/ftp.bme.hu_debian_dists_jessie_main_binary-i386_Packages
                  MD5: 8eb5aa19b3c92a975dc78e2165f6688d
 Description Language: en
                 File: /var/lib/apt/lists/ftp.bme.hu_debian_dists_jessie_main_i18n_Translation-en
                  MD5: 8eb5aa19b3c92a975dc78e2165f6688d


Reverse Depends: 
  util-vserver,htop
  lava-dispatcher,htop
  education-common,htop
Dependencies: 
1.0.3-1 - libc6 (2 2.15) libncursesw5 (2 5.6+20070908) libtinfo5 (0 (null)) strace (0 (null)) ltrace (0 (null)) 
Provides: 
1.0.3-1 - 
Reverse Provides:

Ha csak a függőségekre vagyunk kíváncsiak, akkor azt az apt-cache depends és apt-cache rdepends-el is lekérdezhetjük.

# apt-cache depends htop
htop
  Függ ettől: libc6
  Függ ettől: libncursesw5
  Függ ettől: libtinfo5
  Javasolja: strace
  Javasolja: ltrace
# apt-cache rdepends htop
htop
Reverse Depends:
  util-vserver
  lava-dispatcher
  education-common

Az adott csomagban levő fájlokat az apt-file list mutatja meg nekünk. Ez nem az apt csomag része, ezt külön kell telepítünk az apt-get install apt-file utasítással. Telepítés után az apt-file adatbázisát aktualizálni kell, az apt-file update-el.

# apt-file update
Downloading complete file http://ftp.bme.hu/debian/dists/jessie/main/Contents-i386.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 26.2M  100 26.2M    0     0  2696k      0  0:00:09  0:00:09 --:--:-- 2757k
Ignoring source without Contents File:
  http://security.debian.org/dists/jessie/updates/main/Contents-i386.gz
Downloading complete file http://ftp.bme.hu/debian/dists/jessie-updates/main/Contents-i386.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22841  100 22841    0     0   212k      0 --:--:-- --:--:-- --:--:--  214k

Most már jöhet a listázás.

# apt-file list htop
htop: /usr/bin/htop
htop: /usr/share/applications/htop.desktop
htop: /usr/share/doc/htop/AUTHORS
htop: /usr/share/doc/htop/README
htop: /usr/share/doc/htop/changelog.Debian.gz
htop: /usr/share/doc/htop/changelog.gz
htop: /usr/share/doc/htop/copyright
htop: /usr/share/man/man1/htop.1.gz
htop: /usr/share/menu/htop
htop: /usr/share/pixmaps/htop.png

Red Hat alapú rendszereken is hasonló az eljárás. Itt az információt az adott csomagról a yum info mutatja meg.

# yum info nano
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
Telepített csomagok
Név         : nano
Arch        : x86_64
Verzió      : 2.3.1
Kiadás      : 10.el7
Méret       : 1.6 M
Tároló      : installed
Tárolóból   : base
Összegzés   : A small text editor
URL         : http://www.nano-editor.org
Licenc      : GPLv3+
Leírás      : GNU nano is a small and friendly text editor.

Azt hogy az adott csomagnak mik a függőségei és tőle mely csomagok függnek, itt az rpm -qR és rpm -q --whatrequires utasítással deríthető ki.

# rpm -qR nano
/bin/sh
/bin/sh
/sbin/install-info
/sbin/install-info
config(nano) = 2.3.1-10.el7
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.6)(64bit)
libncursesw.so.5()(64bit)
libtinfo.so.5()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
# rpm -q --whatrequires 'config(nano)'
nano-2.3.1-10.el7.x86_64

Az adott csomag fájljait itt szintén egy külön csomaggal lehet megnézni, a repoquery-vel. Ezt a yum install yum-utils utasítással tudjuk telepíteni.

# yum install yum-utils
Betöltött bővítmények: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.freepark.org
 * extras: ftp.freepark.org
 * updates: ftp.freepark.org
Függőségek megállapítása
--> Tranzakció ellenőrzés futtatása
---> A(z) yum-utils.noarch 0:1.1.31-34.el7 csomaggal a következő történik: telepítve
--> A(z) python-kitchen függőség feldolgozása a következő csomaghoz: yum-utils-1.1.31-34.el7.noarch
--> Tranzakció ellenőrzés futtatása
---> A(z) python-kitchen.noarch 0:1.1.1-5.el7 csomaggal a következő történik: telepítve
--> A(z) python-chardet függőség feldolgozása a következő csomaghoz: python-kitchen-1.1.1-5.el7.noarch
--> Tranzakció ellenőrzés futtatása
---> A(z) python-chardet.noarch 0:2.2.1-1.el7_1 csomaggal a következő történik: telepítve
--> A függőségvizsgálat véget ért

Függőségek Megtalálva

===================================================================================
 Package                Arch           Verzió                   Tároló       Méret
===================================================================================
Telepítés:
 yum-utils              noarch         1.1.31-34.el7            base         113 k
Telepítés a függőségeknek:
 python-chardet         noarch         2.2.1-1.el7_1            base         227 k
 python-kitchen         noarch         1.1.1-5.el7              base         267 k

Tranzakció Összegzés
===================================================================================
Telepítés  1 Package (+2 Függőben lévő csomagok)

Teljes letöltési méret: 607 k
Telepített méret: 2.8 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): python-kitchen-1.1.1-5.el7.noarch.rpm                | 267 kB  00:00:00     
(2/3): python-chardet-2.2.1-1.el7_1.noarch.rpm              | 227 kB  00:00:01     
(3/3): yum-utils-1.1.31-34.el7.noarch.rpm                   | 113 kB  00:00:01     
-----------------------------------------------------------------------------------
Összesen                                              295 kB/s | 607 kB  00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Telepítés     : python-chardet-2.2.1-1.el7_1.noarch                          1/3 
  Telepítés     : python-kitchen-1.1.1-5.el7.noarch                            2/3 
  Telepítés     : yum-utils-1.1.31-34.el7.noarch                               3/3 
  Ellenőrzés    : python-kitchen-1.1.1-5.el7.noarch                            1/3 
  Ellenőrzés    : yum-utils-1.1.31-34.el7.noarch                               2/3 
  Ellenőrzés    : python-chardet-2.2.1-1.el7_1.noarch                          3/3 

Telepítve:
  yum-utils.noarch 0:1.1.31-34.el7                                                 

Függőség Telepítve:
  python-chardet.noarch 0:2.2.1-1.el7_1     python-kitchen.noarch 0:1.1.1-5.el7    

Kész!

És így már jöhet a listázás.

# repoquery --list nano
/etc/nanorc
/usr/bin/nano
/usr/bin/rnano
...
/usr/share/nano/tcl.nanorc
/usr/share/nano/tex.nanorc
/usr/share/nano/xml.nanorc

Csomagok eltávolítása

Debian alapú rendszerek esetén a már nem szükséges csomagokat az apt-get remove utasítással távolíthatjuk el. Ez eltávolítja ugyan a csomagot, de meghagyja a beállítás és konfigurációs fájlokat.

# apt-get remove htop
Csomaglisták olvasása... Kész
Függőségi fa építése       
Állapotinformációk olvasása... Kész
Az alábbi csomagok el lesznek TÁVOLÍTVA:
  htop
0 frissített, 0 újonnan telepített, 1 eltávolítandó és 0 nem frissített.
A művelet után 205 kB lemezterület szabadul fel.
Folytatni akarja? [I/n] 
(Adatbázis olvasása ... 21700 fájl és könyvtár van jelenleg telepítve.)
Eltávolítás: htop (1.0.3-1) ...
Aktiválók feldolgozása: man-db (2.7.0.2-5) ...

Ha ezekkel együtt szeretnénk eltávolítani az adott csomagot, akkor az apt-get purge utasítást használjuk.

# apt-get purge bind9

A különböző függőségek miatt telepített és már feleslegessé vált csomagokat az apt-get autoremove távolítja el.

# apt-get autoremove

A telepített csomagok deb fájljai a /var/cache/apt/archives mappában tárolódnak. Az apt-get autoclean utasítással törölhetőek azon deb csomagok amelyekre már nincs szükség.

# apt-get autoclean
Csomaglisták olvasása... Kész
Függőségi fa építése       
Állapotinformációk olvasása... Kész
Del libirs-export91 1:9.9.5.dfsg-9+deb8u5 [39,2 kB]
Del libdns-export100 1:9.9.5.dfsg-9+deb8u5 [486 kB]
Del liblwres90 1:9.9.5.dfsg-9+deb8u5 [54,5 kB]
Del libdns100 1:9.9.5.dfsg-9+deb8u5 [733 kB]
Del libisc95 1:9.9.5.dfsg-9+deb8u5 [177 kB]
Del libisccfg-export90 1:9.9.5.dfsg-9+deb8u5 [42,1 kB]
Del libisccc90 1:9.9.5.dfsg-9+deb8u5 [37,1 kB]
Del bind9-host 1:9.9.5.dfsg-9+deb8u5 [71,9 kB]
Del dnsutils 1:9.9.5.dfsg-9+deb8u5 [124 kB]
Del linux-image-3.16.0-4-686-pae 3.16.7-ckt20-1+deb8u3 [33,4 MB]
Del libbind9-90 1:9.9.5.dfsg-9+deb8u5 [45,1 kB]
Del libisc-export95 1:9.9.5.dfsg-9+deb8u5 [146 kB]
Del libisccfg90 1:9.9.5.dfsg-9+deb8u5 [57,1 kB]

Az apt-get clean viszont törli az összes deb csomagot a /var/cache/apt/archives mappából ezzel sok tárterületet megtakarítva.

# apt-get clean

Red Hat alapú rendszereken a yum remove utasítás távolítja el a nem kívánt csomagot, az összes, már nem szükséges függőségével együtt.

# yum remove nano
Betöltött bővítmények: fastestmirror
Függőségek megállapítása
--> Tranzakció ellenőrzés futtatása
---> A(z) nano.x86_64 0:2.3.1-10.el7 csomaggal a következő történik: törölve
--> A függőségvizsgálat véget ért

Függőségek Megtalálva

===================================================================================
 Package         Arch              Verzió                   Tároló           Méret
===================================================================================
Eltávolítás:
 nano            x86_64            2.3.1-10.el7             @base            1.6 M

Tranzakció Összegzés
===================================================================================
Eltávolítás  1 Package

Telepített méret: 1.6 M
Ez így jó? [y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Törlés        : nano-2.3.1-10.el7.x86_64                                     1/1 
  Ellenőrzés    : nano-2.3.1-10.el7.x86_64                                     1/1 

Eltávolítva:
  nano.x86_64 0:2.3.1-10.el7                                                       

Kész!

Élet egy proxy mögött

Az apt csomagnak Debian alapú rendszerek alatt, a konfigurációs fájljában tudjuk megadni a proxy beállításokat, ha olyan a hálózat, hogy a telepítés és frissítés csak azon keresztül lehetséges. Ehhez hozzunk létre egy 90Proxy fájlt a /etc/apt/apt.conf.d mappában a következő tartalommal.

# nano /etc/apt/apt.conf.d/90Proxy
Acquire::http::Proxy "http://proxy_IP_cím:proxy_port";

Jelszavas proxy esetén pedig

# nano /etc/apt/apt.conf.d/90Proxy
Acquire::http::Proxy "http://proxy_felhasználó:proxy_jelszó@proxy_IP_cím:proxy_port";

Rde Hat alapú rendszereknél a /etc/yum.conf fájlba kell szerkesztenünk.

# nano /etc/yum.conf
proxy=http://proxy_IP_cím:proxy_port

Ha jelszavas a proxy, akkor pedig

# nano /etc/yum.conf
proxy=http://proxy_IP_cím:proxy_port
proxy_username=proxy_felhasználó
proxy_password=proxy_jelszó

Mind két rendszernél (Debian és Red Hat alapúnál) a proxy beállításokat környezeti változókba is tehetjük.

# http_proxy="http://proxy_IP_cím:proxy_port"
# export http_proxy

Vagy ha jelszavas a proxy, akkor

# http_proxy="http://proxy_felhsználó:proxy_jelszó@proxy_IP_cím:proxy_port"
# export http_proxy

Persze ezek csak az adott shell-ben lesznek érvényben, ha tartósan be akarjuk állítani, akkor tehetjük profilba rendszer vagy felhasználó szinten.

Ez elég hosszúra sikeredett, de remélem érthető lett.