• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

apt und automatisches KernelUpdate

Frankie777

Advanced Hacker
Hallo,
ich benutze das Sript zum automat. Download der aktuellen Sources.list was auch gut funktioniert.

Nur eben hat es mir
kernel-default (2.6.8-24.16 SuSE:9.2/stable) und anderes
runtergeladen und installiert und damit das System platt gemacht.

Wie setze ich die Pakete auf hold
apt --hold kernel-default funktioniert nicht.

danke Gruss Frank
 

Grothesk

Ultimate Guru
Würde mich auch interessieren. Hatte eigentlich auch den Kernel wie im How-To auf 'Hold' gesetzt. Den Kernel aus dem 'security'-Repository habe ich aber trotzdem im apt gehabt. Mir hat's zwar nichts zerschossen, aber mich würde schon interessieren warum der Kernel aufgetaucht ist. Hätte eigentlich gedacht, dass ich dafür you benutzen müsste.
 

Grothesk

Ultimate Guru
Bei mir so
Code:
   // Hold (do not update) a list with pkgs:
   // Hold { "k_deflt"; "sane"; };
   // Leave list empty to disable
   Hold {"kernel-default";"kernel-source"; };
   Ignore {"gpg-pubkey"; };
 

Grothesk

Ultimate Guru
Dann ist aber in der Apt-Anleitung für Newbees ein Fehler drin...
http://www.linux-club.de/viewtopic.php?t=24634
2. apt.conf

Wieder den grünen Balken draufstellen und mit "F4" bearbeiten.
Sucht die Zeile "ignore {"gpg-pubkey"; };" , stellt den Cursor (den weissen Punkt)
ganz links an den Anfang der Zeile und drückt einmal "Enter". Jetzt haben wir oberhalb
eine freie Zeile in die wir folgendes reinschreiben:

Hold { "kernel-default"; "kernel-source"; };

Damit verhindern wir, dass bei einem Update der Systemkern automatisch geändert wird.
Wieder mit "F2" speichern und mit "F10" verlassen.
So steht das dort drin....
 

Grothesk

Ultimate Guru
Im Tutorial von oc2pus steht aber auch drin:
d) /etc/apt/apt.conf.d/apt.conf anpassen
für 2.6er Kernel
Code:
Hold { "kernel-default"; "kernel-source"; };

für 2.4er Kernel
Code:
Hold { "k_deflt"; "kernel-source"; };
Und mit SuSE 9.3 hab ich ja wohl einen 2.6er-Kernel...
Und zu deiner Zeile
Hold { "aterm"; "kernel-smp"; "kernel-default"; "kernel-source"; };
seh ich jetzt auch keinen großen Unterschied zu meiner:
Hold {"kernel-default";"kernel-source"; };

Ups. Sollte das etwa an den führenden Leerzeichen liegen? Wie kleinlich...
 
OP
Frankie777

Frankie777

Advanced Hacker
Ich hatte die Kommentarzeichen nicht entfernt, ooopss

So sieht es jetzt aus:

Hold { "kernel-default"; "kernel-source"; "kernel-smp", "kernel-docs"};

und damit geht es

danke....
 

Grothesk

Ultimate Guru
Hab's jetzt so:
Hold { "kernel-default"; "kernel-source"; };

Nur ich kann's jetzt nicht testen, weil der Kernel ja jetzt drauf ist. Naja, neuer Kernel kommt bestimmt irgendwann...
 

pawe

Member
Du kannst es testen, indem du das Repository kernel-of-the-day in deine sources.list aufnimmst. Und dann:
Code:
apt-get update
apt-get -s upgrade
Apt sollte dir schreiben, was installiert wird und was zurückgehalten wird (nur simulation, versteht sich)
(und dann die sources.list wiederherstellen ) :lol:
 
OP
Frankie777

Frankie777

Advanced Hacker
Du meinst es kann am Ende ein redundantes ; sein ?
Ich habe es nicht getestet, aber ohne ; geht es auch.


