Jak mogę zainstalować oprogramowanie lub pakiety bez Internetu (offline)?

257

Mam przyjaciela, który ma komputer, który nie jest podłączony do Internetu. Czy jest jakiś sposób na łatwą instalację oprogramowania offline?

akshatj
źródło
1
Poniższy link może być również dla Ciebie interesujący. askubuntu.com/questions/86358/…
starkus

Odpowiedzi:

129

Sprawdź Keryx ; to menedżer repozytorium offline.

Jak to działa? Umożliwia pobieranie aktualizacji i nowych programów (z zależnościami) na dysk flash .

Jego interfejs jest podobny do synaptic, ale działa z pendrive (nie wymaga instalacji). Niestety, GUI potrzebuje wxwidgets, które nie są fabrycznie instalowane na Ubuntu (są one przeznaczone dla różnych platform i można je stąd zainstalować , a tutaj repozytorium Ubuntu ). Może instalować oprogramowanie tylko w systemie Ubuntu, ale możesz pobierać aktualizacje lub nowe pakiety w dowolnym systemie Linux, Windows lub OS X.

Tutaj znajdziesz samouczek .

Kolejny szczegółowy samouczek krok po kroku znajduje się w tej odpowiedzi .

Launchpad obsługuje również pliki do pobrania .

Zrzut ekranu:

Wygaszacz ekranu

Javier Rivera
źródło
12
Keryx nie jest już opracowywany, jeśli próbujesz tego na nowszej wersji Ubuntu, użyj wersji przenośnej, aby uchronić się przed kłopotami związanymi z zależnościami.
Alex R
1
Nadal używam keryxbez problemów, chociaż wyraźnie wymaga dalszego rozwoju i ulepszeń.
carnendil
Co jeśli inny komputer offline nie ma gcc, g ++? Jest to świeżo zainstalowane Ubuntu. Jak mogę zainstalować wxwidgets? Bez wxwidgets narzeka na brakujący moduł ...
oferta nie może odmówić
3
Właśnie wydałem nową wersję Keryx ( 0.92.5 ), która może rozwiązać niektóre problemy. Skompilowana wersja powinna zawierać zależności, takie jak wxWidgets, i umożliwiać uruchamianie w systemie Windows bez problemów.
Michael Crenshaw,
57

Szybki hack

Szybki hack polega na skopiowaniu wszystkich pakietów pobranych do instalacji na jego komputer ( szczegółowe instrukcje tutaj ). Pliki .deb są przechowywane /var/cache/apt/archives, a następnie na innym komputerze uruchom Synaptic i wybierz File -> Add Package Downloadedi przeszukaj folder, w którym umieścisz pliki i otwórz je, zaakceptuj wszystko (lub zainstaluj z terminala za pomocą polecenia sudo dpkg -i DEB_PACKAGE_NAME).

UWAGA:
Zakłada się, że menedżer pakietów nie jest skonfigurowany do usuwania pakietów bezpośrednio po instalacji. Zakłada się również, że używasz tej samej wersji Ubuntu (10.10, 12.04 itd.) I wersji architektury (32b lub 64b) .


Repozytorium DVD

Jeśli chcesz uzyskać najnowsze poprawki błędów i łatki bezpieczeństwa, zapoznaj się z tym samouczkiem , który obejmuje tworzenie własnego repozytorium DVD.

jr0cket
źródło
2
Jeśli nie możesz uruchomić sudo apt-get update, nie zadziała to zbyt dobrze, nadal oszczędzasz czas podczas konfigurowania nowego systemu :)
GM-Script-Writer-62850 30.04.2013
Uzgodnione, właśnie zaktualizowałem dwa komputery do 13.10 z 13.04. Pierwszy z nich musiał pobrać ~ 1,8 Gb, skopiowanie zawartości /var/cache/apt/archivesdo drugiego spowodowało, że pobrano tylko ~ 250 Mb. Nadal potrzebujesz połączenia, aby uruchomić instalację.
Maxime R.
apt-get updatenie jest potrzebne, jeśli kopiujesz /var/lib/apt/lists- ten katalog zawiera informacje o repozytorium, które są pobierane przez apt-get update.
ignis
Skopiowałem moje .debdo mojego usbz /var/cache/apt/archives. Na drugim komputerze po prostu otworzyłem dysk USB i dwukrotnie kliknąłem ten, .debktóry uruchomił GUI Ubuntu Software Updater. Łatwy pezy.
Jacksonkr,
@ jr0cket: Czy jest jakiś sposób na uniknięcie pakietów w tym folderze, /var/cache/apt/archivesktóre już są (wbudowane), gdy instalowany jest Debian?. Powód, dla którego pytam o 4,8 GB, jest zbyt duży dla mojego napędu USB, który ma 4 GB.
justin
42

Repozytorium USB

Jeśli masz dysk USB o przyzwoitej wielkości - przy założeniu około 4–8 Gb (lub zewnętrznego dysku twardego), możesz skonfigurować niestandardową kopię repozytorium Ubuntu i skonfigurować go jako lokalne repozytorium zgodnie z AptGet / Offline / Repository na help.ubuntu .com.

Aby uzyskać rzeczywiste pliki pakietów (pliki .deb), sugeruję użycie apt-mirror.

apt-mirrorPakiet pomoże Ci stworzyć własny lustro, które powinny być mniejsze niż 30GB pełnego repozytorium. Zainstaluj pakiet:

sudo apt-get install apt-mirror

i edytuj plik konfiguracyjny

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

lub od wersji Ubuntu 14.04

gksudo gedit /etc/apt/mirror.list

Uwzględnij tylko te sekcje repozytorium, które chcesz. Oto prosty przykład, który kopiuje binarne pliki .deb ze wszystkich 4 sekcji (głównej, ograniczonej, uniwersalnej i wieloświatowej), a także najnowsze poprawki błędów.

# 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

Szacuje się, że będziesz potrzebować około 15 GB miejsca na wszystkie 4 sekcje, bez źródła.

Podałem ścieżkę dla wszystkich plików .deb /tmp, upewnij się, że masz wystarczającą ilość miejsca, aby twój dysk twardy się nie zapełnił (jeśli twój dysk się zapełni i komputer się zawiesi, /tmppowinien zostać wyczyszczony przy ponownym uruchomieniu).

