文章目录
- 安装ubuntu
- 安装必要软件
- 设置用户
- 远程连接
- 安全问题
- ClamAV安装教程
- 步骤 1:更新系统软件源
- 步骤 2:升级系统(可选但推荐)
- 步骤 3:安装 ClamAV
- 步骤 4:更新病毒库
- 步骤 5:验证安装
- ClamAV 常用命令
- 1. 基础扫描命令
- 2. 图形界面(ClamTk)
- 步骤 6:配置自动更新与扫描(可选)
- 1. 定期更新病毒库
- 2. 定期扫描系统
- 常见问题
- 1、更新病毒库报错:ERROR: Failed to lock the log file /var/log/clamav/freshclam.log: Resource temporarily unavailable ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log). ERROR: initialize: libfreshclam init failed. ERROR: Initialization error!
- **1. 检查并停止冲突的进程**
- **步骤 1.1:停止 `freshclam` 服务**
- **步骤 1.2:终止所有 `freshclam` 进程**
- **2. 检查日志文件权限**
- **步骤 2.1:检查日志文件权限**
- **步骤 2.2:修复权限(如果需要)**
- **步骤 2.3:确保日志目录存在且权限正确**
- **3. 删除现有日志文件并重新运行**
- **步骤 3.1:删除日志文件**
- **步骤 3.2:手动运行 `freshclam`**
最近在学校内配置了一台服务器,经过多番尝试和重装,踩了不少坑,也积累了不少经验,现记录在此作为参考,也希望能帮助到同样有相同需求的伙伴。
本次配置的服务器是华硕主板,配有2张4090显卡、189GB内存和2T固态外存,安装的系统为ubuntu20.04,在此我想对刚接触服务器配置的小伙伴说: 不要安Windows!不要安Windows!!不要安Windows!!! Windows操作起来固然更加直观方便,但是后续带来的麻烦是无穷无尽的。
好了,进入正题。
安装ubuntu
我安装ubuntu系统的方式全部来自于B站的这位up主的视频:https://www.bilibili.com/video/BV1Cc41127B9?spm_id_from=333.788.videopod.episodes&vd_source=59276a77a9319f21b7dec25b3f709fdb&p=13
大家可以直接跟着他的操作一步步做,基本不会遇到什么问题。
但是作为服务器,我的建议是:双系统的安装是不必要的。如果你和我一样,在这方面有一点强迫症,想要把磁盘中的Windows也删除的话,只要在安装过程中到下图这一步时,选择“清除整个磁盘并安装ubuntu”即可(在此之前,记得备份必要数据)。
安装必要软件
ubuntu安装完成后,想要作为一台深度学习服务器使用,需要安装一些必要软件包,在上一步中,大家应该已经完成了软件源的更新,在此不作赘述。
ubuntu安装软件一般是在终端进行安装,打开的快捷键是:Ctrl+Alt+T,打开后就像下图一样:
一般在安装任何新软件包之前,建议先更新软件包列表:
sudo apt update
安装编译程序所需的软件包:
sudo apt install build-essential
然后可以安一些文本编辑器,比较常用的就是vim和nano:
sudo apt install vim
sudo apt install nano
一般情况下,代码的版本管理和团队开发都要依托于云平台,如Github和Gitee等,这就需要安装版本控制工具git:
sudo apt install git
服务器的使用一般情况下是远程使用,也就是通过局域网内的另一台电脑远程连接,所用协议为SSH,安装命令为:
sudo apt install openssh-server
当然前提是要配置网络的:
sudo apt install net-tools
安装好ssh后,需要启动SSH服务,并查看一下服务运行状态:
sudo service ssh start
sudo service ssh status
如果显示下面的内容,说明SSH已经启动,应该已经可以进行远程连接了:
接下来可以安装一些编译器、编译工具等:
sudo apt install gcc
sudo apt install g++
sudo apt install make
sudo apt install cmake
可以再安装一个用于查看COP、内存等资源使用情况的软件包htop:
sudo apt install htop
运行方式直接在终端输入htop,回车即可,运行界面如下:
可以看到CPU和内存的使用情况,也可以看到各个终端的终端号和资源使用情况。
设置用户
一般在科研中,一台服务器需要多个人一起使用,为了避免文件系统的冲突,建议给服务器设定多个用户,大家分别在自己的用户下操作,更加方便。
创建新用户的命令为:
sudo adduser newusername
此处newusername为用户名,需要按照自己的要求进行修改,执行上述命令后,系统会提示你为这个用户设定密码,填写用户信息,不想填按回车就行,提示信息类似于:
[sudo] password for 当前用户:
正在添加用户 "新用户名"
正在添加新组 "新用户名" (1001)
正在添加新用户 "新用户名" (1001) 到组 "新用户名"
创建主目录 "/home/新用户名"
正在从 "/etc/skel" 复制文件
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
在这里,强烈建议把密码设的复杂一点,不然容易被人黑进来挖矿,计算资源被占用是小事,造成数据泄露或者文件系统损坏就很麻烦。
根据需要,也可以为用户添加或删除sudo权限:
# 为用户username添加sudo权限
sudo usermod -a -G sudo username
# 去除用户username的sudo权限
sudo usermod -G usergroup username
远程连接
设置好用户后,用户们就可以尝试一下能不能远程连接服务器了,以Windows为例,首先按win+R打开运行界面:
在框中输入cmd,回车后打开终端:
输入以下内容:
# xx.xxx.xxx.xxx是服务器的ip地址
ping xx.xxx.xxx.xxx
如果出现下图中的信息,证明自己的电脑和服务器都正常连接在局域网内。
那么xx.xxx.xxx.xxx怎么查看呢,打开服务器的终端,输入:
ifconfig
输入如下,一般情况下ip地址就是下图红框内的数字:
然后,测试下SSH能不能用,依然是在Windows的终端里,输入:
ssh username@xx.xxx.xxx.xxx
第一次连接时,可能会有如下警告信息:
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
确认下ip地址和用户名信息,确认无误后输入yes,输入对应用户的密码后,一般出现类似以下提示信息,说明SSH连接成功了,接下来就可以利用服务器的算力搞科研了:
当然,也有可能连接失败,此时要考虑是不是防火墙把ssh的端口拦截了,那么需要在服务器上输入命令将ssh的端口权限打开,命令为:
sudo ufw allow 22
其中22是ssh服务的默认端口。
安全问题
截止到本文落成,服务器已经被不明ip黑了两次了,结合关税战形式,我。。。(我超牢美怎么这么坏啊.jpg)。
开个玩笑,不管是什么原因,我们在配置服务器时都要有安全意识,因为数据无价,所以有以下几点要注意:
(1)服务器中所有用户的密码要尽可能复杂,包括符号、大小写字母、随机数字等。
(2)SSH的端口号尽量不要用默认的22,可以改成其他的,方法是修改SSH的配置文件:
sudo vi /etc/ssh/sshd_config
打开后,在下图中红框内修改:
修改端口号可以自拟,不要超过65535就行。
接着重启SSH就可以了:
systemctl restart sshd.service
下一次登陆的时候,需要在命令后加上新的端口号(假设为xxxx):
ssh username@xx.xxx.xxx.xxx -p xxxx
(3)可以考虑安装杀毒软件,如ClamAV。
ClamAV安装教程
本文使用 apt
在 Ubuntu/Debian 系统上安装 ClamAV。
步骤 1:更新系统软件源
安装前先更新系统软件包列表,确保依赖项可用:
sudo apt update
步骤 2:升级系统(可选但推荐)
建议先升级系统已安装的软件包,避免依赖冲突:
sudo apt upgrade -y
步骤 3:安装 ClamAV
使用 apt
安装 ClamAV 及其相关组件:
sudo apt install clamav clamav-daemon clamtk -y
clamav
:核心病毒扫描工具。clamav-daemon
:后台守护进程(用于实时监控或服务模式)。clamtk
:图形化界面(可选,适合不熟悉命令行的用户)。
步骤 4:更新病毒库
安装完成后,必须更新病毒数据库才能生效:
sudo freshclam
freshclam 会从 ClamAV 官方服务器下载最新的病毒定义(.cvd 文件)。
如果遇到超时或连接问题,可能是网络或软件源问题,可参考下方常见问题。
步骤 5:验证安装
确认 ClamAV 安装成功:
clamscan --version
预期输出示例:
ClamAV 0.103.2/25705/Sat Apr 19 03:00:00 2025
ClamAV 常用命令
1. 基础扫描命令
- 全盘扫描(谨慎使用,耗时较长):
sudo clamscan -r /
- 指定目录扫描:
clamscan -r /path/to/directory
- 仅显示感染文件:
clamscan -i -r /path/to/directory
- 删除检测到的恶意文件:
sudo clamscan --remove -r /path/to/directory
2. 图形界面(ClamTk)
启动图形化界面:
clamtk
步骤 6:配置自动更新与扫描(可选)
1. 定期更新病毒库
编辑 cron
任务,每天自动更新病毒库:
sudo crontab -e
添加以下行:
0 2 * * * /usr/bin/freshclam
2. 定期扫描系统
设置每天凌晨 1 点扫描主目录并记录日志:
0 1 * * * /usr/bin/clamscan -r /home >> /var/log/clamav/scan.log
常见问题
1、更新病毒库报错:ERROR: Failed to lock the log file /var/log/clamav/freshclam.log: Resource temporarily unavailable ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log). ERROR: initialize: libfreshclam init failed. ERROR: Initialization error!
您遇到的错误 Failed to lock the log file /var/log/clamav/freshclam.log: Resource temporarily unavailable
是由于 日志文件被其他进程占用或锁定 导致的。以下是详细的解决步骤:
1. 检查并停止冲突的进程
ClamAV 的 freshclam
服务和手动运行的 freshclam
命令可能会同时尝试访问日志文件,导致冲突。请按以下步骤操作:
步骤 1.1:停止 freshclam
服务
sudo systemctl stop clamav-freshclam
步骤 1.2:终止所有 freshclam
进程
sudo pkill -f freshclam
2. 检查日志文件权限
确保日志文件和目录的权限正确,允许 clamav
用户写入:
步骤 2.1:检查日志文件权限
ls -l /var/log/clamav/freshclam.log
预期输出应类似:
-rw-r----- 1 clamav clamav ... /var/log/clamav/freshclam.log
步骤 2.2:修复权限(如果需要)
sudo chown clamav:clamav /var/log/clamav/freshclam.log
sudo chmod 640 /var/log/clamav/freshclam.log
步骤 2.3:确保日志目录存在且权限正确
sudo mkdir -p /var/log/clamav
sudo chown clamav:clamav /var/log/clamav
sudo chmod 750 /var/log/clamav
3. 删除现有日志文件并重新运行
如果日志文件损坏或被锁定,可以删除后重新生成:
步骤 3.1:删除日志文件
sudo rm -f /var/log/clamav/freshclam.log
步骤 3.2:手动运行 freshclam
sudo freshclam