從 Bear 搬家到 Notion

Bear 雖然用起來感覺還不錯,可是沒有 Windows app 實在有點痛苦,所以一直在找方法搬家,以下是當時的筆記:

  1. 先在 Bear 的 macOS app 中把所有筆記選起來(cmd-A),然後在選單列中選擇「檔案」→「匯出筆記」
  2. 在記得的地方(例如桌面)建立一個新資料夾,並進入該資料夾,這邊的範例會用「note」。
  3. 按下「選項」按鈕,在「匯出為…」的地方選擇「Markdown」,並勾選「匯出附件」
  4. 按下「匯出筆記」
  5. 匯出完成之後,打開 Finder 到剛剛的 note 資料夾,裡面再建一個「attachments」資料夾。然後把 note 資料夾下的所有其他資料夾,搬到 attachments 資料夾內
  6. 打開 terminal,執行以下指令
    find . -type f -name "*.md" -exec bash -c 'sed -E "s/![](/![](attachments\//" "$1" > tempfile; touch -r "$1" tempfile; mv tempfile "$1"' -- {} \;\n
  7. 安裝 md2notion
    pip3 install md2notion
  8. 取得 Notion 的 access token。打開瀏覽器,登入 Notion。然後打開瀏覽器的開發工具,去看 cookies 中 token_v2 的值,例如:aabbcc12345 這樣的東西
  9. 到 Notion 建立一個新頁面,然後把 URL 記下來,之後匯進來的 Markdown 都會在這個頁面下。例如:https://www.notion.so/fykuan/abc123
  10. 到剛剛的 note 目錄內,執行以下指令
    python3 -m md2notion aabbcc12345 https://www.notion.so/fykuan/abc123 ./*.md
  11. 如果步驟都做對了,md2notion 就會開始把 Markdown 檔案上傳。這樣上傳進 Notion 的筆記,內嵌的圖片都會是正確的

fsck_ufs: inoinfo: inumber xxxxxxxxxxxxxxxxx out of range 解決方式

手邊一台應該是從 FreeBSD 11 升上來的 storage server,在一次意外當機後重開,file system 變成 dirty 開機就卡住了。

一般的修復流程是進 single user mode,執行 fsck -y,讓 fsck 修復到 file system is clean,但這台在跑了 20 幾個小時之後,跳出了

fsck_ufs: inoinfo: inumber xxxxxxxxxxxxxxxxx out of range

然後 fsck 就自己結束了…

經過搜尋看到這篇討論應該是一樣的狀況。原因是 fsck_ffs 的 bug,在轉換 inode number 的時候因為資料類型不對,轉成負數了。而這個問題去年十月在這邊修掉了。

我的解決方式是用 13-RELEASE 的光碟開機,進 single user mode 執行修正這個問題後的 fsck 再修修看,這一次就正常跑完結束了。

修一輪要 20 幾個小時,頭痛…

中華電信光世代奇怪的斷線問題

我家裡一直都用中華電信 100M/40M 的光世代,搭配 ASUS AC-68U 刷 Asuswrt-Merlin,以及申請非固定制光世代的固定 IP

但是不知道是哪邊的問題,每次遇到

  1. 中華電信機房維修斷線
  2. 家裡停電斷線

網路就會爛掉,用「用戶編號@ip.hinet.net」再也連不上 PPPoE。一定得要改用「用戶編號@hinet.net」拿動態 IP 連線後,去上面的申請固定 IP 網頁,把原本的「1固定IP及7動態IP」改申請成「八個動態IP」,然後再重新申請一次「1固定IP及7動態IP」,再改成用「用戶編號@ip.hinet.net」拿到的固定 IP 上網。然後我的固定 IP 就換一組新的了,domain name 也得去設定到新的 IP 上…

實在是有夠煩人。

Supermicro 的 IPMI 遇到奇奇怪怪症頭的解決方法

Supermicro 的 IPMI 非常方便,可以讓管機器的人在遠端完成大部分的事情,就算是作業系統真的死透了開不了機,也可以透過 IPMI 的 Console Redirection 功能連進去看狀況以及重開。

但麻煩的是如果你的 Supermicro 是舊機器,Console Redirection 得要用 Java 才能跑(新版的已經可以用 HTML 5 跑了)。所以老是會遇到奇奇怪怪的問題。測試了幾天整理了一些奇怪問題的解決方法。

  1. 使用 Supermicro 官方的 IPMIView 工具
    IPMI 通常都是直接打開瀏覽器,連到該主機 IPMI 的 IP address,然後啟動 Console Redirection。不過 Supermicro 提供了 IPMIView 這個工具,直接在這工具內就可以設定多台主機的 IPMI IP,直接用這個工具執行 Remote Console。但舊一點的 BIOS 可能連上去之後沒有 Console Redirection 這個選項。
  2. 安裝 Java SE Runtime Environment 6u19
    舊版的 Java 可以在這裡下載。測試了幾天這個版本是確定可以執行 Console Redirection 的,在 Windows 10 上面也可以運作。不過跑起來以後如果遇到畫面一直被奇怪的白色色塊遮住,我的解決方式是在 Java remote console 內的選單列,使用 OSD UI Style,這樣他會在你的 console 上面另外顯示一個 OSD,利用拖拉那個 OSD 視窗的方式來把讓奇怪色塊遮住的地方重新繪製。
  3. 連上一次之後,之後就再也連不進去了
    我手上的機器有這個症頭,解決方式是在別台主機安裝 ipmitool(Linux 和 macOS 的 homebrew 都有這個工具),然後執行:
    ipmitool -H ${主機IP} -U ${IPMI使用者名稱} -P ${IPMI使用者密碼} bmc reset cold
    來重置主機的 BMC,重置完就可以再次連線到 IPMI 了。

手上有三批機器,一批是得要用 Java Console Redirection 的、一批是可以用 IPMIView 的、一批是直接有 HTML 5 console redirection 可以用的…

解決 WordPress 和 Jetpack 無法連線問題

通常我會用 macOS 上的 wordpress.app 來寫網誌。這幾天發現 wordpress.app 行為怪怪的,例如說按下新增文章之後,正常應該是要在 app 中開啟編輯文章介面,但卻變成自動打開瀏覽器分頁,連到 wordpress 後台的編輯介面。然後在 wordpress.com 的後台可以看到 Jetpack 顯示錯誤。

記錄一下最後怎麼解決的

  1. 先到 Jetpack debug,輸入網誌的網址,看看是什麼錯誤訊息。我看到的是「parse error. not well formed」
  2. 根據 Fixing WordPress Jetpack Connection Errors 所述,也許是 php-xml 的關係
  3. 連線到伺服器,執行
    sudo apt install php-xml
    果然是因為沒有套件的關係,安裝之後就沒問題了。