Jeśli chcesz tylko główne pliki, usuń z pliku konfiguracyjnego nazwy zastrzeżone, uniwersalne i wieloświatowe.

Jeśli używasz innej architektury (masz wersję 64-bitową, ale twój znajomy ma wersję 32-bitową), dodaj poniższe na początku pliku konfiguracyjnego mirror.list :

set defaultarch i386

Po uzyskaniu apt-mirrorkonfiguracji, którą chcesz, uruchom apt-mirrori idź zrób coś zabawnego lub zmieniającego życie, ponieważ uzyskanie repozytorium zajmie godziny lub dni (w zależności od połączenia i używanego serwera lustrzanego Ubuntu).

Po utworzeniu plików .deb skopiuj je na pamięć USB (lub zewnętrzny dysk twardy) i skonfiguruj lokalne repozytorium zgodnie z wcześniej wspomnianym artykułem.

Sprawdź, czy działa, zanim przekażesz go znajomemu!

jr0cket
źródło
Pakiet apt-mirror jest dostępny pod adresem:: apt-mirror.sourceforge.net
jr0cket
Kiedy próbowałem sudo apt-get install apt-mirrorbezpośrednio na Ubuntu 16.10 (Yakkety Yak), edycja stacjonarna / Rufus / pamięć USB / tryb próbny, dostałem „ E: Unable to locate package apt-mirror”. Wystąpiło połączenie z Internetem, zweryfikowane przez ping.
Peter Mortensen
Uruchomienie sudo apt-get updatenie naprawiło tego.
Peter Mortensen
32

Używam do tego apt-get z opcją „--print-uris”. Dodam też „-qq”, żeby było cicho.

Użyj sed, aby usunąć dodatkowe znaki dodane do niektórych nazw plików (np. 3% 2a) oraz uzyskać adres URL, nazwę pliku i sumę plików md5. Użyj wget, aby pobrać pliki. Użyj md5sum, aby sprawdzić, czy pliki zostały poprawnie pobrane.

Możesz go użyć do utworzenia skryptu powłoki dla systemu Linux lub Mac OS (zamień „.cmd” w poleceniach na .sh i wykonaj „chmod a + x (nazwa pliku), aby dodać uprawnienia do wykonania skryptu) lub plik wsadowy polecenia systemu Windows oraz plik MD5Sum, aby upewnić się, że pliki zostały poprawnie pobrane.

Polecenia

Utwórz skrypt:

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

Przykłady:

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

Utwórz plik md5sum:

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

Przykłady:

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

Potrzebujesz md5sum dla Windows, jeśli używasz tego systemu operacyjnego do pobierania plików.


Utwórz skrypt, aby pobrać wykazy repozytoriów:

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

Sprawdzanie sum MD5

Możesz dodać je na końcach skryptów, aby sprawdzić md5sum:

Linux:

md5sum --quiet -c md5sum.txt

Windows (używa starszej md5sum, nie obsługuje --quiet):

md5sum -c md5sum.txt

Aby dodać automatycznie do skryptu:

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

Instalowanie plików list (polecenie aktualizacji)

Uruchom te polecenia na komputerze docelowym.

Musisz użyć bunzip2, aby wyodrębnić pliki listy repozytoriów:

bunzip2 *.bz2

Następnie skopiuj do folderu z listą (bieżący folder zawiera tylko pliki list):

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

Powyżej połączonych (bieżący folder może zawierać inne pliki):

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

Szybsze pobieranie

Jeśli chcesz przyspieszyć pobieranie plików, spróbuj użyć Axela.

Wymień wget -c ... -O ...się axel ... -o ....

Hierarchia folderów (pobieranie plików w systemie Windows)

Zwykle tworzę taki folder:

  • apt-get /
    • kosz/
      • msys-1.0.dll
      • msys-intl-8.dll
      • wget.exe
      • msys-iconv-2.dll
      • md5sum.exe
      • libeay32.dll
      • libintl3.dll
      • libssl32.dll
      • libiconv2.dll
    • aktualizacja/
      • update.cmd
      • md5sum.txt
    • zainstalować/
      • install-foo.cmd
      • install-bar.cmd
      • upgrade.cmd
      • md5sum.txt

Następnie zmień wgetpowyższe wiersze na ..\\bin\\wget.exe, md5sumna ..\\bin\\md5sum.exeitp.

Spowoduje to rozdzielenie plików * .deb i wyświetlenie listy plików w różnych folderach.

Aktualizacja twojego systemu

  1. Uruchom komputer docelowy, który używa Ubuntu
  2. Utwórz skrypt do aktualizacji
  3. Uruchom komputer z połączeniem internetowym
  4. Uruchom update.sh (dla systemu Linux lub Mac OS) lub update.cmd (Windows)
  5. Wróć do komputera docelowego
  6. Zainstaluj pliki listy
  7. Utwórz skrypt dla upgrade / dist-upgrade (dodaj komendy md5sum na końcu)
  8. Wróć do komputera z połączeniem internetowym
  9. Uruchom upgrade.sh/dist-upgrade.sh (Linux lub Mac OS) lub upgrade.cmd / dist-upgrade.cmd (Windows)
  10. Wróć do komputera docelowego
  11. Skopiuj pliki * .deb do pamięci podręcznej: sudo cp *.deb /var/cache/apt/archives/
  12. Uruchom: sudo apt-get upgradelubsudo apt-get dist-upgrade

Pobierz pliki wykonywalne dla systemu Windows

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

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

Możesz także użyć tych z MinGW , których używam. Potrzebujesz tylko wget.exe, md5sum.exe i niezbędnych bibliotek współdzielonych. Sprawdź sekcję „Hierarchia folderów”.

Notatki

  • Nie jestem do końca pewien, czy wszystkie powyższe polecenia będą działać, ponieważ nie używałem ich od miesiąca. Zwłaszcza polecenie aktualizacji, którego dzisiaj nie testowałem.
  • Aby łatwo zobaczyć wyniki poleceń, dodaj wiersz „pauza” na końcu skryptów, jeśli używasz systemu Windows.
  • Zalecam tworzenie skryptów powłoki w celu aktualizacji, aktualizacji i instalacji pakietów, jeśli często używasz tych poleceń.
Arnel A. Borja
źródło
3
Czy możesz stworzyć proste GUI do tego :)
Tachyons,
używanie do tego okien wydaje się bardzo dziwne ...
Alex R
1
Dotyczy to również Linuksa (co jest w rzeczywistości lepsze, ponieważ nie trzeba instalować md5sum i wget). Część dotycząca systemu Windows jest przeznaczona dla tych, którzy nie mają komputera z systemem Linux z połączeniem internetowym, więc można go używać w kafejce internetowej lub na komputerze znajomego, który ma tylko system Windows.
Arnel A. Borja,
-qqopcja wydaje się tłumić wszystkie dane wyjściowe z apt-get update. Przypuszczam, że tak naprawdę nie chcesz tej opcji.
Ruslan
29

Najpierw musisz uzyskać komputer z połączeniem internetowym, z którego można pobrać wymagane pliki .deb. Po pobraniu wszystkich plików możesz teraz utworzyć dysk CD / DVD ROM lub plik ISO, którego można użyć do zainstalowania oprogramowania pobranego na komputer w trybie offline.

Zacznij od czystej instalacji lub maszyny wirtualnej.
sudo apt-get install aptoncd

Zainstaluj żądane pakiety na jednym komputerze
sudo apt-get install gbrainy

Uruchom aptoncd
wprowadź opis zdjęcia tutaj
Kliknij Utwórz
wprowadź opis zdjęcia tutaj
Kliknij Nagraj i ustaw opcje, a następnie Zastosuj
wprowadź opis zdjęcia tutaj
Nagraj lub zapisz
wprowadź opis zdjęcia tutaj

Zauważ, że aptoncd tworzy kopie zapasowe tylko w bieżącej apt-cache.
Dlatego zaczęliśmy od czystej instalacji maszyny wirtualnej / nowej i zrobiliśmy to wszystko w jednym uruchomieniu.

RobotHumans
źródło
sooo, czy mówisz, że jeśli zrobię vm i zainstaluję wszystkie aplikacje, które chcę, to uruchom ten program, przenieś cd / dvd na komputer offline. i zainstaluje na nim wszystkie aplikacje?
Alex
2
Tak długo, jak używasz tego samego podstawowego nośnika systemowego. Jeśli wdrażasz biuro i chcesz szybkiego i prostego sposobu na dodanie czegoś, staje się to bardzo pomocne. Jeśli używasz pakietu create-meta, tak
RobotHumans
Przywracanie z obrazu wymaga zainstalowania Hal, ale jest przestarzałe i, o ile rozumiem, nie jest już obsługiwane.
Flashrunner
Istnieje kompilacja dla vivid code.launchpad.net/~ubuntu-branches/ubuntu/vivid/hal/vivid
RobotHumans
22

Repozytorium offline

Jak utworzyć repozytorium offline, opisano tutaj : Wystarczy pobrać odpowiednie pliki z archive.ubuntu.com . Alternatywnie możesz użyć apt-medium.

EDYCJA: Inne podejście oparte na lokalnej bazie *.debplików opisano w różnych wpisach na blogu (patrz tutaj i tutaj ). Sarath Chandra podsumowuje w następujący sposób:

  1. Udostępnij katalog (przynajmniej root)

    sudo mkdir /var/my-local-repo
    
  2. Skopiuj wszystkie pliki deb do tego katalogu.

  3. Utwórz katalog jako

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

    lub

    sudo dpkg-scanpackages /var/my-local-repo /dev/null | gzip -c9 > /var/my-local-repo/Packages.gz
    
  4. Dodaj lokalne repozytorium do źródeł

    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
    
tohuwawohu
źródło
20

Krok 1: Uzyskaj adresy URL pobierania w pliku:

Wykonaj następujące polecenie, zastępując nazwy pakietów wymaganymi, oddzielając je spacją.

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

Krok 2: Skopiuj ten plik (apturls) na maszynę, która ma szybki dostęp do Internetu i wykonaj następujące polecenie, aby pobrać pakiety:

wget -i path-to-apturls-file 

Krok 3: Pobierz te pobrane pakiety na swój komputer i zainstaluj je, używając:

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

sudo dpkg -i *.deb

Gotowy!

harisibrahimkv
źródło
Czy --print-urisdrukuje nawet zależności, które są już zainstalowane w systemie?
yuric
19

Możesz użyć Cube . Jest to przenośny menedżer pakietów, który pozwala pobierać pakiety na inny komputer podłączony do Internetu i instalować je z powrotem na oryginalnym komputerze z systemem Linux, offline.

Pobieranie aplikacji (w systemie Windows)

Instalowanie aplikacji (w systemie Linux)

Możesz pobrać go na stronie internetowej Cube .

Camicri
źródło
to jest .deb lub .exe?
2
Nie ma pliku .deb, ponieważ jest samodzielny, przenośny i można go uruchamiać bez instalowania (wystarczy uruchomić plik kostki-normalny). Cube.exe jest również dołączony dla użytkowników systemu Windows.
Camicri,
1
Więcej osób musi o tym wiedzieć. Kocham Cię.
howderek
Podczas uruchamiania tej aplikacji w systemie Windows 7 Ultimate pojawia się błąd. Obraz: i.stack.imgur.com/XW3wt.jpg Komunikat o błędzie: Podpis problemu: Nazwa zdarzenia problemu: CLR20r3 Podpis problemu 01: cube.exe Podpis problemu 02: 1.0.9.3 Podpis problemu 03: 54bd0258 Podpis problemu 04: glib-sharp Podpis problemu 05: 2.12.0.0 Podpis problemu 06: 517edc4c Podpis problemu 07: 1b4 Podpis problemu 08: 17 Podpis problemu 09: System.DllNotFoundException Wersja systemu operacyjnego: 6.1.7600.2.0.0.256.1 Identyfikator ustawień regionalnych: 16393
Sandeep
Witam i dziękuję za korzystanie z Cube. Niestety używana wersja kostki nie jest już utrzymywana. Użyj nowego, stabilnego serwera Cube Server: launchpad.net/cube-server. Zobacz zaktualizowaną odpowiedź powyżej.
Camicri
17

