Aynı dosyayı yazan iki paket nasıl yüklenir


14

Her biri / usr / bin / ffprobe oluşturan iki paket var. Bunlardan biri Deb Multimedia deposundan ffmpeg, diğeri ise kaynaktan inşa edilen ffmbc 0.7-rc5. Elle haddelenmiş olan iş açısından kritik öneme sahiptir ve eskiden gerektiğinde onu kaynaktan yüklerdik. Sadece ffmpeg dosyasını tıkayacağını varsayabilirim ve hiçbir kötü etki olmadı.

Teorik olarak, ffmbc paketimizin ffmpeg paketinden dosyanın üzerine yazması kabul edilebilir olmalıdır. Bunun dezavantajı, ffmpeg'e yapılan bir güncellemenin ffmbc ikili dosyasının üzerine yazmasıdır. Bunu uzlaştırmanın kolay bir yolu var mı?

Yanıtlar:


12

Debian tabanlı sistemlerde DPKG (apt altında) dpkg-divert komutunu kullanarak diversiyon kurulumuna sahip olabilir.

dpkg-divert, saptırma listesini ayarlamak ve güncellemek için kullanılan yardımcı programdır.

Dosya saptırmalar, dpkg (1) dosyasını bir konuma yerine yüklemeye değil, aktarılan bir konuma zorlamanın bir yoludur. ... Sistem yöneticileri, bu paketi içeren bir paketin daha yeni bir sürümünü yüklerken, bazı paketlerin yapılandırma dosyasını geçersiz kılmak için veya bazı dosyaların ('conffiles' olarak işaretlenmemiş) dpkg tarafından korunması gerektiğinde de kullanabilir. .

Yani sizin durumunuz için bir saptırma ayarlamak için böyle bir komut kullanabilirsiniz. (Test etmedim, man sayfasını kontrol edin ve bunun doğru göründüğünü doğrulayın.)

dpkg-divert --local --divert /usr/bin/ffprobe.ffmpeg --rename /usr/bin/ffprobe

8

Bulduğum başka bir çözüm, ffmbc paketini oluşturma biçimimi değiştirmekti. Genellikle, kurulu dosyaların son yollarını değiştirmek için alternatif bir önek geçmek mümkündür:

./configure --prefix=/usr/local

Debian paketleri için bu, $ {package} / debian / rules dosyasına şu şekilde gider:

override_dh_auto_configure:
    ./configure --enable-gpl --prefix=/usr/local

Ffmbc dosyalarını koyarak /usr/localffmpeg dosyalarını saklayabilir /usrve her paketin bağımsız olarak güncellenmesine izin verebilirim.


3
Paketler hiçbir şey yüklememelidir /usr/local- bu bir politika ihlalidir. Tüm /usr/localbunlar, dosyaları paket yönetimi altında tutmak ve manuel olarak yüklenen dosyaları ayrı tutmaktır. Aşağıdaki FHS ile ilgili tartışmaya bakın: unix.stackexchange.com/questions/30/…
Onlyjob

-1

Aynı dosyaları sağlayan paketler birbiriyle çakışmalıdır - bu bir hata değildir (lütfen bu tür durumları bildirmeyi düşünün). Yazılımları kaynaklardan oluşturuyor ve make install(veya benzeri) kullanarak /usr/localyüklüyorsanız, paket yönetimiyle çakışmaları önlemek için bu işlemin yapıldığından emin olun .

Lütfen deb-multimedia.org'un resmi paketlerle çatışmaya neden olduğu için gayri resmi depoyu kullanımdan kaldırıldığını unutmayın .

İhtiyacınız olan yazılım Debian için paketlenmemişse, ambalaj talebi RFP'si gönderebilirsiniz, ancak lütfen önce mevcut talepleri kontrol edin .

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.