Sorun açıklaması
SSH hizmeti başlatılamıyor. Bir hata iletisi, libcrypto.so.1.1 paylaşılan kitaplığının eksik olduğunu belirtiyor.
error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory.
Neden
SSH hizmeti ve kimlik doğrulama modülleri, çalışma zamanında libcrypto.so.1.1 paylaşılan kitaplığını dinamik olarak yükler. Kitaplık dosyası veya sembolik bağlantısının hedef dosyası eksikse, taşındıysa veya bozulduysa bu hata oluşur. Bu bağımlılık olmadan SSH hizmeti başlatılamaz.
Çözümler
Sistem diskinin önceki bir anlık görüntüsü mevcutsa, mevcut verilerinizi yedeklemek için öncelikle yeni bir anlık görüntü oluşturun. Ardından, sistem diskini önceki anlık görüntü kullanarak geri yükleyin ve SSH hizmetinin doğru şekilde başladığını doğrulayın.
Önceki bir anlık görüntü yoksa, sorunlu örnek ile aynı işletim sistemini çalıştıran ve aynı alanda bulunan sağlıklı bir Elastic Compute Service (ECS) örneğine ihtiyacınız vardır. Sorunlu örneğin sistem diskini sağlıklı örneğe takarak eksik kitaplık dosyasını geri yükleyebilirsiniz.
Adım 1: Sistem diskini ayırın
Sorunlu örneğin Stopped durumunda olduğundan emin olun, ardından aşağıdaki adımları uygulayın:
Veri kaybını önlemek için sistem diskinin anlık görüntüsünü oluşturun.
ECS konsolu - Örnekler sayfasına gidin. Sol üst köşede, hedef örnek için bölgeyi ve kaynak grubunu seçin.
Sorunlu örneğin ID'sine tıklayarak Instance Details sayfasını açın, ardından Block Storage sekmesine tıklayın.
System Disk için Actions sütununda, seçeneğini belirleyin.
Detach Disk iletişim kutusunda ayrıntıları onaylayın ve OK düğmesine tıklayın. Örnek durumu No System Disk olarak değiştiğinde disk başarıyla ayrılır.
Adım 2: Diski sağlıklı bir örneğe veri diski olarak takın
Sağlıklı örneğin Running durumunda olduğundan emin olun, ardından aşağıdaki adımları uygulayın:
-
Sorunlu örneğin sistem diskini sağlıklı örneğe takın.
Sağlıklı örneğin ID'sine tıklayarak ayrıntılar sayfasını açın.
Block Storage sekmesine tıklayın, ardından Attach Disk düğmesine tıklayın.
Attach to Instance sayfasında, Disk bölümünde ayrılan sistem diskini seçin ve ardından Next düğmesine tıklayın.
Partition Disk and Create and Mount File Systems sayfasında Configure Later seçeneğini belirleyin.
Connect düğmesine tıklayın, ardından Workbench seçeneğini belirleyin. Terminali açmak için istendiğinde örnekte oturum açın.
-
Dosya sistemini bağlayın.
-
Sorunlu diskin bölüm adını belirleyin.
sudo lsblk -fvda ├─vda1 ├─vda2 vfat 7938-FA03 /boot/efi └─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 / vdb ├─vdb1 ├─vdb2 vfat 7938-FA03 └─vdb3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78Bu örnekte,
vdbsorunlu disk vevdb3bağlanacak kök bölümdür. Bölümler aşağıdaki gibidir:vdb1/vdb2: Sistem önyükleme dosyalarını içerir. Bunları göz ardı edebilirsiniz.vdb3: İşletim sistemi dosyalarını ve verileri içerir. Bu bölümün bağlanması gerekir.
-
Bir dizin oluşturun ve dosya sistemini bağlayın.
sudo mkdir <mount_directory> && sudo mount /dev/<partition_name> <mount_directory>Parametre
Açıklama
<partition_name>Önceki adımda belirlediğiniz sorunlu diskin kök bölüm adı.
<mount_directory>/ile başlayan özel, boş bir dizin yolu.ÖnemliDosya sisteminin boş olmayan bir dizine bağlanması, o dizindeki orijinal dosyalara erişilememesine neden olur.
Örneğin, hedef bölümü
vdb3/testadlı yeni bir dizine bağlamak içinsudo mkdir /test && sudo mount /dev/vdb3 /testkomutunu çalıştırın. -
Dosya sisteminin bağlandığını doğrulayın.
sudo lsblkkomutunu çalıştırın. Hedef bölüm için bir bağlama dizini (MOUNTPOINT) görünüyorsa dosya sistemi bağlanmış demektir.
-
Adım 3: libcrypto.so.1.1 dosyasını onarın
Bu konuda örnek olarak Alibaba Cloud Linux 3.2104 kullanılmıştır. Sağlıklı örnekte, bağlı yoldaki paylaşılan kitaplık dosyasını onarın.
-
libcrypto.so.1.1yolunu bulun.Kitaplık dosyasının adı işletim sistemine göre değişebilir. Belirli hata iletinizde görünen dosya adını arayın.
sudo find / -name libcrypto.so.1.1Örnek çıktı:
/usr/lib64/libcrypto.so.1.1Örnek çıktı, kitaplık dosyasının
/usr/lib64/dizininde bulunduğunu doğrular. -
Sembolik bağlantının hedefini kontrol edin.
ll /usr/lib64/libcrypto.so.1.1Örnek çıktı:
lrwxrwxrwx. 1 root root 19 Nov 20 2024 /usr/lib64/libcrypto.so.1.1 -> libcrypto.so.1.1.1kBu örnek,
libcrypto.so.1.1dosyasınınlibcrypto.so.1.1.1kdosyasına işaret eden bir sembolik bağlantı olduğunu gösterir. Bu nedenle, sağlıklılibcrypto.so.1.1.1kdosyasını sorunlu diskteki aynı yola kopyalayın. -
Kitaplık dosyasını geri yükleyin.
<mount_directory>değerini oluşturduğunuz gerçek bağlama dizini ile değiştirin.sudo cp /usr/lib64/libcrypto.so.1.1.1k <mount_directory>/usr/lib64/Örneğe göre,
sudo cp /usr/lib64/libcrypto.so.1.1.1k /test/usr/lib64/komutunu çalıştırmanız gerekir. -
Doğru izinleri ayarlayın ve sembolik bağlantıyı yeniden oluşturun.
-
Dosya izinlerini ve sahipliğini ayarlayın.
<mount_directory>değerini gerçek bağlama dizini ile değiştirin.# Set permissions to rwxr-xr-x sudo chmod 755 <mount_directory>/usr/lib64/libcrypto.so.1.1.1k # Set owner and group to root sudo chown root:root <mount_directory>/usr/lib64/libcrypto.so.1.1.1kÖrneğe göre,
sudo chmod 755 /test/usr/lib64/libcrypto.so.1.1.1kvesudo chown root:root /test/usr/lib64/libcrypto.so.1.1.1kkomutlarını çalıştırmanız gerekir. -
Sembolik bağlantıyı yeniden oluşturun.
sudo ln -sf /usr/lib64/libcrypto.so.1.1.1k <mount_directory>/usr/lib64/libcrypto.so.1.1Örneğe göre,
sudo ln -sf /usr/lib64/libcrypto.so.1.1.1k /test/usr/lib64/libcrypto.so.1.1komutunu çalıştırmanız gerekir.
-
Adım 4: Diski sorunlu örneğe sistem diski olarak yeniden takın
-
Dosya sisteminin bağlantısını kaldırın.
<mount_directory>değerini gerçek bağlama dizini ile değiştirin.sudo umount <mount_directory>Örneğe göre,
sudo umount /testkomutunu çalıştırmanız gerekir. -
Onarılan sistem diskini ayırın.
ECS konsoluna dönün ve sağlıklı örneğin ayrıntılar sayfasına gidin. Block Storage öğesine tıklayın.
Onarılan sistem diski için Actions sütununda Detach düğmesine tıklayın.
Detach Disk iletişim kutusunda OK düğmesine tıklayın.
-
Onarılan sistem diskini tekrar orijinal örneğe takın.
Sorunlu örneğin ayrıntılar sayfasına gidin, Block Storage sekmesine tıklayın, ardından Attach Disk düğmesine tıklayın.
Attach to Instance sayfasında, onarılan sistem diskini Disk olarak seçin, Logon Credentials öğesini yapılandırın ve ardından Next düğmesine tıklayın.
Partition Disk and Create and Mount File Systems sayfasında Configure Later seçeneğini belirleyin.
ECS örneğini başlatın.
Adım 5: Sonuçları doğrulayın
Sorunlu ECS örneğinde oturum açın ve SSH hizmetini yeniden başlatarak doğru çalıştığını doğrulayın.
Faturalandırmayı durdurmak için, hizmetin geri yüklendiğini onayladıktan sonra sağlıklı örneği serbest bırakabilirsiniz.
Öneriler
Temel sistem dosyalarını dikkatli işleyin: Temel sistem dosyalarını silmeden, taşımadan veya değiştirmeden önce verilerinizi yedeklemek için her zaman anlık görüntü oluşturun. Aşina olmadığınız sistem dosyalarını silmeyin.
Standart yazılım yükleme yöntemlerini kullanın: Yazılım yüklemek veya kaldırmak için her zaman
yumveyaaptgibi sistemin yerel paket yöneticisini kullanın. Bu, bağımlılıkların otomatik olarak işlenmesini sağlar ve paylaşılan kitaplıklara zarar gelmesini önlemeye yardımcı olur.
> Detach