Önce berbat cevap: bağlıdır
İkilileri bırakmadan ise, "hayır" dağıtma, sürece geldiği cevabını varsayalım tüm kütüphanelerini öyle hiç sen kendi oldu Neyse üzerinde duruyor gerçekten çok büyük bir sistem sağlayarak sürece can sıkıcı yerden yukarı gelen (onunla içerir ) veya denkini statik olarak bağlar.
... ama sihirbazlar ve para ve para sihirbazları ...
IBM'in, çalıştığım her yerde çalışarak beni şok eden bazı "genel Unixish" yükleyicileri var: birkaç çekirdek neslinden birkaç Linuces, OpenSolaris (veya şimdi ne denirse), Solaris ve BSD. Ama çok büyükler. Ve sağladıkları şeyler eşit derecede büyük. Hiçbir şekilde küçük yarış arabası programları bu şekilde yayınlanmıyor, IBM'den beklediğiniz büyük girişim tipi şeyler.
Sadece Linux üzerinde kalırken, çoğu Linuxdom'da iyi çalıştığında, bazı satıcılardan göreceğiniz "Linux için (genel)" tipi ikili yükleyicilerin gösterdiği gibi bu ikili biçimde mümkün görünmektedir. Birkaç sohbet, tarayıcı, oyun, meta yükleyici vb. Bu yolla yayınlanır, ancak bu hakkı almak için zaman harcayan her zaman büyük satıcılar tarafından yayınlanır. "Linux için" diyebilecekleri şey şaşırtıcı ve genellikle işe yarayacağından emin olabilirsiniz, ancak durum böyle görünüyor.
Fakat...
Yazılımımı bir build programı ile birlikte kaynak olarak dağıtıyorum. Bunu C, Erlang, Python, Guile vb. Yerlerde yapıyorum. Bu bana çok şey veriyor daha çalıştırmak veya olmaz olmadığı hakkında daha fazla esneklik ve emin doğru şeyler daha inşa anda var kılan bir buildscript yazmak için çok daha kolaydır çalışma zamanında her şeyin yerinde olduğundan emin olun. Bir kez var ise, kaynağı dağıtırsanız, programınız için bir otomatik güncelleyici yazmak önemsizdir: kaynak genellikle tüm deps ve diğer delilikleri içeren bir ikiliden çok daha küçüktür. Bu yöntemi kullanarak Unices (ve bazen de Windows, ancak bu biraz daha fazla bir angarya) arasında güvenilir bir şekilde konuşlandırma konusunda pek sorun yaşamadım.
Yeterli çocuk oyunu, silahlan!
Ciddileşirken, srsly srs gibi, Linux dünyasında sorunsuz bir şekilde uydurma konusunda C kaynaklarını dağıtır ya da önceden oluşturulmuş hackishly keyifli bir dil için tamamen yönetilen bir ortama dönüşürsünüz. Örneğin, Python kodu yazıyorsanız, sürümleri kontrol edebilir ve hangi CPython sürümünün çalıştığını bilir ve genellikle belirli bir Linux'ta uyumlu bir sürümün olmasını bekleyebilirsiniz (ve bu, geniş bir C lib taramasından çok daha kolaydır. / sürümleri kullanıyor olabilirsiniz). Erlang, Guile, Python, Perl, CL, vb. çokBu tür bir dağıtım için kolay hedeflerdir ve birçoğunun, kullanıcıların ne zaman imzalanmış bir kaynak kullanacaklarını kendileri seçtikleri durumlarda CPAN veya pip gibi merkezi bir depoya sahip olmaları gerekir. isterler ve işlerin genellikle istediğiniz gibi çalışacağını bilirler.
[Zeyilname: 1. Haskell bile bunu genel olarak Cabal ile çekebilir - bunu üretim ortamında yapmak konusunda temkinli olurdum. 2. Kodunuzun onunla birlikte tam bir çevre taşımasını garanti eden Erlang ile tamamen farklı "sürüm" dağıtım stratejileri vardır. 3. Python sanal ortamlarda bir adım daha ileri gidiyor; tüm çalışma zamanları size bu kadar yardımcı olmuyor.]
Linux'ta yönetilen ortamlarla ilgili bu son şey harika . Ve bir bonus olarak, çok daha genel bağımlılıklar tanımlamanıza izin verir, sizin için fazladan çaba sarf etmeden otomatik olarak çözülmelerini sağlar, dağıtım başına bir paket yazmayı gerektirmez ve sistemin 32 mi veya 64 mü olduğunu umursamayı bırakabilirsiniz bit (genellikle, yine de).