“google-chrome-stable은 libstdc ++ 6 (> = 4.8.0)에 따라 다릅니다. 그러나 시스템의 libstdc ++ 6 버전은 4.6.3-1ubuntu5입니다.”


10

google-chrome-stable새로운 우분투 12.04 설치에 설치하려고 합니다. 다음 명령을 실행합니다

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb

다음과 같은 오류가 발생합니다

dpkg: dependency problems prevent configuration of google-chrome-stable:
 google-chrome-stable depends on libstdc++6 (>= 4.8.0); however:
Version of libstdc++6 on system is 4.6.3-1ubuntu5.
 google-chrome-stable depends on lsb-base (>= 4.1); however:
Version of lsb-base on system is 4.0-0ubuntu20.3.
dpkg: error processing google-chrome-stable (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Errors were encountered while processing:
 google-chrome-stable

실행하면 sudo apt-get install -fgoogle-chrome-stable이 제거되었습니다.

The following packages will be REMOVED
  google-chrome-stable

필요한 버전을 sudo apt-get install libstdc++6=4.8.0찾으면 예를 들어 버전을 찾을 수 없습니다.

E: Version ‘4.8.0’ for ‘libstdc++6’ was not found

어떻게 고치나요?

32 비트 버전의 Ubuntu 12.04는 더 이상 지원되지 않습니다. 64 비트 Ubuntu 버전을 실행 중입니다.


@glut 실제 제목이 정확합니다. 정확한 오류 메시지가 표시됩니다.
Braiam 2016 년

@Braiam 나는 그것이 lsb_base 에러를 포함하지 않기 때문에 부분적으로 만 정확하다고 주장 할 것이다
Glutanimate

@Glutanimate이지만 lsb-base 에는 Chrome에서 사용하는 라이브러리 / 이진이 없습니다.
Braiam

@Braiam Ok, 맞습니다. 이제는 대부분의 사용자가 어쨌든 오류 메시지의 첫 번째 부분을 검색하므로 계속 생각해 보겠습니다.
Glutanimate

답변:


14

Google이 Ubuntu 12.04에 대한 지원을 종료했기 때문에 이러한 오류가 발생합니다.

Google : 32 비트 Linux, Ubuntu Precise (12.04)에서 Chrome 지원이 종료됩니다.

또는 chromium-browserChrome이 설치된 곳에 설치할 수도 있습니다 .

Chrome을 사용하기 위해 Ubuntu 14.04 LTS 또는 Ubuntu 15.10을 모두 설치할 수 있습니다.

그러나 새로운 Ubuntu 16.04 LTS가 출시 될 21 일 4 월까지 기다리십시오.

Ubuntu 12.04 LTS에는 1 년의 공식 보안 지원 만 남았습니다.


64 비트 우분투 버전이 있습니다. 방금 작동 시스템을 다시 설치했으며 1 주일 전까지 동일한 정확한 구성으로 크롬을 사용했습니다. 내 나쁜 나는 그렇게 말하지 않았다, 미안
fmonegaglia

5
@fmonegaglia : 여기서 가장 중요한 것은 Ubuntu 12.04가 32 비트 또는 64 비트 Ubuntu 버전의 사용 여부와 상관없이 일반적으로 더 이상 지원되지 않는다는 것입니다. Chrome은 Ubuntu 14.04부터 시작하여 지원되는 64 비트 Ubuntu 버전에만 설치할 수 있습니다. :)
cl-netbox

이것은 정답입니다. 불행하게도 우리 중 일부는 어떤 이유로 든 12.04에 붙어 있습니다. 다운 그레이드 (아래)와 같은 임시 솔루션보다는 12.04를 내리는 데 노력을 기울여야합니다. 그러나 때로는 물건을 작동시켜야합니다.
lathonez

6

마지막 편집 (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을 포기해야한다는 의미는 아닙니다. 다음은 Ubuntu 12.04 64 비트에 최신 Chrome 릴리스 (2016-06-28 기준)를 설치하는 방법에 대한 빠른 자습서입니다.

경고 : 이것은 어떤 시점에서 작동을 멈출 수있는 매우 해킹 솔루션입니다. 계속 진행하기 전에 수행중인 작업을 확인하십시오.

전제 조건

업데이트 된 커널

중요 : 커널 업데이트에는 자체 문제 및 하드웨어 호환성 문제가 발생할 수 있습니다. 이 단계를 진행하기 전에 이전 커널로 전환하는 방법을 알고 있어야합니다.

최신 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 빌드를 설치하려고 할 때 나타나는 오류 메시지를 보면 두 가지 뚜렷한 종속성 문제가 나타납니다.

  1. libstdc++6 (>= 4.8.0): 이것은 GNU 표준 C ++ 라이브러리입니다. Chrome 릴리스 50.X 이상은이 라이브러리의 버전 4.8.0에 따라 다르지만 기본적으로 Ubuntu 12.04는 4.6.3 만 제공됩니다.
  2. 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은 다양한 패키지가 의존하는 중요한 시스템 라이브러리입니다. 이 패키지를 최신 릴리스로 업그레이드하면 위험 할 수 있으며 시스템 안정성 문제가 발생할 수 있습니다. 이 업그레이드를 수행 한 두 시스템에서 문제가 발생하지 않았지만 항상 마일리지가 다를 수 있습니다.

다행히도 libstdc++64.8.X는 공식 우분투 툴체인 테스트 빌드 PPA 에서 사용할 수 있습니다 . 첫 번째 단계로이 PPA를 소프트웨어 소스에 추가합니다.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

이 시점에서 Chrome을 설치 libstdc++6하면 PPA 에서 종속성을 가져와 첫 번째 종속성 문제를 제거합니다. 이 문제가 해결되면 두 번째 문제로 넘어 갑시다.

lsb-base (> = 4.1)

최신 버전의 Chrome을 실행하기 위해이 패키지의 업데이트 된 버전을 실제로 설치할 필요는 없습니다. 현재 Chrome은 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

이 스크립트는 안정적인 최신 Chrome 릴리스를 계속 다운로드하고 수정하여 lsb-base 4.1에 대한 종속성을 제거하고을 .deb통해 업데이트 된 파일 을 설치하라는 메시지를 표시합니다 dpkg.

축하합니다. 이제 Ubuntu 12.04에서 업데이트 된 Chrome 릴리스를 사용하고 있습니다.

업데이트

Chrome을 업데이트하려면 간단히 스크립트를 다시 실행하십시오.

향후 호환성

중요 : 이 솔루션은 언제든지 작동을 멈출 수 있으므로 .deb업데이트로 인해 Chrome이 갑자기 시작되지 않을 경우 항상 최신 수정 된 파일을 백업으로 저장하는 것이 좋습니다.

최신 수정 설치 관리자를 저장하려면 스크립트를 sudo실행할 때 비밀번호 프롬프트를 받은 직후 (예 : 수정 된 .deb파일을 설치하기 직전에) 스크립트의 임시 디렉토리로 이동 하십시오. 임시 디렉토리 아래 어딘가에 위치해야한다 /tmp/deb.XXXXXXXXX(여기서 XXXXXXXXX임의의 문자열)입니다.


1
회사에서 시행 한 정책으로 인해 우분투 12.04에 갇혀 있습니다. 어쨌든 스크립트를 사용하여 크롬을 설치할 수있었습니다. 고마워요!
Eugeniu Rosca

4

나는 당신이 할 수 있다고 생각하지 않습니다. 그들은 방금 업그레이드 되었으며 12.04에서 종속성을 충족시킬 수 없습니다 .

트래비스 빌드에서 같은 문제가 있었고 다운 그레이드했습니다. 이전 버전이 여기에 있습니다 .

분명히 큰 대답은 아니지만 좋은 시간을 보냈고 다운 그레이드없이 길을 찾을 수 없었습니다.


1
나는 이것과 함께 간다. 물론 최선의 방법은 아니지만 나중에 우분투 버전으로 업그레이드 할 수 없기 때문에 임시 솔루션으로 작동합니다.
fmonegaglia

mirror.pcbeta.com에 대한 링크는 404 사라
AlexD

2

Google에서 Chrome 및 12.04에 대한 지원을 중단 했으므로 Chromium을 대신 설치하는 것이 가장 좋습니다.

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get install chromium-browser

1
dpkg: dependency problems prevent configuration of google-chrome-stable:
 google-chrome-stable depends on libstdc++6 (>= 4.8.0); however:
Version of libstdc++6 on system is 4.6.3-1ubuntu5.
 google-chrome-stable depends on lsb-base (>= 4.1); however:
Version of lsb-base on system is 4.0-0ubuntu20.3.

기본적으로 Google 크롬은 Precise에서 사용할 수없는 lsb-base 및 libstdc ++ 6을 요청합니다.

>lsb-base   | 4.0-0ubuntu20          | precise         | all
>lsb-base   | 4.0-0ubuntu20.3        | precise-updates | all
 lsb-base   | 4.1+Debian11ubuntu6    | trusty          | all
 lsb-base   | 4.1+Debian11ubuntu6.1  | trusty-proposed | all
 lsb-base   | 4.1+Debian11ubuntu8    | vivid           | all
 lsb-base   | 4.1+Debian11ubuntu8    | wily            | all
 lsb-base   | 9.20160110             | xenial          | all
>libstdc++6 | 4.6.3-1ubuntu5         | precise         | amd64, armel, armhf, i386, powerpc
 libstdc++6 | 4.8.2-19ubuntu1        | trusty          | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 4.8.4-2ubuntu1~14.04.1 | trusty-updates  | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 4.9.2-10ubuntu13       | vivid           | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 5.2.1-22ubuntu2        | wily            | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 5.3.1-14ubuntu2        | xenial          | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x

구글에서 구글 크롬을 설치하거나 우분투 리포지토리 크롬 브라우저에서 제공하는 것을 설치하려면 트러스티 (LTS) 이상이 필요합니다.


1

나는 Glutanimate 답변에 직접 언급 할 수는 없지만 어쨌든 공유하고 싶습니다. installscript에 추가 줄을 추가해야했습니다.

perl -pe  's|libnspr4 \(\>\= 2\:4\.9\-2\~\)|libnspr4 \(\>\= 4\.12\)|g' "$buildDir/DEBIAN/control.1" > "$buildDir/DEBIAN/control"

크롬은 이것으로 잘 작동하는 것처럼 보이지만 그렇지 않으면 설치할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.