建議
centos6缺失很多依賴,建議選擇centos7
概念
headless chrome
在 Chrome 59 中開始搭載 Headless Chrome。這是一種在無需顯示headless的環境下運行 Chrome 瀏覽器的方式。從本質上來說,就是不用 chrome 瀏覽器來運行 Chrome 的功能!它將 Chromium 和 Blink 渲染引擎提供的所有現代 Web 平臺的功能都帶入了命令行
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安裝
-
在服務上新建一個文件
/etc/yum.repos.d/google-chrome.repo
-
在文件中填上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
-
通過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命令執行後,還是提示需要依賴,可能鏡像不是非常滿足,但是問題是可以解決的
-
下載安裝chrome的腳本,並導入installchrome.sh, 命令:sudo curl https://intoli.com/install-google-chrome.sh >> /home/admin/ccbin/installchrome.sh
-
執行sudo chmod +x /home/admin/ccbin/installchrome.sh
-
執行腳本文件/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/