高性能服务器配置经验指南1——刚配置好服务器应该做哪些事

news2025/4/23 17:21:28

文章目录

    • 安装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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2340932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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. 在每…

19Linux自带按键驱动程序的使用_csdn

1、自带按键驱动程序源码简析 2、自带按键驱动程序的使用 设备节点信息&#xff1a; gpio-keys {compatible "gpio-keys";pinctrl-names "default";pinctrl-0 <&key_pins_a>;autorepeat;key0 {label "GPIO Key L";linux,code &l…

用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置

原文链接&#xff1a;用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在银河麒麟操作系统的 LiveCD 或系统试用镜像环境下&#xff0c;如何查看原系统中电脑的 IP 地址与网络打印机 IP 地址的实用教程。在系统损坏…

.net core 项目快速接入Coze智能体-开箱即用-第2节

目录 一、Coze智能体的核心价值 二、开箱即用-效果如下 三 流程与交互设计 本节内容调用自有或第三方的服务 实现语音转文字 四&#xff1a;代码实现----自行实现 STT 【语音转文字】 五&#xff1a;代码实现--调用字节API实现语音转文字 .net core 项目快速接入Coze智能…

win10中打开python的交互模式

不是输入python3&#xff0c;输入python&#xff0c;不知道和安装python版本有没有关系。做个简单记录&#xff0c;不想记笔记了

时序逻辑电路——序列检测器

文章目录 一、序列检测二、牛客真题1. 输入序列连续的序列检测&#xff08;输入连续、重叠、不含无关项、串行输入&#xff09;写法一&#xff1a;移位寄存器写法二&#xff1a;Moore状态机写法三&#xff1a;Mealy状态机 一、序列检测 序列检测器指的就是将一个指定的序列&…

TikTok X-Gnarly纯算分享

TK核心签名校验&#xff1a;X-Bougs 比较简单 X-Gnarly已经替代了_signature参数&#xff08;不好校验数据&#xff09; 主要围绕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…

【深度学习】#8 循环神经网络

主要参考学习资料&#xff1a; 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李牧学AI 为了进一步提高长线学习的效率&#xff0c;该系列从本章开始将舍弃原始教材的代码部分&#xff0c;专注于理论和思维的提炼&#xff0c;系列名也改为“深度学习…

Linux学习——UDP

编程的整体框架 bind&#xff1a;绑定服务器&#xff1a;TCP地址和端口号 receivefrom()&#xff1a;阻塞等待客户端数据 sendto():指定服务器的IP地址和端口号&#xff0c;要发送的数据 无连接尽力传输&#xff0c;UDP:是不可靠传输 实时的音视频传输&#x…

leetcode205.同构字符串

两个哈希表存储字符的映射关系&#xff0c;如果前面字符的映射关系和后面的不一样则返回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&#xff1a;计算机与软件工程知识****科目2&#xff1a;软件设计** **三、备考建议****四、参考资料** 这是一个系列文章的开篇 本文对2025年软考软件设计师考试的大纲及核心内容进行了整理&#xff0c;并…

Redis—内存淘汰策略

记&#xff1a;全体LRU&#xff0c;ttl LRU&#xff0c;全体LFU&#xff0c;ttl LFU&#xff0c;全体随机&#xff0c;ttl随机&#xff0c;最快过期&#xff0c;不淘汰&#xff08;八种&#xff09; Redis 实现的是一种近似 LRU 算法&#xff0c;目的是为了更好的节约内存&…

Power BI企业运营分析——数据大屏搭建思路

Power BI企业运营分析——数据大屏搭建思路 欢迎来到Powerbi小课堂&#xff0c;在竞争激烈的市场环境中&#xff0c;企业运营分析平台成为提升竞争力的核心工具。 整合多源数据&#xff0c;实时监控关键指标&#xff0c;精准分析业务&#xff0c;快速识别问题机遇。其可视化看…

oracle将表字段逗号分隔的值进行拆分,并替换值

需求背景&#xff1a;需要源数据变动&#xff0c;需要对历史表已存的字段值根据源数据进行更新。如果是单字段存值&#xff0c;直接根据映射表关联修改即可。但字段里面若存的值是以逗号分割&#xff0c;比如旧值&#xff1a;‘old1,old2,old3’&#xff0c;要根据映射关系调整…

【重走C++学习之路】16、AVL树

目录 一、概念 二、AVL树的模拟实现 2.1 AVL树节点定义 2.2 AVL树的基本结构 2.3 AVL树的插入 1. 插入步骤 2. 调节平衡因子 3. 旋转处理 4. 开始插入 2.4 AVL树的查找 2.5 AVL树的删除 1. 删除步骤 2. 调节平衡因子 3. 旋转处理 4. 开始删除 结语 一、概念 …

597页PPT丨流程合集:流程梳理方法、流程现状分析,流程管理规范及应用,流程绩效的管理,流程实施与优化,流程责任人的角色认知等

流程梳理是通过系统化分析优化业务流程的管理方法&#xff0c;其核心包含四大步骤&#xff1a;①目标确认&#xff0c;明确业务痛点和改进方向&#xff1b;②现状分析&#xff0c;通过流程图、价值流图还原现有流程全貌&#xff0c;识别冗余环节和瓶颈节点&#xff1b;③优化设…