" ," habe ich schon in ";" geändert.
"," hat aber auch funktioniert....
 

Grothesk

Ultimate Guru
Du kannst es testen, indem du das Repository kernel-of-the-day in deine sources.list aufnimmst.
Nö, der Kernel aus security hat die gleiche Versionsnummer wie der kotd. Naja, ich glaub euch jetzt mal, dass das jetzt funktioniert.
 

pawe

Member
der kotd hat doch eine höhere release-Nummer. also sollte er von apt als aktueller erkannt werden!?

Ist ja auch egal, theorie sagt es funktioniert! (hoffen wir, dass die Prxis der theorie folgt :lol: )
 

Calvin

Hacker
Ich habe ebenfalls SuSE9.2 und das gleiche Problem. Der Kernel taucht bei mir unter den "zurückgehaltenen Paketen" auf.

In der Datei apt.conf habe ich jetzt mit und ohne diverse Leerzeichen versucht, finde aber den Fehler bei mir nicht :( Es wäre echt nett, wenn mir jemand den entscheidenden Tip geben würde.

Der entscheidende Part in apt.conf sieht bei mir so aus:
Code:
RPM
{ Hold { "kernel-default"; "kernel-source"; };
  Options { 
  };

  Ignore {
  "gpg-pubkey";
  };
[...]
}

Gruß
Calvin
 

pawe

Member
Bei Grothesk und Frankie777 war es andersrum! Der Kernel wurde nicht zurückgehalten.
Wenn du den Kernel updaten willst musst du den eintrag "kernel-default" aus der "Hold"-Klammer entfernen (Hold=Halten=kein Update) :wink:
 

Calvin

Hacker
Ich möchte den Kernel nicht updaten. Da habe ich mich missverständlich ausgedrückt. Apt macht momentan eigentlich alles richtig ;)

Ich hatte mich nur gewundert, dass der Kernel plötzlich unter "zurückgehaltene Pakete" aufgetaucht ist. Unter SuSE9.0 war das bei mir noch nicht der Fall. Da wurde der Kernel kommentarlos zurückgehalten (oder es gab in der Zeit kein Kernel-Update :? ).

Habe ich das jetzt richtig verstanden, dass es völlig normal ist?
 

pawe

Member
Ach sooo. Ja, völlig normal. APT informiert einfach (wahrscheinlich seit der neueren Version), dass es ein update für den Kernel gibt, dieser aber zurückgehalten wird (wegen Hold).
 

Erischa

Member
Guten Tag,

bei meinem letzten Kernel-Update wurde mit dem Befehl "apt upgrade" das upgrade des Kernels zurückgehalten.

Warum ist das?

Habe es mit "apt remove kernel-default" anschliessend "apt install kernel-default" gelöst.

Ist da ev. in meiner apt.conf etwas nicht in Ordnung?

apt.conf
Code:
// with "apt-config dump" all settings can be viewed

Acquire::CDROM::Copy "true";

Debug
{
    pkgRPMPM "false";
}

RPM
{
   // Hold (do not update) a list with pkgs:
   Hold { "kernel-default"; "kernel-source"; };
   // Hold { "kernel-smp"; kernel-default"; "kernel-source");
   // Leave list empty to disable
   
   Ignore {"gpg-pubkey"; };

   Options { };
   Install-Options "";
   Erase-Options "";
   Source {
       Build-Command "rpmbuild --rebuild";
   };
}

// Directory layout
Dir "/"
{
  // Location of the state dir
  State "local/state/apt/"
  {
    lists "lists-9.2/";
    status "/local/status";
    ...
 };

 // Location of the cache dir
 Cache "local/cache/apt/" {
    archives "archives-9.2/";
    srcpkgcache "srcpkgcache-9.2.bin";
    pkgcache "pkgcache-9.2.bin";
 };
...
};
 
Oben