Otomatik olarak kaldırılmadan önce varsayılan olarak 4 Linux çekirdeği / önyüklemesi nasıl tutulur


12

Biraz kazma yaptım ve çekirdekler için otomatik temizlemenin olduğunu /etc/kernel/postinst.d/apt-auto-removalve dosyanın belirtildiğini buldum :

# In the common case this results in two kernels saved (booted into the
# second-latest kernel, we install the latest kernel in an upgrade), but
# can save up to four. Kernel refers here to a distinct release, which can
# potentially be installed in multiple flavours counting as one kernel.

ama bu senaryo kafamın çok üstünde ve son 4 çekirdekten başka bir şeyin ne kadar otomatik temizlendiğini bulamıyorum.


Komut dosyasını birkaç yerde değiştirmeniz gerekiyor, başka bir yol yok. İsterseniz apt, çekirdek sayısının özelleştirilmesine izin vermek için pakete bir "istek listesi" hata raporu gönderebilirsiniz.
fkraiem

2
Alıntıladığınız bölümdeki "dört", "şu anda önyükleme yapılan sürüm", "çağrıldığımız çekirdek sürümü", "en son çekirdek sürümü" ve "ikinci en son çekirdek sürümü" olarak adlandırılan alışılmadık durumu ifade eder. tüm bu sürümler tutulduğundan farklıdır. Bununla birlikte, tipik durumlarda, "şu anda önyüklenen sürüm" ve "en son ikinci çekirdek sürümü" aynı ve diğer ikisi için aynı olduğu için bu ikiye düşer.
fkraiem

Yanıtlar:


12

"Dörde kadar" dediği zaman, şu anda çalışan, mevcut yüklü, en son ve önceki sürümlerin hepsi farklı olabilir, bu da dört sürümün otomatik olarak (en az iki) tutulmasıyla sonuçlanır. Kodun bu bölümüne bakın:

debkernels="$(echo "$latest_version
$installed_version
$running_version
$previous_version" | sort -u | sed -e '/^$/ d')"

Bence daha eski çekirdekleri kurtarmak için en basit yolu $previous_versionbir listeye genişletmek olacaktır . Onun yerine:

previous_version="$(echo "$debverlist" | sed -n 2p)"

Yapmak:

previous_version="$(echo "$debverlist" | sed -n 2,4p)"

Evet, işe yarayacak gibi görünüyor. Dosya aptpaketin bir parçası olduğundan apt, yükseltildiğinde varsayılan dosyaya geri döndürülebileceğini unutmayın .
fkraiem

@fkraiem dosya var /etc, bu yüzden muhtemelen bir conffile ve değişiklikler korunmalıdır (veya en azından kullanıcıya bunlarla ilgili sorulacak)
muru

1
Evet, altındaki tüm dosyalar /etcconffiles, ancak "sakla veya değiştir?" soru ortaya çıkıyor ...
fkraiem

1
Kafam karışmayacak ... @fkraiem
Fabby

apt hala şikayet ediyor: The following packages were automatically installed and are no longer required: linux-headers-4.10.0-38 linux-headers-4.10.0-38-generic linux-image-4.10.0-38-generic linux-image-extra-4.10.0-38-generic linux-signed-image-4.10.0-38-generic Use 'sudo apt autoremove' to remove them. ama bu bir çalıştırılabilir ve bunun için endişelenmeyi bırakacağım ve soruyu cevaba uyacak şekilde uyarladım. :-)
Fabby
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.