শেষ সম্পাদনা (2017-09-13) :
এই সমাধানটি ক্রোমের 60 বা তার বেশি আপের জন্য আর কাজ করে না । সর্বশেষতম প্যাকেজগুলি libc6 ≥ 2.17 এর উপর নির্ভর করে যা উবুন্টু 12.04 এ ইনস্টল করা যায় না। আপনি যদি এখনও নির্ভুল ব্যবহার করছেন তবে আপনি হয় আপগ্রেড করার বিষয়টি বিবেচনা করুন (যেমনটি আমি করেছি), অথবা আপনি এখনও তা করতে না পারলে অন্য ব্রাউজারে স্যুইচ করুন (যদিও এই মুহুর্তে আপনার এখনও কোনও রক্ষণাবেক্ষণের সন্ধান পাওয়ার সম্ভাবনা নেই)।
সম্পাদনা (2016-12-06) : দেখে মনে হচ্ছে ক্রোম এখন libfontconfig1 এর একটি আপডেট সংস্করণ (≥ 2.9.0) এর উপর নির্ভর করে। আমি সেই অনুযায়ী স্ক্রিপ্ট আপডেট করেছি। নতুন সংস্করণটি এখনও অবধি ঠিকঠাকভাবে কাজ করছে বলে মনে হচ্ছে তবে দয়া করে মনে রাখবেন যে প্রতিটি স্বীকৃত নির্ভরতার সাথে আপনি অ্যাপটি কম স্থিতিশীল হওয়ার আশা করতে পারেন।
সম্পাদনা (2017-06-10) : Chrome 59 নতুন নির্ভরতা (libfontconfig1 ≥ 2.11, libpango, এবং libpangocairo) এর সাথে আসে। এগুলি সরাতে আমি স্ক্রিপ্ট আপডেট করেছি। ক্রোমের স্থিতিশীলতার মতো একই সাবধানতা আবার প্রয়োগ হয়।
উবুন্টু 12.04 64 বিট-এর উপর নির্ভরশীলতার ইস্যুগুলির জন্য কর্মসূচি
উবুন্টু সংস্করণ 12.04 এর জন্য অফিশিয়াল ক্রোম সমর্থন শেষ হয়েছে, তবে এর অর্থ এই নয় যে আপনাকে এখনও ক্রোম ত্যাগ করতে হবে। নিম্নলিখিতটি কীভাবে উবুন্টু 12.04 -৪-বিটে সাম্প্রতিকতম Chrome রিলিজ (2016-06-28 হিসাবে) ইনস্টল করবেন তার একটি দ্রুত টিউটোরিয়াল follows
সতর্কতা : এটি একটি খুব হ্যাকিশ সমাধান যা সময় সময়ে কোনও সময়ে কাজ বন্ধ করে দিতে পারে। এগিয়ে যাওয়ার আগে আপনি কী করছেন তা নিশ্চিত হয়ে নিন।
আগ্রহী
আপডেট করা কার্নেল
গুরুত্বপূর্ণ: দয়া করে নোট করুন যে আপনার কার্নেলটি আপডেট করা তার নিজস্ব সেটগুলির সমস্যা এবং হার্ডওয়্যার সামঞ্জস্যতার সমস্যা নিয়ে আসতে পারে। এই পদক্ষেপটি নিয়ে যাওয়ার আগে আপনি কীভাবে কোনও পূর্ববর্তী কার্নেলে স্যুইচ করতে জানেন তা নিশ্চিত করুন।
সাম্প্রতিক ক্রোম প্রকাশগুলি স্যান্ডবক্সিং সম্পর্কিত অনেকগুলি কার্নেল বৈশিষ্ট্যের উপর নির্ভর করে যা উবুন্টু 12.04 এর ডিফল্ট কার্নেল (3.2.0) এ উপলব্ধ নয়। আপনি যদি আরও সাম্প্রতিক চিত্র ব্যবহার করে উবুন্টু 12.04 ইনস্টল করেছেন (পয়েন্ট রিলিজ 12.04.2 এবং তার বেশি), সম্ভাবনা হ'ল আপনি ইতিমধ্যে একটি আপডেট করা কার্নেল খেলাধুলা করছেন; তবে আপনি যদি এখনও মূল কার্নেল রিলিজটিতে থাকেন তবে আপনি উবুন্টু 14.04 এর কার্নেল স্ট্যাকটি LTS হার্ডওয়্যার সক্ষমকরণ স্ট্যাক প্যাকেজের মাধ্যমে আপডেট করতে পারেন :
sudo apt-get install --install-recommends linux-generic-lts-trusty
কার্নেল আপগ্রেড করার পরে আপনার সিস্টেমটি পুনরায় বুট করার বিষয়টি নিশ্চিত করুন। যদি সবকিছু ঠিকঠাক হয় তবে আপনার সিস্টেমের এখন লিনাক্স কার্নেলটি ব্যবহার করা উচিত 3.13.X.
নির্ভরতা বিষয়
সাম্প্রতিক ক্রোম বিল্ড ইনস্টল করার চেষ্টা করার সময় আপনি যে ত্রুটি বার্তাটি পেয়েছেন তা যদি আপনি দু'টি স্বতন্ত্র নির্ভরতার সমস্যা দেখতে পাবেন:
libstdc++6 (>= 4.8.0)
: এটি জিএনইউ স্ট্যান্ডার্ড সি ++ লাইব্রেরি। ক্রোম এই লাইব্রেরির ৪.৮.০ সংস্করণের উপর নির্ভর করে .০. এক্স এবং তার উপরে প্রকাশ করে তবে উবুন্টু ১২.০৪ কেবলমাত্র ডিফল্টরূপে 4..6.৩ নিয়ে আসে।
lsb-base (>= 4.1)
: এটি লিনাক্স স্ট্যান্ডার্ড বেস প্যাকেজ। এটি লিনাক্স ফাউন্ডেশন দ্বারা নির্ধারিত মানগুলির একটি সেট সাথে বিতরণের সম্মতি নির্দেশ করে। ক্রোম 50.X + প্রকাশ করে এলএসবি বেস 4.1 এ সংজ্ঞায়িত মানগুলির সাথে সম্মতি প্রয়োজন, তবে উবুন্টু 12.04 কেবলমাত্র 4.0 এর সাথে সম্মতিযুক্ত।
যেহেতু দেখা যাচ্ছে এই দুটি সমস্যাই বরং সহজেই স্থির করা যেতে পারে:
libstdc ++ 6 (> = 4.8.0)
গুরুত্বপূর্ণ: libstdc ++ 6 একটি গুরুত্বপূর্ণ সিস্টেম লাইব্রেরি যা বিভিন্ন বিভিন্ন প্যাকেজ নির্ভর করে। এই প্যাকেজটিকে একটি নতুন রিলিজে আপগ্রেড করা বিপজ্জনক হতে পারে এবং এটি সিস্টেমের স্থায়িত্বের সমস্যার কারণ হতে পারে। এই আপগ্রেডটি আমি যে দুটি সিস্টেমে চালিয়েছি তাতে আমি কোনও সমস্যা নিজেই অনুভব করিনি, তবে - সর্বদা - আপনার মাইলেজটি ভিন্ন হতে পারে।
সৌভাগ্যক্রমে আমাদের জন্য, libstdc++6
4.8.X অফিশিয়াল উবুন্টু টুলচেন পরীক্ষায় বিল্ড পিপিএ উপলব্ধ । প্রথম পদক্ষেপ হিসাবে আমরা এই সফটওয়্যার উত্সগুলিতে এই পিপিএ যুক্ত করব:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
এই মুহুর্ত থেকে গুগল ক্রোম ইনস্টল করা libstdc++6
পিপিএ থেকে নির্ভরতা টানবে, প্রথম নির্ভরতা ইস্যুটি দূর করে। এই সমাধানের সাথে, আসুন দ্বিতীয় ইস্যুতে এগিয়ে চলুন।
lsb-base (> = 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
স্ক্রিপ্টটি সর্বশেষ স্থিতিশীল ক্রোম রিলিজ ডাউনলোড করতে, lsb-বেস 4.1 এর উপর নির্ভরতা অপসারণ করতে এটি সংশোধন করবে এবং এর .deb
মাধ্যমে আপনাকে আপডেট করা ফাইলটি ইনস্টল করতে অনুরোধ করবে dpkg
।
অভিনন্দন, আপনি এখন উবুন্টু 12.04 এ গুগল ক্রোমের একটি আপডেট রিলিজ ব্যবহার করছেন!
আপডেট
ক্রোম আপডেট করার জন্য আবার স্ক্রিপ্টটি চালান।
ভবিষ্যতের সামঞ্জস্য
গুরুত্বপূর্ণ: যেহেতু এই সমাধানটি যে কোনও সময় কাজ বন্ধ করে দিতে পারে, আমি আপনাকে সর্বদা সর্বশেষতম পরিশ্রমিত .deb
ফাইলটিকে ব্যাকআপ হিসাবে সংরক্ষণ করার পরামর্শ দিচ্ছি যদি ক্রম হঠাৎ কোনও আপডেটের কারণে শুরু হতে অস্বীকার করে।
সর্বশেষতম সংশোধিত ইনস্টলারটি সংরক্ষণ করতে স্ক্রিপ্টটি sudo
চালানোর সময় পাসওয়ার্ড প্রম্পট পাওয়ার পরে ডান দিকের স্ক্রিপ্টের অস্থায়ী ডিরেক্টরিতে সরাসরি যান (অর্থাত্ পরিবর্তিত .deb
ফাইল ইনস্টল করার আগে ডান )। অস্থায়ী ডিরেক্টরিটি কোথাও অবস্থিত হওয়া উচিত /tmp/deb.XXXXXXXXX
(যেখানে XXXXXXXXX
এলোমেলো স্ট্রিং রয়েছে)।