# Gentoo scheint mich (intellektuell) zu überfordern

## Dr. Ames

Hallo,

nachdem mein Gentoo gut funktionierte, habe ich heute ein "emerge --update --deep --newuse world" ausgeführt. Daraufhin wurden 33 Pakete installiert bzw. erneuert - hauptsächlich X11 Komponenten. Nach einiger Zeit wies das System darauf hin, dass 3 Konfig-Dateien zu erneuern seien. Daraufhin ließ ich "dispatch-conf" ausführen. Da ich als Anfänger noch nicht wirklich bei jeder Konfigurationsdatei Bescheid weis, habe ich einfach 3mal "u" eingegeben, damit jeweils die neue Konfigurationsdatei genommen wird. Dann habe ich immerhin daran gedacht in der Datei "/etc/conf.d/xdm" den Eintrag mit dem Displaymanager wieder auf "kdm" zurückzustellen, da ich ja KDE 4.73 einsetze.

Nun startet mein X-Server bzw. KDE nicht mehr. Die letzten Einträge des Startfensters weisen aus:

xdm   Setting up kdm....    [ok]

local   Starting  local          [ok]

Dann ist Schluß und ich kann mich auf der Shell anmelden. Den X-Server bekomme ich aber nicht mehr gestartet.

Ein "revdep-rebuild" hat auch nicht geholfen. Auch ein emerge von qt-core und qt-gui half nicht - hatte ich hier im Forum gefunden.  Ist es bei Gentoo Updates wirklich jedes Mal notwendig, auch jede noch so versteckte Konfigurationsdatei im Blick und im Gedächtnis zu haben und kann man "aus der Ferne" überhaupt beurteilen, was nun bei mir "kaputt" ist?

----------

## Max Steel

Was sagt er denn wenn du einfach startx eingibst?

Alternativ kannst du auch die /var/log/Xorg.0.log anschaun.

Uns interessieren vorallem die (EE) Zeilen.

----------

## Dr. Ames

Danke für die Antwort. Da ich gerade mein letztes Image zurückspiele, kann ich nur aus dem Gedächtnis zitieren. In der angesprochenen Logdatei stand drin, dass er die in der make.conf angegeben Grafik - und Eingabegeräte nicht mehr findet. Da ich das Ganze als Gastsystem unter VMWare 8 betreibe - mit erfolgreich installierten VM-Tools, hatte ich noch die Idee, dass ich einfach die Tools erneut installiere, um die Fehler zu korrigieren. Aber auch das scheiterte, da sofort die Meldung kam, das ich den Pfad zur Binärdatei "less" per Hand eingeben sollte. Es scheint so, dass auch die Umgebungsvariablen zerstört wurden. Für mich als Anfänger scheint es so, dass tatsächlich ein korrekt durchgeführtes "emerge" ausreicht, das System in Einzelteile zerfallen zu lassen. Wenn mein Image zurückgespielt wurde, könnte ich das Ganze erneut durchführen - mit wahrscheinlich dem exakt gleichen Ergebnis. "Startx" funktioniert nicht, weder als root noch als User.

Vielleicht reicht es bei mir nur zu Sabayon   :Sad: 

----------

## Hollowman

Hi

Das Rückspielen hättest du dir sparen können. Einfach alle installierten Pakete die xf86-video* oder xf86-input* nochmal kompilieren. Dann geht alles wieder.

Das steht da aber auch immer dick und fett unten drunter wenn man nen neuen X Server kompiliert hat.

Sebastian

----------

## Josef.95

Ja, ich vermute auch das es am ABI Wechsel des xorg-server liegt. (Doch so, ganz ohne Fehlermeldung, bzw nachschauen im Xorg.0.log bleibt es nur eine Vermutung...)

Es gab sogar zusätzlich auf http://planet.gentoo.org/universe/ eine Ankündigung zur neuen xorg-server Version, inklusive Tipps was beim Wechsel zu beachten ist,

siehe xorg-server-1.11 going stable

----------

## doedel

Noch was zu dem "versauten" Image nach dem Update. Klar, kann bei einem Update was schiefgehen, aber man kommt bei sowas recht schnell darauf, was fehlt.

Fehlende Umgebungsvariablen kommen wahrscheinlich durch eine fehlerhafte Konfig-Datei/falscher Name der bash, oder beim "init" passiert was Falsches. Es ist kein Hexenwerk sowas wieder hinzubekommen, vorallem hilft man dir ja auch  :Wink: 

