Правильное обновление дистрибутива Ubuntu

Содержание

Обновление Ubuntu Server: как обновить дистрибутив

Правильное обновление дистрибутива Ubuntu

С усовершенствованием технологий требуется постоянное обновление операционных систем. В том числе это касается и такой платформы, как Линукс. Обновление Ubuntu Server имеет свои достоинства и недостатки, которые следует учитывать при этом явлении. Причем процесс имеет свою точную методику обновления Ubuntu server.

Дистрибутив Убунту

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

Если новичок задается вопросами: можно ли обновить время Ubuntu или обновить Ubuntu с диска, то именно такой дистрибутив и нужно покупать. По сравнению с его аналогам сервер Убунту достаточно прост и практичен. К тому же дистрибутив Ubuntu имеет свое автоматическое обновление.

Сейчас самыми популярными дистрибутивами платформы Убунту являются:

  1. Kubuntu. Он используется для настольного ПК. Здесь есть большие возможности в выборе и возможностях интерфейса, программ и приложений, а также решении сотен различных практических задач. Однако важным минусом является то, что это ПО работает только с одной версией KDE, а все обновления происходят либо неправильно, либо с опозданием.
  2. Lubuntu. Это разновидность предыдущего варианта. Оборудование разработано специально для ноутбуков. Это быстрая и легкая система, понятная всем новичкам. Однако интерфейс может не прийтись по вкусу гурманам.
  3. Ubuntu. Универсальный дистрибутив для всех гаджетов. Он объединяет в себе возможности предыдущих вариантов. Единственным мелким минусом может стать непривычный интерфейс и работа в терминале.

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

Совет! Перед выбором и установкой дистрибутива Убунту следует проконсультироваться у специалистов сервисного центра.

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

Кроме того, следует обратить внимание на наличие приставки LTS, она указывает на долгосрочную лицензию. В случае каких-то больших неполадок лицензия понадобится при обращении к сетевым специалистам.

Установить программу можно с помощью загрузочной флэшки, но об этом позже.

Как обновить дистрибутив Ubuntu

Вне зависимости от версии Убунту обновление дистрибутива этой платформы проходит в 2 этапа.

Подготовка к обновлению

Алгоритм достаточно простой:

  1. Для минимизации возможных проблем открыть терминал с помощью клавиш Alt, Ctrl, T.
  2. Выполнить команду: sudo apt update && sudo apt dist-upgrade. Если было установлено другое ядро, то перед продолжением подготовительной работы систему следует перезагрузить.
  3. Установить важную утилиту с помощью записи: sudo apt install ppa-purge. Удалить ненужные репозитории с соответствующими им документами, программами и приложениями с помощью команды: find /etc/apt/sources.list.d -type f -name “*.list” -print0 | \while read -d $'\0' file; do awk -F/ '/deb / && /ppa\.launchpad\.net/ {system(“sudo ppa-purge ppa:”$4″/”$5)}' “$file”; done.
  4. Провести обновление системы.

Кстати, 3 пункт можно выполнить еще проще: зайти во вкладку «Программы и обновления» и отключить соответствующие программы вручную.

Обновление

Этот процесс можно сделать 2 способами.

Через GUI

Алгоритм процесса не сложен:

  1. Открыть «Программы и обновления». Выбрать вкладку «Обновления». Нажать клавишу «Искать обновления» и выбрать «До любой новой версии».
  2. Открыть главное меню. Запустить утилиту «Обновление приложений».
  3. Пи необходимости согласится с повторным обновлением системы.
  4. Нажать «Обновить». На все всплывающие вопросы нужно отвечать утвердительно.

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

Через терминал

Алгоритм еще проще:

  1. Открыть терминал сочетанием клавиш Alt, Ctrl, T.
  2. Открыть для работы пакет: sudo apt install update-manager-core.
  3. Для дальнейшего обновления изменить его настройки с помощью команды: sudo vi /etc/update-manager/release-upgrades Prompt=normal.
  4. Сохранить изменения.
  5. Для запуска искомого процесса следует ввести выражение sudo do-release-upgrade.
  6. Следовать дальнейшим инструкциям системы.

Для того чтобы убедиться в правильности процесса, нужно ввести выражение lsb_release –a.

Позже следует перезагрузить устройство и снова авторизироваться.

Как отменить обновление Ubuntu

Классически процесс отмены выглядит достаточно простой методикой:

  1. Из меню Dash открыть TimeShift.
  2. Ввести пароль от пользовательских root-прав и нажать «Ок».
  3. Выбрать место для сохранения резервных копий во вкладке «Устройство резервного копирования».
  4. Создать снимок с помощью команды Backup.
  5. Для отмены процесса следует выбрать соответствующий снимок в каталоге и нажать кнопку «Restore».

Изучаемый процесс отменен.

Для отключения автоматического обновления системы в файл /etc/apt/apt.conf.d/10periodic следует ввести запись:

sudo nano /etc/apt/apt.conf.d/10periodic

APT::Periodic::Unattended-Upgrade “0”;

Также можно отключить эту функцию через Центр приложений, во вкладке «Обновления». Переключить запись «Автоматически проверять наличие обновлений» в «Никогда».

Заключение

Обновление Ubuntu Server – важный процесс для работы на платформе Убунту. Однако начинающему пользователю следует в точности выполнять все инструкции, чтобы не возникало множество трудноразрешимых проблем.