W synaptic możesz wybrać pakiety, które chcesz zainstalować, aw pierwszym menu jest opcja wygenerowania skryptu, który możesz zabrać na inną maszynę i tam uruchomić. Ten skrypt „wget” (tj. „Pobierze”) wszystkie określone pakiety, które chciałeś (i ich zależności), które uruchamiasz na komputerze, który ma dostęp do Internetu.

Po uruchomieniu będziesz mieć wszystkie pliki pakietów potrzebne odłączonemu komputerowi. Noś je na dysku CD / USB i zainstaluj je sudo dpkg -i *.deb.

Popey
źródło
to niezła sztuczka, ale proces ten wymaga 2 komputerów? hmmmm
Suhaib
@ Suhaib - nie jestem pewien, w jaki sposób chcesz pobrać potrzebne pakiety w żadnym wypadku bez „dwóch komputerów” ... potrzebujesz maszyny „online”, aby uzyskać pakiety, które w jakiś sposób wyślesz na maszynę offline (nawet jeśli jest to Maszyna wirtualna lub kontener Docker działający na innym systemie operacyjnym hosta lub kilka instrukcji curl/ wgetkopii na niektóre nośniki zewnętrzne ...
Cinderhaze
15

Możesz użyć apt-offlinelub apt-offline-gui.
Wymagania wstępne : System znajomego z połączeniem internetowym. apt-offline zainstalowany w obu systemach.

Instalacja offline odbywa się w 3 prostych krokach.

Krok 1 :
Wygeneruj plik podpisu w polu Disconnected Debian w domu
apt-offline set /tmp/apt-offline.sig
. Powyższe polecenie wygeneruje wszystkie informacje wymagane od apt o aktualizacji bazy danych.

Krok 2 :
Pobierz dane na podstawie wygenerowanego wcześniej pliku podpisu
apt-offline get C:\apt-offline.sig --threads 5
Powyższe polecenie pobierze dane, jak wspomniano w pliku podpisu. Aby przyspieszyć pobieranie (może to być z wielu repozytoriów apt), w tym przykładzie odradzamy 5 wątków pobierania.
Po zakończeniu możesz po prostu skopiować dane (plik archiwum, jeśli użyłeś opcji --bundle) z powrotem na nośnik wymienny i skopiować go z powrotem na hosta offline.

Krok 3 :
Po powrocie do domowej maszyny Debian podajesz dane z wymiennego nośnika do apt-offline:
apt-offline install /media/USB/apt-offline.zip
Spowoduje to bezproblemową aktualizację bazy danych APT na odłączonym komputerze.

Apt-offline może być nawet używany w systemach Windows. Moim zdaniem apt-offlinejest najlepszą opcją do instalacji offline.

Źródło

Hashken
źródło
Dwie spostrzeżenia: po pierwsze, wygenerowanie podpisu dla już zainstalowanego lub gotowego do zainstalowania pakietu „kończy się niepowodzeniem” w tym sensie, że plik .sig jest pusty. To trochę niepokojące, ale pozornie normalne. Po drugie, apt i apt-offline działają poprawnie tylko wtedy, gdy / var / lib / apt / list został poprawnie zaszczepiony. To dużo pracy, jeśli komputer docelowy i host mają różne architektury.
Urhixidur
Czy zarówno komputer źródłowy, jak i docelowy muszą mieć tę samą wersję Ubuntu?
Tulains Córdova
Jak zainstalować apt-offline na maszynie offline?
Sami Şimşekli
10

Istnieje kilka dobrych, skutecznych odpowiedzi wymienionych powyżej. Jest to jednak mechanizm, którego osobiście używam - apt-ftparchive . Dokumentuję to tutaj, na wypadek, gdy będę go potrzebować w przyszłości. Być może może ci się przydać.

Tworzenie migawki archiwum

  • Utwórz instancję Ubuntu, która ściśle naśladuje środowisko docelowe
    • Na przykład 64-bitowa instancja Ubuntu 12.04 w Amazon
  • Zacznij od czystego środowiska pakietowego
    • sudo apt-get clean
  • Zaktualizuj listy pakietów
    • sudo apt-get update
  • Pobierz wszystkie dostępne aktualizacje pakietów
    • sudo apt-get dist-upgrade --download-only
  • Pobierz wszystkie odpowiednie pakiety i zależności
    • sudo apt-get install --download-only byobu run-one bikeshed dotdee powernap
  • Zainstaluj narzędzie apt-ftparchive
    • sudo apt-get install apt-utils
  • Utwórz manifest pakietu
    • (cd /var/cache/apt/archives/ && sudo apt-ftparchive packages . ) | sudo tee /var/cache/apt/archives/Packages
  • Utwórz archiwum pakietów
    • sudo tar cvf snapshot.tar -C /var/cache/apt archives/

Korzystanie z migawki archiwum w systemie docelowym offline

  • Za pomocą jakiegoś mechanizmu będziesz musiał pobrać plik snapshot.tar ze źródła do systemu docelowego. Być może na pamięci USB lub w inny sposób.
  • Wypakuj archiwum w systemie docelowym (w tym przypadku w / home / ubuntu)
    • tar xvf snapshot.tar
  • Dodaj lokalne źródło offline do /etc/apt/sources.list
    • echo "deb file:/home/ubuntu/archives /" | sudo tee -a /etc/apt/sources.list
  • Zaktualizuj listę pakietów
    • sudo apt-get update
  • Zainstaluj pakiety zgodnie z potrzebami
    • sudo apt-get install byobu run-one bikeshed dotdee powernap
Dustin Kirkland
źródło
4

Do instalacji offline potrzebne będą pakiety. Jeśli używasz systemu Debian

  • Pobierz plik pakietu z .debrozszerzeniem i użyj go, dpkg -i package_nameaby go zainstalować
  • Pobierz źródłowy plik archiwum z rozszerzeniem .tar.gzlub .tar.bz2, a następnie wypakuj go i zainstaluj za pomocą:

    tar -zxvf your_pack.tar.gz` or tar `-jxvf your_pack.tar.bz2
    make
    sudo make install
    make clean        (optional, and may prevent uninstallation)
    

Możesz mieć problemy z zależnościami. Musisz zainstalować je wszystkie, aby instalacja w trybie offline przebiegła pomyślnie.

Harshit Chaudhary
źródło
2

Tak. Możesz pobrać płytę DVD ISO, nagrać ją na płytę DVD i zainstalować oprogramowanie z płyty DVD. Zobacz tutaj Płyty CD i DVD można podawać jako źródło menedżerom pakietów w taki sam sposób, jak archiwa online.

txwikinger
źródło
2

Pierwszą rzeczą, którą możesz zrobić przed instalacją pakietu offline, jest zaktualizowanie potrzebnego repozytorium / repozytoriów. Powinieneś na pewno zaktualizować główne repozytorium (darmowe i oficjalnie obsługiwane oprogramowanie).

Aplikacje, które chcesz zainstalować, mogą znajdować się w niektórych innych repozytoriach, takich jak Wszechświat (bezpłatne, ale nie oficjalne wsparcie), lub Ograniczone (niewolne, oficjalnie obsługiwane) lub Multiverse (niewolne, brak oficjalnego wsparcia) . Więc możesz chcieć jednego lub więcej z nich.

Pierwszym krokiem w tym procesie jest zbudowanie zaktualizowanego repozytorium offline; następnie wygeneruj listę „do pobrania” i pobierz ją, a na końcu izolację. Oto jak to się robi: źródło

  1. Wpisz adres URL: http://archive.ubuntu.com/ubuntu/dists/ suiteCodename, gdzie suiteCodename należy odpowiednio zastąpić, powiedz dokładnie dla Ubuntu 12.04 (Precise Pangolin) [lub utopic dla Ubuntu 14.10 (Utopic Unicorn)], abyś teraz znajdziesz się na stronie http://archive.ubuntu.com/ubuntu/dists/precise/ lub w dowolnym innym specyficznym dla posiadanego pakietu.

  2. Pobierz pliki Release , Release.gpg oraz Contents - ????. Gz dla swojej architektury (tzn. Contents-i386.gz , zakładając, że twoja architektura to i386). Zapisz te trzy pliki w katalogu / folderze nazwanym na cześć swojego SuiteCodename ( dokładnie dla Precise Pangolin).

  3. Następnie musisz wykonać następujące czynności dla każdego repozytorium (spośród Main, Universe, Restricted, Multiverse ), które chcesz.

    za. przejdź do katalogu repozytorium docelowego np. main, a następnie do katalogu architektury np. binary-i386 , abyś był w http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-????/

    b. pobierz zawartość Packages.bz2, Packages.gz, Release i zapisz je w katalogu o nazwie po nazwie repozytorium, np. main i umieść ten katalog we wcześniej utworzonym katalogu suiteCodename .

    do. powtórz a. oraz b. dla każdego z repozytoriów, które chcesz.

  4. Wreszcie powinieneś mieć taką strukturę:

     precise
     ├── Contents-i386.gz
     ├── main
     │   └── binary-i386
     │       ├── Packages.bz2
     │       ├── Packages.gz
     │       └── Release.txt
     ├── Release.gpg
     ├── Release.txt
     └── universe
         └── binary-i386
             ├── Packages.bz2
             ├── Packages.gz
             └── Release.txt
    

    (zakładając, że twoja nazwaKodu = = dokładna, architektura to i386 i potrzebujesz repozytoriów głównych i wszechświatowych)

  5. Następnie, po pobraniu zaktualizowanych repozytoriów, umieścisz pobrane pliki w odpowiedniej strukturze (jak pokazano powyżej) w katalogu docelowego komputera offline. Zapisz strukturę katalogów precisew folderze o nazwie offlineRepository / dists / exact w swoim domu użytkownika ( ~/offlineRepository/dists/precise) lub gdziekolwiek indziej ( /home/offlineRepository/dists/preciseużywając sudo w wersji na terminalu lub z uruchomionym menedżerem plików Nautilus gksu nautilus; upewnij się również, że masz odpowiednie uprawnienia do skopiowanej struktury) . Informacje z repozytorium offline byłyby wtedy gotowe do użycia.

  6. Dodaj lokalne repozytorium do listy źródeł . W Centrum oprogramowania Ubuntu przejdź do Edycja -> Źródła oprogramowania ... -> Inne oprogramowanie -> Dodaj ... a następnie w polu wiersza APT dodaj: deb file:///home/offlineRepository precise main universei kliknij Dodaj źródło . Upewnij się, że zmodyfikowałeś linię co do struktury katalogu / pliku i pakietu. Następnie ponownie załaduj pakiety lub uruchom sudo apt-get updatew terminalu. Snap1

  7. Teraz dzięki zaktualizowanym (i prawdopodobnie również nowo dodanym repozytoriom) możesz zrzucić listę adresów URL pakietów i zależności.

    Pożyczam następujący wiersz kodu z jednego z poprzednich postów askUbuntu:

    sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    na przykład. aby zainstalować Menedżera pakietów Synaptic:

    sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
    

    (Można również generować listy aktualizacji w podobny sposób.)

    Wygenerowaną listę można wykorzystać do pobrania pakietu i całych zależności na komputer online. Utwórz skrypt do pobrania lub użyj listy do pobierania wsadowego w niektórych menedżerach pobierania. (Zauważ też, że wygenerowany plik tekstowy używa zakończenia linii Unix / Linux i który możesz chcieć zmienić na Windows.) Był to łatwiejszy sposób, gdy Synaptic Package Manager był domyślną aplikacją w Ubuntu.

  8. Wreszcie w systemie docelowym możesz zainstalować pakiety za dpkgpomocą lub w inny sposób.

Pobieranie zaktualizowanej bazy danych pakietów, w tym aktualizacji zabezpieczeń

Poniższa struktura, oprócz powyższego wyjaśnienia, powinna dać ci pomysł:

/opt/offlineRepoList/
└── dists
    ├── precise
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release.txt
    │   ├── Release.gpg
    │   ├── Release.txt
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release.txt
    ├── precise-security
    │   ├── Contents-i386.gz
    │   ├── main
    │   │   └── binary-i386
    │   │       ├── Packages.bz2
    │   │       ├── Packages.gz
    │   │       └── Release
    │   ├── Release
    │   ├── Release.gpg
    │   └── universe
    │       └── binary-i386
    │           ├── Packages.bz2
    │           ├── Packages.gz
    │           └── Release
    └── precise-updates
        ├── Contents-i386.gz
        ├── main
        │   └── binary-i386
        │       ├── Packages.bz2
        │       ├── Packages.gz
        │       └── Release
        ├── Release
        ├── Release.gpg
        └── universe
            └── binary-i386
                ├── Packages.bz2
                ├── Packages.gz
                └── Release
precyzyjny
źródło
2

Po przejrzeniu odpowiedzi tutaj: Jak mogę zainstalować oprogramowanie lub pakiety bez Internetu (offline)? , Uważam ten kod za Arnel A. Borja za najbardziej przydatny.

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


Tak czy inaczej, oto kilka instrukcji dla kompletnych nowicjuszy. Mam nadzieję, że okażą się one przydatne.

Pełne instrukcje pobierania dla innych użytkowników Ubuntu 15.10+:

  1. Otwórz terminal (skrót CTRL + ALT + T)
  2. Przejdź do folderu, do którego chcesz pobrać pakiet, za pomocą polecenia:

    cd FOLDERNAME
    (Przykład: cd Desktop)
    Wskazówka: Można również użyć dirkomendy do listy folderów.

  3. W kodzie powyżej instrukcji zastąp PAKIET pakietem, który chcesz pobrać.
  4. Skopiuj i wklej zmodyfikowany kod (skrót CTRL + SHIFT + V) i naciśnij klawisz Enter

    Przykładowy kod do pobrania Menedżera pakietów Synaptic:
    sudo apt-get install synaptic --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

    Przykładowy kod do pobrania odtwarzacza VLC:
    sudo apt-get install vlc --print-uris -qq | sed -n "s/'\([^ ]\+\)' \([^ ]\+\) \([^ ]\+\) MD5Sum:\([^ ]\+\)/wget -c \1/p" > install.sh

  5. Jeśli zostaniesz o to poproszony, wpisz hasło roota i naciśnij Enter. (Nie panikuj, jeśli znaki hasła nie są wyświetlane. To tylko środki bezpieczeństwa.)
  6. Plik „install.sh” powinien zostać teraz wygenerowany. Wszystkie niezbędne zależności są zawarte w skrypcie.
  7. Teraz musimy uruchomić skrypt za pomocą tego polecenia:
    sh install.sh
  8. Poczekaj na pobranie plików
  9. Następnie możesz użyć tego polecenia, aby zainstalować wszystkie pakiety w folderze:

    sudo dpkg -i *.deb

    Lub możesz użyć programu takiego jak Synaptics do zainstalowania pakietów. (Synaptics: Plik - Dodaj pobrane pakiety)
    Możesz też kliknąć pliki dwukrotnie. To otworzy Centrum oprogramowania Ubuntu. Po załadowaniu centrum oprogramowania naciśnij przycisk instalacyjny. Powtarzaj tę czynność, aż wszystkie pliki w folderze zostaną zainstalowane.

GSM-S
źródło
2

Mam mały skrypt Pythona, który można uruchomić w systemie Windows, który analizuje stronę internetową pakietu ubuntu, aby znaleźć drzewo zależności i pobrać wszystkie potrzebne pakiety + przeprowadzić weryfikację sumy kontrolnej.

To może oczywiście pobrać więcej niż potrzeba, ale było to dla mnie najprostsze rozwiązanie.

https://gist.github.com/Zitrax/2bad212a3b0571357e1b

Następnie można pobrać wszystkie pobrane pakiety dpkg -i E pkg\*. Pozwala to uniknąć ponownej instalacji już zainstalowanych pakietów.

Stosowanie:

usage: ubuntu-deps.py [-h] [-a ARCH] [-r RELEASE] [-m MIRROR] [-f FALLBACK] [-d DIRECTORY] dep [dep ...]

Download ubuntu dependencies

positional arguments:
  dep                                  The main/top package

optional arguments:
  -h, --help                           show this help message and exit
  -a ARCH, --arch ARCH                 The architecture to use (default: amd64)
  -r RELEASE, --release RELEASE        Ubuntu release (default: trusty)
  -m MIRROR, --mirror MIRROR           Mirror to use for download (default: http://no.archive.ubuntu.com/)
  -f FALLBACK, --fallback FALLBACK     Mirror to use when main mirror is not found (default:
                                       http://security.ubuntu.com/)
  -d DIRECTORY, --directory DIRECTORY  Target directory (default: pkg)
Zitrax
źródło
2

W przypadku systemu, który zawsze będzie utrzymywany w trybie offline, zwykle najlepiej jest użyć jednej z niezawodnych metod zarządzania pakietami offline przedstawionych w innych odpowiedziach. Dzieje się tak, ponieważ ułatwiają aktualizowanie już zainstalowanych pakietów, zamiast instalować tylko kilka pakietów za jednym razem.

Jednak w pojedynczych przypadkach, gdy chcesz po prostu szybko zainstalować pakiety w systemie, który nie ma połączenia z Internetem (i masz możliwość pobrania ich na inny komputer i przeniesienia ich), możesz to zrobić. Główną komplikacją jest określenie, czego potrzebujesz, ponieważ pakiet często zawiera inne pakiety, od których zależy, i dlatego należy go zainstalować przed zainstalowaniem pakietu lub w tym samym czasie.

Ta odpowiedź jest motywowana przez duplikat pytania g ++ w Ubuntu 14.04 , a g++jego podstawowym przykładem jest konieczność instalacji .

Podkreślam, że ta metoda nie powinna być stosowana długoterminowo jako alternatywa dla czegoś, co przynajmniej ułatwia automatyczne określanie i instalowanie potrzebnych aktualizacji bezpieczeństwa. Nigdy nie łącząc się z siecią znacznie zmniejsza ryzyko ataku, ale niektóre błędy bezpieczeństwa można wykorzystać za pomocą danych z dowolnego źródła.

Chociaż ta metoda może wydawać się złożona, zwykle zajmuje to tylko kilka minut. W przypadku pakietów z dużą liczbą zależności może to potrwać dłużej. W przypadku instalowania metapakietów, które pobierają bardzo dużą liczbę zależności (np. W ubuntu-desktopminimalnym systemie), pobranie wszystkich niezbędnych plików .deb może potrwać znacznie dłużej, a ta metoda raczej nie będzie odpowiednia.

Określanie potrzebnych zależności

Możesz zasymulować instalację, aby określić, które inne pakiety są potrzebne do spełnienia zależności pakietu. Przekazanie -sflagi do apt-get( przed określeniem jakiejkolwiek akcji) robi to.

apt-get -s install g++

Pominąłem sudo, ponieważ jest to tylko symulacja, więc uprawnienia rootowania nie są potrzebne.

Jeśli chcesz zainstalować wszystkie najczęściej używane narzędzia do budowania pakietów, a nie tylko g++, możesz preferować:

apt-get -s install build-essential

Dane wyjściowe (for g++) będą wyglądać mniej więcej tak:

NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  g++-4.8 libstdc++-4.8-dev
Suggested packages:
  g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
  libstdc++-4.8-doc
The following NEW packages will be installed:
  g++ g++-4.8 libstdc++-4.8-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Inst libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Inst g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])
Conf libstdc++-4.8-dev (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++-4.8 (4.8.2-19ubuntu1 Ubuntu:14.04/trusty [amd64])
Conf g++ (4:4.8.2-1ubuntu6 Ubuntu:14.04/trusty [amd64])

Ten mówi, że aby zainstalować g++w moim systemie, muszę pakietów g++, g++-4.8oraz libstdc++-4.8-dev.

Przejście przez wyniki symulacji jest zwykle lepsze niż po prostu sprawdzenie zależności pakietu (lub założenie, że to, czego potrzebujesz, jest takie samo jak powyżej), ponieważ:

  1. Być może masz już zainstalowane pewne zależności.
  2. Zależności (tj. Inne pakiety, które pakiet musi zainstalować lub pracować) same mogą mieć zależności, których jeszcze nie zainstalowałeś.

Pobieranie paczek

Gdy wiesz, jakie pakiety potrzebujesz, możesz je pobrać. Sugeruję użycie do tego Launchpada, ponieważ pliki do pobrania są szyfrowane SSL, co pomaga zapobiec uszkodzeniu plików.

  • To nie jest tylko zabezpieczenie przed celową manipulacją przez złośliwą stronę; pomaga również zapobiegać przypadkowemu uszkodzeniu plików, co jest znacznie częstszym problemem w przypadku pobranych plików.
  • Jest jeden rodzaj, który nie zapobiega: gdy plik jest pobierany tylko częściowo, ale uważasz, że został zakończony.
  • Instalacja pakietu normalnie za pomocą apt-getlub Software Center nie wymaga HTTPS, ponieważ jego skrót jest weryfikowany na cyfrowo podpisanej liście skrótów. Jeśli w końcu umieścisz te pakiety w pamięci podręcznej pakietów i użyjesz ich apt-getdo zainstalowania, tak się stanie.
  • Ale jeśli w końcu będziesz musiał zainstalować ręcznie pobrane pakiety dpkg -i, nie będzie to możliwe.

Możesz wyszukać pakiet, wpisując jego nazwę w polu Pakiety na https://launchpad.net/ubuntu i klikając „Znajdź pakiet”. Na przykład wyszukiwanie g++-4.8powoduje przejście do strony pakietu źródłowego gcc-4.8 .

Następnie przewiń w dół do nazwy kodowej wersji Ubuntu. Masz 14.04, więc to jest Trusty Tahr. Nazwy kodowe wszystkich wydań Ubuntu są wymienione na stronie wiki wydań . Kliknij trójkąt skierowany w prawo, aby wyświetlić pobrane pakiety.

zrzut ekranu przedstawiający skierowany w prawo trójkąt, za pomocą którego rozwija się wydanie, aby zobaczyć pliki do pobrania

W przypadku niektórych pakietów możesz rozszerzyć listy pobrań z więcej niż jednej kieszeni . Możesz zobaczyć:

  • release , wersja pakietu dostarczona z wydaniem Ubuntu (lub dostępna w momencie wydania);
  • bezpieczeństwo , aktualizacje bezpieczeństwa wysłane po wydaniu;
  • aktualizacje , wszelkie aktualizacje wysłane po wydaniu;
  • proponowane aktualizacje, które są dostępne do zainstalowania, ale wciąż są w fazie testów i nie są zalecane do ogólnego użytku;
  • backports , oprogramowanie pochodzące z późniejszej wersji Ubuntu i przebudowane do wcześniejszej wersji.

Na przykład oto, co jest dostępne dla Firefoksa w 14.04:

Zrzut ekranu Launchpada pokazujący rozwijane opcje pobierania pakietów dla wielu kieszeni w tej samej wersji

Zasadniczo będziesz potrzebować pakietów zabezpieczających lub aktualizacji, jeśli takie istnieją, a w przeciwnym razie pakietów w wydaniu .

Po rozwinięciu listy pakietów znajdź .debplik dla swojej architektury. Debaty są nazywane . Najpopularniejsze architektury to:name_version_architecture.deb

  • 64-bitowy komputer PC / Mac (nazywany amd64, zarówno dla procesorów Intel, jak i AMD)
  • 32-bitowy komputer PC / Mac (nazywany i386również dla obu)

Na przykład, aby uzyskać g++-4.8pakiet dla 64-bitowej wersji Ubuntu, możesz pobrać g++-4.8_4.8.4-1ubuntu15_amd64.deb.

Instalowanie pakietów

Jeśli masz pakiety pobierane są same wersje , które apt-getjest installakcja będzie już automatycznie pobrane i zainstalowane (gdyby były połączone sieciowo systemu), a następnie można umieścić w pakiety /var/cache/apt/archivesi po prostu uruchomić to polecenie:

sudo apt-get install g++

Jeśli ten system nigdy nie był podłączony do Internetu, prawdopodobnie tak będzie, gdy wszystkie pakiety, które odzyskałeś, pochodziły z kieszeni wydania . Niezależnie od tego, czy system był kiedykolwiek podłączony do Internetu, prawie zawsze tak będzie, jeśli na Launchpad nie zostaną wyświetlone żadne pakiety w innych kieszeniach. (Zasadniczo jedyna taka sytuacja nie będzie, jeśli zainstalujesz system alfa lub beta i nigdy go nie zaktualizujesz).

W konkretnym przypadku instalacji g++skorzystałbym apt-get.

W przypadkach, gdy to nie działa lub oczekujesz, że nie zadziała, zainstaluj pakiety, umieszczając je w innym pustym folderze i uruchamiając:

sudo dpkg -Ri /path/to/folder

Lub możesz nazwać paczki indywidualnie. W tym przykładzie założono, że pakiety znajdują się w bieżącym katalogu (tzn. Że cdprzeszedłeś do katalogu zawierającego je):

sudo dpkg -i package1.deb package2.deb ...

O ile liczba instalowanych pakietów nie jest bardzo mała i nie znasz dokładnej kolejności, w jakiej należy je zainstalować, aby zależności były spełnione, znacznie skuteczniejsze jest stosowanie tych metod niż ręczne instalowanie każdego pakietu osobno.

Eliah Kagan
źródło
1

Jeśli nie masz żadnego połączenia z Internetem i nie masz nikogo w pobliżu, gdzie możesz połączyć się z Internetem, istnieje opcja, o której jeszcze nie wspomniano: niech ktoś wyśle ​​pliki źródłowe zwykłą pocztą.

Cały system operacyjny Ubuntu można uzyskać pocztą, płacąc za DVD. W ten sam sposób możesz poprosić znajomego on-line o przesłanie ci plików DEB, a nawet plików źródłowych pakietu takiego jak VLC. Chociaż może być warte wysłania kompletnego DVD ze wszystkimi paczkami. W ten sposób możesz zainstalować go z tego DVD.

Rinzwind
źródło
0

To nie jest do końca szczegółowa odpowiedź, ale na wysokim poziomie możesz:

  1. pobierz żądane paczki .deb (i utwórz ich listę) (dołącz pakiety, od których zależą, które nie są jeszcze zainstalowane)
  2. utwórz apt apt, który je zawiera
  3. skopiuj archiwum apt na CD lub USB
  4. włóż dysk CD lub USB do systemu docelowego
  5. skonfiguruj apt w systemie docelowym, aby dołączał archiwum apt CD lub USB jako źródło
  6. zainstaluj pakiety z listy za pomocą apt-get install (lista pkgs)
kyleN
źródło
0

Proponuję dostosować Live CD i zainstalować je.

Możesz także pobrać pliki ze strony http://packages.ubuntu.com/ nazwa_pliku , ale musisz także zwrócić uwagę na zależności.

Jakob
źródło
(Pierwotnie była to odpowiedź na nieco inne pytanie, które połączyło się z tym pytaniem.)
Jakob
Praca
polegająca na
0

Inną możliwością jest użycie remastersys. To narzędzie pozwala na tworzenie obrazu ISO z własnego systemu, a po utworzeniu bootowalnej pamięci USB poprzez unetbootin możesz zainstalować dostosowany system na dowolnej liczbie komputerów.

mieszaniec
źródło
Ale jak je później zaktualizować?
Eliah Kagan
0

Mam kilka prostych sugestii. Możesz iść do biblioteki. W sekcji dotyczącej komputera wyszukaj odpowiedni system operacyjny, niektóre książki zawierają dyski DVD. Ponadto, jeśli chcesz mieć najnowszy system operacyjny, polecam tę stronę internetową, na której możesz kupić DVD za symboliczną opłatą. www.ubuntu.com/download/desktop.

BJsgoodlife
źródło
0

To pytanie jest trochę stare, więc odpowiedź może być w tej chwili zbędna, ale być może możesz spróbować użyć dpkg-offline . Zainstaluj bzr, a następnie:

bzr branch lp:dpkg-offline

zawiera samouczek i plik readme.

Zakładając, że chcesz zainstalować git na systemie Ubuntu 14.04 amd64, nawet jeśli twój system to np. 12.04 i386, możesz:

  • pobierz obraz ubuntu-14.04-desktop-amd64.iso
  • Biegać dpkg-offline ubuntu-14.04-desktop-amd64.iso git
  • Otrzymasz tar.gz, który możesz przetransportować do systemu docelowego, będzie on zawierał pakiet początkowy (git) i wszystkie jego zależności. Zawiera również skrypt pomocnika, aby dodać lokalne repozytorium, dzięki czemu można użyć apt-getdo zainstalowania pakietów.

dpkg-offline będzie działał z dowolną wersją Ubuntu od 10.04 (nie testowałem ze starszymi wersjami, ale powinny one również działać), a także z dowolną wersją serwera Ubuntu od 12.10. Powinien także działać z obrazami amd64, i386 i armhf, niezależnie od architektury hosta. Ponownie nie testowałem z arm64 lub powerpc / ppc64el, ale mogą również działać.

Uwaga: Napisałem dpkg-offline.

roadmr
źródło
To wspaniale, ale myślę, że przesada pobrać całą dystrybucję, aby użyć skryptu, szkoda, że ​​nie mogłaby działać tylko poprzez podanie wymaganych pakietów i dystrybucji docelowej
Javier López
0

Niektóre pakiety są instalowane na pendrivie USB. Odinstalowałem network-manageri chcę zainstalować ponownie.

W ten sposób dostałem kij, z którego zainstalowałem system operacyjny (Lubuntu 17.10). To było/dev/sdb

Zamontuj drążek na ścieżce ( /tmp/mntw moim przypadku)

mkdir /tmp/mnt
sudo mount /dev/sdb1 /tmp/mnt

Następnie edytuję, /etc/apt/sources.listaby zawierał tylko

deb file:///tmp/mnt/ main universe

Tak robię

sudo apt-get update

I mogę zainstalować network-manager.

Uwaga: To może nie być odpowiedź na powyższe pytanie, ale na pytanie, które miałem, patrząc na to pytanie.

Użytkownik
źródło
1
Prawdopodobnie powinieneś również wykonać kopię zapasową, sources.lista następnie przywrócić ją.
Chai T. Rex,