Dernière édition (13/09/2017) :
Cette solution ne fonctionne plus pour les versions 60 et supérieures de Chrome . Les derniers packages dépendent de libc6 ≥ 2.17 qui ne peut pas être installé sur Ubuntu 12.04. Si vous utilisez toujours Precise, vous devriez soit envisager une mise à niveau (comme je l'ai fait), ou si vous ne pouvez pas le faire encore, basculez vers un autre navigateur (bien qu'à ce stade, il est peu probable que vous en trouviez encore en cours de maintenance).
Edit (2016-12-06) : Il semble que Chrome dépend également d'une version mise à jour de libfontconfig1 (≥ 2.9.0). J'ai mis à jour le script en conséquence. La nouvelle version semble fonctionner correctement jusqu'à présent, mais veuillez noter qu'avec chaque dépendance feinte, vous pouvez vous attendre à ce que l'application devienne moins stable.
Edit (2017-06-10) : Chrome 59 est livré avec de nouvelles dépendances (libfontconfig1 ≥ 2.11, libpango et libpangocairo). J'ai mis à jour le script pour les supprimer. La même mise en garde quant à la stabilité de Chrome s'applique à nouveau.
Solution de contournement pour les problèmes de dépendance sur Ubuntu 12.04 64 bits
La prise en charge officielle de Chrome pour Ubuntu version 12.04 est terminée, mais cela ne signifie pas que vous devez abandonner Chrome pour l'instant. Ce qui suit est un rapide tutoriel sur la façon d'installer la dernière version de Chrome (à partir du 2016-06-28) sur Ubuntu 12.04 64 bits.
Avertissement : il s'agit d'une solution très piratée qui peut cesser de fonctionner à tout moment. Veuillez vous assurer de savoir ce que vous faites avant de continuer.
Conditions préalables
Noyau mis à jour
Important: veuillez noter que la mise à jour de votre noyau peut entraîner son propre ensemble de problèmes et de problèmes de compatibilité matérielle. Assurez-vous de savoir comment basculer vers un noyau antérieur avant de poursuivre cette étape.
Les versions récentes de Chrome dépendent d'un certain nombre de fonctionnalités du noyau liées au sandbox qui ne sont pas disponibles dans le noyau par défaut d'Ubuntu 12.04 (3.2.0). Si vous avez installé Ubuntu 12.04 en utilisant une image plus récente (version 12.04.2 et supérieure), il est probable que vous portiez déjà un noyau mis à jour; mais si vous êtes toujours sur la version originale du noyau, vous pouvez mettre à jour la pile de noyau d'Ubuntu 14.04 via le paquet de pile d'activation du matériel LTS :
sudo apt-get install --install-recommends linux-generic-lts-trusty
Assurez-vous de redémarrer votre système après avoir effectué la mise à niveau du noyau. Si tout s'est bien passé, votre système devrait maintenant utiliser le noyau Linux 3.13.X.
Problèmes de dépendance
Si vous regardez le message d'erreur que vous recevez lorsque vous essayez d'installer une version récente de Chrome, vous verrez deux problèmes de dépendance distincts:
libstdc++6 (>= 4.8.0)
: Ceci est la bibliothèque C ++ standard GNU. Chrome publie 50.X et versions ultérieures dépendent de la version 4.8.0 de cette bibliothèque, mais Ubuntu 12.04 n'est fourni qu'avec 4.6.3 par défaut.
lsb-base (>= 4.1)
: Il s'agit du package Linux Standard Base. Il indique la conformité de la distribution à un ensemble de normes établies par la Linux Foundation. Les versions 50.X + de Chrome nécessitent la conformité aux normes définies dans LSB base 4.1, mais Ubuntu 12.04 n'est compatible qu'avec 4.0.
Il s'avère que ces deux problèmes peuvent être résolus assez facilement:
libstdc ++ 6 (> = 4.8.0)
Important: libstdc ++ 6 est une bibliothèque système importante dont dépendent de nombreux packages différents. La mise à niveau de ce package vers une version plus récente peut être dangereuse et entraîner des problèmes de stabilité du système. Je n'ai moi-même rencontré aucun problème sur les deux systèmes sur lesquels j'ai effectué cette mise à niveau, mais - comme toujours - votre kilométrage peut varier.
Heureusement pour nous, libstdc++6
4.8.X est disponible dans le test officiel Ubuntu toolchain builds PPA . Dans un premier temps, nous ajouterons ce PPA à nos sources logicielles:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
L'installation de Google Chrome à partir de ce moment entraînera la libstdc++6
dépendance du PPA, éliminant le premier problème de dépendance. Avec cela résolu, passons au deuxième problème.
lsb-base (> = 4.1)
Il s'avère que nous n'avons pas réellement besoin d'installer une version mise à jour de ce package pour faire fonctionner les versions récentes de Chrome. Pour l'instant, Chrome ne semble dépendre d'aucune des normes modifiées dans LSB base 4.1, donc la dépendance sur lsb-base (>= 4.1)
semble être une dépendance douce que nous pouvons simplement supprimer.
Vous pouvez le faire manuellement, bien sûr, mais j'ai écrit un script qui prend en charge la plupart des étapes suivantes pour vous.
Script d'installation
#!/bin/bash
# Name: Chrome installer for Ubuntu 12.04 LTS 64-bit
# Author: (c) 2016-2017 Glutanimate
# License: GNU GPLv3
# Manual: http://askubuntu.com/a/792442/
# Description:
#
# Downloads latest chrome release and makes it compatible with 12.04.
#
# This is a hack that will likely stop working at some point,
# but for those of us who can't upgrade Ubuntu just yet
# it's better than running a completely obsolete Chrome release.
set -e
tmpDir=$(mktemp -d /tmp/deb.XXXXXXXXXX)
debUrl="https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
debFile="$tmpDir/chrome.deb"
cleanup () {
[[ -n "$tmpDir" ]] && [[ -d "$tmpDir" ]] && rm -r "$tmpDir"
}
trap "cleanup" EXIT
echo "Downloading latest Chrome release..."
mkdir -p "$tmpDir/build"
buildDir="$tmpDir/build"
wget "$debUrl" -O "$tmpDir/chrome.deb" || exit 1
echo "Extracting original deb file..."
dpkg-deb -x "$debFile" "$buildDir"
dpkg-deb --control "$debFile" "$buildDir/DEBIAN"
echo "Updating dependencies..."
perl -pe 's|lsb-base \(\>\= 4\.1\)|lsb-base \(\>\= 4\.0\)|g' "$buildDir/DEBIAN/control" > "$buildDir/DEBIAN/control.1"
perl -pe 's|libfontconfig1 \(\>\= 2\.11\)|libfontconfig1 \(\>\= 2\.8\.0\)|g' "$buildDir/DEBIAN/control.1" > "$buildDir/DEBIAN/control"
perl -pe 's|libpango-1\.0-0 \(\>\= 1\.14\.0\), libpangocairo-1\.0-0 \(\>\= 1\.14\.0\), ||g' "$buildDir/DEBIAN/control" > "$buildDir/DEBIAN/control.1"
mv "$buildDir/DEBIAN/control.1" "$buildDir/DEBIAN/control"
echo "Building new deb file..."
dpkg -b "$buildDir" "$tmpDir/chrome_modified.deb"
echo "Installing new Chrome version. Please enter your password:"
sudo dpkg -i "$tmpDir/chrome_modified.deb"
Copiez le script ci-dessus, enregistrez-le sous install_chrome.sh
et marquez-le comme exécutable (via chmod +x install_chrome.sh
ou la boîte de dialogue des propriétés de votre gestionnaire de fichiers).
Cela fait, vous pouvez exécuter le script en utilisant:
./install_chrome.sh
Le script procédera au téléchargement de la dernière version stable de Chrome, la modifiera pour supprimer la dépendance à lsb-base 4.1 et vous invitera à installer le .deb
fichier mis à jour via dpkg
.
Félicitations, vous utilisez maintenant une version mise à jour de Google Chrome sur Ubuntu 12.04!
Mises à jour
Pour mettre à jour Chrome, réexécutez simplement le script.
Compatibilité future
Important: Étant donné que cette solution peut cesser de fonctionner à tout moment, je vous conseille de toujours enregistrer le dernier .deb
fichier modifié de travail en tant que sauvegarde au cas où Chrome refuserait soudainement de démarrer en raison d'une mise à jour.
Pour enregistrer le dernier programme d'installation modifié, dirigez-vous simplement vers le répertoire temporaire du script juste après avoir reçu l' sudo
invite de mot de passe lors de l'exécution du script (c'est-à-dire juste avant d'installer le .deb
fichier modifié ). Le répertoire temporaire doit être situé quelque part sous /tmp/deb.XXXXXXXXX
(où XXXXXXXXX
est une chaîne aléatoire).