Ubuntu 24.04 开发环境配置:从零到 Docker + Python/Java 多语言环境
Ubuntu 24.04 开发环境配置从零到 Docker Python/Java 多语言环境1. 系统准备与基础配置Ubuntu 24.04 LTS 作为最新的长期支持版本为开发者提供了稳定且现代化的基础环境。在开始配置之前我们需要确保系统处于最新状态sudo apt update sudo apt upgrade -y基础开发工具链安装sudo apt install -y build-essential git curl wget unzip1.1 网络与镜像源优化针对国内用户建议更换为国内镜像源以加速软件下载sudo sed -i s|http://.*archive.ubuntu.com|https://mirrors.aliyun.com|g /etc/apt/sources.list常用开发工具对比表工具名称作用描述安装命令net-tools网络诊断工具sudo apt install net-toolshtop进程监控工具sudo apt install htoptree目录树状显示sudo apt install treejqJSON处理工具sudo apt install jq2. Python 开发环境配置2.1 多版本Python管理推荐使用pyenv进行Python版本管理curl https://pyenv.run | bash将以下内容添加到~/.bashrcexport PATH$HOME/.pyenv/bin:$PATH eval $(pyenv init --path) eval $(pyenv virtualenv-init -)常用Python版本安装示例pyenv install 3.11.6 pyenv global 3.11.62.2 虚拟环境与包管理创建项目专用虚拟环境python -m venv ~/.venv/project1 source ~/.venv/project1/bin/activate优化pip配置pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ pip install --upgrade pip setuptools wheel3. Java 开发环境搭建3.1 JDK多版本管理使用sdkman管理JDK版本curl -s https://get.sdkman.io | bash source $HOME/.sdkman/bin/sdkman-init.sh常用JDK安装命令sdk install java 17.0.8-tem sdk install java 11.0.20-amzn3.2 构建工具配置Maven安装与配置sdk install maven配置阿里云镜像!-- ~/.m2/settings.xml -- mirror idaliyunmaven/id mirrorOf*/mirrorOf name阿里云公共仓库/name urlhttps://maven.aliyun.com/repository/public/url /mirror4. Docker 容器化开发环境4.1 Docker引擎安装官方推荐的一键安装方式curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER验证安装docker run hello-world4.2 开发容器配置示例Python开发容器DockerfileFROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt --no-cache-dir \ rm -rf /tmp/* CMD [python]Java开发容器DockerfileFROM eclipse-temurin:17-jdk-jammy WORKDIR /app COPY mvnw pom.xml ./ RUN ./mvnw dependency:go-offline COPY src ./src CMD [./mvnw, spring-boot:run]4.3 容器编排实践使用docker-compose.yml管理多服务version: 3.8 services: web: build: . ports: - 8000:8000 volumes: - .:/code depends_on: - redis redis: image: redis:alpine5. 开发工具链集成5.1 IDE配置建议VS Code远程开发配置安装Remote Development扩展包通过SSH连接到开发环境安装Python、Java等语言扩展IntelliJ IDEA Docker集成安装Docker插件配置Docker连接使用Docker作为运行环境5.2 终端增强配置推荐使用zshoh-my-zsh组合sudo apt install -y zsh sh -c $(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)实用插件列表git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting6. 环境备份与恢复6.1 配置导出脚本创建环境备份脚本backup_env.sh#!/bin/bash # 导出已安装软件列表 apt-mark showmanual installed_packages.txt # 备份关键配置文件 tar czf config_backup.tar.gz \ ~/.ssh \ ~/.bashrc \ ~/.zshrc \ ~/.gitconfig \ ~/.pip/pip.conf \ ~/.m2/settings.xml6.2 快速恢复脚本创建恢复脚本restore_env.sh#!/bin/bash # 恢复软件包 xargs -a installed_packages.txt sudo apt install -y # 解压配置文件 tar xzf config_backup.tar.gz -C ~/7. 性能优化与问题排查7.1 系统资源监控使用内置工具监控资源# 实时监控CPU/内存 top # 磁盘空间检查 df -h # 网络连接检查 ss -tulnp7.2 常见问题解决方案Docker权限问题sudo chmod 666 /var/run/docker.sockPython虚拟环境激活失败# 确保使用正确的激活脚本 source venv/bin/activate # bash/zsh . venv/bin/activate.fish # fish shell

相关新闻

AI 短剧小白入门指南|依托自媒体指南一站式工具,吃透AI工具产片完整生产流

AI 短剧小白入门指南|依托自媒体指南一站式工具,吃透AI工具产片完整生产流

刷到网上精致的 AI 短片 demo,直接一句提示词一键生成剧情视频,最后人物五官乱变、场景跑偏、动作逻辑全错,积分花了一大堆,素材却一段都剪不进成片。之前各种 AI 绘图、写脚本、视频工具网址存满收藏夹,来回切换登录特…

