Kitől származnak a csomagjaim?
Órák kérdése, és megjelenik a Fedora 10. Már nagyban készülök az eseményre és a telepítésre. Szeretném ezt minél gyorsabban letudni. Elhatároztam ezért, hogy már telepítés közben elérhetővé teszem az RPM Fusion tárolót, hogy feltelepítsem az összes szükséges programot a rendszerrel együtt.
No de milyen programokat telepítettem az RPM Fusionből? Mivel egészen biztosan nem fogok emlékezni arra, hogy miket kell kiválasztanom, így készítettem egy emlékeztető listát a csomagokról.
Ehhez az rpm parancsot használtam. A -qa kapcsolóval kérhetünk listát az összes csomagról. Ha egy programról akarunk információt, akkor adjuk meg annak nevét.
[oleg@localhost ~]$ rpm -qa k3b k3b-1.0.5-3.fc9.i386 [oleg@localhost ~]$
Ha nem tudjunk pontosan a nevét, vagy több hasonló nevű programot is keresünk, akkor használhatunk joker karaktereket is.
[oleg@localhost ~]$ rpm -qa k3b\* k3b-extras-freeworld-1.0.5-4.fc9.i386 k3b-1.0.5-3.fc9.i386 [oleg@localhost ~]$
Viszont az igazán hasznos kapcsolója esetemben az rpm programnak, a --queryformat vagy rövidebb formában: --qf. Ezzel a csomagról nyilvántartott információkat írathatunk ki. Használhatunk un. mezőneveket, melyek megadják, hogy mely információk jelenjenek meg a csomagról. Ezen mezőnevek listáját megkaphatjuk a
rpm -a --querytags
paranccsal. Ezek közül nekem most a név és a szállító neve lesz az érdekes. Persze még számos mást is megadhatunk. Ezeket a neveket az alábbi formátumban kell megadni ha többet is használunk:
[oleg@localhost ~]$rpm -qa k3b --qf '%{NAME} %{VERSION} %{VENDOR}\n'
k3b 1.0.5 Fedora Project
[oleg@localhost ~]$
Így már megtudtam, hogy kitől származik a k3b program, méghozzá a Fedora Project készítette.
Ezzel már egy lépéssel közelebb kerültünk a megoldáshoz. Ezután kilistáztam az összes szállító (vendor) nevét, ami előfordul a rendszerben. Érdemes ezt sort paranccsal kombinálni, hogy ABC szerint sorba rendezve könnyebb legyen átnézni. Illetve text fájlba is küldhetjük az eredményt:
rpm -qa --qf '%{VENDOR}\n' | sort > allvendorEzzel kaptam a home könyvtáramban egy allvendor text fájt, benne az összes szállító nevével. Kiderült belőle, hogy összesen 6 szállítót neveznek meg a csomagjaim:
- Fedora Project
- (none)
- Opera Software ASA
- Red Hat, Inc.
- RPM Fusion
- rpm.livna.org
Így már egyszerű dolgom van. A grep szűrőt használva felsoroltatom vele, hogy mely csomagok származnak az RPM Fusionből! Persze itt is használható a sort parancs és el is menthetjük text fájlba küldéssel. Én így használtam:
rpm -qa --qf '%{NAME} %{VENDOR}\n' | grep 'RPM Fusion' | sort > vendor-fusionEzzel kaptam egy text fájlt vendor-fusion névvel, benne felsorolva az összes csomag, melyeket az RPM Fusion szállított. Így már lesz emlékeztetőm, hogy miket kell majd telepíteni onnan. Mindehhez a művelethez nincs szükség root jogra, mert az rpm adatbázis a nélkül is olvasható.
- A hozzászóláshoz regisztráció és belépés szükséges
- 563 olvasás


Hozzászólások
Egy hibára szeretném
Egy hibára szeretném felhívni a figyelmed. Írtad:
rpm -qa k3b*Erre vigyázz, mert ez így shell globbing. Itt nem a shellnek kell helyettesítenie az aktuális könyvtárból a k3b kezdetű fileneveket paraméterként, hanem a *-ot literálisként kell átadni az rpm-nek, ezzel elérve, hogy az rpm értelmezze azt, s az adatbázisra vonatkozóan tekintse bármire illeszkedésnek. Csak azért működött, mert az aktuális könyvtárban nem volt illeszkedés, így a shell literálisként adta át a csillagot. Így már nem működne:
: >k3b-ilyen-nincsrpm -qa k3b*
Ekkor valójában ez történik:
rpm -qa k3b-ilyen-nincsTehát a helyes megoldás:
rpm -qa k3b\*Köszi az észrevételt!
Köszi az észrevételt! Javítottam. :)
Lehet, nem vetted észre...
Lehet, nem vetted észre...
Ez itt egy link. Mármint az
Ez itt egy link. Mármint az előző hozzászólásom. :)