Ubuntu系统完整配置教程

Ubuntu系统完整配置教程

目录

  1. 配置镜像源
  2. 安装网络服务
  3. 虚拟机中安装CUDA
  4. Python开发环境配置
  5. Java开发环境配置

1. 配置镜像源

1.1 备份原始源文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

1.2 编辑源文件

sudo nano /etc/apt/sources.list

1.3 各大镜像源配置

中科大镜像源(推荐)
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
华为镜像源
deb https://mirrors.huaweicloud.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.huaweicloud.com/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.huaweicloud.com/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.huaweicloud.com/ubuntu/ jammy-security main restricted universe multiverse
阿里云镜像源
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
山东大学镜像源
deb https://mirrors.sdu.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.sdu.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.sdu.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.sdu.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
清华大学镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

1.4 更新软件包列表

sudo apt update
sudo apt upgrade -y

2. 安装网络服务

2.1 安装SSH服务(包含SFTP和SCP)

# 安装OpenSSH服务器
sudo apt install openssh-server -y# 启动SSH服务
sudo systemctl start ssh# 设置开机自启
sudo systemctl enable ssh# 检查SSH服务状态
sudo systemctl status ssh# 配置SSH(可选)
sudo nano /etc/ssh/sshd_config

常用SSH配置选项:

Port 22                    # SSH端口
PermitRootLogin no         # 禁止root登录
PasswordAuthentication yes # 允许密码认证
PubkeyAuthentication yes   # 允许公钥认证

配置修改后重启SSH服务:

sudo systemctl restart ssh

2.2 测试SFTP和SCP

# SFTP连接测试
sftp username@localhost# SCP文件传输测试
scp test.txt username@localhost:/home/username/

2.3 安装Telnet服务

# 安装xinetd和telnetd
sudo apt install xinetd telnetd -y# 创建telnet配置文件
sudo nano /etc/xinetd.d/telnet

在文件中添加以下内容:

service telnet
{disable     = noflags       = REUSEsocket_type = streamwait        = nouser        = rootserver      = /usr/sbin/in.telnetdlog_on_failure += USERID
}

启动和配置服务:

# 重启xinetd服务
sudo systemctl restart xinetd
sudo systemctl enable xinetd# 检查服务状态
sudo systemctl status xinetd# 检查telnet端口
sudo netstat -tlnp | grep :23# 测试连接
telnet localhost

注意: Telnet不安全,建议仅在内网测试环境使用。


3. 虚拟机中安装CUDA

3.1 虚拟机GPU限制说明

VMware虚拟机限制:

  • VMware Workstation不支持GPU直通到虚拟机
  • 只有VMware vSphere/ESXi企业版支持GPU直通
  • 对于学习和开发,建议使用CPU版本
# 检查是否有NVIDIA GPU(虚拟机中通常为空)
lspci | grep -i nvidia# 如果没有输出,说明虚拟机中没有GPU

3.1.1 方案一:安装CPU版本(推荐用于虚拟机)

跳过CUDA安装,直接安装CPU版本的深度学习框架:

3.2 安装NVIDIA驱动

# 添加NVIDIA PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update# 检查可用驱动
ubuntu-drivers devices# 自动安装推荐驱动
sudo ubuntu-drivers autoinstall# 或手动安装特定版本
sudo apt install nvidia-driver-535

3.3 安装CUDA Toolkit

# 下载CUDA(以12.2为例)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update# 安装CUDA
sudo apt-get install cuda-12-2# 配置环境变量
echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc# 验证安装
nvcc --version
nvidia-smi

3.4 安装cuDNN

# 从NVIDIA官网下载cuDNN(需要注册账号)
# 下载后解压并安装
tar -xzvf cudnn-*.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

4. Python开发环境配置

4.1 安装Python和pip

# 安装Python 3.10(Ubuntu 22.04默认)
sudo apt install python3 python3-pip python3-dev -y# 升级pip
pip3 install --upgrade pip# 安装虚拟环境工具
sudo apt install python3-venv -y

4.2 创建Python虚拟环境

# 创建项目目录
mkdir ~/python_projects
cd ~/python_projects# 创建虚拟环境
python3 -m venv ml_env# 激活虚拟环境
source ml_env/bin/activate

4.3 安装TensorFlow

CPU版本(虚拟机推荐)
# 在虚拟环境中安装CPU版本
pip install tensorflow-cpu# 验证TensorFlow安装
python -c "import tensorflow as tf; print(tf.__version__)"
GPU版本(物理机)
# 需要先安装CUDA和cuDNN
pip install tensorflow[and-cuda]# 验证TensorFlow GPU支持
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

