更新 letsencrypt.sh 的 PPA

letsencrypt.sh 是個用 shell script 實作出來的 letsencrypt/acme client,可以對 Let's Encrypt 申請出 SSL certificate。相較於官方後來交接給 EFFCertbot,我還蠻推薦使用純粹只需要 shell script 的 letsencrypt.sh...

由於作者沒有發出新的 release tarball,加上目前最新的 release 的程式也已經無法使用,所以昨天花了點時間更新了 letsencrypt.sh 的 PPA,就弄了一個 0.2.0.20160822 (版本號碼大於目前的 release 版本的 0.2.0):「PPA for letsencrypt.sh」。

與 0.2.0 版相比有個 BC-break 的地方:新版的 config 改檔名了 (從 config.sh 變成 config),如果之前有設定的話要記得改:

$ cd /etc/letsencrypt.sh/
$ sudo mv config.sh config

也趁機把之前建立 source package 的 build.sh 改成可以吃 git hash 或是 tag name 的版本,這樣需要針對特定版本產生 source package 也簡單多了。

ondrej 的 nginx PPA 支援 SPDY + HTTP/2 了...

直接跑去問 ondrej 有沒有意願把 CloudFlare 提供的 patch 放進去,結果也很順利的就更新了:「nginx 1.11.1 (security release) and CloudFlare SPDY + HTTP2 patch」(先前標題還打錯... XDDD)。

所以現在在 nginx PPA 裡的版本同時支援 SPDYHTTP/2 了,可以參考「SSL Server Test: blog.gslin.org (Powered by Qualys SSL Labs)」。

可以看到舊的行動平台都透過 SPDY 連上來了,速度應該會比之前順不少...

試玩 LXD

LXDCanonical (Ubuntu 的那家公司) 推的 container 系統,在「Super Fast Local Workloads With LXD, ZFS, and Juju」這篇文章裡雖然是提 ZFS + Juju 這兩個東西,但 LXD 的部份還是給了些可以直接拿來用的資訊。

首先先安裝 LXD,我是裝 ppa:ubuntu-lxc/stable 這個版本,裝完 lxd 後就照著先執行:

$ newgrp lxd
$ lxd init

由於沒有裝 zfs,就用 dir 模式跑就好了。網路的部份就先選 no 混過去,反正 NAT 會通... 接著就拉 image 回來:

$ lxd-images import ubuntu trusty amd64 --sync --alias ubuntu-trusty

拉完後就可以跑起來了:

$ lxc launch ubuntu-trust test
$ lxc exec test /bin/bash

直接打 lxc 也可以看到一些說明,用過 Docker 的人應該是沒什麼問題,還蠻簡單的。

Google Chrome 將在明年三月停止 32bits Linux 版本支援

在「Google ends 32-bit Linux support for Chrome」這邊看到新聞,引用自「Updates to Google Chrome Linux support」這邊的消息:

To provide the best experience for the most-used Linux versions, we will end support for Google Chrome on 32-bit Linux, Ubuntu Precise (12.04), and Debian 7 (wheezy) in early March, 2016. Chrome will continue to function on these platforms but will no longer receive updates and security fixes.

We intend to continue supporting the 32-bit build configurations on Linux to support building Chromium. If you are using Precise, we’d recommend that you to upgrade to Trusty.

既然還是會支援 32bits 的情況 (透過 Chromium),到時候應該會有 PPA 出來頂著讓大家用?

nginx 的 TCP Fast Open

在「Enabling TCP Fast Open for NGINX on CentOS 7」這邊看到 nginxTCP Fast Open (TFO,RFC 7413) 的支援早在 1.5.8 就有了,而 Linux Kernel 也是 3.7 之後就全面支援了。

TCP Fast Open 利用第一次連線後產生的 TCP cookie,在第二次連線時可以在 3-way handshake 的過程就開始傳輸,藉此大幅降低 latency。

設定方法不難,先在 kernel 設定 net.ipv4.tcp_fastopen=3,再加上 fastopen=number 就可以了,像是這樣:

listen 80 fastopen=256

不過目前 NGINX Mainline 上的版本好像沒有編進去,暫時沒辦法測...

把 blog.gslin.org 換上 HTTP/2

在「nginx 1.9.5:支援 HTTP/2!」這邊提到 nginx 支援 HTTP/2,不過過了一個禮拜,比較知名的 PPA「NGINX Mainline」一直沒更新,維持在 1.9.4 版 (只支援 SPDY)。

這幾天一直找資料,在 chris lea 的 PPA「nginx-devel」這邊看到 1.9.5 的版本,就先暫時改裝了。

裝完後把設定檔裡的 spdy 字串改成 http2 就可以用了,比預期中簡單不少,然後重新啟動後連上去就可以看到藍色 icon 了:

收工解決... (樂)

把 icdiff 包成 PPA...

看到「一个能并列高亮显示文件比较结果的小工具 icdiff」這篇的介紹,順便複習一下 PPA 要怎麼包。

不過包歸包,我應該還是不會去用...

平常在用 diff 都會加上參數啊,像是我習慣用 -ruN,如果再加上顏色的話其實並不會比較難讀?而且現在最常用 diff 的地方是在 git 環境下用,會因為 color.ui 的設定自動支援色彩...

這是 icdiff 官方提供的 screenshot:

就給大家參考看看了 :o

Ubuntu 上找不到 apt-add-repository 的解法

剛剛在弄 Linode 上的 Ubuntu 時要裝 PPA,發現沒有 apt-add-repository 可以用,找了一下資料發現這不是系統一定會安裝的軟體,所以要自己手動安裝:

apt-get install python-software-properties

裝完後就可以繼續裝 PPA 了。

把 Powerline 用到的字型包成 ppa...

其實就是在 Ubuntu 下塞兩個檔案進系統而已,一個是字型檔 PowerlineSymbols.otf,另外一個是設定檔 10-powerline-symbols.conf

主要還是練習打包 .deb 並且使用 Launchpad 放自己包的 package,十多年前也差不多是這樣開始玩 FreeBSDsend-pr 累積經驗...