高性能服务器配置经验指南1——刚配置好服务器应该做哪些事
文章目录
- 安装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
相关文章:
高性能服务器配置经验指南1——刚配置好服务器应该做哪些事
文章目录 安装ubuntu安装必要软件设置用户远程连接安全问题ClamAV安装教程步骤 1:更新系统软件源步骤 2:升级系统(可选但推荐)步骤 3:安装 ClamAV步骤 4:更新病毒库步骤 5:验证安装ClamAV 常用命…...
DePIN驱动的分布式AI资源网络
GAEA通过通证经济模型激励全球用户共享闲置带宽、算力、存储资源,构建覆盖150多个国家/地区的分布式AI基础设施网络。相比传统云服务,GAEA具有显著优势: 成本降低70%:通过利用边缘设备资源,避免了集中式数据中心所需…...
徐州服务器租用:虚拟主机的应用场景
虚拟主机也可以被称为网站空间或者是共享主机,主要是通过软硬件技术将一台物理服务器分割成多个逻辑单元的技术,让每一个单元都拥有着独立的IP地址和完整的网络服务功能,那么虚拟主机的应用场景都有哪些呢? 许多中小型企业会选择租…...
Centos7安装Jenkins(图文教程)
本章教程,主要记录在centos7安装部署Jenkins 的详细过程。 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) 一、基础环境安装 内存大小要求:256 MB 内存以上 硬盘大小要求:10 GB 及以上 安装基础java环境:Java 17 ( JRE 或者 JDK 都可…...
【JAVA】十三、基础知识“接口”精细讲解!(二)(新手友好版~)
哈喽大家好呀qvq,这里是乎里陈,接口这一知识点博主分为三篇博客为大家进行讲解,今天为大家讲解第二篇java中实现多个接口,接口间的继承,抽象类和接口的区别知识点,更适合新手宝宝们阅读~更多内容持续更新中…...
边缘计算盒子是什么?
边缘计算盒子是一种小型的硬件设备,通常集成了处理器、存储器和网络接口等关键组件,具备一定的计算能力和存储资源,并能够连接到网络。它与传统的云计算不同,数据处理和分析直接在设备本地完成,而不是上传到云端&#…...
量子计算在密码学中的应用与挑战:重塑信息安全的未来
在当今数字化时代,信息安全已成为全球关注的焦点。随着量子计算技术的飞速发展,密码学领域正面临着前所未有的机遇与挑战。量子计算的强大计算能力为密码学带来了新的应用场景,同时也对传统密码体系构成了潜在威胁。本文将深入探讨量子计算在…...
大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署--完结
大数据系列 | 详解基于Zookeeper或ClickHouse Keeper的ClickHouse集群部署 1. ClickHouse与MySQL的区别2. 在群集的所有机器上安装ClickHouse服务端2.1. 在线安装clickhouse2.2. 离线安装clickhouse 3. ClickHouse Keeper/Zookeeper集群安装4. 在配置文件中设置集群配置5. 在每…...
【C++游戏引擎开发】第20篇:基于物理渲染(PBR)——辐射度量学
引言 在基于物理渲染(PBR)中,辐射度量学是描述光与物质交互的核心数学框架。本文将深入解析辐射度量学的四大基础量,双向反射分布函数(BRDF)的物理本质,以及如何通过积分形式推导出渲染方程。最后,通过OpenGL实践,直观展示辐射率(Radiance)在三维场景中的分布规律。…...
19Linux自带按键驱动程序的使用_csdn
1、自带按键驱动程序源码简析 2、自带按键驱动程序的使用 设备节点信息: gpio-keys {compatible "gpio-keys";pinctrl-names "default";pinctrl-0 <&key_pins_a>;autorepeat;key0 {label "GPIO Key L";linux,code &l…...
用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置
原文链接:用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置 Hello,大家好啊!今天给大家带来一篇在银河麒麟操作系统的 LiveCD 或系统试用镜像环境下,如何查看原系统中电脑的 IP 地址与网络打印机 IP 地址的实用教程。在系统损坏…...
.net core 项目快速接入Coze智能体-开箱即用-第2节
目录 一、Coze智能体的核心价值 二、开箱即用-效果如下 三 流程与交互设计 本节内容调用自有或第三方的服务 实现语音转文字 四:代码实现----自行实现 STT 【语音转文字】 五:代码实现--调用字节API实现语音转文字 .net core 项目快速接入Coze智能…...
win10中打开python的交互模式
不是输入python3,输入python,不知道和安装python版本有没有关系。做个简单记录,不想记笔记了...
时序逻辑电路——序列检测器
文章目录 一、序列检测二、牛客真题1. 输入序列连续的序列检测(输入连续、重叠、不含无关项、串行输入)写法一:移位寄存器写法二:Moore状态机写法三:Mealy状态机 一、序列检测 序列检测器指的就是将一个指定的序列&…...
SVT-AV1编码器中的模块
一 模块列表 1 svt_input_cmd_creator 2 svt_input_buffer_header_creator 3 svt_input_y8b_creator 4 svt_output_buffer_header_creator 5 svt_output_recon_buffer_header_creator 6 svt_aom_resource_coordination_result_creator 7 svt_aom_picture_analysis_result_creat…...
TikTok X-Gnarly纯算分享
TK核心签名校验:X-Bougs 比较简单 X-Gnarly已经替代了_signature参数(不好校验数据) 主要围绕query body ua进行加密验证 伴随着时间戳 浏览器指纹 随机值 特征值 秘钥转换 自写算法 魔改base64编码 与X-bougs 长a-Bougs流程一致。 视频…...
LPDDR5协议新增特性
文章目录 一、BL/n_min参数含义二、RDQS_t/RDQS_c引脚的功能三、DMI引脚的功能3.1、Write操作时的Data Mask数据掩码操作3.2、Write/Read操作时的Data Bus Inversion操作四、CAS命令针对WR/RD/Mask WR命令的低功耗组合配置4.1、Write/Read操作前的WCK2CK同步操作4.2、Write/Rea…...
python数据分析(二):Python Pandas索引技术详解
Python Pandas索引技术详解:从基础到多层索引 1. 引言 Pandas是Python数据分析的核心库,而索引技术是Pandas高效数据操作的关键。良好的索引使用可以显著提高数据查询和操作的效率。本文将系统介绍Pandas中的各种索引技术,包括基础索引、位…...
【深度学习】#8 循环神经网络
主要参考学习资料: 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李牧学AI 为了进一步提高长线学习的效率,该系列从本章开始将舍弃原始教材的代码部分,专注于理论和思维的提炼,系列名也改为“深度学习…...
开源状态机引擎,在实战中可以放心使用
### Squirrel-Foundation 状态机开源项目介绍 **Squirrel-Foundation** 是一个轻量级、灵活、可扩展、易于使用且类型安全的 Java 状态机实现,适用于企业级应用。它提供了多种方式来定义状态机,包括注解声明和 Fluent API,并且支持状态转换、…...
机器学习超参数优化全解析
机器学习超参数优化全解析 摘要 本文全面深入地剖析了机器学习模型中的超参数优化策略,涵盖了从参数与超参数的本质区别,到核心超参数(如学习率、批量大小、训练周期)的动态调整方法;从自动化超参数优化技术…...
AI 模型在前端应用中的典型使用场景和限制
典型使用场景 1. 智能表单处理 // 使用TensorFlow.js实现表单自动填充 import * as tf from tensorflow/tfjs; import { loadGraphModel } from tensorflow/tfjs-converter;async function initFormPredictor() {// 加载预训练的表单理解模型const model await loadGraphMod…...
Linux学习——UDP
编程的整体框架 bind:绑定服务器:TCP地址和端口号 receivefrom():阻塞等待客户端数据 sendto():指定服务器的IP地址和端口号,要发送的数据 无连接尽力传输,UDP:是不可靠传输 实时的音视频传输&#x…...
leetcode205.同构字符串
两个哈希表存储字符的映射关系,如果前面字符的映射关系和后面的不一样则返回false class Solution {public boolean isIsomorphic(String s, String t) {if (s.length() ! t.length()) {return false;}int length s.length();Map<Character, Character> s2…...
软考软件设计师考试情况与大纲概述
文章目录 **一、考试科目与形式****二、考试大纲与核心知识点****科目1:计算机与软件工程知识****科目2:软件设计** **三、备考建议****四、参考资料** 这是一个系列文章的开篇 本文对2025年软考软件设计师考试的大纲及核心内容进行了整理,并…...
24. git revert
基本概述 git revert 的作用是:撤销某次的提交。与 git reset 不同的是,git revert 不会修改提交历史,而是创建一个新的提交来反转之前的提交。 基本用法 1.基本语法 git revert <commit-hash>该命令会生成一个新的提交,…...
Redis—内存淘汰策略
记:全体LRU,ttl LRU,全体LFU,ttl LFU,全体随机,ttl随机,最快过期,不淘汰(八种) Redis 实现的是一种近似 LRU 算法,目的是为了更好的节约内存&…...
Java大厂面试:JUC锁机制的深度探讨 - 从synchronized到StampedLock
Java大厂面试:JUC锁机制的深度探讨 在一个风和日丽的下午,马飞机同学来到了一家互联网大厂参加Java开发岗位的面试。这次他面对的是严肃且专业的面试官李老师,而话题则围绕着Java并发编程中的重要组成部分——JUC(java.util.conc…...
NLP高频面试题(五十一)——LSTM详解
长短期记忆网络(LSTM)相较于传统循环神经网络(RNN)的核心改进在于通过引入记忆单元(cell state)和门机制(gating mechanism)来有效缓解梯度消失与梯度爆炸问题,从而更好地捕捉长距离依赖关系 。在其网络结构中,信息通过输入门(input gate)、遗忘门(forget gate)和…...
Power BI企业运营分析——数据大屏搭建思路
Power BI企业运营分析——数据大屏搭建思路 欢迎来到Powerbi小课堂,在竞争激烈的市场环境中,企业运营分析平台成为提升竞争力的核心工具。 整合多源数据,实时监控关键指标,精准分析业务,快速识别问题机遇。其可视化看…...
