Co robi "sudo apt-get update"?

448

Zastanawiam się, co robi sudo apt-get update ?

Co to jest aktualizacja?

    
zadawane Elysium 27.11.2012, 01:07
źródło

9 odpowiedzi

477

W skrócie, apt-get update tak naprawdę nie instaluje nowych wersji oprogramowania. Zamiast tego aktualizuje listę pakietów dla aktualizacji pakietów, które wymagają aktualizacji, a także nowe pakiety, które właśnie trafiły do ​​repozytoriów.

  • apt-get update pobiera listy pakietów z repozytoriów i "aktualizuje" je, aby uzyskać informacje o najnowszych wersjach pakietów i ich zależnościach. Zrobi to dla wszystkich repozytoriów i PPA. Z linku :

      

    Używany do ponownej synchronizacji plików indeksu pakietów ze źródeł. Indeksy dostępnych pakietów są pobierane z lokalizacji określonych w /etc/apt/sources.list (5). Aktualizację należy zawsze wykonać przed aktualizacją lub dist-upgrade.

  • apt-get upgrade pobierze nowe wersje pakietów istniejących na komputerze, jeśli APT wie o tych nowych wersjach za pomocą apt-get update .

    Z linku :

      

    Używane do instalowania najnowszych wersji wszystkich pakietów aktualnie zainstalowanych w systemie ze źródeł wyliczonych w /etc/apt/sources.list (5). Pakiety aktualnie zainstalowane z nowymi dostępnymi wersjami są pobierane i uaktualniane; w żadnym wypadku nie są usuwane aktualnie zainstalowane pakiety, ani też pakiety, które nie zostały jeszcze zainstalowane i zainstalowane. Nowe wersje aktualnie zainstalowanych pakietów, które nie mogą zostać uaktualnione bez zmiany statusu instalacji innego pakietu, pozostaną w ich aktualnej wersji. [Emphasis mine] Aktualizację należy wykonać najpierw, aby apt-get wiedział, że dostępne są nowe wersje pakietów.

  • apt-get dist-upgrade wykona to samo zadanie co apt-get upgrade , a także inteligentnie obsłuży zależności, więc może usunąć przestarzałe pakiety lub dodać nowe. Zobacz tutaj: Co to jest "dist- upgrade "i dlaczego uaktualnia się bardziej niż" upgrade "?

    Z linku :

      

    Oprócz wykonywania funkcji aktualizacji, ta opcja inteligentnie obsługuje zmiany zależności z nowymi wersjami pakietów; apt-get ma "inteligentny" system rozwiązywania konfliktów i podejmie próbę uaktualnienia najważniejszych pakietów kosztem mniej ważnych, jeśli zajdzie taka potrzeba.   Plik /etc/apt/sources.list (5) zawiera listę lokalizacji z   który ma pobrać żądane pliki pakietów. Zobacz także apt_preferences (5), aby uzyskać mechanizm nadpisywania ogólnych ustawień dla poszczególnych pakietów.

Możesz łączyć polecenia z && w następujący sposób:

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

lub aby uzyskać najnowsze wersje możliwe zgodnie z wymaganiami zależności zależności:

sudo apt-get update && sudo apt-get dist-upgrade

Potrzebujesz sudo za każdym razem, ale ponieważ sudo domyślnie nie monituje cię w ciągu 5 minut od ostatniej operacji sudo , zostaniesz poproszony o podanie hasła tylko raz (lub w ogóle nie ).

    
odpowiedział hexafraction 27.11.2012, 01:17
źródło
42

Wyszukiwarka Google może podać definicję prawie każdego polecenia terminalu, tak jak można --help w terminalu. Na przykład

apt-get --help

sudo apt-get update zasadniczo składa się z trzech części:

sudo

wykonuje następujące polecenie z funkcjami super-użytkownika (root). Wiele czynności wymagających modyfikacji plików systemowych lub instalowania aplikacji wymaga dodatkowych uprawnień.

apt-get

to narzędzie wiersza poleceń, które Ubuntu używa do instalowania, usuwania i zarządzania pakietami oprogramowania

update

jest opcją do użycia programu apt-get, który aktualizuje listy pakietów z serwera w Internecie. Listy pakietów dostarczają narzędzie apt-get z ważnymi informacjami o pakietach oprogramowania, które można zainstalować przy użyciu apt-get. apt-get używa tych list, aby określić, które oprogramowanie zainstalować po wydaniu polecenia instalacji. Na przykład

sudo apt-get install guake

zainstalowałoby terminal Guake, ponieważ jest on obecnie wymieniony na listach lokalnych programów mojego komputera. Może to jednak nie być odpowiednia wersja lub jeśli program jest nowy, może w ogóle nie być dostępny. Dlatego podczas instalowania oprogramowania za pomocą apt-get zwykle wpisujesz

sudo apt-get update
sudo apt-get install <package>

zapewnienie, że apt-get wie, aby zainstalować najnowszą wersję pakietu.

Kolejnym przydatnym źródłem informacji jest strona help.ubuntu.com . Jeśli na przykład przeszukasz tę witrynę pod kątem apt-get , jako jeden z wyników znajdziesz AptGet / Howto .

    
odpowiedział Alex 27.11.2012, 01:16
źródło
18

Uruchomienie sudo apt-get update zapewnia, że ​​twoja lista pakietów ze wszystkich repozytoriów i PPA jest aktualna. Jeśli nie uruchomisz tego polecenia, możesz uzyskać starsze wersje różnych instalowanych pakietów lub, co gorsza, problemy z zależnościami. Jeśli właśnie dodałeś PPA i nie zaktualizowałeś, nic z PPA nie zadziała, ponieważ nie masz listy paczek z tego PPA lub repozytorium.

