それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

headless chrome を使うために、Linuxに最新版のChromeを常に入れておく

headless chrome のためDebian/Ubuntuに最新版のChromeを突っ込む。

最新版のChromeGoogle の配付サイトに用意されている。

f:id:takuya_1st:20181126162746p:plain

配付サイトの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:この記述で理解できないひとはこの業界を引退したほうがいい