Мне интересно, что sudo apt-get update
делает?
Что это обновляет?
источник
Мне интересно, что sudo apt-get update
делает?
Что это обновляет?
В двух словах, на apt-get update
самом деле не устанавливает новые версии программного обеспечения. Вместо этого он обновляет списки пакетов для обновлений для пакетов, которые требуют обновления, а также для новых пакетов, которые только что поступили в хранилища.
apt-get update
загружает списки пакетов из репозиториев и «обновляет» их, чтобы получить информацию о новейших версиях пакетов и их зависимостях. Это будет сделано для всех репозиториев и PPA. С http://linux.die.net/man/8/apt-get :
Используется для повторной синхронизации файлов индекса пакета из их источников. Индексы доступных пакетов выбираются из местоположений, указанных в
/etc/apt/sources.list
(5). Обновление всегда следует выполнять перед обновлением или dist-upgrade.
apt-get upgrade
будет получать новые версии пакетов, существующих на компьютере, если APT узнает об этих новых версиях в порядке apt-get update
.
С http://linux.die.net/man/8/apt-get :
Используется для установки новейших версий всех пакетов, установленных в настоящее время в системе, из источников, перечисленных в
/etc/apt/sources.list
(5). Пакеты, установленные в настоящее время с доступными новыми версиями, извлекаются и обновляются; ни при каких обстоятельствах установленные в настоящее время пакеты не удаляются, а пакеты, которые еще не установлены, не извлекаются и не устанавливаются. Новые версии установленных в настоящее время пакетов, которые нельзя обновить без изменения состояния установки другого пакета, останутся в их текущей версии. [Выделение мое] Сначала необходимо выполнить обновление, чтобы apt-get знал, что доступны новые версии пакетов.
apt-get dist-upgrade
будет выполнять ту же работу, что и пользователь apt-get upgrade
, плюс он также будет интеллектуально обрабатывать зависимости, поэтому он может удалять устаревшие пакеты или добавлять новые. Смотрите здесь: Что такое «dist-upgrade» и почему он обновляется больше, чем «upgrade»?
С http://linux.die.net/man/8/apt-get :
В дополнение к выполнению функции обновления, эта опция также интеллектуально обрабатывает изменение зависимостей с новыми версиями пакетов; 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
или получить самые новые версии, возможные в соответствии с требованиями версий зависимостей:
sudo apt-get update && sudo apt-get dist-upgrade
Вам нужно sudo
оба раза, но, поскольку sudo
по умолчанию не запрашивается около 5 минут с момента последней sudo
операции, вам будет предложено ввести пароль только один раз (или не запрашивать вообще).
sudo apt-get update
команду всякий раз, когда мы устанавливаем пакеты? В чем недостаток, если мы этого не сделаем?apt-get update
, что интернет все еще примитивен.Поиск Google может дать вам определение практически для любой команды терминала, как и --help в терминале. Например,
sudo apt-get update
по сути состоит из трех частей:выполняет следующую команду с правами суперпользователя (root). Многие действия, требующие изменения системных файлов или установки приложений, требуют дополнительных разрешений.
это инструмент командной строки, который Ubuntu использует для установки, удаления и управления пакетами программного обеспечения
это опция для программы apt-get, которая обновляет списки пакетов с сервера в Интернете. Списки пакетов предоставляют утилите apt-get важную информацию о пакетах программного обеспечения, которые вы можете установить с помощью apt-get. apt-get использует эти списки, чтобы определить, какое программное обеспечение устанавливать, когда ему дается команда для установки. Например
установил бы терминал Guake, поскольку он в настоящее время перечислен в локальных списках программного обеспечения моего компьютера. Однако это может быть не подходящая версия, или, если программа новая, она может быть вообще недоступна. Таким образом, при установке программного обеспечения с помощью apt-get вы обычно набираете
убедитесь, что apt-get знает, что нужно установить самую последнюю версию пакета.
Еще одним полезным источником информации является
help.ubuntu.com
сайт. Например, если вы искали этот сайт,apt-get
вы найдете AptGet / Howto в качестве одного из результатов.источник
&&
между ними какsudo apt-get update&&sudo apt-get install foo bar baz
&&
означает, что вторая команда будет выполняться только в случае успеха первой. Если вас не волнует успех первой команды, используйте;
вместо этого.Запуск
sudo apt-get update
просто гарантирует, что ваш список пакетов из всех репозиториев и PPA обновлен. Если вы не выполните эту команду, вы можете получить более старые версии различных устанавливаемых вами пакетов или, что еще хуже, проблемы с зависимостями. Если вы только что добавили PPA и не обновили его, ничто из PPA не будет работать вообще, поскольку у вас нет списка пакетов из этого PPA или репозитория.В двух словах: настоятельно рекомендуется запускать
sudo apt-get update
перед установкой, но он может быть пропущен, если вы действительно испытываете нехватку времени, если вы не меняли репозитории или PPA с момента последнейapt-get update
.источник
Он обновляет список доступного программного обеспечения на вашем компьютере.
На вашем компьютере есть список (например, каталог), который содержит все доступное программное обеспечение, доступное на серверах Ubuntu. Но доступное программное обеспечение и версии могут измениться, поэтому «обновление» попадет на сервер и увидит, какое программное обеспечение доступно для обновления его локальных списков (или каталогов).
Обратите внимание, что
update
отличается отupgrade
. Обновление, как упомянуто выше, будет загружать доступное программное обеспечение и обновлять списки, аupgrade
также устанавливать новые версии программного обеспечения, установленного на вашем компьютере (фактические обновления программного обеспечения).Чтобы фактически обновить ваше программное обеспечение (не «обновлять» списки), вы выполняете команду
который обычно выполняется после «обновления».
источник
sudo apt-get install
тогда? Установка конкретных пакетов вместо общего обновления?Вам нужно запустить
apt-get update
один раз перед установкой новых пакетов, так как это обновит информацию о локальном хранилище. Если вы собираетесь устанавливать несколько пакетов вскоре после этого, запускать не нужноapt-get update
. Кроме того, вы можете установить несколько пакетов одновременно, если вы наберетеsudo apt-get install package1 package2...
источник
При установке пакетов из командной строки с помощью
sudo apt-get install ...
(илиsudo aptitude install ...
) или при обновлении их из командной строки (с использованиемupgrade
илиdist-upgrade
вместоinstall
) следующая информация получается из конфигурации локальной системы, а не из Интернета:какие пакеты доступны
какие версии из них доступны
откуда можно получить доступные пакеты
Запуск
sudo apt-get update
(илиsudo aptitude update
) обновляет это в вашей локальной системе. Это шаг, который фактически извлекает информацию о том, какие пакеты могут быть установлены, в том числе о том, какие обновления доступны в настоящее время для установленных пакетов пакетов , из интернет-источников.При установке пакетов с графическим интерфейсом (диспетчер обновлений, центр программного обеспечения или диспетчер пакетов Synaptic) работа
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
чем автоматическая проверка, выполняемая при запуске Software Updater / Update Manager? Вы используете HTTP прокси? И можете ли вы сделать это снова или это случилось один раз? Если это единичная аномалия, мне интересно, может быть, проблема связана с временной неправильной настройкой сервера. Какое зеркало вы используете? С большей информацией, возможно, я мог бы улучшить свой ответ. (Кстати, это предназначено как отдельный ответ, или это должно быть преобразовано в комментарий?)Как говорили многие люди до меня, это обновляет ваш локальный репозиторий (список пакетов).
Вы можете столкнуться с проблемами, если попытаетесь установить
и у foobar или зависимости нет их последней версии в репозитории. Это может быть особенно проблематично, если вы устанавливаете файл .deb вручную или ppa от третьего лица.
В основном это делает , что ваш список соответствует мастер - список.
источник
Давайте рассмотрим пример установки VLC media player на Ubuntu:
Он проверит репозитории на наличие доступных обновлений.
В то время как
установит VLC media player из репозиториев, которые мы искали.
Если вы вошли в систему как пользователь root (администратор), вам не нужно его использовать
sudo
, поскольку у вас уже есть привилегии суперпользователя.источник