Jump to content
Adam Przedniczek

F24 Problem Z Gnome Po Aktualizaji, Której Nie Można Wycofać

Recommended Posts

Witam,

 

  Ujmując w największym skrócie, mój aktualny problem z moją instancją Fedory 24 polega na niemożności zalogowania się już z poziomu GNOME'a. Podejrzewam, że przyczyną tej usterki jest aktualizacji wykonanej wczoraj, która obejmowała 23 biblioteki z grup: mesa-*, xen-* oraz dbus-*. Niestety zwykłe wycofanie przez dnf history undo NUM lub dnf history rollback NUM -1 nie działa.

Podejrzewam, że to właśnie wczorajsza aktualizacja spowodowała, że podczas staru wyświetlany jest komunikat:

Coś poszło nie tak

Wystąpił problem i nie można przywrócić systemu

Proszę się wylogować i spróbować ponownie.

 

Będę bardzo wdzięczny za pomoc w usunięciu tego problemu oraz pokazaniu czy na przyszłszość można ustrzec się takiej sytuacji  np. rezygnując z własnościowych sterowników Nvidii i zostając przy nouveau?

 

Teraz może dokładniej:

  1. opiszę moją instalację
  2. jakie kroki podjąłem do tej pory

Ad. 1

Korzystam ze sterowników Nvidii zainstalowanych wg opisu ze strony http://www.if-not-true-then-false.com/2015/fedora-nvidia-guide/

# uname -r
4.7.6-200.fc24.x86_64

# rpm -q gnome-session
gnome-session-3.20.2-1.fc24.x86_64

# rpm -q gnome-shell
gnome-shell-3.20.4-1.fc24.x86_64

# nvidia-settings -version
version 370.28 (buildmeister@swio-display-x64-rhel04-17)

Powyżej jest minimalna różnica w sercjach gnome-shell i gnome-session, 3.20.4-1 i 3.20.2-1.

 

Ponieważ podejrzewam, że przyczyną obecnego stanu rzeczy jest aktualizacja obejmująca pakiety z grup mesa, xen i dbus zamieszczam ich aktualny stan. Zapis samej aktualizacji podaję dalej przy opisie próby wycofania tejże aktualizacji.

 

W przypadku pakietów mesa moją uwagę zwrócił fakt, iż w większości występują parami różniącymi się tylko końcówką, .i686 i .x86_64. Nie mam pojęcia czy tak ma być, ale nie każdy pakiet występuje w takim tandemie, np. mesa-libwayland-egl czy mesa-libxtracker. Niby .i686 i .x86_64 na jedno wychodzi, ale wygląda to trochę tak jakby instalowały się przy różnych okazjach.

 

Druga sprawa to numery wersji w jakiej występują te biblioteki. Większość występuje w wersji 12.0.3-2, natomiast mesa-libGLU w wersji 9.0.0-10 i także w dwóch kopiach .i686 oraz .x86_64.

# rpm -qa | grep mesa
mesa-dri-drivers-12.0.3-2.fc24.x86_64
mesa-libgbm-12.0.3-2.fc24.x86_64
mesa-libxtracker-12.0.3-2.fc24.x86_64
mesa-libGL-12.0.3-2.fc24.i686
mesa-libglapi-12.0.3-2.fc24.i686
mesa-libOSMesa-12.0.3-2.fc24.x86_64
mesa-filesystem-12.0.3-2.fc24.i686
mesa-dri-drivers-12.0.3-2.fc24.i686
mesa-libEGL-12.0.3-2.fc24.i686
mesa-libGL-12.0.3-2.fc24.x86_64
mesa-libEGL-12.0.3-2.fc24.x86_64
mesa-libGLU-9.0.0-10.fc24.x86_64
mesa-libgbm-12.0.3-2.fc24.i686
mesa-libwayland-egl-12.0.3-2.fc24.x86_64
mesa-libGLU-9.0.0-10.fc24.i686
mesa-libOSMesa-12.0.3-2.fc24.i686
mesa-libglapi-12.0.3-2.fc24.x86_64
mesa-filesystem-12.0.3-2.fc24.x86_64
# rpm -qa | grep xen
xen-licenses-4.6.3-6.fc24.x86_64
xen-libs-4.6.3-6.fc24.x86_64
# rpm -qa | grep dbus
dbus-glib-0.108-1.fc24.x86_64
dbus-x11-1.11.6-1.fc24.x86_64
dbus-python-1.2.4-1.fc24.x86_64
dbusmenu-qt.0.9.3-0.11.20150604.fc24.x86_64
dbus-libs-1.11.6-1.fc24.i686
dbus-1.11.6-1.fc24.x86_64
dbus-libs-1.11.6-1.fc24.x86_64
abrt-dbus-2.8.2-1.fc24.x86_64
dleyna-connector-dbus-0.2.0-7.fc24.x86_64
python-slip-dbus-0.6.4-3.fc24.noarch
python3-slip-dbus-0.6.4-3.fc24.noarch
python3-dbus-1.2.4-1.fc24.x86_64

