tag:linuxfr.org,2005:/tags/64bits/publicLinuxFr.org : les contenus étiquetés avec « 64bits »2023-07-14T17:10:06+02:00/favicon.pngtag:linuxfr.org,2005:Diary/407962023-07-13T10:57:59+02:002023-07-13T10:57:59+02:00Notes de migration vers l'architecture 64 bits de Debian sur un Raspberry Pi 3BLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<ul>
<li><a href="#toc-la-petite-machine">La petite machine</a></li>
<li><a href="#toc-le-probl%C3%A8me">Le problème</a></li>
<li>
<a href="#toc-r%C3%A9installation-dun-os-64-bits-et-restauration">Réinstallation d’un OS 64 bits et restauration</a><ul>
<li><a href="#toc-la-sauvegarde">La sauvegarde</a></li>
<li><a href="#toc-la-r%C3%A9installation">La réinstallation</a></li>
<li><a href="#toc-les-premi%C3%A8res-choses-%C3%A0-faire">Les premières choses à faire</a></li>
<li><a href="#toc-les-fichiers-de-config">Les fichiers de config</a></li>
<li><a href="#toc-r%C3%A9cup%C3%A9rer-les-donn%C3%A9es">Récupérer les données</a></li>
<li><a href="#toc-r%C3%A9installer-les-paquets">Réinstaller les paquets</a></li>
<li><a href="#toc-restaurer-la-base-de-donn%C3%A9es">Restaurer la base de données</a></li>
<li><a href="#toc-le-mot-de-la-fin">Le mot de la fin</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Voici quelques notes prises à l’occasion de la migration d’une Raspbian 32 bits au même système, mais en 64 bits.</p>
<h3 id="toc-la-petite-machine">La petite machine</h3>
<p>Il s’agit d’un Raspberry Pi 3B (rev 1.2) de 2015 qui joue depuis près de 8 ans fidèlement le rôle de serveur :</p>
<ul>
<li>partage local SMB ;</li>
<li>hébergement du site Wordpress de l’artiste <a href="https://lux.wyrm.fr/">Lucy Nuzit</a>. Allez-y, ça vaut le détour (je suis parfaitement objectif). À ce propos, si vous avez des commandes à lui passer pour votre association, institution, éditeur, ou une proposition d’exposition, n’hésitez pas à la contacter ;</li>
<li>hébergement d’un <a href="https://cours.wyrm.fr/">site destiné</a> aux élèves du secondaire qui préparent les épreuves anticipées de français du baccalauréat ;</li>
<li>une instance freshrss, indispensable pour la veille ;</li>
<li>une instance Nextcloud.</li>
</ul>
<p>La carte est vissée dans un boîtier avec un disque dur de 1 To connecté en USB qui permet aussi l’amorçage du système : il n’y a plus de carte SD depuis belle lurette. Le disque dur est bien moins cher au Go, et surtout bien plus fiable vu la quantité d’écriture sur le système.</p>
<p>Le tout est gentiment propulsé par <a href="https://www.raspberrypi.com/software/">Raspberry Pi OS</a>, de mise à niveau en mise à niveau, jusqu’à aujourd’hui une base Debian 11 (Bookworm est sortie, mais pas sa déclinaison de chez Raspberry à ce stade).</p>
<h3 id="toc-le-problème">Le problème</h3>
<p>Tout fonctionnait à peu près correctement. Les ennuis viennent essentiellement de Nextcloud.</p>
<p>Nextcloud fonctionne plutôt bien sur ce matériel. Les 1024 Mo de RAM ne sont pas un problème quand l’instance compte seulement 3 utilisateur·ices. De version en version, les exigences techniques pour maintenir un niveau de réactivité efficace au quotidien se sont faites plus pressantes. Il a fallu modifier les schémas de la base Mariadb, gérer sa montée en version ainsi que celle de PHP, configurer PHP, mettre en place le cache, déployer une base Redis en plus. Dans l’ensemble, le système fonctionne très bien, au point qu’il est depuis plusieurs années utilisé en permanence pour nos besoins professionnels.</p>
<p>Pour donner une idée <code>sudo -u www-data du -h /var/www/nextcloud</code> → 31G.</p>
<p>Mais ces derniers mois, je me suis heurté à un mur : le support de l’architecture armhf, historique du Pi depuis ses débuts, a commencé à sérieusement battre de l’aile. Une mise à niveau s’est d’abord très mal passée parce que certaines variables dans le <a href="https://github.com/nextcloud-snap/nextcloud-snap/issues/2265">code étaient écrites</a> avec uniquement un OS 64 bits en tête. Le bug est apparu, a été corrigé, puis est réapparu, et finalement l’annonce est tombée : fin du support 32 bits.</p>
<p>Utiliser une instance Nextcloud sans mises à jour de sécurité à la fin du support n’a rien de réjouissant, surtout quand on utilise le système au quotidien.</p>
<p>Les RPI 3B ont un <a href="https://fr.wikipedia.org/wiki/ARM_Cortex-A53">processeur 64 bits</a>. Sur le principe tout était donc possible, mais les quelques pages consacrées aux tentatives de <em>crossgrade</em> faisaient surtout le récit d’échecs lamentables ou de considérations de haute volée expliquant que c’est trop compliqué.</p>
<p>Une seule solution rapide, donc : repartir sur une base propre.</p>
<h3 id="toc-réinstallation-dun-os-64-bits-et-restauration">Réinstallation d’un OS 64 bits et restauration</h3>
<h4 id="toc-la-sauvegarde">La sauvegarde</h4>
<p>Pour la sauvegarde, ce n’était pas très compliqué. J’avais déjà un script très court qui procède à une sauvegarde, avec un <em>cron</em> qui l’exécute chaque nuit.</p>
<pre><code class="bash"><span class="ch">#!/bin/bash</span>
<span class="nb">cd</span> /
mysqldump --all-databases -uroot -pXXXXXXXXXX --default-character-set<span class="o">=</span>utf8mb4 <span class="p">|</span> zstd - > /backup/dump.zst
mysqldump -uwordpress -pYYYYYYYY wordpress_db <span class="p">|</span> zstd - > /backup/wordpress_db.zst <span class="c1"># au cas où</span>
dpkg --get-selections > /backup/packages.txt
rsync -e <span class="s2">"ssh -i /zzzzz/id_ed25519"</span> -axvz --delete --exclude<span class="o">={</span><span class="s2">"/dev/*"</span>,<span class="s2">"/proc/*"</span>,<span class="s2">"/sys/*"</span>,<span class="s2">"/tmp/*"</span>,<span class="s2">"/run/*"</span>,<span class="s2">"/mnt/*"</span>,<span class="s2">"/media/*"</span>,<span class="s2">"/lost+found"</span>,<span class="s2">"/var/swap"</span><span class="o">}</span> / user@user.rsync.net:/data1/home/user/backup</code></pre>
<p>Simple et rustique, mais très efficace, justement pour cette raison (par ailleurs, j’ai confiance en la plateforme qui héberge les données, sinon il faut chiffrer.)</p>
<p>Pour assurer ses arrières, il suffit d’une adaptation du script et de faire la même chose avec un disque dur externe.</p>
<p>Prendre un snapshot avec <code>dd</code> n’avait pas grand intérêt : déjà parce que ça aurait été très long, ensuite parce que de toute façon les données étant sauvegardées, par question de revenir en arrière.</p>
<h4 id="toc-la-réinstallation">La réinstallation</h4>
<p>On se lance. Le début n’est pas très compliqué : l’<a href="https://www.raspberrypi.com/software/">outil mis à disposition</a> a l’avantage sur <code>dd</code> de préconfigurer certains éléments : l’utilisateur, ssh, etc. L’importation des clés SSH n’a pas bien marché, mais par précaution j’avais configuré la connexion par mot de passe pour éviter les ennuis de cette nature. </p>
<h4 id="toc-les-premières-choses-à-faire">Les premières choses à faire</h4>
<p>Une fois que le système a redémarré une ou deux fois, et est branché en ethernet, il suffit de se connecter en SSH. Évidemment comme on se connecte d’ordinaire avec une clé, là il faut penser à utiliser une commande différente :</p>
<p><code>ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@domain</code></p>
<p>La première chose à faire, c’est d’installer tmux. La deuxième, c’est de restaurer les clés publiques pour accéder au serveur, puis les clés privées du serveur pour accéder aux sauvegardes distantes.</p>
<h4 id="toc-les-fichiers-de-config">Les fichiers de config</h4>
<p>Une fois que c’est fait, il suffit d’un <code>mv /etc/ssh /etc/ssh.bak && rsync -a user@user.rsync.net:/data1/home/user/backup/etc/ssh /etc && systemctl restart ssh</code></p>
<p>Si ça ne fonctionne pas, on a toujours la connexion ouverte dans le premier shell, à ne surtout pas fermer tant qu’on n’est pas certain d’arriver à se connecter avec la clé.</p>
<p>À partir du moment où ça fonctionne, ce n’est plus très compliqué. Dans <code>/etc</code>, il suffit de répéter l’opération qu’on a fait pour SSH et récupérer les éléments importants, comme : </p>
<ul>
<li><code>letsencrypt</code></li>
<li><code>apache2</code></li>
<li><code>php</code></li>
<li><code>mysql</code></li>
<li><code>fail2ban</code></li>
</ul>
<p>et quelques autres. Pourquoi pas tout <code>/etc</code> ? Parce qu’après 8 ans de mises à niveaux et de configurations modifiées, il m’a semblé utile de repartir sur des bases saines.</p>
<h4 id="toc-récupérer-les-données">Récupérer les données</h4>
<p>Même opération, avec une subtilité.</p>
<p><code>rsync -a user@user.rsync.net:/data1/home/user/backup/var/www /var</code></p>
<p>Sous Debian, les paquets créent un utilisateur <code>www-data</code> pour apache, qui a évidemment un accès limité au système. En gros, tout ce qui est dans <code>/var/www</code> lui appartient. Or le userid de mon ancien utilisateur <code>www-data</code> ne correspondait pas au nouveau, puisque d’autres utilisateurs avaient été créés. Un coup de <code>sudo chown -R www-data:www-data /var/www/*</code> règle l’affaire.</p>
<h4 id="toc-réinstaller-les-paquets">Réinstaller les paquets</h4>
<p>Là on arrive à la magie des gestionnaires de paquets. Vous vous rappelez que le script sauvegardait à la fois tous les fichiers, mais aussi une liste des paquets installés :</p>
<p><code>dpkg --get-selections > /backup/packages.txt</code></p>
<p>En l’ouvrant, je me suis rendu compte que je n’avais pas anticipé un certain nombre d’occurrences de l’architecture : <code>armhf</code>. Qu’à cela ne tienne, un coup de <code>sed -e 's/armhf/aarch64/'</code> sur le fichier, et on est prêt·e à le donner en entrée au gestionnaire de paquets :</p>
<pre><code class="bash">apt update
apt-cache dumpavail <span class="p">|</span> dpkg --merge-avail
dpkg --set-selections < newpackages.txt
apt-get dselect-upgrade</code></pre>
<p>Le gestionnaire de paquets avertit que certains vieux machins ne sont pas disponibles pas, mais ce n’est sans doute pas trop grave, il doit s'agir de résidus d'installations précédentes. En tout cas, ça n'a pas l'air bloquant. Hop ! On saute le pas. Il faut faire attention une fois que les paquets ont été téléchargés et que l’installation à proprement parler commence, à toujours exiger que la version du mainteneur n’écrase pas notre belle config qui marche. Le plan se déroulait à la perfection, chaque petite ligne permettait d'écraser une larme de satisfaction, au bout de 20 min…</p>
<p>La machine fige. Panique à bord. Après avoir espéré une demi-douzaine de minutes, de guerre lasse, il faut redémarrer. Et sur un pi, redémarrer, c'est débrancher la prise, littéralement, ce qui inspire toujours une confiance très relative. Au bout d’une minute après avoir rebranché, la connexion en SSH répond, le système semble stable… bon. Il faut finir la configuration des paquets par un <code>dpkg –configure -a</code> qui s’achève sans autre incident.</p>
<h4 id="toc-restaurer-la-base-de-données">Restaurer la base de données</h4>
<p>Restaurer mariadb, en fait, c’est tout simple. Mon script de sauvegarde exportait toute la base :</p>
<p><code>mysqldump --all-databases -uroot -pXXXXXXXXXX --default-character-set=utf8mb4 | zstd - > /backup/dump.zst</code></p>
<p>Avec précaution, il suffit de restaurer :</p>
<pre><code class="bash">unzstd dump.zst
mysql -u root < dump</code></pre>
<h4 id="toc-le-mot-de-la-fin">Le mot de la fin</h4>
<p>Au redémarrage, tout fonctionne. Nextcloud, FreshRSS, Wordpress… tout roule, sans noter ni amélioration, ni dégradation des performances : de toute façon, avec 1Go de RAM et un disque dur en USB, il ne faut pas s’attendre à des changements extraordinaires. La mise à niveau de Nextcloud se déroule sans accroc. Mais bientôt, il faudra passer à Bookworm, puisque Nextcloud ne supporte plus php-7.4… </p>
<p>En tout état de cause, ce type de procédure est relativement facile à mettre en œuvre pour une solution auto-hébergée.</p>
<div><a href="https://linuxfr.org/users/brndan/journaux/notes-de-migration-vers-l-architecture-64-bits-de-debian-sur-un-raspberry-pi-3b.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/132708/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/brndan/journaux/notes-de-migration-vers-l-architecture-64-bits-de-debian-sur-un-raspberry-pi-3b#comments">ouvrir dans le navigateur</a>
</p>
Brndanhttps://linuxfr.org/nodes/132708/comments.atomtag:linuxfr.org,2005:Post/379772017-03-17T18:05:30+01:002017-03-17T18:05:30+01:00Disparition des logiciels en 32bits<p>Bonjour !</p>
<p>Je possède un ordinateur avec un processeur 32bits depuis plusieurs années, et il marche très bien, c'est mon ordi principal. <br>
Je ne peux donc pas utiliser de logiciel compilé pour 64bits…</p>
<p>Depuis quelques temps je constate que de plus en plus de super logiciels ne proposent plus de binaires 32bits pour Linux. Par exemple Krita, Djv (viewer de séquences d'images), et pleins d'autres.</p>
<p>Parfois je tente de compiler moi-même les sources, mais j'ai pas vraiment les compétences ni le temps (surtout ça) pour rassembler les dépendances etc…</p>
<p>Je me demande donc ce que vous en pensez, et si par hasard vous avez des solutions miracles (je doute la dessus :-), mais je suis curieux). Je me dis souvent que je devrai demander directement aux développeurs, mais je n'ose pas vraiment (je sens bien que c'est LE truc à faire mais bon…). Pensez-vous que c'est le seule solution ? (et réaliste ?)</p>
<p>Je sais que prochainement je passerai en 64bits mais tant que mon processeur marche (et pas de problème là dessus), le remplacer me paraît totalement absurde (et surtout du n'importe quoi écologique).</p>
<p>Merci de votre partage d'avis :-).</p><div><a href="https://linuxfr.org/forums/linux-general/posts/disparition-des-logiciels-en-32bits.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/111472/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/disparition-des-logiciels-en-32bits#comments">ouvrir dans le navigateur</a>
</p>
datrosshttps://linuxfr.org/nodes/111472/comments.atomtag:linuxfr.org,2005:Post/369972016-06-24T12:54:36+02:002016-06-24T12:54:36+02:00Remplacer windows 7 32 bits par 64 bits sur dual boot.<p>Bonjour,</p>
<p>J'aurai besoin de votre aide pour le remplacement de windows 7 sur un dual boot.<br>
Il y a actuellement un windows 7 32 bits d'installé, et je dispose d'un DVD avec un windows 7 64 bits.<br>
Je suis complètement novice, mais je comprend vite :)<br>
J'ai fais un essai en bootant la machine sur le lecteur de DVD. Il me propose d'installer windows 64 bits.</p>
<p>Merci par avance pour votre aide.</p><div><a href="https://linuxfr.org/forums/linux-debutant/posts/remplacer-windows-7-32-bits-par-64-bits-sur-dual-boot.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/109330/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/remplacer-windows-7-32-bits-par-64-bits-sur-dual-boot#comments">ouvrir dans le navigateur</a>
</p>
mitthttps://linuxfr.org/nodes/109330/comments.atomtag:linuxfr.org,2005:Post/355622015-07-02T10:25:16+02:002015-07-02T10:25:16+02:00Comment passez de ubuntu 64bits a ubuntu32bits ?<p>Bonjour j'ai un ubuntu 64bits et je voudrai passez a ubuntu 32bits. Je sais que le 32bits est moins puissants mais je veux quand meme passez a 32bits : Beaucoup de mes programmes préféres sont sur ubuntu 32bits et non sur ubuntu 64bits (Steam, Skype, Gameforge). Aidez moi plz</p><div><a href="https://linuxfr.org/forums/linux-debutant/posts/comment-passez-de-ubuntu-64bits-a-ubuntu32bits.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/106220/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/comment-passez-de-ubuntu-64bits-a-ubuntu32bits#comments">ouvrir dans le navigateur</a>
</p>
Praecursatorhttps://linuxfr.org/nodes/106220/comments.atomtag:linuxfr.org,2005:Post/342802014-08-10T11:36:51+02:002014-08-10T11:36:51+02:00cross-compilation avec MXE sur ArchLinux : quid de la libc 32 bits ?<p>Bonjour,<br>
je travaille sur une Arch (64 bits) et je voudrais (cross-)compiler un projet C++ et obtenir un exécutable Windows. <a href="http://mxe.cc/">MXE</a> m'intéresse beaucoup mais un détail m'inquiète : la libc <strong>32 bits</strong> <a href="http://mxe.cc/#requirements">doit être installée</a>. En installant mon Arch je n'avais pas prévu de jongler avec une configuation 32/64 bits.</p>
<p>D'où ma question : comment puis-je installer la glibc 32 bits ?</p>
<p>Merci de m'aider !</p><div><a href="https://linuxfr.org/forums/programmationautre/posts/cross-compilation-avec-mxe-sur-archlinux-quid-de-la-libc-32-bits.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/102978/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmationautre/posts/cross-compilation-avec-mxe-sur-archlinux-quid-de-la-libc-32-bits#comments">ouvrir dans le navigateur</a>
</p>
Xavier Faurehttps://linuxfr.org/nodes/102978/comments.atomtag:linuxfr.org,2005:Diary/316522011-09-28T15:49:24+02:002011-09-28T15:49:24+02:00Quels avantages à installer un noyau 64 bits ?Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<p>Il y a un an ou deux, installer un noyau 64 bits pouvait s'avérer problématique surtout si on devait utiliser des applis proprios, généralement uniquement compilées pour 32 bits. (Il y'avait Flash, Skype, Lotus Notes, des machins de ce genre).</p>
<p>Disposant d'un PC avec 4 Go de Ram, j'avais installé un noyau 64 bits avant de tout réinstaller en 32 bits pour un truc du genre décrit plus haut (un flasheur de firmware, je pense, je ne me souviens plus).</p>
<p>Aujourd'hui, je suis toujours en 32 bits, utilisant mes 4 Go de RAM grâce à un noyau PAE, automatiquement installé par Ubuntu.</p>
<p>Ma question est donc: qu'aurais-je à gagner à réinstaller une distrib 64 bits ?</p>
<ul><li>En performance ?</li>
<li>En autonomie ?</li>
<li>En n'importe quoi d'autre ?</li>
</ul><p>Et quel serait le prix à payer ?</p>
<p>J'ai même lu des rumeurs comme quoi le 64 bits serait plus gourmant et donc boufferait plus vite la batterie. Qu'en est-il ?</p>
<p>Et vous, pourquoi êtes-vous en 64 ou 32 bits ?</p><div><a href="https://linuxfr.org/users/ploum/journaux/quels-avantages-%C3%A0-installer-un-noyau-64-bits.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/87574/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/ploum/journaux/quels-avantages-%C3%A0-installer-un-noyau-64-bits#comments">ouvrir dans le navigateur</a>
</p>
ploumhttps://linuxfr.org/nodes/87574/comments.atomtag:linuxfr.org,2005:Diary/315752011-09-08T17:27:33+02:002011-09-08T17:27:33+02:00x32: Une nouvelle ABI Linux '32 bits' pour les CPU x86-64Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<p>Lors de la sortie de la version 64 bits des x86 faite par AMD, il y avait eu des tas de benchmarks pour étudier les performances entre le mode 32 bits et le mode 64 bits du CPU, avec des résultats variés: gain pour certaines applications (jusqu'à 20%!!) grâce au nombre supérieur de registres visibles par le compilateur, au calcul 64 bits natif, aux appels système rapide mais perte aussi pour d'autres applications principalement a cause de la taille supérieure des pointeurs (ce qui occupe plus de bande passante mémoire et réduit l'efficacité des caches mémoire).<br />
Notons aussi qu'à l'époque certaines applications avaient de l'assembleur codé manuellement pour le mode 32 bit mais pas pour le mode 64 bit, ce qui réduit les performances de manière "artificielle" dans un comparatif..</p>
<p>Pour essayer d'optimiser les performances, le nombre d'application ayant besoin de plus de 4 GO de RAM étant faible, des développeurs Linux proposent une nouvelle ABI nommée x32 permettant d'utiliser des pointeurs 32 bits tout en gardant le CPU en mode 64 bits ce qui permet de maximiser les performances des applications (nombre supérieur de registre visible, calcul 64 bits natif, appel système rapide ET pointeurs 32 bits).<br />
Cette ABI nécessite bien sûr le support du noyau Linux et de GCC, le support GCC n'étant pas encore finalisé, on ne peut pas vraiment faire de mesure de l'amélioration des performances à l'heure actuelle.</p>
<p>Et une question se pose alors: quelle taille utiliser pour time_t dans cette nouvelle ABI?<br />
Si on veut la compatibilité maximale avec les applications 32 bit actuelle, il serait logique de laisser time_t en mode 32 bit cependant Linus s'y est opposé de manière catégorique à cause du bug de l'an 2038.</p>
<p>L'<a href="http://lwn.net/Articles/456731">article sur LWN</a> rendre beaucoup plus en détail sur l'implémentation de cette nouvelle ABI sur Linux, à votre avis vas-t'il y avoir une migration vers x32 dans le futur?<br />
Affaire à suivre!</p><div><a href="https://linuxfr.org/users/reno/journaux/x32-une-nouvelle-abi-linux-32-bits-pour-les-cpu-x86-64.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/87349/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/reno/journaux/x32-une-nouvelle-abi-linux-32-bits-pour-les-cpu-x86-64#comments">ouvrir dans le navigateur</a>
</p>
renohttps://linuxfr.org/nodes/87349/comments.atom