Discussion:
[gentoo-user-de] Kernelquellen
(zu alt für eine Antwort)
Sebastian
2016-09-08 21:10:01 UTC
Permalink
Hallo,

ich will hier nicht jeden Kernel immer gleich neu Bauen wenn ein neuer Kernel
erscheint. Leider habe ich mein System beim Aufsetzen nach anleitung so
eingerichtet das die neuesten Kernelquellen immer verlinkt werden. wo kann ich
das abstellen.

Da ich mit Virtualbox arbeite bekomme ich sonst bei aktualisierung dessen eine
Fehlermeldung weil die Quellen nicht mehr vorhanden sind.

Kann ich es Automatisieren das nur von Aktuellstem und vom Aktivem Kernel die
Quellen vorgehalten werden?


Gruß
Sebastian
Randy Andy
2016-09-09 13:30:01 UTC
Permalink
Hi Sebastian,


Am Fri, 09 Sep 2016 03:31:39 +0200
Post by Sebastian
Hallo,
wahrscheinlich ist das Useflag symlink fÃŒr sys-kernel/gentoo-sources
gesetzt. Wenn dieses aktiviert ist wird der Symlink /usr/src/linux
jeweils immer auf den aktuellsten Kernel verlinken. Daher einfach
dieses Useflag deaktivieren sollte reichen.
Lg Harald.
den ersten Teil deiner Frage hat ja bereits Harald korrekt beantwortet,
fehlt aber noch die Antwort auf den zweiten Teil...
Post by Sebastian
Hallo,
ich will hier nicht jeden Kernel immer gleich neu Bauen wenn ein neuer Kernel
erscheint. Leider habe ich mein System beim Aufsetzen nach anleitung
so eingerichtet das die neuesten Kernelquellen immer verlinkt werden.
wo kann ich
das abstellen.
Da ich mit Virtualbox arbeite bekomme ich sonst bei aktualisierung dessen eine
Fehlermeldung weil die Quellen nicht mehr vorhanden sind.
Kann ich es Automatisieren das nur von Aktuellstem und vom Aktivem Kernel die
Quellen vorgehalten werden?
Solange Du die kernel Quellen, meist also gentoo-sources, nicht mit =
und Versionsnumer bzw. mit --noreplace in dein world file aufgenommen
hast wird doch ohnehin alles entfernt, bis auf die höchste vorhandene
Version wenn Du z.B. folgendes ausfÃŒhrst:
# emerge -a --depclean
oder wenn das wegen unerfÌllter deps gerade nicht möglich ist mit:
# emerge -Pa gentoo-sources

Das zu scripten oder den Befehl mit deinem world update Befehl zu
verketten sollte ein leichtes sein. ;-)

Gruß, Andy.
Sebastian
2016-10-10 21:30:02 UTC
Permalink
Hallo,
danke für die Hinweise das hat aber noch nicht weiter geholfen.
Post by Sebastian
Hallo,
wahrscheinlich ist das Useflag symlink für sys-kernel/gentoo-sources
gesetzt. Wenn dieses aktiviert ist wird der Symlink /usr/src/linux
jeweils immer auf den aktuellsten Kernel verlinken. Daher einfach
dieses Useflag deaktivieren sollte reichen.
ich habe gesucht wo das gesetzt ist aber nicht gefunden.
in make.conf und portage.use steht es nicht.

Euse sagt aber das es gesetzt ist? Ist das in einem profile hinterlegt ich
verwende: default/linux/amd64/13.0/desktop/plasma

euse -I symlink
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
global use flags (searching: symlink)
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
************************************************************
[- ] symlink - Force kernel ebuilds to automatically update the
/usr/src/linux symlink

Installed packages matching this USE flag:
sys-kernel/gentoo-sources-4.4.21

local use flags (searching: symlink)
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
************************************************************
no matching entries found

Gruß
Sebastian
Post by Sebastian
Lg Harald.
Hallo,
ich will hier nicht jeden Kernel immer gleich neu Bauen wenn ein neuer Kernel
erscheint. Leider habe ich mein System beim Aufsetzen nach anleitung so
eingerichtet das die neuesten Kernelquellen immer verlinkt werden. wo kann ich
das abstellen.
Da ich mit Virtualbox arbeite bekomme ich sonst bei aktualisierung dessen eine
Fehlermeldung weil die Quellen nicht mehr vorhanden sind.
Kann ich es Automatisieren das nur von Aktuellstem und vom Aktivem Kernel die
Quellen vorgehalten werden?
Gruß
Sebastian
Michael Volland
2016-10-11 08:50:01 UTC
Permalink
Post by Sebastian
Hallo,
danke für die Hinweise das hat aber noch nicht weiter geholfen.
Post by Sebastian
Hallo,
wahrscheinlich ist das Useflag symlink für sys-kernel/gentoo-sources
gesetzt. Wenn dieses aktiviert ist wird der Symlink /usr/src/linux
jeweils immer auf den aktuellsten Kernel verlinken. Daher einfach
dieses Useflag deaktivieren sollte reichen.
Mach doch einfach einen Eintrag in

