web-dev-qa-db-fra.com

Installation de Chromium sur Amazon Linux

J'essaie d'installer Chromium (ou Chrome, selon le cas) sur une machine Amazon Linux.

J'ai essayé plusieurs étapes, en vain. Voici ce que j'ai essayé:

Simple Yum Installer

yum install epel       # worked
yum install chromium

message d'erreur généré:

Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgnome-keyring.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgtk-x11-2.0.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgdk_pixbuf-2.0.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libXss.so.1()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libgdk-x11-2.0.so.0()(64bit)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libcanberra-gtk2(x86-64)
Error: Package: chromium-31.0.1650.63-2.el6.x86_64 (chromium-el6)
           Requires: libatk-1.0.so.0()(64bit)

Yum installation d'un paquet RPM spécifique

J'ai essayé de télécharger un RPM Chrome, à la fois la dernière version stable ainsi qu'une version spécifique, puis de l'exécuter.

yum install google-chrome-stable-64.0.3282.119-1.x86_64.rpm

Il a généré le même message d'erreur

Procédure manuelle

Fichier binaire téléchargé à partir de https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/532015/

L'exécuter a généré le message d'erreur

erreur lors du chargement des bibliothèques partagées: libXcursor.so.1: impossible d'ouvrir le fichier objet partagé: aucun fichier ou répertoire de ce type

Iran 

yum install libXcursor
yum install libXfixes     # because chrome was then complaining about that library
yum install libXdamage    # and subsequently that one

qui tout a fonctionné.

Cependant, alors Chrome a commencé à se plaindre d'une bibliothèque libcups:

erreur lors du chargement des bibliothèques partagées: libcups.so.2: impossible d'ouvrir le fichier objet partagé: aucun fichier ou répertoire de ce type

libcups n'a pas été trouvé par yum, et il semble que c'est parce qu'il s'agit d'une bibliothèque 32 bits. Certaines pages recommandaient d'installer ia32-libs comme solution, mais l'exécution de yum install ia32-libs montrait qu'il était déjà installé.

Je ne pouvais pas aller au-delà de ce point.

Autre

  • J'ai aussi essayé les étapes mentionnées ici , mais cela n'a pas fonctionné
  • certaines pages indiquent l'utilisation de dpkg, mais cette commande n'existe apparemment pas sur Amazon Linux.
  • apt ni
4
Vic Seedoubleyew

Pour que Chrome puisse fonctionner sans chrome sur Lambda, j'ai déployé une AMI identique à celle d'une instance EC2 (actuellement amzn-AMI-hvm-2017.03.1.20170812-x86_64-gp2). Après l’installation de chrome, la litanie habituelle des dépendances manquantes commence.

Référence: https://medium.com/mockingbot/run-puppeteer-chrome-headless-on-ec2-Amazon-linux-AMI-6c9c6a17bee6

Naviguez jusqu'au dossier contenant l'exécutable de chrome et utilisez ldd pour rechercher les dépendances manquantes:

$ ldd chrome | grep not
libpangocairo-1.0.so.0 => not found
libpango-1.0.so.0 => not found
libcairo.so.2 => not found
libXcursor.so.1 => not found
libXdamage.so.1 => not found
libXfixes.so.3 => not found
libcups.so.2 => not found
libXss.so.1 => not found
libXrandr.so.2 => not found
libgconf-2.so.4 => not found
libatk-1.0.so.0 => not found
libgtk-3.so.0 => not found
libgdk-3.so.0 => not found
libgdk_pixbuf-2.0.so.0 => not found

Installez les éléments suivants:

$ Sudo yum install cups-libs dbus-glib libXrandr libXcursor libXinerama cairo cairo-gobject pango

Revérifier:

$ ldd chrome | grep not
libXss.so.1 => not found
libgconf-2.so.4 => not found
libatk-1.0.so.0 => not found
libgtk-3.so.0 => not found
libgdk-3.so.0 => not found
libgdk_pixbuf-2.0.so.0 => not found

Nous devons extraire ces dépendances d’un ensemble extrêmement volumineux de RPM:

# Install ATK from CentOS 7
$ Sudo rpm -ivh --nodeps http://mirror.centos.org/centos/7/os/x86_64/Packages/atk-2.22.0-3.el7.x86_64.rpm
$ Sudo rpm -ivh --nodeps http://mirror.centos.org/centos/7/os/x86_64/Packages/at-spi2-atk-2.22.0-2.el7.x86_64.rpm
$ Sudo rpm -ivh --nodeps http://mirror.centos.org/centos/7/os/x86_64/Packages/at-spi2-core-2.22.0-1.el7.x86_64.rpm
# Install GTK from Fedora 20
$ Sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/Fedora/linux/releases/20/Fedora/x86_64/os/Packages/g/GConf2-3.2.6-7.fc20.x86_64.rpm
$ Sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/Fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libXScrnSaver-1.2.2-6.fc20.x86_64.rpm
$ Sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/Fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libxkbcommon-0.3.1-1.fc20.x86_64.rpm
$ Sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/Fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libwayland-client-1.2.0-3.fc20.x86_64.rpm
$ Sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/Fedora/linux/releases/20/Fedora/x86_64/os/Packages/l/libwayland-cursor-1.2.0-3.fc20.x86_64.rpm
$ Sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/Fedora/linux/releases/20/Fedora/x86_64/os/Packages/g/gtk3-3.10.4-1.fc20.x86_64.rpm
# Install Gdk-Pixbuf from Fedora 16
$ Sudo rpm -ivh --nodeps http://dl.fedoraproject.org/pub/archive/Fedora/linux/releases/16/Fedora/x86_64/os/Packages/gdk-pixbuf2-2.24.0-1.fc16.x86_64.rpm

Cela devrait résoudre toutes les dépendances et chrome devrait pouvoir fonctionner, enfin !!

2
laloumen

J'utilise le chrome pour les tests sans tête via AWS Ubuntu lancé via CodeBuild. J'ai trouvé que je devais mettre à jour le noeud et installer un ensemble de dépendances de chrome.

#!/bin/sh
echo "Installing nodejs (which will include node and npm)"
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs  
echo "Installing chromium dependencies"
apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
0
mike mckechnie