Ubuntu20.04离线安装全教程(包括DellR940重置Raid 5、安装Ubuntu、设置root、安装nvidia英伟达显卡驱动及设置防火墙白名单)
本文记录重装Ubuntu20.04的所有记录,从服务器磁盘阵列重新排列、Ubuntu 20.04系统安装、配置root权限、安装Nvidia显卡驱动以及设置防火墙白名单的全部操作。
每一部分参考的博客的出处会放置于段落末尾,表示感谢!
一、重置服务器磁盘阵列,制作RAID 5
首先,RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID 0相近似的数据读取速度,并且多了一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是运用较多的方案之一。
如是全新的服务器或者空置的服务器(磁盘中未有先前数据),可忽略该步骤!
1.开机界面长按 F2 进入BIOS配置界面,点击Device Settings;
2.选择第一个阵列卡项(例如RAID 5)按回车;
3.点击Coufiguration Management 管理配置;
点击 View Disk Group Properties 查看当前disk配置
点击 Clear Configuration 清除RAID配置
点击confirm,确认清除默认RAID设置,但磁盘内的数据未清空。
4.格式化disk, 清除写在DISK的数据;
选择磁盘,点击Clear清除磁盘数据,时间可能较长。
到达100%时代表清理完成。
5.点击Create Vitrual Disk创建一个虚拟磁盘,重新构建RAID 5;
选择磁盘时,建议HDD和SSD分别组阵列,合在一个RAID中会影响磁盘性能。
6.创建成功后,请等待磁盘初始化,查看物理信息都为online状态时,可安装系统;
重装服务器磁盘阵列并配置RAID的阶段到此告一段落!
该部分参考:https://blog.csdn.net/weixin_44707364/article/details/141678556
二、重新安装Ubuntu20.04系统
大体流程:DELL服务器开机按F2,选择Boot设置,选择U盘或DVD启动,安装Ubuntu20.04镜像
关键步骤1:选择启动项
关键步骤2:是否清空磁盘或者覆盖前序安装版本
建议选择清空磁盘并安装最新的Ubuntu 20.04
三、设置Ubuntu系统的root权限
# 设置root密码
$ sudo passwd root# 切换至root权限
$ su -
四、vi编辑模式出错,修改编辑模式
离线环境vim未安装,先用vi替代方案,但vi会出现编辑出错的情况。
# 编辑文件/etc/vim/vimrc.tiny,将“compatible”改成“nocompatible”非兼容模式,设置回车“删除”
$ vi /etc/vim/vimrc.tiny# 修改以下内容:
...
set nocompatible
set backspace=2
...
五、配置ssh
一共安装三个ssh相关组件:
openssh-client、openssh-server、openssh-sftp-server
安装包链接:http://archive.ubuntu.com/ubuntu/pool/main/o/openssh/
本文下载版本:
openssh-client_8.2p1-4_amd64.deb
openssh-server_8.2p1-4_amd64.deb
openssh-sftp-server_8.2p1-4_amd64.deb
1.安装命令:
$ dpkg -i *.deb
2.修改配置
# 修改其中内容
$ vim /etc/ssh/sshd_config...
#PermitRootLogin prohibit-password
# 允许root直接登录
PermitRootLogin yes
...
#PermitEmptyPasswords no
# 因为设置了root密码,所以需要修改为no
PermitEmptyPasswords no
...
3.重启ssh服务
# 重启服务
$ systemctl restart ssh
至此,配置完成!
该部分参考博客链接如下:
https://www.cnblogs.com/ddzzhh/p/18067421
https://blog.csdn.net/yzy1103203312/article/details/78646679
六、配置UFW设置防火墙白名单
根据管理和安全考虑,采用Ubuntu自带的UFW防火墙保证服务器的安全性。
**重要提醒,如ssh远程访问机器,请提前将ssh端口和远程访问机器的IP纳入白名单,否则开启防火墙后将连接不上服务器或主机!!
# 检查防火墙状态
$ sudo ufw status verbose# 开启ssh端口
$ sudo ufw allow ssh# 开启特定端口及IP
$ sudo ufw allow 7722/tcp
$ sudo ufw allow http
$ sudo ufw allow from *.*.*.*
$ sudo ufw allow 7100:7200# 禁止所有连接
$ sudo ufw deny from 23.24.25.0/24# 删除规则
# 方法1:
# 先查看规则号
$ sudo ufw status numbered
# 删除对应规则号
$ sudo ufw delete 3
# 方法2:
# 或者直接删除对应规则
$ sudo ufw delete allow 8069# 重置防火墙,会默认禁用防火墙,并删除所有规则
$ sudo ufw reset
设置完成后,重启防火墙:
# 开启防火墙
$ sudo ufw enable
至此,完成!
本部分参考博客:
https://zhuanlan.zhihu.com/p/139381645
七、离线配置安装NVIDIA显卡驱动
1.关闭集成显卡驱动
# 编辑blacklist-oss.conf
$ vi /etc/modprobe.d/blacklist-oss.conf# 在文件末尾插入以下内容,将nouveau加入黑名单,默认不开启
...
blacklist nouveau
options nouveau modeset=0
...# 使禁用生效然后重启
$ sudo update-initramfs -u
$ sudo reboot# 重启后验证是否禁用nouveau,没有内容输出则证明禁用成功
$ lsmod | grep nouveau # 默认无输出
2.完全卸载默认的显卡驱动
# 查看当前安装的软件,只能查看apt install方式安装的nvidia软件,无法查看.run文件安装的nvidia驱动
$ sudo dpkg --list | grep nvidia-*
$ sudo apt list --installed | grep nvidia# 卸载nvidia相关软件及配置,卸载完成后使用第一个
$ sudo apt-get --purge remove nvidia*
$ sudo apt --purge autoremove# 重启电脑
$ reboot# 查看当前的nvidia驱动
$ ls /usr/src | grep nvidia
3.安装适配环境
全套安装deb文件放网盘了,附在本章节最后!
3.1安装make、gcc、g++等
# 安装命令及脚本
$ dpkg -i *.deb
安装gcc9.3.0踩坑:
参考教程及链接:https://blog.csdn.net/gitblog_09755/article/details/141970511
gcc9.3.0全套下载链接:https://gitcode.com/open-source-toolkit/d8877/overview?utm_source=tools_gitcode&index=bottom&type=card&
**注意:按上述安装教程会显示安装报错,但实际可正常安装gcc。
3.2建立gcc软连接
直接安装NVIDIA的.run文件还是会报错,报错如下:
ERROR: Unable to find the development tool cc in your path; please make sure that
解决方案:
# 1.查看gcc有没有正常安装,若没有请回退至步骤1.
$ gcc --version# 2.若已跳出gcc的版本号
# 运行以下命令,查看cc的路径,例如:/usr/bin/cc
$ which cc
# 然后将/usr/bin/cc软链接至/usr/bin/gcc
$ sudo ln -s /usr/bin/gcc /usr/bin/cc
3.3安装NVIDIA-Linux-x86_64-535.183.01.run
根据自己的NVIDIA显卡型号来决定安装哪个版本的驱动,题主为NVIDIA V100 32G
# 赋予可读可写权限
$ chmod 777 NVIDIA-Linux-x86_64-535.183.01.run# 执行安装
$ ./NVIDIA-Linux-x86_64-535.183.01.run# 查看NVIDIA-smi是否正常,如正常输出则安装成功,一般情况下需要重启一次
$ nvidia-smi
至此,成功安装!
本章节的参考博客如下:
https://blog.csdn.net/ytusdc/article/details/132403852
https://blog.csdn.net/gitblog_09755/article/details/141970511
https://cloud.tencent.com/developer/article/2360789
八、安装anaconda
命令如下:
$ bash Anaconda3-2024.10-1-Linux-x86_64.sh
九、本文所提及的所有文件
网盘链接:
通过网盘分享的文件:Ubuntu20.04重装系统(内网)
链接: https://pan.baidu.com/s/1uonPjjVoA4edOI3f5O8LgQ?pwd=hxwi 提取码: hxwi
本文至此,已经全部结束,感谢以上参考博客,祝您安装成功!
相关文章:
Ubuntu20.04离线安装全教程(包括DellR940重置Raid 5、安装Ubuntu、设置root、安装nvidia英伟达显卡驱动及设置防火墙白名单)
本文记录重装Ubuntu20.04的所有记录,从服务器磁盘阵列重新排列、Ubuntu 20.04系统安装、配置root权限、安装Nvidia显卡驱动以及设置防火墙白名单的全部操作。 每一部分参考的博客的出处会放置于段落末尾,表示感谢! 一、重置服务器磁盘阵列&…...
Spring Boot 3 集成 Spring Security(2)授权
文章目录 授权配置 SecurityFilterChain基于注解的授权控制自定义权限决策 在《Spring Boot 3 集成 Spring Security(1)》中,我们简单实现了 Spring Security 的认证功能,通过实现用户身份验证来确保系统的安全性。Spring Securit…...
【开篇】.NET开源 ORM 框架 SqlSugar 系列
01. 前言 ☘️ 1.1 什么是ORM? 对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对…...
参加面试被问到的面试题
1.在程序中如何开启事务? 在Java中,使用JDBC(Java Database Connectivity)与数据库交互时,你可以使用Connection对象的setAutoCommit方法来控制事务。默认情况下,autoCommit是开启的,这意味着每…...
第29天:安全开发-JS应用DOM树加密编码库断点调试逆向分析元素属性操作
时间轴: 演示案例: JS 原生开发-DOM 树-用户交互 DOM:文档操作对象 浏览器提供的一套专门用来操作网页代码内容的功能,实现自主或用户交互动作反馈 安全问题:本身的前端代码通过 DOM 技术实现代码的更新修改ÿ…...
react 的路由功能
1. 安装依赖 pnpm add react-router-dom 2. 基本的路由设置(BrowserRouter) 在 main.tsx 入口文件中使用BrowserRouter组件来包裹整个应用。它会监听浏览器的 URL 变化。 import { StrictMode } from "react";import { createRoot } from …...
SurfaceFlinger学习之一:概览
SurfaceFlinger 是 Android 系统中负责合成和显示屏幕内容的关键系统服务,它运行在一个专用的进程中 (system/bin/surfaceflinger)。它的主要职责是将不同应用程序的绘制内容(即窗口或表面)组合起来,通过硬件抽象层(HA…...
Qt关于窗口一直调用paintEvent的踩坑实录
首先看以下代码: void ItemBlockWidget::paintEvent(QPaintEvent *ev) {// 先调用父类的 paintEvent 以执行默认绘制行为QWidget::paintEvent(ev);qDebug()<<"ItemBlockWidget重绘";QStyleOption opt;opt.initFrom(this);QPainter p(this);style()…...
C++11: STL之bind
C11: STL之bind 引言可调用对象的绑定绑定普通函数绑定静态函数绑定类成员函数绑定仿函数绑定Lambda 占位符std::placeholders的应用嵌套绑定参数重排序结合 STL 算法占位符传递到嵌套函数混合占位符与默认值复杂占位符组合 std::bind的原理std::bind 的设计思路简化实现示例 B…...
在线音乐播放器 —— 测试报告
自动化脚本源代码:Java: 利用Java解题与实现部分功能及小项目的代码集合 - Gitee.com 目录 前言 一、项目简介 1.项目背景 2.应用技术 (1)后端开发 (2)前端开发 (3)数据库 二、项目功能…...
等保测评讲解:安全管理中心
在数字化转型的背景下,网络安全的重要性愈发凸显,而作为中国边疆大省的黑龙江,其网络安全建设更是不可忽视。等保测评,即信息安全等级保护测评,是确保信息系统安全的关键环节。本文将详细讲解黑龙江等保测评中的安全管…...
vue3表单输入相关修饰符使用
在 Vue 3 中,.lazy、.number 和 .trim 是用于 v-model 指令的修饰符,它们可以帮助你在双向绑定时进行特定的处理。 1. .lazy 修饰符 .lazy 修饰符表示只在 input 事件之后触发更新,即输入框的内容发生变化后,只有在用户**失去焦…...
CSS笔记(二)类名复用
这里我通过两张不同位置的卡片来实现效果 代码 <!DOCTYPE html> <html><head><style>/*设置画布*/body{/* 方便排列与对齐*/display: flex; /*画布布满整个窗口*/height: 100vh;/*水平居中*/justify-content: center;/*垂直居中*/align-items: cente…...
TCP三次握手与四次挥手(TCP重传机制,2MSL)超详细!!!计算机网络
本篇是关于3次握手和四次挥手的详细解释~ 如果对你有帮助,请点个免费的赞吧,谢谢汪。(点个关注也可以!) 如果以下内容需要补充和修改,请大家在评论区多多交流~。 目录 1. TCP头部: 2. 三次握手…...
LCR 006. 两数之和 II - 输入有序数组
一.题目: LCR 006. 两数之和 II - 输入有序数组 - 力扣(LeetCode) 二.我的原始解法-暴力解法超时: class Solution: def twoSum(self, numbers: List[int], target: int) -> List[int]: # 暴力解法 result [] for i in rang…...
网络安全在现代企业中的重要作用
网络安全是这个数字时代最令人担忧的事情之一。对技术的依赖性越来越强,使其同时面临多种网络威胁。其声誉和法律后果的大幅下降可能归因于一次妥协。 这使得良好的网络安全成为所有企业的选择和必需品。本文介绍了网络安全的重要性、企业中常见的网络威胁以及公司…...
关于 EKS Bottlerocket AMI 版本与 Karpenter 配置的说明
问题1: Bottlerocket AMI 版本问题 之前,后端团队发现在使用 Bottlerocket v1.26.2 AMI 版本时,存在某些问题。经过 Bottlerocket 团队调查,此行为是罕见的 race condition 导致的结果。 我们在环境中重现了此状况,并且关注到由于 kubelet device manager 的启动时间晚于 NVI…...
Python实现人生重开模拟器
目录 人生重开模拟器介绍 代码实现 打印初始界面 设置初始属性 设置角色性别 设置角色出生点 针对每一岁,生成人生经历 完整代码 人生重开模拟器介绍 人生重开模拟器 是之前比较火的一个小游戏,我们这里使用 Python 实现一个简化版的 人生重开模…...
java——Spring Boot的配置加载顺序和优先级
Spring Boot的配置加载顺序和优先级是确定应用程序如何读取和应用配置的关键。以下是对Spring Boot配置加载顺序和优先级的详细解释: 一、配置加载顺序 命令行参数: Spring Boot会首先加载命令行中指定的参数。这些参数可以通过在命令行中使用--keyval…...
【21-30期】Java技术深度剖析:从分库分表到微服务的核心问题解析
🚀 作者 :“码上有前” 🚀 文章简介 :Java 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 文章题目:Java技术深度剖析:从分库分表到微服务的核心问题解析 摘要: 本…...
CSS:怎么把网站都变成灰色
当大家看到全站的内容都变成了灰色,包括按钮、图片等等。这时候我们可能会好奇这是怎么做到的呢? 有人会以为所有的内容都统一换了一个 CSS 样式,图片也全换成灰色的了,按钮等样式也统一换成了灰色样式。但你想想这个成本也太高了…...
开发一个基于MACOS M1/2芯片的Android 12的模拟器
产品需求:MuMu模拟器Pro_率先适配Apple M系列芯片的安卓模拟器 苹果M芯片专属:产品专为苹果M系列芯片设计,意味着它需要能够充分利用M系列芯片的性能优势。 安卓模拟器:产品是一个安卓模拟器,允许用户在Mac设备上运行…...
Flink 中 JDBC Connector 使用详解
1. 背景 在实时计算或离线任务中,往往需要与关系型数据库交互,例如 MySQL、PostgreSQL 等。Apache Flink 提供了 JDBC Connector,可以方便地将流式数据写入或读取数据库。 本文将介绍 Flink JDBC Connector 的基础用法、配置方法以及注意事…...
【Linux打怪升级记 | 报错02】-bash: 警告:setlocale: LC_TIME: 无法改变区域选项 (zh_CN.UTF-8)
🗺️博客地图 📍1、报错发现 📍2、原因分析 📍3、解决办法 📍4、测试结果 1、报错发现 装好了CentOS操作系统,使用ssh远程登陆CentOS,出现如下告警信息: bash: 警告:setlocale…...
未来已来?AI技术革新改变我们的生活
在21世纪的今天,人工智能(AI)不再是一个遥远的概念,而是逐渐渗透到我们生活的方方面面。从智能家居到自动驾驶汽车,从个性化推荐系统到医疗诊断辅助,AI技术正在以惊人的速度发展,并深刻地影响着…...
【Linux】进程的生命之旅——诞生、消逝与守候(fork/exit/wait)
🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 一念既出,万山无阻 目录 📖一、进程创建 1.fork函数 📚高层封装特性 📚fork返回值 2.写时拷…...
使用vcpkg自动链接tinyxml2时莫名链接其他库(例如boost)
使用vcpkg自动链接tinyxml2时莫名链接其他库(例如boost) vcpkg的自动链接功能非常方便,但在某些情况下会出现过度链接的问题。 链接错误症状 以tinyxml2为例,程序中调用tinyxml2的函数后,若vcpkg中同时存在opencv和…...
【去毛刺】OpenCV图像处理基础:腐蚀与膨胀操作入门
在数字图像处理中,形态学操作是一种常用的技术,用于提取图像中的特定形状或特征。其中,腐蚀(Erosion)和膨胀(Dilation)是两种基本的形态学运算。本文将通过一个简单的例子来演示如何使用Python中…...
道可云人工智能元宇宙每日资讯|第三届京西地区发展论坛成功召开
道可云元宇宙每日简报(2024年11月27日)讯,今日元宇宙新鲜事有: 工信部等十二部门印发《5G规模化应用“扬帆”行动升级方案》 11月25日,工业和信息化部等十二部门印发《5G规模化应用“扬帆”行动升级方案》。《方案》…...
若依框架部署在网站一个子目录下(/admin)问题(
部署在子目录下首先修改vue.config.js文件: 问题一:登陆之后跳转到了404页面问题,解决办法如下: src/router/index.js 把404页面直接变成了首页(大佬有啥优雅的解决办法求告知) 问题二:退出登录…...
静态页面加wordpress/史上最强大的搜索神器
在高频交易的世界中,自动化应用程序每天处理数亿个市场信号,并在全球各个交易所发送成千上万的订单。为了保持业务竞争力,响应时间必须始终保持在微秒级,尤其是在黑天鹅异常事件等高峰期。在典型的体系结构中,金融交易…...
网站链接如何做二维码/网络营销推广方式包括哪几种
1.进入IDT Audio控制面板 2、设置如下,取消基本电源管理和高级电源管理前面的选项 3,拔下耳机重新插入就可以了转载于:https://blog.51cto.com/heisebeileimao/880264...
wordpress 链接修改插件/seo快速优化排名
根据之前的大学生痛点分析,我们组决定开发一个 个人用日程管理APP 用来更加合理,高效的管理自己的生活。 主要功能分析 添加新日程到数据库。修改日程。删除日程,选中要删除的日程,然后点击删除按钮即可。按日期查找日程。查看日程…...
加强人社局网站建设/网络营销推广方案设计
前言 代码搬自博客:https://www.jianshu.com/p/c22861ec5f21 使用 安装起步:npm i -S vuex-persistedstate作为组件引入 import persistedState from vuex-persistedstate export default new Vuex.Store({// ...plugins: [persistedState()] })3.自定义…...
wordpress 使用smtp/seo网站优化流程
adt, andriod-ndk-r8e, andriod-sdk-2.2, andriod-sdk-2.3, andriod-sdk-latest 编译环境从网上找,ndk推荐使用 ndk-r8e, r9d相当2dx-2.1.4不好用,有各种问题 然后需要在mac的根目录下添加配置 .bash_profile 输入export COCOS2DX_ROOT/opt/cocos2d-2.…...
郑州做网站销售怎么样/seo建站教程
1.团队课程设计博客链接2.个人负责模板随即密码生成器算法3.自己的代码提交记录截图4.自己负责模块或任务详细说明负责随机密码算法设计实现通过不同种类选择下生成密码,将这个过程代码化并最后能得以实现。关键代码:import java.util.Random;public cla…...