Tüm Ürünler
Search
Belge Merkezi

:Resolve the "error while loading shared libraries: libcrypto.so.1.1" on a Linux ECS instance

Son Güncelleme:Sep 30, 2026

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

Önemli

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:

  1. Veri kaybını önlemek için sistem diskinin anlık görüntüsünü oluşturun.

  2. ECS konsolu - Örnekler sayfasına gidin. Sol üst köşede, hedef örnek için bölgeyi ve kaynak grubunu seçin.

  3. Sorunlu örneğin ID'sine tıklayarak Instance Details sayfasını açın, ardından Block Storage sekmesine tıklayın.

  4. System Disk için Actions sütununda, 更多 > Detach seçeneğini belirleyin.

  5. 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:

  1. Sorunlu örneğin sistem diskini sağlıklı örneğe takın.

    1. Sağlıklı örneğin ID'sine tıklayarak ayrıntılar sayfasını açın.

    2. Block Storage sekmesine tıklayın, ardından Attach Disk düğmesine tıklayın.

    3. 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.

    4. Partition Disk and Create and Mount File Systems sayfasında Configure Later seçeneğini belirleyin.

  2. Connect düğmesine tıklayın, ardından Workbench seçeneğini belirleyin. Terminali açmak için istendiğinde örnekte oturum açın.

  3. Dosya sistemini bağlayın.

    1. Sorunlu diskin bölüm adını belirleyin.

      sudo lsblk -f
      vda                                                      
      ├─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-60ab4c3a4c78                                  

      Bu örnekte, vdb sorunlu disk ve vdb3 bağ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.

    2. 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.

      Önemli

      Dosya sisteminin boş olmayan bir dizine bağlanması, o dizindeki orijinal dosyalara erişilememesine neden olur.

      Örneğin, hedef bölümü vdb3 /test adlı yeni bir dizine bağlamak için sudo mkdir /test && sudo mount /dev/vdb3 /test komutunu çalıştırın.
    3. Dosya sisteminin bağlandığını doğrulayın.

      sudo lsblk komutunu ç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.

  1. libcrypto.so.1.1 yolunu 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.

  2. 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.1k

    Bu örnek, libcrypto.so.1.1 dosyasının libcrypto.so.1.1.1k dosyasına işaret eden bir sembolik bağlantı olduğunu gösterir. Bu nedenle, sağlıklı libcrypto.so.1.1.1k dosyasını sorunlu diskteki aynı yola kopyalayın.

  3. 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.
  4. Doğru izinleri ayarlayın ve sembolik bağlantıyı yeniden oluşturun.

    1. 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.1k ve sudo chown root:root /test/usr/lib64/libcrypto.so.1.1.1k komutlarını çalıştırmanız gerekir.
    2. 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.1 komutunu çalıştırmanız gerekir.

Adım 4: Diski sorunlu örneğe sistem diski olarak yeniden takın

  1. 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 /test komutunu çalıştırmanız gerekir.
  2. Onarılan sistem diskini ayırın.

    1. ECS konsoluna dönün ve sağlıklı örneğin ayrıntılar sayfasına gidin. Block Storage öğesine tıklayın.

    2. Onarılan sistem diski için Actions sütununda Detach düğmesine tıklayın.

    3. Detach Disk iletişim kutusunda OK düğmesine tıklayın.

  3. Onarılan sistem diskini tekrar orijinal örneğe takın.

    1. Sorunlu örneğin ayrıntılar sayfasına gidin, Block Storage sekmesine tıklayın, ardından Attach Disk düğmesine tıklayın.

    2. 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.

    3. Partition Disk and Create and Mount File Systems sayfasında Configure Later seçeneğini belirleyin.

  4. 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 yum veya apt gibi 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.