当前位置: 首页 > news >正文

在U盘/移动硬盘上安装热插拔式Ubuntu系统,并将Docker目录挂载到NTFS硬盘

Windows10+的WSL2的确给开发人员带来了很多方便,但是仍然有很多缺点。比如:太占系统内存;有些软件无法在WSL2中编译成功;相当于虚拟机,性能不如原装系统。

装双系统,相信大家都不陌生,但它会占用更多硬盘空间。在此记录一下如何在移动硬盘中安装Ubuntu系统、Docker运行环境、并将Docker的数据存放目录设置在NTFS格式或其他非ext4格式的移动硬盘中。方便保留更多空间给移动硬盘用于文件传输。

1. 制作Ubuntu安装介质

在Ubuntu官网下载ISO镜像,并通过软碟通的“写入硬盘镜像”刻录到一个U盘中。 

2. 安装Ubuntu系统

将U盘安装盘和要运行Ubuntu系统的移动硬盘同时插入一台电脑,选择U盘作为启动项。根据指引开始安装Ubuntu系统,在进行到分区的步骤时,按如下方式进行手动分区:

启动分区: /boot 1024m ext4格式

交换分区: swap 8192m

根目录: / 至少25G左右 ext4格式

剩下的空间可以在Window系统中格式化为NTFS文件系统,这样无论是在Ubuntu还是Windows中都可见,可以用于数据传输。然后一步一步往下安装等待完成重启就可以了。

3. Ubuntu系统的设置

Ubuntu安装完成后仍然有很多瑕疵。比如独显驱动并非NVIDIA驱动等。还有如下一些典型问题。

3.1 时区不一致问题。

Ubuntu系统的时区一般会和Windows差个8小时,可以通过终端中运行如下命令进行统一:

timedatectl set-local-rtc true
3.2 系统界面为英文。

有时候即使安装时候选择了中文,但是进入系统后还是英文界面。可以在“系统”->“区域和语言”中设置添加“汉语”。但有时候仍然不起作用。可以通过修改配置文件解决:

sudo echo "LANG=zh_CN.UTF-8">>/etc/default/locale

然后重启系统。

3.3 安装搜狗拼音输入法。

默认的输入法有时候会突然卡死,可以参考这里的官方教程安装搜狗输入法,联想更加准确,体验更好。Ubuntu20.04的安装方法同样适用于高版本的Ubuntu系统。

3.4 设置开机自动挂载移动硬盘。

移动硬盘还有很大一部分NTFS的空间,我们可以把他挂载到Ubuntu的‘‘/mnt’’目录下。

首先手动挂载硬盘,运行 df -h 查看硬盘文件系统,比如我的是 /dev/sda1, 那么可以运行如下命令设置开机自动挂载到/mnt:

sudo echo "/dev/sda1 /mnt ntfs defaults,permissions 0 0">>/etc/fstab

然后可以手动卸载硬盘,运行 sudo mount -a 后检查/mnt是否挂载成功, 若无问题, 重启系统即可。

4. 安装Docker并修改数据存储目录

Docker Engine的安装可以参考官方给的步骤:

Docker安装步骤

去sudo运行docker

Docker安装完成后默认的存储驱动一般为overlay2,data-root为/var/lib/docker 这个目录是系统安装目录,空间很小。可以通过如下命令更换其目录为移动硬盘中的目录并修改存储驱动为“fuse-overlayfs” 。这个格式可以支持任意的文件系统且性能很好。否则docker会在你跟换了非ext4的目录后强行将存储驱动改为vfs,性能非常的差!

安装fuse-overlayfs

sudo apt-get update
sudo apt-get install fuse-overlayfs

编辑配置文件 

sudo vim /etc/docker/daemon.json

输入json配置:

{"data-root": "/mnt/docker","storage-driver": "fuse-overlayfs","storage-opts": ["overlay2.override_kernel_check=true"]
}

然后重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

这步让docker的数据目录去兼容NTFS硬盘的方法我摸索了很久,直至在Google上找到这篇文章Use the Device Mapper storage driver (deprecated)。因为之前一直用的devicemapper,这个格式在docker 25.0.0之后的版本就被丢弃了。不过正是因为它被丢弃了,我才发现了更好用的fuse-overlayfs:

