Мне интересно, что делает sudo apt-get update
?
Что он обновляет?
В двух словах, apt-get update
фактически не устанавливает новые версии программного обеспечения. Вместо этого он обновляет списки пакетов для обновлений для пакетов, которые нуждаются в обновлении, а также для новых пакетов, которые только что поступили в хранилища.
apt-get update
загружает списки пакетов из репозиториев и «обновляет» их, чтобы получить информацию о новейших версиях пакетов и их зависимостях. Это будет сделано для всех репозиториев и PPA. Из http://linux.die.net/man/8/apt-get :
Используется для повторной синхронизации файлов индекса пакетов из их источников. Индексы доступных пакетов выбираются из местоположений, указанных в
blockquote>/etc/apt/sources.list
(5). Обновление всегда следует выполнять перед обновлением или dist-upgrade.
apt-get upgrade
извлечет новые версии пакетов, существующих на компьютере, если APT узнает об этих новых версиях посредством apt-get update
.
От http://linux.die.net/man/8/apt-get :
Используется для установки новейших версий всех пакетов в настоящее время. установлена в системе из источников, перечисленных в
blockquote>/etc/apt/sources.list
(5). Пакеты, установленные в настоящее время с доступными новыми версиями, извлекаются и обновляются; ни при каких обстоятельствах установленные в настоящее время пакеты не удаляются, а пакеты, которые еще не установлены, не извлекаются и не устанавливаются. Новые версии установленных в настоящее время пакетов, которые нельзя обновить без изменения состояния установки другого пакета, останутся в их текущей версии. [Выделение мое] Сначала необходимо выполнить обновление, чтобы apt-get знал, что доступны новые версии пакетов.
apt-get dist-upgrade
будет выполнять ту же работу, что и apt-get upgrade
, плюс она также будет интеллектуально обрабатывать зависимости, поэтому может удалять устаревшие пакеты или добавлять новые из них. Смотрите здесь: Что такое «dist-upgrade»? и почему он обновляет больше, чем «обновление»?
с http://linux.die.net/man/8/apt-get :
< blockquote> В дополнение к выполнению функции обновления, эта опция также интеллектуально обрабатывает изменение зависимостей с новыми версиями пакетов; apt-get имеет «умную» систему разрешения конфликтов, и при необходимости она попытается обновить самые важные пакеты за счет менее важных. Файл /etc/apt/sources.list
(5) содержит список мест, из которых можно извлечь нужные файлы пакета. Смотрите также apt_preferences (5) для механизма переопределения общих настроек для отдельных пакетов.
Команды с &&
можно комбинировать следующим образом:
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
или для получения новейших версий в соответствии с требованиями версий зависимостей: [ 1132]
sudo apt-get update && sudo apt-get dist-upgrade
Вам нужно sudo
оба раза, но, поскольку sudo
по умолчанию не запрашивает вас в течение 5 минут или более с момента последней операции sudo
, вам будет предложено ввести пароль только один раз. (или не совсем).
Запуск 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
, которая обычно выполняется после «обновления».
Поиск в Google может дать вам определение практически для любой команды терминала, как и --help в терминале. Например,
apt-get --help
sudo apt-get update
по существу состоит из трех частей:
sudo
выполняет следующую команду с возможностями суперпользователя (root). Многие действия, требующие изменения системных файлов или установки приложений, требуют дополнительных разрешений.
apt-get
- это инструмент командной строки, который Ubuntu использует для установки, удаления и управления пакетами программного обеспечения
update
- это опция для программы 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 install ...
(или sudo aptitude install ...
), или когда Вы обновляете их из командной строки (с upgrade
или dist-upgrade
вместо install
), следующая информация получена из конфигурации Вашей локальной системы, а не из Интернета:
какие пакеты доступны
какие версии их доступны
откуда доступные пакеты должны быть получены
Выполнение sudo apt-get update
(или sudo aptitude update
) обновления это в Вашей локальной системе. Это - шаг, который на самом деле получает информацию о том, какие пакеты могут быть установлены, включая то, какие обновления в настоящее время устанавливаемых пакетов пакетов доступны из интернет-источников.
Когда Вы устанавливаете пакеты с графическим интерфейсом (Менеджер обновлений, Центр программного обеспечения или Синаптический Диспетчер пакетов), работа sudo apt-get update
сделан автоматически. При установке пакетов от командной строки это не, и необходимо всегда делать это сами, если Вы не сделали так совсем недавно.
Поскольку информация о том, какие обновленные версии пакетов доступны, получена путем выполнения sudo apt-get update
(или sudo aptitude update
), желательно выполнить это прежде, чем установить любой пакет, и необходимый для выполнения его для установки последних обновлений, даже если Вы не добавили или удалили какие-либо Источники программного обеспечения (такие как PPA).
Обратите внимание на то, что, если Вы собираетесь выполнить несколько операций управления пакетом в то же время, Вы не должны работать sudo apt-get update
перед каждым. Именно, только если информация не была обновлена некоторое время, необходимо удостовериться, что выполнили ее.
Как упоминал Элиах Каган, вы ожидали , что приложение с графическим интерфейсом будет работать apt-get update
до apt-get install
/ apt-get upgrade
, но я только что обнаружил интересную ошибку 404 при относительно новом наступлении машина виртуальной безопасности, которая поставила меня в тупик на минуту.
Из командной строки я запустил apt-get update
, а затем снова попробовал команду «Системные инструменты / Обновление программного обеспечения», и на этот раз она работала без ошибок 404.
Итак, я думаю, вы не всегда можете предположить, что apt-get update
запускается из приложений с графическим интерфейсом ...
Как говорили многие люди до меня, это обновляет ваш локальный репозиторий (список пакетов).
Вы можете столкнуться с проблемами, если попытаетесь установить
apt-get install foobar
и у foobar или зависимости нет последней версии в репозитории. Это может быть особенно проблематично, если вы устанавливаете файл .deb вручную или ppa от третьего лица.
По сути, это удостоверяет, что ваш список соответствует списку master .
Рассмотрим пример установки VLC media player на Ubuntu:
sudo apt-get update
Он проверит репозитории на наличие доступных обновлений.
Тогда как
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
установит VLC media player из репозиториев, которые мы искали.
Если вы вошли в систему как пользователь root (администратор), вам не нужно использовать sudo
, потому что у вас уже есть привилегии суперпользователя.