Yazılım bağımlılığı sorunumda bana yardımcı olabilir misiniz?


12

Bu, Derleme Bağımlılıkları ve Paket Yönetimi ile ilgili kanonik bir sorudur .

Bağlantı noktaları / yazılım derleme veya RPM'leri * nix sunucuma yükleme ile ilgili bir sorum var. Bunu yapmaya çalıştığımda eksik bağımlılıklar hakkında birçok ileti alıyorum.

Sunucu Hatası topluluğu lütfen yardımcı olabilir mi?

Yanıtlar:


10

Sunucu Arızasına Hoş Geldiniz. Genel olarak bu tür bir soru burada konu ile ilgili değildir. Çoğu sistem yöneticisinin, kendi iş istasyonlarıyla uğraşarak sistem yöneticisi haline gelmeden önce bu sorunla zaten karşılaşmış olması beklenmektedir. Ancak, bir Windows arka planından gelen sistem yöneticileri bununla karşılaşmamış olabilir, bu yüzden dikkate almanız gereken bazı şeyler:

Sunucunuza yazılım yüklemek için neden paket yöneticisi kullanmıyorsunuz?

Bu bağımlılıkları sizin için paket yöneticileri yumveya aptbunlarla başa çıkma. Ayrıca, sunucunuzdaki yazılım güncellemelerini yönetmek için de kullanılabilirler. * Nix'in çoğu çeşidi, özellikle önceden yüklenmiş işletim sistemi ile birlikte gelen VPS'de varsayılan olarak bir paket yöneticisine sahip olacaktır. Bu konuda gerçekten yeniyseniz, üretim sisteminizde bunlardan birini kullanın ve test ortamınız için kanayan kenar RPM'lerini derlerken veya kurarken maceraları kaydedin.

Ancak paket yöneticimde mevcut olandan daha güncel bir paket kullanmam gerekiyor!

Çoğu paket yöneticisi farklı depoları kullanacak şekilde yapılandırılabilir - ihtiyacınız olan paketin sürümünü sağlayan ve yine de paket yöneticinizin işlevlerinden yararlanmanıza izin veren bir tane olduğunu görebilirsiniz.

İhtiyacım olan paket herhangi bir depo veya paket yöneticisi aracılığıyla kullanılamıyor

Bu durumda muhtemelen yapmak bağımlılıkları dışarı şekle ihtiyacını (veya o kadar emmek ve yazılımın daha kararlı / ortak sürümünü kullanın). Muhtemelen aşağıdakileri bir test ortamında yapmalı ve ne yaptığınıza dikkat etmelisiniz:

  • Yüklediğiniz yazılımın belgelerini okuduğunuzdan emin olun - bu muhtemelen ilk önce yüklemeniz gerekenleri listeler, ancak bu yazılım için gerekli olanları listeler .
  • Gerekli olan şeyleri kurmak için paket yöneticinizi kullanın - çoğu durumda bunlar kullanılabilir olacaktır .
  • Bunu tamamladıktan sonra yüklemeyi deneyin.
  • Hala eksik bağımlılıklar hakkında mesajlar görüyorsanız, hepsini not edin ve paket yöneticinizi kullanarak mümkün olduğunca çok yüklemeyi deneyin.
  • Bir bağımlılık bulunamazsa, onu bir alt görev olarak düşünmeli ve yinelemeli olarak ele almalısınız (kaynak tarball'ı bulun, bağımlılıkları bulun, kurun).
  • Bu yinelemeli bir süreç.

Hala sorun yaşıyorum!

Yukarıdaki tüm adımları izlediyseniz ve hala sorun yaşıyorsanız, diğer Sunucu Hatalarının size yardımcı olabileceği garip bir sorunla karşılaşmış olabilirsiniz. Hangi yazılımı yüklemeye çalıştığınıza, hangi sürüme ve tam olarak gördüğünüz hata mesajlarına ilişkin ayrıntılar vererek yeni bir soru oluşturun.

Büyük paket yönetim sistemleri için özel tavsiyeler

RPM (RHEL / Fedora ve klonlar) ve DEB (Debian / Ubuntu ve klonlar) paket yönetimi

  • yum dosya adını sağlayan şey, RHEL tipi bir sistemde belirli bir dosya veya kitaplık sağlayan paketi bulmanın mükemmel bir yoludur.
  • ./configure && make && make installMümkünse körü körüne kullanmayın ! Paket yönetimi bu nedenle birçok çakışan dosyanın izlenemeyen kurulumundan kaynaklanan garip ve sürdürülemez karışıklığı önlemek için icat edildi.
  • Birçok kütüphane iki kısma ayrılır: ikili (örneğin paylaşılan nesneler) ve geliştirme (başlıklar). Bu nedenle, hem libfoove libfoo-devel(veya -dev) paketlere ihtiyacınız olacaktır.
  • Tarballları düzgün RPM'lere ve DEB'lere dönüştürmek için fpm( https://github.com/jordansissel/fpm ) kullanmayı düşünün
  • Kendi paketlerinizi yuvarlıyorsanız, güncellemeleri, testleri ve bakımlarından siz sorumlu olursunuz. Bunun için bir altyapınız yoksa, kesinlikle çok yüksek hedefliyorsunuz.

RPM'ler için dosya adına göre bağımlılıkları bulma

Kurulum prosedürünün şikayet ettiği dosyanın adını biliyorsanız, http://rpmfind.net paket adlarını aramak için iyi bir yerdir. Bununla birlikte, farklı dağıtımlardan gelen paketlerin eşleştirilmesi ve karıştırılması önerilmez.


Ben çözmek için biraz daha zor olabilir kütüphane bağımlılıkları sorunu tartışan bir bölüm sağlamak yararlı olacağını düşünüyorum - ama ben bu konuda daha az deneyimli - herkes katkıda umurumda?
dunxd

Son derece tavsiye ettiğim öğeler, src RPM'leri ve özel bir yerel havuzun nasıl korunacağına ilişkin ayrıntıları içerir. Deb veya rpm dosyaları oluşturmak, herkesin sıradışı paket gereksinimleriyle çalışmak zorunda olan alet kemerinin bir parçası olmalıdır.
Tim Brigham

Uygulama yığınları ve tuzakları konusuna değinmek için bunu genişletmeye değer olabilir. "Daha güncel paket" sorusu bana yakın zamandaki bir soruyu hatırlattı .
Andrew B

Bu bir topluluk wiki yani şeyler eklemek için çekinmeyin, ya da elbette kendi cevabınızı verin :-)
dunxd
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.