Как установить старый debian

Обновлено: 03.07.2024

14 августа 2021 года состоялся релиз старой и очень популярной Linux системы - Debian. В своей статье я подробно расскажу, как обновиться с прошлого релиза Debian 10 до 11-й версии Bullseye. Сам процесс не сложный, проходит в штатном режиме с помощью встроенных средств операционной системы.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Что нового в Debian 11

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

  • Очевидно, что обновилось ядро Linux. Теперь это будет версия 5.10.
  • Обновлены версии пакетов графического окружения и офисных программ.
  • Понятное дело, что обновился весь софт. Не буду перечислять изменение версий. Отмечу только некоторые наиболее значимые изменения. Версия php в базе будет 7.4, python - 3.9, MariaDB - 10.5, nginx - 1.18.
  • Обновились cgroups до версии v2.
  • Systemd по умолчанию теперь пишет свой журнал с помощью systemd-journald. Хорошо, что традиционные логи, которые пишет rsyslog пока оставили.
  • Больше не будет однодисковых образов с Xfce (жаль :( ). Остался netinst.iso и DVD-1.iso, не считая live образов.

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

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

Перед обновлением Debian рекомендую в первую очередь проверить все бэкапы. Это если вы обновляете прод, что я делать сразу не рекомендую. Для начала проверьте всё на копии виртуальной машины в тестовом окружении. После этого уже переходите к рабочей системе. Так же рекомендую на всякий случай сохранить список текущих установленных пакетов:

Или сразу с версиями. Тоже может пригодиться.

Прежде всего полностью обновим текущую систему:

Проверим версию. Должна быть самая последняя:

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

Обновление файла репозиториев

Теперь обновим файл с репозиториями /etc/apt/sources.list и изменим релиз с buster на bullseye. Содержимое этого файла должно стать примерно следующим:

Обращаю внимание, что изменился формат записи для security репозитория. Старая запись была в таком формате:

Upgrade Debian 10 to Debian 11 Bullseye

Теперь можно запустить непосредственно обновление системы Debian 10 до 11 версии. Перед этим обязательно убедитесь, что у вас есть доступ к консоли сервера, а не только ssh подключение. Обычно всё проходит нормально и одного ssh достаточно. Но если обновляете prod, лучше перестраховаться. Сначала обновим список пакетов.

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

Обновление репозитория для Bullseye

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

Upgrade Debian 10 to Debian 11 Bullseye

Не отходите далеко от консоли, так как в процессе обновления Debian 10 до 11 вам могут задавать наводящие вопросы. Достаточно выбирать дефолтные значения, чтобы все прошло успешно. Первым делом, вам надо будет прочитать список изменений и выйти из режима чтения, нажав q.

Информация об обновлении Debian 10 до 11

Если всё прошло успешно, то запускайте полное обновление, которое окончательно обновит все пакеты и разрешит все изменившиеся между выпусками Debian зависимости.

Полное обновление до Debian 11

После завершения работы этой команды можно считать обновление завершённым. Нужно перезагрузиться.

Дожидаемся загрузки Debian 11 Bullseye и проверяем версию.

Проверка версии обновленной системы Debian 11 Bullseye

Всё в порядке. Обновление прошло успешно.

Заключение

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

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

Я остался верен Линуксу, я установил на комп 64-разрядную версию Debian. Как и следовало ожидать, комп стал работать заметно быстрее. Спасибо, Сергей! Причём не просто быстрее, а местами даже лучше. На вскидку могу назвать только два самых ярких примера.

1. Если в 32-разрядной версии Debian-9 текстовый редактор LibreOffice Writer при открытии файлов падал, и его приходилось лечить удалением из него двух несущественных файлов, то в 64-разрядной версии Debian этого бага нет.
2. В 32-разрядной версии при выходе в консоль кириллица отображается неправильно. Это не проблема, этот баг тоже чинится. Это всего лишь несколько дополнительных телодвижений. В 64-разрядном Debian-е с кириллицей в консолях всё в порядке.

Где взять дистрибутив Debian?

Вообще я давно уже беру дистрибутивы с зеркала Яндекса.

Их тут великое множество:


Там длинный список, на скриншоте показан только какой-то фрагмент его.

Нас интересует конкретно поддиректорий debian-cd. (На скриншоте он подсвечен.)

Если вы хотите работать с Debian-9, то я бы не рекомендовал устанавливать 32-разрядную версию, в силу замеченных в ней багов, а так же по причине того, что 9-ая версия более требовательна к размеру оперативной памяти. Если так нужна 32-разрядная версия, то уж лучше установить Debian-8.

В зависимости от ёмкости вашей флешки вам нужно зайти зайти поддиректорий:

или в поддиректорий:

и забрать оттуда образ только первого диска. Затем перенести образ на флешку и далее традиционная установка. Я не буду повторять, как правильно устанавливать дистрибутив.

Нет! Проблема решается. И довольно таки не напряжно. Просто нужно обратиться в другой репозиторий.


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

Ну, и, как обычно, скачиваем первый диск.

Поэтому нет причин не пользоваться зеркалом

Привет, ЛОР!
Простейший вопрос, но у меня он вызвал затруднения.
Нужно установить GNU / Linux Debian 5.0.0 Lenny из net-install, который есть на оффсайте. Эта потребность появляется не первый раз, поэтому я прошу помочь.
Задача протестировать работу программы в старом дистрибутиве.
Нужен именно GNU / Linux Debian, с его возможностью минимальной установки.

добавляем в sources.list и имеем профит, но мне нужно это как-то вписать в установщике. Без базовой установки не могу попасть в консоль, чтобы прописать источники. Пробовал по-разному - не получается.


Скачай уже полный, не net-install образ. Уверяю, в ближайшем времени набор программ на Lenny-iso не изменится, и перекачивать для обновления не придётся.


Никто не знает? По Jigdo я уже умею скачивать. Мне интересен сабж.

1. expert install (priority=low) позволяет выбрать зекрало (обязательно убери security и updates!)

2. ставь спокойно с netinst, без сетевых источников, и оттуда в aptitude попадай

что имеется ввиду под словом netinst? а вообще, я недавно спокойно ставил lenny через сетевую установку с локального зеркала - в чём проблема?

5.0.0? на 5.0.0 ты udeb-ов не найдёшь, кстати (разве что в wayback или на самом cd). ставь 5.0.10

смотрю, даже ссылка на левый сайт.

кто использует debian, но не пользуется официальными источниками, а пользуется левыми ссылками с поисковиков - тем даже помогать не хочется!


Благодарю! Я пытался эти адреса в зеркало вписать. :) Пропустить зеркало у меня не получилось в нормальной установке, почему-то зависло. Expert-install прокатил.


