Frage Wie kann ich Software oder Pakete ohne Internet installieren (offline)?


Ich habe einen Freund, der einen Computer hat, der nicht mit dem Internet verbunden ist. Gibt es eine Möglichkeit, Software einfach offline zu installieren?


238
2017-08-05 06:12


Ursprung


Der folgende Link könnte auch für Sie interessant sein. askubuntu.com/questions/86358/ ... - starkus


Antworten:


Auschecken Keryx; Es ist ein Offline-Repository-Manager.

Wie funktioniert es? Sie können Updates und neue Programme (mit Abhängigkeiten) zu Ihrem herunterladen Flash Drive.

Seine Schnittstelle ist synaptisch ähnlich, aber es funktioniert von einem Pendrive (Es benötigt keine Installation). Unglücklicherweise benötigt die GUI Wxwidgets, die nicht auf Ubuntu vorinstalliert sind (sie sind plattformübergreifend und installierbar) Hier und Ubuntu-Repository Hier). Es kann nur Software in einem Ubuntu-System installieren, aber Sie können die Updates oder neuen Pakete in jedem Linux, Windows oder OS X herunterladen.

Hier kannst du finden ein Tutorial.

Eine weitere detaillierte Schritt-für-Schritt-Anleitung ist in diese Antwort.

Launchpad hostet auch herunterladbare Dateien.

Ein Screenshot:

Screenshoot


123
2017-08-05 09:01



Keryx ist nicht mehr in der Entwicklung, wenn Sie dies auf einer neueren Version von Ubuntu versuchen, verwenden Sie die portable Version, um sich von den Schwierigkeiten der Abhängigkeiten zu befreien. - Alex R
Ich benutze immer noch keryx ohne Probleme, obwohl es eindeutig weiterentwickelt und verbessert werden muss. - carnendil
Wie benutze ich es? - carnendil
Was ist, wenn der andere Offline-Computer nicht über gcc, g ++ verfügt? Es ist ein frisch installiertes Ubuntu. Wie kann ich wxwidgets installieren? Ohne wxwidgets beschwert es sich über fehlende Module ... - buzhidao
Ich habe gerade eine neue Version von Keryx veröffentlicht (0.92.5), die einige Bedenken lösen können. Die kompilierte Version sollte Abhängigkeiten wie wxWidgets enthalten und es Ihnen ermöglichen, unter Windows ohne Probleme zu laufen. - mac9416


Ein schneller Hack

Ein schneller Hack besteht darin, alle Pakete, die Sie für Ihre Installation heruntergeladen haben, auf seine Maschine zu kopieren (detaillierte Anweisungen hier). Die .deb-Dateien werden in gespeichert /var/cache/apt/archives, dann im anderen Computer starten Synaptisch und wählen Sie File -> Add Package Downloaded Suchen Sie den Ordner, in dem Sie die Dateien abgelegt haben, öffnen Sie sie, akzeptieren Sie alle Dateien (oder installieren Sie sie mit dem Befehl vom Terminal aus) sudo dpkg -i DEB_PACKAGE_NAME).

HINWEIS:
Dies setzt voraus, dass Ihr Paket-Manager nicht eingerichtet ist, die Pakete direkt nach der Installation zu löschen. Es setzt auch voraus, dass Sie dieselbe Version von Ubuntu ausführen (10.10, 12.04, usw.) und Architekturversion (32b oder 64b).


Ein DVD-Repository

Wenn Sie die neuesten Fehlerbehebungen und Sicherheits-Patches zur Verfügung haben wollen, dann schauen Sie sich an dieses TutorialDies umfasst die Erstellung eines eigenen DVD-Repositorys.


55
2017-08-05 10:38



Wenn du nicht laufen kannst sudo apt-get update das wird nicht sehr gut funktionieren, trotzdem eine gute Zeit sparen beim Einrichten eines neuen Systems :) - GM-Script-Writer-62850
Vereinbart, gerade zwei Computer auf 13.10 vom 13.04 aktualisiert. Der erste musste ~ 1.8Gb herunterladen, den Inhalt von kopieren /var/cache/apt/archives zum zweiten machte es nur herunterladen ~ 250 MB. Dennoch benötigen Sie eine Verbindung, um die Installation auszuführen. - Maxime R.
apt-get update wird nicht benötigt, wenn Sie kopieren /var/lib/apt/lists - Dieses Verzeichnis enthält die Repository-Informationen, die von heruntergeladen werden apt-get update. - ignis
Ich kopierte meine .deb zu mir usb von /var/cache/apt/archives . Auf dem anderen Computer habe ich nur das USB - Laufwerk geöffnet und doppelt geklickt .deb welches die Ubuntu GUI startete Software Updater. Einfach pezy. - Jacksonkr
@ jr0cket: Gibt es eine Möglichkeit, die Pakete in diesem Ordner zu vermeiden? /var/cache/apt/archives welche bereits (eingebaut) kommt, wenn Debian installiert ist? Der Grund, warum ich das frage, ist 4,8 GB ist viel zu groß für mein USB-Laufwerk, das 4 GB ist. - justin