Storage driverSupported backing filesystems
overlay2xfs with ftype=1, ext4
fuse-overlayfsany filesystem
btrfsbtrfs
zfszfs
vfsany filesystem

替代方案fuse-overlayfs的性能确实更加优越且硬盘占用小了很多。之前的devicemapper还需要手动配置dm.basesize等,否则镜像可能加载不进去且很占硬盘。至于Nvidia-Docker运行环境安装可以参考官方文档nvidia-docker安装步骤。

至此,主要配置就完成了。这样就可以通过移动硬盘中Ubuntu系统制作docker镜像,docker占用的空间设置在移动硬盘的NTFS空间上,可以根据存储的容器和镜像数动态调整NTFS存储空间的大小,很方便。自己制作的镜像也可以直接导出到NTFS空间中,在不同系统和设备间进行传输,非常方便。

5. 其他安装

Notepad++是一款小巧且非常好用的脚本编辑工具,尽管它的作者在政治上存在很大误区。

Ubuntu上也可以通过自带的snap安装notepad++。但是最好使用命令安装,并加上开发者模式,否则对一些挂载的目录它可能没有读写权限。

sudo snap install notepad-plus-plus --devmode

相关文章:

在U盘/移动硬盘上安装热插拔式Ubuntu系统,并将Docker目录挂载到NTFS硬盘

Windows10的WSL2的确给开发人员带来了很多方便,但是仍然有很多缺点。比如:太占系统内存;有些软件无法在WSL2中编译成功;相当于虚拟机,性能不如原装系统。 装双系统,相信大家都不陌生,但它会占用…...

商城小程序论文(设计)开题报告

一、课题的背景和意义 近些年来,随着移动互联网巅峰时期的来临,互联网产业逐渐趋于“小、轻、微”的方向发展,符合轻应用时代特点的各类技术受到了不同领域的广泛关注。在诸多产品中,被誉为“运行着程序的网站”之名的微信小程序…...

15. Java的 CAS 操作原理

1. 前言 本节内容主要是对 CAS 操作原理进行讲解,由于 CAS 涉及到了并发编程包的使用,本节课程只对 CAS 的原理问题进行讲解,有助于同学后续对并发编程工具使用的学习。本节具体内容点如下: 了解 CAS 的概念,这是本节…...

修改element-ui日期下拉框datetimePicker的背景色样式

