GNU/Linux >> Znalost Linux >  >> Linux

Kdy a proč bych měl používat Apt-get Update?

Obecná otázka:

Mohl by někdo vysvětlit, co je příkaz apt-get update ano a kdy bych to měl opravdu použít?

Poznámky

Uveďte prosím podrobnou odpověď . Není to jen kopie manuálové stránky, pokud vaše verze není opravdu podrobná (jednu definici z manuálové stránky uvádím níže).

aktualizace apt-get :Používá se k opětovné synchronizaci souborů indexu balíků z jejich zdrojů. Indexy dostupných balíčků se stahují z umístění uvedených v /etc/apt/sources.list(5). Aktualizace by měla být vždy provedena před upgradem nebo dist-upgradem.

Dílčí otázky:

  • Kde je uložen index balíčku? Na databázi? V souboru?
  • Co se stane, když provedem apt-get install bez aktualizace mezipaměti? Existuje šance, že by vzdálený balíček již neexistoval a že by byl odkaz přerušen?
  • Existuje nějaká dohodnutá politika ohledně deb úložišť? Měl by repozitář například obsahovat pouze poslední verzi balíčku, nebo by naopak měl obsahovat všechny dostupné verze pro konkrétní distribuční verzi?

Kontext

Ptám se, protože studuji framework Docker. Jednou z jeho funkcí je Dockerfile , který vám umožňuje vytvořit určitý druh obrazu operačního systému provedením nějaké instrukce z tohoto souboru.
Jednou z vlastností tohoto obrazu je, že by měl být vždy stejný, bez ohledu na kontext (doba sestavení atd.).

Obávám se, že když spustím apt-get update příkaz v jiný čas, výsledek by byl jiný, a tak by se mé obrázky lišily.

Přijatá odpověď:

apt-get update stáhne seznam dostupných balíčků.

Seznam balíčků se může v průběhu času měnit. Nové balíčky jsou přidány a staré balíčky jsou odstraněny. Pokud tedy máte opravdu starou mezipaměť a pokusíte se provést apt-get install , může se pokusit stáhnout balíček, který již neexistuje.
Jak dlouho bude starý balíček uchováván v úložišti, záleží na správci repo (vaší distribuci). Pokud tedy používáte něco jako docker, kde může být mezipaměť velmi zastaralá, měli byste vždy spustit apt-get update před instalací jakýchkoli balíčků.

Důvodem pro odebírání a přidávání balíčků jsou většinou opravy chyb a aktualizace zabezpečení. Ačkoli pokud používáte repozitáře třetích stran, jako je PPA, jde všechno.

Související:Kdy se zobrazí chybová zpráva „pracovní místa:nenalezena“?

Když používáte něco jako docker pro kontejnerizaci v podnikovém prostředí, měli byste kontejner sestavit jednou a poté jej přesunout přes různá prostředí vydání (vývoj, příprava, výroba) a ne pokaždé znovu sestavovat kontejner. Tím zajistíte, že nezískáte jiný kontejner, který nebyl testován.

Chcete-li odpovědět na otázku, kde se nacházejí soubory mezipaměti, /var/lib/apt/lists .


Linux
  1. Kdy mám použít TCP_NODELAY a kdy TCP_CORK?

  2. Proč by se měl v Bash vyhnout eval a co bych měl místo toho použít?

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Kdy použít Bash a kdy Perl/Python/Ruby?

  2. Proč by člověk měl používat sudo?

  3. Proč používáme su – a nejen su?

  1. Antivirus na Linuxu:Měl bych jej skutečně používat a pokud ano, kdy jej potřebuji?

  2. Jak na to:Co je Git a Github? Jak to mám používat a proč by mě to mělo zajímat?

  3. Kdy bych měl použít koncové lomítko v adresáři?