bascombe: / Verständnis: Gentoo + USE-Flags

he

Um mich mit Gentoo vertraut zu machen, habe ich mir in eine VM Gentoo (stage 3, bisher) installiert. Das hat, mit Hilfe der ausführlichen Dokumentation, beim zweiten Anlauf "geklappt". Allerdings tritt nun ein Fehler beim booten auf:

"
fsck.ext3: No such file or directory while trying to open /dev/ROOT /dev/ROOT:
The superblock could not be read or does not describe a correct ext2 filesystem. [...]
Filesystem couldn't be fixed.
Give root password for maintenance (or type ctrl-D to continue):_
"

Gebe ich das root password ein, lande ich in der GRUB-Konsole, ctrl-D wirft lediglich die Fehlermeldung ein weiteres Mal aus. Wo liegt das Problem exakt? Mich irritiert die Pfadangabe etwas. Ist hier evtl. eine config fehlerhaft?

(In einem Forum wird der vor der Formatierung der neu erstellten Partitionen mit mke2fs, wie in der Doku beschrieben und von mir ausgeführt, abgeraten. Womöglich ist das Grund für den Fehler.)

Zweitens: Eine Verständnisfrage zu den USE-Flags. (die in der Doku ja ebenfalls ausführlich beschrieben werden.)
Sehe ich es richtig, dass ich möglichst beim Aufsetzen des Systems entscheiden sollte, welche Flags ich benötige, da später ansonsten Probleme zwischen den einzelnen Paketen bzw. mit den Abhängigkeiten entstehen können?
Oder habe ich durch

emerge --update --newuse world

usw. letztlich immer die Möglichkeit, nach Lust und Laune USE-Flags hinzuzufügen und "das System zu ergänzen".?

Wie kann ich feststellen, welche Flags ich benötige, um mir ein Gentoo-Linux  mit kde-Desktop zu bauen, mit dem ich später "alle Möglichkeiten verbreiterter Betriebssysteme" habe, etwa Office-, Web-, Netzwerk- und Multimediaanwendungen?

gruß bascombe

  1. hallo,

    Um mich mit Gentoo vertraut zu machen, habe ich mir in eine VM Gentoo (stage 3, bisher) installiert. Das hat, mit Hilfe der ausführlichen Dokumentation, beim zweiten Anlauf "geklappt".

    Nein, nicht wirklich, du hast nicht alles, was im Handbuch steht, gelesen.

    fsck.ext3: No such file or directory while trying to open /dev/ROOT /dev/ROOT:

    Ganz typischer "Anfängerfehler": du mußt deine /etc/fstab korrigieren. Die Einträge, die darin stehen, sind allesamt Dummies.

    Sehe ich es richtig, dass ich möglichst beim Aufsetzen des Systems entscheiden sollte, welche Flags ich benötige,

    Ja, das siehst du richtig. Trage alles, was du brauchst, in deine /etc/make.conf ein.

    da später ansonsten Probleme zwischen den einzelnen Paketen bzw. mit den Abhängigkeiten entstehen können?

    Das ist weniger zu erwarten.

    Oder habe ich durch

    emerge --update --newuse world

    usw. letztlich immer die Möglichkeit, nach Lust und Laune USE-Flags hinzuzufügen und "das System zu ergänzen".?

    ZUm Teil, ja. Das benötigst du nur, wenn du im laufenden Betrieb eben neue USE-Flags gesetzt hast. Du kannst aber auch einzelne Pakete mit veränderten USE-Flags emergen, ohne das gleich in /etc/make.conf eintragen zu müssen.

    gruß bascombe

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. he

      Um mich mit Gentoo vertraut zu machen, habe ich mir in eine VM Gentoo (stage 3, bisher) installiert. Das hat, mit Hilfe der ausführlichen Dokumentation, beim zweiten Anlauf "geklappt".

      Nein, nicht wirklich, du hast nicht alles, was im Handbuch steht, gelesen.

      Auf was beziehst du dich genau? Natürlich habe ich nicht alles gelesen, zumal sich vieles erst nach mehrmaligem Lesen...

      fsck.ext3: No such file or directory while trying to open /dev/ROOT /dev/ROOT:

      Ganz typischer "Anfängerfehler": du mußt deine /etc/fstab korrigieren. Die Einträge, die darin stehen, sind allesamt Dummies.

      ...oder der ein oder anderen Bauchlandung erschließt. Ich habe /etc/fstab natürlich geöffnet, dachte dann aber: Toll, hat sich von selbst erledigt. Aua. Ich werde die Installation wohl nochmals durchführen.

      Wie stelle ich aber fest, gerade als "Anfänger", welche USE-Flags ich nun benötige?

      Danke dir.

      gruß bascombe

      1. hallo,

        Ich werde die Installation wohl nochmals durchführen.

        Wenn du unbedingt üben willst, kannst du das natürlich tun. Aber wenn es nur darum geht, die /etc/fstab zu korrigieren, ist das nicht nötig. Du startest deinen Rechner eben von deiner CD, mountest deine Gentoo-Partition und korrigierst die /etc/fstab mit einem Texteditor (nano) auf der Konsole.

        Wie stelle ich aber fest, gerade als "Anfänger", welche USE-Flags ich nun benötige?

        Das weiß ich nicht. Die Entscheidung triffst du selbst. Du schaust aber günstigerweise erstmal mit "emerge --info" nach, welche Flags dein System bereits kennt. Siehst du dort irgendetwas, was du nicht brauchst, schaltest du es eben ab. Bei mir steht in der /etc/make.conf beispielsweise sowas drin:
        USE="-ipv6 -gdbm"

        Es gibt Pakete, die ich haben möchte, und die besondere Flags verlangen. Ich möchte zum Beispiel xawtv haben (für die TV-Karte). Wenn ich aber nur "emerge xawtv" mache, kriege ich es von der grafischen Overfläche aus nicht in Gang. Ich muß also "USE='X' emerge xawtv" nehmen.

        Wenn du wissen möchtest, welche Flags für irgendein Paket vorgesehen sind, machst du ein
           emerge -pv [paketname]
        Damit werden dir sämtliche Abhängigkeiten und auch die "standardmäßig" vorgesehenen USE-Flags angezeigt.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. he

          Herzlichen Dank für eure Antworten! Mittlerweile habe ich den Installationsprozess ein weiteres Mal durchlaufen - nahezu erfolgreich. /etc/fstab unverändert zu übernehmen, war natürlich quatsch.

          Die zahlreichen Möglichkeiten sich sein System zu bauen, wie auch von stareagle oben beschrieben, beeindrucken.

          Allerdings wurde mein DHCP-Client nicht korrekt installiert. Das möchte ich jetzt nachholen. Wie gehe ich nun vor, sprich, wie installiere ich mit Hilfe der CD den Client für mein System nach?

          gruß bascombe

          1. hallo,

            Allerdings wurde mein DHCP-Client nicht korrekt installiert.

            Was meinst du damit? Was hast du installiert, wie hast du es installiert, welche Fehlermeldung gibt es?

            Wie gehe ich nun vor

            1. emerge dhcpcd
            2. /etc/conf.d/net bearbeiten
            3. rc-update ausführen

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
            1. he

              welche Fehlermeldung gibt es?

              No DHCP client installed
              ERROR: can not start netmount ... (logisch)

              Womöglich habe ich die Installation schlichtweg ausversehen übersprungen.

              Wie gehe ich nun vor

              1. emerge dhcpcd

              Habe ich bereits versucht, bricht aber ab:

              failed: Temporary failure in name resolution.

              Couldn't download ... Aborting.
              Fetch failed for ...

              gruß bascombe

              1. hallo,

                Temporary failure in name resolution.

                Ach herrjeh ... schreib bitte die IP deines DNS-Servers in /etc/resolv.conf, wie im Handbuch beschrieben.

                Grüße aus Berlin

                Christoph S.

                --
                Visitenkarte
                ss:| zu:) ls:& fo:) va:) sh:| rl:|
                1. he

                  Temporary failure in name resolution.

                  Ach herrjeh ... schreib bitte die IP deines DNS-Servers in /etc/resolv.conf, wie im Handbuch beschrieben.

                  In der File ist bereits eine IP angegeben:

                  Generated by dhcpcd for interface eth0

                  nameserver 10.211.55.1

                  gruß bascombe

                  1. hallo,

                    Generated by dhcpcd for interface eth0

                    nameserver 10.211.55.1

                    Das ist dein Router. Versuche es mal zusätzlich mit der IP deines Providers.

                    Um zu prüfen, ob denn "name resolution" überhaupt möglich ist, kannst du auch mit "ping" rumfuchteln. Dazu eigent sich beispielsweise ein einfaches "ping www.google.de". Was passiert da?

                    Grüße aus Berlin

                    Christoph S.

                    --
                    Visitenkarte
                    ss:| zu:) ls:& fo:) va:) sh:| rl:|
                    1. he

                      Das ist dein Router. Versuche es mal zusätzlich mit der IP deines Providers.

                      Habe es mit zwei IPs versucht - ohne Erfolg.

                      Ich kann niemanden anpingen:

                      ping: unknown host www.google.de

                      gruß bascombe

                      1. hallo,

                        Ich kann niemanden anpingen:
                        ping: unknown host www.google.de

                        Dann fehlen dir möglicherweise entscheidende Systembestandteile. Kannst du denn online gehen, wenn du von deiner CD (übrigens: was hast du für eine?) startest?

                        Was sagt dir "uname -a" auf der Konsole? Erbringt "netstat -ar" irgendein Ergebnis? Was zeigt "ifconfig"?

                        Grüße aus Berlin

                        Christoph S.

                        --
                        Visitenkarte
                        ss:| zu:) ls:& fo:) va:) sh:| rl:|
                        1. he

                          Dann fehlen dir möglicherweise entscheidende Systembestandteile. Kannst du denn online gehen, wenn du von deiner CD (übrigens: was hast du für eine?) startest?

                          Wenn ich von der CD (bzw. in meinem Fall der install-x86-minimal-2007.0-r1.iso) boote, pinge ich google erfolgreich an.

                          "uname -a"

                          Mein Systemdaten (Linux Localhost ...) und die Meldung, dass ich meine localtime noch nicht gesetzt habe.

                          "netstat -ar"

                          Destination: loopback
                          Gateway: *
                          Genmask: 255.255.255.0
                          Flags: U
                          MSS: 0
                          Window: 0
                          irtt: 0
                          Iface: lo

                          "ifconfig":

                          Hier fehlt eth0, lediglich lo wird gelistet.

                          net-setup eth0 ergibt:
                          command not found

                          gruß bascombe

                          1. hallo,

                            Wenn ich von der CD (bzw. in meinem Fall der install-x86-minimal-2007.0-r1.iso) boote, pinge ich google erfolgreich an.

                            Moment - das geht unmittelbar nach dem Booten?

                            net-setup eth0 ergibt:
                            command not found

                            ups. Wenn das _signifikant_ so ist, also auch nach mehrmaligen Versuchen, könnte deine CD defekt sein. Es sei denn, du hast gar kein "eth0". Um das zu prüfen, hast du (immer von der gestartene CD aus) zwei Möglichkeiten:
                            1. - dmesg |grep eth
                            Das sollte dir deine NIC(s) anzeigen
                            2. - lspci
                            Das zeigt dir alle am PCI-Bus angeschlossenen Geräte, was dich interessiert, ist ein Eintrag für "Ethernet controller"

                            "uname -a"
                            Mein Systemdaten (Linux Localhost ...) und die Meldung, dass ich meine localtime noch nicht gesetzt habe.

                            Nein, das sollte dir irgendwas wie "Linux livecd 2.6.19 ..." zeigen. Bitte beachten: du wolltest von der CD starten, und nicht von der Platte.

                            "netstat -ar"
                            Destination: loopback
                            Gateway: *
                            Genmask: 255.255.255.0
                            Flags: U
                            MSS: 0
                            Window: 0
                            irtt: 0
                            Iface: lo

                            Das ist viel zu wenig.

                            "ifconfig":
                            Hier fehlt eth0, lediglich lo wird gelistet.

                            Wie ich schon schrieb, dann hast du wesentliche Systembestandteile nicht installiert.

                            net-setup eth0 ergibt:
                            command not found

                            Das ist relativ unmöglich - sofern du von der CD gebootet hast. Wenn du von deiner Platte bootest, ist das korrekt.

                            Grüße aus Berlin

                            Christoph S.

                            --
                            Visitenkarte
                            ss:| zu:) ls:& fo:) va:) sh:| rl:|
                            1. he

                              Wenn ich von der CD (bzw. in meinem Fall der install-x86-minimal-2007.0-r1.iso) boote, pinge ich google erfolgreich an.

                              Moment - das geht unmittelbar nach dem Booten?

                              Ja, die Verbindung stand in der Tat immer sofort.

                              Mittlerweile habe ich nochmals alles neu installiert, inklusive dhcpcd etc. Es funktioniert. Ich werde mich jetzt mal umsehen und daran machen, kde zu installieren.

                              Danke dir für deine Hilfe. Evtl. melde ich mich später hier nochmal zurück.

                              gruß bascombe

                              1. hallo,

                                Ich werde mich jetzt mal umsehen und daran machen, kde zu installieren.

                                KDE ist eine sehr umfangreiche Suite. Du wirst nicht unbedingt alles brauchen, was es enthält. Im Prinzip hast du zwei Wege:
                                   emerge kde
                                installiert dir alles, einschließlich einiger kleiner Spiele. Das dauert ein bißchen.
                                Der zweite Weg besteht darin, die Bestandteile auszuwählen. Was du für KDE wirklich brauchst, sind nur zwei Basispakete:
                                   emerge kdelibs
                                   emerge kdebase
                                kdelibs installiert als Abhängigkeit auch Qt, worauf KDE ja aufgebaut ist, und das kann, abhängig von der Rechnerleistung, ein paar Stunden dauern. kdebase enthält denn die Grundbestandteile, darunter die beiden Texteditoren kate und kwrite sowie den Konqueror. Firefox oder Opera kannst du dir zusätzlich installieren, sie werden problemlos in die Oberfläche integriert.
                                Zusätzlich zum Basispaket brauchst du vielleicht noch kmail aus dem Gesamtpaket kdenetwork. Alles andere - und das ist noch sehr viel! - ist nicht immer wirklich nötig.

                                Grüße aus Berlin

                                Christoph S.

                                --
                                Visitenkarte
                                ss:| zu:) ls:& fo:) va:) sh:| rl:|
                                1. he

                                  Danke dir für deine Ausführungen. Ich habe mich bereits etwas in den Artikel zur Installation von KDE auf gentoo.org reingelesen.
                                  Mein erster Versuch ist gescheitert (emerge kdebase-meta), da sich zwei Pakete blockierten. Wie schließe ich jetzt eines von der Installation aus? Hier wird zwar erklärt, was einen Blocker auslöst, aber nicht, wie ich ein Paket auslasse bzw. deinstalliere.

                                  gruß bascombe

                                  1. hallo,

                                    Mein erster Versuch ist gescheitert (emerge kdebase-meta)

                                    Was versprichst du dir von kdebase-meta? Ich habe das gar nicht installiert.

                                    da sich zwei Pakete blockierten. Wie schließe ich jetzt eines von der Installation aus?

                                    Das kann dir bei speziellen Paketen durchaus häufiger passieren. Ich habe die entsprechende Stelle im Handbuch jetzt nicht genau im Kopf, aber suche mal nach dem Stichwort "blockierte Pakete". "Ausschließen" kannst du einzelne Pakete über USE-Flags - und da beginnen wir jetzt, uns im Kreis zu drehen.

                                    Grüße aus Berlin

                                    Christoph S.

                                    --
                                    Visitenkarte
                                    ss:| zu:) ls:& fo:) va:) sh:| rl:|
                                    1. he

                                      emerge kdebase-meta

                                      Was versprichst du dir von kdebase-meta?

                                      Nichts bestimmtes. Da fehlt mir noch das Wissen. Ich hatte mich an die Doku gehalten und war der Meinung, ich versuche kdebase-meta, weil:

                                      "Wenn Sie etwas zwischen kde-meta und kdebase-startkde wollen, installieren Sie kdebase-meta. Dies wird einige zusätzliche Anwendungen, z.B. konsole und kdm, installieren."

                                      da sich zwei Pakete blockierten. Wie schließe ich jetzt eines von der Installation aus?
                                      Das kann dir bei speziellen Paketen durchaus häufiger passieren. Ich habe die entsprechende Stelle im Handbuch jetzt nicht genau im Kopf, aber suche mal nach dem Stichwort "blockierte Pakete".

                                      Was ich ja bereits getan habe.

                                      "Ausschließen" kannst du einzelne Pakete über USE-Flags - und da beginnen wir jetzt, uns im Kreis zu drehen.

                                      Ok. Ich werde mal sehen, wie weit ich komme und melde mich nochmal.

                                      Noch eine Frage: In deinem Artikel (den ich im Vergleich mit der Doku als angenehm kompakt empfinde) empfiehlst du die Verwendung mehrerer Konsolen parallel. Wie öffne ich mir aber eine neue Konsole?

                                      gruß bascombe

                                      1. hallo,

                                        Wie öffne ich mir aber eine neue Konsole?

                                        Mit ALT+STRG+F(X). X ist ein Wert zwischen 1 und 6.

                                        Im übrigen würde ich jetzt doch empfehlen, daß du auf ein anderes Forum ausweichst. Dort geht es ausschließlich um Gentoo, und die meisten deiner Fragen sind in ausführlichen Threads bereits mehr als hinreichend beantwortet.

                                        Grüße aus Berlin

                                        Christoph S.

                                        --
                                        Visitenkarte
                                        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        2. Hallo Christoph,

          Es gibt Pakete, die ich haben möchte, und die besondere Flags verlangen. Ich möchte zum Beispiel xawtv haben (für die TV-Karte). Wenn ich aber nur "emerge xawtv" mache, kriege ich es von der grafischen Overfläche aus nicht in Gang. Ich muß also "USE='X' emerge xawtv" nehmen.

          Öhm, da gibt's aber eine bessere Möglichkeit für. Du kannst einfach eine Datei /etc/portage/package.use anlegen und dort sowas reinschreiben wie

          media-tv/xawtv X

          Dann wird NUR für dieses eine Paket das use-Flag 'X' gesetzt und zwar bei JEDEM emerge. Dann musst Du bei Updates nicht immer einzeln Pakete hinterher neu emergen, dann berücksichtigt das Portage bereits für dich.

          Es funktionieren auch problemlos mehrere Zeilen und USE-Flags, mal ein Abschnitt aus meiner (lokalen) Datei zur Verdeutlichung:

          ...
          www-apps/trac sqlite vhosts
          www-servers/apache suexec threads
          ...

          Sprich: www-apps/trac soll mit den USE-Flags 'sqlite' und 'vhosts' gebaut werden während www-servers/apache mit den USE-Flags 'suexec' und 'threads' gebaut werden soll.

          Viele Grüße,
          Christian

  2. Sehe ich es richtig, dass ich möglichst beim Aufsetzen des Systems entscheiden sollte, welche Flags ich benötige, da später ansonsten Probleme zwischen den einzelnen Paketen bzw. mit den Abhängigkeiten entstehen können?

    Grundsätzlich ja. Allerdings kannst du ohne Probleme Änderungen an /etc/make.conf machen

    emerge --update --newuse world

    usw. letztlich immer die Möglichkeit, nach Lust und Laune USE-Flags hinzuzufügen und "das System zu ergänzen".?

    Das sollte funktionieren. Allerdings ist die Grundkonfiguration erst mal okay.

    Wie kann ich feststellen, welche Flags ich benötige, um mir ein Gentoo-Linux  mit kde-Desktop zu bauen, mit dem ich später "alle Möglichkeiten verbreiterter Betriebssysteme" habe, etwa Office-, Web-, Netzwerk- und Multimediaanwendungen?

    Wenn du ein emerge -vp machst (oder ein emerge -va) bekommst du angezeigt, welche Useflags das jeweilige Packet hast. Du kannst unabhängig von der make.conf in der /etc/portage/package.use für jedes Packet noch zusätzliche USE-Flags definieren.

    Ich brauche z.B. nicht von allen Paketen die komplette Dokumentationen und bei Bibliotheken nicht unbedingt die Beispiele. Bei einigen möchte sie aber haben.

    Zum anderen haben einige Pakete spezielle USE-Flags (z.B. frontendonly bei MythTV). Solche USE-Flags kommen in die package.use. In der package.use kannst du auch bestimmte USE-Flags deaktivieren, wenn du z.B. die grafische Oberfläche bei einem Programm nicht brauchst.

    Sehr praktisch sind übrigens das gentoolkit, insbesondere equery, eix (schnelles Durchsuchen des Portage-Trees) und euses. euses zeigt dir eine Beschreibung zu USE-Flags an.

    Für kde dürftest du qt und kde. Ansonsten einfach beim emergen schauen was für USE-Flags auftauchen und mit euses nachschauen, was das ist. Wenn du es für alle Pakete haben willst, in die make.conf damit, sonst in die package.use.

    Gruß

    Stareagle