Hoe DEB-pakketten met afhankelijkheden lokaal downloaden?

Download deb-pakketten lokaal

El applicaties kunnen installeren in Ubuntu, Linux Mint en in hun afgeleiden zijn er verschillende methoden​ De meest voorkomende en bekende is met behulp van het distributie-softwarecentrum waarin we een groot aantal applicaties kunnen vinden die klaar zijn om te worden geïnstalleerd.

Een andere gebruikelijke methode die we meestal gebruiken, is met behulp van de terminal en een andere een van de meest populaire is door te installeren vanuit een deb-pakket.

algemeen wanneer we een deb-pakket installeren, controleren we meestal niet de afhankelijkheden hiervan, aangezien het alleen het pure pakket is en niet al die pakketten of bibliotheken bevat die het nodig heeft voor de juiste werking.

Eerste methode

Met behulp van deze methode we kunnen pakketten downloaden van een systeem en ze later installeren op hetzelfde systeem of op elk ander systeem dat geen internetverbinding heeft.

Het is ook mogelijk om pakketten voor verschillende architectuursystemen te downloaden. U kunt bijvoorbeeld 32-bits pakketten downloaden van een 64-bits systeem en vice versa.

Hoe download ik deb-pakketten met afhankelijkheden lokaal?

naar om lokaal pakketten te downloaden met afhankelijkheden in Debian, Ubuntu en afgeleiden, kunt u een van de volgende methoden gebruiken.

Dit is de eenvoudigste en meest directe methode.

Hiervoor voer gewoon de volgende opdracht uit om een ​​pakket met alle afhankelijkheden te downloaden zonder ze te installeren:

sudo apt-get install --download-only nombre-del-paquete

alle gedownloade bestanden worden opgeslagen in een map /var / cache / apt / archieven.

Nu kunnen we gewoon doorgaan met het kopiëren van de volledige cachemap op elke pendrive om later gebruik te maken van die gedownloade pakketten.

Om de gedownloade pakketten te installeren, gaat u naar de kopie die we hebben gemaakt en installeert u deze met de volgende opdracht:

sudo dpkg -i *

Het probleem met het gebruik van deze methode is, hoewel het simpel lijkt, dat de cachemap niet alleen het pakket dat je zojuist hebt gedownload met zijn afhankelijkheden opslaat, maar ook veel meer pakketten bevat die op het systeem zijn geïnstalleerd.

U moet dus de cache opschonen als u geen onnodige pakketten wilt meenemen. Hoewel we in dit geval een andere methode kunnen gebruiken.

ubuntu_verhaal

Tweede methode

Een andere manier om dit te doen, is door eerst de afhankelijkheden van het programma te downloaden dat we nodig hebben.

Om de lijst met alle afhankelijkheden van een pakket te kennen, moeten we daarom de volgende opdracht uitvoeren

sudo apt-cache depends nombre-del-paquete

De output zal min of meer zo zijn:

nombre-del-paquete
PreDepends: …..
Depends: xxx
Depends: xxxx
Conflicts:
Breaks: update-manager-core
Suggests: xxxx
Suggests: xxxx
Replaces: xxx

nu, we hoeven alleen het pakket met zijn afhankelijkheden te downloaden. We kunnen dit doen met het volgende commando:

for i in $(apt-cache depends python | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/''/''/); do sudo apt-get download $i 2>>errors.txt; done

De bovenstaande opdracht downloadt het pakket samen met alle benodigde afhankelijkheden en slaat ze op in de huidige werkmap.

Met deze opdracht worden ook eventuele fouten in het fouten.txt-bestand opgeslagen, die we kunnen bekijken als we een probleem hebben en de oorsprong van het conflict kennen.

Hoe pakketten downloaden op architectuur?

Nu zoals hierboven vermeld, Het is mogelijk om pakketten van elk type architectuur te downloaden, maar aangezien voor degenen die 64-bits gebruikers zijn, het nodig is om ondersteuning voor 32-bits architectuur toe te voegen.

Om dit eerst te doen, we moeten de gewenste architectuur op hun systeem inschakelen met behulp van het commando:

sudo dpkg --add-architecture i386*

TWe kunnen ook pakketten voor ARM downloaden en de architectuur inschakelena in ons systeem, hoeven we alleen de architectuur in te schakelen met:

sudo dpkg --add-architecture armhf

Evenzo We kunnen nagaan welke architecturen we beschikbaar hebben in ons systeem met:

sudo dpkg --print-foreign-architectures

Nadat u de architectuur van uw keuze heeft ingeschakeld, moet u de volgende opdracht uitvoeren om pakketten te downloaden die betrekking hebben op de specifieke architectuur.

for i in $(apt-cache depends python:i386 | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/''/''/); do sudo apt-get download $i 2>>errors.txt; done

Na het downloaden van de pakketten samen met hun afhankelijkheden, kopieert u ze nu eenvoudig naar uw USB-station en installeert u de pakketten op elk systeem.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   buxus zei

    Bedankt dat je ons de tutorial hebt gebracht, ik zag dit commando lang geleden op een reddit-forum en het heeft mijn leven meerdere keren gered, toen ik het eenmaal moest gebruiken met de hulp van een live-cd om het op een server in tekstmodus het stuurprogramma van de netwerkkaart.

  2.   Omar Bautista Gonzalez zei

    Hartelijk bedankt! Het kan me helpen, want in de context waarin ik woon (de Dominicaanse Republiek), is er niet altijd een gemakkelijke verbinding met internet. Dus deze tutorial zou me kunnen helpen om een ​​aantal pakketten op verschillende computers te installeren als ik internettoegang nodig heb, door deze pakketten gewoon op een USB-geheugenstick of iets dergelijks te transporteren.

  3.   Maxim zei

    Bedankt, ik was vergeten de i386-architectuur op mijn ubuntu-partner te implementeren, wat onmisbaar is, en ik kreeg praktisch de fout in bionische ubuntu, ik denk dat dat het probleem is