Yanıtlar:
Tüm yazılımlar kaynak paket olarak da adlandırılan programlardır . Tüm kaynak paketleri gereken Yani inşa öncelikle sisteminizde çalıştırmak için.
İkili paketler zaten gelen derlenecekleri biri kaynağın kullanıcıları çok sayıda yüklemek ve kullanmak, böylece yazılımda verilen genel özellikleri ve parametreleri ile birileri tarafından.
İkili paketlerin kurulumu kolaydır .
Ancak yukarı akış paketindeki tüm seçeneklere sahip olmayabilir .
Bu yüzden kaynaktan kurmak için kaynak kodunu kendiniz oluşturmanız gerekir. Bu, bağımlılıklara kendiniz bakmanız gerektiği anlamına gelir. Ayrıca paketin tüm özelliklerinin de farkında olmalısınız ki böylelikle onu uygun şekilde oluşturabilirsiniz.
Kaynaktan yükleme avantajları:
Kısacası kaynaktan yükleme, size ağır kişiselleştirme seçeneği sunar, aynı zamanda çok fazla çaba gerektirir, bununla birlikte ikili sistemden kurulum daha kolaydır, ancak istediğiniz gibi özelleştiremeyebilirsiniz .
Güncelleme : Güvenlik ile ilgili argümanı aşağıdaki açıklamalara ekleyin. Evet, ikiliden kurulum yaparken kaynak kodun bütünlüğüne sahip olmadığınız doğru. Ama o zaman ikiliyi nereden aldığına bağlı. Herhangi bir yeni projenin ikilisini alabileceğiniz birçok güvenilir kaynak var, tek olumsuz zaman . Güncellemelerin ikilisinin ya da güvenilir havuzlarımızda ortaya çıkacak yeni bir projenin zaman alması biraz zaman alabilir.
Ve her şeyden önce, yazılım güvenliği hakkında , aşağıdaki yorumlarda Joe tarafından sağlanan çan laboratuarlarında bu eğlenceli sayfayı vurgulamak istiyorum .
Kaynak dosya, hangi dilde seçerse (C, C ++, Python vb.) Geliştirici tarafından yazılmış orijinal kodu içerir ve geneldir. Herhangi bir dağıtıma ve birçok durumda herhangi bir işletim sistemine özgü değildir.
Bir paket (örneğin RPM veya DEB), özel dağıtımınız için önceden hazırlanmış olan ikili çalıştırılabilir dosyadır (veya yorumlanmış komut dosyası vb.). Kaynağı derlemek için hazırlık görevi (gerekli yamaları ekleyerek, vb.), Asıl derlemeyi, distro'ya özgü yapılandırma dosyalarını oluşturma, yükleme öncesi ve sonrası komut dosyaları oluşturma vb.
Başka bir deyişle, tüm eşek işleri sizin için bir pakette yapıldı, ancak kaynaktan yüklemeyi seçerseniz, kendiniz yapmanız gerekecek.
Neredeyse her durumda bir paketi kullanmak çok daha kolaydır:
Bununla birlikte, bazen paketlenmiş sürüm eski bir sürümdür veya daha da kötüsü, paketlenmiş sürüm yoktur; bu durumda tek seçeneğin kendini derlemektir. Bunu yaparsanız, aşağıdakileri göz önünde bulundurmanız gerekir:
dev
Paketler de dahil olmak üzere tüm bağımlılıkların yüklendiğinden emin olmanız gerekir - çoğu olabilir.Ekstra çaba göstermeye istekliysen, kaynaktan derlemek sana şu avantajları sağlayabilir:
Bazı dağıtımların önceden oluşturulmuş paketlerinin kurulmaya ve çalışmaya hazır olan ikili çalıştırılabilir dosyalar sunarken (RPM ve DEB örneklerdir), diğer dağıtımların yalnızca derleme işlemini otomatikleştiren paketler sağladığını unutmayın.
Gentoo'nun buna ebuilds
bir örneği - paket temelde çalıştırılabilir paketin nasıl derlenip kurulacağını açıklayan paket yöneticisine talimat verir. Bu, kullanıcının derleme işlemini kendi zevkine göre optimize etmesine izin verirken, geleneksel paket yöneticilerinin (otomatik güncellemeler, kaldırma vb.) Avantajlarının çoğuna sahiptir.
Arch Linux, ana paketlerin ikili olduğu bir paketleme sistemine sahipken, sistemde birçok ek paket PKGBUILD
dosyalar kullanarak derlenmiştir .
Diğer cevapların yanı sıra bir şeyler eklemek istiyorum:
Bir programı kendiniz derlemeye karar verirseniz, derlemenin sadece bir kez yaptığınız bir şey olmadığını düşünmeniz gerekir. Derlemeye karar verdiğiniz uygulamaların geliştirme posta listesine abone olmanız ve yeni sürümlerle ve özellikle de güvenlik güncellemeleriyle güncel kalmanız gerekecek.
Uygulama her güncellendiğinde, yeni sürümü yeniden derlemeniz gerekecek, her hafta zamanınızı biraz ayırmanız gerekeceğini unutmayın.
Bunu karşılayamazsanız, paket sorumlusunun bu işi sizin için yapmasına izin vermek daha iyidir.
Kaynaktan inşa etmek, tam olarak makinenizin mimarisini belirlemenizi sağlar. Yeni CPU'larda, derleyicilerin anladığı, biraz performans gösterdiği sıkıştıran ek talimatlar var. Önceden oluşturulmuş paketler genellikle hala kullanılan en arkaik CPU'lara dayanır.
Bu, örneğin, biyoinformatik boru hattı araçları veya jeofizik modelleme araçları gibi CPU'yu çok yoğun kullanan proje kritik uygulamaları için önemlidir. Bu tür bir yazılım çok kontrollü bir ortamda çalışır, kendi başına erişim kontrolüne sahip değildir, bu nedenle nadiren günler veya saatler içinde yamalanmaları gereken güvenlik hataları vardır. Neredeyse hiçbir zaman başlangıçta bilinmeyen mimariye sahip farklı bir makinede çalışması gerekmez.
Evet, bilgisayarların şu anda çok çok hızlı olduğunu biliyorum ve aldığınız her türlü çaba ya da eylem çok çok pahalı, ancak oturduğunuz ve programınızın tamamlanmasını beklediğiniz üçüncü günde (bu konuştuğum durum bu) bu gerçekler şüpheli görünmeye başla.
Farklı olarak, tarayıcılar ve benzerleri gibi uygulamalar, güncel tutmaları için çok önemli olduğu için, bakım deposundan (ve bazı indirilmiş önceden oluşturulmuş paketlerden değil) daha iyi kullanılmalıdır.
Her iki dünyanın da en iyisini elde etmenin bir yolu (güncel yazılımlar, basit yükleme / kaldırma, çoğu dağıtım ayarlaması ve uyarlaması dahil, yerel gereksinimler için en uygun hale getirilebilir), maliyetler (kendinize yetişmek, hatalara dikkat etmek zorunda) ve son dakika yamaları, gelişmeleri takip et, kendi başınasın, hata düzeltmeleri ve sürümler arasındaki uyumsuzluklar nedeniyle) hafifletilemez (çok), kendi paketlerini oluştur, dağıtımından kaynak paketlerinden başlayarak. Evet, sadece inşa etmekten ve kurmaktan daha fazla iştir.