5.5. Sameksistens med andre pakkesystemer
Debian-pakker er ikke de eneste programvarepakkene som brukes i fri programvareverden. Den viktigste konkurrent er RPM-formatet til Red Hat Linux-distribusjon og dens mange avledede distribusjoner. Red Hat er en veldig populær, kommersiell distribusjon. Det er derfor vanlig at programvare levert av tredjeparter blir tilbudt som RPM-pakker i stedet for Debian.
I dette tilfellet skal du vite at programmet rpm
, som behandler RPM-pakker, er tilgjengelig som en Debian-pakke, så det er mulig å bruke dette pakkeformatet på Debian. Imidlertid bør forsiktighet utvises for å begrense disse håndteringene med å trekke ut info fra en pakke, eller for å få bekreftet integriteten. Det er i sannhet urimelig å bruke rpm
for å installere en RPM-pakke på et Debian-system; RPM bruker sin egen database, adskilt fra de til systemprogramvare (som dpkg
). Dette er grunnen til at det ikke er mulig å sikre stabil sameksistens mellom to pakkesystemer.
På den annen side, alien-verktøyet kan konvertere RPM-pakker til Debian-pakker og vice versa.
$
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.)
Du vil finne at denne prosessen er svært enkel. Du må imidlertid vite at pakken som genereres ikke har noen informasjon om avhengighet, siden avhengigheter i de to pakkeformater ikke har systematisk samsvar. Administratoren må derfor manuelt sørge for at den konverterte pakken vil fungere på riktig måte, og dette er grunnen til Debian-pakker generert slik bør unngås så mye som mulig. Heldigvis har Debian den største samlingen av programvarepakker av alle distribusjoner, og det er sannsynlig at uansett hva du leter etter, er det allerede tilgjengelig.
Ser du på manualsiden for alien
-kommandoen, vil du legge merke til at dette programmet håndterer andre pakkeformater, spesielt de som brukes av Slackware-distribusjonen (som består av et enkelt tar.gz
-arkiv).
Stabiliteten til programvare som er rullet ut med dpkg
-verktøyet bidrar til Debians berømmelse. APT-verktøypakken, beskrevet i neste kapittel, tar vare på denne fordelen, samt sparer administratoren fra å håndtere pakkenes status – en nødvendig, men vanskelig oppgave.