Чи обов’язкове оновлення sudo apt-get update перед кожною установкою пакета?


21

Я знаю, яка мета команди оновлення, і мені було просто цікаво, чи потрібно використовувати її перед встановленням будь-якого пакета, який я виконую. Що робити, якщо я не надто довго оновлювався та встановлював критичні пакети? Крім того, чи є привід, щоб цього не потрібно було робити?

Відповіді:


20

Ваша копія Ubuntu має приватну копію списку пакетів, які знаходяться у сховищах Ubuntu. Коли ви встановлюєте пакет, він apt-getзчитує список і визначає URL-адресу пакета для завантаження (який, як правило, містить інформацію про версію пакета).

apt-get updateоновлює списки пакетів. Якщо ви не зробите це перед встановленням, apt-getви можете поскаржитися, що він не може знайти пакунок у сховищі, оскільки він обчислював URL-адресу, грунтуючись на старій версії списку (в якій перелічена старіша версія пакету).

Звичайно, apt-get updateце необхідно після того, як ви змінили сховища, оскільки системі потрібно завантажити список для нових сховищ.

Перед оновленням встановлених пакетів важливо, оскільки система не може знати, чи є у repo нову версію пакета, якщо вона не має оновлену копію списку пакунків.

Немає причини не запускатись apt-get updateперед встановленням пакету. Однак це не обов'язково, якщо ви знаєте, що жодна нова версія цього пакету та його залежностей не доступна для дзеркал з останньої apt-get update. Особливим випадком цього є те, коли списки пакетів актуалізовані, що проходить через досить короткий час з моменту останнього apt-get update; це означає, що всі пакунки на дзеркалі є такою ж версією, як були.

Список пакунків змінюється щоразу, коли пакет оновлено на дзеркало. Неможливо передбачити, наскільки часто вона змінюється, взагалі, без посилання на конкретний випуск або звіт про помилки, або не слідкуючи за розробкою цього випуску Ubuntu.


"Список пакетів оновлений (що проходить через досить короткий час з часу останнього оновлення apt-get" - наскільки короткий час? Як часто змінюються списки пакунків? Що може змінювати списки пакетів?
joshreesjones

@ mathguy54 відповідь оновлена. На практиці я запускаю оновлення apt-get щоразу, коли отримую 404 помилки ("файл не знайдено") під час завантаження пакетів.
ignis

"Ubuntu має приватну копію списку пакетів, які знаходяться у сховищах Ubuntu" - де цей список? Я хотів би її прочитати. Дякую за чудову інформацію.
joshreesjones

@ Mathguy54 Ви можете прочитати файли , що закінчуються в *_Packagesвідповідно /var/lib/apt/lists/з текстовим редактором, проте один , як правило , має більш розширений пошук з інструментами управління пакетами, наприкладapt-cache show/policy/etc.
Ignis

3

Вам не потрібно абсолютно використовувати команду оновлення перед встановленням пакету, але якщо ви цього не зробите, ви можете закінчити оновлення пакета відразу після його встановлення.

Також пам’ятайте, що вам потрібно регулярно оновлювати систему. Якщо ви не перебуваєте під вашим комп’ютером, ви будете ризикувати (у вас не буде останніх патчів безпеки).


3

Якщо ви тільки що додали сховище програмного забезпечення (сховище PPA або Debian), вам доведеться запустити apt-get updateопитування сховища і по суті додати будь-які пакети до нього до списку доступного програмного забезпечення APT. В іншому випадку APT не розпізнає ім'я пакету, який ви скажете йому встановити.

Встановлюючи нове програмне забезпечення за допомогою командного рядка, корисно оновити інформацію сховища, щоб не встановлювати програмне забезпечення лише для того, щоб виявити, що воно застаріло. Це стосується і оновлення програмного забезпечення.

Якщо ви використовуєте графічний метод встановлення або оновлення програмного забезпечення, наприклад, Центр програмного забезпечення Ubuntu або Менеджер оновлення відповідно, ці клієнти автоматично перевірять наявність абсолютних останніх версій пакетів.

З цього приводу, якщо ви встановлюєте пакет програмного забезпечення і виконуєте оновлення за кілька хвилин або навіть кілька годин до цього, швидше за все, ви отримаєте останню версію. Однак, якщо ви встановлюєте тип програмного забезпечення, яке часто оновлюється (наприклад, альфа / бета-версія або програмне забезпечення, що кровоточить), вам потрібно буде запустити оновлення перед тим, як отримати щось із сховища цього програмного забезпечення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.