URL: https://linuxfr.org/suivi/passer-de-debian-stretch-a-debian-bookworm-ruby-2-3-a-3-1-rails-5-2-5-a-7-0-0 Title: Passer de Debian Stretch à Debian Bookworm / Ruby 2.3 à 3.1 / Rails 5.2.5 à>7.0.0 Authors: Adrien Dorsaz Date: 2023年08月19日T17:15:44+02:00 License: CC By-SA Tags: Score: 4 Il y a 3 mois, j'ai pris ces notes pour faire une mise à jour de la Debian qui fait tourner Linuxfr. J'avais commencé à regarder ça, parce qu'il n'était plus possible de construire les containers OCI depuis les images de Debian Stretch. Entre temps, [nud a corrigé le problème](https://github.com/linuxfrorg/linuxfr.org/pull/373), merci :) Pour éviter que ces notes tombent dans l'oubli de mon disque dur, je les partages ci-dessous. Il y a environ deux ans j'avais [proposé de créer des tests pour LinuxFr](https://linuxfr.org/suivi/pouvoir-tester-les-mises-a-jour-de-maintenance) pour aider ce genre de migration, mais je n'en ai pas fait beaucoup depuis à cause d'un emploi de temps libre surchargé, désolé :( ----- # Mettre à jour LinuxFr de Stretch vers Bookworm Les paquets de Debian Stretch ont été migrés vers `archive.debian.org` ce qui casse actuellement la création de containers Linuxfr. | Package | Stretch (+backports) | Buster | Bullseye | Bookworm (testing) | |:--|:-|:-|:-|:-| | ruby | 1:2.3.3 | 1:2.5.1 | 1:2.7+2 | 1:3.1 | | nodejs | 8.11.1~dfsg-2~bpo9+1 | 10.24.0~dfsg-1~deb10u3 | 12.22.12~dfsg-1~deb11u4 | 18.13.0+dfsg1-1 | | npm | 5.8.0+ds6-2~bpo9+1 | 5.8.0+ds6-4+deb10u2 | 7.5.2+ds-2 | 9.2.0~ds1-1 | | mysql-client | 5.5.9999-default | | | | | mariadb-client | | 1:10.3.38-0+deb10u1 | 1:10.5.19-0+deb11u2 | 1:10.11.2-1 | Note: la production utilise mariadb 10.1.48-0+deb9u2 Actuellement, on utilise Rails 5.2.5 d'après le Gem.lock Compatibilités Ruby et Rails: https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html Plan de migration: 1. Migrer de Debian Stretch vers Debian Buster (passage de Ruby 2.3 à 2.5) * Ruby 2.4: https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/ * Ruby 2.5: https://www.ruby-lang.org/en/news/2017/12/25/ruby-2-5-0-released/ 2. Mettre à jour le code pour passer de Rails 5.2.5 à Rails 6.1 * [Rails 6.0 relase note](https://guides.rubyonrails.org/6_0_release_notes.html) * [Rails 5.2 -> 6.0 upgrade guide](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-5-2-to-rails-6-0) * [Rails 6.0 -> 6.1 upgrade guide](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-6-0-to-rails-6-1) 3. Migrer de Debian Buster vers Debian Bullseye (passage de Ruby 2.5 à 2.7) * Ruby 2.6: https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/ * Ruby 2.7: https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/ 4. Mettre à jour le code pour passer de Rails 6.1 à>7.0.0 (pour être compatible Ruby 3.1) 5. Migrer de Debian Bullseye vers Debian Bookworm * [Ruby 2.7 -> 3.0 upgrade guide](https://www.fastruby.io/blog/ruby/upgrades/upgrade-ruby-from-2.7-to-3.0.html) Je propose directement le plan pour aller jusqu'à Bookworm, parce que le tempse de faire les 4 premières étapes, je suis quasi sûr que Debian Bookworm va passer en stable :D