在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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解析MySQL的数据类型:理解每种类型及其应用

MySQL是一种流行的关系型数据库管理系统,被广泛应用于Web应用开发中。在数据库设计的过程中,选择合适的数据类型至关重要,因为它不仅影响存储效率和数据完整性,还影响数据库操作的性能和查询速度。本文将详细介绍MySQL支持的各种数…

职业技能大赛引领下人工智能专业实训教学的改革研究

在新时代背景下,人工智能(AI)作为科技发展的前沿领域,正以前所未有的速度影响着社会经济的各个方面,对高素质应用型AI专业人才的需求日益迫切。职业技能大赛作为检验和提升学生实践能力的重要平台,对于促进…

linux内存屏障

why? 为什么要有内存屏障,内存屏障主要解决什么问题 What? 内存屏障都有哪些 How? 内存屏障如何使用 本篇文章主要解决前两个问题 一、为什么要有内存屏障 我们都知道计算机运算任务需要CPU和内存相互配合共同完成,其中CPU负责逻辑计算&#xf…

HUAWEI MPLS 静态配置和动态LDP配置

MPLS(Multi-Protocol Label Switching,多协议标签交换技术)技术的出现,极大地推动了互联网的发展和应用。例如:利用MPLS技术,可以有效而灵活地部署VPN(Virtual Private Network,虚拟专用网),TE(Traffic Eng…

将iStoreOS部署到VMware ESXi变成路由器

正文共:888 字 19 图,预估阅读时间:1 分钟 前面把iStoreOS部署到了VMware workstation上(将iStoreOS部署到VMware Workstation)。如果想把iStoreOS直接部署到ESXi上,你会发现转换镜像不能直接生成OVF或者OV…

巴比达内网穿透:重塑企业级数据通信的高效与安全边界

在当今数据驱动的时代,企业对于高效、安全、低延迟的数据传输需求日益迫切。巴比达,作为企业级内网穿透领域的佼佼者,凭借其自主研发的第九代核心引擎——WanGooe Tunnel,为企业带来了前所未有的通信体验。通过一系列技术创新与优…

亚马逊云科技AWS免费大热AI应用开发证书(含题库、开卷)

亚马逊云科技AWS官方生成式AI免费证书来了!内含免费AI基础课程!快速掌握AWS的前沿AI技术,后端开发程序员也可以速成AI专家,了解当下最🔥的AWS AI架构解决方案! 本证书内容包括AWS上的AI基础知识&#xff0c…

强化学习-5 策略梯度、Actor-Critic 算法

文章目录 1 基于价值( value-based \text{value-based} value-based )算法的缺点2 策略梯度算法2.1 解释2.1.1 分母和分子相消2.1.2 对数函数的导数2.1.3 组合公式2.1.4 总结 3 REINFORCE算法4 策略梯度推导进阶4.1 平稳分布4.2 基于平稳分布的策略梯度…

家用洗地机什么牌子好?四款公认品牌好的机型推荐

每个人都希望自己的家里面能够干干净净,就算不是一尘不染,也至少应该是整洁的,但是在这个快节奏的大环境下,做清洁对于人们来说,不是没时间,就是太累了。正当此时,一款造福懒人的神器——家用洗…

IT行业入门,如何假期逆袭,实现抢跑

目录 前言 1.IT行业领域分类 2.基础课程预习指南 3.技术学习路线 4.学习资源推荐 结束语 前言 IT(信息技术)行业是一个非常广泛和多样化的领域,它包括了许多不同的专业领域和职业路径。如果要进军IT行业,我们应该要明确自己…

python-数据容器对比总结

基于各类数据容器的特点,它们的应用场景如下: 数据容器的通用操作 - 遍历 数据容器的通用统计功能 容器的通用转换功能 容器通用排序功能 容器通用功能总览

GIT - 一条命令把项目更新到远程仓库

前言 阅读本文大概需要1分钟 说明 更新项目到远程仓库只需要执行一条命令,相当的简便 步骤 第一步 编辑配置文件 vim ~/.bash_profile第二步 写入配置文件 gsh() {local msg"${1:-ADD COMMIT PUSH}"git add . && git commit -m "$m…

市场布局企业增加 光场显示技术商业化进程将加快

市场布局企业增加 光场显示技术商业化进程将加快 光场显示技术是一种新型三维(3D)显示技术,是利用特殊显示和控光器件重构3D空间光场信息,实现3D动态显示。光场即光线在空间中的分布。   目前3D显示可分为真3D显示、助视3D显示、…

Kubernetes 离线安装的坑我采了

Kubernetes 离线安装的坑我采了 一、Error from server: Get "https://xx.xx.xx.xx:10250/containerLogs/kube-system/calico-node-8dnvs/calico-node": tls: failed to verify certificate: x509: certificate signed by unknown authority二、calico 或 pod 启动正…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(七)-shell语法(5)

shell语法的一些知识和练习,可以当作笔记收藏一下!! 文章目录 前言 一、shell 二、shell语法 1.文件重定向 2.引入外部脚本 3.作业 总结 前言 shell语法的一些知识和练习,可以当作笔记收藏一下!! 提示&…

CISSP是什么?值得考吗?

近期,国际信息系统安全认证联盟(ISC)宣布自2024年2月12日起,中国信息安全专业人员认证(CISSP)的中文考试将采用计算机自适应测试(CAT)形式进行。 计算机化自适应测试(CAT)根据考生答题情况动态调整后续试题的难度和类型,以更准确地衡量个人能…

2024最新ComfyUI文生图详解教程!

前言 leetcode,16.25. LRU 缓存 设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。 缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少…

网络基础:EIGRP

EIGRP(Enhanced Interior Gateway Routing Protocol)是由思科开发的一种高级距离矢量路由协议,结合了距离矢量和链路状态路由协议的优点;EIGRP具有快速收敛、高效带宽利用、负载均衡等特点,适用于各种规模的网络。EIGR…

基于YOLOv9+pyside的安检仪x光危险物物品检测(有ui)

安全检查在公共场所确保人身安全的关键环节,不可或缺。X光安检机作为必要工具,在此过程中发挥着重要作用。然而,其依赖人工监控和判断成像的特性限制了其应用效能。本文以此为出发点,探索了基于Torch框架的YOLO算法在安检X光图像中…

线性代数笔记

行列式 求高阶行列式 可以划上三角 上三角 余子式 范德蒙行列式 拉普拉斯公式 行列式行列对换值不变 矩阵 矩阵的运算 同型矩阵加减 对应位置相加减 矩阵的乘法 左边第 i 行 一次 相乘求和 右边 第 j 列 eg 中间相等 两边规模 矩阵的幂运算 解题思路 找规律 数学归纳…