Vraag Hoe kan ik software of pakketten zonder internet (offline) installeren?


Ik heb een vriend die een computer heeft die niet is verbonden met internet. Is er een manier om software eenvoudig offline te installeren?


238
2017-08-05 06:12


oorsprong


De volgende link kan ook interessant voor u zijn. askubuntu.com/questions/86358/... - starkus


antwoorden:


Uitchecken Keryx; het is een offline repository manager.

Hoe werkt het? Hiermee kunt u updates en nieuwe programma's (met afhankelijkheden) downloaden naar uw flash drive.

De interface is vergelijkbaar met synaptic, maar het werkt vanuit een pendrive (het hoeft niet te worden geïnstalleerd). Helaas heeft de GUI wxwidgets nodig, die niet vooraf op Ubuntu geïnstalleerd zijn (ze zijn platformonafhankelijk en installeerbaar vanuit hier en Ubuntu-repository hier). Het kan alleen software in een Ubuntu-systeem installeren, maar u kunt de updates of nieuwe pakketten in elke Linux, Windows of OS X downloaden.

Hier vindt u een tutorial.

Een andere gedetailleerde stap-voor-stap tutorial is binnen dit antwoord.

Launchpad host ook downloadbare bestanden.

Een screenshot:

Screenshoot


123
2017-08-05 09:01



keryx is niet langer in ontwikkeling, als je dit op een nieuwere versie van Ubuntu probeert, gebruik dan de draagbare versie om jezelf te redden van de problemen van afhankelijkheden. - Alex R
Ik gebruik nog steeds keryx zonder problemen, hoewel het duidelijk verdere ontwikkeling en verbeteringen nodig heeft. - carnendil
Hoe gebruik ik het? - carnendil
Wat als de andere offline computer geen gcc, g ++ heeft? Het is een nieuwe geïnstalleerde ubuntu. Hoe kan ik wxwidgets installeren? Zonder wxwidgets klaagt het over ontbrekende module ... - buzhidao
Ik heb net een nieuwe versie van Keryx uitgebracht (0.92.5), wat een aantal problemen kan oplossen. De gecompileerde versie moet afhankelijkheden bevatten zoals wxWidgets en u kunt zonder problemen op Windows uitvoeren. - mac9416


Een snelle hack

Een snelle hack is om alle pakketten die u voor uw installatie hebt gedownload naar zijn machine te kopiëren (gedetailleerde instructies hier). De .deb-bestanden worden opgeslagen in /var/cache/apt/archives, dan bij de andere computerintroductie Synaptic en selecteer File -> Add Package Downloaded en zoek in de map waar u de bestanden hebt geplaatst en open deze, accepteer alles (of installeer vanaf de terminal met behulp van de opdracht sudo dpkg -i DEB_PACKAGE_NAME).

NOTITIE:
Dit veronderstelt dat uw pakketbeheerder niet is ingesteld om de pakketten direct na de installatie te verwijderen. Er wordt ook verondersteld dat u dezelfde versie van Ubuntu gebruikt (10.10, 12.04, enz.) en architectuurversie (32b of 64b).


Een dvd-repository

Als je de nieuwste bugfixes en beveiligingspatches beschikbaar wilt hebben, kijk dan eens naar deze tutorial, waarmee je je eigen dvd-repository kunt maken.


55
2017-08-05 10:38