----------

## Dr. Ames

Herzlichen Dank an Euch beide!

Jetzt habe ich mir die Hinweise nach erneutem Update des zurückgespielten Images genauer angeschaut. Tatsächlich wurde auf eine Neukompilation des XORG-Servers  hingewiesen - hatte ich überhaupt nicht beachtet. Ich habe dann die Befehle "emerge XORG-Server" und "emerge -1 $(qlist -I -C x11-drivers/)" ausgeführt und jetzt startet KDE wieder einwandfrei.

Ich lebte bis jetzt einfach in der Vorstellung, dass das Ausführen von emerge reicht, und das dies alles automatisch ins Lot bringt. Vielleicht ein Hinweis darauf, dass der Titel meines Postings stimmen könnte.

----------

## Dr. Ames

 *doedel wrote:*   

> Noch was zu dem "versauten" Image nach dem Update. Klar, kann bei einem Update was schiefgehen, aber man kommt bei sowas recht schnell darauf, was fehlt.
> 
> Fehlende Umgebungsvariablen kommen wahrscheinlich durch eine fehlerhafte Konfig-Datei/falscher Name der bash, oder beim "init" passiert was Falsches. Es ist kein Hexenwerk sowas wieder hinzubekommen, vorallem hilft man dir ja auch 

 

Das stimmt - ohne die Hilfe hier, hätte ich Gentoo-mäßig sicherlich bereits die Segel gestrichen.

----------

## smlki

 *Hollowman wrote:*   

> Hi
> 
> Das Rückspielen hättest du dir sparen können. Einfach alle installierten Pakete die xf86-video* oder xf86-input* nochmal kompilieren. Dann geht alles wieder.
> 
> Das steht da aber auch immer dick und fett unten drunter wenn man nen neuen X Server kompiliert hat.
> ...

 

Es steht folgendes darunter (aus dem xserver.ebuild kopiert):

```

ewarn "You must rebuild all drivers if upgrading from <xorg-server-$(get_version_component_range 1-2)"

ewarn "because the ABI changed. If you cannot start X because"

ewarn "of module version mismatch errors, this is your problem."

echo

ewarn "You can generate a list of all installed packages in the x11-drivers"

ewarn "category using this command:"

ewarn "   emerge portage-utils; qlist -I -C x11-drivers/"

```

Das Problem ist nur, dass man diese Meldung auch sehen und verstehen muss, denn hier steht dieses kleine Wörtchen "if". Wenn aber so jemand wie ich vor dem Zubettgehen 

```
emerge -uD --newuse world ; halt
```

eingibt und am nächsten Tag ein Blick auf emerge.log wirft, dann bekommt er diese Meldung erst gar nicht mit.

Im übrigen ist es verdamt dreist zu behaupten, dass der Anwender Schuld ist, wenn er es versäumt etwas zu tun, an was er gar nicht oder allenfalls nur beiläufig erinnert worden ist. Man sollte sich mal fragen, warum es die Maintainer nicht gebacken bekommen, den vollständigen Update-Prozess zu automatisieren.

Es ist eine leidige Tatsache, dass jedesmal sehr viele Gentoo-Anwender auf die Fresse fallen, wenn ein ABI-Wechsel stattfindet und man kann den Leuten wahrlich nicht vorwerfen, dass sie zu doof sind.

----------

## franzf

 *smlki wrote:*   

> Wenn aber so jemand wie ich vor dem Zubettgehen 
> 
> ```
> emerge -uD --newuse world ; halt
> ```
> ...

 

Das sollte man mit Gentoo auch nicht tun, jedenfalls nicht wenn man noch nicht so erfahren ist. Allein schon wegen der Konfigurationsdateien, die zu aktualisieren sind. Es kann nämlich durchaus sein, dass nach einem Update die Software ohne Anpassung der Konfiguration nicht mehr funktioniert (z.B. openrc).

Desweiteren sollte man VOR dem Aktualisieren die Paketliste anschauen und nach potentiellen Bösewichten durchsehen. Findet man so etwas wie

* libpng

* xorg-server

* baselayout

* openrc

* poppler

bimmelt gleich die Alarmglocke, und man macht eben NICHT ein Update ohne folgendem etc-update/revdep-rebuild/...

So etwas erfordert aber Erfahrung, die man nur bekommt, wenn man auch mal schön in Probleme reinrennt (und sie auch löst und nicht durch ein "emerge -e world" oder Distrowechsel umgeht).

 *Quote:*   

> Es ist eine leidige Tatsache, dass jedesmal sehr viele Gentoo-Anwender auf die Fresse fallen, wenn ein ABI-Wechsel stattfindet und man kann den Leuten wahrlich nicht vorwerfen, dass sie zu doof sind.

 

Ersetze Gentoo-Anwender durch Gentoo-Anfänger.

Und zu doof ist sowieso niemand, nur zu unerfahren oder zu hektisch  :Razz: 

Wer Gentoo verwendet, sollte Zeit und Geduld mitbringen, das geht ja schon bei der ersten Installation los.

Die Messages am Ende gibt es auch nicht zum Spaß, wenn da was Unwichtiges drin stehen sollte, wären sie ja unnötig -> lesen!

----------

## smlki

 *franzf wrote:*   

>  *smlki wrote:*   Wenn aber so jemand wie ich vor dem Zubettgehen 
> 
> ```
> emerge -uD --newuse world ; halt
> ```
> ...

 

Wo steht das geschrieben? (Abgesehen mal davon, dass ein Anfänger gar nicht auf die Idee kommen würde)

Das Problem ist ganz eindeutig, dass die Meldungen nicht gelogt werden. Punkt!

 *franzf wrote:*   

> 
> 
> Desweiteren sollte man VOR dem Aktualisieren die Paketliste anschauen und nach potentiellen Bösewichten durchsehen. Findet man so etwas wie
> 
> * libpng
> ...

 

Sorry, aber das ist Käse! Es gibt Leute, die haben noch ein reales Leben und nicht die Zeit, stundenlang die Paketlisten zu studieren.

----------

## Finswimmer

Die Logs können mit elogv gespeichert und betrachtet werden.

Das hilft aber nichts, wenn man es erst nach einem Neustart lesen möchte, denn dann kann es sein, dass Gentoo nicht richtig startet (so zum Beispiel bei einem openrc/baselayout-Update)

----------

## Hollowman

 *smlki wrote:*   

> 
> 
> Das Problem ist ganz eindeutig, dass die Meldungen nicht gelogt werden. Punkt!
> 
> 

 

Bevor du solche Behauptungen aufstellst, informiere dich bitte vorher.

Mach mal nach einem emerge oder nach deinem Update ein

```
# cat /var/log/portage/elog/summary.log
```

Da steht genau das drin was nach dem emerge auch drunter steht. Bringt dir aber wie gesagt auch nichts wenn dein System nicht bootet oder du keine Tastatur oder Maus in X hast.

Zu einem Update bei Gentoo gehört immer ein emerge ... , revdep-rebuild, etc-update/dispatch-conf und eventuell sogar ein emerge -a --depclean

Wenn du eine Distri willst die dir alles vorkaut, dann musst du was anderes als Gentoo nehmen. Wenn du keine Zeit hast dich um dein System zu kümmern, dann ebenso.

Sebastian

----------

## smlki

 *Hollowman wrote:*   

>  *smlki wrote:*   
> 
> Das Problem ist ganz eindeutig, dass die Meldungen nicht gelogt werden. Punkt!
> 
>  
> ...

 

Schön, du hast mich ja jetzt informiert. (wobei ich mich jetzt frage, warum dieses Logfile woanders liegt, als emerge.log)

 *Hollowman wrote:*   

> 
> 
> Da steht genau das drin was nach dem emerge auch drunter steht. Bringt dir aber wie gesagt auch nichts wenn dein System nicht bootet oder du keine Tastatur oder Maus in X hast. 
> 
> 

 

Aber selbstverständlich bringt das was. Es ist ja nicht so, dass man an dieses Infos nicht mehr mit einem Life-System heran kommt.

 *Hollowman wrote:*   

> 
> 
> Wenn du eine Distri willst die dir alles vorkaut, dann musst du was anderes als Gentoo nehmen. Wenn du keine Zeit hast dich um dein System zu kümmern, dann ebenso.
> 
> 

 

 :Laughing:  Du bist nicht der erste, der das erzählt. Dieses Totschlagargument bekommt man völlig unabhängig von der Distribution stets um die Ohren geknallt, wenn man Kritik an eben jener äußert. Und du willst doch wohl nicht wirklich behaupten, dass sich Gentoo nur für Studenten und Arbeitslose eignet.  :Wink: 

----------

## franzf

 *smlki wrote:*   

>  *franzf wrote:*   Das sollte man mit Gentoo auch nicht tun, jedenfalls nicht wenn man noch nicht so erfahren ist.
> 
>  
> 
> Wo steht das geschrieben? (Abgesehen mal davon, dass ein Anfänger gar nicht auf die Idee kommen würde)

 

Das ergibt sich allein aus der Tatsache, dass Gentoo nicht einen versions-stabilen Softwarestack pro Release pflegt - Stichwort "Rolling Release". Dadurch ergeben sich eben nun mal Probleme mit ABI-Änderungen, Bibliothek-Umbenennungen etc. Und die Konfigurationsdateien werden auch nicht vom System gepflegt, da musst du dich drum kümmern.

Man sollte bei Gentoo wirklich NIE blind ein Update fahren, wenn einem die Benutzbarkeit des Systems wichtig ist. Da es auch immer wieder BLOCKS gibt, kann man sowieso nicht blind ein Update machen - im schlimmsten Fall merkt man es erst nach Monaten, und dann die ganzen aufgestauten Updates auf einmal machen, wird selbst für alte Gentoo-Hasen ein ordentliches Stück Stress.

 *Quote:*   

> Sorry, aber das ist Käse! Es gibt Leute, die haben noch ein reales Leben und nicht die Zeit, stundenlang die Paketlisten zu studieren.

 

Sorry, aber das ist Käse  :Razz: 

Ein durchschnittliches Update hat hier zwischen 5 und 30 Pakete. Um sich das anzuschauen braucht man keine Stunden.

----------

## schmidicom

 *Hollowman wrote:*   

> Mach mal nach einem emerge oder nach deinem Update ein
> 
> ```
> # cat /var/log/portage/elog/summary.log
> ```
> ...

 

Wäre es nicht sinnvoller diese Meldungen irgendwo anders unterzubringen wo sie eher gelesen werden wie zum Beispiel "eselect news"?

Ich selbst überlese diese Meldungen auch sehr oft und das dürfte sicher einigen so gehen egal ob erfahren oder nicht.

----------

## Genone

 *schmidicom wrote:*   

> 
> 
> Wäre es nicht sinnvoller diese Meldungen irgendwo anders unterzubringen wo sie eher gelesen werden wie zum Beispiel "eselect news"?
> 
> Ich selbst überlese diese Meldungen auch sehr oft und das dürfte sicher einigen so gehen egal ob erfahren oder nicht.

 

Siehe PORTAGE_ELOG Einstellungen in /usr/share/portage/conf/make.conf.example oder Working with Portage Handbook

Das emerge.log nicht im selben Verzeichnis liegt hat historische Gründe: Lange Zeit gab es nur emerge.log als Logdatei, und dafür hat ein eigenes Verzeichnis wenig Sinn gemacht. Mit portage-2.1 wurde u.a. das elog Subsystem inkl. weiterer Logdateien eingeführt, daher wurde ein separates Verzeichnis notwendig (gab auch weitere technische Gründe dafür). Ein Verschieben von emerge.log in dieses neue Verzeichnis war/ist allerdings problematisch, da die Datei von diversen externen Tools ausgewertet wird (ein Kompatibilitätssymlink könnte wohl helfen, bin aber kein Freund von solchen Lösungen).

Prinzipiell könnte man auch ein elog Modul schreiben, um die Meldungen an `eselect news` weiterzureichen, ist allerdings keine triviale Aufgabe da beide Systeme grundlegend verschiedene Anforderungen haben.

----------

## schmidicom

 *Genone wrote:*   

>  *schmidicom wrote:*   
> 
> Wäre es nicht sinnvoller diese Meldungen irgendwo anders unterzubringen wo sie eher gelesen werden wie zum Beispiel "eselect news"?
> 
> Ich selbst überlese diese Meldungen auch sehr oft und das dürfte sicher einigen so gehen egal ob erfahren oder nicht. 
> ...

 

Oder wie wäre es dann mit einem neuen Modul für eselect das sagen wir jetzt einfach mal elog heissen könnte und einem beim nachträglichen auslesen hilft?

eselect elog read x11-xorg

könnte einem die Meldung von x11-xorg ausgeben und

eselect elog read world

könnte einem alle gespeicherten Meldungen ausgeben (was zugegebener massen mit less genau so gut gehen würde aber egal)

eselect elog list

könnte einem eine liste von Paketen angeben die eine Meldung hinterlassen haben.

----------

