Как установить обновления через командную строку?

537

Когда я вхожу на мой веб-сервер через SSH, я вижу информацию:

88 packages can be updated.
80 updates are security updates

Я попробовал apt-get update , а затем apt-get upgrade , но каждый раз, когда я вхожу в систему, я все еще вижу сообщение об обновлениях. Как их установить?

    
задан Marlin 05.10.2012 в 15:44
источник

10 ответов

672

Попробуйте следующее:

sudo apt-get update        # Fetches the list of available updates
sudo apt-get upgrade       # Strictly upgrades the current packages
sudo apt-get dist-upgrade  # Installs updates (new ones)

Документацию о каждом параметре apt-get можно найти в человеко- страницы для apt-get . Они также доступны, запустив man apt-get на вашем компьютере.

    
ответ дан SirCharlo 05.10.2012 в 16:05
76

Это нормальное поведение.

Сообщение, которое вы видите при входе в систему, добавлено к статусу сервера «Message-Of-the-Day», который только обновлен каждый календарный день (или при загрузке / запуске сервера). Посмотрите содержимое, используя

cat /etc/motd

Пока все доступные обновления доступны после запуска

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

. Если вы снова запустите эту команду, вы получите только для любых дальнейших обновлений, если будут выпущены еще новые (новые) обновления.

    
ответ дан david6 05.10.2012 в 22:26
44

Выполните все команды, набрав sudo один раз:

sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y; apt-get autoclean -y'

или

sudo -s -- <<EOF
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
EOF
    
ответ дан Benny 08.11.2016 в 10:28
10

Как только вы войдете на свой сервер, запустите команду ниже.

sudo apt-get upgrade

Он должен сделать трюк. Возможно, вам просто нужно перезагрузить сервер.

    
ответ дан Mitch 08.09.2014 в 00:31
8

В моем случае у меня был неправильный или недоступный URL в / etc / apt / sources. список. После удаления этого URL-адреса я смог успешно обновить все пакеты.

Команды

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade
    
ответ дан burtsevyg 20.04.2013 в 11:29
7

Мой (очень поздно, мне нравятся значки некромантов :-)):

  1. Установите wajig (один раз):

    sudo apt-get install wajig 
    
  2. Если вы хотите полностью обновить / обновить свою систему

    wajig dailyupgrade
    

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

ответ дан Rmano 26.08.2015 в 09:47
4

Вам также может понадобиться сделать это -

sudo touch /etc/motd.tail

От - Ubuntu говорит мне, что у меня есть пакеты для обновления, когда я не

Это сработало для меня 14.04

    
ответ дан John Behan 12.10.2014 в 04:22
0

Если вы снова запустите apt-get update после того, как apt-get upgrade было завершено, эти сообщения в ssh должны уйти.

    
ответ дан Francisco Luz 13.08.2014 в 13:27
0

этот скрипт удобен для автоматизации обновлений, включая удаление ненужных пакетов и выполнение перезагрузки только в том случае, если ОС хочет

remote_user=usernamehere
remote_host=example.com

ssh -A -n -o StrictHostKeyChecking=no ${remote_user}@${remote_host} && \
sudo apt-get update && \
sudo apt-get -f install -y && \
sudo apt-get -o Dpkg::Options::="--force-confnew" -yy dist-upgrade -y && \
sudo apt-get autoremove -y && \
[ -f /var/run/reboot-required ] && \
echo "sudo reboot now" && \
sudo reboot now 

для запуска в локальном поле просто оставьте эту первую строку, сделав ssh

    
ответ дан Scott Stensland 16.12.2017 в 19:47
-4

Вы можете попробовать все:

sudo apt-get install software-center (gets the software center)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
    
ответ дан user2805313 18.08.2014 в 03:36