Одна единственная команда для обновления всего в Ubuntu?

Я знаю, что есть три команды для обновления, а затем обновления всей системы, это:

  • sudo apt-get update # Извлекает список доступных обновлений
  • sudo apt-get upgrade # Строго обновляет текущие пакеты
  • sudo apt-get dist-upgrade # Устанавливает обновления (новые)

Существует ли команда супер-обновления, которая сочетает в себе все эти команды в одну?

Есть 3 достойных варианта:

  1. Вы могли бы создать сценарий примерно следующего вида:

    #!/bin/bashset -esudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgrade

    Назовите это чем-то вроде update.sh и поместите его в /usr/local/bin а затем сделайте скрипт исполняемым, выполнив:

    sudo chmod +x /usr/local/bin/update.sh
  2. Другим методом было бы создать псевдоним bash (в ~/.bashrc) или там, где вы обычно храните свои псевдонимы:

    alias update='sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade'
  3. Последним методом было бы просто связать 3 команды вместе в командной строке:

    sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Несколько вариантов...

Ссылка:

У нас может быть однострочная команда (не нужно создавать скрипты, просто скопируйте и вставьте)

sudo apt update -y && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean -y && sudo apt autoclean -y
  • update - обновляет список пакетов, но не устанавливает
  • upgrade - устанавливайте новые версии пакетов, если доступны новые версии
  • full-upgrade - выполняет функцию обновления, но удалит установленные в данный момент пакеты, если это необходимо для обновления системы в целом (тогда исправляются плохие зависимости)
  • autoremove, autoclean и clean - очистите старые упаковки, которые больше не нужны
  • вариант -y не запрашивает разрешения на каждом шаге
  • && указывает, что он просто запускает следующую команду, если предыдущая была успешно выполнена

Если вас раздражает слишком много текста, вы можете определить для себя "псевдоним". Это можно сделать, например, добавив строку в конец вашего $HOME/.profile подобный этому:

alias sau='sudo aptitude update && sudo aptitude upgrade'

(конечно, вы можете заменить "sau" на что-то другое - для меня это аббревиатура от Sudo Apt-get Update). После сохранения файла откройте новую оболочку (или "исходный" файл .profile, снова запустив . $HOME/.profile. Теперь вы всегда можете просто ввести "sau", чтобы выполнить всю работу. Отлично работает для меня с несколькими машинами.

К сожалению, эти две команды должны выполняться отдельно.

sudo apt install unattended-upgrades

Это лучшая реплика на сегодняшний день. Во всех других решениях вам придется вводить одну и ту же строку снова и снова каждый день. Это действительно решение с одной командой. Видеть официальная документация apt от ubuntu!

Путем редактирования .conf файлы этого пакета в /etc вы можете установить частоту update, install, clean, autoremove...

Или просто и отправьте электронное письмо с уведомлением о том, что доступно обновление, со списком имен пакетов

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

Существует ли команда супер-обновления, которая объединяет все эти команды в одну?

Что ж... плохая новость в том, что нет, это не так. Хорошая новость, однако, заключается в том, что здесь я собрал один из них.

И чтобы продолжить идею упрощения, я превратил его создание в "единую" командную строку. Итак, вот оно:

echo "sudo apt update && sudo apt -y upgrade && sudo apt -y dist-upgrade && sudo apt -y autoremove && sudo apt autoclean" > update && sudo mv update /usr/local/bin/update && sudo chmod +x /usr/local/bin/update

Теперь, когда возникает необходимость в обновлении, вы просто вводите update в терминале введите свой пароль и вуаля.


Это может выглядеть как одна из тех непонятных вещей, из которых вы только копируете и вставляете. Но на самом деле это не обязательно так! Видите ли, на самом деле это довольно просто, так что..

Что это такое :

  1. Каждая команда обновления (а затем и другие команды) были объединены с помощью && (включая apt autoremove чтобы удалить больше не используемые зависимости).
  2. -y был добавлен к каждому apt команда, которая в противном случае запрашивала бы положительный ответ для выполнения своих действий.
  3. echo был помещен перед командованием, и линия была окружена "" чтобы его персонажи не сбежали.
  4. > был использован для перенаправления / записи echoвывод (наша строка) в файл "update".
  5. Файл перемещается в /usr/local/bin/ таким образом, он может быть выполнен из любого места. Запись по этому пути требует доступа суперпользователя, поэтому это невозможно сделать на предыдущем шаге.
  6. Файл был превращен в исполняемый файл с помощью chmod.

просто скопируйте и вставьте следующую команду псевдонима и выполните ее:-

$ alias fup='sudo apt-get -y update;sudo apt-get -y full-upgrade;sudo apt-get -y autoremove; sudo apt-get -y autoclean'

теперь выполните его следующим образом

$ fup

он автоматически выполнит все свои задания.

Теперь вам, возможно, придется использовать это часто. Итак, для этого создайте имя файла .bash_aliases в вашем ДОМАШНЕМ каталоге и выполните следующую команду, упомянутую выше, как псевдоним, например:-

$ touch ./.bash_aliases

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

$ gedit .bashrc

теперь вставьте следующий код в конец файла.

if [ -f /home/abhyam/.bash_aliases ];thensource /home/abhyam/.bash_aliasesfi

теперь сохраните файл и выйдите, и так далее source .bashrc

теперь вы можете выполнить команду fup для полного обновления и обновления вашей системы в любое время.

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

Спасибо.

нашел эту нить в поисках того же сокровища. На случай, если кому-то все еще интересно, я работаю над проектом git, который выполняется с помощью тех же команд. Обратите внимание, я использовал цикл для команды apt update, потому что я получал ошибки "выполняется зеркальная синхронизация" и хотел, чтобы она продолжала попытки. Надеюсь, это поможет, и дайте мне знать, если у вас есть предложения! https://github.com/HastedHamster/BasherUpdate/blob/main/BasherUpdate.sh

Нет, вы можете сделать максимум sudo apt-get update && sudo apt-get dist-upgrade

Это все еще одна командная строка! :wink:

Для тех, кто когда-нибудь наткнется на этот вопрос, вот связанный с ним, чтобы запустить “обновление” и “обновление” как однострочные Reuse the `apt up` part of the `apt update` and `apt upgrade` commands to execute both in sequence in just one line - Ask Ubuntu

У меня есть папка, которая содержит все пользовательские команды, которые я запускаю /NSCS/bin