5.5. Współistnienie z innymi systemami pakietowania
Pakiety Debiana nie są jedynymi pakietami używanymi w świecie Wolnego oprogramowania. Głównym konkurentem jest format RPM używany w dystrybucji Red Hat Linuks i jego pochodnych. Red Hat jest bardzo popularną, komercyjną dystrybucją. Z tego powodu oprogramowanie dostarczane przez inne firmy często jest oferowane jako pakiety RPM, a nie Debiana.
W tym przypadku należy zdawać sobie sprawę, że program rpm
, obsługujący pakiety RPM, jest dostępny jako pakiet Debiana, więc możliwe jest używanie tego formatu pakietów w Debianie. Niemniej jednak trzeba uważać i ograniczyć te manipulacje do wydobycia informacji z pakietu lub sprawdzenia jego spójności. Prawdę mówiąc, używanie rpm
do instalacji RPM w Debianie jest nierozsądne; RPM używa własnej bazy danych, oddzielnej od rodzimego oprogramowania (takiego jak dpkg
). Z tego powodu zapewnienie współistnienia dwóch systemów pakietowania jest niemożliwe.
Z drugiej strony, narzędzie alien pozwala konwertować pakiety RPM na pakiety Debiana i vice versa.
$
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.)
You will find that this process is extremely simple. You must know, however, that the package generated does not have any dependency information, since the dependencies in the two packaging formats don't have systematic correspondence. The administrator must thus manually ensure that the converted package will function correctly, and this is why Debian packages thus generated should be avoided as much as possible. Fortunately, Debian has the largest collection of software packages of all distributions, and it is likely that whatever you seek is already in there.
Looking at the man page for the alien
command, you will also note that this program handles other packaging formats, especially the one used by the Slackware distribution (it is made of a simple tar.gz
archive).
The stability of the software deployed using the dpkg
tool contributes to Debian's fame. The APT suite of tools, described in the following chapter, preserves this advantage, while relieving the administrator from managing the status of packages, a necessary but difficult task.