Smarte søk i YaST og Zypper

Medusa4 Personal er et 3. parts CAD system, som har sitt eget, Java-baserte installasjonsprogram. CAD systemet er 32bit. Jeg installerte på 64bit openSUSE 11.2, da installasjonen ble avbrutt tidlig med følgende feilmelding:

linux-p93s:/home/medusa4p # ./medusa4_v4_0_0_linux_personal.sh
Extracting ...
med/run/csginst: error while loading shared libraries: libGL.so.1:
 cannot open shared object file: No such file or directory

Når man installerer pakker med pakkesystemet, vil dette vanligvis løse avhengigheter ved å legge inn nødvendige tilleggspakker. Men i dette tilfellet foregikk altså installasjonen utenfor pakkesystemet.

Biblioteker kan noen ganger være litt vanskelig å finne.
Jeg søkte naturlig først med YaST pakkebehandleren etter pakker med 'GL' i navnet, da jeg trodde det hadde noe med openGL å gjøre. Men nei, det manglende biblioteket ble ikke funnet i første omgang.

På et SUSE forum fant jeg følgende tips for smartere søk med YaST, som ikke jeg hadde prøvd før. Kluet lå i å huke av i følgende valgboks, før søk på libGL.so.1

    * RPM "Provides"[/list:u]
    Det som da skjer er at YaST søker gjennom innholdet til alle rpm pakker i aktiverte programarkiver, og ikke bare på det oppgitte pakkenavnet isolert.

    Treffet viste at pakken som inneholder biblioteket libGL.so.1, hadde et helt annet navn, Mesa. Mesa fantes både i 64bit og 32bit versjoner.
    [url=http://bildr.no/view/601680]

    Zypper gir samme resultat ved å spørre med 'what-provides' eller med kortversjonen 'wp'

    # zypper wp libGL.so.1
    Laster arkivdata...
    Leser installerte pakker...
    S | Navn                | Type  | Versjon        | Ark.   | Arkiv            
    --+---------------------+-------+----------------+--------+------------------
    i | x11-video-nvidiaG02 | pakke | 190.53-9.1     | x86_64 | NVIDIA Repository
    v | x11-video-nvidiaG02 | pakke | 190.53-9.1     | i586   | NVIDIA Repository
      | x11-video-nvidia    | pakke | 96.43.11-25.1  | x86_64 | NVIDIA Repository
      | x11-video-nvidia    | pakke | 96.43.11-25.1  | i586   | NVIDIA Repository
      | x11-video-nvidiaG01 | pakke | 173.14.18-24.1 | x86_64 | NVIDIA Repository
      | x11-video-nvidiaG01 | pakke | 173.14.18-24.1 | i586   | NVIDIA Repository
    i | Mesa-32bit          | pakke | 7.6-3.1        | x86_64 | openSUSE-11.2-Oss
    i | Mesa-32bit          | pakke | 7.6-3.1        | x86_64 | openSUSE 11.2-0  
    i | Mesa                | pakke | 7.6-3.1        | x86_64 | openSUSE-11.2-Oss
    i | Mesa                | pakke | 7.6-3.1        | x86_64 | openSUSE 11.2-0  
    v | Mesa                | pakke | 7.6-3.1        | i586   | openSUSE-11.2-Oss

    Etter å ha installert Mesa, gikk også installasjonen av Medusa greitt.

Valg for kommentarvisning

Velg din foretrukket måte å vise kommentarer på og klikk på "Lagre innstillinger" for å aktivere endringene.

unbob

Filliste søker bare i installerte pakker, så vidt jeg vet. Fint om de kunne implementert noe a la Mandrivas løsning. Behovet er der veldig sjelden for meg, men hadde vært kjekt å ha muligheten.
Jeg finner som regel pakken jeg leter etter med pakkesøk på nett. (Ubuntus og Mandrivas søkemotorer)

terjejh

Du hadde rett, utlisting med filliste fungerer på installerte pakker. Da blir det enda litt enklere, det er nok å huke av for "RPM Provides" med YaST, som for Zypper, for å søke igjennom innholdet i tilgjengelige rpm pakker. Resultatet blir akkurat det samme.
Jeg har rettet opp dette i min første post.

Den nye YaST Pakkesøk (Webpin) søk på innhold søker gjennom alle programarkiver og finner pakker med libGL.so.1
[url=http://bildr.no/view/601966]

Det samme gjør også openSUSE Online webpin
http://packages.opensuse-community.org/
[url=http://bildr.no/view/601967]

unbob

Provides og requires er "funksjonalitet" som en pakke gir/trenger og blir definert når pakken bygges. (typisk bibliotek/moduler/binære (eksekverbare) filer)
Søk i dette virker derfor uavhengig om pakker er installert eller ikke.

Fillisten er alle filene i pakken, men søk i dette virker bare på installerte pakker. (kan f.eks. ikke søke etter en konfigurasjonsfil om pakken den hører til ikke er installert)

terjejh

Ja, filliste er vel direkte ekvivalent til

rpm -ql Mesa

for å bruke det samme eksemplet (og som vist i annen tråd nettopp)

  • Skriv ut artikkel
  • Abonner med RSS

Siste kommentarer