Ein USB-Repository

Wenn Sie einen anständigen USB-Stick haben - vorausgesetzt, Sie haben eine Kapazität von 4-8Gb (oder eine externe Festplatte), können Sie eine benutzerdefinierte Kopie des Ubuntu-Repositorys einrichten und diese als lokales Repository konfigurieren, wie in beschrieben AptGet / Offline / Repository  auf help.ubuntu.com.

Um die tatsächlichen Paketdateien (die .deb-Dateien) zu erhalten, empfehle ich die Verwendung apt-mirror.

Das apt-mirror Paket wird Ihnen helfen, einen benutzerdefinierten Spiegel zu erstellen, der kleiner als die 30 GB des vollständigen Repository sein sollte. Installieren Sie das Paket:

sudo apt-get install apt-mirror

und bearbeiten Sie seine Konfigurationsdatei

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

oder seit Ubuntu 14.04

gksudo gedit /etc/apt/mirror.list

Fügen Sie nur die gewünschten Repository-Abschnitte ein. Hier ist ein einfaches Beispiel, das die binären .deb-Dateien aus allen 4 Bereichen (main, restricted, universe und multiverse) sowie die neuesten Bugfixes kopiert.

# 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

Es wird geschätzt, dass Sie ungefähr 15 GB Speicherplatz für alle 4 Abschnitte benötigen, ohne die Quelle.

Ich habe den Pfad für alle .deb-Dateien festgelegt /tmp, stellen Sie sicher, dass Sie genügend Speicherplatz haben, damit Ihre Festplatte nicht voll wird (wenn Ihre Festplatte voll ist und Ihr Computer nicht mehr reagiert, /tmpsollte mit einem Neustart gelöscht werden).

Wenn Sie nur die Hauptdateien möchten, entfernen Sie die Namen der eingeschränkten, Universums und Multiversums aus der Konfigurationsdatei.

Wenn Sie eine andere Architektur verwenden (Sie haben 64 Bit, aber Ihr Freund hat 32 Bit), fügen Sie am Anfang des Spiegel.Liste Konfigurationsdatei:

set defaultarch i386

Sobald du das hast apt-mirror Konfiguration, die Sie möchten, ausführen apt-mirror und machen Sie etwas Spaß oder lebensverändernd, da es Stunden oder Tage dauern wird, um das Repository zu bekommen (abhängig von Ihrer Verbindung und dem Ubuntu-Spiegel, den Sie verwenden).

Sobald Sie die .deb-Dateien haben, kopieren Sie die Dateien auf Ihren USB-Speicherstick (oder externe Festplatte) und richten Sie das lokale Repository gemäß dem zuvor genannten Artikel ein.

Teste es, bevor du es zu deinem Freund bringst!


38
2018-04-18 20:55



Das Apt-Mirror-Paket ist detailliert unter: apt-mirror.sourceforge.net - jr0cket
Als ich es versuchte sudo apt-get install apt-mirror direkt auf Ubuntu 16.10 (Yakkety Yak), Desktop Edition / Rufus / USB Stick / Testmodus, ich habe "E: Unable to locate package apt-mirror". Es gab eine Verbindung zum Internet, verifiziert durch ping. - Peter Mortensen
Laufen sudo apt-get update reparierte es nicht. - Peter Mortensen


Sie müssen zuerst einen PC mit Internetverbindung erhalten, wo Sie die erforderlichen .deb-Dateien herunterladen können. Nachdem Sie alle Dateien heruntergeladen haben, können Sie nun eine CD / DVD-ROM oder ISO-Datei erstellen, mit der Sie die heruntergeladene Software auf Ihrem Offline-PC installieren können.

Beginnen Sie mit einer Neuinstallation oder VM.
sudo apt-get install aptoncd 

Installieren Sie die gewünschten Pakete auf einem PC
sudo apt-get install gbrainy 

Führen Sie aptoncd aus
enter image description here
Klicken Sie auf Erstellen
enter image description here
Klicken Sie auf Brennen und Optionen und dann auf Anwenden
enter image description here
Brennen Sie es oder speichern Sie es
enter image description here

Beachten Sie, dass aptoncd nur Dinge im aktuellen apt-cache sichert.
Aus diesem Grund haben wir mit einer sauberen VM / Neuinstallation begonnen und dies alles in einem Durchgang durchgeführt.


29
2017-10-26 07:55



Sooo, sagst du, wenn ich ein vm mache und alle Apps installiere, die ich will, dann führe dieses Programm aus, nimm die CD / DVD zum Offline-PC. und es würde alle apps darauf installieren? - Alex
Solange Sie das gleiche Basissystem verwenden, ja. Wenn Sie ein Office bereitstellen und schnell und einfach etwas hinzufügen möchten, ist dies sehr hilfreich. Wenn Sie create-meta-Paket verwenden, ja - RobotHumans
Das Wiederherstellen von Bildern erfordert die Installation von Hal, aber es ist veraltet und wird nicht mehr unterstützt, soweit ich es verstehe. - Flashrunner
Es gibt einen Build für lebendig code.launchpad.net/~ubuntu-branches/ubuntu/vivid/hal/vivid - RobotHumans


Ich verwende apt-get mit der Option "--print-uris". Ich füge auch "-qq" hinzu, so dass es ruhig wäre.

Verwenden Sie sed, um zusätzliche Zeichen zu entfernen, die zu einigen Dateinamen hinzugefügt wurden (etwa 3% 2a) und um die URL, den Dateinamen und die md5sum von Dateien zu erhalten. Verwenden Sie wget, um die Dateien herunterzuladen. Verwenden Sie md5sum, um zu überprüfen, ob die Dateien ordnungsgemäß heruntergeladen wurden.

