Установка и обновление современных дистрибутивов Ubuntu давно не представляет никакой сложности. Можно установить и долгое время полноценно работать в системе ни разу не прикоснувшись к терминалу. С одной стороны, это хорошо, так как позволяет приблизить Linux к конечному пользователю, который просто хочет включить компьютер и работать. С другой - понимание работы системы отходит на второй план и поэтому, если вам интересно, что происходит за кулисами графического интерфейса давайте углубимся в подробности.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Как известно, теория без практики мертва, практика без теории - это вообще сродни шаманскому камланию с бубном, но изучать теорию лучше всего применительно к реальным задачам. Тем более что как-раз подвернулся подходящий случай - в нашей виртуальной лаборатории нашлась одна система на Ubuntu 15.04, поддержка которой давно завершена.
Здесь мы сделаем небольшое отступление и напомним современную политику поддержки дистрибутивов Ubuntu. Если коротко, то основу линейки составляют дистрибутивы с длительным сроком поддержки - LTS, именно они рекомендуются для стабильной работы или серверного применения. В промежутках между выпусками LTS выпускаются "стандартные " релизы, в которых могут обкатываться новые технологии и поэтому они могут работать нестабильно.
LTS - релизы выходят раз в два года в апреле, стандартные следуют полугодовому графику и имеют поддержку в течении 9 месяцев с даты выпуска. Таким образом после выхода очередного стандартного (или LTS) релиза у вас остается всего три месяца чтобы обновить систему, если вы, конечно, хотите своевременно получать обновления. Ниже мы привели официальный график поддержки текущих и планируемых релизов.
Как видим, на момент написания данной статьи, актуальными являются LTS-релизы 12.04, поддержка которого заканчивается в апреле 2017, 14.04 и 16.04. Из стандартных релизов поддерживается только текущий - 16.10. Однако если мы заглянем в репозитории, то увидим там директории для уже снятых с поддержки дистрибутивов 15.04 и 15.10, а также находящегося в разработке 17.04.
О чем это говорит? О том, что вы можете получить все последние версии пакетов для указанных дистрибутивов, а также о том, что должна поддерживаться возможность штатным образом обновиться на один из актуальных релизов.
Оптимальная стратегия обновления для снятых с поддержки выпусков - это обновление до ближайшего LTS-релиза, а только затем, если у вас есть такое желание, можно обновиться до одного из стандартных. Почему так? Потому что LTS-релизы наиболее стабильны и достаточно хорошо изучены, что облегчает работу по выявлению и устранению возможных ошибок, в то время как стандартные выпуски могут работать нестабильно, а информации о проблемах и решениях может оказаться недостаточно.
Итак, вернемся в нашу систему и займемся ее обновлением. Прежде всего скачаем и установим все доступные обновления, это можно сделать через графический интерфейс или двумя короткими командами:
apt-get update
apt-get upgrade
После того, как все последние обновления будут скачаны и установлены система наконец "порадует" вас сообщением о прекращении поддержки и предложить обновиться на одну из доступных версий.
Однако если мы попробуем выполнить обновление, то столкнемся с малоинформативным сообщением об ошибке в системной программе, запустив процесс обновления в терминале получим более развернутую информацию.
В принципе данная ошибка легко устраняется беглым поиском, но это будет всего лишь частным случаем, который не добавит вам опыта и знаний, а с учетом того, что мы в самом начале решили заглянуть под капот процесса обновления, то нам представился хороший повод.
Кроме того, умение вручную обновлять систему может пригодиться вам и в иных ситуациях, например, когда штатный процесс завершился сбоем и загрузить систему в нормальном режиме невозможно, в этом случае вас не испугает черное окно терминала и вы успешно доведете процесс до конца. Или вам понадобится обновить один из производных дистрибутивов, авторы которого прекратили его поддержку, а штатных механизмов его обновления на "чистую" Ubuntu просто нет.
Первое, что вы должны сделать перед обновлением - это внимательно изучить список источников пакетов. Для начала заглянем в /etc/apt/sources.list.d, обычно в данной директории располагаются дополнительные репозитории для стороннего софта, во избежание конфликтов и недоразумений их следует отключить. Для этого достаточно просто удалить или переместить все содержащиеся там файлы.
Затем откроем /etc/apt/sources.list по умолчанию данный файл содержит только "родные" репозитории, но на всякий случай проверим его содержимое и удалим или закомментируем адреса сторонних репозиториев (если обнаружим). Подробнее о том, какие репозитории являются штатными можно прочитать здесь.
Следующим шагом нам потребуется обновить источники пакетов, используя для этого адреса репозиториев целевого дистрибутива, на который мы хотим обновиться. Так как наша цель - 16.04 (Xenial) то вам потребуется во всех строках заменить кодовое имя текущего выпуска - vivid на кодовое имя целевой системы - xenial.
В общем, никто не мешает сделать это вручную, но не будем забывать, что в руках у нас Linux со своими богатыми возможностями утилит командной строки. Поэтому наберем в терминале следующее "заклинание":
sed -i "s/vivid/xenial/g" /etc/apt/sources.list
Снова откроем файл и убедимся, что все нужные нам строки "волшебным образом" изменились.
Затем обновим список пакетов командой:
apt-get update
И перейдем непосредственно к обновлению:
apt-get dist-upgrade
В отличие от просто upgrade данная команда не только обновляет уже установленные пакеты, но и устанавливает новые, а также удаляет отсутствующие в актуальных репозиториях версии. Перед тем как начать процесс обновления утилита выдаст вам список изменений и предложит подтвердить их выполнение. Помните, что данное действие является необратимым и перед тем как нажать Enter следует еще раз подумать.
Дальнейший процесс, в зависимости от скорости интернет и вычислительной мощности компьютера займет некоторое время, в ходе которого следует время от времени поглядывать на экран, система может спросить, что делать с измененными файлами конфигурации, действие по умолчанию (рекомендуемое) - оставить текущий файл.
После завершения процесса обновления не спешите перезагружать систему, в ней наверняка остались пакеты, которые никому не нужны (старые версии библиотек, старые ядра и т.п.) и фактически являются мусором. Их следует удалить, для этих целей есть специальная команда:
apt-get autoremove
После выполнения уборки можно наконец перезагрузиться. Мы сразу визуально заметим, что наши действия увенчались успехом, но на всякий случай проверим:
lsb_release -a
Как видим - мы успешно обновили снятую с поддержки 15.04 до актуальной 16.04 LTS.
Вот так сложная на первый взгляд задача оказалась очень простой в реализации. По сути весь процесс обновления дистрибутива Linux (не обязательно Ubuntu или Debian) сводится к одному главному действию: заменить текущие пакеты из репозитория А более новыми пакетами из репозитория Б. Все остальное пакетный менеджер сделает самостоятельно.
Теперь можно обживаться в обновленной системе, доустановить стороннее ПО, выполнить тонкую настройку под собственные вкусы, а можно снова обновить систему до самого свежего стандартного релиза. И в этом процессе, глядя на стадии обновления в графическом интерфейсе, вы поймете, что его действия больше не являются для вас тайной, каждый указанный этап вам знаком, ведь вы только что выполняли его вручную.
На этом наша статья подошла к завершению, и мы надеемся, что после ее прочтения белых пятен в устройстве Linux для вас станет меньше. Что вы больше не будете воспринимать процесс обновления как "черный ящик", а наоборот почувствуете в себе силу и уверенность, когда именно вы управляете системой, а не она вами.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии