Última edição (2017-09-13) :
Esta solução não funciona mais para as versões 60 e superiores do Chrome . Os últimos pacotes dependem do libc6 ≥ 2.17 que não pode ser instalado no Ubuntu 12.04. Se você ainda estiver usando o Precise, considere a atualização (como eu fiz) ou, se ainda não conseguir fazer isso, mude para outro navegador (embora, neste momento, seja improvável que você encontre algum que ainda esteja sendo mantido). / p>
Editar (2016-12-06) : parece que o Chrome também depende de uma versão atualizada do libfontconfig1 agora (≥ 2.9.0). Eu atualizei o script de acordo. A nova versão parece estar funcionando bem até agora, mas observe que com cada dependência simulada você pode esperar que o aplicativo fique menos estável.
Editar (2017-06-10) : o Chrome 59 vem com novas dependências (libfontconfig1 ≥ 2.11, libpango e libpangocairo). Eu atualizei o script para removê-los. A mesma advertência quanto à estabilidade do Chrome se aplica novamente.
Solução alternativa para problemas de dependência no Ubuntu 12.04 64bit
O suporte oficial do Chrome para a versão 12.04 do Ubuntu terminou, mas isso não significa que você tenha que abandonar o Google Chrome ainda. O que segue é um tutorial rápido sobre como instalar a versão mais recente do Chrome (a partir de 2016-06-28) no Ubuntu 12.04 64 bits.
Aviso : Esta é uma solução muito hackeada que pode parar de funcionar a qualquer momento. Por favor, certifique-se de que você sabe o que está fazendo antes de prosseguir.
Pré-requisitos
Kernel atualizado
Importante: Observe que a atualização do seu kernel pode vir com seu próprio conjunto de problemas e problemas de compatibilidade de hardware. Certifique-se de que você sabe como mudar para um kernel anterior antes de continuar com esta etapa.
Lançamentos recentes do Chrome dependem de vários recursos do kernel relacionados ao sandbox que não estão disponíveis no kernel padrão do Ubuntu 12.04 (3.2.0). Se você instalou o Ubuntu 12.04 usando uma imagem mais recente (ponto de lançamento 12.04.2 e superior), é provável que você já esteja usando um kernel atualizado; mas se você ainda estiver no lançamento original do kernel, você pode atualizar para a pilha de kernel do Ubuntu 14.04 através do pacote de empilhamento de hardware de LTS :
sudo apt-get install --install-recommends linux-generic-lts-trusty
Certifique-se de reiniciar seu sistema depois de executar a atualização do kernel. Se tudo correr bem, o seu sistema deve agora estar usando o kernel Linux 3.13.X.
Problemas de dependência
Se você observar a mensagem de erro recebida ao tentar instalar uma versão recente do Google Chrome, verá dois problemas distintos de dependência:
-
libstdc++6 (>= 4.8.0)
: Esta é a biblioteca C ++ padrão do GNU. As versões do Chrome 50.X e acima dependem da versão 4.8.0 desta biblioteca, mas o Ubuntu 12.04 vem apenas com o 4.6.3 por padrão.
-
lsb-base (>= 4.1)
: este é o pacote Linux Standard Base. Indica a conformidade da distribuição com um conjunto de padrões definidos pela Linux Foundation. As versões do Chrome 50.X + exigem conformidade com os padrões definidos no LSB base 4.1, mas o Ubuntu 12.04 é compatível apenas com o 4.0.
Como se verifica, ambos os problemas podem ser resolvidos com facilidade:
libstdc ++ 6 (& gt; = 4.8.0)
Importante: libstdc ++ 6 é uma biblioteca de sistema importante da qual muitos pacotes diferentes dependem. A atualização deste pacote para uma versão mais recente pode ser perigosa e levar a problemas de estabilidade do sistema. Eu mesmo não tive problemas nos dois sistemas em que executei esta atualização, mas - como sempre - sua milhagem pode variar.
Felizmente para nós, libstdc++6
4.8.X está disponível no Ubuntu oficial builds de teste toolchain PPA . Como primeiro passo, adicionaremos este PPA às nossas fontes de software:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
A instalação do Google Chrome a partir de agora retirará a dependência libstdc++6
do PPA, eliminando o primeiro problema de dependência. Com isso resolvido, vamos para o segundo problema.
lsb-base (& gt; = 4.1)
Acontece que na verdade não precisamos instalar uma versão atualizada desse pacote para obter versões recentes do Chrome em execução. Por enquanto, o Chrome não parece realmente depender de qualquer um dos padrões modificados no LSB 4.1, então a dependência em lsb-base (>= 4.1)
parece ser uma dependência soft que podemos simplesmente remover.
Você poderia fazer isso manualmente, é claro, mas escrevi um script que cuida da maioria das etapas a seguir para você.
Script de instalação
#!/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"
Copie o script acima, salve-o como install_chrome.sh
e marque-o como executável (via chmod +x install_chrome.sh
ou a caixa de diálogo de propriedades do seu gerenciador de arquivos).
Feito isso, você pode executar o script usando:
./install_chrome.sh
O script procederá ao download da última versão estável do Chrome, modifique-a para remover a dependência do lsb-base 4.1 e solicitar que você instale o arquivo .deb
atualizado via dpkg
.
Parabéns, agora você está usando uma versão atualizada do Google Chrome no Ubuntu 12.04!
Atualizações
Para atualizar o Chrome, basta executar o script novamente.
Compatibilidade futura
Importante: Como essa solução pode parar de funcionar a qualquer momento, recomendamos que você salve sempre o último arquivo .deb
de trabalho modificado como backup no caso de o Chrome se recusar a iniciar devido a uma atualização.
Para salvar o instalador modificado mais recente, simplesmente vá para o diretório temporário do script logo após obter o prompt sudo
password ao executar o script (ou seja, antes de instalar o arquivo .deb
modificado). O diretório temporário deve estar localizado em algum lugar abaixo de /tmp/deb.XXXXXXXXX
(onde XXXXXXXXX
é uma string aleatória).