Sie können dies verwenden, um ein Shell-Skript für Linux oder Mac OS zu erstellen (ersetzen Sie ".cmd" in den Befehlen zu .sh und tun "chmod a + x (Dateiname), um die Berechtigung zum Ausführen des Skripts hinzuzufügen) oder eine Windows Command Batch-Datei und eine MD5Sum-Datei, um sicherzustellen, dass die Dateien korrekt heruntergeladen werden.

Befehle

Skript erstellen:

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

Beispiele:

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

Erstellen Sie die md5sum-Datei:

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

Beispiele:

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

Sie benötigen md5sum für Windows, wenn Sie dieses Betriebssystem zum Herunterladen von Dateien verwenden.


Erstellen Sie ein Skript zum Herunterladen von Repository-Listen:

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

MD5-Summen prüfen

Sie können diese zu den Enden von Skripten hinzufügen, um md5sum zu überprüfen:

Linux:

md5sum --quiet -c md5sum.txt

Windows (benutzt ältere md5sum, unterstützt nicht --quiet):

md5sum -c md5sum.txt

Automatisch zum Skript hinzufügen:

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

Installieren von List-Dateien (Update-Befehl)

Führen Sie diese Befehle auf dem Zielcomputer aus.

Sie müssen bunzip2 verwenden, um die Repository-List-Dateien zu extrahieren:

bunzip2 *.bz2

Kopieren Sie dann in den Listenordner (der aktuelle Ordner enthält nur Listendateien):

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

Oben kombiniert (aktueller Ordner kann andere Dateien enthalten):

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

Schnellere Downloads

Wenn Sie die Dateien schneller herunterladen möchten, versuchen Sie es mit Axel.

Ersetzen wget -c ... -O ... mit axel ... -o ....

Ordnerhierarchie (Herunterladen von Dateien mit Windows)

Ich erstelle normalerweise einen Ordner wie diesen:

  • apt-get /
    • Behälter/
      • msys-1.0.dll
      • msys-intl-8.dll
      • wget.exe
      • msys-iconv-2.dll
      • md5sum.exe
      • libeay32.dll
      • libintl3.dll
      • libssl32.dll
      • libiconv2.dll
    • aktualisieren/
      • update.cmd
      • md5sum.txt
    • Installieren/
      • install-foo.cmd
      • install-bar.cmd
      • upgrade.cmd
      • md5sum.txt

Dann ändere dich wget in den Zeilen oben zu ..\\bin\\wget.exe, md5sum zu ..\\bin\\md5sum.exe, etc.

Dadurch werden die * .deb-Dateien und Listendateien in verschiedene Ordner unterteilt.

Aktualisieren Sie Ihr System

  1. Starten Sie den Zielcomputer, der Ubuntu verwendet
  2. Erstellen Sie ein Skript für die Aktualisierung
  3. Booten Sie zu einem Computer mit einer Internetverbindung
  4. Führen Sie update.sh (für Linux oder Mac OS) oder update.cmd (Windows) aus.
  5. Gehe zurück zum Zielcomputer
  6. Installieren Sie Listendateien
  7. Erstelle ein Skript für upgrade / dist-upgrade (füge md5sum Befehle hinzu)
  8. Gehe zurück zum Computer mit Internetverbindung
  9. Führen Sie upgrade.sh/dist-upgrade.sh (Linux oder Mac OS) oder upgrade.cmd / dist-upgrade.cmd (Windows) aus.
  10. Gehe zurück zum Zielcomputer
  11. Kopieren Sie * .deb-Dateien in den Cache: sudo cp *.deb /var/cache/apt/archives/
  12. Lauf: sudo apt-get upgrade oder sudo apt-get dist-upgrade

Laden Sie ausführbare Dateien für Windows herunter

Wget für Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

md5sum für Windows: http://gnuwin32.sourceforge.net/packages/coreutils.htm oder http://www.etree.org/cgi-bin/counter.cgi/software/md5sum.exe

Sie können auch diejenigen von verwenden MinGW, was ich benutze. Sie benötigen nur wget.exe, md5sum.exe und die erforderlichen gemeinsam genutzten Bibliotheken. Überprüfen Sie den Abschnitt "Ordnerhierarchie".

Anmerkungen

  • Ich bin mir nicht ganz sicher, ob alle obigen Befehle funktionieren, da ich sie seit einem Monat nicht mehr benutze. Vor allem der Update-Befehl, den ich heute noch nicht teilweise getestet habe.
  • Um die Ergebnisse der Befehle leicht zu sehen, fügen Sie eine "Pause" -Zeile am Ende der Skripte hinzu, wenn Sie Windows verwenden.
  • Ich empfehle, Shell-Skripte zu erstellen, um Pakete zu aktualisieren, zu aktualisieren und zu installieren, wenn Sie diese Befehle oft verwenden.

27
2017-12-01 15:04



Kannst du dafür eine einfache gui erstellen :) - Tachyons
Windows dafür zu benutzen, scheint sehr seltsam zu sein ... - Alex R
Es ist auch auf Linux anwendbar (was eigentlich besser ist, weil Sie md5sum und wget nicht installieren müssen). Der Windows-Teil ist für diejenigen, die keinen Linux-Computer mit Internetverbindung haben, so dass Sie ihn in einem Internetcafe oder auf dem Computer eines Freundes verwenden können, der nur über Windows verfügt. - Arnel A. Borja
-qqOption scheint alle Ausgaben von zu unterdrücken apt-get update. Ich nehme an, du willst diese Option nicht wirklich. - Ruslan


Offline-Repository

Wie ein Offline-Repository erstellt wird, wird beschrieben Hier: Sie müssen nur die entsprechenden Dateien von herunterladen archiv.ubuntu.com. Alternativ könnten Sie verwenden apt-medium.

EDIT: Ein anderer Ansatz basierend auf einem lokalen Archiv von *.deb Dateien werden in verschiedenen Blogeinträgen beschrieben (siehe Hier und Hier). Sarath Chandra faßt wie folgt zusammen:

  1. Machen Sie ein Verzeichnis zugänglich (zumindest von root)

    sudo mkdir /var/my-local-repo
    
  2. Kopieren Sie alle Deb-Dateien in dieses Verzeichnis.

  3. Machen Sie das Verzeichnis als

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

    oder

    sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
    
  4. Fügen Sie den Quellen den lokalen Repo hinzu

    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





Schritt 1: Holen Sie sich die Download-URLs in eine Datei:

Führen Sie den folgenden Befehl aus, indem Sie Paketnamen durch erforderliche Leerzeichen ersetzen.

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

Schritt 2: Kopieren Sie diese Datei (apturls) auf eine Maschine mit Hochgeschwindigkeits-Internetzugang und führen Sie den folgenden Befehl zum Herunterladen der Pakete aus:

wget -i path-to-apturls-file 

Schritt 3: Holen Sie sich jetzt die heruntergeladenen Pakete auf Ihren Rechner und installieren Sie sie mit:

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

sudo dpkg -i *.deb

Erledigt!


18
2017-11-02 08:14



Tut --print-uris Drucken Sie sogar Abhängigkeiten, die bereits im System installiert sind? - yuric