Я прочитал это сначала по оффссылке, были открыты ещё другие с этой же информацией, потому и скопировал, не посмотрел, откуда. Да и в чём разница?
Я по этой же причине(с таким же настроем) слез с BSD, типо нельзя из неё делать бубунту. хотя профиты очевидны. :)

Иногда бывает нужно установить старую версию какого-либо пакета. Самый простой (хоть и неправильный) путь это скачать нужную версию и установить ее вручную, но тогда придется самостоятельно разбираться с огромным количеством зависимостей. Поэтому самый правильный путь – это прописать дополнительные репозитории и настроить исключения для нужных пакетов.

В данной статье будем понижать версию PHP с 5.4.x до 5.3.x

Мы будем ставить пакет PHP из дистрибутива squeeze (в более новых ветках используется PHP 5.4.x)

Чтобы добавить нужные репозитории открываем /etc/apt/sources.list

И добавляем в конец репозитории:

Теперь нам нужно зафиксировать версии пакетов, чтобы не ставились более новые. Для этого мы укажем в файле /etc/apt/preferences.d/preferences из какого репозитория брать нужные нам пакеты.

Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Для понижения версии PHP нам потребуются все пакеты, которые начинаются с php5, а так же libapache2-mod-php5.
Объяснение строк:

Package: php5* – пакеты, которые попадают под маску php5*
Pin: release a=oldstable – берутся из репозиториев предыдущей версии дистрибьютива (Можно зафиксировать текущую версию и запретить ее изменять. Для этого нужно написать Pin: version 5.3.3-7+squeeze19, где 5.3.3-7+squeeze19 – это версия пакета).
Pin-Priority: 700 – приоритет установки. Чем больше – тем предпочтительней правило.

