开发经常涉及一些安装和配置。Linux相关的整理了多年都很完善了,这里进行整理下方便记录。
安装系统
此处以Ubuntu 24.04.3 LTS为例。
- 下载Ubuntu 24.04.3 LTS
- 使用Rufus刻录系统启动盘
- 使用启动盘安装Ubuntu (参考官方教程)
(注:安装时语言选择English,然后进入桌面后再切换语言为中文,然后选择保留旧文件夹,这样可以让文档或下载等目录保持英文,方便shell使用。)
- 更新
1
2
| sudp apt update
sudo apt upgrade
|
基础配置
1
2
| # 安装本地deb:sudo apt install -fy xxx.deb
# 安装本地AppImage:sudo yum install xxx.AppImage
|
远程桌面
开启WOL(Wake On LAN)
为了方便远程操作,开启Wake On LAN。参考资料
- 确保使用有线网卡
- 在BIOS中,确保Wake on LAN类似的配置时启动的。
- 使用ethtool开启WOL
1
2
3
4
5
6
7
8
| # 列出所有网络端口,查看有线以太网接口,名称通常是 eno1, enp2s0, eth0
ip a
# 安装 ethtool
sudo dnf install ethtool
# 检查当前的 WOL 状态, 查看 Wake-on: 后面的字母,这个字母一般是 d (disabled),或者没有 g,你就需要手动启用它
sudo ethtool <接口名称> | grep "Wake-on"
# 临时启用 WOL,启动后可以再次查看WOL状态,会发现现在变成g了(这个是必须的,如果不临时开启,永久生效的似乎也开启不了)
sudo ethtool -s <接口名称> wol g
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| # 找到 Netplan 配置文件,可能是 01-network-manager-all.yaml 或类似的名字
ls /etc/netplan/
# 编辑配置文件(YAML 文件对缩进非常敏感,请务必使用空格而不是 Tab)
sudo vim /etc/netplan/01-network-manager-all.yaml
# YAML 文件对缩进非常敏感,请务必使用空格而不是 Tab
network:
ethernets:
enp3s0:
dhcp4: true
wakeonlan: true # <--- 添加这一行
version: 2
renderer: NetworkManager
# 运行以下命令让配置生效
sudo netplan apply
# 如提示Permission for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should not be accessible by others.是因为文件权限过于开放,将文件权限设置为只有所有者(即 root 用户)可以读写,其他用户没有任何权限
sudo chmod 600 /etc/netplan/01-network-manager-all.yaml
# 如提示:systemd-networkd is not running, output might be incomplete,failed to reload network setting: Unit dbus-org.freedesktop.network1.service not found,则需要确认 NetworkManager正在运行,确保 systemd-networkd 是禁用的
systemctl status NetworkManager
sudo systemctl start NetworkManager
sudo systemctl enable NetworkManager
# 可能需要确保 systemd-networkd 是禁用的
sudo systemctl stop systemd-networkd
sudo systemctl disable systemd-networkd
|
开启远程桌面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| # 使用文本编辑器打开文件
sudo vim /etc/systemd/system/rustdesk.service
# 如果没有复制以下文件,或者复制RustDesk自带的rustdesk.service
[Unit]
Description=RustDesk Service
# 启动依赖:需要网络和图形登录界面都准备好之后再启动
After=network.target display-manager.service
[Service]
Type=simple
# 使用 root 用户运行,以便有权限控制显示和输入
User=root
# 设置必要的环境变量,让 RustDesk 知道要连接到哪个显示器
# 登录屏幕通常是 :0
Environment=DISPLAY=:0
# 指定要运行的命令,--service 参数是让 RustDesk 以服务模式运行
ExecStart=/usr/bin/rustdesk --service
# 如果服务意外退出,总是尝试重启
Restart=always
[Install]
# 将此服务链接到图形界面的目标,以便开机自启
WantedBy=graphical.target
# 重新加载 systemd 配置:
sudo systemctl daemon-reload
# 启用 RustDesk 服务
sudo systemctl enable rustdesk.service
sudo systemctl start rustdesk.service
sudo systemctl status rustdesk.service
# 确保是active
|
定时关机
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| # 创建关机服务
sudo vim /etc/systemd/system/shutdown.service
# 将以下内容复制到shutdown.service中
[Unit]
Description=Scheduled Shutdown Service
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/shutdown -h now "Scheduled shutdown initiated by systemd timer"
# 创建定时器文件
sudo vim /etc/systemd/system/shutdown.timer
# 添加以下内容到shutdown.timer中
[Unit]
Description=Run shutdown.service daily at 2 AM
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
Unit=shutdown.service
[Install]
WantedBy=timers.target
# 重载 systemd 配置
sudo systemctl daemon-reload
# 启用定时器
sudo systemctl enable shutdown.timer
# 检查您的定时器设置是否正确,下一次运行是什么时候
systemctl list-timers
# 如果需要取消关机
# sudo systemctl stop shutdown.timer
# sudo systemctl disable shutdown.timer
# 如果需要修改关机时间
# 编辑 /etc/systemd/system/shutdown.timer 文件。
# 修改 OnCalendar= 这一行的时间。
# 运行 sudo systemctl daemon-reload。
# 再次用 systemctl list-timers 确认新的执行时间。
|