Als je niet kunt rennen sudo apt-get update dit zal niet zo goed werken, nog een goede tijdspaarder bij het opzetten van een nieuw systeem :) - GM-Script-Writer-62850
Akkoord, net een upgrade van twee computers naar 13.10 vanaf 13.04. De eerste moest ~ 1.8Gb downloaden en de inhoud van .kopiëren /var/cache/apt/archives naar de tweede maakte het slechts ~ 250Mb downloaden. Toch hebt u een verbinding nodig om de installatie uit te voeren. - Maxime R.
apt-get update is niet nodig als je kopieert /var/lib/apt/lists - deze map bevat de repository-informatie die wordt gedownload door apt-get update. - ignis
Ik heb mijn gekopieerd .deb naar mijn usb van /var/cache/apt/archives . Op de andere computer opende ik alleen de USB-drive en dubbelklikte op de .deb die de Ubuntu GUI heeft gelanceerd Software Updater. Gemakkelijk pezy. - Jacksonkr
@ jr0cket: is er een manier om de pakketten in deze map te vermijden /var/cache/apt/archives welke nu al (ingebouwd) komt wanneer Debian is geïnstalleerd? .De reden waarom ik dit vraag is 4,8 GB is veel te groot voor mijn usb-schijf die 4 GB is. - justin


Een USB-repository

Als je een degelijke USB-stick hebt - uitgaande van ongeveer 4-8 Gb (of externe harde schijf), kun je een aangepaste kopie van de Ubuntu-repository instellen en configureren als lokale repository zoals gedekt in AptGet / Offline / Repository  op help.ubuntu.com.

Om de eigenlijke pakketbestanden (de .deb-bestanden) te krijgen, raad ik aan om te gebruiken apt-mirror.

De apt-mirror package helpt je een aangepaste mirror te maken die kleiner moet zijn dan de 30 Gb van de volledige repository. Installeer het pakket:

sudo apt-get install apt-mirror

en bewerk het configuratiebestand

gksudo gedit /etc/apt-mirror/mirror.list

of sinds Ubuntu 14.04

gksudo gedit /etc/apt/mirror.list

Neem alleen de gewenste repositorysecties op. Hier is een eenvoudig voorbeeld dat de binaire .deb-bestanden kopieert van alle 4 secties (hoofd-, beperkt, universeel en multiversum) evenals de nieuwste bugfixes.

# apt-mirror configuration file
##
## The default configuration options (uncomment and change to override)
##
#
set base_path    /tmp/ubuntumirror
#

## Repositories to copy from - 

## use a mirror so you don't overload the main server!!!

# Lucid binaries - no source files
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse


## Clean up older .deb files no longer in the archive
clean http://archive.ubuntu.com/ubuntu

Het is raadzaam dat u ongeveer 15 GB aan ruimte nodig hebt voor alle 4 secties, zonder de bron.

Ik heb het pad voor alle .deb-bestanden geplaatst /tmp, zorg ervoor dat je genoeg ruimte hebt zodat je harde schijf niet vol raakt (als je harde schijf vol raakt en je computer vastloopt, /tmpmoet worden gewist met een herstart).

Als u alleen de hoofdbestanden wilt, verwijdert u de beperkte, universe- en multiverse-namen uit het configuratiebestand.

Als je een andere architectuur gebruikt (je hebt 64bit, maar je vriend heeft 32 bit), voeg dan het volgende toe aan het begin van de mirror.list configuratiebestand:

set defaultarch i386

Zodra u de apt-mirror configuratie die u wilt, uitvoeren apt-mirror en ga iets leuks doen of het leven veranderen, want het zal uren of dagen duren om de repository te krijgen (afhankelijk van je verbinding en de Ubuntu-spiegel die je gebruikt).

Zodra u de .deb-bestanden hebt, kopieert u de bestanden naar uw USB-geheugenstick (of externe harde schijf) en stelt u de lokale repository in volgens het eerder genoemde artikel.

Test het werkt voordat je het naar je vriend brengt!


38
2018-04-18 20:55



Het apt-mirror-pakket is gedetailleerd op: apt-mirror.sourceforge.net - jr0cket
Toen ik het probeerde sudo apt-get install apt-mirror rechtdoor Ubuntu 16.10 (Yakkety Yak), desktop editie / Rufus / USB stick / proefmodus, kreeg ik "E: Unable to locate package apt-mirror"Er was verbinding met internet, geverifieerd door ping. - Peter Mortensen
hardlopen sudo apt-get update repareerde het niet. - Peter Mortensen


