Armbian_N1_筆記
轉載注明來源: 本文鏈接 來自osnosn的博客,寫於 2020-11-17.
一些筆記/備忘,關於N1(S905)
- Debian-10 防火牆內核是 nft。默認是通過 iptables/ip6tables 命令轉換的。
- armbian 默認開了 restore-iptables。所以關了它,改用nftables。
systemctl disable armbian-restore-iptables
,
apt install nftables; systemctl enable nftables; nft -f /etc/nftables.conf
apt upgrade 之后,文件系統錯誤
cd /tmp
這個目錄是掛載在內存的,速度很快,
find / -ls > /tmp/xxxx.log
或find / -ls > /dev/null
觸發文件系統錯誤。(如果有錯誤的話)- 出現文件系統錯誤后,
/dev/mmcblk1p2
掛載的所有點,都會變成 ro (只讀)。
乘此機會,fsck /dev/mmcblk1p2
,檢查出的錯誤,全部用y
回答。然后reboot
即可。
eth0 上添加一個ip (單網口,多IP)
- 此系統的網口是由
NetworkManager
管理的。 - 臨時:
- 添加,
ip addr add 192.168.1.100/24 dev eth0
- 刪除,
ip addr del 192.168.1.100/24 dev eth0
- 添加,
- 永久:
nmtui
編輯 eth0 網口,在ipv4部分,
保持IPv4 CONFIGURATION <Automatic>
,
在Addresses <Add...>
添加一個IP(包括掩碼)。如192.168.1.100/24
reboot 后生效。 (僅 restart NetworkManager 好像不行。)
遠程 ssh 升級 Debian
- 大版本升級, 建議用一個可靠的機器作為跳板,套上 tmux 或 screen,然后連接目標 N1,再次套上 tmux, 再執行大版本的升級操作。
因為大版本升級,會更新關鍵庫文件。在 sshd 升級完成前,無法再次通過ssh連接機器。新啟動的 sshd 進程因為庫不兼容會閃退。
已經連接的 ssh 不會主動斷開。
升級完成前,如果斷電重啟,會導致 kernel panic 無法啟動。
當 sshd 服務完成升級后 (大約是20分鍾后),就沒問題了。如果斷線可以重新連回去。再用tmux恢復升級的界面。
如果 tmux 不可用,見【tmux_server_version_is_too_old】 - 小版本升級, 直接連 目標 N1,套上 tmux, 升級即可。
遠程 ssh 升級 Debian 過程中掉線,重啟失敗,需要重裝恢復
- 參考【N1盒子刷Armbian,看這一篇就夠了——Armbian全方位安裝指導書】
直接從 第二步:制作系統U盤 開始。 - 重裝,會清空N1中原有的所有內容。以下,是步驟的文字描述。
- 把
Armbian_5.77_Aml-s905_Debian_stretch_default_5.0.2_20190318.img.xz
解壓后,用Win32DiskImager
寫入U盤,約 1.9GB - 把
meson-gxl-s905d-phicomm-n1.dtb
copy到 u盤的 dtb 目錄 - 修改 u盤根目錄的 uEnv.ini 文件,核對 dtb文件路徑。
- 將U盤插入靠近hdmi的USB口里,上電重啟,會自動進入U盤系統。
- 用 root、1234 登錄系統,修改 root 密碼。創建普通用戶 (可跳過)。
- 用命令
nand–sata-install
把系統寫入 emmc。 shutdown
或halt -p
關機,拔掉u盤。重新插拔電源,重啟系統。- 修改系統的 machine-id。 這樣 此機的 DUID, client-id 都會改變。
rm /etc/machine-id; rm /var/lib/dbus/machine-id; systemd-machine-id-setup;
/etc/machine-id 可以手工修改。
/var/lib/dbus/machine-id 不要手工修改,重啟后可能導致進不了系統。 - 寫入的文件系統有 bug,
用find / -ls > /dev/null
觸發文件系統錯誤。
fsck /dev/mmcblk1p2
修復文件系統。
reboot
重啟。 nmtui
修改一下機器名。- 時區,用
timedatectl
命令設置。 - 重裝完成。
- nmtui 增加 eth0 的網口,設置 eui64。取消 interfaces 中的 eth0。
n1 的 debian 從 stretch 升級到 bullseys (2021-10記錄)
- 直接修改 sources.list 為 bullseye, apt update 就會出錯。說是pgp key錯誤。
- 發現可以跳過 buster 直接升級到 bullseye。以下是升級的步驟。
- 先保留 sources.list 為 stretch,
apt update
, 發現有錯誤,update-command-not-found
修正。
然后apt upgrade
升級到 stretch 的最新。 - 修改 sources.list 為 bullseye,
apt update
, 先apt update --fix-missing
修正一下,否則 full-upgrade 會有錯誤。
然后apt full-upgrade
- 重啟,完成升級。
- 發現 root 分區還是有錯誤。
需要反復多次find / -ls > /dev/null
觸發錯誤, 然后fsck -y /dev/mmcblk1p2
修復文件系統,然后重啟。
完善一下系統
nmtui
修改一下機器名。- 時區,用
timedatectl
命令設置。【Linux下使用timedatectl命令時間時區操作詳解】
timedatectl status
查看系統時間方面的各種狀態
timedatectl list-timezones
列出所有時區
timedatectl set-local-rtc 1
將硬件時鍾調整為與本地時鍾一致, 0 為設置為 UTC 時間
timedatectl set-timezone Asia/Shanghai
設置系統時區為上海 - 裝本地郵件系統 postfix ,郵件客戶端 mutt。
- 裝 tmux。
- sshd 增加一個端口,為了方便 ipv6 登錄。設置一下用 key 登錄。
- 創建一個 ddns 更新腳本,用 crontab 定時啟動。
- 參考【UnRAID_6.8.2_配置_設置】中,關於 Debian 的設置。
- /var/log/journal 目錄,會占用不少空間,需要解決一下。
【Linux 系統 /var/log/journal/ 垃圾日志清理】
【N1刷入Armbian后保護emmc – 禁止varlog日志】
【N1盒子armbian/ubuntu/linux系統修改日志輸出到內存】- 手動刪除到8M
journalctl --vacuum-size=8M
- 配置中限制大小8M
/etc/systemd/journald.conf
中SystemMaxUse=8M
- 手動刪除到8M
- sshd 配置,僅允許 root 從內網用密碼登錄。其他地方要用密鑰登錄。
【配置sshd_除了特定ip外_僅密鑰登錄】
# 修改 /etc/ssh/sshd_config
# 找到 PermitRootLogin yes,改為以下一行。沒找到就添加這行。
PermitRootLogin prohibit-password
# 在文件最后添加以下兩行
Match LocalAddress 127.0.0.1/32,::1/128,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,fe80::/16,fd00::/8
PermitRootLogin yes