Обновление Debian 7 wheezy до Debian 8 Jessie

В свете недавнего выхода новой версии Debian 8 Jessie, об установке которой я уже рассказал в одной из своих статей, стал актуален вопрос обновления предыдущей версии wheezy до актуальной Jessie. Процесс этот хоть и штатный, возможность обновления до новой версии всегда предоставляется разработчиком, но нюансов в процессе возникает достаточно много, поэтому нужно подробно разобраться в последовательности действий.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Для обновления до 9-й версии Debian используйте свежую инструкцию - Обновление Debian 8 Jessie до 9 Stretch. Если у вас 7-я версия, то сначала обновитесь до 8-й по текущей статье, а затем до 9-й по новой.

Итак, у нас имеется:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.7 (wheezy)
Release:        7.7
Codename:       wheezy

Ее мы будет обновлять до 8-й версии Jessie.

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

Я рекомендую сделать резервную копию папок: /etc, /var/lib/dpkg, файла /var/lib/apt/extended_states. Сохраните вывод команды:

dpkg --get-selections "*"

Это позволит сохранить список установленных пакетов и настроек к ним.

Теперь обновим текущую систему wheezy:

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

Теперь добавляем новое зеркало в файл /etc/apt/sources.list. До обновления у меня этот файл выглядел так:

# cat /etc/apt/sources.list
deb http://mirror.yandex.ru/debian/ wheezy main
deb-src http://mirror.yandex.ru/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

deb http://mirror.yandex.ru/debian/ wheezy-updates main
deb-src http://mirror.yandex.ru/debian/ wheezy-updates main

Комментируем все содержимое файла и добавляем в конец новую строку:

deb http://mirror.yandex.ru/debian jessie main contrib

Теперь обновляем список доступных пакетов для нового выпуска:

# apt-get update

Обновление системы будем делать в 2 этапа. Сначала минимальное обновление, потом полное. Делаем минимальное обновление:

# apt-get upgrade

Это приведет к обновлению только тех пакетов, которые можно обновить без необходимости удаления или установки других пакетов.
Во время обновления выскочит окошко с вопросом:
Обновление Debian 7 wheezy до Debian 8 JessieОтвечаем Yes.
После завершения минимального обновления debian, запускаем полное:

# apt-get dist-upgrade

Эта команда произведёт полное обновление системы, установив последние доступные версии всех пакетов и разрешив все изменившиеся между выпусками wheezy и Jessie зависимости. При необходимости будут установлены новые пакеты и удалены все вызывающие конфликты устаревшие пакеты.

Во время обновления будет задан вопрос:
Обновление Debian 7 wheezy до Debian 8 JessieСуть дела вот в чем. В версии ssh-server, которая стояла на wheezy, по-умолчанию было разрешено подключаться пользователю root с паролем. В Jessie в ssh сервере по-умолчанию стоит настройка PermitRootLogin without-password, которая запрещает логин пользователя root с паролем. Выбирайте сами, как хотите логиниться. Я оставил возможность подключаться с паролем root, ответив No.

Дальше в процессе установки мне был задан вопрос поп поводу apache:

Configuration file '/etc/apache2/apache2.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** apache2.conf (Y/I/N/O/D/Z) [default=N] ?

Я ответил N, чтобы сохранить свою текущую конфигурацию. Если со старой конфигурацией возникнут какие-то проблемы, можно будет отредактировать вручную.

Тот же самый вопрос чуть позже был задан по поводу php. Я оставил старый конфигурационный файл.

После завершения работы команды apt-get dist-upgrade обновление завершено. Можно перезагружаться:

# reboot

Проверяем версию:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie

Обновление wheezy прошло успешно. На выходе имеем последнюю версию Debian 8 Jessie.
У меня возникла только одна проблема. После обновления не стартовал apache2:

# service apache2 start
Job for apache2.service failed. See 'systemctl status apache2.service' and 'journalctl -xn' for details.
# systemctl status apache2.service
Starting web server: apache2 failed!
The apache2 configtest failed. ... (warning).
Output of config test was:
apache2: Syntax error on line 265 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/conf.d/: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.
apache2.service: control process exited, code=exited status=1
Failed to start LSB: Apache2 web server.
Unit apache2.service entered failed state.

Тут все понятно, немного изменилась структура каталогов в новой версии. Нашел в файле /etc/apache2/apache2.conf строчку Include conf.d/ и закомментировал ее. Пробую запускать:

# systemctl start apache2.service
Job for apache2.service failed. See 'systemctl status apache2.service' and 'journalctl -xn' for details.
# systemctl status apache2.service
Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration

Опять ошибка. Функция LockFile не работает, отключаем ее, закомментировав сроку LockFile ${APACHE_LOCK_DIR}/accept.lock.
После этого apache2 нормально стартует.
На этом обновление Debian 7 wheezy до Jessie окончено.

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Дополнительные материалы по Debian

Рекомендую полезные материалы по Debian:
Настройки системы
  • Установка
  • Базовая настройка
  • Настройка сети
  • Обновление 8 до 9
  • Обновление 7 до 8
  • Включение логов cron
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика.
Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования.
Подробное описание настройки сети в Debian - задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др.
Обновление предыдущей версии Debian 8 Jessie до последней Debian 9 Stratch. Подробная инструкция с описанием по каждому этапу обновления.
Обновление версии Debian 7 wheezy до Debian 8 Jessie. Подробная инструкция с описанием по каждому этапу обновления.
Включение записи логов cron в Debian в отдельный файл и настройка ротации этого файла. Отключение логов в syslog.
Настройка программных комплексов
 
  • Proxmox
  • Шлюз в интернет
  • Установка Asterisk
  • Asterisk+Freepbx
  • PostgreSQL для 1С
  • Настройка pptp
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке.
Настройка интернет шлюза на Debian. Включает в себя настройку iptables, nat, dhcp, dns, iftop.
Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk.
Установка Freepbx 12 и Asterisk 13 на сервер под управлением Debian/Ubuntu. Подробное описание и разбор ошибок установки.
Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива.
Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети.
Разное
  • Бэкап с помощью rsync
  • Тюнинг postgresl для 1C
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows.
Ускорение работы 1С с postgresql и диагностика проблем производительности

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

10 комментариев

  1. У меня вопрос, нужно ли после обновления делать все настройки web сервера с начала? Стоял Debian Wheezy 7.4 с двумя сайтами и панелькой ISPConfig 3.0. Обновление прошло нормально. Но пропал доступ к сайтам и панели ISPConfig. Выдает ошибку.

    Forbidden

    You don't have permission to access / on this server.
    Apache/2.4.10 (Debian) Server at test.mku-imc86.ru Port 80

    Есть подозрение что я перезаписал свои конфиги предложенными сопровождающим
    Читал на форумах, что просто нужно переназначить разрешения на каталогах /war/www/web1/

    Или все же придется перенастраивать все с начала?!

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

      • Ого.. Ежики коржики, вот это я себе роботы добавил. Но панель то шут с ним. не критично, я все равно сайты бакапил локально и в облако через плагины. У меня вопрос почему я не могу по порту 80 зайти. Если я правильно понял при установке поменялись права доступа и разрешения на каталог /www/web1/ потому как если я захожу учеткой с правами администратора, но не ROOTом мне не дает разрешение. Как только делаю SUDO SU. Захожу. Вообще немного не понятно почему система так любит БАНИТЬ учетку ROOTа.
        Откат я зделать не смогу?!
        Поможет восстановление старой системы из BACKUP?

        • Я так не могу вам заочно что-то посоветовать, так как не понимаю до конца состояние системы, в котором она находится. И что значит банить учетку root? В общем случае, у веб сервера должен быть доступ к исходникам сайтов. Без этого точно работать он не может. Надо посмотреть, от какого пользователя работает веб сервер и добавить права на папку с сайтами этому пользователю.

          • Ну при использовании ROOT, Я часто перегружал сервер под ним, была необходимость, система отключила учетку сделав не доступной. При логине и пароле писало логин не существует. Хорошо был пользователь с правами суперпользователя.

            У меня вопрос, а правда что Аpache2 2.4 поменял структуру каталогов? в отличии от 2.2 и корневая папка смещена в HTML? Дак может у меня и не разрешает доступ к сайтам потому что их нет в этой папке HTML?

            "у версии 2.4 и "корневая папка" апача смещена по сравнению с версией 2.2.
            у версии 2.2 (старой) была /var/www
            у новой версии (2.4) - папка уже /var/www/html "
            Наткнулся случайно https://www.cyberforum.ru/ubuntu-linux/thread1199415.html

            Дело в том что у меня сайты расположены были по старой структуре Apache 2.2 и логично было бы предположить что теперь они должны находится там в корне /var/www/html
            Или же в конфигурационных файлах сайтов для Apache2 должны быть прописаны правильные пути.

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

  2. Андрей

    Огромное спасибо за инструкцию! Все прошло гладко.

  3. Александр

    Огромное спасибо, все сработало
    в моем только случае пришлось еще выполнить
    dpkg-reconfigure mysql-server-5.5
    sudo mkdir /var/lib/mysql-files

  4. Андрей

    СПАСИБО!!!

  5. Спасибо!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar