Certaines situations nécessitent l'installation manuelle d'un package local à l'aide de dpkg -i <packagename>
. Parfois, il peut être utile de tirer parti des fonctionnalités de apt
ce package, de sorte que la question est:
Comment créer rapidement un référentiel local pour des paquets aléatoires en utilisant une distribution Linux basée sur Debian - comme Xubuntu 13.04 / Ubuntu?
dpkg -i <packagename>
avecapt-get -f install
pour récupérer les packages requis. De plus, la chose habituelle pour créer un dépôt apt pour Debian est reprepro.apt
avec--fix-broken
serait nécessaire après l'installation d'un package local avecdpkg -i
? Dpkg ne s'en occuperait-il pas? J'ai lu que cela pourrait être nécessaire la première fois qu'apt est exécuté? @ FM & Gilles: A propos de reprepro . Semble utile si je pouvais le faire fonctionner (pas sûr de la structure du dir, du contenu de 3 fichiers ou des paramètres au moment de l'exécution). Je vais réessayer et mettre à jour ou poster une question complète.dpkg
ne résout pas les dépendances, mais leapt
fait.dpkg
avertira des dépendances cassées, mais est de bas niveau, donc ne tentera pas de les réparer. La procéduredpkg -i *.deb
suivieapt-get -f install
est standard. Il y a un bogue de liste de souhaits pourapt
gérer lui - même le cas de l'installation de paquets locaux, et il y a même un correctif, je pense, mais il n'a pas encore été implémenté. Voir apt-get install pourrait également installer des fichiers de packages locaux , initialement déposés en 1999.Réponses:
Cela doit être distingué de la situation où vous essayez de répliquer une arborescence de packages complète à partir d'un référentiel officiel et d' une priorité de réglage fin des sources . Les packages aléatoires désignent les packages virtuels, les packages qui sont compilés localement ou copiés de manière fragmentaire à des fins de test. Voici une configuration simple basée sur une documentation désormais obsolète .
Créez d'abord un répertoire pour héberger les packages:
Déplacez-y ensuite vos fichiers de package .deb. Exécutez cette commande à partir du répertoire au-dessus de celui que nous venons de créer (assurez-vous que les autorisations le permettent!):
Maintenant , créez un fichier avec l' extension
.list
dans/etc/apt/sources.list.d/
le contenu:et mettre à jour la base de données apt:
À ce stade, les packages de notre référentiel local peuvent être installés comme tout autre package utilisant
apt-get install <packagename>
. Lorsque de nouveaux packages sont ajoutés au référentiel local, ladpkg-scanpackages
commande prescrite doit être émise à nouveau pour mettre à jour le fichier Packages.gz etapt
doit être mise à jour avant que les nouveaux packages soient disponibles. J'espère que cela peut être utile à des fins de test .la source
[trusted=yes]
entredeb
et l'file:///
URI (voir lasources.list(5)
page de manuel), sinonapt-get update
échoue à cause du manque de signature.Si vous souhaitez créer un dépôt avec la structure complète dont vous avez besoin pour des outils tels que debootstrap, la manière la plus simple que j'ai trouvée est:
Créez un répertoire de référentiel.
Créez un sous-répertoire conf.
Créez un fichier / opt / debian / conf / distributions avec un contenu comme celui-ci (ajustez selon la distribution que vous utilisez):
Importez votre colis avec reprepro.
Importez un tas de paquets avec une boucle for-shell, par exemple tout depuis votre cache APT:
Cela créera une archive non signée. Il peut être utilisé avec debootstrap avec l'option --no-check-gpg.
la source