Comment supprimer l'enregistrement d'un package installé sans supprimer aucun fichier?


8

J'ai fait l'erreur d'installer Jenkins à partir du paquet ubuntu, ce qui provoque un stress sans fin ici dans la gestion des mises à jour. Je n'ai aucune querelle avec la façon dont Ubuntu a organisé les fichiers sur le disque.

Pour les curieux, jenkins a un gestionnaire de paquets interne qui télécharge les mises à jour du plugin, et une coordination minutieuse des principales installations et mises à niveau du jenkins est requise pour éviter les conditions chaotiques. Nous devons donc bloquer soigneusement les mises à niveau de Jenkins via, oh, la mise à niveau apt-get lorsque nous ne savons pas exactement ce qui se passe avec les plugins.

Donc, ce que j'aimerais faire, c'est persuader dpkg / apt-get d'oublier qu'il y a un paquet jenkins, sans le laisser supprimer les fichiers existants.

Par ailleurs, l '«installation» se compose d'un fichier «.war» plus les liens /etc/init.d.

Évidemment, je peux sauvegarder ce qui m'importe, supprimer le package et restaurer, mais j'espérais apprendre qu'il y avait une option dpkg obscure qui avait oublié de supprimer les fichiers.

Y a-t-il un moyen?


Vous devez l'installer en dehors d'apt-get, depuis la source (make install) ou en sauvegardant tous les fichiers, en supprimant le package et en restaurant les fichiers à partir de la sauvegarde. Je pense que c'est une mauvaise solution à votre problème, peut-être que si vous décrivez mieux le problème, nous pouvons vous donner une meilleure solution.
Panther

il a bien décrit le problème. les pseudo-packages peuvent résoudre presque tout. vous pouvez résoudre ce problème avec un pseudopackage vide.
RobotHumans

Comment un pseudopackage vide résoudrait-il quoi que ce soit? Il veut qu'apt-get oublie que le paquet est installé pour qu'il ne soit pas mis à jour.
tgm4883

Réponses:


9

La «meilleure» façon de procéder consiste à manipuler /var/lib/dpkg/status.

TOUTEFOIS!

Ce fichier a une syntaxe sensible; Le faire dans le mauvais sens peut casser la gestion de vos packages.

Voici ce que vous devez faire:

Trouvez un bloc qui ressemble un peu à ceci (l'apparence réelle peut dépendre du paquet que vous essayez de rendre «invisible»):

Package: xserver-xorg-input-vmmouse
Status: install ok installed
Priority: optional
Section: x11
Installed-Size: 136
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 1:12.7.0-2
Provides: xorg-driver-input
Depends: libc6 (>= 2.7), xorg-input-abi-12, xserver-xorg-core (>= 2:1.10.0-0ubuntu1~), xserver-xorg-input-mouse, udev
Description: X.Org X server -- VMMouse input driver to use with VMWare
 This package provides the driver for the X11 vmmouse input device.
 .
 The VMMouse driver enables support for the special VMMouse protocol
 that is provided by VMware virtual machines to give absolute pointer
 positioning.
 .
 The vmmouse driver is capable of falling back to the standard "mouse"
 driver if a VMware virtual machine is not detected. This allows for
 dual-booting of an operating system from a virtual machine to real hardware
 without having to edit xorg.conf every time.
 .
 More information about X.Org can be found at:
 <URL:http://www.X.org>
 .
 This package is built from the X.org xf86-input-vmmouse driver module.
Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>

La première instruction Package: <name>est l'endroit où vous devez rechercher, où <name>est le nom du package que vous souhaitez supprimer.

Chaque bloc commence par une Package: <name>ligne et se termine par la Package:ligne suivante , MAIS ne supprimez pas l' Package:instruction suivante !

Si vous gardez cela à l'esprit, le paquet ne semblera plus être installé sur dpkg; malgré tous les fichiers encore disponibles.

C'est au mieux un terrible piratage, mais fonctionne très bien, je l'ai fait moi-même plusieurs fois dans le passé, à une époque où Ubuntu avait encore du mal avec des paquets cassés parfois. Je ne le recommande pas, c'est une option de dernier recours.


TRÈS agréable (hack) à avoir dans la boîte à outils! ... M'a sauvé des heures de combat avec un package fournisseur (zoom + libxcb-xtest0 deps) <sigh>
Tweeks

3

Toujours très utile même en cas de piratage. Une suggestion supplémentaire est de supprimer de la même manière le package indésirable de / var / lib / dpkg / available et de supprimer tous les fichiers {package}. * De / var / lib / dpkg / info /

Je l'ai utilisé lorsque j'ai décidé d'installer une version plus récente d'un logiciel à partir de la source, qui avait déjà été installée en tant que version Ubuntu. J'ai d'abord téléchargé et construit / installé la nouvelle version que je voulais, puis j'ai utilisé ce hack pour que dpkg oublie l'ancienne version d'Ubuntu.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.