如图: 1、修改背景色 .el-date-picker.has-sidebar.has-time { background: #04308D; color: #fff; border: 1px solid #326AFF } .el-date-picker__header-label { color: #ffffff; } .el-date-table th { color: #fff; } .el-icon-d-arrow-left:before { color: …...

Linux—— 逻辑运算符,压缩和解压缩

- -a: and 逻辑与 - -o: or 逻辑或 - -not: not 逻辑非 - 优先级:与>或>非 shell [rootserver ~]# find / -size 10k -a -size -50k [rootserver ~]# find /etc -name "e*" -o -name "f*"…...

音视频入门基础:H.264专题(6)——FFmpeg源码:从H.264码流中提取NALU Header、EBSP、RBSP和SODB

音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…...

STM32实现按键单击、双击、长按、连按功能,使用状态机,无延时,不阻塞

常见的按键判定程序,如正点原子按键例程,只能判定单击事件,对于双击、长按等的判定逻辑较复杂,且使用main函数循环扫描的方式,容易被阻塞,或按键扫描函数会阻塞其他程序的执行。使用定时器设计状态机可以规…...

C#之Delta并联机械手的视觉同步分拣

本文导读 前面两节课程我们介绍了怎么建立Delta并联机械手的正逆解以及如何通过视觉进行匹配定位。本节课程给大家分享如何通过C#语言开发正运动Delta并联机械手传送带同步的视觉分拣。 VPLC711硬件介绍 VPLC711是正运动推出的一款基于x86平台和Windows操作系统的高性能机器…...

01:Linux的基本命令

Linux的基本命令 1、常识1.1、Linux的隐藏文件1.2、绝对路径与相对路径 2、基本命令2.1、ls2.2、cd2.3、pwd / mkdir / mv / touch / cp / rm / cat / rmdir2.4、ln2.5、man2.6、apt-get 本教程是使用的是Ubuntu14.04版本。 1、常识 1.1、Linux的隐藏文件 在Linux中&#xf…...

GNSS 载波、测距码和导航电文的关系简介

1、GNSS 载波、测距码和导航电文 在卫星导航系统中,载波、测距码和导航电文是构成GPS信号的三个基本组成部分,它们共同工作以实现精确的卫星定位和导航功能。以下是对这三个组成部分的详细介绍: 1. 载波(Carrier)&…...

deepE 定位系统卡顿问题实战(一) ----------- 锁造成的阻塞问题

deepE介绍 deepE是一个开源的用于端侧(自动驾驶车,机器人)等环境的系统问题与性能分析工具。基于ebpf功能实现 deepE项目地址 欢迎star 测试程序 #include <iostream> #include <thread> #include <mutex>static std::mutex lock;void func1() {int l…...

YOLOv5改进 | 主干网络 | ODConv + ConvNeXt 增强目标特征提取能力

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a; 《YOLOv5入门 …...

TIA博途WinCC通过VB脚本从 Excel中读取数据的具体方法介绍

TIA博途WinCC通过VB脚本从 Excel中读取数据的具体方法介绍 添加 一个PLC,设置PLC的IP地址,如下图所示, 添加全局DB块,新建几个变量,如下图所示, 在数据块中添加了 tag1 …… tag6 ,共 6 个浮点数类型的变量,用来接收通过 WinCC 从 Excel 文件中读取的数据。 添加 HMI…...

第5篇 区块链的技术架构:节点、网络和数据结构

区块链技术听起来很高大上&#xff0c;但其实它的核心架构并不难理解。今天我们就用一些简单的例子和有趣的比喻&#xff0c;来聊聊区块链的技术架构&#xff1a;节点、网络和数据结构。 节点&#xff1a;区块链的“细胞” 想象一下&#xff0c;区块链就像是一个大型的组织&a…...

vue长列表,虚拟滚动

1.新建子组件&#xff0c;将数据传递过去(几万条数据的数组&#xff0c;一次性展示多少条&#xff0c;每条数据的行高). <template><div class"vitualScroll"><sub-scroll :dataList"dataList" :rowCount"20" :rowHeight"2…...

【实战场景】记一次UAT jvm故障排查经历

【实战场景】记一次UAT jvm故障排查经历 开篇词&#xff1a;干货篇&#xff1a;1.查看系统资源使用情况2.将十进制进程号转成十六进制3.使用jstack工具监视进程的垃圾回收情况4.输出指定线程的堆内存信息5.观察日志6.本地环境复现 总结篇&#xff1a;我是杰叔叔&#xff0c;一名…...

线性代数--行列式1

本篇来自对线性代数第一篇的行列式的一个总结。 主要是行列式中有些关键点和注意事项&#xff0c;便于之后的考研复习使用。 首先&#xff0c;对于普通的二阶和三阶行列式&#xff0c;我们可以直接对其进行拆开&#xff0c;展开。 而对于n阶行列式 其行列式的值等于它的任意…...

tensorflow神经网络

训练一个图像识别模型&#xff0c;使用TensorFlow&#xff0c;需要以下步骤。 1. 安装所需的库 首先&#xff0c;确保安装了TensorFlow和其他所需的库。 pip install tensorflow numpy matplotlib2. 数据准备 需要收集和准备训练数据。每个类别应有足够多的样本图像。假设有…...

Python基础001

Python输出语句 print输出字符串 print("中国四大名著&#xff1a;","西游记|","三国演义|","红楼梦|","水浒传") print(6) print(1 1)Python输入语句 input函数 input() input("我的名字是&#xff1a;") p…...

【udp报文】udp报文未自动分片,报文过长被拦截问题定位

问题现象 某局点出现一个奇怪的现象&#xff0c;客户端给服务端发送消息&#xff0c;服务端仅能收到小部分消息&#xff0c;大部分消息从客户端发出后&#xff0c;服务端都未收到。 问题定位 初步分析 根据现象初步分析&#xff0c;有可能是网络原因导致消息到服务端不可达&a…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...