Источник: https://iwsm.ru/operatsionnye-sistemy/linux/obnovlenie-distributiva-ubuntu

Обновить ubuntu из командной строки. Обновляем снятый с поддержки дистрибутив Ubuntu

Правильное обновление дистрибутива Ubuntu

Несколько дней назад в рамках графика релизов состоялся финальный релиз Ubuntu 16.04 с кодовым именем Xenial Xerus. Из этой статьи вы узнаете как обновить Ubuntu до 16.04.

Ubuntu 16.04 получила много интересных новых функций, например здесь будет заменен центр приложений на Gnome Software, появится возможность опустить лаунчер в низ, но так и не будет использована Unity 8 по умолчанию.

Серверная версия Ubuntu получит такие обновления:

  • Ядро Linux 4.4
  • OpenSSH 7.2p2
  • Apache и Ngnix с поддержкой PHP 7
  • Python 3.5
  • LXD 2.0
  • Docker 1.10
  • Libvrt 1.3.1
  • QEMU 2.5
  • Apt 1.2
  • glib 2.23, bindutils 2.2, GCC 5.3
  • OpenStack Mitaka
  • VSwitch 2.5.0
  • MySQL 5.7
  • Поддержка файловой системы ZFS

Основные обновления версии для рабочего стола:

  • Unity 7
  • Ubuntu Softwere заменен на Gnome Software
  • Удален Brasero
  • Отключен онлайн поиск в Dash
  • Панель быстрого запуска может быть опущена вниз
  • LibreOffice 5.1
  • Firefox 45
  • Многочисленные исправления ошибок

Ubuntu 16.04 — это релиз с длительным сроком поддержки (LTS), поэтому если вы не обновили свою систему до Ubuntu 15.10, рекомендуется это сделать сейчас, чтобы использовать самое новое, и главное стабильное программное обеспечение.

Мы рассмотрим как обновить Ubuntu 15.10 до 16.04 как серверной редакции, так и редакции для рабочего стола.

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

Как обновить Ubuntu до 16.04 Desktop

Эта инструкция рассчитана в первую очередь на Ubuntu Unity, но подойдет и для других официальных редакций Ubuntu: Xubuntu, Kubuntu, Lubuntu, Ubuntu Gnome, Ubuntu MATE и т д.

Все что вам нужно для обновления — это последовательно выполнить описанные ниже шаги:

Шаг 1. Обновление программного обеспечения

Перед тем как переходить непосредственно к обновлению Ubuntu до 16.04 нужно убедится, что у вас установлены самые новые версии программного обеспечения. Или в противном случае вы полнить обновление. Для этого выполните следующие команды:

sudo apt-get update
$ sudo apt-get upgrade

Обновление может занять много времени, в зависимости от вашего оборудования и скорости интернета.

Шаг 3. Очистка системы

После удаления удалим ненужные зависимости и очистим систему, чтобы освободить дисковое пространство:

sudo apt-get autoremove
$ sudo apt-get clean

Будут удалены все deb пакеты хранящиеся в кеше /var/cache/apt/archive/, а также неиспользуемые зависимости, библиотеки и старые ядра. Для завершения процесса обновления необходимо перезагрузить систему.

Шаг 4. Установка менеджера обновлений

Перед тем как обновлять систему, установим правильный, рекомендуемый Canonical менеджер обновлений:

sudo apt-get install update-manager-core

Шаг 5. Обновление

Теперь мы готовы выполнить обновление командой:

sudo do-release-upgrade

Шаг 6. Подтверждение обновления

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

Шаг 7. Завершение обновления

В зависимости от скорости подключения к интернету процесс обновления может занять некоторое время. Все необходимые пакеты будут загружены и установлены.

В процессе работы программа может спрашивать нужно ли автоматически перезапускать службы или оставлять старые кофигурационые файлы для новых пакетов. Если все правильно нажимайте y:

После завершения обновления Ubuntu 15.10 до 16.04, если все прошло успешно установщик предложит перезагрузить компьютер. Введите Yesчтобы продолжить.

9. Проверка результата

После перезагрузки вы получите самую новую версию Ubuntu 16.04. Посмотреть версию Ubuntu в терминале можно с помощью следующих команд:

uname -a$ cat /etc/lsb-release$ cat /etc/issue.net

$ cat /etc/debian_version

Также версию системы можно посмотреть в Настройках системы, на вкладке Подробности:

Обновление Ubuntu Server до 16.04 выполняется точно таким же способом. Только в отличии от предыдущего варианта вам придется подключатся к системе по ssh.

Если вам нужно обновить систему не с Ubuntu 15.10, а с более ранних версий, например 15.04, вам придется сразу выполнить обновление своей системы до Ubuntu 15.10, а уже потом переходить к этой инструкции. Исключение только Ubuntu 14.04, вы можете прочитать об обновлении Ubuntu 14.04 до Ubuntu 16.04 в отдельной статье.

Скачать Ubuntu 16.04

Если вы не хотите обновлять Ubuntu до 16.04, или используете другой дистрибутив Linux, но хотите попробовать эту операционную систему, можно создать Live USB или DVD диск, для этого скачайте установочный образ по ссылке:

