Açık kaynaklı systemd içindeki bilinen bir güvenlik açığı, systemd-219-78.4.al7 veya daha eski bir sürümü çalıştıran Alibaba Cloud Linux 2.1903 LTS 64-bit örneklerinde yığın bellek bozulmasına neden olur. Bu durumda systemd işlemi donar ve kendi kendine kurtulamaz.
Belirtiler
Alibaba Cloud Linux 2.1903 LTS 64-bit genel görüntüsünü çalıştıran bir Elastic Compute Service (ECS) örneğinde hizmetler başlatılamayabilir. Sistem günlüğü aşağıdaki hatayı kaydedebilir:
Failed to activate service 'org.freedesktop.systemd1': timed out
systemctl daemon-reexec komutunu çalıştırmak sorunu çözmez. systemd işlemini incelemek için pstack 1 komutunu çalıştırın. Aşağıda gösterildiği gibi çıktı, systemd'nin takılı kaldığını gösterecektir.

Neden
Açık kaynaklı systemd, yığın belleği bozabilecek ve systemd işleminin beklenmedik şekilde çıkmasına ardından da donmasına neden olabilecek bir güvenlik açığı içerir. İşlem, müdahale edilmeden kurtulamaz.
Açık kaynaklı systemd'nin en son sürümünde de bu sorun bulunmaktadır ve yığın bellek bozulmasının kök nedeni henüz tespit edilmemiştir. systemd, en son Alibaba Cloud Linux genel görüntülerinde optimize edilmiştir. systemd sürümünüz systemd-219-78.4.al7'den sonraki bir sürümse ve bu sorunu yaşıyorsanız, systemd hizmetini kurtarmak için
kill -15 1
komutunu çalıştırın.
systemd donmasını giderin
Ön koşullar
Başlamadan önce verilerinizi yedeklemek üzere ECS örneğinizin bir anlık görüntüsünü oluşturun. Sorun giderme sırasında veri kaybı yaşanırsa diskinizi geri yüklemek için anlık görüntüyü kullanın. Daha fazla bilgi için bkz. Anlık görüntüye genel bakış.
Tanılama ve düzeltme
ECS örneğine bağlanın. Daha fazla bilgi için bkz. Bağlantı yöntemleri.
-
systemd sürümünüzü kontrol edin:
rpm -q systemdÇıktı aşağıdakine benzer:
systemd-219-78.4.al7.3.x86_64 -
Sürümünüze göre sorunu giderin:
-
Sürüm systemd-219-78.4.al7.3.x86_64 veya daha eski: systemd'yi yükseltin ve ardından yeniden başlatın.
-
systemd'yi yükseltin:
yum update systemd -
Örneği yeniden başlatın:
reboot
-
-
Sürüm systemd-219-78.4.al7.3.x86_64'ten sonraki bir sürüm ve hala etkileniyor: Donmuş systemd işlemini kurtarmak için SIGTERM sinyali gönderin:
kill -15 1
-