U moet eerst een pc met internetverbinding krijgen, waar u vereiste .deb-bestanden kunt downloaden. Nadat u alle bestanden hebt gedownload, kunt u nu een CD / DVD-rom of ISO-bestand maken waarmee u de software die u hebt gedownload op uw offline pc kunt installeren.

Begin met een schone installatie of VM.
sudo apt-get install aptoncd 

Installeer de gewenste pakketten op één pc
sudo apt-get install gbrainy 

Voer aptoncd uit
enter image description here
Klik op Maken
enter image description here
Klik op Branden en stel opties in en klik vervolgens op Toepassen
enter image description here
Verbrand het of bewaar het
enter image description here

Merk op dat aptoncd alleen een back-up maakt van dingen in de huidige apt-cache.
Dit is de reden waarom we begonnen met een schone VM / nieuwe installatie en dit allemaal in één keer hebben gedaan.


29
2017-10-26 07:55



Dus, zeg je als ik een vm maak en alle gewenste apps installeer, voer dan dit programma uit, neem de cd / dvd naar de offline pc. en het zou alle apps erop installeren? - Alex
Zolang u dezelfde basismedia gebruikt, ja. Als u een kantoor implementeert en u wilt een snelle en eenvoudige manier om iets toe te voegen, dan wordt dit zeer nuttig. Als je een meta-pakket gebruikt, ja - RobotHumans
Voor het herstellen van de afbeelding moet hal worden geïnstalleerd, maar deze is verouderd en wordt niet langer ondersteund voor zover ik begrijp. - Flashrunner
Er is een build voor levendig code.launchpad.net/~ubuntu-branches/ubuntu/vivid/hal/vivid - RobotHumans


Ik gebruik apt-get met de optie "--print-uris" om dit te doen. Ik voeg ook "-qq" toe, dus het zou stil zijn.

Gebruik sed om extra tekens te verwijderen die aan sommige bestandsnamen zijn toegevoegd (ongeveer 3% 2a) en om de URL, bestandsnaam en md5sum van bestanden te krijgen. Gebruik wget om de bestanden te downloaden. Gebruik md5sum om te controleren of de bestanden correct zijn gedownload.

Je kunt dit gebruiken om een ​​shell-script voor Linux of Mac OS te maken (vervang ".cmd" in de commando's naar .sh en doe "chmod a + x (bestandsnaam) om toestemming toe te voegen om het script uit te voeren) of een Windows Command-batchbestand en een MD5Sum-bestand om te controleren of de bestanden correct zijn gedownload.

commando's

Maak een script:

sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > script.cmd

Voorbeelden:

sudo apt-get install anjuta --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install-anjuta.cmd
sudo apt-get upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > upgrade.cmd
sudo apt-get dist-upgrade --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > dist-upgrade.cmd

Maak md5sum-bestand aan:

sudo apt-get <<<apt-get command and options>>> --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

Voorbeelden:

sudo apt-get install anjuta --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
sudo apt-get upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt
sudo apt-get dist-upgrade --print-uris -qq | sed -n -e "s/_[0-9]%[0-9a-f][0-9a-f]/_/" -e "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/\4  .\/\2/p" > md5sum.txt

U hebt md5sum voor Windows nodig als u dat besturingssysteem gebruikt om bestanden te downloaden.


Maak een script om repository-vermeldingen te downloaden:

sudo apt-get update --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) :/wget -c \1 -O \2.bz2/p" > update.cmd

MD5-bedragen controleren

U kunt deze toevoegen aan de uiteinden van scripts om md5sum te controleren:

Linux:

md5sum --quiet -c md5sum.txt

Windows (gebruikt oudere md5sum, ondersteunt geen --quiet):

md5sum -c md5sum.txt

Automatisch toevoegen aan script:

echo -e "md5sum -c md5sum.txt\npause" >> script.cmd

Lijstbestanden installeren (update-opdracht)

Voer deze opdrachten uit op de doelcomputer.

U moet bunzip2 gebruiken om de repositorylijstbestanden uit te pakken:

bunzip2 *.bz2

Kopieer vervolgens naar de lijstmap (de huidige map bevat alleen lijstbestanden):

sudo cp * /var/lib/apt/lists/

Hierboven gecombineerd (de huidige map kan andere bestanden bevatten):

for listfile in `ls *.bz2`; do bunzip2 $listfile; sudo cp ${listfile%.bz2} /var/lib/apt/lists/; done

Snellere downloads

Als u het downloaden van de bestanden sneller wilt maken, probeer dan Axel te gebruiken.

Vervangen wget -c ... -O ... met axel ... -o ....

Maphiërarchie (bestanden downloaden met Windows)

Ik maak meestal een map als deze:

  • apt-get /
    • bin /
      • Msys-1.0.dll
      • Msys-intl-8.dll
      • wget.exe
      • Msys-iconv-2.dll
      • md5sum.exe
      • libeay32.dll
      • libintl3.dll
      • libssl32.dll
      • libiconv2.dll
    • bijwerken/
      • update.cmd
      • md5sum.txt
    • installeren/
      • install-foo.cmd
      • install-bar.cmd
      • upgrade.cmd
      • md5sum.txt

Dan veranderen wget in de regels hierboven naar ..\\bin\\wget.exe, md5sum naar ..\\bin\\md5sum.exe, enz.

Hierdoor worden de * .deb-bestanden gescheiden en worden bestanden in verschillende mappen weergegeven.

Uw systeem bijwerken

  1. Boot-to-target-computer die Ubuntu gebruikt
  2. Maak een script voor update
  3. Opstarten naar een computer met een internetverbinding
  4. Voer update.sh uit (voor Linux of Mac OS) of update.cmd (Windows)
  5. Ga terug naar de doelcomputer
  6. Installeer lijstbestanden
  7. Maak een script voor upgrade / dist-upgrade (voeg md5sum-opdrachten toe om te beëindigen)
  8. Ga terug naar de computer met internetverbinding
  9. Voer upgrade.sh/dist-upgrade.sh (Linux of Mac OS) uit of upgrade.cmd / dist-upgrade.cmd (Windows)
  10. Ga terug naar de doelcomputer
  11. Kopieer * .deb-bestanden naar de cache: sudo cp *.deb /var/cache/apt/archives/
  12. Rennen: sudo apt-get upgrade of sudo apt-get dist-upgrade

Download Executables voor Windows

Wget voor Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

md5sum voor Windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm of http://www.etree.org/cgi-bin/counter.cgi/software/md5sum.exe

Je kunt ook die van gebruiken MinGW, wat ik gebruik. U hebt alleen wget.exe, md5sum.exe en de benodigde gedeelde bibliotheken nodig. Controleer de sectie "Maphiërarchie".

Notes

  • Ik weet niet zeker of alle bovenstaande commando's zullen werken, aangezien ik ze nu al een maand niet heb gebruikt. Vooral de update-opdracht, die ik vandaag niet een aantal delen ervan heb getest.
  • Als u eenvoudig de resultaten van de opdrachten wilt zien, voegt u een "pauze" -regel aan het einde van de scripts toe als u Windows gebruikt.
  • Ik raad aan om shellscripts te maken om pakketten bij te werken, te upgraden en te installeren als u deze opdrachten vaak gebruikt.

27
2017-12-01 15:04



