Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Ok przenieśmy tutaj dyskusję dot. aktualizacji pakietów w testingu - żeby nie robić offtop w innym temacie. Kontunuując różnicę między np. aptitude/apt update, aptitude safe-upgrade/apt-get upgrade, aptitude full/dist upgrade/apt dist-upgrade a samymi aptitude/apt update i aptitude full/dist upgrade/apt dist-upgrade.
Właśnie dokonałem pierwszej aktualizacji na testingu i jeden pakiet (db5.1-util) został zatrzymany. Następnie dałem aptitude full-upgrade, które zaproponowało usunięcie tego pakietu. I teraz pytanie co w takich syt. robić na przyszłość, usuwać pakiety, które powodują problemy z zależnościami czy próbować je rozwiązywać?
Wcześniej korzystałem ze stable, to dopiero moje pierwsze kroki w testing i tylko ta kwestia jest jeszcze dla mnie niejasna.
Offline
Warto by pokazać ten przykład, żeby było widać w czym problem ;)
Offline
root@debian:~# apt-get dist-upgrade Czytanie list pakietów... Gotowe Budowanie drzewa zależności Odczyt informacji o stanie... Gotowe Obliczanie aktualizacji...Gotowe Następujące pakiety zostały zatrzymane: db5.1-util 0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 1 nieaktualizowanych. root@debian:~# aptitude full-upgrade Następujące pakiety zostaną zaktualizowane: db5.1-util{b} 1 pakietów aktualizowanych, 0 instalowanych, 0 do usunięcia i 0 nieaktualizowanych. Do pobrania 651 kB archiwów. Zajęte po rozpakowaniu: 1603 kB. Następujące pakiety mają niespełnione zależności: db5.1-util : Narusza zależności: libdb5.1 (< 5.1.29-8~) ale zainstalowana jest wersja 5.1.29-6. Następujące działania rozwiążą problemy z zależnościami: Usunięcie następujących pakietów: 1) db5.1-util Zaakceptować rozwiązanie? [Y/n/q/?] Y
Offline
Pokaż jeszcze:
aptitude why db5.1-util
I spróbuj z ciekawości:
apt-get dist-upgrade -s
Bo u mnie zazwyczaj apt-get sam sobie radził z tym automatycznie.
Ta wersja jest trochę rozjechana i to jakaś migracja właśnie (5.1 → 5.3) bo z sida już ta wersja wyleciała:
db5.1-util | 5.1.29-5 | wheezy | amd64, armel, armhf, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc db5.1-util | 5.1.29-8 | jessie | amd64, armel, armhf, i386, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390x db5.1-util | 5.1.29-8 | sid | amd64, armel, armhf, hurd-i386, i386, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390x, sparc
libdb5.1 | 5.1.29-5 | wheezy | amd64, armel, armhf, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc libdb5.1 | 5.1.29-6 | jessie | amd64, armel, armhf, i386, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc
U mnie jest db5.3-util i db5.3-util i te są w tym samych wersjach.
Offline
Może dlatego, że robiłem podbicie ze stable? Ale to z wersji prawie minimalnej (bez xsów i xfce, doinstalowałem będąc już na jessie.
aptitude why:
i exim4-base Sugeruje mail-reader p wl-beta Udostępnia mail-reader p wl-beta Sugeruje bogofilter | bsfilter | spamassassin p bogofilter Wymaga bogofilter-bdb | bogofilter-db p bogofilter-bdb Sugeruje db5.1-util
apt-get dist-upgrade -s nic ciekawego nie pokazuje, może dlatego ze juz zaakceptowałem wyrzucenie tego pakietu.
Offline
Bo ten pakiet był niepotrzebny już do niczego.
https://release.debian.org/transitions/html/db5.3.html
A pokaż teraz:
apt-cache policy db5.3-util
Offline
Zainstalowana: (brak) Kandydująca: 5.3.28-3 Tabela wersji: 5.3.28-3 0 500 http://ftp.pl.debian.org/debian/ testing/main amd64 Packages
Offline
Panowie, podłącze się do pytania. Rozumiem, że te testing ma to do siebie, że czasami przy aktualizacji jakiś pakiet wpada, a czasami jakiś wypada. Jak coś ma wylecieć to powinno się sprawdzić czy jest nam potrzebny lub czy jego usunięcie nie spowoduje uszkodzenia systemu, ale jak to najprościej zrobić?
Offline
Bitels napisał(-a):
Panowie, podłącze się do pytania. Rozumiem, że te testing ma to do siebie, że czasami przy aktualizacji jakiś pakiet wpada, a czasami jakiś wypada. Jak coś ma wylecieć to powinno się sprawdzić czy jest nam potrzebny lub czy jego usunięcie nie spowoduje uszkodzenia systemu, ale jak to najprościej zrobić?
Menadżer pakietów to robi, skoro raportuje ze coś jest nie potrzebne to oznacza ze nie ma dowiązania do tego pakietu z żadnego innego, wiec jest nie potrzebny.
Teraz taki chamski awaryjny przykład kiedy menadżer nie zadziała:
- pakiet libkowalski1 wymaga libcycki1
- pakiet libkowalski1 nie posiada w control file wpisanego ze wymaga libcycki1
- zaden inny pakiet nie wymaga do dzialania libcycki1
- menadżer pakietow usunie libcycki1, bo nie ma zainstalowanego pakietu ktory by go wymagal
- pakiet libkowalki1 nie bedzie dzialal bo nie ma libcycki1
Kiedy to sie może stać ? ... musi wystąpić czynnik błędu ludzkiego, który to czynnik nie wpisał pakietu libcycki1 na liste wymaganych pakietow przez libkowalski1
Kieyd widziałem cos takiego ostani raz ? ... no coz nigdy.
zatem czy mozliwe ze menadzer pakietow uzunie cos wymaganego ?
- teoretycznie tak
czy to sie zdarza ?
- nie :-).
[edit]
dlaczemu to sie nie zdarza ?
- pewnie istnieje wymog testowania pakietow na "swierzym" chroot (ale tego nie wiem, trzeba by matiego zaptyac ).
Ostatnio edytowany przez gindek (2014-05-05 09:15:17)
Offline
Bitels napisał(-a):
Panowie, podłącze się do pytania. Rozumiem, że te testing ma to do siebie, że czasami przy aktualizacji jakiś pakiet wpada, a czasami jakiś wypada. Jak coś ma wylecieć to powinno się sprawdzić czy jest nam potrzebny lub czy jego usunięcie nie spowoduje uszkodzenia systemu, ale jak to najprościej zrobić?
Tu potrzeba trochę doświadczenia.
Najprostsza odpowiedź to poczekać dzień lub dwa. Jeżeli pakiet ciągle jest przeznaczany do usunięcia, może oznaczać że ma miejsce jakaś migracja lub zmiana w zależnościach.
Można zajrzeć tutaj, poszukać informacji w internecie lub zwyczajnie założyć wątek na forum i zapytać.
Dla bardziej zaawansowanych lub chcących się czegoś nauczyć będzie świeży przykład z sida (w testingu takie rzeczy raczej rzadko się zdarzają):
aptitude full-upgrade -d Następujące pakiety zostaną zaktualizowane: kmod{b} libefreet1 2 pakietów aktualizowanych, 0 instalowanych, 0 do usunięcia i 0 nieaktualizowanych. Do pobrania 103 kB archiwów. Zwolnione po rozpakowaniu: 4096 B. Następujące pakiety mają niespełnione zależności: kmod : Narusza zależności: alsa-base (<= 1.0.25+3) ale zainstalowana jest wersja 1.0.25+3. Następujące działania rozwiążą problemy z zależnościami: Usunięcie następujących pakietów: 1) alsa-base 2) volumeicon-alsa Zaakceptować rozwiązanie? [Y/n/q/?] q Porzucono próby rozwiązania problemów z zależnościami. Przerwane.
Wywalenie przez kmod pakietu alsa-base (i pośrednio volumeicon-alsa) brzmi poważnie i wypadałoby się temu przyjrzeć.
Kilkuminutowa inwestygacja prowadzi do takiego rozwiązania:
Istotne jest to:
kmod : Narusza zależności: alsa-base (<= 1.0.25+3) ale zainstalowana jest wersja 1.0.25+3.
Można przyjrzeć się uważniej pakietowi kmod:
aptitude changelog kmod napisał(-a):
kmod (17-2) unstable; urgency=medium
* Build-Depend on gtk-doc-tools. (Closes: #747005)
— Marco d'Itri <md@linux.it> Sun, 04 May 2014 20:38:42 +0200
kmod (17-1) unstable; urgency=medium
* New upstream release.
* Declared that kmod Breaks oss-compat 4. (Closes: #736748)
* Merged the few useful directives from the alsa-base package and added
a versioned Breaks to force it to be unistalled.
— Marco d'Itri <md@linux.it> Thu, 01 May 2014 21:10:36 +0200
Widać, że tak powinno być i alsa-base przeznaczony jest do usunięcia.
I powiedzenie tego:
http://aptosid.com/index.php?name=PNphpBB2&file … ic&t=2783
Pozostaje jeszcze u mnie pakiet volumeicon-alsa, którego wersja w Debianie dawno nie była aktualizowana i w zależnościach ciągle ma alsa-base:
apt-cache depends volumeicon-alsa volumeicon-alsa Wymaga: libasound2 Wymaga: libc6 Wymaga: libgdk-pixbuf2.0-0 Wymaga: libglib2.0-0 Wymaga: libgtk2.0-0 Wymaga: libnotify4 Wymaga: libx11-6 Wymaga: alsa-base |Sugeruje: alsamixergui |Sugeruje: aumix-gtk |Sugeruje: kmix Sugeruje: gnome-alsamixer |Sugeruje: notify-osd |Sugeruje: <xfce4-nofityd> Sugeruje: notification-daemon dunst mate-notification-daemon notify-osd plasma-widgets-workspace xfce4-notifyd W konflikcie z: volumeicon-alsa:i386
Można to zmienić w pliku /var/lib/dpkg/status usuwając z zależności alsa-base:
Package: volumeicon-alsa
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 187
Maintainer: Andrew Gainer <gainer.andrew@gmail.com>
Architecture: amd64
Source: volumeicon
Version: 0.4.6-2
Depends: libasound2 (>= 1.0.16), libc6 (>= 2.4), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.24.0), libnotify4 (>= 0.7.0), libx11-6
Suggests: alsamixergui | aumix-gtk | kmix | gnome-alsamixer, notify-osd | xfce4-nofityd | notification-daemon
Description: systray volume icon for alsa
This is a lightweight volume control that sits in your systray. This
version is compatible with ALSA.
lub samemu przebudować ten pakiet:
apt-get source volumeicon-alsa # apt-get build-dep volumeicon-alsa
Potem w pliku /volumeicon-0.4.6/debian/control należy podmienić:
Depends: ${misc:Depends}, ${shlibs:Depends}, alsa-base
na:
Depends: ${misc:Depends}, ${shlibs:Depends},
i zbudować poprawioną paczkę:
dpkg-buildpackage -rfakeroot
i ją zainstalować:
# dpkg -i volumeicon-alsa_0.4.6-2_amd64.deb
Można by było jeszcze podbić wersję żeby przy najbliższej aktualizacji nie została podmieniona na tą (powodującą problemy) z repozytorium, ale pewnie i tak zostanie zaraz poprawiona przez deweloperów Debiana (jeżeli już błąd został zgłoszony) i można tymczasowo zostawić jak jest:
aptitude full-upgrade -d Następujące pakiety zostaną zaktualizowane: kmod{b} libefreet1 volumeicon-alsa 3 pakietów aktualizowanych, 0 instalowanych, 0 do usunięcia i 0 nieaktualizowanych. Do pobrania 144 kB archiwów. Zwolnione po rozpakowaniu: 4096 B. Następujące pakiety mają niespełnione zależności: kmod : Narusza zależności: alsa-base (<= 1.0.25+3) ale zainstalowana jest wersja 1.0.25+3. Następujące działania rozwiążą problemy z zależnościami: Usunięcie następujących pakietów: 1) alsa-base 2) volumeicon-alsa Zaakceptować rozwiązanie? [Y/n/q/?] n Następujące działania rozwiążą problemy z zależnościami: Zatrzymanie bieżących wersji następujących pakietów: 1) kmod [16-2 (now, testing)] Zaakceptować rozwiązanie? [Y/n/q/?] n Następujące działania rozwiążą problemy z zależnościami: Usunięcie następujących pakietów: 1) alsa-base Zatrzymanie bieżących wersji następujących pakietów: 2) volumeicon-alsa [0.4.6-2 (now)] Zaakceptować rozwiązanie? [Y/n/q/?] y Następujące pakiety zostaną USUNIĘTE: alsa-base{a} Następujące pakiety zostaną zaktualizowane: kmod libefreet1 2 pakietów aktualizowanych, 0 instalowanych, 1 do usunięcia i 1 nieaktualizowanych. Do pobrania 103 kB archiwów. Zwolnione po rozpakowaniu: 138 kB. Kontynuować? [Y/n/?] y
Offline
gindek i yossarian dzięki za wyczerpującą odpowiedź, ale puki co testing jeszcze mnie nie wystawił na próbę, jeszcze nie zdarzyło się by chciał mi coś potrzebnego wywalić i grzecznie się godzę na wszystkie zmiany jakie chce wprowadzić przy aktualizacjach.
yossarian naprawde fajnie to opisałeś i na mój gust mógł byś to wrzucić do FAQ na dugu bo chyba czegoś takiego nie ma.
Offline
Strony: 1