2025-04-06 更新:添加 systemd.link 方法

一般来说,WoL 功能可以在主板 BIOS 中设置,开启就 OK

但是,对于一些 BIOS 中没有 WoL 设置的主板,需要在操作系统中开启 WoL,比如我的 Z370M-DS3H

参考

步骤

查看网卡信息

首先查看网卡支持的所有 Wake-on 模式,执行

ethtool [网络接口名称]

查看输出的 Supports Wake-on 行,该行字母对应的 Wake-on 模式:

p Wake on phy activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket
s Enable SecureOn password for MagicPacket
d Disable (wake on nothing). This option clears all previous options.

我的输出了 Supports Wake-on: pumbg,支持 WoL

然后查看 Wake-on 行,这行的字母代表当前网卡使用的 Wake-on 模式(字母对应上文)

如果 Wake-on 为 d,代表 Wake-on 关闭(我的输出为 d)

如果要开启 WoL,需要将 Wake-on 模式改为 Wake on MagicPacket,对应字母为 g

使用指令更改 Wake-on 模式

ethtool -s [网络接口名称] wol g

但是,如果此时重启系统,会发现 Wake-on 模式会被重置为 d,关机后也无法通过魔法包唤醒,网口指示灯也不亮

所以需要修改配置文件

修改 interfaces 文件

编辑 /etc/network/interfaces,在待开启 WoL 的网络接口配置下添加

iface [网络接口名称] inet manual
        post-up /usr/sbin/ethtool -s [网络接口名称] wol g
        post-down /usr/sbin/ethtool -s [网络接口名称] wol g

重启系统

再次关闭系统后发现主板网口灯亮,使用魔法包可以唤醒机器

新增 systemd.link 文件

使用 ifconfig、ip 等指令查看并记录对应网口的 MAC 地址

然后在 /etc/systemd/network/ 下新建文件 90-wakeonlan.link,写入以下内容

[Match]
MACAddress=[your NIC's MAC address here]

[Link]
NamePolicy=kernel database onboard slot path
MACAddressPolicy=persistent
WakeOnLan=magic

新建后直接关机即生效

在 PVE 8 下测试

有时候遇上网络拉闸,或是遇到源维护,情况比较紧急的时候下载速度能把人急死,于是有了搭建本地镜像源的想法

下文将展示如何使用 apt-mirror 和 nginx 搭建 Debian Buster 的 apt 镜像源,也适用于其他 Debian 发行版

环境

  • Debain 10
  • 磁盘空间至少分配 100G
    • 空间大小取决于想要镜像的源,如果只镜像 main 源,则至少预留 100G 空间
    • 如果还要同步源文件、系统更新包等,则还需继续增加磁盘空间,同步 main 源的源文件,则至少要 200G
    • 关于 Linux 磁盘扩容可以查看 如何无损扩展 Debian 硬盘分区

参考

步骤

以下指令默认在 root 下执行,使用其他用户请酌情加 sudo

apt-mirror 拉取 deb 包

以下步骤由于耗时较长,强烈建议在 screen 下执行,在 apt-mirror 下载的时候配置 nginx

  1. 安装 apt-mirror
    • 执行
      apt install apt-mirror
  2. 编辑 apt-mirror 配置文件
    • 配置文件位于 /etc/apt/mirror.list这里我只是同步了 main 源
    • 强烈建议使用阿里云等其他云厂商的公共源,使用中科大等源速度比较慢,而且容易出现下载错误,导致其他机器安装过程中找不到依赖包
  3. 拉取远程包
    • 执行
      # 使用 apt-mirror 用户避免出现权限错误
      su apt-mirror
      apt-mirror

      等待 apt-mirror 下载远程包

    • 下载的内容会被存储在 /var/spool/apt-mirror/mirror/[你选择的源地址]/debian/ 下
    • 下载完毕后,可以执行 /var/spool/apt-mirror/var/clean.sh 自动清除不需要的文件
  4. (可选)如果需要定时更新包,可以将 apt-mirror 指令写入 crontab

Continue reading "使用 apt-mirror 搭建本地镜像源"