Kun je hiervoor een eenvoudige gui maken :) - Tachyons
het gebruik van windows lijkt erg raar ... - Alex R
Het is ook van toepassing op Linux (wat eigenlijk beter is omdat je md5sum en wget niet hoeft te installeren). Het Windows-gedeelte is voor diegenen die geen Linux-computer met internetverbinding hebben, dus u kunt het gebruiken in een internetcafé of een vriendcomputer die alleen Windows heeft. - Arnel A. Borja
-qq optie lijkt alle uitvoer te onderdrukken apt-get update. Ik neem aan dat je deze optie niet echt wilt. - Ruslan


Offline repository

Hoe u een offline repository aanmaakt, wordt beschreven hier: Je hoeft alleen de juiste bestanden te downloaden van archive.ubuntu.com. Als alternatief zou je kunnen gebruiken apt-medium.

EDIT: een andere benadering gebaseerd op een lokale respons van *.deb bestanden worden beschreven in verschillende blogberichten (zie hier en hier). Sarath Chandra vat als volgt samen:

  1. Maak een map toegankelijk (tenminste door root)

    sudo mkdir /var/my-local-repo
    
  2. Kopieer alle deb-bestanden naar deze map.

  3. Maak de map als een

    sudo bash -c 'dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz'
    

    of

    sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
    
  4. Voeg de lokale repo toe aan bronnen

    echo "deb file:/var/my-local-repo ./" > /tmp/my-local.list
    sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.list
    sudo apt-get update
    

21
2018-05-01 19:01





Stap 1: download de download-URL's in een bestand:

Voer de volgende opdracht uit om de pakketnamen te vervangen door de vereiste, gescheiden door een spatie.

apt-get -y install --print-uris package-name | cut -d\' -f2 | grep http:// > apturls

Stap 2: Kopieer dit bestand (apturls) naar een machine met supersnelle internettoegang en voer de volgende opdracht uit om de pakketten te downloaden:

wget -i path-to-apturls-file 

Stap 3: Download die gedownloade pakketten nu naar uw machine en installeer ze met behulp van:

cd path-to-the-downloaded-packages-directory

sudo dpkg -i *.deb

Gedaan!


18
2017-11-02 08:14



Doet --print-uris print zelfs afhankelijkheden die al zijn geïnstalleerd in het systeem? - yuric


Je kunt gebruiken Kubus. Het is een draagbare pakketbeheerder waarmee u pakketten kunt downloaden op een andere computer met internetverbinding en deze offline kunt installeren op uw oorspronkelijke Linux-computer.

Apps downloaden (op Windows)

Apps installeren (onder Linux)

Je kunt het downloaden op Kubuswebsite.


17
2017-08-05 08:37



is het .deb of .exe?
Er is geen .deb-bestand omdat het op zichzelf staand, draagbaar is en zonder installatie kan worden uitgevoerd (voer gewoon een kubus-normaal bestand uit). Cube.exe is ook opgenomen voor Windows-gebruikers. - Camicri
Meer mensen moeten hiervan op de hoogte zijn. Ik hou van je. - howderek
Ik krijg een foutmelding tijdens het uitvoeren van deze applicatie op Win 7 Ultimate 32 bit. Afbeelding: i.stack.imgur.com/XW3wt.jpg  foutmelding: Probleemhandtekening: Probleem Naam gebeurtenis: CLR20r3 Probleem Handtekening 01: cube.exe Probleem Handtekening 02: 1.0.9.3 Probleem Handtekening 03: 54bd0258 Probleem Handtekening 04: glibberig Probleem Handtekening 05: 2.12.0.0 Probleem Handtekening 06: 517edc4c Probleem Handtekening 07: 1b4 Probleem Handtekening 08: 17 Probleem Handtekening 09: System.DllNotFoundException OS-versie: 6.1.7600.2.0.0.256.1 Landinstelling-id: 16393 - Sandeep
Hallo en bedankt voor het gebruik van Cube. Helaas wordt de versie van de kubus die u gebruikt niet langer onderhouden. Gebruik alstublieft de nieuwe en stabiele, Cube Server: launchpad.net/cube-server. Zie het bijgewerkte antwoord hierboven. - Camicri