Мне интересно, что делает sudo apt-get update?
Что он обновляет?
Поиск в 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 в качестве одного из результатов.
Запуск sudo apt-get update просто гарантирует, что ваш список пакетов из всех репозиториев и PPA обновлен. Если вы не запустите эту команду, вы можете получать более старые версии различных пакетов, которые вы устанавливаете, или, что еще хуже, проблемы с зависимостями. Если вы только что добавили PPA и не обновились, ничто из PPA не будет работать вообще, поскольку у вас нет списка пакетов из этого PPA или репозитория.
В двух словах: настоятельно рекомендуется запустите sudo apt-get update перед установкой, но он может быть пропущен, если вы действительно нажали на время, если вы не изменили репозитории или PPA с момента последнего apt-get update.
Вы должны запустить apt-get update один раз перед установкой новых пакетов, поскольку это обновляет информацию локального репозитория. Если вы собираетесь установить несколько пакетов сразу после друг друга, вам не нужно запускать apt-get update. Кроме того, вы можете установить сразу несколько пакетов, если вы наберете sudo apt-get install package1 package2...
Обновляет список доступных программ на вашем компьютере.
На вашем компьютере есть список (например, каталог), содержащий все доступное программное обеспечение, доступное для серверов Ubuntu. Но доступное программное обеспечение и версии могут измениться, поэтому «обновление» попадет на сервер и узнает, какое программное обеспечение доступно для обновления локальных списков (или каталогов).
Обратите внимание, что update отличается от upgrade. Обновление, как упоминалось выше, позволит получить доступное программное обеспечение и обновить списки, а upgrade установит новые версии программного обеспечения, установленные на вашем компьютере (фактические обновления программного обеспечения).
Чтобы на самом деле обновить программное обеспечение (а не «обновить» «списки»), вы выполняете команду
sudo apt-get upgrade
, которая обычно выполняется после «обновления».
Когда вы устанавливаете пакеты из командной строки с помощью 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 перед каждым. Только если информация не была обновлена какое-то время, вы должны убедиться, что ее запустили.
Как упоминалось выше Элиадж Каган, вы ожидаете, что приложение GUI запустится apt-get update до apt-get install / apt-get upgrade, но я только что обнаружил интересную ошибку 404 на относительно новой машине VM с атакой и защитой
Из командной строки я побежал apt-get update, а затем снова попробовал команду «Системные инструменты / Обновление программного обеспечения», и на этот раз он выполнялся без ошибок 404.
Итак, я думаю, вы не всегда можете предположить, что apt-get update запускается из приложений GUI ...
Как сказано множеством людей, передо мной это обновляет ваш локальный репозиторий (список пакетов).
У вас могут возникнуть проблемы, если вы попытаетесь установить
apt-get install foobar
, а foobar или зависимость не имеют своей последней версии в репозитории. Это может быть особенно проблематично, если вы устанавливаете файл .deb вручную или ppa от стороннего участника.
В основном это гарантирует, что ваш список соответствует основному списку.
Давайте рассмотрим пример установки медиаплеера VLC на Ubuntu:
sudo apt-get update
Он проверит репозитории доступных обновлений.
В то время как
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
установит медиаплеер VLC из репозиториев, которые мы искали.
Если вы вошли в систему как пользователь root (администратор), вам не нужно использовать sudo, потому что у вас уже есть привилегии суперпользователя.