W skrócie: Zaleca się wysoce , aby uruchomić sudo apt-get update przed instalacją, ale może zostać pominięty, jeśli jesteś naprawdę wciśnięty na czas , chyba że zmieniłeś repozytorium lub PPA od ostatniego apt-get update .

    
odpowiedział hexafraction 06.06.2012, 01:21
źródło
12

Przed instalacją nowych pakietów musisz uruchomić apt-get update , ponieważ spowoduje to aktualizację informacji o lokalnym repozytorium. Jeśli zamierzasz instalować wiele pakietów krótko po sobie, nie musisz uruchamiać apt-get update . Możesz także zainstalować wiele pakietów naraz, jeśli wpiszesz sudo apt-get install package1 package2...

    
odpowiedział Jason Petrilla 06.06.2012, 01:23
źródło
10

Aktualizuje listę dostępnych programów na twoim komputerze.

Twój komputer ma listę (taką jak katalog), która zawiera całe dostępne oprogramowanie dostępne dla serwerów Ubuntu. Jednak dostępne oprogramowanie i wersje mogą ulec zmianie, więc "aktualizacja" trafi na serwer i zobacz, jakie oprogramowanie jest dostępne, aby zaktualizować lokalne listy (lub katalogi).

Zwróć uwagę, że update różni się od upgrade . Aktualizacja, jak wspomniano powyżej, pobierze dostępne oprogramowanie i zaktualizuje listy, a upgrade zainstaluje nowe wersje oprogramowania zainstalowanego na komputerze (rzeczywiste aktualizacje oprogramowania).

Aby zaktualizować oprogramowanie (nie "zaktualizować" list), należy wykonać polecenie

sudo apt-get upgrade

, które jest zwykle wykonywane po "aktualizacji".

    
odpowiedział Sam 27.11.2012, 01:21
źródło
4

Kiedy instalujesz pakiety z wiersza poleceń z sudo apt-get install ... (lub sudo aptitude install ... ) lub gdy aktualizujesz je z wiersza poleceń (z upgrade lub dist-upgrade zamiast install ), poniższe informacje jest uzyskiwany z konfiguracji twojego lokalnego systemu i nie z Internetu:

  1. jakie pakiety są dostępne

  2. jakie wersje są dostępne

  3. gdzie należy pobrać dostępne pakiety z

Uruchomienie sudo apt-get update (lub sudo aptitude update ) aktualizuje to w systemie lokalnym. Jest to krok, który faktycznie pobiera informacje o tym, jakie pakiety mogą być zainstalowane, w tym, jakie aktualizacje aktualnie zainstalowanych pakietów pakietów są dostępne ze źródeł internetowych.

Podczas instalowania pakietów za pomocą interfejsu GUI (Menedżer aktualizacji, Centrum oprogramowania lub Menedżer pakietów Synaptic), praca sudo apt-get update jest wykonywana automatycznie. Kiedy instalujesz pakiety z wiersza poleceń, tak nie jest i zawsze powinieneś to robić sam , chyba że zrobiłeś to bardzo niedawno .

Ponieważ informacje o tym, jakie zaktualizowane wersje pakietów są dostępne, można uzyskać, uruchamiając sudo apt-get update (lub sudo aptitude update ), zaleca się uruchomienie tego przed zainstalowaniem jakiegokolwiek pakietu i konieczne do uruchomienia go w celu zainstalowania najnowszych aktualizacji, < em> nawet jeśli nie dodałeś ani nie usunąłeś żadnych źródeł oprogramowania (takich jak PPA) .

Należy pamiętać, że jeśli zamierzasz wykonywać wiele operacji zarządzania pakietami w tym samym czasie, nie musisz uruchamiać sudo apt-get update przed każdym. Dopiero jeśli informacje nie były przez jakiś czas aktualizowane, należy je uruchomić.

    
odpowiedział Eliah Kagan 06.06.2012, 01:59
źródło
4

Jak wspomniano powyżej Eliah Kagan, można się spodziewać , że aplikacja GUI uruchomi apt-get update przed apt-get install / apt-get upgrade , ale właśnie odkryłem interesujący błąd 404, na stosunkowo nowym maszyna VM do ofensywnego bezpieczeństwa, która mnie przez chwilę zaskoczyła.

Z wiersza poleceń uruchomiłem apt-get update , a następnie ponownie wypróbowałem polecenie Narzędzia systemowe / Aktualizacja oprogramowania i tym razem działało bez błędów 404.

Sądzę, że nie zawsze można założyć, że apt-get update jest uruchamiany z aplikacji GUI ...

    
odpowiedział mikepratt 02.04.2015, 04:58
źródło
2

Jak powiedziało mnóstwo osób przede mną, aktualizuje to twoje lokalne repozytorium (listę pakietów).

Możesz napotkać kłopoty, jeśli spróbujesz zainstalować

apt-get install foobar

i foobar lub zależność nie mają najnowszej wersji w repozytorium. Może to być szczególnie problematyczne w przypadku ręcznego instalowania pliku .deb lub ppa od strony trzeciej.

Zasadniczo upewnia się, że twoja lista jest zgodna z listą wzorcową .

    
odpowiedział N8tron 06.06.2012, 01:38
źródło
2

Rozważmy przykład zainstalowania odtwarzacza multimediów VLC w systemie Ubuntu:

sudo apt-get update

Sprawdza repozytoria pod kątem dostępnych aktualizacji.

Natomiast

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

zainstaluje odtwarzacz multimediów VLC z repozytoriów, których szukaliśmy.

Jeśli zalogowałeś się jako użytkownik root (administrator), nie musisz używać sudo , ponieważ masz już uprawnienia superużytkownika.

    
odpowiedział Praveen Vinny 27.11.2012, 08:24
źródło

Przeczytaj inne pytania na temat tagów