Источник: https://bazava.ru/update-ubuntu-from-the-command-line-we-update-the-ubuntu-distro-from-the-support.html

Централизованная система обновления пакетов в Ubuntu

Правильное обновление дистрибутива Ubuntu

Всем привет, Что делать, если аналоги платные или не адаптированы под наши условия? Конечно, писать самому.

Условие:

  • ~ 50 удаленных клиентских станций, работающих на Ubuntu Desktop (10.04-12.10).

Задача:

  1. Получение информации о доступности обновления пакетов, на удаленных клиентских станциях.
  2. Логирование версий пакетов доступных для обновления.
  3. Удаленное обновление одной/всех клиентских станций.

Варианты решения:

  • Landscape – Отлично, но платно.
  • Spacewalk – Только RHEL и ему подобные.
  • Собственная разработка – этот вариант как раз для нас.

Поскольку мои знания ограничиваются одним языком программирования – bash, реализация будет выполнена именно на нем.

Что нам потребуется:

  • ssh-server на клиентских станциях.
  • Общий пользователь для администрирования.
  • Linux сервер (программа expect должна быть установлена).
  • Сетевая шара (я использовал nfs).

Как будет работать: ssh adm@IP -> сбор нужной информации -> запись в лог на сервер -> exit.

Как выглядит на практике:

При запуске программы отображается информация о пользователях и доступных пакетах для обновления. Имеется возможность ручного управления через меню. P.s реальные имена и IP заменены в целях анонимности. Далее показан пример выполнения первого пункта:
Краткая информация о системе, список пакетов доступных для обновления.

Примеры лог файлов, которые создает программа можно скачать тут

Реализация:

