Portál AbcLinuxu, 12. května 2025 02:03
emerge: there are no ebuilds to satisfy "=app-crypt/gnupg-1.2.4V sytemu mam nainstalovany nejnovejsi "gnupg-1.4.2-r3" a i jsem ho re-emerge-nul. Jak tento problem vyresit? Diky za rady
emerge -pvuNDt world
? Pokud nechce nic měnit: Jaké revdep (ne)našel knihovny?
revdep-rebuildopravovat
emerge --oneshot --nodeps =app-crypt/gnupg-1.2.4 =app-mobilephone/smssend-3.3 =app-office/gnumeric-1.2.13 =app-text/gocr-0.39 =dev-lang/python-2.3.5 =gnome-base/gnome-vfs-1.0.5-r3 =gnome-extra/libgsf-1.9.0 =kde-base/kdelibs-3.1.5-r1 =kde-base/kdelibs-3.2.2-r1 =kde-base/kdelibs-3.3.2-r9 =www-client/opera-7.54
sakrys omlouvam se za nezalomenou radku, ale nevim jak to zalomit.....
code
, místo pre
, která se nezalamuje.
=app-crypt/gnupg-1.2.4
taky nemám.
$ cd /usr/portage/app-crypt/gnupg/ $ ls *-1.4.2*ebuild gnupg-1.4.2-r1.ebuild gnupg-1.4.2-r2.ebuild gnupg-1.4.2-r3.ebuildCo
revdep-rebuild -p
? Vypíše seznam balíků, které chce revdep
přeinstalovat.
man revdep-rebuild
-X | --package-names emerge the best packages available, not neccessarily the exact version of the installed package
-X | --package-names--> emerge the best packages available, not neccessarily the exact version of the installed package............ jsem nainstaloval nejnovejsi verzi, ale nepomohlo to. Nevim jak mu ji vnutit .... diky
revdep-rebuild -X
a už se bude reinstalovat balík pouze podle jména (app-crypt/gnupg
) a ne konkrétní verze(=app-crypt/gnupg-1.2.4
).
revdep-rebuild -X
dostanu naprosto stejnou hlášku. Pořád chce instalovat konkrétní verzi (=app-crypt/gnupg-1.2.4).
rm -f /root/.revdep*
revdep-rebuild -X
http://volny.cz/slossy/revdep.txt
emerge -C =app-crypt/gnupg-1.2.4
a pak dal znovu revdep-rebuild. A pro jistotu se pak mrkněte, jestli tam máte to gnupg-1.4.2-r3...
emerge --oneshot --nodeps app-crypt/gnupg app-mobilephone/smssend app-office/gnumeric app-text/gocr =dev-lang/python-2.3.5 gnome-base/gnome-vfs gnome-extra/libgsf kde-base/kdelibs kde-base/kdelibs kde-base/kdelibs www-client/opera
Akorát ten Python 2.3.5 asi napsat i s verzí, pokud se nepletu, budete tam kromě toho mít i 2.4.2. No a pak možná ještě pro jistotu
emerge -uDa world
Pak se znova mrkněte, jestli bude revdep-rebuild stále ještě nadávat. Tipuju, že ta Opera tam bude zas, ale obvykle to nevadí...revdep-rebuild --help
to vyřešil.
Co ještě zkusit smazat soubory .revdep-rebuild*
a spustit to znovu?
kde-base/kdelibs 3.3.2-r9 3.4.3
a napr. kde-base/kdebase 3.2.2 3.3.2-r2 3.4.3-r1
pokud tomu rozumim spravne, tak kdyz necham 3.4.3-r1 a vse ostatni odeberu, tak by to melo byt v poradku, ne? Nemuze to byt zpusobeno timhle, ze starsi kde chteji ten balik?
AUTOCLEAN="yes"
, že? Tohle vypadá, jako by vám po aktualizacích zbývaly i původní verze závislých balíků. Možná by pomohlo emerge -ac
(obvykle tenhle příkaz nepoužívám, ale měl by to být, pokud se nepletu, ekvivalent toho AUTOCLEAN), ale pak to asi bude chtít revdep-rebuild ještě spíš, řekl bych, že tam pak těch přerušených závislostí bude celkem dost.
Jinak nevím jak u vás, ale můj revdep-rebuild při hledání který soubor patří do kterého balíku volá
/usr/lib/gentoolkit/bin/qpkg -nc -f [soubor]
A qpkg pro změnu hledá, jak jsem psal, ve /var/db/pkg. Vypíše se vám něco, když zadáte tohle?
/usr/lib/gentoolkit/bin/qpkg -l app-crypt/gnupg-1.2.4
Měl by se vypsat seznam souborů patřících k danému balíku; některý z nich bude mít problém s tou závislostí. Ale kde to tedy u vás ty seznamy hledá, to je mi záhadou.
find_pkgs.py
, find_pkgs.pyc
, find_pkgs.pyo
.
rm /root/.revdep-rebuild*
make.conf
jsem nemel autoclean
. Zadal jsem rm /root/.revdep-rebuild*
skutecne to generoval jiny vypis, ale naslo to spoustu porusenych zavislosti na dynamicke knihovny. Musim se v tom pohrabat. OZvu se zitra vecer, zatim diky vsem...
make.conf
odkomentovany radek AUTOCLEAN="yes"
2) mel jsem tedy vice verzi KDE, odebral jsem vsechny starsi.
3) smazal jsem vsechny stare soubory vytvorene prikazem revdep-rebuild
, takto: rm /root/.revdep-rebuild*
4) pak uz jen prikaz revdep-rebuild
, ktery emergnul asi 10 baliku, vse v poradku az na balik opera
5) uz jde bez problemu vse prekladat emerge -ud world
Diky vsem za rady
-d
používáte proto, že chcete pouštět emerge v debug módu, nebo to je omyl a mělo tam být -D
(--deep
), kdy se aktualizují všechno včetně závislostí a ne jen balíky v /var/cache/edb/world?
Říkám si, že by asi stálo za to na tohle upozornit, takhle by se vám velká část systému neaktualizovala. Řekl bych, že to, co chcete, je správně emerge -uD world
. Mám pravdu?
--deep
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.