Bu konu, SSH üzerinden bir Linux Elastic Compute Service (ECS) örneğine bağlanırken yaşanan takılma sorununa çözüm sunar.
Sorun açıklaması
Kullanıcı adı ve şifreyi girdikten sonra sisteme erişmeden önce takılma yaşanır. Bu takılma sırasında Ctrl+C tuşlarına basarak takılmayı atlayıp örneğe giriş yapabilirsiniz.
Nedenler
Takılma, aşağıdaki dosyalardaki anormalliklerden veya güncellemelerden kaynaklanıyor olabilir; bu durum sistemin ortam değişkenlerini uzun süre yüklemesine neden olur:
Genel ortam değişkeni yapılandırma dosyası:
/etc/profile-
Kişisel ortam değişkeni yapılandırma dosyaları:
$HOME/.bash_profile$HOME/.bashrc
$HOMEortam değişkeni, geçerli oturum açmış kullanıcının ev dizinine otomatik olarak ayarlanır. Örneğin,ecs-userkullanıcısı için ortam değişkeninin değeri/home/ecs-userikenrootkullanıcısı için/rootdeğerini alır.$HOMEdeğerini görüntülemek için terminaldeecho $HOMEkomutunu çalıştırın.
Çözüm
-
Ortam değişkeni yapılandırma dosyalarının değişiklik zamanlarını görüntülemek ve dosyaların yakın zamanda güncellenip güncellenmediğini belirlemek için aşağıdaki komutları çalıştırın:
ls -l $HOME/.bash_profile ls -l $HOME/.bashrc ls -l /etc/profileBir dosyanın değişiklik zamanı yakınsa dosya yakın zamanda güncellenmiş olabilir. Dosya içeriğini görüntülemenizi öneririz.
-
Dosya içeriğini görüntülemek ve takılmaya neden olabilecek anormal içeriği bulmak için aşağıdaki komutları çalıştırın:
cat $HOME/.bash_profile cat $HOME/.bashrc sudo cat /etc/profileBir dosya döngüler ve koşullu ifadeler gibi karmaşık betikler,
curlvewgetgibi ağ istekleri veyaexport PATH=$(some_command)gibi dinamik yol yükleme işlemleri içeriyorsa sonraki adıma geçin.Dosya içeriği normal ise (örneğin, dosyalar yalnızca basit ortam değişkeni ayarları içeriyorsa) dosyaları yeniden yüklemek için 7. Adıma gidin.
-
Ortam değişkeni yapılandırma dosyalarını açmak için aşağıdaki komutları çalıştırın.
-
Kişisel yapılandırma dosyaları:
vi $HOME/.bash_profile vi $HOME/.bashrc -
Genel yapılandırma dosyası:
sudo vi /etc/profile
-
-
Güncellenen içeriği yorum satırı yapın.
Dosya içeriğini düzenlemek için
Ituşuna basın ve güncellenen içeriğin önüne diyez işareti (#) ekleyerek bunu yorum satırı haline getirin. Örnek:# export PATH=$PATH:/some/path # curl https://example.com Esctuşuna basın,:wqyazın ve ardından yapılandırma dosyalarını kaydedip çıkmak içinEntertuşuna basın.-
Ortam değişkenlerinin etkili olması için yapılandırma dosyalarını yeniden yüklemek amacıyla aşağıdaki komutları çalıştırın.
-
Kişisel yapılandırma dosyaları:
source $HOME/.bash_profile source $HOME/.bashrc -
Genel yapılandırma dosyası:
-
Root kullanıcısına geçiş yapın.
sudo -i -
Genel yapılandırma dosyasını yeniden yükleyin.
source /etc/profile -
Root kullanıcısından çıkış yapın.
exit
-
-
Takılma sorununun çözüldüğünü doğrulamak için ECS örneğine yeniden bağlanın.
-
Yorum satırı yaptığınız satırları tek tek geri alarak restore edin.
Her bir satırın yorumunu kaldırdığınızda 7. Adımı tekrarlayın, ilgili yapılandırma dosyasını yeniden yükleyin ve ardından takılma sorununun tekrar edip etmediğini kontrol etmek için ECS örneğine yeniden bağlanın.
-
Bir satırın yorumunu kaldırdıktan sonra takılma sorunu tekrar ederse soruna o satırdaki içerik neden oluyor demektir. Önerilen optimizasyonlar veya çözümler:
Gereksiz ağ isteklerini kaldırın.
Karmaşık betikleri optimize edin.
Dinamik yol yükleme ayarlarını değiştirin.