Мне интересно, что делает sudo apt-get update
?
Что он обновляет?
Мне интересно, что делает sudo apt-get update
?
Что он обновляет?
В двух словах apt-get update
фактически не устанавливает новые версии программного обеспечения. Вместо этого он обновляет списки пакетов для обновлений пакетов, нуждающихся в обновлении, а также новые пакеты, которые только что пришли в хранилища.
apt-get update
загружает списки пакетов из репозиториев и "обновляет" их, чтобы получить информацию о новейших версиях пакетов и их зависимостях. Он будет делать это для всех репозиториев и PPA.
Из Ссылка :
Used to re-synchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in
/etc/apt/sources.list
(5). An update should always be performed before an upgrade or dist-upgrade.
apt-get upgrade
будет получать новые версии пакетов, существующих на машине, если APT знает об этих новых версиях с помощью apt-get update
. Р>
От Ссылка :
Used to install the newest versions of all packages currently installed on the system from the sources enumerated in
/etc/apt/sources.list
(5). Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, nor are packages that are not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. [Emphasis mine] An update must be performed first so that apt-get knows that new versions of packages are available.
apt-get dist-upgrade
выполнит ту же работу, что и apt-get upgrade
, а также будет разумно обрабатывать зависимости, поэтому она может удалить устаревшие пакеты или добавить новые. См. Здесь: Что такое "dist- обновление "и почему он обновляется больше, чем" обновление "?
От Ссылка :
In addition to performing the function of upgrade, this option also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones, if necessary. The
/etc/apt/sources.list
(5) file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for over-riding the general settings for individual packages.
Вы можете комбинировать команды с &&
следующим образом:
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
или для получения новейших версий в соответствии с требованиями к версиям зависимостей:
sudo apt-get update && sudo apt-get dist-upgrade
Вам нужно sudo
обоих раз, но поскольку sudo
по умолчанию не запрашивает вас в течение 5 или около того минут с момента последней операции sudo
, вам будет предложено ввести пароль только один раз (или вообще нет) ).
Поиск в 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 update
просто гарантирует, что ваш список пакетов из всех репозиториев и PPA обновлен. Если вы не запустите эту команду, вы можете получать более старые версии различных пакетов, которые вы устанавливаете, или, что еще хуже, проблемы с зависимостями. Если вы только что добавили PPA и не обновились, ничто из PPA не будет работать вообще, поскольку у вас нет списка пакетов из этого PPA или репозитория.
Вкратце: high рекомендуется запускать 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
), следующая информация получен из конфигурации вашей локальной системы и not из Интернета:
какие пакеты доступны
какие версии их доступны
, где доступные пакеты должны быть получены из
Запуск sudo apt-get update
(или sudo aptitude update
) обновляет это в вашей локальной системе. Это шаг, который фактически извлекает информацию о том, какие пакеты могут быть установлены, , включая обновления обновлений пакетов, установленных в настоящее время , из интернет-источников.
При установке пакетов с интерфейсом графического интерфейса (диспетчер обновлений, Центр программного обеспечения или диспетчер пакетов Synaptic) работа sudo apt-get update
выполняется автоматически. Когда вы устанавливаете пакеты из командной строки, это не так, и вы всегда должны делать это самостоятельно , если вы не сделали это совсем недавно .
Поскольку информация о доступных версиях пакетов доступна, запустив sudo apt-get update
(или sudo aptitude update
), рекомендуется запустить это перед установкой любого пакета и выполнить его для установки последних обновлений, < em> даже если вы не добавили или не удалили какие-либо источники ПО (например, PPA) .
Обратите внимание, что если вы собираетесь выполнять несколько операций управления пакетами в одно и то же время, вам не нужно запускать sudo apt-get update
перед каждым. Только если информация не была обновлена какое-то время, вы должны убедиться, что ее запустили.
Как упоминалось выше Элиа Каган, вы бы ожидали , что приложение GUI будет запускать apt-get update
до apt-get install
/ apt-get upgrade
, но я только что обнаружил интересную ошибку 404 на относительно новом машина с наступательной безопасностью, которая заставила меня замолчать минуту.
Из командной строки я запустил apt-get update
, а затем снова попробовал команду System Tools / Software-Update, и на этот раз он выполнялся без ошибок 404.
Итак, я думаю, вы не всегда можете предположить, что apt-get update
запускается из приложений GUI ...
Как говорит множество людей, передо мной это обновляет ваш локальный репозиторий (список пакетов). Р>
У вас могут возникнуть проблемы, если вы попытаетесь установить
apt-get install foobar
и foobar или зависимость не имеют своей последней версии в репозитории. Это может быть особенно проблематично при установке файла .deb вручную или ppa от стороннего участника.
В основном это гарантирует, что ваш список соответствует списку master .
Давайте рассмотрим пример установки медиаплеер VLC на Ubuntu:
sudo apt-get update
Он проверит репозитории доступных обновлений.
В то время как
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
установит медиаплеер VLC из репозиториев, которые мы искали.
Если вы вошли в систему как пользователь root (администратор), вам не нужно использовать sudo
, потому что у вас уже есть привилегии суперпользователя.