4.4 安装PyTorch

CPU版本(虚拟机推荐)
# 安装PyTorch CPU版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu# 验证PyTorch安装
python -c "import torch; print(torch.__version__)"
GPU版本(物理机)
# 安装PyTorch GPU版本(根据CUDA版本选择)
# CUDA 12.1
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121# 验证PyTorch GPU支持
python -c "import torch; print(torch.cuda.is_available())"

4.5 安装常用数据科学库

pip install numpy pandas matplotlib seaborn jupyter scikit-learn opencv-python

4.6 配置Jupyter Notebook

# 生成配置文件
jupyter notebook --generate-config# 设置密码
jupyter notebook password# 启动Jupyter
jupyter notebook --ip=0.0.0.0 --port=8888

5. Java开发环境配置

5.1 安装Java JDK

# 安装OpenJDK 17(LTS版本)
sudo apt install openjdk-17-jdk openjdk-17-doc openjdk-17-source -y# 验证安装
java -version
javac -version# 配置JAVA_HOME
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

5.2 安装Maven

# 安装Maven
sudo apt install maven -y# 验证安装
mvn -version# 配置Maven镜像(阿里云)
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << EOF
<settings><mirrors><mirror><id>aliyun</id><mirrorOf>central</mirrorOf><name>Aliyun Maven</name><url>https://maven.aliyun.com/repository/public</url></mirror></mirrors>
</settings>
EOF

5.3 安装Gradle

# 下载并安装Gradle
wget https://services.gradle.org/distributions/gradle-8.5-bin.zip
sudo unzip -d /opt/gradle gradle-8.5-bin.zip# 配置环境变量
echo 'export GRADLE_HOME=/opt/gradle/gradle-8.5' >> ~/.bashrc
echo 'export PATH=$GRADLE_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc# 验证安装
gradle -v

5.4 安装开发工具

IntelliJ IDEA(推荐)
# 添加JetBrains仓库
sudo snap install intellij-idea-community --classic# 或下载专业版
# wget https://download.jetbrains.com/idea/ideaIU-2023.3.2.tar.gz
# sudo tar -xzf ideaIU-*.tar.gz -C /opt/
# sudo ln -s /opt/idea-*/bin/idea.sh /usr/local/bin/idea
Visual Studio Code
# 安装VS Code
sudo snap install code --classic# 安装Java扩展包
code --install-extension vscjava.vscode-java-pack

5.5 安装数据库

MySQL
# 安装MySQL
sudo apt install mysql-server -y# 安全配置
sudo mysql_secure_installation# 启动服务
sudo systemctl start mysql
sudo systemctl enable mysql# 创建开发用户
sudo mysql
CREATE USER 'developer'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'developer'@'localhost';
FLUSH PRIVILEGES;
EXIT;
PostgreSQL
# 安装PostgreSQL
sudo apt install postgresql postgresql-contrib -y# 启动服务
sudo systemctl start postgresql
sudo systemctl enable postgresql# 创建开发用户
sudo -u postgres createuser --interactive

5.6 前端开发环境

Node.js和npm
# 安装Node.js 18.x
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install nodejs -y# 验证安装
node -v
npm -v# 安装yarn(可选)
npm install -g yarn# 安装常用工具
npm install -g @vue/cli create-react-app @angular/cli

5.7 容器化工具

Docker
# 安装Docker
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y# 添加用户到docker组
sudo usermod -aG docker $USER
newgrp docker# 验证安装
docker --version
docker run hello-world

常见问题解决

Q1: 虚拟机中CUDA安装失败

VMware虚拟机限制:

  • VMware Workstation不支持GPU直通
  • 建议使用CPU版本的TensorFlow和PyTorch
  • 如需GPU加速,考虑:
    • 使用WSL2(Windows)
    • 双系统安装
    • 使用云服务(Colab、AWS等)

性能优化建议:

# 增加虚拟机CPU核心数
# 分配更多内存(建议16GB+)
# 使用SSD存储
# 启用虚拟化加速

Q2: TensorFlow无法识别GPU

# 检查CUDA和cuDNN版本兼容性
# TensorFlow 2.15需要CUDA 12.2和cuDNN 8.9
python -c "import tensorflow as tf; print(tf.sysconfig.get_build_info())"

Q3: SSH连接被拒绝

# 检查防火墙
sudo ufw allow 22/tcp
sudo ufw reload# 检查SSH服务
sudo systemctl status ssh

Q4: Maven下载依赖慢

  • 确保已配置阿里云镜像
  • 检查~/.m2/settings.xml文件