Ad. 2

# dnf history list
Identy | Wiersz poleceń           | Data i czas      | Działania      | Zmienio
-------------------------------------------------------------------------------
    55 | install gnome-system-log | 2016-10-15 20:06 | Install        |    1   
    54 | update                   | 2016-10-14 09:42 | Update         |   23 
# dnf history info 54
Identyfikator transakcji   : 54
Czas rozpoczęcia           : Fri Oct 14 09:42:41 2016
Rozpoczęcie bazy danych RPM: 5701:823efc10b49ac8e9973c5db57731f631f4c6a9c9
Czas ukończenia            :            09:42:52 2016 (sekundy: 11)
Ukończenie bazy danych RPM : 5701:2d2cbc27f00c09a715cd898ad8dd5bd9efb9fbd7
Użytkownik                 : Adam Przedniczek <adam>
Kod zwrotny                : Powodzenie
Wiersz poleceń : update
Wykonano transakcję za pomocą:
    Zainstalowano                   dnf-1.1.10-1.fc24.noarch        @updates
    Zainstalowano                   rpm-4.13.0-0.rc1.27.fc24.x86_64 @koji-override-0
Zmienione pakiety:
    Zaktualizowano evolution-data-server-3.20.5-4.fc24.x86_64 @updates
    Aktualizacja                         3.20.5-5.fc24.x86_64 @updates
    Zaktualizowano mesa-dri-drivers-12.0.3-1.fc24.i686        @updates
    Zaktualizowano mesa-dri-drivers-12.0.3-1.fc24.x86_64      @updates
    Aktualizacja                    12.0.3-2.fc24.i686        @updates
    Aktualizacja                    12.0.3-2.fc24.x86_64      @updates
    Zaktualizowano mesa-filesystem-12.0.3-1.fc24.i686         @updates
    Zaktualizowano mesa-filesystem-12.0.3-1.fc24.x86_64       @updates
    Aktualizacja                   12.0.3-2.fc24.i686         @updates
    Aktualizacja                   12.0.3-2.fc24.x86_64       @updates
    Zaktualizowano mesa-libEGL-12.0.3-1.fc24.i686             @updates
    Zaktualizowano mesa-libEGL-12.0.3-1.fc24.x86_64           @updates
    Aktualizacja               12.0.3-2.fc24.i686             @updates
    Aktualizacja               12.0.3-2.fc24.x86_64           @updates
    Zaktualizowano mesa-libGL-12.0.3-1.fc24.i686              @updates
    Zaktualizowano mesa-libGL-12.0.3-1.fc24.x86_64            @updates
    Aktualizacja              12.0.3-2.fc24.i686              @updates
    Aktualizacja              12.0.3-2.fc24.x86_64            @updates
    Zaktualizowano mesa-libOSMesa-12.0.3-1.fc24.i686          @updates
    Zaktualizowano mesa-libOSMesa-12.0.3-1.fc24.x86_64        @updates
    Aktualizacja                  12.0.3-2.fc24.i686          @updates
    Aktualizacja                  12.0.3-2.fc24.x86_64        @updates
    Zaktualizowano mesa-libgbm-12.0.3-1.fc24.i686             @updates
    Zaktualizowano mesa-libgbm-12.0.3-1.fc24.x86_64           @updates
    Aktualizacja               12.0.3-2.fc24.i686             @updates
    Aktualizacja               12.0.3-2.fc24.x86_64           @updates
    Zaktualizowano mesa-libglapi-12.0.3-1.fc24.i686           @updates
    Zaktualizowano mesa-libglapi-12.0.3-1.fc24.x86_64         @updates
    Aktualizacja                 12.0.3-2.fc24.i686           @updates
    Aktualizacja                 12.0.3-2.fc24.x86_64         @updates
    Zaktualizowano mesa-libwayland-egl-12.0.3-1.fc24.x86_64   @updates
    Aktualizacja                       12.0.3-2.fc24.x86_64   @updates
    Zaktualizowano mesa-libxatracker-12.0.3-1.fc24.x86_64     @updates
    Aktualizacja                     12.0.3-2.fc24.x86_64     @updates
    Zaktualizowano xen-libs-4.6.3-5.fc24.x86_64               @updates
    Aktualizacja            4.6.3-6.fc24.x86_64               @updates
    Zaktualizowano xen-licenses-4.6.3-5.fc24.x86_64           @updates
    Aktualizacja                4.6.3-6.fc24.x86_64           @updates
    Zaktualizowano dbus-1:1.11.4-1.fc24.x86_64                @updates
    Aktualizacja        1:1.11.6-1.fc24.x86_64                @updates
    Zaktualizowano dbus-libs-1:1.11.4-1.fc24.i686             @updates
    Zaktualizowano dbus-libs-1:1.11.4-1.fc24.x86_64           @updates
    Aktualizacja             1:1.11.6-1.fc24.i686             @updates
    Aktualizacja             1:1.11.6-1.fc24.x86_64           @updates
    Zaktualizowano dbus-x11-1:1.11.4-1.fc24.x86_64            @updates
    Aktualizacja            1:1.11.6-1.fc24.x86_64            @updates

Podejrzewałem, że to właśnie ta 54 aktualizacja spowodowała problemy, więc próbowałem wycofać tą pojedynczą aktualizacje jak i cofnąć się do 53. Niestety bezskutecznie:

# dnf history undo 54
Nie ma pakietu mesa-libwayland-egl-0:12.0.3-1.fc24.x86_64

#dnf history rollback 53
Nie ma pakietu mesa-libEGL-0:12.0.3-1.fc24.x86_64

Logi sugerują  jedynie problem z inicjalizacją Cluttera:

# journalctl -b -1 _SYSTEMD_UNIT=session-l.scope
-- No entries --

# journalctl -b -1 /usr/bin/gnome-session
-- No entries --

# journalctl -b -1 /usr/bin/gnome-shell
-- Logs begin at nie 2016-10-09 18:58:18 CEST, end at 2016-10-15 23:18:23 CEST. --
paź 15 20:01:03 PRZEDNICZEK01 org.gnome.Shell.desktop[1327]: (gnome-shell:1327): Clutter-CRITICAL **: Unable to initialize Clutter: Nie można zainicjować machenizmu biblioteki Clutter: nie odnaleziono dostępnych sterowników.
paź 15 20:01:03 PRZEDNICZEK01 org.gnome.Shell.desktop[1327]: (gnome-shell:1327): mutter-WARNING **: Unable to initialize Clutter.
# rpm -qa | grep clutter
clutter-1.26.0-1.fc24.x86_64
clutter-gst3-3.0.20-1.fc24.x86_64
clutter-gst2-2.0.18-1.fc24.x86_64
clutter-gtk-1.8.0-1.fc24.x86_64

