Я понимаю это в apt
, команда update
, обновляет список доступных пакетов, но он не обновляет программное обеспечение, которое было уже установлено от этих пакетов.
Я также понимаю это upgrade
обновления любое программное обеспечение, которое я уже установил от пакета, с которым я обновил update
как описано выше.
Из чего была причина разработчиков Ubuntu/Debian сделать это разделение update
и upgrade
вместо этого работа с одной командой, чтобы сделать обе задачи?
Это - больше вопроса на архитектурной философии разработчиков Ubuntu.
Обновление не является единственным временем, Вы, возможно, должны были бы apt-get update
, и я не хочу обновлять каждый раз, когда я просто хочу обновить списки пакета.
apt-get upgrade
работа хорошо может зависеть от apt-get update
будучи выполненным недавно, но затем это верно для apt-get remove
и apt-get install
также! Если все они подразумевают apt-get update
?Конечно, нет! Как простой вопрос эффективности ресурса и чистоты дизайна, если операция характерна для нескольких других операций, она должна быть факторизована.
С другой стороны, учитывая, что apt-get remove
и apt-get install
может также зависеть от apt-get update
будучи недавно выполненным для успешного окончания, делает это имеет смысл к apt-get upgrade
для каждого выполнения apt-get update
? Нет, снова, начиная с то, что я намереваюсь сделать, может конфликтовать с какой apt-get upgrade
сделаю.
Каждый раз, когда Вы изменяете источники программного обеспечения, необходимо выполнить команду sudo apt update
для обновления списка доступного программного обеспечения. Затем можно искать доступные пакеты в новом программном обеспечении, получают Вас просто добавленный и/или устанавливают их.
Команда sudo apt upgrade
терминальный эквивалент обновления списка установленных пакетов с помощью программного обеспечения приложение Updater. Это отличается от нормального рабочего процесса добавления нового источника программного обеспечения, обновления списка доступного программного обеспечения для включения пакетов из нового источника программного обеспечения и установки нового пакета (пакетов) из нового источника программного обеспечения, который Вы просто добавили, таким образом, это более удобно и менее сбивает с толку это sudo apt update
и sudo apt upgrade
отдельные команды.
Это также менее сбивает с толку для разделения sudo apt update
и sudo apt upgrade
потому что, когда Вы работаете sudo apt update
успешно Вы подтвердили, что у Вас есть интернет-соединение. Если существует проблема при выполнении sudo apt upgrade
впоследствии, проблемой, более вероятно, будет проблема управления пакета, чем проблема с интернет-соединением и результаты sudo apt upgrade
даст представления для диагностирования и решения проблемы.
История различия между update
и upgrade
на самом деле довольно прохладно.
Давным-давно - говорят приблизительно приблизительно 2000, за годы до того, как Ubuntu существовала - пропускная способность и дисковое пространство были намного более ограничены..., хотя расширяемый по сравнению с серединой 1990-х. Широкополосная связь просто начинала, и коммутируемый доступ был все еще жизненным способом стать онлайн. Большие диски были все еще только несколько сотен МБ. Кв. была блестящей и новой, радикальной и революционной, создана сверху dpkg.
Способная база данных, когда Вы думаете об этом, является чудом: это - accurate-to-the-minute база данных всего программного обеспечения из всех известных репозиториев. Это детализировало достаточно для Кв., чтобы вычислить зависимости и определить доступные обновления, все же достаточно маленькие, чтобы передать по модемам коммутируемого доступа времени и сохранить на маленьких дисках времени. Обновление Вашей базы данных по телефону могло бы занять минуты по исправному соединению. В то время как это - долгое время теперь, искание обновлений пакета вручную (перед Кв.) могло использовать часы.
Тогда, дистрибутивы были созданы по-другому - никакая Непрерывная Интеграция, никакое испытание с помощью дыма (хорошо, не много тестирования вообще!), фермы сборки просто начинали. Обновления должны были возвращаться чаще, чем теперь. Многие пользователи приняли решение не обновить определенные пакеты по различным причинам или выбрать только определенные обновления сегодня (для тестирования вручную), и другие обновления завтра.
За последующие 15-so годы инструменты не изменились очень, который является, почему мы все еще имеем отдельный update
и upgrade
действия. Пользовательский рабочий процесс развился, поскольку надежность дистрибутива улучшилась, и большая часть исходного/обновления/обновления управления, которое раньше было ручным, был медленно скрыт позади слоев автоматизации (software-updater
, unattended-upgrades
).
Модернизация инструментов пакета программного обеспечения является одной причиной, что Снимки и AppImage и Плоский корпус недавно появились, но это - следующая глава.
Одним примером является вопрос, который я отправил и самоответил: Как PPAs может быть удален с помощью GUI?. На этом экране мы хотим удалить PPAs не, обновляют программное обеспечение:
После удаления PPA автоматически работает программное обеспечение GUI sudo apt update
. Если бы необходимо было удалить PPA из командной строки, то необходимо работать sudo apt update
после удаления PPA из исходного списка.
apt update
функция там не является никаким способом удалить PPA!.Другой пример - Вы, должен работать sudo apt update
от командной строки до источников обновления. Затем можно узнать то, что могло быть обновлено без фактического обновления:
$ apt list --upgradable
Listing... Done
conky-std/xenial 1.10.1-3 amd64 [upgradable from: 1.9.0-4]
google-chrome-stable/stable 65.0.3325.181-1 amd64 [upgradable from: 63.0.3239.132-1]
libxnvctrl0/xenial 390.48-0ubuntu0~gpu16.04.1 amd64 [upgradable from: 387.22-0ubuntu0~gpu16.04.1]
nvidia-settings/xenial 390.48-0ubuntu0~gpu16.04.1 amd64 [upgradable from: 387.22-0ubuntu0~gpu16.04.1]
peek/xenial 1.3.1-0~ppa23~ubuntu16.04.1 amd64 [upgradable from: 1.2.1-0~ppa20~ubuntu16.04.1]
Рассмотрение вывода, Вы могли решить иметь данный пакет, "прикрепленный" или "сдержанный", и не обновили в следующий раз 'sudo способное обновление", выполняется. Если бы был единственный процесс "обновления/обновления", то Вы освободили бы их способность.
apt update
Вы не видите то, что было бы обновлено!Можно было спросить, почему загрузить программу с формального репозитория Ubuntu с apt
затем установите его? Какое значение это имело бы, если Вы сначала загружаете его и затем устанавливаете его вместо того, чтобы загрузить и установить в одной операции?
Много позже чтения комментариев и размышления больше на этом я понимаю, что это происходит из-за философии Unix, модульной философии, которая в основном говорит, "Каждая программа делает одну вещь": Сначала загрузите, затем установите---каждое действие с его собственной специализированной программой.
Ни в каком распределении существует одна вещь обновления обновления команды, если это там, это только предопределило псевдонимы так же, я предполагаю. Те псевдонимы могут легко быть установлены на Ubuntu также путем редактирования ~/.bashrc.
Обновление используется, чтобы ресинхронизировать репозитории и устранить любые проблемы там. Затем, когда Вы Обновление, Вы на самом деле ugrade Ваши установленные пакеты. Но когда Вы Dist-обновляете, Вы обновляете полностью. В Дуге Linux они подчеркивают на полном обновлении с Syu. Можно сделать то же в Ubuntu. В полном обновлении Вы на самом деле разрешаете любую мудрую систему проблемы зависимости, который может возникнуть в частичном обновлении.
Надежда это помогает. Извините необработанный текст как пишущий по телефону.