Product SiteDocumentation Site

5.5. 與其他打包系統共存

Debian 套件不是自由軟體世界唯一的軟體套件。主要的競爭者是紅帽發行版的 RPM 格式及其衍生者。紅帽是極為風行、商業化的發行版。第三方軟體極喜歡使用 RPM 套件而不是 Debian。
在此情況下,Debian 套件也有能夠處理 RPM 套件的 rpm 程式,因此,Debian 也能使用此等格式套件。不過,要小心提取該等套件的資訊或確認其正當性。因此,在 Debian 系統過度使用 rpm 安裝 RPM 套件,有點麻煩;RPM 使用自己的資料庫,不理會原生軟體 (諸如 dpkg) 的資料庫。無法保證這兩種套件系統並存的穩定性。
換句話說,alien 工具可以把 RPM 套件與 Debian 套件互相轉換。
$ fakeroot alien --to-deb phpMyAdmin-5.1.1-2.fc35.noarch.rpm
[..]
Warning: Skipping conversion of scripts in package phpMyAdmin: postinst
Warning: Use the --scripts parameter to include the scripts.
[..]
phpmyadmin_5.1.1-3_all.deb generated
$ ls -sh phpmyadmin_5.1.1-3_all.deb
  6,0M phpmyadmin_5.1.1-3_all.deb
$ dpkg -c phpmyadmin_5.1.1-3_all.deb
drwxr-xr-x root/root         0 2021-08-09 02:02 ./
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/httpd/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/httpd/conf.d/
-rw-r--r-- root/root      1181 2021-07-27 09:32 ./etc/httpd/conf.d/phpMyAdmin.conf
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/nginx/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./etc/nginx/default.d/
-rw-r--r-- root/root       430 2021-07-27 09:32 ./etc/nginx/default.d/phpMyAdmin.conf
drwxr-x--- root/root         0 2021-08-09 02:02 ./etc/phpMyAdmin/
-rw-r----- root/root      4546 2021-07-27 09:34 ./etc/phpMyAdmin/config.inc.php
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/share/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/share/doc/
drwxr-xr-x root/root         0 2021-08-09 02:02 ./usr/share/doc/phpMyAdmin/
[..]
$ dpkg -I phpmyadmin_5.1.1-3_all.deb
 new Debian package, version 2.0.
 size 6195324 bytes: control archive=44444 bytes.
     102 bytes,     3 lines      conffiles
     593 bytes,    15 lines      control
  180405 bytes,  1919 lines      md5sums
     448 bytes,    11 lines   *  postinst             #!/bin/sh
 Package: phpmyadmin
 Version: 5.1.1-3
 Architecture: all
 Maintainer: Daniel Leidert <dleidert@debian.org>
 Installed-Size: 40693
 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.4.)
此例極為簡單。然而,您必須知道不需任何相依性資訊就能產生套件,兩種套件格式並不必然有系統性的關係。管理者必須以手動方式確保轉換過的套件能夠正確運作,這就是 Debian 產生的套件能夠避免此種可能。幸運的是,Debian 擁有軟體套件各種版本的資料庫,想要的都能找到。
查看 alien 指令的 man 頁面,您將注意到此程式也處理其他套件格式,尤其是 Slackware 發行版 (即簡單的 tar.gz 壓縮檔) 使用的套件格式。
使用 dpkg 工具可穩定地部署軟體維護 Debian 的名聲。接著討論的 APT 工具組,保留這些優點,而且讓管理者從必要且複雜的套件管理工作中解放出來。