Quelle est la meilleure pratique pour maintenir un server Linux Ubuntu à jour (créer des packages, dist-upgrade, alt repos …)

Nous exécutons un server de production basé sur Ubuntu 9.10 Karmic Koala , le kernel est presque à jour (2.6.38.2-grsec-xxxx-grs-ipv6-64), mais le repository de colis karmic est maintenant ridiculement dépassé, par ex. Nginx est 0.7.62 – vraiment buggy – alors que la dernière version stable est 1.0.x !!

En plus, Karmic vient d'atteindre sa fin de vie.

Cette question: Meilleures pratiques pour maintenir les packages UNIX à jour? semble similaire, mais ne comprend que quelques suggestions sur les gestionnaires de packages; pas du tout ce dont j'ai besoin!

donc les options que je vois sont:

  1. get une nouvelle machine, l'installer à partir de zéro, migrer
  2. mise à niveau de la dissortingbution
  3. utilisez un référentiel différent ( launchpad / ppa / backport / pinning )
  4. construit le tien

Les inconvénients de 1. sont tout à fait évidents.

Cependant, je n'ose pas faire un path de dist-upgrade, car les time d'arrêt et les conséquences catastrophiques possibles sont tout simplement impossibles à prévoir pour un server de production, et sont actuellement en train de reconstituer mes propres packageages requirejs. Mais je suis sûr que j'en ai manqué.

Ce n'est pas vraiment clair pour moi quels sont les risques (stabilité / compatibilité) de l'utilisation de backport ubuntu, en plus rien n'est officiellement prévu pour le 9.10. Launchpad est une compilation individuelle, une question similaire: il est préférable de composer le vôtre.

La construction de packages semble bien, mais: 1. parfois j'ai du mal à reproduire les options correctes ./configure afin de réutiliser mes files de configuration existants 1. Je suis sûr qu'il y a des tonnes de packages et de dependencies qui sont maintenant assez désuets et possibles de bugs

Enfin … qu'en est-il des packages «anciens» dans une dissortingbution récente? Je suppose qu'il n'y a pas d'autre moyen que de les rebuild moi-même? Une combinaison de 2. et 4. enfin le meilleur path?

Existe-t-il un consensus objective sur quelle est la meilleure façon de le faire, ou des raisons pour lesquelles certaines de mes options sont bien ou pas bien?

Si vraiment il n'y a pas, j'accepte que la question soit fermée avant de créer un fil sans fin!

3 Solutions collect form web for “Quelle est la meilleure pratique pour maintenir un server Linux Ubuntu à jour (créer des packages, dist-upgrade, alt repos …)”

Le maintien de votre propre dissortingbution est beaucoup de travail. Même si vous maintenez les backports, vous allez bientôt être submergé par des problèmes de security à réparer, et vous devrez tirer sur des bibliothèques de bas niveau pour continuer à mettre à jour votre logiciel, ce qui risque de briser d'autres choses (je maintiens des servers exécutant des distros de 6 ans, c'est pas drôle).

La mise à niveau est généralement une bonne solution. do-release-upgrade est bien faite, et vous devriez pouvoir vous mettre à niveau sans problème (surtout si vous avez utilisé uniquement des packages officiels).

Ma solution préférée pourrait cependant être le path de réinstallation. Plus précisément, vos servers devraient être gérés à l'aide d'un système de gestion de configuration tel que Puppet, Cfengine ou Chef. Si tous vos besoins en configuration / package sont spécifiés à l'aide d'un tel outil et que vos données sont sécurisées sur une partition distincte, il est beaucoup plus facile de réinstaller rapidement. Vous installez simplement une nouvelle dissortingbution sans effacer les partitions de données, puis exécutez l'outil de gestion de la configuration pour réinitialiser vos packages / configurations. Je crois que c'est la façon la plus propre à faire, surtout si vous avez plusieurs servers à gérer.

Si vous utilisez des packages non officiels, vous voudrez peut-être les identifier avant de mettre à niveau / réinstaller. la vérification de maintenance peut vous aider à identifier les packages qui ne sont pas officiellement gérés par Ubuntu:

 $ bzr branch lp:ubuntu-maintenance-check $ cd ubuntu-maintenance-check $ ./maintenance-check -fn 

Si vous souhaitez réinstaller, vous pouvez également exporter la list des packages installés:

 $ dpkg --get-selections > myinstall.txt 

et votre database Debconf:

 $ debconf-get-selections > debconf.txt # from the debconf-utils package 

