Je veux apprendre comment apt fonctionne et récupère des objets à partir de miroirs dans le système d'information de l'entreprise. sources.list
. Comment puis-je parcourir ces dépôts manuellement, les télécharger manuellement et les construire manuellement (pas en utilisant les sources et pas github, etc...) ?
Réponses
Trop de publicités?Quand je veux télécharger manuellement une version spécifique d'un paquet avec wget
J'utilise pkgs.org . Ce site contient un index de tous les principaux dépôts, et fournit de nombreux détails sur les paquets.
Il prend en charge une bonne poignée de distributions autres qu'Ubuntu (vous pouvez trouver des paquets plus récents en installant à partir de Debian unstable, par exemple), et à la fois amd64
y arm64
architectures.
Ici, vous pouvez parcourir ou rechercher n'importe quel paquet, et vous obtiendrez directement le lien de téléchargement.
Prenez cet exemple avec Nano pour Ubuntu 20.04 .
Vous obtenez un lien de téléchargement, une liste de dépendances, une liste de fichiers, etc. Pour télécharger ce paquet manuellement, il suffit de lancer wget
avec le lien fourni :
wget http://archive.ubuntu.com/ubuntu/pool/main/n/nano/nano_4.8-1ubuntu1_amd64.deb
Vous pouvez ensuite faire ce que vous voulez avec le paquet.
Le téléchargement manuel des paquets se terminera par l'enfer des dépendances lors d'un autre essai.
C'est pourquoi j'ai créé un script spécial basé sur Docker pour mes besoins personnels. Il est situé à https://github.com/N0rbert/deb-download .
Actuellement, ce script supporte toutes les versions de Debian et Ubuntu qui ont des images de base de docker sur dockerhub, donc Ubuntu à partir de 12.04 LTS, Debian à partir de 6 et Mint à partir de 18. Les versions EOL et actuelles sont supportées par script.
Comment l'utiliser :
-
Connaître la Debian nécessaire dérivé nom (comme Debian elle-même, Ubuntu et Mint), son nom de code et le paquet en utilisant des outils locaux comme
apt-cache policy
,rmadison
ou en visitant https://packages.debian.org , https://packages.ubuntu.com , http://packages.linuxmint.com , https://repology.org , https://pkgs.org etc. -
Installez Docker sur la machine, par exemple en utilisant le paquet docker.io (le paquet de docker.com fonctionne également).
sudo apt-get update sudo apt-get install docker.io git sudo usermod -a -G docker $USER
et redémarrez la machine.
-
Clonez le référentiel et exécutez le script pour obtenir le(s) paquet(s) avec ses(leurs) dépendances.
cd ~/Downloads git clone https://github.com/N0rbert/deb-download.git cd deb-download chmod +x deb-download.sh # derivative codename package(s) # ./deb-download.sh ubuntu bionic zenmap
-
Récupérez les paquets téléchargés depuis
storage
sous-dossier. Optionnellement, récupérez le fichier de liste d'URL à partir destorage/urls.txt
. -
Inspecter attentivement le contenu de
storage
puis essayez d'installer le paquet deb principal sur le système cible, puis corrigez ses dépendances une par une.Par exemple, l'installation de ZenMap sur le système Ubuntu 20.04 LTS est possible en utilisant les commandes suivantes :
cd storage sudo apt-get install ./zenmap_7.60-1ubuntu5_all.deb ./python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
Plus de détails sont présentés dans README.md et en deb-download.sh script lui-même.