Edit Terakhir (2017-09-13) :
Solusi ini tidak lagi berfungsi untuk rilis Chrome ke atas 60 . Paket-paket terbaru bergantung pada libc6 ≥ 2.17 yang tidak dapat diinstal pada Ubuntu 12.04. Jika Anda masih menggunakan Precise, Anda sebaiknya mempertimbangkan untuk meningkatkan (seperti yang saya lakukan), atau jika Anda masih tidak dapat melakukannya, beralihlah ke peramban lain (walaupun pada titik ini Anda tidak mungkin menemukan yang masih dipertahankan).
Sunting (2016-12-06) : Sepertinya Chrome juga tergantung pada versi libfontconfig1 yang diperbarui sekarang (≥ 2.9.0). Saya telah memperbarui skripnya. Versi baru tampaknya berfungsi dengan baik sejauh ini, tetapi harap dicatat bahwa dengan setiap ketergantungan pura-pura Anda dapat mengharapkan aplikasi menjadi kurang stabil.
Sunting (2017-06-10) : Chrome 59 hadir dengan dependensi baru (libfontconfig1 ≥ 2.11, libpango, dan libpangocairo). Saya telah memperbarui skrip untuk menghapus ini. Peringatan yang sama dengan stabilitas Chrome berlaku lagi.
Solusi untuk masalah ketergantungan pada Ubuntu 12.04 64bit
Dukungan Chrome resmi untuk Ubuntu versi 12.04 telah berakhir, tetapi ini tidak berarti Anda harus meninggalkan Chrome dulu. Berikut ini adalah tutorial singkat tentang cara menginstal rilis Chrome terbaru (pada 2016-06-28) di Ubuntu 12,04 64-bit.
Peringatan : Ini adalah solusi yang sangat meretas yang mungkin berhenti bekerja kapan saja Pastikan Anda tahu apa yang Anda lakukan sebelum melanjutkan.
Prasyarat
Kernel yang diperbarui
Penting: Harap dicatat bahwa memperbarui kernel Anda mungkin disertai dengan serangkaian masalah dan kompatibilitas perangkat kerasnya. Pastikan Anda tahu cara beralih ke kernel sebelumnya sebelum melanjutkan dengan langkah ini.
Rilis Chrome terbaru bergantung pada sejumlah fitur kernel yang terkait dengan sandboxing yang tidak tersedia di kernel default Ubuntu 12.04 (3.2.0). Jika Anda telah menginstal Ubuntu 12.04 menggunakan gambar yang lebih baru (rilis point 12.04.2 dan lebih tinggi), kemungkinan Anda sudah menggunakan kernel yang diperbarui; tetapi jika Anda masih pada rilis kernel asli Anda dapat memperbarui ke tumpukan kernel Ubuntu 14.04 melalui paket tumpukan pemberdayaan perangkat keras LTS :
sudo apt-get install --install-recommends linux-generic-lts-trusty
Pastikan untuk reboot sistem Anda setelah melakukan peningkatan kernel. Jika semuanya berjalan dengan baik, sistem Anda sekarang harus menggunakan kernel Linux 3.13.X.
Masalah ketergantungan
Jika Anda melihat pesan kesalahan yang Anda terima saat mencoba memasang build Chrome terbaru, Anda akan melihat dua masalah ketergantungan yang berbeda:
libstdc++6 (>= 4.8.0)
: Ini adalah perpustakaan standar C ++ GNU. Chrome merilis 50.X dan yang lebih baru bergantung pada versi 4.8.0 dari perpustakaan ini, tetapi Ubuntu 12.04 hanya hadir dengan 4.6.3 secara default.
lsb-base (>= 4.1)
: Ini adalah paket Pangkalan Standar Linux. Ini menunjukkan kepatuhan distribusi dengan seperangkat standar yang ditetapkan oleh Linux Foundation. Chrome merilis 50.X + membutuhkan kepatuhan dengan standar yang ditentukan dalam basis LSB 4.1, tetapi Ubuntu 12.04 hanya sesuai dengan 4.0.
Ternyata kedua masalah ini dapat diperbaiki dengan mudah:
libstdc ++ 6 (> = 4.8.0)
Penting: libstdc ++ 6 adalah pustaka sistem penting yang bergantung pada banyak paket. Meningkatkan paket ini ke rilis yang lebih baru mungkin berbahaya dan dapat menyebabkan masalah stabilitas sistem. Saya belum mengalami masalah apa pun pada kedua sistem yang telah saya gunakan untuk meningkatkan versi ini, tetapi - seperti biasa - jarak tempuh Anda mungkin berbeda.
Untungnya bagi kami, libstdc++6
4.8.X tersedia dalam uji toolchain resmi Ubuntu untuk membangun PPA . Sebagai langkah pertama kami akan menambahkan PPA ini ke sumber perangkat lunak kami:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
Menginstal Google Chrome mulai saat ini akan menarik libstdc++6
ketergantungan dari PPA, menghilangkan masalah ketergantungan pertama. Dengan ini diselesaikan, mari kita lanjutkan ke masalah kedua.
lsb-base (> = 4.1)
Ternyata kami sebenarnya tidak perlu menginstal versi terbaru dari paket ini untuk menjalankan versi terbaru Chrome. Untuk saat ini Chrome tampaknya tidak benar-benar bergantung pada salah satu standar yang dimodifikasi di LSB basis 4.1, sehingga ketergantungan lsb-base (>= 4.1)
tampaknya merupakan ketergantungan lunak yang dapat kita hapus.
Anda dapat melakukan ini secara manual, tentu saja, tetapi saya telah menulis sebuah skrip yang menangani sebagian besar langkah-langkah berikut untuk Anda.
Skrip instalasi
#!/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"
Salin skrip di atas, simpan sebagai install_chrome.sh
dan tandai sebagai dapat dieksekusi (baik melalui chmod +x install_chrome.sh
atau properti Anda manajer dialog).
Setelah melakukannya, Anda dapat menjalankan skrip menggunakan:
./install_chrome.sh
Script akan melanjutkan untuk mengunduh rilis stabil Chrome terbaru, memodifikasinya untuk menghapus ketergantungan pada lsb-base 4.1 dan meminta Anda untuk menginstal .deb
file yang diperbarui melalui dpkg
.
Selamat, Anda sekarang menggunakan rilis terbaru Google Chrome di Ubuntu 12.04!
Pembaruan
Untuk memperbarui Chrome cukup jalankan skrip lagi.
Kompatibilitas di masa depan
Penting: Karena solusi ini dapat berhenti berfungsi kapan saja, saya sarankan Anda untuk selalu menyimpan .deb
file yang dimodifikasi yang berfungsi terakhir sebagai cadangan jika Chrome tiba-tiba menolak untuk memulai karena pembaruan.
Untuk menyimpan penginstal yang dimodifikasi terbaru cukup menuju ke direktori sementara skrip tepat setelah mendapatkan sudo
prompt kata sandi ketika menjalankan skrip (yaitu tepat sebelum menginstal .deb
file yang dimodifikasi ). Direktori sementara harus ditempatkan di suatu tempat di bawah /tmp/deb.XXXXXXXXX
(di mana XXXXXXXXX
string acak).