Yum, apt-get, rpm, ./configure && make install arasındaki fark nedir?


126

Linux'ta yeniyim ve CentOS kullanıyorum. Yazılımı güncellemek veya yüklemek için dört yolla karşılaştım.

Şimdiye kadar gördüm:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz-> unpack-> ./configure-> make->make install

Bu sonuncusu, özellikle bir program kurulumunun genellikle tek bir tıklama ve güzel bir kurulum sihirbazı olduğu Windows'tan gelen gerçek bir acı.

Yani benim sorularım:

  • Bunu Linux'ta yapmanın neden bu kadar farklı yolları var?
  • Hangisini kullanmanızı öneririz ve neden?
  • Linux'ta program kurmanın başka yolları var mı?

Ayrıca, ne hakkında yumvs up2date. Aradaki fark hakkında hiçbir zaman net olamadım.
Josh

apt-getDebian için, ve gerçekten CentOS'ta görünmemeliydi ....
Kyle Strand

Yanıtlar:


114

Bu araçların tümü sisteminize yazılım yükler ancak farklı seviyelerde çalışırlar.

  • ./configure && make install

    Çalıştırma ./configure && make install, kitaplıkları veya çalıştırılabilir dosyaları doğrudan kaynak koddan oluşturur ve yükler.

    make installSistem içine adım temelde sadece kopya nihai dosyaları. Birçok kaynak make uninstall, onları tekrar kaldırmak için özel bir kuralla gelir , ancak bu garanti edilmez ve elbette yalnızca yapılandırılmış kaynakları bulunduğunuz sürece çalışır. Ayrıca, bu gerekli bağımlılıklarla ilgilenmez.

    Genellikle, yalnızca belirli bir paket için kaynak kodu bulunur, bu nedenle gidilecek tek yol budur. Ayrıca, ./configuregenellikle paketinizi uyarlamanıza izin veren birçok seçenek kabul eder.

    Hangi dosyanın hangi yazılımın yüklü olduğunu bulamamak ve bunları sistemden kaldırmak için güvenilir bir yolun bulunmaması bu yaklaşımın temel eksiklikleridir.

  • RPM (Redhat Paket Yöneticisi)

    rpmsisteminize önceden yapılandırılmış ve derlenmiş yazılımı yükler ve ayrıca ondan kurtulmak için bir kaldırma ile birlikte gelir. Paketlerin birileri tarafından yaratılması gerekiyor. Bu kişi zaten hangi özellikleri ekleyeceğine ve paketi sistem düzeninize en iyi şekilde nasıl entegre edeceğinize karar verdi. Aynı zamanda bağımlılıkların bir listesi ile birlikte geliyor.

    RPM'ler birçok dağıtım için kullanıldığından, genellikle bu rpm'nin dağıtımınız için yazıldığından emin olmak isteyeceksiniz, böylece kurulum yolları, bağımlılıklar ve diğer temizlik işleri iyi bir şekilde bütünleşebilir.

    Debian sistemlerinde eşdeğer paket formatıdır .debve kurulum ve veritabanı dpkgaraç tarafından gerçekleştirilir .

  • Yum

    yumetrafında ek bir sarıcı rpm. Genellikle çevrimiçi depolarda, dağıtımınız için kendi rpm dosyalarınızı tutar. Çoğu dağıtımın kararlı sürümleri için, bu veritabanı içindeki tüm paketler birbiriyle iyi oynayacaktır. Bu veritabanı aranabilir (örneğin; ile yum search some_name).

    Aynı zamanda sizin için bağımlılıkları otomatik olarak çözecektir. Paketler (ve bazı ekstra yardımlarla bağımlılıkları da) kolayca kaldırılabilir.

    Debian sistemlerinde eşdeğer depo ve bağımlılık çözme araçları Apt ( apt-getve aptitude) tarafından sağlanmıştır .

Özetle: Eğer sadece bazı yazılımları istiyorsanız yumilk önce deneyin . Orada yoksa, mevcut bir rpmpaket bulmayı deneyebilirsiniz . Hiçbiri yoksa veya bazı özel gereksinimleriniz varsa, kaynaktan derleyin.


hemen hemen ne diyecektim. debian eşdeğerlerinin bir kısmına eklenmiş ve formatlamaya değinilmiştir.
quack quixote

2
@quack: Teşekkürler. Fakat hepimiz susar mıyız apt-getyoksa hala bir şey için tavsiye edilir mi?
Benjamin Bannier,

2
haklısın, yetenek muhtemelen önerilecek en iyisidir ; apt-get'i dahil ettim çünkü buna çokça atıfta bulunuluyor ve yeteneklerini bilmeyen bir okuyucu apt-get'i duymuş olabilir .
quack quixote

4
Apt-get'in nesi var?
özyinelemeyle

5
@recursive: Bir zamanlar apt-getotomatik bağımlılıkları kaydetmedi ve bir kaldırma işleminden sonra onları geride bıraktı, aptitudedaha sonra uygun bağımlılık takibi sağladı . Ayrıca, o zaman içinde mevcut olmayan bazı ek özellikler de sağladı apt-get. Emin değilim, ama bir noktada apt-getve aptitudebu işlevselliğin çoğunu sağlayan aynı, gelişmiş arka uç kullanmak üzere güncellendiklerinde düşünüyorum .
Benjamin Bannier,

5

Yum, RPM ile aynı şeydir; yum, paketleri ağdan otomatik olarak alır ve bunları rpm -itek adımda yükler . Güncellemeyi kolaylaştırmak için mümkün olduğunda kullanılmalıdır. Kullanım rpmtarafından bulunabilir hiçbir paket olduğunda yalnızca yumve kullanımı makeorada hiçbir .rpm paketi veya bazı derleme zamanı seçeneklerini değiştirmeniz gerekir yalnızca yöntemi.

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.