/root/uuman – корневая папка программы. ../uuman/log – папка с лог файлами (она же сетевая шара). ../../log/.menu_log – скрытая папка с краткой информацией о удаленной машине.setup – файл первоначальной настройки удаленных машин.#!/usr/bin/expect -f set IP $argv#Ождиаем каждую командуset timeout -1#Отправляем ключ на удаленную станциюspawn ssh-copy-id -i /root/.ssh/id_rsa.pub adm@$IPexpect -re “(yes/no)”#Отправляем YESsend “yes\r”#Ждем строки ввода пароляexpect -re “Password:”#Вводим парольsend “YOU_PASSWORD\r”#Подтверждение добовления ключаexpect -re “expecting.”#Заходим по sshspawn ssh adm@$IPexpect -re “\\$ $”#Обязательноо запросить sudo парольsend “sudo -K\r”expect -re “\\$ $”#Становимся rootsend “sudo su\r”expect -re “password for”send “YOU_SUDO_PASSWORD\r”expect -re “# $”#Устанавливеам необходимые пакеты(если используете samba шару замените пакет nfs-common на cifs-utils)send “apt-get install -y apt-show-versions nfs-common\r”expect -re “# $”send “exit\r”expect -re “\\$ $”exit 0
update – файл для сбора информации о доступных пакетах.#!/usr/bin/expect -f set IP [lrange $argv 0 0]set USERN [lrange $argv 1 1]set DATES [exec date “+%Y.%m.%d/%H:%M:%S”]#Подключаемся по ssh (adm сменить на своего пользователя)spawn ssh adm@$IP#Ждем конец строки $expect -re “\\$ $”#Требуем обязательно запросить пароль от sudosend “sudo -K\r”expect -re “\\$ $”#Становимся rootsend “sudo su\r”expect -re “password for”send “YOU_SUDO_PASSWORD\r”#Ждем конец строки #expect -re “# $”#Создаем временную папку, для монтирования шарыsend “mkdir -m 777 /tmp/share > /dev/null 2>&1\r”expect -re “# $”#Монтируем nfs шару (для samba строка будет выглядить иначе)send “mount.nfs 192.168.0.1:/root/uuman/log /tmp/share\r”expect -re “# $”#Дата в лог файлsend “date > /tmp/share/$IP.log\r”expect -re “# $”#Версия ядра, битность системы в лог файлsend “uname -a >> /tmp/share/$IP.log\r”expect -re “# $”#Имя пользовтаеля в логsend “echo Username:$USERN >> /tmp/share/$IP.log\r”expect -re “# $”#IP в логsend “echo IP:$IP >> /tmp/share/$IP.log\r”expect -re “# $”#Имя хоста в логsend “(echo -n Hostname:;hostname) >> /tmp/share/$IP.log\r”expect -re “# $”#Версия Ubuntu в логsend “(cat /etc/issue.net) >> /tmp/share/$IP.log\r”expect -re “# $”#Считаем количетсво достпуных пакетов для обновления и записываем в лог файлsend “(echo -n Count of packages for update:;apt-show-versions -u | wc -l) >> /tmp/share/$IP.log\r”expect -re “# $”#Пустая строкаsend “echo >> /tmp/share/$IP.log\r”expect -re “# $”#Расширеный список пакетов для обновления в логsend “apt-show-versions -u | column -t >> /tmp/share/$IP.log\r”expect -re “# $”#Строка для конфигурации денамического меню (ИМЯ пользователя | IP | ubuntu_version | кол-во пакетов | дата запроса)send “(echo -n $USERN;echo -n ' |' $IP '| ';cat /etc/issue.net | sed 's/ /_/g';echo -n AvailableUpdates\:;apt-show-versions -u | wc -l ;echo -n $DATES) > /tmp/share/.menu_log/$IP.log\r”expect -re “# $”#Отмонтируем шаруsend “umount -f /tmp/share\r”expect -re “# $”#Очищаем историю rootsend “history -c\r”expect -re “# $”#выходим из rootsend “exit\r”expect -re “\\$ $”exit 0
package – файл для обновления клиентских машин.#!/usr/bin/expect -f set IP [lrange $argv 0 0]set USERN [lrange $argv 1 1]set DATES [exec date “+%Y.%m.%d/%H:%M:%S”]#Ждем окончания каждой командыset timeout -1spawn ssh adm@$IPexpect -re “\\$ $”send “sudo -K\r”expect -re “\\$ $”send “sudo su\r”expect -re “password for”send “YOU_SUDO_PASSWORD\r”expect -re “# $”#Обновляем системуsend “apt-get -y upgrade\r”expect -re “# $”#Собираем информацию в логsend “mkdir -m 777 /tmp/share > /dev/null 2>&1\r”expect -re “# $”send “mount.nfs 192.168.0.1:/root/uuman/log /tmp/share\r”expect -re “# $”send “date > /tmp/share/$IP.log\r”expect -re “# $”send “uname -a >> /tmp/share/$IP.log\r”expect -re “# $”send “echo IP:$IP >> /tmp/share/$IP.log\r”expect -re “# $”send “(echo -n Hostname:;hostname) >> /tmp/share/$IP.log\r”expect -re “# $”send “(cat /etc/issue.net) >> /tmp/share/$IP.log\r”expect -re “# $”send “(echo -n Count of packages for update:;apt-show-versions -u | wc -l) >> /tmp/share/$IP.log\r”expect -re “# $”send “echo >> /tmp/share/$IP.log\r”expect -re “# $”send “apt-show-versions -u | column -t >> /tmp/share/$IP.log\r”expect -re “# $”send “(echo -n $USERN;echo -n ' |' $IP '| ';cat /etc/issue.net | sed 's/ /_/g';echo -n AvailableUpdates\:;apt-show-versions -u | wc -l ;echo -n $DATES) > /tmp/share/.menu_log/$IP.log\r”expect -re “# $”send “umount /tmp/share\r”expect -re “# $”send “apt-get -y upgrade\r”expect -re “# $”send “history -c\r”expect -re “# $”send “exit\r”expect -re “\\$ $”exit 0
uuman.sh – файл запуска (основной файл).#!/bin/bash #Дата для логовDATE=`date “+%Y.%m.%d/%H:%M:%S”`#Папка лог файловLOCAL=”/root/uuman/log”#Рабочая папка скриптаWORKD=”/root/uuman” #[\]Идикатор работыspinner(){ local pid=$1 local delay=0.25 while [ $(ps -eo pid | grep $pid) ]; do for i in \| / – \\; do printf ' [%c]\b\b\b\b' $i sleep $delay done done printf '\b\b\b\b'} #Функция для обновления информации о хостахUPDATEA(){ #2012_11_23 DATEFN=`date “+%Y_%m_%d”` #Задаем права на папку с логами. Данная строка используется для nfs chown -R nfsnobody:nfsnobody $LOCAL i=0 #Обрабатываем каждую строку файла cat $WORKD/ip.txt | while read line; do USERN=`echo $line` #Получаем IP из строки IP=`echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'` #Доступность хоста if ping -c 1 -s 1 -W 1 $IP > /dev/null 2>&1; then i=`expr $i + 1` #Для каждого хоста отдельный screen screen -A -m -d -S “upd$i” expect $WORKD/update $IP $USERN #Строка для начальной настройки хостов #screen -A -m -d -S “upd$i” expect $WORKD/setup $IP else #Если хост не доступен пишем в логи соответсующий вывод #Данные в лог ошибок echo “$DATE” >> $LOCAL/err.txt echo “$USERN – not connected” >> $LOCAL/err.txt echo >> $LOCAL/err.txt #Данные в общий лог echo “$DATE | $USERN – not connected” >> $LOCAL/upd.txt echo >> $LOCAL/upd.txt #Данные в лог текущей даты echo “$DATE | $USERN – not connected” >> $LOCAL/UPD-$DATEFN.txt echo >> $LOCAL/UPD-$DATEFN.txt #Если хост когда-либо был в сети, не ставить статус not connected в меню NT=`cat $LOCAL/.menu_log/$IP.log | grep “AvailableUpdates”` if [ -z “$NT” ]; then echo -n “$USERN | Unknown | NotConnected | $DATE” > $LOCAL/.menu_log/$IP.log fi fi done #Информация по хостам в общий лог ls $LOCAL | grep .log | while read TXT; do paste $LOCAL/$TXT >> $LOCAL/upd.txt echo >> $LOCAL/upd.txt #В лог на текущую дату paste $LOCAL/$TXT >> $LOCAL/UPD-$DATEFN.txt echo >> $LOCAL/UPD-$DATEFN.txt done} #Функция для обновления всех хостовPACKAGEA(){ #2012_11_23 DATEFN=`date “+%Y_%m_%d”` #Задаем права на папку с логами. Данная строка используется для nfs chown -R nfsnobody:nfsnobody $LOCAL i=0 #Обрабатываем каждую строку файла cat $WORKD/ip.txt | while read line; do USERN=`echo $line` #Получаем IP из строки IP=`echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'` #Доступность хоста if ping -c 1 -s 1 -W 1 $IP > /dev/null 2>&1; then i=`expr $i + 1` #Для каждого хоста отдельный screen screen -A -m -d -S “upd$i” expect $WORKD/package $IP $USERN else #Если хост не доступен пишем в логи соответсующий вывод #Данные в лог ошибок echo “$DATE” >> $LOCAL/err.txt echo “$USERN – not connected” >> $LOCAL/err.txt echo >> $LOCAL/err.txt #Данные в общий лог echo “$DATE | $USERN – not connected” >> $LOCAL/upd.txt echo >> $LOCAL/upd.txt #Данные в лог текущей даты echo “$DATE | $USERN – not connected” >> $LOCAL/UPD-$DATEFN.txt echo >> $LOCAL/UPD-$DATEFN.txt #Если хост когда-либо был в сети, не ставить статус not connected в меню NT=`cat $LOCAL/.menu_log/$IP.log | grep “AvailableUpdates”` if [ -z “$NT” ]; then echo -n “$USERN | Unknown | NotConnected | $DATE” > $LOCAL/.menu_log/$IP.log fi fi done #Информация по хостам в общий лог ls $LOCAL | grep .log | while read TXT; do paste $LOCAL/$TXT >> $LOCAL/upd.txt echo >> $LOCAL/upd.txt #В лог на текущую дату paste $LOCAL/$TXT >> $LOCAL/UPD-$DATEFN.txt echo >> $LOCAL/UPD-$DATEFN.txt done} #Функция генерация общего мини-отчета по хостам (Меню)MAIN(){ rm -rf $LOCAL/MENU.txt ls $LOCAL/.menu_log | grep .log | while read MENU; do #Все для красивого вывода (возврат строки и замена символов) TEXT=`paste -s -d '|' $LOCAL/.menu_log/$MENU | sed 's/|/ | /g;s/-/|/g'` echo $TEXT >> $LOCAL/MENU.txt done #Очистка экрана и табличный вывод файла clear && cat $LOCAL/MENU.txt | column -t} #Меню скриптаMENU() { echo echo “1.Get update-information for Ubuntu-host (by custom IP-address)” echo “2.Get update-information for all Ubuntu-hosts (uses file with IP-addresses)” echo “3.Update packages for Ubuntu-host (by custom IP-address)” echo “4.Update packages for all hosts (uses file with IP-addresses)” echo “5.View error-connection log” echo “6.Refresh” echo “7.Exit” read SELECT case $SELECT in 1) #Информация о конкретном IP echo -n “Enter IP:” read IP #Задаем права на папку с логами. Данная строка используется для nfs chown -R nfsnobody:nfsnobody $LOCAL #Доступен ли хост if ping -c 1 -s 1 -W 1 $IP > /dev/null 2>&1; then #Находим пользовтеля по IP и получаем его имя USERN=`cat $WORKD/ip.txt | grep “$IP” | sed 's/ .*//'` $WORKD/update $IP $USERN > /dev/null 2>&1 & spinner $! cat $LOCAL/$IP.log else #Уведомляем и записываем в лог ошибок echo “Computer is not online” echo “$DATE” >> $LOCAL/err.txt echo “$IP – not connected” >> $LOCAL/err.txt echo >> $LOCAL/err.txt fi MENU ;; 2) #Обновить информацию о всех хостах UPDATEA > /dev/null 2>&1 & spinner $! #Не все хосты успевают быстро обработать информацию, можно выставить задержку перед показом меню #sleep 5s MAIN MENU ;; 3) #Обновить конкретный IP echo “Enter IP:” read IP #Задаем права на папку с логами. Данная строка используется для nfs chown -R nfsnobody:nfsnobody $LOCAL if ping -c 1 -s 1 -W 1 $IP > /dev/null 2>&1; then #Находим пользовтеля по IP и получаем его имя USERN=`cat $WORKD/ip.txt | grep “$IP” | sed 's/ .*//'` $WORKD/package $IP $USERN > /dev/null 2>&1 & spinner $! cat $LOCAL/$IP.log else echo “Computer is not online” echo “$DATE” >> $LOCAL/err.txt echo “$IP – not connected” >> $LOCAL/err.txt echo >> $LOCAL/err.txt fi MENU ;; 4) #Обновить все хосты PACKAGEA > /dev/null 2>&1 & spinner $! #Не все хосты успевают быстро обработать информацию, можно выставить задержку перед показом меню #sleep 5s MAIN MENU ;; 5) #Показать лог ошибок cat $LOCAL/err.txt MENU ;; 6) #Обновить MAIN MENU ;; 7) exit 0 ;; *) MENU esac} #Запуск скрипта с параметрами#Получаем параметрARG=$1 case $ARG in #Обновить информацию о всех хостах check) UPDATEA exit 0 ;; #Обновить все хосты update) PACKAGEA exit 0 ;; *) MAIN MENU ;; esac
ip.txt – база содержащая User – IP.User1 — 192.168.0.1 User2 — 192.168.0.2 User3 — 192.168.0.3 User4 — 192.168.0.4

Как пользоваться:

Если Вы использовали свои пути, поправьте следующие переменные в uuman.sh:#Папка лог файловLOCAL=”/root/uuman/log”#Рабочая папка скриптаWORKD=”/root/uuman” Скрипт setup установит необходимые пакеты для работы программы на клиентских станциях. Чтобы использовать скрипт, в файле uuman.sh закомментируйте строку:screen -A -m -d -S “upd$i” expect $WORKD/update $IP $USERNИ раскомментируйте:
#screen -A -m -d -S “upd$i” expect $WORKD/setup $IP Автоматический режим:

$WORKD/uuman.sh check — чек клиентских станций из файла ip.txt на доступность обновлений.

$WORKD/uuman.sh update — обновление клиентских станций, доступных из файла ip.txt.

Итог:

Мы получаем клиент-серверную систему позволяющую в автоматическом или ручном режиме получать, хранить и обрабатывать информацию об актуальности установленных программ, пакетов безопасности и при необходимости производить обновление на клиентских станциях под управлением Ubuntu Linux. UPD: Авторизация теперь по ssh-key. Генерируем ключssh-keygen -t rsa
С помощью файла setup, размещаем его на клиентских станциях.

  • bash
  • linux
  • ubuntu
  • системное администрирование

Источник: https://habr.com/post/160579/

Как обновить сервер до Ubuntu 16.04 LTS

Правильное обновление дистрибутива Ubuntu

Внимание: Более ранняя версия этой статьи включала упоминание Ubuntu 14.04. Хотя обновление с версии 14.

04 может успешно завершиться, обновления с одной версии LTS до следующей версии LTS по умолчанию отключены до момента выхода первого обновления новой версии LTS (point release). Мы рекомендуем не обновляться до выхода версии 16.04.1.

На серверах Digital Ocean системы с Ubuntu 14.04 после обновления будут использовать старое ядро, которое в течение первого времени нельзя будет обновить.

Следующий LTS релиз Ubuntu версии 16.04 (Xenial Xerus) будет доступен с 21 апреля 2016 года.

Хотя эта версия ещё не доступна для обновления на момент написания данной статьи, в настоящее время возможно обновить систему с 15.10 до девелоперской версии 16.04. Это может быть полезно для тестирования процесса обновления и новых возможностей 16.04 до момента официального выхода новой версии.

Эта статья описывает процесс обновления для систем с Ubuntu 15.10 (включая, но не ограничиваясь дроплетами Digital Ocean).

Внимание: Как и в случае любого другого обновления операционной системы этот процесс подвержен риску потери данных и конфигураций программного обеспечения. Рекомендуем сделать бэкапы перед началом процесса обновления и тщательно тестировать свои сервера после обновления.

Перед началом

Инструкции в этой статье предполагают, что у вы используете Ubuntu 15.10. Перед началом убедитесь, что у вас есть не-рутовый пользователь с привилегиями sudo.

Потенциальные проблемы

Несмотря на то, что многие системы могут обновиться без каких-либо проблем, чаще всего гораздо безопаснее и более предсказуемо обновляться на новую версию операционной системы путём установки с нуля, настройки конфигурации с одновременным её тестированием, перенося пользовательские данные только после завершения установки.

Не следует обновлять production систему без предварительного тестирования всего установленного программного обеспечения и сервисов с новой версией в staging среде.

Помните, что библиотеки, языки программирования и системные сервисы могли значительно измениться в обновлении. В Ubuntu 16.

04 важными изменениями по сравнению с предыдущей LTS версией стали переход к использованию системы инициализации systemd вместо Upstart, особый акцент на поддержке Python 3, а также использование PHP 7 вместо PHP 5.

Перед обновлением рекомендуем ознакомиться со списком изменений в Xenial Xerus.

Шаг 1. Бэкап системы

Перед любым обновлением системы вам стоит убедиться, что вы не потеряете пользовательские данные в случае, если что-то пойдёт не так. Лучшим способом убедиться в этом является полный бэкап файловой системы.

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

В случае дроплета Digital Ocean самым простым способом создания бэкапа является выключения сервера и создание снимка системы (snapshot). Выключение сервера при этом гарантирует, что файловая система будет сохранена в целостном состоянии.

Для ознакомления с этим процессом рекомендуем прочитать статью Как использовать снимки системы Digital Ocean для автоматизации бэкапов ваших дроплетов.

После того, как вы убедитесь, что обновление прошло успешно, вы можете удалить снимок системы, чтобы сэкономить деньги на его хранении.

Для поиска более универсального способа создания бэкапов, который будет работать на любой системе с Ubuntu, рекомендуем ознакомиться со статьёй Как выбрать эффективную стратегию создания бэкапов для вашего виртуального сервера.

Шаг 2. Обновление установленных пакетов

Перед началом обновления системы лучше всего установить самые последние версии всех пакетов для текущей версии операционной системы.

Для этого сначала обновим список пакетов:

Далее обновим установленные пакеты до последних доступных версий:

Вам будет представлен список обновлений пакетов. Отвечайте y и нажимайте Enter для продолжения.

Этот процесс может занять некоторое время. После его завершения используйте команду dist-upgrade, которая выполнит обновления, затрагивающие зависимости пакетов, добавляя или удаляя пакеты при необходимости. В результате могут обновиться пакеты, которые не обновились в результате apt-get upgrade:

  • sudo apt-get dist-upgrade

