RPM (Red Hat Package Manager) paketlerini debian tabanlı herhangi bir işletim sistemine kurabileceğimizi biliyor musunuz? Evet yanlış duymadınız, çoğu zaman yazılımlar sadece Centos, Fedora veya RHEL için oluşturulur evet bu durum cidden çok sıkıcı ama bu RPM paketlerini debian sistem üzerine kurmamıza engel değil.
Tek ihtiyacımız olan şey Alien Package Convert aracı üstelik bu uygulama debian’ın kendi repoların da bulunuyor.
apt install alien
Bağımlılıkları çok fazla olduğu için aşağıdaki gibi bir görüntü karşınıza gelecek korkmayın.
hemen ardından dönüştürmek istediğiniz paket ile birlikte aşağıdaki komutları çalıştırabilirsiniz.
root@test:~# alien
You must specify a file to convert.
Usage: alien [options] file [...]
file [...] Package file or files to convert.
-d, --to-deb Generate a Debian deb package (default).
Enables these options:
--patch=<patch> Specify patch file to use instead of automatically
looking for patch in /var/lib/alien.
--nopatch Do not use patches.
--anypatch Use even old version os patches.
-s, --single Like --generate, but do not create .orig
directory.
--fixperms Munge/fix permissions and owners.
--test Test generated packages with lintian.
-r, --to-rpm Generate a Red Hat rpm package.
--to-slp Generate a Stampede slp package.
-l, --to-lsb Generate a LSB package.
-t, --to-tgz Generate a Slackware tgz package.
Enables these options:
--description=<desc> Specify package description.
--version=<version> Specify package version.
-p, --to-pkg Generate a Solaris pkg package.
-i, --install Install generated package.
-g, --generate Generate build tree, but do not build package.
-c, --scripts Include scripts in package.
--target=<arch> Set architecture of the generated package.
-v, --verbose Display each command alien runs.
--veryverbose Be verbose, and also display output of run commands.
-k, --keep-version Do not change version of generated package.
--bump=number Increment package version by this number.
-h, --help Display this help message.
-V, --version Display alien's version number.
Çevirmek istediğiniz paket örneğin
alien --to-deb nginx-1.18.0-1.el7.ngx.x86_64.rpm
Çevirim işlemi tamamlandığında oluşturulan paketi ister alien -i nginx-1.18.0-1.el7.ngx.x86_64.deb
komutuyla kurabilir, isterseniz de kurulum için dpkg -i
kullanabilirsiniz.
UYARI: alien kullanarak yaptığınız çevirimlerde init, libc veya sisteminizin işleyişi için gerekli olan diğer şeyler gibi önemli sistem paketlerinin yerini almak için çevirim yapılmamalıdır. Bu paketlerin çoğu, farklı dağıtımlar tarafından farklı şekilde kurulur ve farklı dağıtımlarda kullanılan paketler birbirinin yerine kullanılamaz. Unutmayınız kullandığınız bu yöntemde çevirim yaptığınız paketler bozulabilir, düzgün bir şekilde çalışmayabilir. Kullanırken dikkatli olunuz.