性能优化建议

  1. 虚拟机配置

    • 分配至少8GB内存
    • 4个CPU核心
    • 50GB以上磁盘空间
    • 启用虚拟化技术(VT-x/AMD-V)
  2. 开发环境优化

    • 使用SSD存储
    • 配置swap分区
    • 定期清理缓存
  3. 网络优化

    • 使用最近的镜像源
    • 配置代理(如需要)

备份建议

定期备份以下内容:

  • /etc/apt/sources.list
  • ~/.bashrc
  • ~/.m2/settings.xml
  • Python虚拟环境
  • 项目代码
# 创建备份脚本
mkdir ~/backups
tar -czf ~/backups/config_backup_$(date +%Y%m%d).tar.gz ~/.bashrc ~/.m2 ~/python_projects

结语

本教程涵盖了Ubuntu系统从基础配置到开发环境搭建的完整流程。根据实际需求,您可以选择性地安装和配置相关组件。建议在虚拟机中先测试所有配置,确认无误后再在生产环境中部署。

如有问题,请查阅官方文档或社区支持。

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

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

相关文章

【mysql慢查询】

mysql慢查询慢查询慢查询日志配置慢查询 慢查询是指执行时间超过指定阈值的SQL语句。在MySQL中&#xff0c;默认情况下执行时间超过10秒的查询会被认为是慢查询&#xff0c;但这个阈值可以根据需要进行调整。 慢查询日志配置 -- 查看当前慢查询配置 SHOW VARIABLES LIKE slo…

django 按照外键排序

在Django中&#xff0c;使用外键&#xff08;ForeignKey&#xff09;进行排序是一种常见的需求&#xff0c;特别是在处理数据库关系时&#xff0c;如用户和订单之间的关系&#xff08;一个用户有多个订单&#xff09;。下面是如何在使用Django ORM时进行基于外键的排序。 定义模…

JAVA_EIGHTEEN_特殊文件

目录 Properties属性文件 XML的作用和应用场景 日志技术 Properties属性文件 约束&#xff1a;只能是键值对 键不能重复 文件后缀一般是.properties结尾的 是一个Map集合&#xff08;键值对集合&#xff09; 核心作用&#xff1a;Properties是用来代表属性文件的&#…

第二十二节 MATLAB转置向量、MATLAB追加向量

MATLAB中转置操作能够将一个行向量改变成一个列向量&#xff0c;反之亦然。MATLAB中转置操作使用一个单引号&#xff08;&#xff09;来表示。详细例子在MATLAB中建立一个脚本文件&#xff0c;输入下述代码&#xff1a;r [ 1 2 3 4 ]; tr r; v [1;2;3;4]; tv v; disp(tr); …

window显示驱动开发—Direct3D 11 视频设备驱动程序接口 (DDI)

这些设备驱动程序接口 (DDI) 是新的或针对Windows 8更新的&#xff1a;CalcPrivateCryptoSessionSizeCalcPrivateAuthenticatedChannelSizeCalcPrivateVideoDecoderOutputViewSizeCalcPrivateVideoDecoderSizeCalcPrivateVideoProcessorEnumSizeCalcPrivateVideoProcessorInput…

新手向:用AI破解数据质量难题

用AI破解数据质量难题&#xff1a;从零开始的完整指南数据质量的重要性及其影响数据质量是数据分析、机器学习和业务流程中不可忽视的核心问题。低质量数据会导致一系列严重后果&#xff1a;错误决策&#xff1a;基于不准确或缺失的数据可能导致管理层做出错误判断。例如&#…

用 Python 获取电脑电池电量的各种案例

更多内容请见: python3案例和总结-专栏介绍和目录 文章目录 方法一:使用 `psutil` 库(跨平台) 方法二:Windows 专用方法(使用 `win32api`) 方法三:macOS 专用方法 方法四:Linux 专用方法 方法五:跨平台统一方法 Python 程序案例:检测电池电量并在低于20%时关机 以下…

Linux->自定义shell

目录 引入&#xff1a; 1&#xff1a;shell是什么&#xff1f; 2&#xff1a;命令行提示符是什么&#xff1f; 3&#xff1a;xshell是什么&#xff1f; 一&#xff1a;命令行提示符 二&#xff1a; 获取用户输入 三&#xff1a;分割字符串 四&#xff1a;执行命令 五…

js中出现-8.881784197001252e-16这种(一个极其接近 0 的极小负数)的浮点数精度计数异常问题解决思路

你的代码中出现 -8.881784197001252e-16&#xff08;一个极其接近 0 的极小负数&#xff09;的原因是 JavaScript 浮点数精度问题。具体来说&#xff0c;当你反复进行 加法 和 减法 时&#xff0c;由于浮点数在计算机中的存储方式&#xff0c;可能会引入微小的误差。一、问题情…

超详细的 RustDesk 自建中继节点教程

厌倦了商业远程控制软件的会员限制和功能阉割&#xff1f;渴望拥有一个自由掌控、安全可靠的远程连接方案&#xff1f;开源软件 RustDesk 正是你需要的答案&#xff01; 相信从事互联网工作的你&#xff0c;一定对向日葵和ToDesk等商业远程控制软件并不陌生。然而&#xff0c;…

Spring Boot 2整合Druid的两种方式

一、自定义整合Druid&#xff08;非Starter方式&#xff09;适用于需要完全手动控制配置的场景添加依赖&#xff08;pom.xml&#xff09;<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</ve…

鸿蒙Next-开发版本升级,API升级(例如API12升API16)

鸿蒙更新换代很快的&#xff0c;2025年1月&#xff0c;截至4月就有 DevEco Studio 5.0.2 Release 升级到 DevEco Studio 5.0.3 Release 升级到 DevEco Studio 5.0.4 Release&#xff0c;三次大版本更新。 作者也想在年前创建的项目中体验一下新版本的特性&#xff0c;于是查看了…

树莓派设置时区

查看当前时间 piraspberrypi-CM5:~ $ date Mon 28 Jul 09:22:38 BST 2025BST 指的是 British Summer Time&#xff0c;即英国夏令时&#xff08;UTC1&#xff09;。 所以这是英国&#xff08;伦敦等地&#xff09;在夏令时期间的本地时间&#xff0c;比标准的 UTC 时间快 1 小时…

C Primer Plus 第6版 编程练习——第13章(下)

8.编写一个程序&#xff0c;以一个字符和任意文件名作为命令行参数。如果字符后面没有参数&#xff0c;该程序读取标 淮输入;否则&#xff0c;程序依次打开每个文件并报告每个文件中该字符出现的次数。文件名和字符本身也要一同报告。程序应包含错误检查&#xff0c;以确定参数…

王树森推荐系统公开课

github&#xff1a;https://github.com/wangshusen/RecommenderSystem b站&#xff1a;推荐系统公开课——8小时完整版&#xff0c;讲解工业界真实的推荐系统_哔哩哔哩_bilibili 知乎上一个比较全面的笔记&#xff1a;https://zhuanlan.zhihu.com/p/678664853 我的笔记&…

<RT1176系列11>DMAMUX解读

1、概述DMA&#xff08;直接内存访问&#xff0c;DIrect Memory Access&#xff09;工作原理&#xff1a;DMA控制器直接在内存和外设之间传输数据&#xff0c;而不需要CPU的干预。优点&#xff1a;极大地提高了数据传输效率&#xff0c;释放CPU资源。适合大批量数据传输&#x…

【MySQL】MySQL 缓存方案

一、MySQL主从同步 1.1 主从同步是什么 MySQL 主从同步是一种数据复制机制&#xff0c;通过该机制可以实现将主数据库&#xff08;Master&#xff09;的 DDL&#xff08;数据定义语言&#xff09;和 DML&#xff08;数据操纵语言&#xff0c;如 update、insert、delete&#x…

base64.b64encode(f.read()).decode(‘utf-8‘)作用

base64.b64encode(f.read()).decode(utf-8) 的作用是将文件内容&#xff08;通常是二进制文件&#xff09;编码为一个 UTF-8 格式的字符串。下面逐步解释这个过程&#xff1a;f.read()&#xff1a;读取文件 f 中的内容。这将返回文件的二进制数据。base64.b64encode()&#xff…

集合框架学习

目录 集合体系结构 Collection的常用方法 Collection的遍历方式 迭代器 增强for Lambda表达式 集合框架概述 集合体系结构 单列集合 Collection代表单列集合,每个元素(数据)只包含一个值 双列集合 Map代表双列集合,每个元素包含两个值(键值对) Collection集合特点 Li…

经典算法题解析:从思路到实现,掌握核心编程思维

算法是编程的灵魂&#xff0c;也是面试中的重点考察内容。本文精选了几道经典算法题&#xff0c;涵盖字符串处理、链表操作、树遍历等常见场景&#xff0c;通过详细解析帮助你理解算法设计思路与实现细节&#xff0c;提升解题能力。一、无重复字符的最长子串题目描述给定一个字…