Product SiteDocumentation Site

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، که در فصل بعد بررسی می‌کنیم، از این برتری استفاده می‌کند، به صورتی که مدیرسیستم دیگر نگرانی درباره نحوه مدیریت وضعیت یک بسته نخواهد داشت، یک وظیفه لازم اما دشوار.