PAKIETY

Definicje:

repository
GPG
dependency
rpm database
rpm query: -a all, -f plik (absolute path), -p package
rpm query: -i informacja, -l lista, -s stan plikow, -d dokumentacja, -cconfig files

rpm verify - porownuje informacje miedzy plikami z zainstalowanego pakeitu a tymi obecnymi w systemie. Różnice mają oznaczenia:
5 — MD5 checksum S — file size L — symbolic link T — file modification time D — device U — user G — group M — mode (includes permissions and file type) ? — unreadable file

1. Zebranie informacji o pakiecie

rpm --query --info coreutils
um info coreutils
repoquery --info coreutils
repoquery --nvr lftp (name-version-release)

2. Wyswietlenie changelog
rpm --query --changelog coreutils
repoquery --changelog selinux-policy

Lista plikow w pakiecie
rpm --query --list coreutils
repoquery --list coreutils

Jaki pakiet posiada potrzebny plik?
yum provides "*/init.d/rsyslog"

Roznica --whatprovides i --provides
--whatprovides - przeszukuje pakiety, ktore zapewniaja capability/feature/ceche/funkcje. Znalazlem biblioteke i nazwe pakietu w jaki jest, to sprawdze co jeszcze jest w pakiecie
--provides - co zapewnia pakiet (co znajduje sie w pakiecie), jakie features.
Szukanie pakietu kiedy mam podany modul
--requires - wyswietla dependancies dla pakietu
--whatrequires - listuje wszystkie pakiety, ktore posiadaja feature

--whatrequires CAPABILITY - wyszuka pakiety, ktore posiadaja CAPABILITY
--whatprovides CAPABILITY - wyszuka pakiety, ktore dostarcza CAPABILITY rpm --query --whatprovides "/etc/init.d/rsyslog"

Lista dependencies pakietu?
rpm --query --requires coreutils
repoquery --requires coreutils (nazwy plikow)
repoquery --requires --resolve coreutils (nazwy pakietow)
repoquery --whatrequires openssl

Które pakiety potrzebują pliku/pakietu?
rpm --query --requires coreutils
repoquery --requires --resolve -f "/lib64/libselinux.so.1"
repoquery --whatrequires -f "/lib64/libselinux.so.1"

Co dzieje sie po zainstalowaniu pakietu?
rpm --query --scripts coreutils

Lista dependencies dla pakietu?
rpm -q --whatprovides bar.so.2
yum deplist coreutils

Skąd moge pobrac pakiet?
repoquery --location lftp
wget `repoquery --location lftp`

Co wlacza pakiet? Co jest wlaczane przez pakiet?
rpm --query --triggers -f /etc/inittab

Potencjalne konflikty
repoquery --conflicts rsyslog

rpm -ivh --replacefiles foo-1.0-1.i386.rpm - ignorowanie (na podstawie redhat.access.)

Importowanie bazy danych kluczy z nośnika
rpm --import /mnt/cdrom/RPM-GPG-KEY

Listowanie zainstalowanych w bazie kluczy
rpm -qa gpg-pubkey*

Sprawdzenie czego dotyczy klucz
rpm -qi gpg-pubkey-7fac5991-4615767f

Sprawdzenie GPG przed instalacja
[root@localhost tmp]# rpm --checksig -v rsyslog-gnutls-5.8.10-8.el6.x86_64.rpm

przyklad - pakiet openssl.x86_64 jest dostepny do zainstalowania.
1. freshen/upgrade - freshen, jezeli pakiet jest juz zainstalowany. upgrade niewazne, czy pakiet jest zainstalowany czy nie

Praktyczne użycie rpm ze strony redhata

jezeli przypadkowo usunalem jakies pliki, albo brakuje jakichs plikow:
rpm -Va
jezeli jakies pliki brakuja, albo sa corrupted, prawdopodobnie trzeba reinstalowac pakiet

Jezeli widze plik, ktorego nie znam:
rpm -qf /sciezka/absolutna

dowiedzienie sie czegos o pakiecie
rpm -qdf /usr/bin/free

co robi dana paczka?
rpm -qip crontabs-1.10-7.noarch.rpm

yum - korzysta z repozytoriow

instalacja kingston spreadsheet:

1. pobranie pliku z linka http
wget http://kdl.cc.ksosoft.com/wps-community/kingsoft-office-9.1.0.4280-0.1.a12p4.i686.rpm

2. Informacje o pobranym pakiecie
rpm --query --info -p kingsoft-office-9.1.0.4280-0.1.a12p4.i686.

Lista plikow w pakiecie
rpm --query --list -p kingsoft-office-9.1.0.4280-0.1.a12p4.i686.rpm

3. Sprawdzenie dependancies
rpm --query --requires -p kingsoft-office-9.1.0.4280-0.1.a12p4.i686.rpm instalacja yum localinstall