HTPC主機-裝機說明(TinyGo-J4125 Debian 11)
想了解Debian11做為我HTPC主機的原因,請移步到我的NAS血淚史,這一篇則記錄個人HTPC安裝的過程和其說明
安裝環境:
- 主板TinyGo-J4125 8G
M.2 A+E KEY Wifi 槽接了PH-59的卡可外接兩塊SATA碟
M.2 B Key槽沒使用
ES8336持續沒有驅動 - 開機碟
120G SSD 一個,分成四個磁區,分別是EFI(200MB)、root(72G)、swap(16G)、home(剩下) - 資料碟
3T HDD 分成兩個磁區,200MB下載備用磁區(萬一資料、備份碟亙換時磁區不用重新分割)、Source_area(主要存放區) - 資料碟
3T HDD 分成兩個磁區,200MB下載磁區(Download_area)、Backup_area(備份區)
系統佈建:
- 到官網下載 live ISO檔案,並複制到Ventory的USB碟上,Live ISO 檔下載non-free版本,會順便安裝非官方的驅動,以TinyGo這張主版,顯示卡是i915的驅動,若不是裝non-free在更新(apt update)時會出現i915的錯誤,只能自個再安裝firmware-misc-nonfree_20210315-3_all.deb
- 安裝面不說明了,請找谷哥畫面和說明更好
- 之前過渡期問題,所以建議打開Magic SysRq的組合鍵,也就按Alt+SysRq(PrtScr)鍵後放開SysRq(PrtScr)鍵,再依次輸入r+e+i+s+u+b各鍵,系統就會重啟,以免硬斷電傷到硬碟echo "kernel.sysrq=1" >> /etc/sysctl.conf
- 先移除不用的系統及遊戲
apt purge -y fcitx* ibus* thunderbird* pidgin* mlterm* xterm* goldendict* gnote evolution* inkscape* imagemagic* shotwell* transmission* hexchat* brasero* cheese* eog* simple-scan xiterm+thai xfonts-thai* gnome-screenshot gnome-calculator gnome-sound-recorder mozc* vinagre purge -y aisleriot five-or-more four-in-a-row gnome-chess gnome-klotski gnome-mahjongg gnome-mines gnome-nibbles gnome-robots gnome-sudoku gnome-taquin gnome-tetravex hitori hoichess iagno lightsoff quadrapassel swell-foop tali rhythmbox totem kasumi gimp purge -y gnome-2048 geary remmina* libreoffice*- 偏好用gcin當中打,要不要移除fcitx或ibus自個決定
- 替換台灣源sed -i 's/deb.debian.org/opensource.nchc.org.tw/g' /etc/apt/sources.list然後進行系統的更新(apt update)和升級(apt upgrade -y)
- 安裝主機需使用的軟體
apt install -y pulsemixer pulseaudio-dlna gcin gcin-data gcin-gtk3-immodule gcin-qt5-immodule gcin-tables vlc wget x11vnc kodi kodi-pvr-iptvsimple unrar-free snapd smartmontools curl gnupg2 gnupg ca-certificates openssh-server - x11vnc
遠端桌面搖控用 - pulsemixer/pulseaudio-dlna
Pulseaudio Cli的操作程式(主要HA配合SHELL使用,可替換輸出或調整設備聲音使用)
PulseAudio-dlna(連接dlna設備,可配合pulsemixer做主機聲音的輸出或調整之用) - vlc/kodi/snapd
vlc:觀看直播使用
kodi:播放主機所儲存的影片,另搭配套件可看直播源
snapd:linux的套件庫主要安裝zy使用,zy是網路播放器有源可以播網路電視、電影.... - openssh
ssh/sftp使用,先安裝方便遠端電腦進行操控 - smartmontool
SMART硬碟資訊讀取工具(smartctl) - 安裝網路播放器 snap install zy --dangerous 器,記得機器未重開下在sanpd安裝後安裝zy,必需先重啟 systemctl snapd,restart 否則無法安裝 zy
- 再刪除gcin內定的543字碼,改由個人用的543字碼(在/home/XXXX/.gcin內)
rm -r /usr/lib/x86_64-linux-gnu/gcin/table/cj543.gtab - 修改pulseaudio的輸出,供docker's volumio使用
sed -i 's/#load-module module-native-protocol-tcp/load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1/g' /etc/pulse/default.pa - 個人會使用DLAN,也就有裝pulseaudio-dlna的程式,安裝後在同區網的DLNA設備會自動連接並納入到PulseAudio的介面內,但是Ubuntu 20.04不再支援 pulseaudio-dlna,需改裝pulseaudoo-module-raop,並下echo 'load-module module-raop-discover' >> /etc/pulse/default.pa讓模組內加上dlna的連接
- Debian 11.2的版本,建議再加上,以免HDMI有畫面但沒聲音
echo "options snd-intel-dspcfg dsp_driver=1" > /etc/modprobe.d/alsa.conf - 重新開機
環境佈建:
- ssh/sftp
ssh 安裝openssh-server即可使用,遠端登入每次皆要密碼,建議在遠端電腦的終端機上執行ssh-keygen指令,然後按Enter直到回到命令行,這時會在.ssh目錄內產生金鑰檔(id_rsa.pub),然後將該檔案複制到主機端內的同目錄(scp .ssh/id_rsa.pub <loginname:/home/<logindir>/.ssh/authorized_keys),但名稱為 authorized_keys,這樣下次同遠端電腦再以ssh登入,就不會要求輸入密碼了
sftp 一樣安裝後就可使用,若要管制登入帳號、目錄、讀寫權限....改/etc/ssh/sshd_config即可,不過ssh/sftp若有同群或使用者的關係下不可同時使用 - Samba
目錄分享,一樣安裝後先重啟或檢查啟動否systemctl smbd restart(status),直接修改/etc/samba/smb.conf
[nas_dumas] ---> 分享的名稱
comment = /home/dumas --->註解
path = /home/dumas --->分享的目錄
browseable = yes --->可否瀏覽
guest ok = yes ---> 訪客可否使用
writable = yes ---> 有無寫入權限
force user = dumas ---> 內定的使用者
force group = dumas --->內定的群組 - 加入後記得重啟 samba
- nginx
輕量化架站程式,其後要加上網頁版的系統資訊,除 nginx 安裝外,也加裝了 php php-fpm php-xml,先編輯/etc/nginx/sites-available/default - server {
listen 80 default_server;
listen [::]:80 default_server;
網頁的連接埠,有特殊需求(8080)可變更 - 找到root /var/www; 並改為root /var/www/dumas-nas;
- 在index index.html index.htm index.nginx-debian.html; 行上,加入 index.php
- location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
取消上列紅色三行的註解#字號 - phpsysinfo
主機訊息網頁版,安裝前建議確認nginx/php7.4-fpm已啟動,可由系統安裝或到這理下載最新版本,下載後解開並複制到 /var/www/dumas-nas的子目錄內,以phpsysinfo子目錄為例 - 將目錄內的phpsysinfo.ini.new更名為phpsysinfo.ini,在網頁上輸入<主機ip>/phpsysinfo就可以看到該主機的訊息,同樣修改phpsysinfo.ini可以配置個人版的資訊頁面
- PLUGINS="SMART,PSStatus,Docker,PS"
SMART:可顯示硬碟資訊,硬碟需支援SMART功能,需搭配修改[samba]內的DEVICES="/dev/sdb,/dev/sdc",同時需變更smartctl的權限(chmod u+s)
PSStatus:主機服務狀態(sambd/nginx.....),需搭配修改[psstatus]內的PROCESSES="sshd, smbd, nginx"
Docker:Docker's container 使用情況,主機端要變更docker的權限(chmod u+s)或者要修改root參數,不然會無法執行而取出資訊
PS:主機程式資源 - DEFAULT_DISPLAY_MODE="dynamic",建議由auto改為dynamic方便底下templates的下拉選取,若未使用則內定使用phpsysinfo為樣版
- DEFAULT_LANG="tw",內定的網頁語言,因搭配修改SHOW_PICKLIST_LANG=true在網頁上打開下拉的選取功能,所以可以不用變更
- DEFAULT_TEMPLATE="phpsysinfo",內定使用的樣版,一樣修改
SHOW_PICKLIST_TEMPLATE=true,讓它在網頁上做下拉選取,所以可以不用變更 - SENSOR_PROGRAM="LMSensors",可讀取主機版資訊,使用LMSensors就好,其它裝了也相同,所以設定一個即可
- 其它UTC/Local時間的顯示,C/F溫度的設定....就自個參考更改
- Docker和Portainer
Docker在純Cli的操做非常不方便,建議加裝Portainer來管理Docker's Container- apt install -y apt-transport-https software-properties-common
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- apt update
- apt install -y docker-ce docker-ce-cli
- 記得下 systemctl restar(status)t docker 指令,重啟(檢查) docker,才不會像我在直接安裝portainer卡了一下,最後重開機後才能安裝Portainer
- 再下docker run -d -p 9000:9000 --restart=always --name portainer -v /var/run/docker.sock:/var/run/docker.sock -e TZ='Asia/Taipei' portainer/portainer-ce 安裝 portainer,成功後就可以在同網城的電腦上輸入「主機IP:9000」來做Container的管理了
- 定時備份,修改 /etc/crontab並加入備份指令就好了,詳細可開啟檔案,就有詳細解說
# 每週日0:10、0:20備份系統參數及使用者參數,於0:30做資料區的備份
10 0 * * 7 root tar -cvPf /media/Source_area/Source_area/user.tar .gcin .mozilla .kodi shell/* .config/autostart .config/baidunetdisk .config/zy
20 0 * * 7 root tar -cvPf /media/Source_area/Source_area/system.tar /etc/crontab /etc/samba/smb.conf /etc/ssh/sshd_config /etc/nginx/sites-available/default /var/www/dumas-nas /usr/share/applications/zy.desktop
30 0 * * 7 root rsync -avh --delete /media/Source_area/Source_area/ /media/Backup_area/Backup_area/Source2Backup/ >> /var/log/rsync.log
注意事項:
- 機器重開後偶爾開機碟會變成/dev/sdb而不是/dev/sda,雖不影響使用但強迫症的我就覺得怪怪的,但還未找到設置地方
- ES8336還是尚未驅動,還好QNAP時買的USB音效卡(CM106)還能用,讓放大器可再接S/PDIF的輸出音效