Отвечайте y для продолжения и дождитесь завершения установки обновлений пакетов.

Теперь, когда у вас есть полностью обновлённая версия Ubuntu 15.10, вы можете использовать do-release-upgrade для обновления до 16.04.

Шаг 3. Использование do-release-upgrade для обновления системы

Сначала убедимся, что у вас установлен пакет update-manager-core:

  • sudo apt-get install update-manager-core

Традиционно дистрибутивы на базе Debian используют для обновления файл /etc/apt/sources.list, указывающий на список репозиториев пакетов для apt, а также используют команду apt-get dist-upgrade для выполнения самого обновления. Ubuntu основана на Debian, поэтому данный процесс, скорее всего, сработает.

Тем не менее, мы будем использовать утилиту do-release-upgrade, предоставляемую проектом Ubuntu, которая проверяет наличие нового релиза, обновляет sources.list, а также выполняет ряд других действий.

Это официально рекомендованный способ обновления серверов, который должен выполняться с помощью удалённого соединения.

Начнём с команды do-release-upgrade без каких-либо опций:

Если Ubuntu 16.04 ещё не доступна, вы увидите следующий вывод:

Вывод
Checking for a new Ubuntu releaseNo new release found

Для обновления до версии 16.04 до момента её официального релиза, укажите ключ -d для использования девелоперского релиза:

  • sudo do-release-upgrade -d

Если вы зашли на свой сервер через SSH (как, например, в случае использования дроплета Digital Ocean), вас спросят, хотите ли ли вы продолжить установку.

В случае дроплета обновляться через SSH безопасно. Вы всегда можете использовать консоль в панели управления Digital Ocean для подключения к серверу не используя SSH.

При использовании виртуальный серверов или серверов других провайдеров вам необходимо иметь в виду, что потеря SSH соединения несёт риски, особенно, если у вас нет другого способа удалённо зайти на вашу машину. В случае других ваших систем, помните, что безопаснее всего выполнять обновления операционной системы только если у вас есть физический доступ к машине.

Ответьте y и нажмите Enter для продолжения:

Reading cache Checking package manager Continue running under SSH? This session appears to be running under ssh. It is not recommendedto perform a upgrade over ssh currently because in case of failure itis harder to recover. If you continue, an additional ssh daemon will be started at port'1022'.Do you want to continue? Continue [yN] y

Далее вас проинформируют, что do-release-upgrade запустит новый процесс sshd на порту 1022:

Starting additional sshd To make recovery in case of failure easier, an additional sshd will be started on port '1022'. If anything goes wrong with the running ssh you can still connect to the additional one. If you run a firewall, you may need to temporarily open this port. As this is potentially dangerous it's not done automatically. You can open the port with e.g.: 'iptables -I INPUT -p tcp –dport 1022 -j ACCEPT' To continue please press [ENTER]

Нажмите Enter. Далее вы можете увидеть предупреждение о том, что зеркало для обновления не найдено. В системах Digital Ocean вы можете игнорировать это сообщение и продолжать обновление, поскольку локальное зеркало для 16.04 на самом деле является доступным. Введите y:

Updating repository information No valid mirror found While scanning your repository information no mirror entry for the upgrade was found. This can happen if you run an internal mirror or if the mirror information is date. Do you want to rewrite your 'sources.list' file anyway? If you choose 'Yes' here it will update all 'trusty' to 'xenial' entries. If you select 'No' the upgrade will cancel. Continue [yN] y

После того, как новый список пакетов будет загружен, вас спросят, хотите ли вы начать обновление. Введите y для продолжения:

Do you want to start the upgrade? 6 installed packages are no longer supported by Canonical. You canstill get support from the community. 9 packages are going to be removed. 104 new packages are going to beinstalled. 399 packages are going to be upgraded. You have to download a total of 232 M. This download will take about46 seconds with your connection. Installing the upgrade can take several hours. Once the download hasfinished, the process cannot be canceled. Continue [yN] Details [d]y

Далее новые пакеты будут загружены, распакованы и установлены. Даже если ваша система имеет быстрое соединение, это займёт какое-то время.

В процессе установки вам могут задавать различные вопросы. Например, вас могут спросить, хотите ли вы автоматически перезапускать сервисы, когда это необходимо:

В этом случае вы можете ответить “Yes”. В других случаях вас могут спросить, хотите ли вы заменить изменённый вами конфигурационный файл на файл по умолчанию распространяемый с устанавливаемым пакетом. Ответ на этот вопрос чаще всего требует знания специфики работы данного конкретного пакета, и находится за пределами тем, описываемых в данной статье.

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

Remove obsolete packages? 53 packages are going to be removed. Continue [yN] Details [d]y

Наконец, если всё прошло успешно, вам сообщат, что обновление завершено и необходимо перезапустить машину. Введите y для продолжения:

System upgrade is complete. Restart required To finish the upgrade, a restart is required. If you select 'y' the system will be restarted. Continue [yN] y

При использовании SSH вы, скорее всего, увидите нечто похожее:

=== Command detached from window (Thu Apr 7 13:13:33 2016) ====== Command terminated normally (Thu Apr 7 13:13:43 2016) ===