En tant que note, puisque vous utilisez actuellement Karmic, il est peut-être pas trop violent de mettre à niveau vers Lucid, qui est une version LTS, encore soutenue jusqu'en 2015 pour les principaux packageages de servers. Cela devrait vous laisser suffisamment de time pour configurer une installation automatisée viable pour l'avenir.

Lorsque vous posez des questions sur les packages Launchpad, je suppose que vous voulez dire des PPA. Il y a des tonnes de PPA différents. Certains sont expérimentaux, certains sont stables. Certains sont gérés par les développeurs officiels d'Ubuntu, certains sont gérés par les gens qui savent très bien comment faire un package correctement. Il est difficile de dire en général si les packages que vous trouvez sur les PPA sont bons, il n'y a pas de règle générale. Le meilleur indice dans ce cas pourrait être trop regarder le propriétaire des PPA pour avoir une idée de la qualité possible de leurs forfaits.

Si le server n'est pas exposé au monde et que vous faites confiance à vos users (en général, ce n'est pas une bonne idée), alors, si cela fonctionne, vous pouvez le laisser.

Si elle est en quelque sorte exposée au monde extérieur, et / ou que vous entretenez l'idée que l'user légitime joue avec elle d'une manière illégitime, vous devez absolument avoir des correctifs et des correctifs sur votre logiciel installé.

Dans ce cas, vous avez deux options:

  1. Exécutez une dissortingbution prise en charge et obtenez des mises à jour de votre logiciel, ou

  2. Backport corrige toutes vos réparations non sockets en charge, ce qui, à vrai dire, ne semble pas possible.

Je ne suis pas un user d'Ubuntu, donc je ne peux pas commenter l'exhaustivité des correctifs que vous obtiendrez dans votre option 3, mais si vous avez des doutes, je suppose que vous n'aurez pas de couverture complète.

La meilleure solution est de passer à une version LTS d'Ubuntu, qui vous apportera son soutien pour les versions de packageages fournies pendant un certain time. À time, certains des packages seront périmés, mais votre environnement disposera de correctifs de security et sera stable (pas de bosses de version de package). D'après mon expérience, la stabilité d'un environnement de travail connu est généralement plus précieuse que les nouvelles fonctionnalités.

Il semble que votre position actuelle ne soit pas maintenable et que vous devez vous déplacer. Le seul moyen sécurisé est d'get une deuxième machine (ou une machine virtuelle) et de tester les migrations jusqu'à ce que vous ayez une procédure répétable et réussie, puis appliquez-la à la machine de production. Si vous utilisez vos sauvegardes pour effectuer des tests de migration, vous aurez également la possibilité de tester vos procédures de sauvegarde.

La seule véritable voie à suivre est la mise à niveau de la dissortingbution. Je peux comprendre que vous êtes nerveux à ce sujet, car à l'heure actuelle, vous lancerez plusieurs sorties en avant (11.04 vient d'être publié).

Je reorderais de faire un clone des lecteurs dans cette machine, puis utiliser un ordinateur séparé pour fonctionner avec les clones, et l'utiliser pour effectuer une série de mises à niveau de test. Notez tous les problèmes rencontrés et répétez jusqu'à ce que vous ayez une procédure claire pour tous. Ensuite, appliquez ceci à votre server en direct.

Si vous ne pouvez vous permettre aucun time d'arrêt, la migration est votre seule issue. Oubliez les attaches et les backports, qui ne vous garderont plus que pendant une période limitée. Et la "rouler votre propre" option n'est même pas la peine d'être considérée. Juste mes 2 pence.

  • Arrêt de Java pour afficher l'avis de mise à jour à tous les users de terminaux
  • Serveur de mise à jour YUM RHEL
  • Arrêt du server Openstack et des machines virtuelles
  • Centos 7 - les permissions de groupe sshd sftp ont été gâchées après la mise à jour
  • Omreport manquant après CentOS 5.4 yum update
  • Comment get le nombre de mises à jour disponibles sur un système Ubuntu en tant qu'user normal
  • SBS2011 Le rapport détaillé du réseau présente les mises à jour manquantes
  • Comment puis-je passer à Java 1.8 sur un server Amazon Linux?
  • Exécution de la mise à jour de yum sur un hôte OpenVZ
  • Bizarre Windows Problèmes de mise à jour - perte de connectivité
  • SQL 2005 à l'erreur de mise à jour du server lié SQL 2000
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.