Mise en prison de la vieille machine de compilation FreeBSD sur FreeBSD moderne


1

Nous avons de très vieux systèmes de compilation FreeBSD (6.3) que nous utilisons pour maintenir une compatibilité ascendante avec les bibliothèques système de nos fichiers binaires propriétaires et éviter de construire à chaque version de FreeBSD.

Question: Est-il techniquement possible d'installer une nouvelle version de FreeBSD 11.x et de mettre l'ancien système en prison? Ou y aura-t-il des problèmes dus à des appels système incompatibles?

Je pense me souvenir d’un changement - supposé cuisant - de l’interface du noyau en ce qui concerne la taille d’ time_tenviron. Existe-t-il de tels changements qui casseraient les anciens fichiers binaires s'appuyant sur l'ancien appel système ou auraient-ils uniquement une incidence sur les fichiers binaires nouvellement construits / liés qui sont liés au nouvel appel système (correspondant)?


Avez-vous essayé de construire une machine virtuelle pour exécuter la version FreeBSD 6.3 dans la version FreeBSD 11.x? Je pense à VirtualBox d'Oracle, ou à quelque chose du genre.
bakoyaro

Bien, bhyve viendrait à l’esprit alors, étant donné que c’est 11.x. Cependant, les prisons coûtent moins cher (frais généraux) et c'est ce que nous recherchons ici. Donc, au lieu d’utiliser un hyperviseur complet, nous aimerions utiliser la "méthode FreeBSD", mais nous ne savons pas si cela est possible. Bien sûr, un hyperviseur approprié constituerait un dernier recours, mais j'espère qu'une meilleure option existe.
0xC0000022L

Réponses:


1

Je pense que bhyve est votre premier recours, pas votre dernier. Si vous emprisonnez votre environnement de construction, vous testez votre produit sur un monde 6.3 et des bibliothèques, avec un noyau 11.x. Toutefois, vos clients exécuteront un noyau / libs 6.3 et un noyau 6.3.

J'imagine que les différences entre les noyaux 6.3 et 11.x devraient augmenter avec le temps. Cela pourrait éventuellement conduire à des situations telles que celle dans laquelle le noyau 11.x de votre jail test teste est la bonne chose, mais le noyau 6.3 de votre client ne le fait pas et par conséquent, vous ne pouvez pas reproduire le rapport de problème de votre client.

OMI, bhyve est le meilleur outil pour ce travail.


Merci d'avoir pris le temps de répondre. Pour commencer, le client ne partage aucune personnalisation. Par conséquent, son noyau peut échouer de manière mystérieuse. De plus, je parle de la construction, même si des tests seront également nécessaires. Mais je présume que vous avez un point. Je m'attendais juste à un peu plus de compatibilité ascendante de la libc sous-jacente. Après tout, je n’attends "que" l’espoir que l’utilisateur 6.3 fonctionne sur un noyau plus récent. Je pensais que cela ne poserait pas autant de problèmes que vous le dites.
0xC0000022L
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.