Uygulama

Alien Kullanarak RPM’den DEB’e ve DEB’den RPM Paketine Dönüştürme

Eminim zaten biliyorsunuzdur, Linux’ta yazılım kurmanın pek çok yolu vardır: dağıtımınız tarafından sağlanan paket yönetim sistemini kullanmak (birkaç örnek vermek gerekirse aptitude, yum veya zypper), kaynaktan derleme (gerçi bir şekilde Bu günlerde nadiren, Linux’un ilk günlerinde mevcut olan tek yöntemdi) veya sırasıyla .deb ve .rpm bağımsız, önceden derlenmiş paketlerle dpkg veya rpm gibi düşük seviyeli bir araç kullanmak.

Bu yazıda size, farklı Linux paket formatları arasında dönüşüm sağlayan, en yaygın kullanım şekli .rpm’den .deb’e (ve tersi) olan bir araç olan Alien’i tanıtacağız.

Bu araç, yazarı artık onu geliştirmeye devam etmediğinde ve web sitesinde Alien’in muhtemelen her zaman deneysel durumda kalacağını belirttiğinde bile, belirli bir paket türüne ihtiyacınız varsa ancak o programı yalnızca başka bir paket biçiminde bulabiliyorsanız kullanışlı olabilir.

Bununla birlikte, dağıtımlar arasında farklı şekilde ayarlandıklarından, bu yardımcı programın önemli sistem dosyalarını ve kitaplıklarını değiştirmek için kullanılmaması gerektiğini açıklığa kavuşturmalıyız. Bu makalenin başında önerilen yükleme yöntemleri gerekli program için söz konusu değilse, yalnızca son çare olarak Alien’i kullanın.

Son olarak, bu yazıda CentOS ve Debian kullanacak olsak da, Alien’in ilk iki dağıtım ve ilgili ailelerinin yanı sıra Slackware ve hatta Solaris’te de çalıştığı bilindiğini belirtmeliyiz.

1. Adım: Alien ve Bağımlılıkları Yükleme

CentOS/RHEL 7’ye Alien yüklemek için EPEL ve Nux Dextop (evet, Masaüstü değil Dextop) depolarını şu sırayla etkinleştirmeniz gerekir:

# yum install epel-release
# rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

Bu depoyu etkinleştiren paketin en son sürümü şu anda 0.5’tir (10 Ağustos 2015’te yayınlanmıştır). Devam etmeden önce daha yeni bir sürüm olup olmadığını görmek için http://li.nux.ro/download/nux/dextop/el7/x86_64/ adresini kontrol etmelisiniz:

# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Sonra şu komutu verelim,

# yum update && yum install alien

Fedora’da yalnızca son komutu çalıştırmanız gerekecek.

Debian ve türevlerinde şunları yapın:

# aptitude install alien

2. Adım: .deb’den .rpm Paketine Dönüştürme

Bu test için, büyük miktarda mali veriyle başa çıkmak için bir dizi tarih ve saat yardımcı programı sağlayan dateutils’i seçtik. .deb paketini CentOS 7 kutumuza indireceğiz, .rpm’ye çevireceğiz ve kuracağız:

Check CentOS Version
CentOS Sürümünü Kontrol Edin
# cat /etc/centos-release
# wget http://ftp.us.debian.org/debian/pool/main/d/dateutils/dateutils_0.3.1-1.1_amd64.deb
# alien --to-rpm --scripts dateutils_0.3.1-1.1_amd64.deb
Convert .deb to .rpm package in Linux
Linux’ta .deb dosyasını .rpm paketine dönüştürün

Önemli: (Önemli olarak, Alien’in hedef paketin sürüm küçük sayısını nasıl artırdığına lütfen dikkat edin. Bu davranışı geçersiz kılmak istiyorsanız, –keep-version parametresini ekleyin).

Paketi hemen yüklemeye çalışırsak, küçük bir sorunla karşılaşırız:

# rpm -Uvh dateutils-0.3.1-2.1.x86_64.rpm 
Install RPM Package
RPM Paketini Kur

Bu sorunu çözmek için epel testi havuzunu etkinleştireceğiz ve yeniden oluşturulacak paketin ayarlarını düzenlemek için rpmrebuild yardımcı programını kuracağız:

# yum --enablerepo=epel-testing install rpmrebuild

Sonra bu komutu çalıştırın,

# rpmrebuild -pe dateutils-0.3.1-2.1.x86_64.rpm

Bu, varsayılan metin düzenleyicinizi açacaktır. %files bölümüne gidin ve hata mesajında ​​belirtilen dizinlere başvuran satırları silin, ardından dosyayı kaydedin ve çıkın:

Convert .deb to Alien Version
.deb dosyasını Alien Sürümüne Dönüştür

Dosyadan çıktığınızda yeniden oluşturma işlemine devam etmeniz istenecektir. Y’yi seçerseniz, dosya belirtilen dizine (geçerli çalışma dizininden farklı) yeniden oluşturulur:

# rpmrebuild –pe dateutils-0.3.1-2.1.x86_64.rpm
Build RPM Package
RPM Paketi Oluşturun

Artık paketi kurmaya ve her zamanki gibi doğrulamaya devam edebilirsiniz:

# rpm -Uvh /root/rpmbuild/RPMS/x86_64/dateutils-0.3.1-2.1.x86_64.rpm
# rpm -qa | grep dateutils
Install Build RPM Package
Build RPM Paketini Kurun

Son olarak, dateutils’e dahil olan araçları tek tek listeleyebilir ve alternatif olarak ilgili kılavuz sayfalarını kontrol edebilirsiniz:

# ls -l /usr/bin | grep dateutils
Verify Installed RPM Package
Kurulu RPM Paketini Doğrulayın

Adım 3: .rpm’den .deb Paketine Dönüştürme

Bu bölümde .rpm’den .deb’ye nasıl dönüştürüleceğini göstereceğiz. 32-bit Debian Wheezy kutusunda, CentOS 6 OS deposundan zsh kabuğu için .rpm paketini indirelim. Bu kabuğun varsayılan olarak Debian ve türevlerinde mevcut olmadığını unutmayın.

# cat /etc/shells
# lsb_release -a | tail -n 4
Check Shell and Debian OS Version
Shell ve Debian İşletim Sistemi Sürümünü Kontrol Edin
# wget http://mirror.centos.org/centos/6/os/i386/Packages/zsh-4.3.11-4.el6.centos.i686.rpm
# alien --to-deb --scripts zsh-4.3.11-4.el6.centos.i686.rpm

Eksik bir imzayla ilgili mesajları güvenle göz ardı edebilirsiniz:

Convert .rpm to .deb Package
.rpm’yi .deb Paketine Dönüştür

Birkaç dakika sonra .deb dosyası oluşturulmuş ve kuruluma hazır olmalıdır:

# dpkg -i zsh_4.3.11-5_i386.deb
Install RPM Converted Deb Package
RPM Dönüştürülmüş Deb Paketini Kurun

Kurulumdan sonra, zsh’nin geçerli kabuklar listesine eklendiğini doğrulayabilirsiniz:

# cat /etc/shells
Confirm Installed Zsh Package
Yüklü Zsh Paketini Onaylayın

Yazının orijinalini buradan okuyabilirsiniz.