- Записки IT специалиста
- Linux — начинающим. Обновление Debian до следующего выпуска
- Подготовка системы
- Установка новых источников пакетов
- Обновление выпуска Debian
- Дополнительные материалы:
- Настройка обновлений linux debian
- Предварительная подготовка
- Поехали!
- С помощью Synaptic
- С помощью Aptitude
- С помощью Apt-get
Записки IT специалиста
Linux — начинающим. Обновление Debian до следующего выпуска
Не так давно вышел очередной выпуск популярной операционной системы Debian — Debian 11 Bullseye, одновременно с этим событием в завершающую фазу жизненного цикла перешел один из предыдущих дистрибутивов — Debian 9, поддержка которого заканчивается в июне 2022 года. Это заставляет задуматься владельцев старых систем об обновлении до нового выпуска. Это весьма ответственный процесс, поэтому следует подойти к нему со всей серьезностью, постаравшись максимального оградить себя от неприятных неожиданностей. Как это сделать — расскажем в нашей статье.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
В отличии от Ubuntu, Debian не имеет инструментов для автоматического обновления выпуска, но, как правило, его пользователей это не пугает. Наоборот, кроме высочайшей стабильности, Debian ценится еще тем, что предоставляет администратору все рычаги управления системой и последний всегда может быть уверен, что выполнено будет только то, что он хочет и именно так, как нужно ему.
Автоматические инструменты, с одной стороны облегчают труд администратора, с другой — лишают его знаний и опыта, чтобы не говорили — администратор, перед тем как автоматизировать некоторый участок, должен прекрасно знать как он устроен и уметь делать все руками. Debian как раз дает возможность получить такой опыт.
Подготовка системы
Перед тем, как браться за обновления необходимо убедиться в нормальном функционировании системы. Прежде всего проверим наличие не полностью установленных или не настроенных пакетов. Для этого выполним:
Если вывод команды вернул какой-либо результат, то в первую очередь следует попробовать автоматически решить проблемы командой:
Если же это не помогло, то с каждым пакетом придется разбираться отдельно. В любом случае его необходимо либо удалить, либо установить. Удалить пакет можно командой:
Следующий шаг — выявление зафиксированных пакетов, которые были защищены от обновления. Это можно выяснить следующим образом:
dpkg --get-selections | grep 'hold$'
Снять фиксацию можно командой:
apt-mark unhold имя_пакета
Но будьте внимательны, фиксация пакетов не производится на ровном месте, для этого всегда есть причины. Обычно они связаны со сторонним софтом, требующим именно определенных версий пакетов. Убедитесь, что данный программный продукт имеет версию для следующего выпуска, в противном случае с обновлением следует повременить.
Также будет не лишним очистить систему от накопившегося мусора. Многие пакеты при удалении оставляют файлы конфигурации или иные пользовательские данные, что может стать проблемой при последующей установке пакета уже в новом выпуске ОС. Для очистки оставшихся настроек выполните:
Ну и наконец обновите систему до последней версии пакетов:
apt update && apt full-upgrade
После чего не забудьте сделать резервную копию, так как последующие действия будут иметь необратимые последствия.
Установка новых источников пакетов
Как мы знаем, все пакеты Debian располагаются в специальных хранилищах — репозиториях и для обновления нам следует изменить адреса репозиториев предыдущего выпуска на адреса репозиториев целевого выпуска. Но в системе могут присутствовать и иные источники пакетов, которые могут вызвать проблемы во время обновления и поэтому их следует отключить.
В первую очередь проверим директорию /etc/apt/sources.list.d и переместим все найденные в ней файлы в другое расположение. Попутно рекомендуем изучить их, возможно не все из них вам нужны, а для нужных заранее следует обновить записи для нового выпуска системы.
Затем перейдем к основному списку репозиториев /etc/apt/sources.list, по правилам хорошего тона туда не следует добавлять своих записей, но может быть всякое, поэтому внимательно изучаем содержимое этого файла. В нем должны остаться три стандартных репозитория и шесть строк, по две строки на каждый. Ниже приведен их список для Debian 10:
deb http://deb.debian.org/debian/ buster main
deb-src http://deb.debian.org/debian/ buster main
deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main
deb http://deb.debian.org/debian/ buster-updates main
deb-src http://deb.debian.org/debian/ buster-updates main
Все остальные записи следует закомментировать и в будущем вынести их из этого файла в /etc/apt/sources.list.d, более подробно о репозиториях и управлении пакетами вы можете прочитать здесь.
Отдельного внимания заслуживает репозиторий backports, который также может быть подключен в системе, он предоставляет портированное из более новых версий ПО и такие пакеты могут вызвать затруднения при обновлении. Записи, относящиеся к данному репозиторию, следует удалить (в новом выпуске они вам не понадобятся), а пакеты, в случае возникновения проблем с их обновлением, придется удалить, для этого рекомендуется использовать команду:
dpkg -r --force-depends имя_пакета
Теперь, когда вы навели порядок в репозиториях, установим новые источники пакетов. Для выпусков включая Debian 10 это можно сделать простой заменой кодового имени дистрибутива в адресах репозиториев. Например, для обновления с Debian 9 Stretch на Debian 10 Buster следует выполнить:
sed -i "s/stretch/buster/g" /etc/apt/sources.list
Для Debian 11 Bullseye не все так просто, разработчики изменили адрес репозитория Security updates и поэтому придется действовать в два приема:
sed -i "s/buster\/updates/bullseye-security/g" /etc/apt/sources.list
sed -i "s/buster/bullseye/g" /etc/apt/sources.list
После чего еще раз проверим, что адреса источников пакетов в sources.list правильные и можем переходить непосредственно к обновлению системы.
Обновление выпуска Debian
Прежде всего обновим локальный кеш пакетов:
А затем выполним безопасное обновление системы, в данном случае будут обновлены только те пакеты, которые возможно обновить без удаления уже существующих:
Перед тем, как подтвердить выполнение команды, обращаем отдельное внимание на те пакеты, которые будут оставлены в неизменном виде, в нашем случае это curl, для их обновления потребуется что-то удалить из системы и это не всегда допустимо.
В большинстве случаев с этим можно разобраться позже, а пока — обновляемся.
В процессе обновления к нам может поступить запрос на перезапись конфигурационных файлов. Здесь следует придерживаться следующих правил: если конфигурационный файл меняли вы, то лучше оставить его исходную версию, если нет — то принять изменения. В случае сомнений можно просмотреть изменения нажав клавишу D , выйти из режима просмотра можно по клавише Q .
При этом следует понимать, что в новом выпуске системы новые пакеты, которые могут иметь новые настройки и если вы не уверены, что все делаете правильно, то лучше перезапишите файл конфигурации новой версией, старый останется тут же рядом с расширением dpkg-old. Уже после обновления вы сможете сравнить оба файла и перенести необходимые настройки из старого в новый.
По окончании обновления перезагружаемся и проверяем работу системы. Если у вас было установлено стороннее ПО из внешних репозиториев, то его пока не касаемся, оно еще не обновлялось и может работать некорректно, либо вообще не работать.
Если все нормально, то переходим к следующему этапу — полному обновлению. Но именно здесь вам придется принять решение, что делать с удаляемыми пакетами. В большинстве случаев они не нужны, так как обновленная версия ПО будет использовать новые, но может быть и так, что некий установленный из внешних источников пакет требует именно эту библиотеку. В таком случае нужно разбираться: возможно есть более новая версия пакета, которая будет работать в новом выпуске с новыми библиотеками, в противном случае придется углубляться в тему, большинство библиотек поддерживают обратную совместимость и бывает достаточно создать символическую ссылку с именем старой библиотеки.
Для полного обновления выполните:
В нашем случае видим, что пакет curl таки будет обновлен и при этом будет удалена одна библиотека и установлена новая.
После чего еще раз перезагружаем систему. Теперь можно подключить сторонние репозитории, естественно обновленные, для обеспечения совместимости с новым выпуском и установить новые версии используемого ПО. И наконец, убедившись, что все работает как надо, выполним очистку от более не используемых пакетов:
Теперь у вас работает новый выпуск Debian, как видим, обновление — это совсем не сложно, но требует определенного понимания выполняемых действий и дополнительного контроля ряда операций. Ну также не забывайте о резервных копиях, несмотря на то, что Debian очень стабильная система, всегда может что-то пойти не так.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
- Linux — начинающим. Часть 1. Первое знакомство
- Linux — начинающим. Часть 2. Установка Ubuntu Server
- Linux — начинающим. Часть 3. Установка Debian 7 для сервера
- Linux — начинающим. Часть 4. Работаем с файловой системой. Теория
- Linux — начинающим. Часть 4. Работаем с файловой системой. Практика
- Linux — начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
- Linux — начинающим. Часть 6. Управление пользователями и группами. Теория
- Linux — начинающим. Часть 6. Управление пользователями и группами. Практика
- Linux — начинающим. Часть 7. Потоки, перенаправление потоков, конвейер
- Настройка языка и региональных стандартов в Ubuntu Server/Debian
- Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
- Linux — начинающим. Что такое Load Average и какую информацию он несет
- Обновляем снятый с поддержки дистрибутив Ubuntu
- Linux — начинающим. Обновление Debian до следующего выпуска
- Осваиваем эффективную работу в Midnight Commander
- Linux — начинающим. Что такое пространства подкачки и как они работают
- Linux — начинающим. Screen — многозадачность в терминале и ни единого разрыва!
- Linux — начинающим. Как узнать температуру процессора и накопителей
- Linux — начинающим. Как получить информацию об оборудовании ПК
- Linux — начинающим. Установка и первоначальная настройка Debian 11 для сервера
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Настройка обновлений linux debian
Обновление дистрибутива с версии на версию ответственный шаг. Это принесёт много приятных изменений в повседневную работу. Но так же может вызвать ряд проблем вызванных переходом на новые версии программ и библиотек, изменение настроек программ. Проблемы могут возникать из-за изменения расположения конфигурационных файлов. Исключения из дистрибутива одних программ и включения других.
На самом деле разработчики проделывают большую работу для максимально безболезненного перехода с версии на версию дистрибутива. И всё на самом деле не так уж страшно или сложно. Автор лично переводил свою систему с sarge на lenny и, в последствии на squeeze.
Но в тоже время, если вы планируете обновление системы, стоит задуматься не просто об обновлении, а о полной переустановки системы. Это позволит использовать различные нововведения добавленные в новую версию Debian, на все сто. Например при обновлении с «lenny» на «squeeze» всех преимуществ нового способа загрузки и файловой системы ext4, вы не получите.
Предварительная подготовка
Безусловно первым вашим действием должно стать резервное архивирование ваших данных и файлов настроек. Даже если /home вынесен на отдельный раздел, расслабляться не стоит.
Поехали!
Правим sources.list:
Находим в строках описывающих репозитории из которых устанавливаются пакеты и меняем имя старого стабильного дистрибутива на имя стабильного. Например меняем sarge на lenny. Если хотим перейти на тестируемый или нестабильный, то вписываем соответствующие имена дистрибутивов. Сохраняем.
Также вместо имён дистрибутивов можно использовать их «состояния» — stable, testing, unstable.
Все три способа дают один и тот же результат, поэтому используйте тот, который считаете наиболее удобным.
Разработчики рекомендуют для управления пакетами использовать aptitude.
С помощью Synaptic
С помощью Aptitude
# aptitude install aptitude