咳咳,美觀調整紀錄。
略過使用 live cd/usb 安裝 Ubuntu。
SSH
設定ssh 方便我們在遠端控制電腦,可依此使用
SSHFS
,VSCode remote service
等方便功能。
安裝
啟用
確認伺服器端狀態是否正常
應該看到類似以下結果。確認 ssh.service
和 vendor preset
為 enable
,前者表當前是否啟用服務,後者表啟動時是否自動啟用本服務 (ssh
)。
(Optional) 將本地 ssh 公鑰加入 Ubuntu 伺服器
圖形界面真香,參考本網站
oh my zsh
提升開發效率 X, 心情愉快 O
Item | Target | Feature |
---|---|---|
Shell | zsh |
比起 bash 有更多開箱即用的功能,且更能輕鬆客製化 |
Framework | oh my zsh |
能裝更多主題、外掛的 zsh 框架 |
Theme | powerlevel10k |
極其美妙的終端機主題,內建許多外觀設定 |
zsh completion
: 根據當前的輸入自動補全命令。auto suggestion
: 根據過往的命令與當前的輸入自動建議輸入。輸入時在背後會浮現淺色的提示。syntax highlighting
: 對命令加上顏色標註。合法的命令顯示綠色、不合法的為紅色、字串為黃色…先安裝等等要用到的套件…
然後進入 zsh
(輸入 zsh
從當前 shell 進入 zsh
),安裝 oh my zsh
,接著下載 zsh
相關外掛於 oh my zsh
內。
使用 ZSH 變數將外掛放入
oh my zsh
內管理的命令自動化。
(以下為讓 powerlevel10k
能大展身手的等寬字型的安裝,非必要。)
由 powerlevel10k 官方建議,使用 Meslo Nerd Font
連體字型最合適,該網站列敘該如何安裝此字型,並在終端機中使用。
zsh
客製化設定接著進入 zsh
設定檔 ~/.zshrc
。
請使用
vim
,nano
,emacs
,gedit
之類的文字編輯器,依照前面的命令的話,應該已經裝好vim
了。
將 powerlevel10k
主題加入設定
找到 ZSH_THEME
參數,修改設定。
將前面 clone 進來的外掛程式庫加入設定
注意 zsh complition
不應該直接加入 plugins
列表中。詳見 issue 603。
另外,以上設定必須在 source $ZSH/oh-my-zsh.sh
這行以前,因為該行即是啟動 oh my zsh
與其管理之所有外掛。
啟用 powerlevel10k
主題
儲存對 ~./zshrc
的修改,並用以下命令使其生效。
此時 powerlevel10k
會根據當前終端機的字型提示我們跟如何完成此主題的快速調整。若對調整的結果不滿意,可使用 powerlevel10k
內建命令 p10k configure
來啟動快速設定程式。
(Optional) 使用 neofetch
將 neofetch
加入 .zshrc
的第一行,即可在每次開啟終端機時印出系統基本訊息。
原理是特殊的網卡在電腦關機時,仍能接收 Magic Packet (魔法封包),接收到時透過 PCI 通知主機板開機。默認接收 Magic Packet 的 Port 為 9
或 7
。
魔法封包的內容為 6 bytes 的 F
和 96 bytes 的目標網卡 MAC 地址 (48 bits) 重複 16 遍。故封包大小為
魔法封包的細節原文,引自維基百科。
The magic packet is a frame that is most often sent as a broadcast and that contains anywhere within its payload 6 bytes of all 255 (FF FF FF FF FF FF in hexadecimal), followed by sixteen repetitions of the target computer's 48-bit MAC address, for a total of 102 bytes.
有三方面的設定要完成。
硬體
首先確認主機板與網卡是否支援 WOL (當今網卡基本上都支援)。
接著進 BIOS,依照各個主機板不同的方式開啟 WOL 功能。
作業系統
不同作業系統設定的方法不一。
由於 TrueNAS Scale 是以 Debian 為基礎打造,若在此之上是以乙太網連接的話,可以參考本網站。
Ubuntu 雖然作為魔改版的 Debian,卻不可直接使用 Debian 的方法,具體可以參考本網站,下面也會說明差別。
以下簡單說明作法。
確認 ethtool
是否已安裝
確認乙太網設備名稱
找到狀態為 UP
的乙太網卡,其名稱通常以 e
開頭,比如 ethX
, enpXsY
(X
, Y
為某數字)。找到後,以下暫稱該乙太網卡為 ethX
。
確認乙太網設備狀態
會列出 ethX
的一系列狀態,其中 g
表有啟用 WOL;d
表未啟用。若只想單次設置 WOL,用以下命令即可。
為網路介面設定自動啟用 WOL
Ubuntu
Ubuntu 要讓每次開機時都運行上方指令,可以透過新增系統服務完成。
新增系統服務
新增以下內容
別忘記替換 ethX
為自己的網卡名稱 :)
重新載入守衛行程
啟用剛創建之 WOL 服務
TrueNAS
可以針對單獨某網卡或全域設定。若是前者,新增 /etc/network/interfaces.d/ethX
,若是全域,則新增 /etc/network/interfaces
檔案,內部為:
別忘記替換 ethX
為自己的網卡名稱 :)
wol-systemd
@
後面為監視 WOL 的網路介面
以上方法即可一勞永逸。
另外無線網卡的情況較複雜,而且 NAS 比較建議是走乙太網才較穩定且高速,故不特別介紹,有興趣者可參見本網站。
啟動
此時 NAS 已經準備好被喚醒。我們需將 Magic Packet 送至網卡所在之主機的 Port 9
(or 7
)。
可以使用手機、電腦等喚醒。比如 Andriod 手機的 WolOn、Linux/macOS 的 wakeonlan
套件 (macOS 可使用 brew
下載使用)。
區域網路喚醒
以 wakeonlan
套件為例。預設會將 MAC_ADDRESS
發送至 255.255.255.255:9
(也就是 braodcast)。套件使用細節可用 wakeonlan
命令查詢。
網際網路喚醒
除了要知道 MAC 地址,還需要知道 IP 位置。
只要扯上網際網路,一切就麻煩起來了 :p
為此要解決兩個問題:
9
傳遞至Host_LAN_IP:9
)Ubuntu 22.04 主動加入對 ZFS 的支援,不仿使用 ZFS 來搭建伺服器。
創建
以數顆硬碟構建 raid 0 儲存池 POOL_NAME
。
其中 parameter
可為以下。
type | Basic | Mirror | Raid-z | Raid-z2 |
---|---|---|---|---|
meaning | raid 0 | raid 1 | raid 5 | raid 6 |
parameter | - | mirror | raidz | raidz2 |
查看儲存持狀態
查看 POOL_NAME
的狀態,沒給參數會列出所有儲存持狀態。
加入、移除與刪除
加入/移除/刪除 POOL_NAME
儲存池。
取得、改變掛載資料夾