Deb paketleri ve katran topları arasındaki fark nedir? Her birinin avantajları / dezavantajları nelerdir?


9

Katran topları bilmiyorum. Çoğu paket katran topu formlarında mevcuttur, ancak Ubuntu paketleri Debian paketleridir.

Deb paketleri ve katran topları arasındaki fark nedir?

Her birinin avantajları / dezavantajları nelerdir?

Yanıtlar:


7

Katran topları genellikle derlemeniz gereken kaynak kodlardır. Borçlar, Ubuntu / Debian için önceden oluşturulmuş ve yapılandırılmış, önceden derlenmiş programlardır.

Mümkün olduğunda, daha kolay olduklarından ve paket yöneticisiyle entegre olduklarından borçları kullanmanızı şiddetle tavsiye ederim, böylece kolayca kaldırabilirsiniz.

Borçlar ayrıca gereken bağımlılıkları da kurar. Kaynaktan yükleme, sevgiyle "bağımlılık cehennemi" olarak adlandırılan şeye yol açabilir. Açık kaynaklı programların çoğu, çalışması için diğer birkaç programa / kütüphaneye bağlıdır. Kaynaktan kurulum yaparken, bunları yüklemez ve bunun yerine (umarım) bir bağımlılığın karşılanmadığından şikayet eder. Daha sonra bu bağımlılığı kurmaya çalışıyorsunuz ve sonra bombalanıyor, başka bir bağımlılık vb. Gerektiriyor.

Kaynaktan yükleme, farklı dağıtımlar biraz farklı şeyler düzenlediğinden, dosyalarınızı beklenmedik yerlere de koyabilir.

Bir program yüklemem gerektiğinde, seçeneklerimi şu sırayla denerim:

  1. Yazılım Merkezi'ne bakın. Yazılım Merkezi her şey dahil olmamasına ve en son sürümlerle güncel olmamasına rağmen, bu en kolayıdır.

  2. Sağlayan bir depo bulmaya çalışın. Bir havuz eklemek, programın Yazılım Merkezi'nde görünmesini, zamanında yükseltmeler almasını vb.

  3. Bir .deb paketi arayın.

  4. Kaynaktan monte edin (katran topu).


6

katran topları zip gibi bir başka sıkıştırma biçimidir. Sıkıştırma formatları ve teknikleri farklı olsa da, temel olarak bir grup dosya ve klasör için bir kaptır.

Genellikle, kaynak kodu ve ihtiyaç duyduğu dosyalar, yazılımı tar topu şeklinde yazan kişi / grup tarafından internette sunulacaktır. Böylece yazılımı indirebilir, yıldızını kaldırabilir, yazılımı derleyebilir ve yükleyebilirsiniz.

Ancak, deb paketlerinin yaptığı bu standardı koruyarak bu kurulum işlemini sizin için kolaylaştırmaktır. İnternette mevcut olan yazılım Debian paket sahipleri tarafından alınacak, ilgili .deb paketlerine yapılacak ve Debian deposuna konacaktır.

resim açıklamasını buraya girin

Bir Debian Paket bakımcısı blogundan buradan okuyabilirsiniz: http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/

Avantaj ve dezavantajlara gelince, .deb paketleri apt ve aptitude gibi paket yöneticileri tarafından yönetilir. Bu nedenle, bir yazılım yüklediğinizde, bu yazılımı sisteminizde çalıştırmak için gereken bağımlılıklara sahip olup olmadığınızı otomatik olarak anlayacaklar ve bunları sizin için yükleyeceklerdir.

Ancak bir tar topu yüklemesi kullanıyorsanız, bu yazılımın neye bağlı olduğunu ve her yüklediğiniz yazılımın bağımlılıklarının önceden kurulmuş olup olmadığını manuel olarak kontrol etmeniz gerekecektir.

Ama tüm bunları sizin için yapar.

Ayrıca, kaynaktan yükleme (katran toplarından yükleme) farklı yazılımlar için farklı yöntemlere sahip olacaktır. Config-make-make kurulumunun GNU felsefesi vardır ve yazılımın nasıl yazıldığına bağlı olarak başka yöntemler de vardır.

Ancak, bunları deb'e dönüştürmek tüm bu farklılıkları tamamen ortadan kaldırır ve kullanıcının yazılımı yüklemesini ve kullanmasını kolaylaştırır.

Bir nokta daha. Kaynaktan ne zaman yüklemeniz gerekir? Bu katran topundan mı? Temel olarak iki durum vardır.

  1. Debian paketleme ekibi henüz bir yazılım paketlemediyse.
  2. Projeye katkıda bulunmak istiyorsanız. Bu, kaynak kodda değişiklik yapabileceğiniz, derleyebileceğiniz ve değişiklikleri test edebileceğiniz anlamına gelir.

