5.5. همزیستی با سایر سیستمهای بستهبندی
بستههای دبیان تنها بستههای نرمافزاری موجود در دنیای نرمافزار آزاد نیستند. رقیب اصلی آنها قالب RPM از توزیع ردهت و مشتقات آن میباشد. ردهت یک توزیع بسیار محبوب و تجاری است. به همین دلیل طبیعی است که نرمافزارهای شخص ثالث، در قالب بستههای ردهت ارائه شوند تا دبیان.
در این مورد، باید بدانید برنامه rpm
، که بستههای RPM را مدیریت میکند، خود به عنوان یک بسته دبیان موجود است، بنابراین امکان استفاده از آن در دبیان وجود دارد. اگرچه، احتیاط شرط عقل است و هنگام استخراج اطلاعات از یک بسته یا بررسی جامعیت آن، باید دقت لازم را داشته باشید. در حقیقت، استفاده از rpm
به منظور نصب یک بسته RPM در دبیان غیرمنطقی به نظر میرسد؛ RPM از پایگاهداده خود استفاده میکند، که جدای از پایگاهداده dpkg
است. به همین دلیل امکان تضمین همزیستی مسالمتآمیز بین این دو سیستم وجود ندارد.
از طرف دیگر، برنامه alien قابلیت تبدیل بستههای RPM به دبیان و برعکس را دارد.
$
fakeroot alien --to-deb phpMyAdmin-5.2.1-2.fc39.src.rpm
[..]
Warning: Skipping conversion of scripts in package phpMyAdmin: postinst
Warning: Use the --scripts parameter to include the scripts.
[..]
phpmyadmin_5.2.1-3_all.deb generated
$
ls -sh phpmyadmin_5.2.1-3_all.deb
7.2M phpmyadmin_5.2.1-3_all.deb
$
dpkg -c phpmyadmin_5.2.1-3_all.deb
drwxr-xr-x root/root 0 2024-05-21 20:49 ./
-rw-r--r-- root/root 7461668 2023-02-08 01:15 ./phpMyAdmin-5.2.1-all-languages.tar.xz
-rw-r--r-- root/root 833 2023-02-08 01:15 ./phpMyAdmin-5.2.1-all-languages.tar.xz.asc
-rw-r--r-- root/root 1077 2023-07-20 20:00 ./phpMyAdmin-bundled.php
-rw-r--r-- root/root 637 2023-07-20 20:00 ./phpMyAdmin-certs.patch
-rw-r--r-- root/root 1181 2023-07-20 20:00 ./phpMyAdmin.htaccess
-rw-r--r-- root/root 430 2023-07-20 20:00 ./phpMyAdmin.nginx
-rw-r--r-- root/root 38997 2023-07-20 20:00 ./phpMyAdmin.spec
-rw-r--r-- root/root 34198 2023-07-20 20:00 ./phpmyadmin.keyring
drwxr-xr-x root/root 0 2024-05-21 20:49 ./usr/
drwxr-xr-x root/root 0 2024-05-21 20:49 ./usr/share/
drwxr-xr-x root/root 0 2024-05-21 20:49 ./usr/share/doc/
drwxr-xr-x root/root 0 2024-05-21 20:49 ./usr/share/doc/phpmyadmin/
-rw-r--r-- root/root 214 2024-05-21 20:49 ./usr/share/doc/phpmyadmin/changelog.Debian.gz
-rw-r--r-- root/root 1303 2024-05-21 20:49 ./usr/share/doc/phpmyadmin/copyright
[..]
$
dpkg -I phpmyadmin_5.2.1-3_all.deb
new Debian package, version 2.0.
size 7500852 bytes: control archive=1092 bytes.
583 bytes, 15 lines control
618 bytes, 10 lines md5sums
446 bytes, 11 lines * postinst #!/bin/sh
Package: phpmyadmin
Version: 5.2.1-3
Architecture: all
Maintainer: debian <debian@debian>
Installed-Size: 7377
Section: alien
Priority: extra
Description: A web interface for MySQL and MariaDB
phpMyAdmin is a tool written in PHP intended to handle the administration of
MySQL over the Web. Currently it can create and drop databases,
create/drop/alter tables, delete/edit/add fields, execute any SQL statement,
manage keys on fields, manage privileges,export data into various formats and
is available in 50 languages
.
(Converted from a rpm package by alien version 8.95.6.)
متوجه میشوید که این فرآیند بسیار ساده است. اگرچه، باید بدانید که بسته تولید شده اطلاعاتی درباره وابستگیهای مورد نیازش ندارد، چرا که وابستگیهای در دو سیستم کاملا جداگانه تعریف شده و با یکدیگر سازگاری مشخصی ندارند. مدیرسیستم خود باید تضمین کند که بسته تبدیل شده به درستی کار خواهد کرد، این دلیلی است که بستههای دبیان که به این روش تولید میشوند تا آنجا که ممکن است نباید استفاده گردند. خوشبختانه، دبیان دارای بزرگترین مجموعه از بستههای نرمافزاری در بین تمام توزیعها است و به احتمال زیاد هر آنچه شما بخواهید در آن وجود دارد.
با نگاه به صفحه راهنمای alien
متوجه میشوید که این برنامه از سایر قالبهای بستهبندی نیز پشتیبانی میکند، به خصوص قالب مورد استفاده در توزیع Slackware (که از یک آرشیو ساده tar.gz
تشکیل شده است).
پایداری نرمافزار توزیع شده توسط ابزار dpkg
به شهرت دبیان افزوده است. مجموعه ابزار APT، که در فصل بعد بررسی میکنیم، از این برتری استفاده میکند، به صورتی که مدیرسیستم دیگر نگرانی درباره نحوه مدیریت وضعیت یک بسته نخواهد داشت، یک وظیفه لازم اما دشوار.