25. november 2005 - 22:23Der er
14 kommentarer og 1 løsning
opgradere et rpm prog m dependencies -hvorledes?
Jeg har lige installeret Fedora FC4. der er en masse rpm pakker installeret fra start, og jeg har der efter installeret en del skrammel.
men... hvis nu jeg så der var kommet en opgradering af fx. esound.
hvis jeg skriver rpm -e esound-0.2.35-5 --test får jeg flg på skærmen: error: Failed dependencies: libesd.so.0 is needed by (installed) libgnome-2.10.0-3.i386 libesd.so.0 is needed by (installed) arts-1.4.0-1.i386 libesd.so.0 is needed by (installed) gstreamer-plugins-0.8.8-6.i386 libesd.so.0 is needed by (installed) gnomemeeting-1.2.1-1.i386 libesd.so.0 is needed by (installed) nautilus-2.10.0-4.i386 libesd.so.0 is needed by (installed) gnome-media-2.10.2-4.i386 libesd.so.0 is needed by (installed) kdelibs-3.4.0-6.i386 libesd.so.0 is needed by (installed) kdebase-3.4.0-5.i386 libesd.so.0 is needed by (installed) kdepim-3.4.0-4.i386 libesd.so.0 is needed by (installed) k3b-0.11.23-3.i386 libesd.so.0 is needed by (installed) kdemultimedia-3.4.0-2.i386 libesd.so.0 is needed by (installed) kdegames-3.4.0-1.i386 libesd.so.0 is needed by (installed) gok-1.0.3-1.i386 libesd.so.0 is needed by (installed) control-center-2.10.1-6.i386 libesd.so.0 is needed by (installed) gnome-session-2.10.0-2.i386 libesd.so.0 is needed by (installed) kdenetwork-3.4.0-3.i386 libesd.so.0 is needed by (installed) kdeaddons-3.4.0-2.i386 esound >= 1:0.2.27 is needed by (installed) libgnomeui-2.10.0-1.i386 esound = 1:0.2.35-5 is needed by (installed) esound-devel-0.2.35-5.i386
der er altså en masse programmer der benytter sig af det, men hvordan opgraderer jeg det så? specielt hvis jeg foretrækker at hente og kompilere selv istedet for at hente med rpm?
- teoretisk spørgsmål, har ikke brug for at opgradere det, men får det vel på et tidspunkt.
strych9>Selvfølgelig!!!, du er mere vågen end jeg er. Jeg havde slet ikke kikket på kommandoen deepcore>Se venligst bårt fra mit svar, det er ikke relevant i dit tilfælde
og strych9's kommentar løser ikke problemet da dependencies fortsat er et problem.
Jeg vil klart anbefale at bruge yum - hvis yum er installeret skal den blot pege på et par passende repos, hvorefter "yum update" opdaterer alle pakker incl. dependencies.
nyinstallation med "yum install <pakkenavn(e)>" og "yum check-update" kontrollerer om der er opdateringer. "yum list" viser alle pakker som er tilgængelige i repos. Med yum er det nøjagtigt ligeså nemt som med apt-get på debian.
Og hvis du foretrækker at kompilere selv burde du formentlig have valgt en anden distribution. Du bryder hele grundkernen i fedora/redhat/centos/whitebox - nemlig et færdigpakket system :-)
først af alt sikre dig, at du har fjernet alle rester af den ikke-opgraderede udgave af en pakke - med "rpm -e --force <pakkenavn(e)" - så afinstallerer du uanset at andre programmer er afhængige - og en masse holder op med at virke.
Herefter følger du vejledningen til pakken - ofte:
tar xfvz <pakkenavn>.tar.gz cd <pakkenavn> make make install
jo, hvis der er et configure-trin:-) Det gælder om at læse vejledningen :-)
En anden mulighed for selv at kompilere er at downloade source-rpm og kompilere disse - hvis man ikke er tilfreds med de optioner, som en given pakke er kompileret med. Det er også "relativt" nemt, men kan kræve at en hel række source-rpms downloades og kompileres på en gang.
er det så rigtigt forstået at når jeg har fjernet pakken og installeret den nye på foreskrevet måde vildependencies problemet være løst?
Jeg mener... de progrmmer der benyttede sig af den gamle version ved vel ikke at den nye er kommet.. altså - hvordan ved de det nye program er kommet og peger det rigtige sted hen? jeg er lidt bekymet for det bare peger ud i luften og ikke rammer den nye version der er lavet med make/make install
nej, dependencies problemet vil IKKE være løst. Hvis du selv vælger at kompilere, så du valgt at bryde sammenhængen i din installation. Din bekymring er helt berettiget og derfor kan jeg kun gentage:
Og hvis du foretrækker at kompilere selv burde du formentlig have valgt en anden distribution. Du bryder hele grundkernen i fedora/redhat/centos/whitebox - nemlig et færdigpakket system :-)
Derfor er det et væsentligt valg du laver ved selv at kompilere - du kan overveje at bruge src-pakker, men det er slet ikke det samme som selv at kompilere, da det fortsat er færdige pakker.
Så enten kompilerer du selv på egen risiko - eller holder fast i de rpm-pakker som findes.
LAP: jamen, så vil jeg slå mig til tåls med det. ... det er ikke så nemt endnu det her, men det går da den rigtige vej.
jeg har faktisk været tæt på at have brug for en src.rpm pakke her for nyligt, men kunne ikke rigtigt finde ud af hvordan man bruger dem. det drejede sig som en kernel pakke til et videokort - som jeg heldigvis kunne finde som rpm også... men altså hvis du har lidt tid til overs ville jeg være glad hvis du kunne forklarer mig hvad en src.rpm er og hvordan de bruges (har accepteret dit svar, så ingen tvang ;))
... tror iøvrig det der irriterer mig ved yum /rpm modellen, er at jeg ikke har den fjerneste ide om hvordan det virker og hvor tingene placeres. fx. hvis man nu installere xine via rpm - hvordan installere man så en ikke-rpm plugin i den. det gør det noget sværere at konfigurerer mener jeg
du skal gøre alt hvad du kan for at holde dig til rpm-pakker - ellers får du en masse problemer :-)
En src.rpm pakke downloades og installeres. Når den er installeret har du hele kildekoden til pakkens indhold liggende på maskinen. Til enhver rpm-pakke findes en SPEC-fil. Den fortæller alt om hvordan der skal kompileres, hvilke argumenter osv. - f.eks. hvis du ønsker en anden placering af mysql-databaser i mysql-server (blot et eksempel).
Omkring installation af andre plugins - hvis du manuelt retter en konfigurationsfil, så vil den ikke blive overskrevet ved opdatering af rpm-pakken. Som hovedregel laves i stedet en .rpmnew fil konfigurationsfil, så du selv lægger opdateringer ind i din konfigurationsfil.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.