Возможно, вам придётся нажать любую клавишу для выхода в локальную консоль, поскольку ваша SSH сессия была прервана на стороне сервера. Подождите, пока система перезагрузится и войдите в неё снова. В процессе логина вы должны увидеть приветствие, подтверждающее установку Xenial Xerus:

Welcome to Ubuntu Xenial Xerus (development branch) (GNU/Linux 4.4.0-17-generic x86_64)

Правильное обновление дистрибутива Ubuntu

Правильное обновление дистрибутива Ubuntu

Иметь актуальную версию операционной системы — очень важно. Это гарантирует немало преимуществ. Когда речь заходит об Linux-подобных ОС, здесь обновления порой дают больше плюсов, чем в Windows. Обновление Ubuntu предлагает новые средства в инструментарии опытного пользователя, версии стандартных программ, а также графические усовершенствования.

Процесс обновления включает в себя установку новой Ubuntu Server.

Наиболее актуальна на сегодня версия Ubuntu под номером 16.10 с кодовым названием «Yakkety Yak». Наряду с мелкими улучшениями, она предлагает пользователям и все преимущества 16.04, среди которых:

  1. Новое ядро Линукс — 4.4. В Ubuntu обновить ядро — крайне важно.
  2. Новые средства управления контейнерами.
  3. Улучшенная система инициализации Systemd.
  4. Введённая поддержка пакетов
  5. Другие необходимые «плюшки».

Обновление Убунту

Мы рассмотрим, как обновить Убунту, на примере одного из свежих релизов, 16.04. Установка более нового не отличается практически ничем. В большинстве случаев она будет выполнена автоматически. Обновление Убунту можно провести разными способами — либо на основе уже существующего дистрибутива, или же «с нуля», как с чистой системой.

Рассмотрим установку новой Убунты в режиме «шаг-за-шагом», начиная с версии 14.04. Перед началом инсталляции очень важно зарезервировать всю важную информацию на внешнем носителе. Иногда при установке новой версии случаются непредвиденные обстоятельства и возникают проблемы.

Порядок действий

  1. Для начала необходимо узнать версию установленной ОС. Для этого вызовите в строке поиска Update Manager. Эта программа проведёт мониторинг всех обновлений, которые существуют. 
  2. Далее нажмите кнопку «Установить». Это запустит копирование файлов обновлений.

     

  3. Перезапустите компьютер, если это потребуется.
  4. Запустите Менеджер обновлений. Если вы видите сообщение «The software on this computer is up to date», значит, пока всё идёт удачно. 

А сейчас мы начнём сам процесс.

Откройте терминал и выполните команду:

«$ sudo update-manager -d»

После начала действия команды откроется окно. В окне будет сказано, что доступно новое обновление дистрибутива U Введите пароль, которым обычно пользуетесь для подтверждения действий.

Нажмите «Upgrade…».

Только что мы рассмотрели, как обновить Ubuntu, на примере стандартного дистрибутива. Теперь обратим внимание на Убунту Сервер.

Установка новой Ubuntu Server

Разница в процессе заключается в том, что теперь все шаги необходимо будет выполнить в Терминале. Прежде всего, убедимся в наличии на компьютере самого нового ПО из актуальной версии системы. Если программы не актуальны, будет запущен процесс апдейта:

«$ sudo apt-get update && sudo apt-get dist-upgrade»

Далее, потребуется перезагрузить компьютер:

 «$ sudo init 6»

Сейчас будет нужно инсталлировать актуальный Менеджер обновлений:

«$ sudo apt-get install update-manager-core»

Добавьте в файл с установками по команде «$ sudo vi /etc/update-manager/release-upgrades» строку «Prompt = LTS». Лучше всего вставить её в конец документа.

Строка, которую вы только что изменили, служит для информирования о новых релизах. Для неё есть такие опции:

  • LTS — будут показываться все новые LTS (Long Term Support) версии дистрибутивов. Это версии с длительной поддержкой (как правило, 5 лет), которыми рекомендуется пользоваться на постоянной основе. Обновление Ubuntu с их выходом наиболее оправдано.
  • Normal — если найден любой новый релиз, ОС предложит загрузить его. Это относится и к промежуточным релизам.
  • Never — никогда не показывать наличие новых версий.

А сейчас — само обновление дистрибутива серверной Ubuntu:

«$ sudo do-release-upgrade —d»

Вы увидите в Менеджере список изменений, которые будут внесены. Следуйте инструкциям на экране. Если потребуется перезапустить сервисы и программы, сделайте это. Как правило, для подтверждения всех действий будет достаточно нажать «Y».

Когда всё будет готово, просто выполните перезагрузку сервера.

ВАЖНО. Чтобы убедиться, что вы установили именно нужный релиз ОС, перейдите в настойки и найдите «О системе». В этом окне всегда будет указана текущая версия вашей системы. 

Чтобы получить актуальную версию ОС на базе Linux, не нужно тратить много времени. Основное время уходит на загрузку компонентов. Мы рассмотрели, как обновить Ubuntu, на примере одного из самых свежих дистрибутивов, 16.04. Уверены, что инсталляция ещё более свежих выпусков системы не вызовет у вас проблем.

Напоминаем, что вы всегда можете найти свежую информацию о популярных программах для Линукс на страницах нашего сайта!

Источник: https://nastroyvse.ru/opersys/lix/kak-obnovit-distributiv-ubuntu.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.