centos7安裝headless chrome

建議

centos6缺失很多依賴,建議選擇centos7

概念

headless chrome

在 Chrome 59 中開始搭載 Headless Chrome。這是一種在無需顯示headless的環境下運行 Chrome 瀏覽器的方式。從本質上來說,就是不用 chrome 瀏覽器來運行 Chrome 的功能!它將 Chromium 和 Blink 渲染引擎提供的所有現代 Web 平臺的功能都帶入了命令行

Chromium和Chrome的區別

1、Chromium是谷歌的開源項目,開發者們可以共同去改進它,然後谷歌會收集改進後的Chromium併發布改進後安裝包。Chrome不是開源項目,谷歌會把Chromium的東西更新到Chrome中。你也可以這麼理解Chromium是體驗版,Chrome是正式版;

2、Chromium不用安裝,下載下來的是壓縮包,解壓後直接就可以使用。Chrome需要安裝;

3、Chromium功能比Chrome多,因爲新功能都是先在Chromium中使用,等完善後才添加到Chrome中。相對的Chrome就要比Chromium穩定很多不容易出錯;

4、Chromium不開放自動更新功能,所以用戶需手動下載更新,而Chrome則可自動連上Google的服務器更新,但新版的推出很慢

第三方底層依賴組件安裝

#依賴庫
yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y

#字體
yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y

通過yum安裝

  1. 在服務上新建一個文件/etc/yum.repos.d/google-chrome.repo

  2. 在文件中填上yum包配置內容

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
  1. 通過yum安裝google-chrome

sudo yum install google-chrome-stable

通過yum安裝同樣存在依賴包缺失的問題,對應依賴丟失的問題可以查看:https://intoli.com/blog/installing-google-chrome-on-centos/

依賴缺失解決

下載安裝腳本,並執行

sudo yum install google-chrome-stable命令執行後,還是提示需要依賴,可能鏡像不是非常滿足,但是問題是可以解決的

  1. 下載安裝chrome的腳本,並導入installchrome.sh, 命令:sudo curl https://intoli.com/install-google-chrome.sh >> /home/admin/ccbin/installchrome.sh

  2. 執行sudo chmod +x /home/admin/ccbin/installchrome.sh

  3. 執行腳本文件/home/admin/ccbin/installchrome.sh

安裝完成,查看chrome是否缺失依賴

命令:sudo ldd /opt/google/chrome/chrome | grep not

執行命令後,沒有任何輸出說明已經安裝成功

我這裏已經結束

如果有人依然存在缺失一些依賴的共享庫,看下缺失什麼

比如:缺失libgconf-2.so.4 => not found

查看下哪裏可以下載

repoquery --repofrompath=centos7,http://mirror.centos.org/centos/7/os/`arch` 
        --repoid=centos7 
        --qf="%{location}" 
        --whatprovides libgconf-2.so.4

此命令將輸出

http://mirror.centos.org/centos/7/os/x86_64/Packages/GConf2-3.2.6-8.el7.i686.rpm

這是如此接近,但不是很正確。您可以從/x86_64/URL中看到此存儲庫的體系結構爲64位,但.i686.rpm表示這是32位軟件包。我們需要手動更改後綴以.x86_64.rpm指定CentOS 6系統的正確架構(假設您使用的是64位版本)

sudo mkdir -p /tmp/working-directory/
cd /tmp/working-directory/
sudo wget http://mirror.centos.org/centos/7/os/x86_64/Packages/GConf2-3.2.6-8.el7.x86_64.rpm
rpm2cpio GConf2-3.2.6-8.el7.x86_64.rpm | cpio -idmv

這會將包中包含的所有文件轉儲到當前工作目錄中。我們只關心其中的幾個文件,我們可以通過運行找到它們

find . | grep libgconf-2.so.4

這將輸出匹配的庫。

./usr/lib64/libgconf-2.so.4.1.5
./usr/lib64/libgconf-2.so.4

該libgconf-2.so.4文件正在ldd尋找,但它實際上是一個符號鏈接,libgconf-2.so.4.1.5所以我們需要兩者。讓我們將這些複製到我們的/opt/google/chrome/lib/目錄中,然後重試ldd。

sudo mkdir /opt/google/chrome/lib/
sudo cp ./usr/lib64/libgconf-2.so.4 /opt/google/chrome/lib/
sudo cp ./usr/lib64/libgconf-2.so.4.1.5 /opt/google/chrome/lib/

如果依然不成功,此時百度一下,成功的概率應該會很高

結果

命令:sudo google-chrome-stable --headless --disable-gpu --screenshot --no-sandbox https://intoli.com/blog/installing-google-chrome-on-centos/

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章