Что делает & ldquo; sudo apt-get update & rdquo; делать?

Мне интересно, что делает sudo apt-get update?

Что он обновляет?

1
задан 31 August 2014 в 10:34

8 ответов

Поиск в Google может дать вам определение почти для любой команды терминала, а также --help в терминале. Например,

apt-get --help

sudo apt-get update по существу состоит из трех частей:

sudo

выполняет следующую команду с возможностями суперпользователя (root).

apt-get

- это инструмент командной строки, который Ubuntu использует для установки, удаления и управления пакетами программного обеспечения

[ f4]

- это опция для программы apt-get, которая обновляет списки пакетов с сервера в Интернете. Списки пакетов предоставляют утилите apt-get важную информацию о пакетах программного обеспечения, которые вы можете установить с помощью apt-get. apt-get использует эти списки, чтобы определить, какое программное обеспечение необходимо установить, когда предоставляется команда для установки. Например,

sudo apt-get install guake

установит терминал Guake, поскольку он в настоящее время указан в локальных списках программного обеспечения моего компьютера. Однако это не может быть подходящей версией, или если программа новая, она может быть недоступна вообще. Таким образом, при установке программного обеспечения с apt-get вы обычно набираете

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

, гарантируя, что apt-get знает, как установить самую последнюю версию пакета.

Еще один полезный источник для информация - сайт help.ubuntu.com. Например, если вы искали этот сайт для apt-get, вы бы нашли AptGet / Howto в качестве одного из результатов.

42
ответ дан 25 May 2018 в 03:56
  • 1
    Алекс, могу ли я в основном использовать команду, как вы ее выразили: & apt-get update apt-get install & lt; package & gt; " В основном 2 вещи могут быть выполнены, просто набрав 2 команды вместе так? – Elysium 27 November 2012 в 06:46
  • 2
    @Elysium Да, если у вас есть && между ними как sudo apt-get update&&sudo apt-get install foo bar baz – hexafraction 27 November 2012 в 06:48
  • 3
    Использование && означает, что вторая команда будет работать только в том случае, если первая успешно выполнена. Если вас не волнует успех первой команды, вместо этого используйте ;. – Flimm 27 November 2012 в 19:36
  • 4
    Поиск Google привел меня к этому вопросу / ответу. Просто FYI;) – teewuane 6 May 2016 в 21:25

Запуск sudo apt-get update просто гарантирует, что ваш список пакетов из всех репозиториев и PPA обновлен. Если вы не запустите эту команду, вы можете получать более старые версии различных пакетов, которые вы устанавливаете, или, что еще хуже, проблемы с зависимостями. Если вы только что добавили PPA и не обновились, ничто из PPA не будет работать вообще, поскольку у вас нет списка пакетов из этого PPA или репозитория.

В двух словах: настоятельно рекомендуется запустите sudo apt-get update перед установкой, но он может быть пропущен, если вы действительно нажали на время, если вы не изменили репозитории или PPA с момента последнего apt-get update.

18
ответ дан 25 May 2018 в 03:56

Вы должны запустить apt-get update один раз перед установкой новых пакетов, поскольку это обновляет информацию локального репозитория. Если вы собираетесь установить несколько пакетов сразу после друг друга, вам не нужно запускать apt-get update. Кроме того, вы можете установить сразу несколько пакетов, если вы наберете sudo apt-get install package1 package2...

12
ответ дан 25 May 2018 в 03:56

Обновляет список доступных программ на вашем компьютере.

На вашем компьютере есть список (например, каталог), содержащий все доступное программное обеспечение, доступное для серверов Ubuntu. Но доступное программное обеспечение и версии могут измениться, поэтому «обновление» попадет на сервер и узнает, какое программное обеспечение доступно для обновления локальных списков (или каталогов).

Обратите внимание, что update отличается от upgrade. Обновление, как упоминалось выше, позволит получить доступное программное обеспечение и обновить списки, а upgrade установит новые версии программного обеспечения, установленные на вашем компьютере (фактические обновления программного обеспечения).

Чтобы на самом деле обновить программное обеспечение (а не «обновить» «списки»), вы выполняете команду

