[gull] apt & Suse...
Marc SCHAEFER
schaefer at alphanet.ch
Thu Mar 10 11:11:06 CET 2005
On Wed, Mar 09, 2005 at 04:23:51PM +0100, Daniel Cordey wrote:
> Sauf si l'on sait pourquoi... (ET c'est parfois necessaire) En l'occurence
> j'ai installe mysql et apache2.0 sur mon systeme... mais en tarball, pas a
> partir de RPMs. En general, je fais aussi la meme chose avec xine-lib que je
Dans ce cas, je recommanderais la création d'un package stub vide non
désinstallable (marqué comme hold si ça existe avec les RPMs) ayant
comme description la documentation de l'installation locale et dépendant
des bibliothèques et autres programmes utilisés par l'application
installée localement.
En cas de mise à jour incompatible de packages, le système de packaging
voudra alors désinstaller mon package stub et je serai informé. Même si
c'est dans 2 ans, il suffira de lire la description du package pour se
souvenir: ah oui etc.
Ou je créerais mon propre package avec les binaires du logiciel installé
localement, p.ex. en backport d'une version plus récente. En nommant la
version du package de façon claire.
Exemple: j'aime bien déployer Asterisk, mais la version distribuée avec
la Debian (même instable) n'est pas assez récente à mon goût, de plus
j'aime y ajouter des patches standards et des patches personnels. Je
prends le package de Debian, je change sa version, je change le
changelog, j'applique les patches, je régénère et j'installe.
Ca donne quelque chose comme:
schaefer at shakotay:~$ dpkg -s asterisk
Package: asterisk
Status: install ok installed
Priority: optional
Section: comm
Installed-Size: 3636
Maintainer: Marc SCHAEFER <schaefer at alphanet.ch>
Version: 1:1.0.6-0.bristuff_0.2.0_RC7k.cril.0
On peut d'ailleurs automatiser largement ce processus (p.ex. pour
Apache, je maintiens des patches séparés et je regénère le package à
chaque mise à jour de sécurité de Debian stable).
On peut aussi déposer ce package sur un serveur de packages de manière à
permettre à tous les clients de mettre à jour (en cas de problème de
sécurité p.ex.).
S'il s'agit d'une application propriétaire qui est absolument
nécessaire, on informe le client de la non viabilité à long terme de la
chose, puis on crée un package ad-hoc, probablement en `hold'.
Ou on installe dans /usr/local/PROPRIETARY/nom-application-version et on crée
les scripts de lancement dans /usr/local/bin (ce qui a comme avantage de
permettre l'installation simultanée de plusieurs versions, le
basculement par changement de liens symboliques ou des scripts de
lancement, voire en fonction du nom de la machine en cas d'installation
réseau NFS).
Jusqu'ici je n'ai jamais dû faire d'équivalent de --nodeps en production.
More information about the gull
mailing list