FreeBSD

ssh 踩到 vmware 的地雷

[華語, cmn-Hant-TW] 最近更新了裝在 VMWare Fusion 裡面的 FreeBSD,結果發現 ssh 連得進去但是連不出來,查了一下發現是 VMWare 的 NAT 有問題,會造成 OpenSSH 7.8p1 的 ssh 連外全爛: Fssh_packet_write_wait: Connection to 10.9.1.120 port 22: Broken pipe 在 FreeBSD 官方的 bugzilla 跟 mailing list 都有討論到這個,結論就是修好前用加參數的方式繞開 -o IPQoS=throughput 或是在 ~/.ssh/config 或 /etc/ssh/ssh_config…

FreeBSD 的 Flavors

[華語, cmn-Hant-TW] FreeBSD 的 ports 在引入 Flavors 之後,比較能清楚的看出套件倒底是相依哪個東西,現在會看是用哪個版本的 php 而加上適當的前綴或後綴,像是以前的 composer 叫 php-composer-1.6.5,相依 php 7.2 的話就會叫 php72-composer-1.6.5,又例如 phpMyAdmin 的話以前叫 phpMyAdmin-4.8.2,相依 php 7.2 的會變成 phpMyAdmin-php72-4.8.2 這樣的好處是在套件安裝的時候可以指定要用哪個版本的 php,要用 php 5.6 的話就下 pkg install php56-composer 安裝即可,以往要使用非預設版本的套件時,只能自己手動從 ports 編譯,現在的話只要支援中的版本都可以透過這樣的方式選擇安裝,方便不少,要注意的是如果套件是在還沒支援 flavors 之前就裝好的話會沒辦法更新,先反安裝再重新選一個需要的版本安裝即可,以 phpMyAdmin 來講,如果要用 php72 的話就是: pkg delete phpmyadmin pkg…

Dovecot 2.3

[華語, cmn-Hant-TW] 雖然說去年底 Dovecot 2.3 就推出了,不過一直都沒時間理他,最近比較有空就來用 FreeBSD ports 升級,然後就卡關了,還好問題都不難處理,首先是升級一定會遇到的外掛程式版本匹配問題 doveconf: Error: Couldn’t load plugin /usr/local/lib/dovecot/settings/libmanagesieve_login_settings.so: Module is for different ABI version 2.2.ABIv35(2.2.35) (we have 2.3.ABIv1(2.3.1)) 所有 dovecot-* 相關套件重編即可 再來要設定 dh.pem,細節可以看這篇說明,不過其實照錯誤訊息提示的方法來設定就可以了 (設定檔在 /usr/local/etc/dovecot/dovecot.conf) doveconf: Warning: please set ssl_dh=</usr/local/etc/dovecot/dh.pem doveconf: Warning: You…

RyZen 的 FreeBSD 支援

[華語, cmn-Hant-TW] 之前在這篇有提到去年 AMD 推出的 RyZen 讓我解一堆任務的過程,其實這顆整體而且還蠻有趣的,有一些東西因為很新所以推出的時候不少 OS 都沒辦法完全支援,FreeBSD 當然也不例外 先不講溫控或是 pstate 之類的東西,一開始連核心長什麼樣子都不是很清楚哩,只知道是一顆 8 核心 16 執行緒的 CPU FreeBSD/SMP: Multiprocessor System Detected: 16 CPUs FreeBSD/SMP: 1 package(s) x 8 core(s) x 2 hardware threads 幾個月之後一堆東西都弄好了,一顆有 2 個 CCX,每個 CCX 有…

Vim 滑鼠複製及移動游標

[華語, cmn-Hant-TW] 不知道是在哪次更新到哪個東西, 在 Mac 下用終端機連到 FreeBSD 上的 Vim 跟變成可以吃滑鼠事件了,好處是可以用滑鼠 (當然,觸控板也可以) 移動 Vim 的游標,副作用就是複製貼上會失效,總之這兩者 (移動與複製) 是沒辦法並存的,而各有各的好處,所以就看怎麼切換比較方便了 切換可分成用 vim 或是用終端機,環境不允許的話那只能用 vim,不然終端機的切換快速鍵用起來會比較順手 用 Vim 切換 (文字可複製) : set mouse= (游標可移動) : set mouse=a 用終端機切換 用 command + r 可以在兩個模式間切來切去 有趣的是在 macOS 的終端機按住…

openldap + ssl

[華語, cmn-Hant-TW] 基本上有了 Let’s Encrypt 之後,合格的 SSL 認證取得算是方便非常多,有些之前跳過檢查或是設定自簽 root 的處理方式都可以省掉了,不過有些東西還是要設定加上定時更新才會用的順暢 在 FreeBSD 上 security/ca_root_nss 這個 port 要先裝好,然後 /etc/ssl/cert.pem 就可以拿來用了,如果安裝時沒開啟這個連結的話,直接用 /usr/local/share/certs/ca-root-nss.crt 也是可以的,然後常用的一些套件就可以用這個 cert 了,例如帳號認證用的 net/nss-pam-ldapd,在 /usr/local/etc/nslcd.conf 裡面加上一行 tls_cacertfile /etc/ssl/cert.pem 的設定後就不會抱怨 ssl 是自簽的 (也就是 tls_reqcert allow 用不到了),其他的軟體,像是 php 之類直接吃 /usr/local/etc/openldap/ldap.conf 設定的也不難處理,直接加一行 TLS_CACERT /etc/ssl/cert.pem 就可以搞定,其他的設定也是類似這樣處理即可 當然了,因為 Let’s Encrypt 的認證時間只有幾個月,定期更新憑證是需要的,不然過期的話還是會吃一堆錯誤訊息的

galera cluster 與 FreeBSD

[華語, cmn-Hant-TW] 在 Galera 的官網看到 這篇,想說既然官方有出支援 FreeBSD 的新版,最近剛好有環境而且有用到的需求,就想說來試用看看,古早時候曾經用 ports 裡面的 databases/galera 弄了老半天沒成功,看現在有沒有比較簡單些 結論就是 galera + mariadb 可以跑沒問題,但是目前有些限制存在 因為 Codership 是直接放 port 檔,所以下載後用平常編譯 port 的方式編即可,理論上這些東西應該還是會直接進 ports 吧,到時候用起來應該會更方便才是,同一包裡面還有 mysql 5.6 跟 mysql 5.7 的 cluster patch,不過我打算用 mariadb 10.1 來試所以沒用到 (不過機器有些是 10.x 有些是 11.x) 基本上各台機器設定參考官網的…

letsencrypt.sh

[華語, cmn-Hant-TW] 之前在這篇提到了 Let’s Encrypt 的 SSL,用起來是很開心沒錯,不過因為官方的 client 是用 python 寫的,在 freebsd 下面得裝一大堆 py27-* 的套件 (當然,安裝 security/py-letsencrypt 時會自動一起被裝進去,不用手動一個一個裝) 才能用,然後申請的時候要把 apache/nginx 關掉放出 80 port,某種程度來講還蠻讓人困擾的,後來看到有人用 shell script 寫了一個比較沒那麼肥的 letsencrypt.sh,主要得另外安裝 curl 而已,也不用關掉 apache/nginx,看起來蠻理想的,而且也進 FreeBSD 的 ports 了 (security/letsencrypt.sh),抓來下用了一下感覺還不錯: 用 ports 安裝的話檔案預設會放在 /usr/local/etc/letsencrypt.sh 目錄下,然後因為預設的 $BASEDIR…

Radeon R7 360

[華語, cmn-Hant-TW] 原本用的 Radeon 5750 太老了有點跑不動,想說買一張新的顯卡來玩玩,是說最近 AMD 有點弱,反正也不是要衝頂級就買張中低階的來贊助一下。 以 Power 不用升級為前提的話,那就 360 370 挑一張了。耗電有差、效能有差、價錢也有差,啊其實這兩個都是 2xx re 的,實際上也是好幾年老晶片了,所以就想說不要花太多的預算,買個 GCN 1.1 的 360 就好,於是買了華碩的 R7 360 DC2OC-2GD5 這張。 效能沒啥好測的,反正就是那樣,待機功耗倒是我比較在意的,FX-8350 加 ASUS Crosshair V Formula 插 16GB 的 DDR3 1600 RAM,還有一堆有的沒的硬碟,不同顯卡的對照 Radeon 5750…

Let’s Encrypt + FreeBSD

[華語, cmn-Hant-TW] 免費的 SSL – Let’s Encrypt 終於到了公測階段,其實之前封測的時候就有先試玩看看,是可以用啦不過問題比較多,要一些小技巧還有設定才能跑,而且 FreeBSD 的 ports 也還沒出來,現在的話有進 ports 用起來就方便很多,直接裝 security/py-letsencrypt 就可以用了 裝好之後執行 letsencrypt certonly,輸入 e-mail 跟要申請的網域就可以了,申請的過程需要用 80 port 來驗證,所以要先把網頁伺服器暫時關掉,然後當然要申請的網址也要確實有指到這台機器上,這樣才能驗證成功,如果順利的話應該幾秒鐘就申請完成了 在 FreeBSD 下暫時還沒有支援 apache 跟 nginx 的整合,所以這邊要自己弄,所有 letsencrypt 的檔案都會放在 /usr/local/etc/letsencrypt 的目錄下,以 pighead.cc 網域來當例子的話,就會放在 /usr/local/etc/letsencrypt/live/pighead.cc/,裡面會有 symbolic link 建好的 cert.pem…