以下是 Mastdodon v4.0.2 在 Linux 上的安裝步驟。不同版本可能會有一些差異,請自行調整。
若沒有特別需求,Mastodon 也可以透過代理商安裝、運行,不必自行架設伺服器。
硬體需求
我自己是在 Raspberry Pi 4 上測試的,Pi 4 跑得起來只是比較慢了一些,若你的硬體配備比 Pi 4 好的話,其實沒什麼需要擔心的。
- 雙核心處理器,建議時脈在 2 GHz 以上
- 記憶體至少
2 GB4 GB (隨著資料量增加,使用的記憶體也會增加)
軟體開發、伺服器和生活瑣事
以下是 Mastdodon v4.0.2 在 Linux 上的安裝步驟。不同版本可能會有一些差異,請自行調整。
若沒有特別需求,Mastodon 也可以透過代理商安裝、運行,不必自行架設伺服器。
我自己是在 Raspberry Pi 4 上測試的,Pi 4 跑得起來只是比較慢了一些,若你的硬體配備比 Pi 4 好的話,其實沒什麼需要擔心的。
不明原因,導致重新開機並登入以後,桌面環境故障,無法開啟、關閉視窗,必須透過 mate-tweak
選擇視窗管理員 (marco
) 才能恢復正常。
在「Marco window manager crashes after reboot」文章中,有提到一個作法,刪除 .local
底下的幾個設定檔:
cd ~/.local/share/applications rm metacity-no-composite.desktop.desktop marco-no-composite.desktop.desktop marco.desktop.desktop
檔案刪除以後重新開機,即可恢復正常。
備註:故障前,我做了一個平常幾乎不會有的動作:修改「主選單」內容。其中剛好有幾個 item 的名稱與 marco
有關,在懷疑即使沒有顯示出來的項目也有被使用到:
以下為 Ubuntu 22.04 上建立 Kubernetes cluster 的操作步驟,會建立:
kubeadm join
到 master node追 minikube 中的 log kubectl logs s3-provider-xxxx -p
時,看到錯誤訊息:
Defaulted container "s3fuse" out of: s3fuse, init-myservice (init) /bin/sh: /docker-entrypoint.sh: Permission denied
第一,是檢查 docker-entrypoint.sh
的權限。要讓 script 可以執行,在 COPY
進 image 以後記得調整權限:
RUN ["chmod", "+x", "/docker-entrypoint.sh"]
另外,再看了一下 entrypoint 寫什麼:
#!/bin/bash set -euo pipefail set -o errexit set -o errtrace ....
第一行這樣寫有點雷。
shebang 雖然可以讓 shell 可以了解需要使用哪一個直譯器來執行 script (可以參考之前 shebang 的介紹),但是每個系統的 bash 路徑並不一定相同。有些在 /bin/bash
,有些則在 /usr/bin/bash
,當然還有其他例外。
若不確定直譯器的路徑時,可以透過 env
這個指令來協助,這個工具在個系統上的絕對路徑都是 /usr/bin/env
,env
會從 runtime environment 偵測執行檔的路徑 (上面的範例是 bash),這樣一來 script 作者就不需要為每個環境來客製化設定。
用 env
來改寫 shebang
,結果如下:
#!/usr/bin/env bash set -euo pipefail set -o errexit set -o errtrace ....
最近開機後,一直提示發現問題,但是點選「回報問題」卻又沒有任何動作發生,手動追蹤也找不到是哪個地方有錯誤。最後決定把 Apport 功能停用。
編輯 /etc/default/apport
,並將 enable
改為 0
:
#enabled=1 enabled=0
存檔後重新啟動,Apport 就會關閉了。