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を取得できません。
私はそれを解決し、最新の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)
スムーズに動作します。
簡単な答えは、最初のリンクされたチュートリアル(access.redhat.com/...)はAMI用ではないということです。
Amazon AMIには機能があり、そのAMI内のパッケージのリポジトリと可用性を制限する機能を備えているようです。次のAMIの使用を検討する可能性があります。
https://aws.Amazon.com/marketplace/pp/B00KWBZVK6/ref=ptnr_catgtm_centos
これは、あなたが使用して言及したものとは異なり、アップストリームリポジトリの更新と追加を可能にします。