3 votes

Mise à niveau d'Ubuntu hardy vers Ruby 1.8.7

Mon serveur fonctionne sous Ubuntu Hardy et Ruby 1.8.6 installé avec aptitude. J'aimerais passer à Ruby 1.8.7 mais, malheureusement, le paquet Ruby inclut Ruby 1.8.7 à partir d'Ubuntu Intrepid.

J'ai lu quelques tutoriels sur la façon de passer à Ruby 1.8.7 et j'ai trouvé au moins 3 façons différentes d'accomplir cette tâche :

  • backports
  • installation à partir de la source
  • installation à partir de la source et de multiples versions

Je suis un peu confus. Comment recommandez-vous de passer à Ruby 1.8.7 en tenant compte du fait que je n'ai pas besoin de plusieurs versions de Ruby sur le même serveur ? J'aimerais remplacer proprement le Ruby 1.8.6 existant par Ruby 1.8.7.

7voto

AsTeR Points 161

Comme Jeff me l'a fait remarquer, Ruby 1.8.7 n'a pas encore été rétroporté, la seule autre solution qui me vient à l'esprit est d'utiliser le PPA de l'équipe qui emballe Ruby.

Vous y trouverez les versions 1.8.7.22 et 1.9.0.2 de Ruby, selon votre préférence.

Si vous ne savez pas comment configurer ubuntu pour utiliser un PPA, les instructions se trouvent également sur la page liée (cliquez sur Not using Ubuntu 9.10 (karmic)? sous la section "Adding this PPA to your system").

J'espère que cela vous aidera! :)

0 votes

Belle trouvaille! Cela semble être une manière agréable et propre de le faire.

1voto

Pavel Zdenek Points 166

C'est le seul endroit où je pense qu'APT est vraiment nul. Pour être honnête, je suggère de prendre la voie facile et d'installer les DEB manuellement.

cd /tmp
wget http://archive.ubuntu.com/ubuntu/pool/main/r/ruby1.8/libruby1.8_1.8.7.174-2_i386.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/r/ruby1.8/ruby1.8_1.8.7.174-2_i386.deb
sudo dpkg -i libruby1.8_1.8.7.174-2_i386.deb ruby1.8_1.8.7.174-2_i386.deb
sudo apt-get install ruby

Cela ne fonctionnera pas pour n'importe quel paquet, mais Ruby semble être assez propre en ce qui concerne les dépendances. Aucune garantie que vous ne rencontrerez pas un problème obscur avec d'autres paquets que vous pourriez installer depuis APT cependant.

0 votes

Une mise en garde avec cette méthode: vous ne recevrez pas de mises à jour automatiques pour Ruby après cela. Si une version de sécurité est publiée, APT ne l'installera pas pour vous.

0 votes

Je rédige ceci plus d'un an après l'OP, et en essayant les wgets ci-dessus, j'obtiens une erreur 404 dans les deux cas. Y a-t-il une URL mise à jour pour les paquets ruby 1.8.7 ?

0 votes

Jetez un coup d'œil à la réponse de mac ci-dessus. Le lien qu'il a fourni est toujours valide. Les debs auxquels j'ai lié étaient pour l'une des versions Ubuntu à court terme plutôt qu'une LTS. Sinon, vous pouvez remonter d'un répertoire dans ces liens et rechercher les debs. archive.ubuntu.com/ubuntu/pool/main/r/ruby1.8 Il semble que 1.8.7.302-2 soit le plus récent.

1voto

AsTeR Points 161

Si vous souhaitez utiliser les dépôts, et donc être capable de savoir au moins quand une mise à jour est disponible, vous pouvez choisir d'utiliser le dépôt de backport. Il existe une technique, appelée épinglage, qui vous permet d'activer tout le dépôt mais d'installer/mettre à jour uniquement certains packages. Comme le wiki d'ubuntu fait un meilleur travail que je pourrais expliquer comment faire cela, je vous laisse le lire! :)

Si vous choisissez de suivre la suggestion de Jeff Snider, alors vous voudrez peut-être exécuter:

sudo apt-get -f update

Le -f signifie --fix-broken et ce qu'il fait est de tenter de corriger les dépendances cassées des packages déjà installés.

HTH!

0 votes

Ce serait utile si Ruby se trouvait dans le référentiel des mises à jour, mais ce n'est pas le cas. Les mises à jour sont un référentiel géré qui ne contient que des packages qui ont été demandés et jugés appropriés par l'équipe ubuntu. weppos devrait demander que Ruby 1.8.7 soit ajouté à hardy-backports, puis attendre qu'il soit ajouté.

0 votes

Jeff, tu as raison, désolé je ne l'ai pas remarqué moi-même. Consulte ma autre réponse à cette même question.

1voto

James L Points 6068

Une autre option est d'utiliser les packages brightbox pour rubyee.

Ci-dessous est cité de l'article de Ben Arblaster

Si vous êtes sur un Brightbox basé sur Hardy, créez ou éditez simplement /etc/apt/sources.list.d/brightbox-rubyee.list pour contenir le composant rubyee-testing comme ceci :

deb http://apt.brightbox.net/ hardy rubyee-testing

Enfin, mettez à jour et mettez à niveau libruby1.8 :

sudo apt-get update

sudo apt-get install libruby1.8 irb1.8 libopenssl-ruby1.8 libreadline-ruby1.8 rdoc1.8 ruby

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X