2026/7/8 21:49:22阅读更多 →
告别绿幕时代:OBS背景移除插件打造专业直播体验

告别绿幕时代:OBS背景移除插件打造专业直播体验

告别绿幕时代:OBS背景移除插件打造专业直播体验 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https://gitcod…

2026/7/8 21:49:22阅读更多 →
Linux 6.x 内核进程切换剖析:从时钟中断到上下文切换的 3 个关键步骤

Linux 6.x 内核进程切换剖析:从时钟中断到上下文切换的 3 个关键步骤

Linux 6.x 内核进程切换剖析:从时钟中断到上下文切换的 3 个关键步骤当我们在终端同时运行多个程序时,Linux内核如何确保每个任务都能公平获得CPU资源?这一切的核心机制就藏在进程切换的精密设计中。本文将深入Linux 6.x内核源码,…

2026/7/8 21:49:22阅读更多 →
从“自己搬砖”到“指挥别人搬砖”:DUSHMEM库如何让多卡通信更简单

从“自己搬砖”到“指挥别人搬砖”:DUSHMEM库如何让多卡通信更简单

如果你写过GPU程序,一定遇到过这样的场景:你手上有8块DCU,每块卡上都跑着一个进程(PE,Processing Element),你想让0号卡上的数据能被1号卡直接读取——怎么做? 最直接的办法是&#…

2026/7/9 1:14:42阅读更多 →
MoE 推理部署实战:同样的 6GB 显存,你选速度还是能力?

MoE 推理部署实战:同样的 6GB 显存,你选速度还是能力?

副标题: 三个模型、两组对比、一个三元 trade-off——MoE 在 6GB 家用卡上的真实表现 一、引子:纸上得来终觉浅 上一篇《大模型架构演进全景》从理论上梳理了 MoE 的设计思想:总参数大、激活参数小、每个 token 只走部分专家,用稀…

2026/7/9 1:14:42阅读更多 →
推荐太原多色美缝胶

推荐太原多色美缝胶

在家装翻新或新房装修中,美缝胶的选择往往是影响整体质感的关键细节。面对市场上琳琅满目的品牌和色彩,用户容易陷入“如何选色”、“哪种更耐黄变”、“哪里找靠谱施工团队”等困惑。针对太原本地用户,我们梳理了多色美缝胶的选购要点&#…

2026/7/9 1:14:42阅读更多 →
工业声音异常检测:Log-Mel Spectrogram 与 MFCC 特征选型指南

工业声音异常检测:Log-Mel Spectrogram 与 MFCC 特征选型指南

工业声音异常检测:Log-Mel Spectrogram 与 MFCC 特征选型指南 一、 核心结论 针对基于深度学习的工业声音异常检测任务(如 CNN、CRNN、频谱输入型 Transformer 等表示学习模型),Log-Mel Spectrogram(对数梅尔频谱&am…

2026/7/9 1:14:42阅读更多 →
叉车司机N1培训推荐:创星职培适合急需实操的学员吗

叉车司机N1培训推荐:创星职培适合急需实操的学员吗

为何关注广州市应急管理局定点培训机构推荐榜 在规划叉车司机N1培训路径时,参考广州市应急管理局定点培训机构推荐榜是确认机构合规性与安全性的重要步骤。虽然特种设备作业人员(如叉车司机)的考核主要依据市场监管部门的相关规范&#xff0…

2026/7/9 1:14:42阅读更多 →
写爬虫最重要的事永远是合规和安全

写爬虫最重要的事永远是合规和安全

很多中小团队和初创公司,做数据采集最容易踩的坑,就是盲目追求低成本,这次NetNut被FBI关停就是最真实的反面教材。小团队预算有限,总想能省则省,觉得大平台溢价太高,低价代理性价比更高,却忽略了…

2026/7/9 1:09:41阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/8 5:12:14阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/8 7:00:12阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/8 2:26:06阅读更多 →
Three.js 着色器光效教程

Three.js 着色器光效教程

着色器光效 Shader Light ▶ 在线运行案例 案例合集: 三维可视化功能案例(threehub.cn)开源仓库github地址: https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自…

2026/7/9 0:04:37阅读更多 →
如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南 【免费下载链接】casemove A dedicated desktop app that enables you to move items in and out of storage units in CS2. 项目地址: https://gitcode.com/gh_mirrors/ca/casemove 还在为CS2存储单…

2026/7/9 0:04:37阅读更多 →
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a与MySQL 8.0:ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中,表结构变更(DDL操作)是不可避免的需求。GBase 8a作为国产分析型数据库代表,与开源M…

2026/7/9 0:04:37阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/8 6:59:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/8 13:42:39阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/8 13:42:39阅读更多 →