Почему делает разделение обновления, и обновление даже существуют?

Я понимаю это в apt, команда update, обновляет список доступных пакетов, но он не обновляет программное обеспечение, которое было уже установлено от этих пакетов.

Я также понимаю это upgrade обновления любое программное обеспечение, которое я уже установил от пакета, с которым я обновил update как описано выше.

Из чего была причина разработчиков Ubuntu/Debian сделать это разделение update и upgrade вместо этого работа с одной командой, чтобы сделать обе задачи?

Это - больше вопроса на архитектурной философии разработчиков Ubuntu.

12
задан 30 March 2018 в 04:23

6 ответов

Обновление не является единственным временем, Вы, возможно, должны были бы 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 сделаю.

7
ответ дан 23 November 2019 в 03:35

Каждый раз, когда Вы изменяете источники программного обеспечения, необходимо выполнить команду 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 даст представления для диагностирования и решения проблемы.

6
ответ дан 23 November 2019 в 03:35

История различия между update и upgrade на самом деле довольно прохладно.

Давным-давно - говорят приблизительно приблизительно 2000, за годы до того, как Ubuntu существовала - пропускная способность и дисковое пространство были намного более ограничены..., хотя расширяемый по сравнению с серединой 1990-х. Широкополосная связь просто начинала, и коммутируемый доступ был все еще жизненным способом стать онлайн. Большие диски были все еще только несколько сотен МБ. Кв. была блестящей и новой, радикальной и революционной, создана сверху dpkg.

Способная база данных, когда Вы думаете об этом, является чудом: это - accurate-to-the-minute база данных всего программного обеспечения из всех известных репозиториев. Это детализировало достаточно для Кв., чтобы вычислить зависимости и определить доступные обновления, все же достаточно маленькие, чтобы передать по модемам коммутируемого доступа времени и сохранить на маленьких дисках времени. Обновление Вашей базы данных по телефону могло бы занять минуты по исправному соединению. В то время как это - долгое время теперь, искание обновлений пакета вручную (перед Кв.) могло использовать часы.

Тогда, дистрибутивы были созданы по-другому - никакая Непрерывная Интеграция, никакое испытание с помощью дыма (хорошо, не много тестирования вообще!), фермы сборки просто начинали. Обновления должны были возвращаться чаще, чем теперь. Многие пользователи приняли решение не обновить определенные пакеты по различным причинам или выбрать только определенные обновления сегодня (для тестирования вручную), и другие обновления завтра.

За последующие 15-so годы инструменты не изменились очень, который является, почему мы все еще имеем отдельный update и upgrade действия. Пользовательский рабочий процесс развился, поскольку надежность дистрибутива улучшилась, и большая часть исходного/обновления/обновления управления, которое раньше было ручным, был медленно скрыт позади слоев автоматизации (software-updater, unattended-upgrades).

Модернизация инструментов пакета программного обеспечения является одной причиной, что Снимки и AppImage и Плоский корпус недавно появились, но это - следующая глава.

5
ответ дан 23 November 2019 в 03:35

Они действительно разделяют вещи по многим причинам.

Одним примером является вопрос, который я отправил и самоответил: Как PPAs может быть удален с помощью GUI?. На этом экране мы хотим удалить PPAs не, обновляют программное обеспечение:

Remove PPA.png

После удаления 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 Вы не видите то, что было бы обновлено!

2
ответ дан 23 November 2019 в 03:35

Можно было спросить, почему загрузить программу с формального репозитория Ubuntu с apt затем установите его? Какое значение это имело бы, если Вы сначала загружаете его и затем устанавливаете его вместо того, чтобы загрузить и установить в одной операции?

Много позже чтения комментариев и размышления больше на этом я понимаю, что это происходит из-за философии Unix, модульной философии, которая в основном говорит, "Каждая программа делает одну вещь": Сначала загрузите, затем установите---каждое действие с его собственной специализированной программой.

0
ответ дан 23 November 2019 в 03:35

Ни в каком распределении существует одна вещь обновления обновления команды, если это там, это только предопределило псевдонимы так же, я предполагаю. Те псевдонимы могут легко быть установлены на Ubuntu также путем редактирования ~/.bashrc.

Обновление используется, чтобы ресинхронизировать репозитории и устранить любые проблемы там. Затем, когда Вы Обновление, Вы на самом деле ugrade Ваши установленные пакеты. Но когда Вы Dist-обновляете, Вы обновляете полностью. В Дуге Linux они подчеркивают на полном обновлении с Syu. Можно сделать то же в Ubuntu. В полном обновлении Вы на самом деле разрешаете любую мудрую систему проблемы зависимости, который может возникнуть в частичном обновлении.

Надежда это помогает. Извините необработанный текст как пишущий по телефону.

0
ответ дан 23 November 2019 в 03:35

Другие вопросы по тегам:

Похожие вопросы: