Convertir zip en deb

Convertir ZIP en DEB

Transformez un logiciel compatible ZIP en paquet Debian valide avec métadonnées, chemins, permissions et vérifications.

Convertir des fichiers ZIP en ligne

Nous n’avons pas encore de convertisseur en ligne dédié pour ZIP vers DEB, mais vous pouvez convertir des fichiers ZIP en ligne vers ces formats :

Comment convertir zip en fichier deb

  • Archives

Un système basé sur Debian peut nécessiter un paquet .deb afin que les logiciels puissent être installés, mis à niveau et supprimés via APT et dpkg. Une archive ZIP doit être décompressée et assemblée avec les métadonnées d’un paquet Debian ; renommer .zip en .deb ne crée pas un paquet installable.

Qu’est-ce que ZIP ?

ZIP est un format d’archive général utilisé par Windows Explorer, macOS Archive Utility, 7-Zip, les releases GitHub, les systèmes de build et les éditeurs de logiciels. Il regroupe des fichiers et peut les compresser, mais ne définit pas les chemins d’installation Linux, les dépendances de paquet, l’architecture CPU, le propriétaire, les permissions ni le comportement de désinstallation.

Une archive ZIP peut contenir du code source, des ressources portables, des logiciels Windows, des binaires Linux ou un paquet Debian existant. Vérifiez son contenu avant d’essayer de la packager :

unzip -l release.zip

Si l’archive contient déjà un fichier .deb, extrayez et utilisez ce paquet plutôt que de le reconstruire :

unzip release.zip '*.deb'

Qu’est-ce que DEB ?

DEB est le format de paquet binaire utilisé par Debian, Ubuntu, Linux Mint et les distributions associées. Un DEB est une archive ar contenant un marqueur debian-binary, une archive de contrôle avec les métadonnées du paquet et une archive de données contenant les fichiers à installer.

Ses métadonnées de contrôle identifient le nom du paquet, sa version, son architecture, son responsable, ses dépendances et sa description. L’archive de données installe normalement les exécutables sous /usr/bin, les fichiers partagés du programme sous /usr/lib ou /usr/share, et la configuration sous /etc.

Un paquet correctement construit peut être installé avec apt install ./package.deb. APT peut obtenir les dépendances déclarées depuis les dépôts configurés, tandis que dpkg enregistre les fichiers installés afin qu’ils puissent ensuite être supprimés proprement.

Créer un DEB à partir d’un contenu ZIP approprié

Ne packagez que des logiciels déjà compatibles avec la release Debian et le CPU cibles. L’outil standard de bureau et en ligne de commande est dpkg-deb, fourni avec l’installation normale de dpkg. Il crée un paquet valide, mais ne devine ni les dépendances ni l’emplacement des fichiers.

Installez les outils d’extraction et de vérification facultative des paquets :

sudo apt update && sudo apt install unzip lintian

Créez des répertoires distincts pour l’extraction et la préparation du paquet, puis inspectez les fichiers extraits :

rm -rf work pkg
mkdir -p work pkg/DEBIAN
unzip release.zip -d work
find work -maxdepth 3 -type f

Copiez les fichiers dans le répertoire de préparation en utilisant leurs chemins d’installation prévus. Pour un exécutable natif nommé myapp, installez-le comme suit :

install -Dm755 work/myapp pkg/usr/bin/myapp

Placez les données propres à l’application dans des chemins tels que pkg/usr/share/myapp ou pkg/usr/lib/myapp. Ne copiez pas aveuglément le répertoire de premier niveau d’une archive dans /, ne remplacez pas les fichiers fournis par un autre paquet et n’installez pas de fichiers arbitraires directement sous /usr.

Créez pkg/DEBIAN/control avec des métadonnées valides :

Package: myapp
Version: 1.0.0
Section: utils
Priority: optional
Architecture: amd64
Maintainer: Example Maintainer <maintainer@example.com>
Depends: libc6 (>= 2.34)
Description: Command-line application
A longer package description.

Les noms de paquets doivent être en minuscules et peuvent contenir des lettres, des chiffres, +, - et .. Utilisez Architecture: all uniquement pour les scripts, la documentation, les thèmes ou les données indépendants de l’architecture ; utilisez des valeurs telles que amd64 ou arm64 pour les binaires et bibliothèques natifs. Déclarez uniquement les dépendances vérifiées : ldd peut révéler les noms des bibliothèques partagées requises, mais n’identifie pas de manière fiable les paquets Debian ni les versions minimales qui les fournissent.

Construisez le paquet en enregistrant le propriétaire root dans son archive :

dpkg-deb --build --root-owner-group pkg myapp_1.0.0_amd64.deb

Inspectez et validez le résultat avant sa distribution :

dpkg-deb --info myapp_1.0.0_amd64.deb
dpkg-deb --contents myapp_1.0.0_amd64.deb
lintian myapp_1.0.0_amd64.deb

Testez-le dans une machine virtuelle, un conteneur ou un système de test jetable :

sudo apt install ./myapp_1.0.0_amd64.deb
myapp
sudo apt remove myapp

Limites de compatibilité et de packaging

Un wrapper DEB ne permet pas à un logiciel incompatible de fonctionner sous Linux. Les fichiers Windows .exe, les applications macOS, les paquets Android et les binaires compilés pour un autre CPU nécessitent un runtime compatible, un portage ou une recompilation ; les placer dans un DEB ne modifie que leur mode de distribution.

Les archives ZIP ne préservent souvent pas les permissions d’exécution Unix. Utilisez le mode 0755 pour les programmes et scripts exécutables ; les fichiers ordinaires et les bibliothèques utilisent normalement 0644. Vérifiez que les fichiers installés ne dépendent pas de chemins relatifs au répertoire ZIP d’origine.

Si le paquet installe une configuration modifiable dans /etc, répertoriez ces fichiers dans DEBIAN/conffiles afin que les mises à niveau du paquet préservent les modifications locales. N’ajoutez des scripts de mainteneur qu’en cas de nécessité ; les scripts s’exécutent avec des privilèges élevés pendant l’installation et la suppression.

DEB n’est pas intrinsèquement plus petit que ZIP. Les deux formats peuvent compresser les données, tandis qu’un DEB inclut également les métadonnées du paquet et peut utiliser des paramètres de compression différents.

Aucun convertisseur en ligne réputé ne peut déterminer de manière sûre les emplacements de fichiers, les permissions, les dépendances, l’architecture et les scripts d’installation corrects à partir d’un contenu ZIP arbitraire. Évitez d’envoyer du code source ou des exécutables propriétaires vers des sites de conversion ; construisez localement avec dpkg-deb. Pour les logiciels distribués sous forme de code source, utilisez leurs fichiers de packaging Debian ou un workflow approprié de paquet source Debian au lieu de reconditionner une release ZIP.

Comparaison du format ZIP vs DEB

Comparaison entre les formats ZIP et DEB sur les propriétés les plus importantes pour cette conversion.

Comparaison des formats de fichier ZIP et DEB
Propriété .ZIP ZIP archive .DEB Debian binary package
Compression Les deux Les deux
Taux de compression Moyen Moyen
Chiffrement Oui Non
Archives fractionnées Oui Non
Enregistrement de récupération Non Non
Prise en charge du système d’exploitation Large Large
Taille de fichier typique Moyen Petit
Norme ouverte Oui Oui
Date d’introduction 1989 1995
Développeur Phil Katz / PKWARE Debian Project
Type MIME application/zip application/vnd.debian.binary-package