headless chrome のためDebian/Ubuntuに最新版のChromeを突っ込む。
最新版のChromeは Google の配付サイトに用意されている。
配付サイトのapt 鍵をいれる。
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt update
手作業でapt に source add する
もし、手作業でAPTのURLをいれるとき( /etc/apt/sources.list.d/google-chrome.list )を更新するか新規作成する。
echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/dl.google.com.list
編集後に更新
apt update
最新版や ベータ版・開発版をいれる。
apt search google-chrome-beta apt search google-chrome-unstable
実際にやってみた例
takuya@~$ apt search google-chrom Sorting... Done Full Text Search... Done google-chrome-beta/stable 69.0.3497.57-1 amd64 The web browser from Google google-chrome-stable/stable 68.0.3440.106-1 amd64 The web browser from Google google-chrome-unstable/stable 70.0.3534.4-1 amd64 The web browser from Google
細かい違いを確認してみた
takuya@sakura:~$ apt show google-chrome-unstable Package: google-chrome-unstable Version: 70.0.3534.4-1 Priority: optional Section: web Maintainer: Chrome Linux Team <chromium-dev@chromium.org> Installed-Size: 204 MB Provides: www-browser Pre-Depends: dpkg (>= 1.14.0) Depends: ca-certificates, fonts-liberation, libappindicator3-1, libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.16), libcairo2 (>= 1.6.0), libcups2 (>= 1.4.0), libdbus-1-3 (>= 1.1.4), libexpat1 (>= 2.0.1), libgcc1 (>= 1:3.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.31.8), libgtk-3-0 (>= 3.9.10), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libstdc++6 (>= 4.6), libuuid1 (>= 2.16), libx11-6 (>= 2:1.4.99.1), libx11-xcb1, libxcb1 (>= 1.6), libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4), libxrandr2 (>= 2:1.2.99.3), libxrender1, libxss1, libxtst6, lsb-release, wget, xdg-utils (>= 1.0.2) Recommends: libu2f-udev Download-Size: 57.1 MB APT-Sources: http://dl.google.com/linux/chrome/deb stable/main amd64 Packages Description: The web browser from Google Google Chrome is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.
ヘッドレスを使う場合
ヘッドレスを使うためには。、いくつかのパッケージをいれる必要がある。
sudo apt-get install -y libappindicator1 fonts-liberation
headless-chrome は、xvfb にくらべて必要なモジュールも減ってるしすごく楽だよね。
フォントがない
headless chromeを使ってスクショをとるなら、フォントを持っていたほうがいい。
使ってみてわかったけど、フォントがないとスクショ取ると期待通りにならない。
sudo apt-get install msttcorefonts
apt がHTTPだからダメ・・・?
この記事を書くために幾つかブログを見てたんだけど。
apt のソースが HTTP なのでセキュリティ的にやばい
などと嘘を書いているブログが散見されました。
apt-key で最初に「鍵」を登録しているので、HTTP通信で転送されたとして署名検証つまり改竄は検出できます。*1
HTTPSじゃないとセキュリティ基準が満たせない。
とかいてた人がいて、ちょっと何言ってるわからない。
けど、HTTPSも一応あるらしい。
HTTPはセキュリティ基準を満たせないとか、それでセキュリティを語れるんだと疑問を投げかけたいが人のブロクなので自重した。
そもそもapt-keyで何のために最初にキーを取得してんだろう。ほんの少し考えてほしかった。
https://dl-ssl.google.com/linux/chrome/deb/
杓子定規にセキュリティ基準を「満たせばいい」というのはどうなんだろうね。セキュリティ基準としても、ルールを守る側としても、どちらも思考停止していてるように感じた。
HTTPSで通信されちゃうと、何をインストールしてるか追跡不能になって、むしろめんどくさいと思うんだけど・・・
参考資料
*1:この記述で理解できないひとはこの業界を引退したほうがいい