Teraz na koniec mam kilka pytań:

  1. Co mogę zrobić aby uratować tą konkretną instalację?
  2. Czy przy kolejnych aktualizacjach ten problem może wystąpić ponownie i jak mógłbym mu zapobiec? (Jak wykryć czy dane aktualizacje będą skutkować takim błędem jeszcze przed ich wykonaniem - jakieś wskazówki sugerujące, że te wersje różnych pakietów ze sobą nie zagrają?
  3. Czy jeżeli porzuciłbym sterowniki Nvidii i pozostał przy nouveua to czy ustrzegłbym się takich niespodzianek?
  4. Jeżeli będę upierał się przy własnościowych sterownikach Nvidii (będę potrzebował zainstalować jeszcze SDK CUDA) to jak uchronić się przed takim błędem? 

 

Z góry dziękuję za pomoc

Share this post


Link to post
Share on other sites

Ze sterownikami to zawsze był ciężki temat - może z poziomu konsoli doinstaluj sobie inne srodowisko graficzne np kde czy Cinnamon, mate i może sie uda tam zalogować i coś podziałać - lepiej pod okienkami coś działać niż w konsoli. 

 

Ps. fedora 24 to SHIT i wielu już się o tym przekonało - F22 ostatnia dobra. 

Share this post


Link to post
Share on other sites

Ze sterownikami to zawsze był ciężki temat - może z poziomu konsoli doinstaluj sobie inne srodowisko graficzne np kde czy Cinnamon, mate i może sie uda tam zalogować i coś podziałać - lepiej pod okienkami coś działać niż w konsoli. 

 

Ps. fedora 24 to SHIT i wielu już się o tym przekonało - F22 ostatnia dobra. 

Może ja niezbyt fortunie opisałem ten problem i powinienem wyraźniej rozbić go na dwie części:

  1. Dlaczego po aktualizacji się to wszystko posypało i jak się tego ustrzec na przyszłość.
  2. Jak wycofać pojedynczą aktualizację bez zastanawiania się nad przyczynami.

Zajmijmy się tylko drugim zagadnieniem, czyli wycofaniem.

Wydaje mi się, że przynajmniej samo wycofanie konkretnego update'u nie jest aż tak machinalnym problemem tylko ja nie wiem jakiejś bardzo prostej rzeczy, którą pewnie większość uznaje za oczywistą.

Skupmy się na pojedynczej bibliotece np. mesa-libOSMesa.

Próba wycofania aktualizacji dnf history undo 54 kończy się błędem wynikającym z braku mesa-libOSMesa-0:12.0.3-1.fc24.i686.

Rozumiem, że ta sekwencja w nazwie 0: oznacza tylko nazwę pakietu zarchiwizowanego po udanej aktualizacji i oczekującego na ewentualne wycofanie zmian. W pliku /etc/dnf/dnf.conf nie miałem ustawionej (w ogóle jej nie było) opcji keepcache=1 i dlatego mam takie problemy.

Niemniej jednak, nawet bez tej opcji powinienem móc wycofać zmiany poprzez automatyczne ściągnięcie sobie z repozytorium odpowiedniej wersji, chyba że w tym publicznym repozytorium już jej nie ma. Dlaczego mówię, że może jej już nie być - ponieważ próbowałem zainstalować ręcznie dnf install mesa-libOSMesa i okazało się, że mam już nawet dwie takie:

mesa-libOSMesa-12.0.3-2.fc24.x86_64 i mesa-libOSMesa-12.0.3-2.fc24.i686. Można dostrzec, że posiadana wersja różni się od tej wymaganej tylko infixem -1.fc24 a nie -2.fc24. Jeżeli dobrze rozumiem politykę Fedory to ta o jeden wyższa wersja zawiera jedynie minimalne poprawki, np. wyeliminowanie jakiegoś błędu, bez ruszania interfejsów oferowanych bibliotek i odwołań do innych bibliotek. Dlatego wydaje mi się, że przynajmniej teoretycznie przy wycofywaniu można by użyć tej wyższej wersji.

 

Czy coś takiego jest w ogóle możliwe?

 

Co do Fedory 24 to bardzo sobie ją cenię, może oprócz problemów ze samymi sterownikami własnościowymi Nvidii i SDK CUDA.

Używam Fedory od 2007 i jeżeli CUDA mi zadziała to nie mam ochoty jej na nic innego wymienać.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×