最終編集(2017-09-13):
このソリューションは、Chromeリリース60以降では機能しません。最新のパッケージはlibc6≥2.17に依存しており、Ubuntu 12.04にはインストールできません。まだPreciseを使用している場合は、アップグレードを検討する必要があります(私が行ったように)、それでもアップグレードできない場合は、別のブラウザーに切り替えます(ただし、この時点ではまだ維持されているブラウザーを見つけることはできません)。
編集(2016-12-06):Chromeもlibfontconfig1のアップデートバージョン(2.9.0以上)に依存しているようです。それに応じてスクリプトを更新しました。これまでのところ、新しいバージョンは問題なく機能しているようですが、偽の依存関係があると、アプリの安定性が低下する可能性があることに注意してください。
編集(2017-06-10):Chrome 59には新しい依存関係(libfontconfig1≥2.11、libpango、およびlibpangocairo)が付属しています。これらを削除するようにスクリプトを更新しました。Chromeの安定性と同じ警告が再び適用されます。
Ubuntu 12.04 64ビットでの依存関係の問題の回避策
Ubuntuバージョン12.04のChromeの公式サポートは終了しましたが、これはChromeをまだ破棄する必要があるという意味ではありません。以下は、最新のChromeリリース(2016年6月28日現在)をUbuntu 12.04 64ビットにインストールする方法に関する簡単なチュートリアルです。
警告:これは非常にハックなソリューションであり、いつでも機能しなくなる可能性があります。先に進む前に、何をしているかを確認してください。
前提条件
更新されたカーネル
重要: カーネルの更新には、独自の一連のトラブルとハードウェアの互換性の問題が伴う場合があることに注意してください。この手順に進む前に、以前のカーネルに切り替える方法を確認してください。
最近のChromeリリースは、Ubuntu 12.04のデフォルトカーネル(3.2.0)では利用できないサンドボックス関連のいくつかのカーネル機能に依存しています。最新のイメージ(ポイントリリース12.04.2以降)を使用してUbuntu 12.04をインストールしている場合は、更新されたカーネルをすでに使用している可能性があります。ただし、まだ元のカーネルリリースを使用している場合は、LTSハードウェア有効化スタックパッケージを介してUbuntu 14.04のカーネルスタックに更新できます。
sudo apt-get install --install-recommends linux-generic-lts-trusty
カーネルのアップグレードを実行した後は、必ずシステムを再起動してください。すべてがうまくいけば、システムはLinuxカーネル3.13.Xを使用しているはずです。
依存関係の問題
最近のChromeビルドをインストールしようとしたときに表示されるエラーメッセージを見ると、2つの異なる依存関係の問題があることがわかります。
libstdc++6 (>= 4.8.0)
:これはGNU標準C ++ライブラリです。Chromeのリリース50.X以降は、このライブラリのバージョン4.8.0に依存していますが、Ubuntu 12.04にはデフォルトで4.6.3しか付属していません。
lsb-base (>= 4.1)
:これはLinux Standard Baseパッケージです。これは、ディストリビューションがLinux Foundationによって設定された一連の標準に準拠していることを示しています。Chromeリリース50.X +は、LSBベース4.1で定義された標準に準拠する必要がありますが、Ubuntu 12.04は4.0にのみ準拠しています。
結局のところ、これらの問題はどちらもかなり簡単に修正できます。
libstdc ++ 6(> = 4.8.0)
重要: libstdc ++ 6は、多くの異なるパッケージが依存する重要なシステムライブラリです。このパッケージを新しいリリースにアップグレードすると危険な場合があり、システムの安定性の問題につながる可能性があります。私がこのアップグレードを実行した2つのシステムで私は何も問題を経験していませんが、いつものように、走行距離は異なる場合があります。
幸い、libstdc++6
4.8.Xは公式のUbuntu ツールチェーンテストビルドPPAで利用できます。最初のステップとして、このPPAをソフトウェアソースに追加します。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
この時点からGoogle Chromeをインストールlibstdc++6
すると、PPAから依存関係がプルされ、最初の依存関係の問題が解消されます。これが解決したら、2番目の問題に進みましょう。
lsb-base(> = 4.1)
実際のところ、最新バージョンのChromeを実行するために、このパッケージの更新バージョンをインストールする必要はありません。現時点では、Chromeは実際にはLSBベース4.1の変更された標準に依存していないようです。そのため、依存関係lsb-base (>= 4.1)
は、単純に削除できるソフトな依存関係のようです。
もちろん、これを手動で行うこともできますが、次の手順のほとんどを処理するスクリプトを作成しました。
インストールスクリプト
#!/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"
上記のスクリプトをコピーして、名前install_chrome.sh
を付けて保存し、実行可能ファイルとしてマークします(chmod +x install_chrome.sh
またはファイルマネージャーのプロパティダイアログを使用)。
それが終わったら、次を使用してスクリプトを実行できます。
./install_chrome.sh
スクリプトは、最新の安定したChromeリリースをダウンロードし、それを変更してlsb-base 4.1への依存関係を削除し、更新された.deb
ファイルをからインストールするように求めますdpkg
。
おめでとうございます。Ubuntu12.04でGoogle Chromeの更新されたリリースを使用しています。
アップデート
Chromeを更新するには、スクリプトを再度実行するだけです。
将来の互換性
重要:このソリューションはいつでも機能しなくなる可能性があるため.deb
、更新によりChromeが突然起動を拒否した場合に備えて、常に最新の機能する変更済みファイルをバックアップとして保存することをお勧めします。
最新の変更されたインストーラーを保存するには、スクリプトのsudo
実行時にパスワードプロンプトが表示された直後(つまり、変更された.deb
ファイルをインストールする直前)に、スクリプトの一時ディレクトリに移動します。一時ディレクトリは、どこかにある必要があります/tmp/deb.XXXXXXXXX
(XXXXXXXXX
はランダムな文字列です)。