簡體   English   中英

在亞馬遜上安裝 Chromium Linux

[英]Installing Chromium on Amazon Linux

我正在嘗試在 Amazon Linux 機器上安裝 Chromium(或 Chrome,以兩者為准)。

我嘗試了很多步驟,但無濟於事。 這是我嘗試過的:

簡單的百勝安裝

yum install epel       # worked
yum install chromium

生成的錯誤信息:

 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)

百勝安裝特定的RPM package

我嘗試下載 Chrome RPM,包括最新的穩定版本和特定版本,然后運行

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

它產生了相同的錯誤信息

手動程序

https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/532015/下載二進制文件

運行它會生成錯誤消息

加載共享庫時出錯:libXcursor.so.1:無法打開共享 object 文件:沒有這樣的文件或目錄

我跑了

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

這一切都奏效了。

然而,Chrome 開始抱怨libcups庫:

加載共享庫時出錯:libcups.so.2:無法打開共享 object 文件:沒有這樣的文件或目錄

yum 找不到libcups ,這似乎是因為它是一個 32 位庫。 一些頁面建議安裝ia32-libs作為解決方案,但運行yum install ia32-libs顯示它已經安裝。

我無法超越那個點。

其他

  • 我也嘗試了這里提到的步驟,但是沒有用
  • 一些頁面指向使用dpkg ,但該命令顯然在亞馬遜 Linux 上不存在
  • 都不apt

這些答案都不起作用,而且它們都沒有真正解決亞馬遜 linux 的問題,

如果您正在使用 EC2 實例或任何其他運行 Amazon linux 的服務器,要真正解決問題,您應該按照以下步驟操作。

  1. 通過運行命令為 Enterprise Linux 啟用並安裝 Extra Packages

     sudo amazon-linux-extras install epel -y
  2. 成功安裝所有額外的軟件包后,照常安裝 chromimum

     sudo yum install -y chromium

一旦你這樣做了,Chromium 將擁有所有必需的東西,例如 libatk* libgdk* 等......

您應該能夠輕松啟動 Chromium

您在此處查看的遺漏包實際上並沒有遺漏它們是默認設置,您只需啟用它們,這在 AWS 文檔中有詳細記錄。

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-enable-epel/

為了讓無頭 chrome 在 Lambda 上工作,我部署了一個與 EC2 實例相同的 AMI(當前是 amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2)。 安裝 chrome 后,通常會出現一連串缺少依賴項的情況。

參考: https : //medium.com/mockingbot/run-puppeteer-chrome-headless-on-ec2-amazon-linux-ami-6c9c6a17bee6

導航到包含 chrome 可執行文件的文件夾並使用 ldd 檢查缺少的依賴項:

$ 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

安裝以下內容:

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

再次檢查:

$ 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

我們需要從一組令人發狂的 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

這應該解決了所有的依賴關系,chrome 應該能夠運行了,最后!!

我使用 Chromium 通過通過 CodeBuild 啟動的 AWS Ubuntu 進行無頭測試。 我發現我必須更新節點並安裝一組鉻依賴項。

#!/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

對於那些使用 Amazon Linux 2022 的用戶,缺少幾個包,運行ldd chrome | grep not ldd chrome | grep not Chromium 目錄中產生:

    libnss3.so => not found
    libnssutil3.so => not found
    libsmime3.so => not found
    libnspr4.so => not found
    libgbm.so.1 => not found

這些軟件包不適用於 Amazon Linux 2022 ,但您可以在https://rhel.pkgs.org/8上找到它們,因為此發行版基於 RHEL 8。

所以這些應該解決它:

sudo dnf install http://repo.okay.com.mx/centos/8/x86_64/release/okay-release-1-1.noarch.rpm
sudo dnf install nss
sudo dnf install mesa-libgbm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM