编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

利旧淘汰笔记本电脑作为家庭服务器

wxchong 2025-01-17 13:18:12 开源技术 52 ℃ 0 评论

相信大家都会有一两台淘汰的笔记本电脑,食之无味,弃之可惜。我就有1台十多年前的笔记本电脑,P9700的CPU,4G内存,千兆网口(支持网络唤醒),可以安装2个SATA硬盘(其中1个是光驱位改装),待机(SUSPEND)功耗只有1.5W,比苹果最新的MAC mini还省电,用作家庭服务器运行各种网络服务和Docker应用非常合适。由于网卡支持网络唤醒,不用的时候用手机远程一键待机,需要的时候也可以一键唤醒,省电之余又减少硬盘磨损。

一、操作系统选择

由于一直有使用软路由,对openwrt系统比较熟悉,openwrt也可以作为服务器操作系统使用。但是openwrt是精简版的嵌入式linux系统,对硬件特性支持不全面,无法实现待机,还是选择linux服务器发行版比较合适。Centos和Debian都是有名的linux服务器操作系统,Centos已经over了,选择Debian就理所当然了,著名的PVE、ubuntu和群晖都是基于Debian开发的,稳如老狗。

二、Debian12系统安装

Debian系统的下载网址是https://www.debian.org/,下载最新Debian12的ISO安装镜像。我希望数据和系统分离,笔记本电脑的两个硬盘仅用于存放数据,与操作系统解耦,操作系统安装在U盘中,随时可以更换。因此需要2个U盘,1号U盘用于ISO镜像文件启动安装程序,只使用一次,2号U盘用于容纳Debian操作系统,容量要求不小于4GB。用Rufus(https://rufus.ie/zh/)把镜像写入1号U盘,或者在1号U盘安装ventoy系统(https://www.ventoy.net/cn/),然后启动笔记本电脑。进入安装程序后就根据安装向导,把Debian12安装到2号U盘中。过程比较简单,这里就不赘述了。安装成功后拔掉1号U盘,进入BIOS设置2号U盘启动电脑。

三、Debian12系统配置

1、 网络配置

Debian12启动后,执行ping 360.cn,检查网络是否连通。如果不行就手动配置一下网络。

执行查看网络接口命令:ip a

最少有以上3个接口,分别是本地环回接口lo、有线网卡接口ens5、无线网卡接口wl1。由于用作服务器,当然用有线千兆网口,无线网卡最好硬件关闭,不使用。

编辑网络配置文件:nano /etc/network/interfaces

写入(根据自己需要配置IP):

auto ens5

iface ens5 inet static

address 192.168.1.212

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 192.168.1.1

然后执行重启网络命令:systemctl restart networking

2、 磁盘挂载

我有两块硬盘,一块是NTFS格式的原笔记本电脑硬盘,保留原数据以便以后还能启动windows系统,另外一块是新的ext4格式硬盘,安装Docker应用和作为NAS空间。

执行查看硬盘的UUID命令并记下两个硬盘的UUID用于静态挂载:lsblk -f

编辑静态挂载配置文件:nano /etc/network/interfaces

写入(根据自己需要配置):

UUID=4E1EC98C1EC96E11 /mnt/SSD1 ntfs defaults 0 0

UUID=06e7a27d-d67d-4263-b538-4d1790cb96e5 /mnt/SSD2 ext4 defaults 0 0

重启守护进程使挂载生效:systemctl daemon-reload

再次用lsblk -f命令就可以看到挂载到/mnt/SSD1和/mnt/SSD2的两块硬盘。

3、 设置Samba共享

编辑SMB配置文件:nano /etc/samba/smb.conf

写入(根据自己需要配置):

[SSD1]

path = /mnt/ SSD1

browseable = yes

writable = yes

guest ok = yes

read only = no

create mask = 0777

directory mask = 0777


[SSD2]

path = /mnt/ SSD2

browseable = yes

writable = yes

guest ok = yes

read only = no

create mask = 0777

directory mask = 0777


[homes]

comment = Home Directories

browseable = no

available = no

重启samba服务使配置生效:systemctl restart smbd

这样,两个硬盘就可以免密码SMB访问。[homes]配置是去掉烦人的自动共享用户目录。如果需要用密码访问,就执行smbpasswd -a myusername,把Debian的账户加入到samba服务中,配置guest ok = no即可。

4、 安装可视化服务器管理面板

Openwrt有luci界面来管理系统,Debian可以安装1panel管理面板来实现可视化管理,也是一个Docker管理利器。安装1panel会同时安装好Docker。

安装脚本如下:

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

根据提示一步一步就能安装完成。

5、 解决笔记本屏幕自动关闭

笔记本电脑运行Debian,屏幕会一直常亮,不像台式机可以不接显示器。可以配置启动后执行关屏操作。编辑启动执行脚本:nano /etc/rc.local

写入:

#!/bin/bash

setterm --blank 1

exit 0

赋予执行权限:

chmod +x /etc/rc.local

这样,启动后屏幕就会自动关闭。但是,如果系统挂起后重新唤醒,屏幕又会亮起,所以要配置唤醒自动关屏服务。

编写唤醒关屏脚本:nano /usr/local/bin/wakeup-screen-off.sh

写入:

#!/bin/bash

setterm --blank poke --term linux < /dev/tty1

sleep 3

setterm --blank force --term linux < /dev/tty1

赋予执行权限:

chmod +x /usr/local/bin/wakeup-screen-off.sh

创建唤醒关屏服务:nano /etc/systemd/system/wakeup-screen-off.service

写入:

[Unit]

Description=Run script on wakeup

After=suspend.target

[Service]

Type=oneshot

ExecStart=/usr/local/bin/wakeup-screen-off.sh

[Install]

WantedBy=suspend.target

启用新创建的服务,以便在系统唤醒时运行:

systemctl enable wakeup-screen-off.service

6、 解决笔记本合起屏幕自动待机

笔记本电脑运行Debian,合起屏幕系统会自动待机,需要取消此功能。编辑nano /etc/systemd/logind.conf,

找到HandleLidSwitch一行,配置HandleLidSwitch=ignore,表示合上屏幕时不执行任何操作。重启服务:systemctl restart systemd-logind,此时,合上盖子时系统将不再进入待机状态。

四、配置手机一键待机和一键唤醒

手机上安装ConnectBot工具,可以自动SSH连接到服务器执行命令,一键待机就是连接到Debian服务器,自动执行systemctl suspend实现,一键唤醒就是连接到同局域网的软路由OpenWRT系统,自动执行etherwake xx:A9:05:DA:91:xx(Debian服务网卡MAC地址)实现。只要用软路由实现内网穿透,采用这种方法即使在外面也能远程实现一键待机和一键唤醒,十分方便。


至此,一台Debian服务器就基本配置完成,可以安装各种服务和应用,比如photoprism、homeassistant、Alist、transmission、NAS系统等等,可以愉快的玩耍了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表