Что эквивалентно командной строке для менеджера обновлений (Software Updater)?

25

Когда я делаю

sudo apt-get update
sudo apt-get upgrade

Иногда в Ubuntu GUI Update Manager остаются некоторые элементы. например, «Полное универсальное ядро ​​Linux».

Я знаю, что есть sudo apt-get dist-upgrade, но это касается и других вещей.

У меня вопрос, какой еще вариант командной строки, который я могу использовать, обновляет остальные элементы, показанные в менеджере обновлений GUI (но не затрагивает ничего другого). Другими словами, я ищу эквивалент командной строки.

РЕДАКТИРОВАТЬ: Этот вопрос относится к диспетчеру обновлений, который эквивалентен Software Updater в более новых версиях (например, 16.04), как отметил @Eliah Kagan .

Ха Ли
источник
Пакет менеджера обновлений Ubuntu имеет открытый исходный код, поэтому вы можете найти исходный код, чтобы найти ответ. Я бросил быстрый взгляд, но не заметил ничего необычного в том, как они обновляются.
После некоторых исследований мне не ясно, существует ли прямой эквивалент, но есть очень поучительный ответ, объясняющий разницу между apt-get и aptitude . Я предполагаю, что Update Manager похож на apt-get в том, что у него есть немного более специализированный набор правил, который он использует для обновления, за исключением того, что в отличие от этого apt-get update, его набор правил позволяет устанавливать новые пакеты в некоторых специализированных случаях, таких как обновления ядра. Надеюсь, кто-то более знающий
13
3
Я уверен, что ответ apt-get dist-upgrade. Что вы имеете в виду, «что касается других вещей»?
Flimm

Ответы:

22

Как прокомментировал Flimm , ответ на самом деле таковsudo apt-get dist-upgrade ( после запуска sudo apt-get update, какие инструменты управления пакетами GUI автоматически делают эквивалент). Это, по крайней мере, самая близкая вещь к запуску Software Updater (в предыдущих версиях он назывался Update Manager).

Запуск apt-get upgradeобновит пакеты, которые можно обновить:

  • без установки каких-либо пакетов, которые еще не установлены в какой-либо версии, и
  • без удаления каких-либо пакетов.

Диспетчер обновлений способен выполнять обе эти функции, поэтому apt-get dist-upgradeон довольно близок к этому.

  • Запуск sudo apt-get dist-upgradeсам по себе не приведет к обновлению системы Ubuntu до более новой версии. На самом деле, в отличие от Debian, apt-get dist-upgradeэто не поддерживаемый способ обновления до новой версии. В Debian (и в Ubuntu, хотя иногда это может привести к сбою и не поддерживается), при изменении всех перечисленных /etc/apt/sources.listрепозиториев на репозитории для следующего выпуска и при запуске sudo apt-get dist-upgradeпопытается выполнить обновление до следующего выпуска.

Поскольку вы apt-get dist-upgradeможете удалить пакет (и установить новые пакеты, которые вам могут не понадобиться), всегда лучше просмотреть описание того, что он собирается делать, прежде чем нажать y.

Таким образом, хотя запуск sudo apt-get -y upgradeобычно оправдан, -yфлаг следует использовать редко dist-upgrade.

Причина вы не получите новые версии ядра с sudo apt-get upgrade, потому что каждый из них предусмотрены отдельные, по- разному именованных пакетов. (Версия ядра является частью названия.) Это сделано для того, чтобы сохранить установленное старое ядро ​​вместе с более новым ядром (и иметь возможность выбирать между ними в меню GRUB).

Автоматическое предложение новых пакетов ядра для установки выполняется с помощью установленного метапакета (например linux-image-generic). Когда для вашего выпуска Ubuntu выходит новое ядро, ваш метапакет обновляется, и в обновленной версии этого метапакета перечисляется новое ядро ​​как зависимость (без предотвращения продолжения установки старого ядра).

Если вы не хотите использовать sudo apt-get dist-upgrade, то вы всегда можете вручную обновить отдельные пакеты, которые перечислены как отложенные при запуске sudo apt-get upgrade. Чтобы сделать это, «установить» их: .sudo apt-get install packagename

Элия ​​Каган
источник
1
«Диспетчер обновлений способен выполнять обе эти задачи, поэтому apt-get dist-upgrade довольно близка к этому». - очень непонятно в контексте.
матовый
7

Если вы хотите открыть окно обновления программного обеспечения из командной строки (это то, к чему я пришел, вы получили, в основном потому, что именно поэтому я искал это и оказался здесь, так как это моя цель), чтобы получить права root доступ к окну графического интерфейса пользователя (у меня возникла проблема с разрешением при удаленном удаленном доступе)

sudo update-manager
QuestionReality
источник
Если я правильно понимаю вопрос, ответ @questionreality будет правильным, по крайней мере, он сработал для меня. Единственное, как продолжить обновление, не заходя в окно? Я имею ввиду чисто командную операцию?
nightcod3r
1

Я только нашел этот ответ, но потерял источник, поэтому я не могу поверить в это ...

Приведенная ниже команда установит пакет, в котором ядро ​​является зависимостью, и обновит ваше ядро, выбрав подходящий для него.

Моя установка 14.4 была обновлена ​​до 14.10, за исключением ядра. В моем случае ядро ​​обновилось с 3.13.x до 3.16.x, хотя возможно, что версии 3.13.0.x могли иметь обновления. Очевидно, 3.13 не был ядром LTS.

sudo apt-get install linux-image-generic
Оуэн
источник
1
если бы у парня, который проголосовал против этого ответа, было несколько простых манер, чтобы сказать «почему», помог бы учащимся Linux, таким как я, понять, почему это неправильно.
Клин Дсилва
0

Вероятно, это неправильное место, но я верю, что вы хотите сделать:

apt-get -f install

Это очистит выдающиеся зависимости


источник
1
Спасибо. похоже, это не так. Я сделал apt-get -f installтогда обновление и обновление снова, затем перейдите в графический интерфейс менеджера и проверьте, все еще элементы.
0

aptутилиты командной строки не обеспечивают такой же уровень комфорта, как их графический интерфейс (а именно software updater). В то время как a apt-get dist-upgradeпозаботится о большей части обновления, то есть о загрузке и установке новых пакетов, она не обнаружит существование нового выпуска ubuntu (или debian), что сделает утилита ubuntu gui. Недостающая часть - это редактирование /etc/apt/sources.list(или связанные файлы в /etc/apt/sources.list.d/- но у вас, вероятно, их нет), чтобы сказать, aptчто существует новый выпуск и где находятся репозитории.

Например, для dist-upgradeиз утопично в яркий , вы можете открыть /etc/apt/sources.listи сделать быстрый поиск и замену из utopicк vivid, а затем запустить dist-upgradeкоманду CLI. Более безопасный путь может состоять в том, чтобы дублировать строки в этом файле и выполнять поиск и замену только в этих дублированных строках, сохраняя таким образом утопические репозитории.

Для получения дополнительной информации, я предлагаю обратиться к странице руководства, на sources.listкоторой описывается формат файла и как его редактировать.

didierc
источник