Таким же образом выдаем указания для пакета (libapache2-mod-php5) и для всех остальных (*). Теперь обновляем информацию в apt:

и устанавливаем наши пакеты:

Теперь остается перезапустить Apache и все готово.

service apache restart
или в более новых версиях
service apache2 restart

P.S. Полезные команды:
Посмотреть версии всех пакетов, установленных в системе:

Посмотреть доступные версии в репозиториях:

просто установить нужную версию:

где:
php5 – имя пакета
5.3.3-7+squeeze19 – версия.

Удалить пакет вместе с файлами конфигурации:

P.S.
По умолчанию PHP для апача состоит из пакетов:

libapache2-mod-php5
php5
php5-cgi
php5-cli
php5-common
php5-gd
php5-mcrypt
php5-mysql
php5-suhosin

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

На этом статья заканчивается. Удачной установки нужных пакетов. Любые другие пакеты ставятся по аналогии.

Иногда возникают ситуации, когда необходимо раздобыть пакеты от старых дистрибутивов Debian Linux, поддержка которых давно закончилась. На сайте проекта Debian эти дистрибутивы помечены как устаревшие, и для них не работает поиск по пакетам. Где и как раздобыть пакет, совместимый со старыми версиями этой операционной системы?


Найти информацию о старых пакетах Debian можно в официальном архиве Debian:

Состав дистрибутивов в этом архиве, на 2020 год, следующий:

etch-m68k/ 2010-06-20 20:24 -

etch/ 2010-06-20 20:23 -

hamm/ 1999-02-15 19:59 -

jessie-backports-sloppy/ 2019-02-13 08:27 -

jessie-backports/ 2019-02-12 22:44 -

jessie-kfreebsd/ 2019-04-13 08:55 -

jessie/ 2019-02-17 02:42 -

lenny/ 2012-03-25 08:48 -

potato-proposed-updates/ 2003-09-05 16:31 -

potato/ 2003-09-05 16:31 -

slink/ 2000-03-04 17:24 -

squeeze-lts/ 2016-03-08 21:26 -

squeeze-proposed-updates/ 2016-03-08 21:12 -

wheezy-backports-sloppy/ 2019-02-15 09:15 -

wheezy-backports/ 2019-02-15 09:15 -

wheezy/ 2019-02-16 17:20 -

woody/ 2009-06-12 22:40 -

Искать нужный пакет следует следующим образом. Например, нужно найти файл пакета htop для wheezy . Как это сделать? Надо зайти в подкаталог:

. и открыть файл Packages.gz :


Внутри этого файла будет лежать текстовый файл с именем Packages .

Чтобы найти в нем описание пакета htop , надо искать по подстроке "Package: htop" . В результате будет найдено следующее описание:

Depends: libc6 (>= 2.3.4), libncursesw5 (>= 5.6+20070908), libtinfo5

Suggests: strace, ltrace

Description: interactive processes viewer

Tag: admin::monitoring, interface::text-mode, role::program, scope::utility,

В этом тексте в строке Filename написан относительный путь к бинарному файлу с deb-пакетом. Полный путь будет выглядеть так:

Таким образом можно вытягивать файлы старых пакетов для устаревших дистрибутивов на базе Debian, в репозитариях которых есть не все пакеты. Это справедливо, например, для Astra Linux. Сертифицированный состав пакетов этого дистрибутива сильно сокращен: в нем нет таких стандартных программ как htop, xclip, checkinstall, valgrind и т. д., что ограничивает возможность разработки и тестирования ПО для сертифицированных систем. Если политика предприятия допускает установку необходимого ПО на рабочие станции разработчиков, то находить пакеты для штучной установки пакетов можно вышеописанным способом.

Читайте также: