GNU/Linux >> Tutoriels Linux >  >> Linux

Comment modifier un paquet deb ?

La procédure que j'utilise est la suivante :

Obtenez la source (via apt-get src).

Appliquez un patch ou faites ce qui doit être changé.

exécutez debchange --nmu et tapez une description de la modification que vous avez apportée. Cela incrémentera automatiquement le numéro de version afin que le système n'essaie pas de "mettre à niveau" votre package personnalisé vers le package standard.

Exécutez debuild .

Profitez de vos fichiers deb.


J'ai trouvé le guide suivant sur les forums Ubuntu pour reconstruire le package du gestionnaire de réseau ici

Re :comment patcher la source d'un deb

Citation :Publié à l'origine par cordon

Je souhaite essentiellement reconstruire le package du gestionnaire de réseau avec une sorte de correctif personnalisé pour tester quelque chose. Alors je veux :1. obtenir le code source de la "version" ubuntu du gestionnaire de réseau

Code :

sudo apt-get source network-manager

Citation :2. patchez-le avec mon patchLes fichiers sources seront téléchargés dans le répertoire de travail. Voir ceci pour plus d'informations.

Citation :3. créer un fichier deb que je peux installer à la place du gestionnaire de réseau actuel.

Exécuter le code :

dpkg-buildpackage -rfakeroot -uc -b
dans le répertoire créé.

A également trouvé cet article :Guide du nouveau responsable DebianChapitre 6 - Construire le paquet

Quant à vos modifications perdues par une mise à jour des dépôts officiels, je ne suis pas sûr. Vous pouvez toujours simplement renvoyer votre correctif en amont aux responsables du paquet compiz-gnome ou créer votre propre référentiel pour le paquet mis à jour.


La réponse aux points 3 et 4 est que vous devez mettre le paquet en attente statut une fois que vous avez installé votre version. Cela indique au système de gestion des paquets Debian de "retenir" toute modification future de ce paquet, ce qui vous permet en fait de gérer le paquet manuellement.

De la FAQ Debian :

7.11 Qu'entend-on par inconnu, installer, supprimer, purger et conserver dans l'état du package ?

Ces drapeaux "wanted" indiquent ce que l'utilisateur voulait faire avec un paquet (comme indiqué soit par les actions de l'utilisateur dans la section "Select" de dselect, soit par les appels directs de l'utilisateur à dpkg).

Leurs significations sont :

  • inconnu - l'utilisateur n'a jamais indiqué s'il voulait le colis>

  • install - l'utilisateur souhaite que le package soit installé ou mis à jour

  • remove - l'utilisateur souhaite supprimer le package, mais ne souhaite supprimer aucun fichier de configuration existant.

  • purge - l'utilisateur souhaite que le paquet soit complètement supprimé, y compris ses>fichiers de configuration.

  • hold - l'utilisateur souhaite que ce paquet ne soit pas traité, c'est-à-dire qu'il souhaite conserver la>version actuelle avec l'état actuel, quel qu'il soit.

7.12 Comment mettre un colis en attente ?

Il existe trois façons de retenir des paquets, avec dpkg, aptitude ou avec dselect.

Avec dpkg, il faut exporter la liste des sélections de packages, avec :

dpkg --get-selections *> selections.txt

Modifiez ensuite le fichier selections.txt résultant, modifiez la ligne contenant le package que vous souhaitez conserver, par ex. libc6, à partir de ceci :

installation libc6

à ceci :

libc6 hold

Enregistrez le fichier et rechargez-le dans la base de données dpkg avec :

dpkg --set-selections

Avec aptitude, vous pouvez conserver un paquet en utilisant

aptitude hold package_name

et supprimez la retenue avec

aptitude unhold package_name

Avec dselect, vous devez entrer dans l'écran [S]elect, trouver le paquet que vous souhaitez conserver>dans son état actuel, et appuyer sur le =' key (or H'). Les modifications seront mises en ligne immédiatement>après avoir quitté l'écran [S]électionner.

Remarque : Des personnes ont rencontré des problèmes avec aptitude hold commande, donc à mon humble avis, vous devriez préférer la commande dpkg pour contenir le paquet. Alternativement, vous pouvez conserver le package via l'interface graphique du gestionnaire de packages Synaptic (Package> Verrouiller la version). Ma préférence est d'utiliser dpkg car cela a bien fonctionné pour moi.

Vous avez déjà une bonne réponse pour le reste, donc je ne risquerai pas mon opinion là-dessus.


Linux
  1. Comment extraire des fichiers de l'archive de paquets Debian DEB

  2. Comment répertorier les fichiers installés à partir d'un package RPM ou DEB sous Linux

  3. Comment vérifier la liste des dépendances pour un paquet Deb ?

  4. Comment installer Termite ?

  5. Comment créer un package .deb à partir de Github ?

Comment installer le paquet Debian (.deb)

Comment installer les packages Deb dans Ubuntu, Debian et Mint

Comment installer Deb Package sur OpenSUSE Leap ou Tumbleweed

Comment créer un package dans WHM ?

Comment modifier les packages de compte cPanel dans les plans Revendeur cPanel ?

Comment installer Yarn sur Ubuntu 18.04