2010-05-01 3 views
1

Ubuntu 8.04 est exécuté sur un serveur VPS basé sur Xen qui s'exécute sur une machine AMD Opteron 64 bits à deux cœurs.Déploiement de fichiers binaires compilés localement sur le serveur

J'ai quelques démons basés sur C++ développés localement que je voudrais déployer dans cette machine. Ma machine locale est un Ubuntu 9.04 32 bits fonctionnant sur un ordinateur portable Intel Core 2 duo. Puis-je exécuter des binaires compilés à partir du code source sur ma machine directement sur le serveur mentionné ci-dessus?

Je suis un débutant dans ce domaine. Ce serait génial si quelqu'un pouvait mettre en lumière les pratiques standard dans ce genre de situation.

Merci à l'avance

+0

Zen, ou Xen ??? – Javier

+0

Corrigé, merci! – nano

Répondre

1

Xen est un hyperviseur sur lequel les systèmes d'exploitation devraient fonctionner. Ce n'est pas un système d'exploitation lui-même, dans le sens normal du mot, et vous ne pouvez pas construire des choses pour le faire fonctionner. Sauf si le "truc" est un système d'exploitation, bien sûr.

EDIT: Comme Ubuntu est exécuté dans l'hyperviseur, Xen lui-même n'est pas pertinent. À peu près tout ce que vous pouvez faire dans une installation Ubuntu normale, vous pouvez aussi le faire dans un Ubuntu hébergé par Xen.

WRT déployant le code construit 9.04 sur un système 8.04, il fonctionne souvent, même si vous pouvez rencontrer des problèmes avec les dépendances de bibliothèque. Un truc qui peut aider à atténuer cela si vous avez des problèmes est d'utiliser debootstrap (apt-get it). Il vous permet de déployer une version minimale de Ubuntu ou Debian de votre choix dans un environnement chroot. Je ne l'ai jamais utilisé, donc caveat lector. Une option plus lourde, mais plus propre, consiste à exécuter une machine virtuelle sur votre propre système (par exemple, Sun VirtualBox) et à exécuter 8.04 dessus pour réaliser des versions de version.

+0

Ubuntu 8.04 est en cours d'exécution sur la machine. Alors, comment se fait-il que d'autres applications comme python, apache etc. tournent sur le serveur? Sûrement ils doivent avoir été construits à partir du code source à un moment donné? – nano

+0

L'idée de VM est géniale. Merci! – nano

1

Il est préférable de développer avec le même système d'exploitation que celui sur lequel vous effectuez le déploiement afin de minimiser les différences dues à la configuration et aux bibliothèques. Cela pourrait fonctionner, mais cela pourrait également se produire à l'avenir lorsque les bibliothèques mises à jour sont installées. Je vous suggère d'obtenir sur le même système d'exploitation ou simplement recompiler la source sur le serveur cible

+0

Merci pour la réponse. Votre point concernant l'utilisation des mêmes systèmes d'exploitation est logique. Qu'en est-il de la différence d'architecture? Comme le serveur est AMD 64bit Opteron et la machine locale est Intel Core2duo. – nano

+1

AMD vs Intel ne devrait pas avoir d'importance, sauf si vous utilisez des indicateurs de compilation spécifiques pour optimiser l'un ou l'autre. Aller de 32 bits à 64 bits pourrait fonctionner, mais encore une fois cela dépend vraiment. Je crois fermement à un environnement de développement aussi proche que possible de la production - c'est généralement possible et cela me fait toujours gagner du temps à la fin, car je n'ai pas à faire face aux différences aléatoires qui apparaissent –

Questions connexes