/etc/portage/package.use

echo "sys-kernel/gentoo-sources -symlink" >> /etc/portage/package.use/etc/portage/package.use

Nachsehen ob es hilft mit

equery u sys-kernel/gentoo-sources

Da sollte unter "U" ein "-" stehen (und unter "I" ein "+"

Sorry, hatte den thread bislang nicht verfolgt...

Gruß
Michael
Post by Sebastian
ich habe gesucht wo das gesetzt ist aber nicht gefunden.
in make.conf und portage.use steht es nicht.
Euse sagt aber das es gesetzt ist? Ist das in einem profile hinterlegt ich
verwende: default/linux/amd64/13.0/desktop/plasma
euse -I symlink
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
global use flags (searching: symlink)
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
************************************************************
[- ] symlink - Force kernel ebuilds to automatically update the
/usr/src/linux symlink
sys-kernel/gentoo-sources-4.4.21
local use flags (searching: symlink)
WARNING: 'portageq envvar PORTDIR' is deprecated. Use any of 'get_repos,
get_repo_path, repos_config' instead.
************************************************************
no matching entries found
Gruß
Sebastian
Post by Sebastian
Lg Harald.
Hallo,
ich will hier nicht jeden Kernel immer gleich neu Bauen wenn ein neuer Kernel
erscheint. Leider habe ich mein System beim Aufsetzen nach anleitung so
eingerichtet das die neuesten Kernelquellen immer verlinkt werden. wo kann ich
das abstellen.
Da ich mit Virtualbox arbeite bekomme ich sonst bei aktualisierung dessen eine
Fehlermeldung weil die Quellen nicht mehr vorhanden sind.
Kann ich es Automatisieren das nur von Aktuellstem und vom Aktivem Kernel die
Quellen vorgehalten werden?
Gruß
Sebastian
Andreas Prieß
2016-10-12 09:50:01 UTC
Permalink
Hallo allerseits,
Post by Sebastian
Post by Sebastian
wahrscheinlich ist das Useflag symlink für sys-kernel/gentoo-sources
gesetzt. Wenn dieses aktiviert ist wird der Symlink /usr/src/linux
jeweils immer auf den aktuellsten Kernel verlinken. Daher einfach
dieses Useflag deaktivieren sollte reichen.
ich habe gesucht wo das gesetzt ist aber nicht gefunden.
in make.conf und portage.use steht es nicht.
ein USE-Flag kann auch direkt im ebuild oder in einer eclass per default
gesetzt sein. Im ebuild stünde dann sowas wie

IUSE="foo bar +symlink -baz"

Damit wäre dann symlink gesetzt solange es nicht irgendwo wieder
deaktiviert wird.

Wo das für den Kernel gesetzt wird, ist mir aber auch gerade nicht klar,
selbst ein

grep -R '+symlink' /usr/portage

findet da nichts für den Kernel.
Post by Sebastian
Post by Sebastian
ich will hier nicht jeden Kernel immer gleich neu Bauen wenn ein neuer Kernel
erscheint. Leider habe ich mein System beim Aufsetzen nach anleitung so
eingerichtet das die neuesten Kernelquellen immer verlinkt werden. wo kann ich
das abstellen.
Da ich mit Virtualbox arbeite bekomme ich sonst bei aktualisierung dessen eine
Fehlermeldung weil die Quellen nicht mehr vorhanden sind.
Kann ich es Automatisieren das nur von Aktuellstem und vom Aktivem Kernel die
Quellen vorgehalten werden?
Pakete, die man direkt, also nicht als Abhängigkeit installiert haben
möchte, stehen in /var/lib/portage/world

Dort kann man bestimmte Pakete auch mit Versionsnummer eintragen, die
bleiben dann installiert, auch wenn die aktuelle Version dann schon
höher liegt. (Bei Paketen mit Slots kann dann die aktuelle Version
gleichzeitig installiert sein.)

emerge --ask --noreplace =sys-kernel/gentoo-sources-4.4.6

trägt dann zum Beispiel was in world ein?

grep kernel /var/lib/portage/world

ergibt unter anderem "sys-kernel/gentoo-sources:4.4.6", damit bleibt
dann die Version im Slot 4.4.6 erhalten. Ein Update könnte es da nur
innerhalb des Slots geben, zum Beispiel auf 4.4.6-r1 oder sowas.

Mehr zu den ganzen Details in "man portage" und der Doku auf gentoo.org :-)

Grüße
Andreas

Loading...