目录

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
在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 设置系统时区为上海
date 显示24小时制,在 /etc/default/locale 加一行 LC_TIME=C.UTF-8
或者 .bashrc 中加入 export LC_TIME=C.UTF-8
localectl list-locales 查看列表。
apt install locales-all 之后可以用 en_DK.UTF-8
如果要自定义 date 的格式,用 alias 吧。
装本地邮件系统 postfix ,邮件客户端 mutt。改 aliases,把root邮件转给自己。
装 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
sshd 配置,仅允许 root 从内网用密码登录。其他地方要用密钥登录。
【配置sshd_除了特定ip外_仅密钥登录】

修改 /etc/ssh/sshd_config

找到 PermitRootLogin yes,改为以下一行。没找到就添加这行。

禁止 root 用户通过密码登录。

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
太多猜密码的,在 log 中留下不少记录,占用空间。装个 fail2bain 限制一下。只需限制 sshd 的对应端口就够了。
N1 的 armbian 有 ntpd 对时服务。不用装 chronyd 了。
auth.log 中留下很多 dev/ttyS0: not a tty 的记录,syslog daemaon.log 也有不少 ttyS0 的记录。
因为 N1 本身没有串口,所以出错。除非 USB 上插了一个。
systemctl disable serial-getty@ttyS0,service serial-getty@ttyS0 stop 即可

最后编辑:2022年01月19日 ©著作权归作者所有

发表评论