Jak wygenerować listę pobierania pakietów?

10

Chcę wygenerować listę pobierania pakietów, której można użyć do pobrania tych pakietów z innego systemu. (Mam wolne połączenie) . Chcę użyć pobranych plików do utworzenia lokalnego repozytorium, z którego mogę zainstalować / zaktualizować swój system.

Jak mogę to osiągnąć?

Anwar
źródło

Odpowiedzi:

16

Po pierwsze, musisz mieć zaktualizowane indeksy pakietów (te indeksy są używane przez oprogramowanie do zarządzania pakietami, aby uzyskać informacje o dostępnych pakietach online) . Musisz więc pobrać przynajmniej te pliki indeksu.

Aby to zrobić, otwórz terminal i wydaj to polecenie. (Musisz mieć działające połączenie internetowe do tego kroku)

sudo apt-get update 

Po utworzeniu plików indeksu pakietu aktualizacji użyj dowolnej z poniższych metod:

Terminal sposób bez synaptic

Użyj tego polecenia, aby wygenerować listę plików potrzebnych do uaktualnienia systemu

sudo apt-get upgrade --allow-unauthenticated -y --print-uris | grep -o '\'http.*\' | tr "\'" " " > download-list 

Plik download-listzostanie utworzony w bieżącym folderze terminala.

Lub jeśli chcesz wygenerować skrypt pobierania dla określonego pakietu, użyj tego polecenia (zobacz inne polecenie poniżej w sekcji aktualizacji)

sudo apt-get install <package-name> --allow-unauthenticated -y --print-uris | grep -o '\'http.*\' | tr "\'" " " > download-list

zamień na <package-name>rzeczywistą nazwę pakietu. takich jak gtgzdobywanie gnomów itp.

Możesz teraz użyć tego pliku, aby nakarmić dowolnego menedżera pobierania obsługującego pliki wejściowe z adresami URL.

Na przykład, aby użyć tego pliku za wgetpomocą poniższego polecenia,

wget -c -i ./download-list

zakładając, że download-listplik znajduje się w bieżącym katalogu terminala. Pobrane pliki zostaną zapisane w bieżącym katalogu roboczym terminala.

Aktualizacja: Znalazłem inne polecenie do wygenerowania listy pobierania pakietów:

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

Źródło zaktualizowanego polecenia: odpowiadający na ten post


Graficzny sposób przy użyciu Synaptic

Menedżer pakietów Synaptic ma wbudowaną funkcję generowania skryptu pobierania pakietu i nawet nie musisz jawnie używać wget w terminalu, wystarczy wykonanie skryptu.

Procedura jest następująca

  1. Zainstaluj Menedżera pakietów Synaptic za pomocą terminala:

     sudo apt-get update 
     sudo apt-get install synaptic
    

    (Pierwsze polecenie nie jest wymagane, jeśli zaktualizowałeś pliki indeksu pakietów, jeśli nie masz pewności, użyj obu) .

  2. Następnie otwórz Menedżera pakietów Synaptic, wpisując Synaptic w myślniku.

  3. Wybierz pakiet w prawej części okna, kliknij prawym przyciskiem myszy → Oznacz go do instalacji . Alternatywnie, jeśli chcesz wygenerować skrypt aktualizacji, naciśnij przycisk Oznacz wszystkie aktualizacje na pasku narzędzi. Poniższy obraz przedstawia drugą metodę.

    obraz przycisku aktualizacji

  4. Na pytanie, czy chcesz oznaczyć dodatkowe wymagane zmiany , naciśnij przycisk Oznacz.

    obraz okna dodatkowego znaku

  5. Następnie przejdź do Plik -> Wygeneruj skrypt pobierania pakietu , zapisz skrypt jako plik, nadając mu nazwę i wybierz katalog, w którym chcesz go zapisać. Teraz masz skrypt do pobierania pakietów.

Jeśli chcesz pobrać, przejdź do katalogu skryptów i uruchom sh ./<script-name>. Na przykład, jeśli nazwa skryptu to download-listi znajduje się w folderze Pobrane , polecenie to

cd ~/Downloads && sh ./download-list
Anwar
źródło
0

Synaptic ma również pozycję menu do eksportowania wybranych pakietów do pliku.

użytkownik72421
źródło