Debian ambalajı hakkında daha fazla bilgi edinmek isterseniz, buradan okuyabilirsiniz: http://www.debian.org/doc/manuals/maint-guide/

Bu yardımcı olur umarım.


1

Debian (ve dolayısıyla Ubuntu) paketleri, kurulum için ikili dosyaların ve ilgili talimatların toplanmasıdır. Bu, paketin kendisinin nasıl ve nereye kurulacağını bildiği ve ayrıca bağlı olduğu paketlerin listesini de bildiği anlamına gelir.

(Uzantılı dosyaları Kaynak tar .tar.gzya .tar.bz2- da ya Tgz veya .tbz2 ) basitçe birlikte paketlenmiş olan dosyaları ve dizinleri kümeleridir tarbiriyle fayda ve ayrıca sıkıştırılmış gzipveya bzip2. Kaynak kodu oluşturmak için yapmanız gerekenler:

  1. tar xvfz file.tar.gzveya ile tar xvfj file.tar.bz2(boş bir dizinde) dosyaları aç
  2. paketi ile yapılandırın ./configure(paket sistemi derlemeye başlamadan önce her şeyin yolunda olup olmadığını test eder)
  3. derlemeye başlamak make
  4. İsterseniz make install, uygulamayı "varsayılan" konumuna yüklemek için çalıştırın (genellikle / usr / {s} bin veya / usr / local / {s} bin içinde ancak uygulamaya ve dağıtıma bağlıdır)

Debian / Ubuntu paketlerinin kaynak tarballlara göre ana avantajları, paketlerin "müstakil" olması ve ikili dosyalarının izlenmesidir. Bu, ambalajdan çıkarma işleminin her uygulama için (kabaca) bir paket gören kullanıcı için şeffaf olduğu anlamına gelir. Kullanıcının belirli bir uygulamanın hangi dosyaları yüklediğini ve nereye yüklediğini hatırlaması bile gerekmez, bu nedenle uygulamaların yüklenmesi / kaldırılması (çoğunlukla) tek bir talimat işlemi haline gelir.

Kaynak paketlerin ikili paketlere göre ana avantajları, ilk durumda kaynak kodun doğrudan hedef makinede derlenip daha sonra buna göre optimize edilebilmesidir. Ayrıca, en iyi paket sistemi bile belirli durumlarda (örn. Çok yeni veya çok eski yazılım paketleri) kırılabilir ve genellikle resmi paketler çok eski olduklarında sunucular tarafından temizlenir. Bu durumlarda, tüm bağımlılıkları karşılamak için Internet'te istenen uygulamayı ve belirli sürümlerdeki belirli kütüphaneleri manuel olarak aramak gerekir.


1
Küçük bir nokta. "Configure, make, install make" adımları, GNU automake build felsefesini kullanan yazılımlar içindir. Kaynaktan (katran toplarından) çeşitli şekillerde inşa edilebilen yazılımlar vardır. Bu nedenle "Kaynağı oluşturmak, yapılandırmak, yapmak, yüklemek yapmak" demek doğru olmayabilir. Bunu koymanın en iyi yolu, "Kaynaktan yüklemek için kaynak içindeki README veya INSTALL dosyasını okuyun ve içinde belirtilen adımları izleyin. Şuna
harisibrahimkv

Evet, sadece bu tür bir yöntemden bahsettim çünkü kaynak tarballların büyük çoğunluğu tarafından benimsendi.
Avio

Orada tartışma yok. :)
harisibrahimkv

1

Gönderilmiş bazı oldukça iyi cevaplar görebiliyorum. Ancak ele alınması gereken birkaç şey var.

Kaynaktan derleme söz konusu olduğunda "bağımlılık cehennemi" olarak bilinen şeyin aksine, Ubuntu'yu bir tarball / herhangi bir kaynaktan derlerken bu bağımlılıkları otomatik olarak yükleyecek şekilde yapılandırabilirsiniz.

Bunu nasıl yapacağınızı buradan okuyun:

http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/

Ayrıca, bu bağımlılık sorununu bir kenara bırakırsanız, tarballlar hakkında iyi olan şey, kaynaktan yükleme durumunda çok kolay bir şekilde nereye vb.

Ayrıca, "Debian Paketleri" kelimesi bu bağlamda sizi şaşırtabilir. Debian paketlerinin burada belirtildiği gibi iki tipte olduğunu unutmayın:

http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

Tabii ki, sadece deb dosyaları hakkında konuşuyorsanız, bunlar genellikle yukarıda belirtilen cevaplar gibi derlenmiş yazılımlardır.

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.