|
[+] Aptitude chce instalować "za dużo"
szmergiell - 10-04-2009 21:23
Korzystam z testinga, chciałem jednak doinstalować sobie kilka rzeczy z Sida, dlatego postanowiłem skorzystać z apt-pinning. Jednakże, pomimo (chyba poprawnego ustawienia) preferencji, pojawił się pewien problem.
Mój sources.list #~~~~~~ testing deb http://ftp.pl.debian.org/debian/ testing main non-free contrib deb-src http://ftp.pl.debian.org/debian/ testing main non-free contrib deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free
#~~~~~~ Debian-multimedia deb http://www.debian-multimedia.org testing main deb-src http://www.debian-multimedia.org testing main
#~~~~~~~ unstable #deb http://ftp.pl.debian.org/debian/ unstable main contrib non-free #deb-src http://ftp.pl.debian.org/debian/ unstable main contrib non-free
#~~~~~~ Google deb http://dl.google.com/linux/deb/ stable non-free
#~~~~~~~ Wine #deb http://www.lamaresh.net/apt sid main deb http://www.lamaresh.net/apt squeeze main
#~~~~~~ Opera deb http://deb.opera.com/opera/ testing non-free # ## wxWidgets/wxPython repository at apt.wxwidgets.org #deb http://apt.wxwidgets.org/ etch-wx main #deb-src http://apt.wxwidgets.org/ etch-wx main
By zaktualizować testinga, wykonuję poniższe polecenia: aptitude clean aptitude update aptitude full-upgrade
W tym momencie pojawia się komunikat: Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Odczyt dodatkowych informacji o stanie Inicjalizacja stanów pakietów... Gotowe Odczyt opisów zadań... Gotowe Nie zostaną zainstalowane, zaktualizowane ani usunięte żadne pakiety. 0 pakietów aktualizowanych, 0 instalowanych, 0 do usunięcia i 0 nie aktualizowanych. Do pobrania 0B archiwów. Zajęte po rozpakowaniu: 0B. Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Odczyt dodatkowych informacji o stanie Inicjalizacja stanów pakietów... Gotowe Odczyt opisów zadań... Gotowe
Z powyższego wynika, że wszystko jest zaktualizowane. Dlatego przechodzę dalej, odblokowuję repozytoria unstable w sources.list, dodaję również w pliku /etc/apt/preferences taki kod: Package: * Pin: release a=testing Pin-Priority: 1000
Package: * Pin: release a=unstable Pin-Priority: 600
Po raz kolejny wykonuję aktualizację i mam coś takiego: Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Odczyt dodatkowych informacji o stanie Inicjalizacja stanów pakietów... Gotowe Odczyt opisów zadań... Gotowe Następujące NOWE pakiety zostaną zainstalowane: kaboom{a} Następujące pakiety zostaną zaktualizowane: coreutils cpp-4.3 esound-clients esound-common g++-4.3 gcc-4.3 gcc-4.3-base glest kde-icons-oxygen kdebase-runtime kdebase-runtime-bin-kde4 kdebase-runtime-data kdelibs-bin kdelibs5 kdelibs5-data libcups2 libcupsimage2 libesd0 libgcc1 libgfortran3 libgomp1 libsndfile1 libstdc++6 libstdc++6-4.3-dev libxi-dev libxi6 linux-libc-dev locales mc ttf-dejavu ttf-dejavu-core ttf-dejavu-extra 32 pakietów aktualizowanych, 1 instalowanych, 0 do usunięcia i 1 nie aktualizowanych. Do pobrania 115MB archiwów. Zajęte po rozpakowaniu: 69,6kB. Kontynuować? [T/n/?]
Dlaczego aptitude próbuje wymusić na mnie aktualizację programów, skoro apt-pinning teoretycznie temu zapobiega? Gdzie popełniam błąd?
ArnVaker - 10-04-2009 21:45
Sometimes the installed version of a package is more recent than the version belonging to the target release, but not as recent as a version belonging to some other distribution. Such a package will indeed be upgraded when apt-get install some-package or apt-get upgrade is executed, because at least one of the available versions has a higher priority than the installed version.
Biorąc pod uwagę Twoje ostatnie perypetie ze zmianą wersji Debiana, to jest właśnie odpowiedź na Twoje pytanie.
szmergiell - 10-04-2009 22:17
Czyli pozostaje mi tylko powstrzymać się od wykorzystania apt-pinningu do instalacji i jechanie na czystym (z wcześniejszymi wtrąceniami z Sida) testingu? Nie pomnę tego na 100%, jednakże wydaje mi się, że przed pierwszym przejściem na Sida, kiedy próbowałem korzystać z apt-pinningu to również musiałem, pomimo wcześniejszej pełnej aktualizacji, zaktualizować pakiety z Sida.
Czy ktoś potwierdza moje obserwacje, czy zaprzecza -- co oznacza, że problem tkwi w tym, co napisał ArnVaker?
ArnVaker - 10-04-2009 22:40
Chodzi o to, że pakiety które chce Ci zaktualizować apt są w wersjach które nie odpowiadają ani tym z testing ani tym z unstable.
W takim przypadku są "widziane" przez system jako zainstalowane ręcznie, czyli ich Pin-Priority wynosi 0.
U Ciebie Pin-Priority na gałąź unstable wynosi 600, czyli jakby nie patrzeć więcej niż 0. Apt nigdy nie cofa paczek do starszych wersji, chyba, że jasno mu powiesz, że ma tak zrobić (ustawiając wartość Pin-Priority większą niż 1000).
Masz dwa rozwiązania:
Cofnąć teraz te paczki do wersji z testing. Czekać aż wersje z testing będą "świeższe" niż te które masz obecnie.
edit: Możesz też zostawić wszystko tak jak jest i utrzymywać dystrybucję mieszaną aktualizując te pakiety z wersji niestabilnej ale chyba nie po to przechodziłeś z Sida na Squeeze.
szmergiell - 10-04-2009 22:45
Próbowałem cofnąć do testinga poprzez pin-priority ustawiony przy testing na 1001. Po wykonaniu ,,update'' i ,,upgrade'', wykazało, że nie ma żadnych aktualizacji. Dlatego nie mogę zrobić cofnięcia wersji.
ArnVaker - 10-04-2009 22:49
Możesz, ale tylko przez apt-get. Aptitude tak "nie potrafi".
szmergiell - 11-04-2009 00:06
OK. Dzięki za informacje. Ustawiłem pin-priority dla testinga na 1001 i wykonałem wtedy update oraz dist-upgrade przy użyciu apt-get. Spowodowało to cofnięcie systemu do wersji równej testingowi. Po tym, zmieniłem pin-priority na 990, dzięki czemu będę mógł instalować paczki z unstable, po wskazaniu ich. Rzeczywiście aptitude nie łapał cofnięcia wersji, a apt-get tak. Teraz, gdy wykonuję aptitudem upgrade systemu, nie woła już aktualizacji z Soda.
Jeszcze raz dzięki.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|