sudo apt-get upgrade

, которая обычно выполняется после «обновления».

10
ответ дан 25 May 2018 в 03:56
  • 1
    Что это за sudo apt-get install? Установка определенных пакетов вместо общего обновления? – Peter Mortensen 26 November 2017 в 21:42

Когда вы устанавливаете пакеты из командной строки с помощью sudo apt-get install ... (или sudo aptitude install ...) или когда вы обновляете их из командной строки (вместо upgrade или dist-upgrade вместо install), следующая информация получается из конфигурации вашей локальной системы, а не из Интернета:

какие пакеты доступны, какие версии их доступны, где доступные пакеты должны быть получены из

Запуск sudo apt-get update (или sudo aptitude update) обновляет это в вашей локальной системе. Это шаг, который фактически извлекает информацию о том, какие пакеты могут быть установлены, в том числе, какие обновления для установленных пакетов пакетов доступны из интернет-источников.

Когда вы устанавливаете пакеты с интерфейсом графического интерфейса (Update Manager, Центр программного обеспечения или Менеджер пакетов Synaptic), работа sudo apt-get update выполняется автоматически. Когда вы устанавливаете пакеты из командной строки, это не так, и вы всегда должны делать это самостоятельно not .

Поскольку информация о том, какие обновленные версии пакетов доступны, получается sudo apt-get update (или sudo aptitude update), рекомендуется запустить его перед установкой любого пакета и выполнить его для установки последних обновлений, даже если вы не добавили или не удалили какие-либо источники программного обеспечения (такие как PPA) .

Обратите внимание, что если вы собираетесь выполнять несколько операций управления пакетами в одно и то же время, вам не нужно запускать sudo apt-get update перед каждым. Только если информация не была обновлена ​​какое-то время, вы должны убедиться, что ее запустили.

4
ответ дан 25 May 2018 в 03:56

Как упоминалось выше Элиадж Каган, вы ожидаете, что приложение GUI запустится apt-get update до apt-get install / apt-get upgrade, но я только что обнаружил интересную ошибку 404 на относительно новой машине VM с атакой и защитой

Из командной строки я побежал apt-get update, а затем снова попробовал команду «Системные инструменты / Обновление программного обеспечения», и на этот раз он выполнялся без ошибок 404.

Итак, я думаю, вы не всегда можете предположить, что apt-get update запускается из приложений GUI ...

4
ответ дан 25 May 2018 в 03:56
  • 1
    Интересно ... Может ли быть какая-то необычная ситуация в сети между вами и сервером, которая лучше обрабатывается при запуске apt-get, чем при автоматической проверке, выполняемой при запуске Software Updater / Update Manager? Используете ли вы HTTP-прокси? И сможешь ли ты снова повторить это, или это случилось только один раз? Если это изолированная аномалия, мне интересно, может быть, проблема связана с неправильной конфигурацией временного сервера. Какое зеркало вы используете? С дополнительной информацией, возможно, я мог бы улучшить свой ответ. (Btw, это предназначено в качестве отдельного ответа или оно должно быть преобразовано в комментарий?) – Eliah Kagan 2 April 2015 в 06:05

Как сказано множеством людей, передо мной это обновляет ваш локальный репозиторий (список пакетов).

У вас могут возникнуть проблемы, если вы попытаетесь установить

apt-get install foobar

, а foobar или зависимость не имеют своей последней версии в репозитории. Это может быть особенно проблематично, если вы устанавливаете файл .deb вручную или ppa от стороннего участника.

В основном это гарантирует, что ваш список соответствует основному списку.

2
ответ дан 25 May 2018 в 03:56

Давайте рассмотрим пример установки медиаплеера VLC на Ubuntu:

sudo apt-get update

Он проверит репозитории доступных обновлений.

В то время как

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

установит медиаплеер VLC из репозиториев, которые мы искали.

Если вы вошли в систему как пользователь root (администратор), вам не нужно использовать sudo, потому что у вас уже есть привилегии суперпользователя.

2
ответ дан 25 May 2018 в 03:56

Другие вопросы по тегам:

Похожие вопросы: