web-dev-qa-db-ja.com

Amazon RedHatサーバーにgoogle-chromeをインストールできません

Amazonサーバーにgoogle-chromeをインストールしようとしています

NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel Fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"

次の手順で https://access.redhat.com/discussions/91729

しかし、それは私に以下のような依存関係エラーを与え、インストールしません

--> Processing Dependency: libgtk-3.so.0()(64bit) for package: google-chrome-stable-71.0.3578.98-1.x86_64
--> Finished Dependency Resolution
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libappindicator3.so.1()(64bit)
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libatspi.so.0()(64bit)
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: xdg-utils
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libatk-bridge-2.0.so.0()(64bit)
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libatk-1.0.so.0()(64bit)
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: liberation-fonts
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libgdk-3.so.0()(64bit)
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libgdk_pixbuf-2.0.so.0()(64bit)
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libXss.so.1()(64bit)
Error: Package: google-chrome-stable-71.0.3578.98-1.x86_64 (/google-chrome-stable_current_x86_64)
           Requires: libgtk-3.so.0()(64bit)
 You could try using --skip-broken to work around the problem

--skip-brokenで説明したように回避策を実行しようとしても、インストールされませんでした。

yum list installed google-chrome
Loaded plugins: fastestmirror, priorities, update-motd, upgrade-helper
Loading mirror speeds from cached hostfile
 * amzn-main: packages.us-east-1.amazonaws.com
 * amzn-updates: packages.us-east-1.amazonaws.com
Error: No matching Packages to list

依存関係を解決しようとしましたが、奇妙なことにパッケージがAmazon yum reposにありません

 yum search libappindicator3
Loaded plugins: fastestmirror, priorities, update-motd, upgrade-helper
Loading mirror speeds from cached hostfile
 * amzn-main: packages.us-east-1.amazonaws.com
 * amzn-updates: packages.us-east-1.amazonaws.com
Warning: No matches found for: libappindicator3
No matches found

その後、これに従いました https://stackoverflow.com/questions/22836219/centos-6-5-howto-install-gtk-version-2-8-

yum install gtk+-devel gtk2-devel
Loaded plugins: fastestmirror, priorities, update-motd, upgrade-helper
Loading mirror speeds from cached hostfile
 * amzn-main: packages.us-east-1.amazonaws.com
 * amzn-updates: packages.us-east-1.amazonaws.com
amzn-main                                                                                                                                                                                                              | 2.1 kB  00:00:00     
amzn-updates                                                                                                                                                                                                           | 2.5 kB  00:00:00     
No package gtk+-devel available.
No package gtk2-devel available.
Error: Nothing to do

次に、rpmリポジトリを見つけて、再帰的な依存関係を使用して、そこから直接インストールしようとしました。

https://centos.pkgs.org/7/centos-x86_64/gtk2-devel-2.24.31-1.el7.x86_64.rpm.html

rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/gtk2-devel-2.24.31-1.el7.x86_64.rpm
Retrieving http://mirror.centos.org/centos/7/os/x86_64/Packages/gtk2-devel-2.24.31-1.el7.x86_64.rpm
warning: /var/tmp/rpm-tmp.qvgrSF: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
    atk-devel >= 1.29.4-2 is needed by gtk2-devel-2.24.31-1.el7.x86_64
    cairo-devel >= 1.6.0-1 is needed by gtk2-devel-2.24.31-1.el7.x86_64
    gdk-pixbuf2-devel is needed by gtk2-devel-2.24.31-1.el7.x86_64
    glib2-devel >= 2.28.0-1 is needed by gtk2-devel-2.24.31-1.el7.x86_64
    gtk2 = 2.24.31-1.el7 is needed by gtk2-devel-2.24.31-1.el7.x86_64
    libXcomposite-devel is needed by gtk2-devel-2.24.31-1.el7.x86_64
    libXcursor-devel is needed by gtk2-devel-2.24.31-1.el7.x86_64
    libatk-1.0.so.0()(64bit) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    libgailutil.so.18()(64bit) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    libgdk-x11-2.0.so.0()(64bit) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    libgdk_pixbuf-2.0.so.0()(64bit) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    libgtk-x11-2.0.so.0()(64bit) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pango-devel >= 1.20.0-1 is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pkgconfig(atk) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pkgconfig(cairo) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pkgconfig(gdk-pixbuf-2.0) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pkgconfig(gio-2.0) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pkgconfig(pango) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pkgconfig(pangocairo) is needed by gtk2-devel-2.24.31-1.el7.x86_64
    pkgconfig(pangoft2) is needed by gtk2-devel-2.24.31-1.el7.x86_64

私は文字通りすべての不足しているパッケージを解決しようとしましたが、それらはそこになく、インストールするためにchromeを取得できません。

1
Taher Khalil

私はそれを解決し、最新のchromeバージョンをインストールして、ヘッドレスモードで動作するようにしました。

https://intoli.com/blog/installing-google-chrome-on-centos/ で非常に効果的なスクリプトを使用しました

最も簡単な方法は、コマンドを実行することです:curl https://intoli.com/install-google-chrome.sh | bash

すべての依存関係をインストールし、最新の安定バージョンでアプリをインストールしました。

最終的な目標は、Seleniumで実行できるようにすることでしたが、ヘッドレスモードで実行できるようにいくつかの微調整を加えて、Seleniumで動作させるようにしました。

chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
browser = webdriver.Chrome('/path_to_chrome_driver',chrome_options=chrome_options)

スムーズに動作します。

4
Taher Khalil

簡単な答えは、最初のリンクされたチュートリアル(access.redhat.com/...)はAMI用ではないということです。

Amazon AMIには機能があり、そのAMI内のパッケージのリポジトリと可用性を制限する機能を備えているようです。次のAMIの使用を検討する可能性があります。

https://aws.Amazon.com/marketplace/pp/B00KWBZVK6/ref=ptnr_catgtm_centos

これは、あなたが使用して言及したものとは異なり、アップストリームリポジトリの更新と追加を可能にします。

0
linuxdev2013