Nous utilisons notre propre référentiel pour les paquets Ubuntu et j'ai besoin d'un moyen de vérifier si le référentiel est vraiment utilisé sur chaque poste de travail. Je peux utiliser apt-cache policy|grep 'our-repository-address'
, mais certains de mes collègues ne l'aiment pas à cause de "grep". Cela ressemble à un hack peu fiable pour eux ... Existe-t-il un autre moyen d'effectuer ce contrôle ou apt-cache policy|grep 'our-repository-address'
est-il tout à fait standard?
software-sources
Jorge Castro
la source
la source
apt-cache
sortie, le référentiel est toujours activé. Bien que cela soit susceptible de l'être, rien n'empêche laapt-cache
mise en œuvre de remédier à cela à l'avenir. Quelque chose comme çaapt-cache is-repo-enabled repo-address
serait beaucoup mieux.Réponses:
Vous devez vérifier chaque paquet fourni par le référentiel individuellement.
Si package est uniquement une reconstruction locale et que la chaîne de version est identique à celle d'un autre référentiel, vous devez vérifier manuellement md5sums dans /var/lib/dpkg/info/PACKAGE.md5sums (si le package ne compile rien et que les structures de référentiel ne diffèrent pas il n’existe aucun moyen de préciser l’origine).
Si les chaînes de version diffèrent, vous pouvez utiliser le fragment de code suivant:
L'utilisation est
script PACKAGELIST
par exemple:Vous devez également ajuster composant, archive, ... pour votre archive locale (voir le fichier de version associé sous
/var/lib/apt/lists
).Si le paquet est installé mais pas à partir de votre référentiel, vous obtenez le nom du paquet - tout va bien sinon.
la source
Je suppose que vous connaissez déjà le fait que, si vous souhaitez que votre référentiel soit utilisé à la place du référentiel Ubuntu par défaut, vous devez placer la ligne de référentiel de votre répertoire en haut du
/etc/sources.list
fichier. Voici une question et une réponse à ce sujet.Si vous avez déjà placé votre référentiel au sommet du fichier "sources.list", vous pouvez vérifier si l'installation du paquet utilise
--print-uris
switch dans laapt-get
commande, comme ci-dessous.Cette commande renvoie le résultat suivant sur ma machine (j'ai aussi un petit référentiel local)
Les deux dernières lignes indiquent clairement le référentiel utilisé pour les deux fichiers nécessaires.
J'espère que cela pourra vous aider dans votre problème.
la source