天涯 = tianyaclub.net
天涯 是一个全球华人分享和交流的地方
现在注册
已注册用户请  登录
😊天涯最新网址→ tianya666.com tianya666.net 点击查看说明 天涯秘籍
手机浏览器访问网址,自适应移动端屏幕查看
😊你好呀朋友→了解天涯 帮助文档 使用指南
天涯发帖消耗社区币,每日登录免费领取
知之为知之,不知为不知,是知也。
😊好好说话→ 在一个公共空间的公共讨论中,我们应该关注的,是自己能够在这些讨论中提供什么样的建设性增益,而不是那些纯粹个人的感受。好好说话,不要把戾气宣泄于他人。
浮生梦 · 2025年8月30日 21:18 · 4005 次点击
这是一个创建于 399 天前的主题,其中的信息可能已经发生改变。

Linux技术交流:从入门到精通的实践分享
搜索后发现还没有linux系统的主题,所以有了这个帖子。
第一次开始运营自己的主题,不知是否能遇到志同道合的友人。
欢迎大家积极踊跃流讨论

2025年8月30日 21:18
需要 后方可回复,如果您还没有账号请
159 条回复  •  9月1日 20:30
1  2  3  4  5  6  
❮ ❯
  1. 浮生梦浮生梦
    OP
    2025年10月12日 18:44
    91

    -------------正文------------《 Linux - 网卡设置 - 远程登录 》

    上一期 我们已经将系统安装好部署了我们的第一台虚拟机,这一期我们讲如何修改默认的网卡配置 和 Xshell远程登录虚拟机(连接真实的服务器 OR 云主机 方法同理)

    一、修改网卡配置
    # 命令行模式的linux系统网卡与windows网卡配置方法完全不一样,linux所有配置的东西全部为修改文件内容来进行的,完全没有鼠标操作的地方
    # 网卡文件:/etc/sysconfig/network-scripts/ifcfg-eth0# 网卡文件名为:ifcfg-eth0 ,这是因为安装系统时,我们指定了网卡名eth0,没有指定的话网卡名为随机可能是ifcfg-ens33 等.

    # 修改网卡文件方法:vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 回车 确认命令输入完成,并进入网卡文件.

    # 需要注意的参数
    BOOTPROTO="static"# IP地址动态/静态 设置,这里我们要配置静态IP防止服务器重启后IP变动,解决由IP地址造成的服务无法正常访问问题(dhcp—动态IP, static 或者 no — 静态IP,)
    ONBOOT="yes"# yes: 系统启动时 激活网络接口, no: 系统启动时 不激活网络接口

    # 新增内容
    IPADDR="192.168.123.130"# 指定静态IP地址
    NETMASK="255.255.255.0"# 子网掩码
    GATEWAY="192.168.123.1"# 默认网关
    DNS1="8.8.8.8"# DNS服务器地址

    # 这里的IP地址子网掩码等不能随便填写,获取IP网段、网卡、网关的方法如下:
    方法1:
    命令行输入: ip route
    [root@cs-1 ~]# ip route
    default via 192.168.123.1 dev eth0 proto static metric 100 # 这里的 192.168.123.1 就是网关
    192.168.123.0/24 dev eth0 proto kernel scope link src 192.168.123.130 metric 100 # 这里的 192.168.123.0/24 就是网段,由网段我们可知 子网掩码为 255.255.255.0 192.168.123.130 为当前正在使用的IP地址.

    方法2:
    打开Vmware软件 --> 左上角"编辑" --> "虚拟网络编辑器" --> 鼠标点击 “VMnet8 NAT模式...” 一行,下面有显示 子网掩码 --> 点击"NAT设置(s)..." 有显示 网关IP
    然后在自行配置一个没有人使用的IP地址即可.

    # 配置文件修改好以后 键盘按下 Esc键 结束输入, 按Shift+ : + wq 保存并退出文件
    # 重新加载网卡文件使其生效
    [root@cs-1 ~]# systemctl restart network

    重启网卡后,使用ip a 可以看到你所配置的静态IP地址
    [root@cs-1 ~]# ip a
    ...
    2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:eb:0a:0a brd ff:ff:ff:ff:ff:ff
    inet 192.168.123.130/24 brd 192.168.123.255 scope global noprefixroute eth0
    ...

    # 打开Xshell软件 使用 ssh 命令进行远程连接

    [C:~]$ ssh 192.168.123.130
    输入用户:root
    密码:****(你自己设置得密码进行登录)

    WARNING! The remote SSH server rejected X11 forwarding request.
    Last login: Fri Oct 10 15:06:38 2025 from 192.168.39.2
    [root@cs-1 ~]#

    登录完成......

  2. 昆姆昆姆
    2025年10月13日 08:12
    92

    @浮生梦 理论上应该是可行的。不过我们一般不会去用docker,一般有什么需求在底层就解决了。

  3. 浮生梦浮生梦
    OP
    2025年10月13日 14:41
    93

    @昆姆 好的,那我了解了٩(ˊᗜˋ*)و 谢谢!

  4. 寻找童真寻找童真
    2025年10月14日 10:21
    94

    @浮生梦 确实是这样,当时学这个,也是工作上有接触,能够用的上,后来职位变动,没有接触这块了,所以又放下了。

  5. 浮生梦浮生梦
    OP
    2025年10月14日 18:15
    95

    @寻找童真 哈哈,这个我了解. 以前有个同事,大学刚毕业进公司,也不知道该让他做什么,leader就让他自学测试.我这边也是刚接手几套环境还没离职同事的部署文档什么的,成天忙得头都大.他们那边闲死,leader还想让我接手测试得活(╯°□°)╯︵ ┻━┻

  6. 浮生梦浮生梦
    OP
    2025年10月14日 18:46
    96

    -------------正文------------《 Linux - 系统优化之—— Selinux 》

    首先 先了解下 Selinux 是什么:
    安全增强型 Linux(SELinux)是一种采用安全架构的 Linux® 系统,它能够让管理员更好地管控哪些人可以访问系统。它最初由美国国家安全局(NSA)开发,并利用 Linux 安全模块(LSM)以补丁集的形式整合到 Linux 内核中。
    SELinux 于 2000 年发布到开源社区,并于 2003 年集成到上游 Linux 内核中。

    那么这么好的东西为什么要关闭 Selinux呢?
    1、兼容性问题‌:某些旧版软件(如自定义编译的应用程序)未适配 SELinux 策略,导致权限被拒绝
    2、配置复杂 ‌:对新手不友好
    3、性能开销 ‌:对高并发场景可能有轻微性能影响(现代硬件通常可忽略)

    ‌工作模式‌:
    Enforcing(默认):强制执行策略
    Permissive :仅记录违规行为,不拦截
    Disabled :完全关闭

    关闭Selinux的方法:

    方法1:vi 修改文本
    vim /etc/selinux/config
    将
    SELINUX=enforcing
    改为
    SELINUX=disabled
    保存

    使其生效的方式:
    1、 执行reboot(重启系统)使配置生效,重启后通过命令: getenforce 验证状态
    2、不进行reboot操作,换为临时关闭selinux 待有重启系统需求时,重启系统后自然配置生效. 临时关闭方法(命令): setenforce 0 (推荐)

    方法2:使用sed命令,直接修改文本内容
    [root@cs-1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disbaled/g' /etc/selinux/config #(将/etc/selinux/config 文本内容为 SELINUX=enforcing 替换为 SELINUX=disbaled )
    [root@cs-1 ~]# setenforce 0 # 临时关闭selinux

    在实际工作中,很多也是直接关闭并使用硬防火墙+软防火墙(iptables/firewalld)配合使用为服务器提供安全性.

  7. 浮生梦浮生梦
    OP
    2025年10月14日 18:49
    97

    突然发现有删除功能了,不戳不戳,大赞

  8. 浮生梦浮生梦
    OP
    2025年11月15日 15:55
    98

    好久没来更新了,有些浮躁,还没想好要更新些什么.若是有了新的思路会第一时间更新的哈!
    刚看了一眼这个板块,这篇帖子竟然是目前为止最新的一篇,有点小小的吃惊!我堂堂IT大军咋在这不活跃了呢,难道都去逛githup去了嘛,haha.

  9. 浮生梦浮生梦
    OP
    2025年12月14日 23:30
    99

    ( ˊᵕˋ ) 哗——!滑水初体验成功!

  10. ForeverluvForeverluv
    2025年12月15日 00:04
    100

    openouler好用吗,因为学校学用这个

  11. 浮生梦浮生梦
    OP
    2025年12月15日 13:39
    101

    @Foreverluv
    欧拉呀?
    学吧,以后咱国内指定是要有自己得操作系统代替原有的其它系统的,这是出于安全考虑的.
    现在国内自己得操作系统还不成熟,但是可以学, 命令方面后期改动不会太大.
    无论是linux系统、麒麟系统还是欧拉系统,他们万变不离其宗,唯一要变得就是命令.

  12. 浮生梦浮生梦
    OP
    1月15日 13:11
    102

    最近也是吃了个瓜:国产的那个统信系统的老董把负责内核稳定性开发的技术给裁了,挺有意思的.

    这个系统估计很多人都没听说过,这里做个国产化系统的简单的介绍吧:
    国产化系统这几年发展挺猛的,先后有不少家公司都推出了自己的操作系统,名气最大的应该是属:
    1、统信UOS系统
    2、银河麒麟
    3、欧拉
    4、华为鸿蒙
    ....
    ....

    先说“华为鸿蒙”吧,顾名思义就是华为家的,现在华为手机基本都是鸿蒙系统了,据说还在做鸿蒙智能家居自动化这方面,不知道和好不好用,有用过的小伙伴可以说下好不好用呢.

    “银河麒麟”: 主要分布在党政市场.前几年确实国产化搞得挺乌烟瘴气的.具百度查询:银河麒麟V11版本‌是基于Linux 6.6内核开发的,嗯...不做过多评价. 在实用性来说: 上手难度不算高, 有一部分命令还都一样.

    “统信UOS系统”:主要分布在政务市场.这个玩意儿我只能说它真是个玩意儿.用AI组织的话来说是:Linux内核是基础,Debian发行版是骨架. 毕竟是才出来没几年的系统,进步空间还是蛮大的.办公使用也算是够用了.

    “欧拉”它也属于华为家的服务器系统,有些用户更愿意称欧拉是华为在维护的linux发行版.

    除了这几个之外,其实还有挺多国产系统的,例如:‌深度Deepin、阿里龙蜥(Anolis OS)等等,感兴趣的可以去搜索一下.

  13. 浮生梦浮生梦
    OP
    2月9日 15:00
    103

    快过年了再此先给 评论过此贴 以及 有缘刷到过此贴 的朋友们 拜个早年,祝大家 岁岁平安常喜乐,年年有余万事兴!

    至于此贴得更新嘛!!!估计还要再等等,目前没啥心绪整理知识点了,盲写吧又怕漏了些许东西,导致前后不连贯.....

  14. ForeverluvForeverluv
    4月28日 17:10
    104

    可以来一篇关于磁盘知识的吗,蹲

  15. 浮生梦浮生梦
    OP
    4月29日 21:35
    105

    什么是磁盘?
    磁盘是利用磁记录技术存储数据的存储设备,作为计算机主要的存储介质,可存储大量二进制数据且断电后不丢失信息.

    所以我们现在常见的磁盘主要有两种:机械硬盘(HDD) 和 混合硬盘(SSHD).

    HDD 和 SSHD 这两种硬盘有什么区别呢?
    SSHD 可以理解为是 HDD 的升级版. SSHD 是在 HDD 的基础上,加入了闪存技术,所以称呼它为“混合硬盘”.
    我更倾向于叫它:杂交版 ,机械与固态的杂交版本

    【优点】
    机械硬盘(HDD):
    1、容量大、单价极低,同容量比 SSHD、SSD 便宜很多;
    2、技术成熟、寿命长,正常使用不易坏,数据恢复成本低;
    3、断电数据永久保存,无闪存写入次数限制.

    混合硬盘(SSHD):
    1、比纯 HDD 速度快,常用软件、系统会自动放进闪存缓存,开机和打开常用程序的速度接近低配 SSD 体验;
    2、保留 HDD 超大容量、低成本优势;
    3、无需手动设置,自动缓存热门数据,即插即用;
    4、物理结构还是磁盘,数据恢复比纯 SSD 容易;

    【缺点】
    机械硬盘(HDD):
    1、读写速度慢,开机、开软件、加载文件卡顿明显;
    2、有机械运转结构,怕震动,怕摔;
    3、运行有噪音,会发热;
    4、随机读写性能差,多程序同时运行容易卡顿;

    混合硬盘(SSHD):
    1、速度远不如正经 SSD,只是比 HDD 稍快;
    2、闪存缓存容量很小,只能缓存少量常用文件,大程序和多软件没用;
    3、依然有机械盘所有短板:怕摔、有噪音、随机读写弱;
    4、现在性价比很低;

    ------------------------------------------------------------------

    如果以 “硬盘” 为分类的话, 除了 机械硬盘(HDD) 和 混合硬盘(SSHD) 外,还有: 固态硬盘(SSD) 移动硬盘 和 磁盘阵列盘(Raid)

    固态硬盘解释如下:
    ‌固态硬盘‌(Solid State Drive,简称SSD) 是一种采用‌闪存芯片‌(NAND Flash)作为存储介质的电子存储设备,无机械运动部件

    【固态硬盘优点】
    1、读写速度快;
    2、响应延迟极低,适合做系统盘和运行中大型游戏;
    3、无机械结构‌,运行无噪音,抗摔能力强;
    4、功耗低、发热小‌

    【固态硬盘缺点】
    ‌1、单位成本高;
    2、写入寿命有限;
    3、数据难以恢复‌,一旦被损坏,数据恢复难度远高于HDD,且成本极高;
    4、‌长期断电可能丢数据‌,长期不通电电荷泄漏可能导致数据丢失;

    【固态(SSD) 与 机械(HDD) 对比】
    读写速度: 固态 快于 机械
    延迟: 机械 高于 固态
    抗震性: 固态 强于 机械
    噪音: 固态 小于 机械
    功耗: 固态 小于 机械
    寿命: 固态 短于 机械
    容量与成本:固态成本高,容量越大越昂贵 机械成本低
    适用场景: 固态——系统盘、游戏 机械——大容量存储

    移动硬盘:
    通过上述了解了 HDD SSHD SSD 以后,移动硬盘 也就不用过多赘述了.

    移动硬盘 的主要目的:方便携带、容量大.
    移动硬盘的组成:外壳+硬盘+USB转接口=移动硬盘

    常见的移动硬盘分为:
    移动机械硬盘(HDD)——本质上是将标准的2.5英寸或3.5英寸机械硬盘封装在带有USB接口的外壳中,通过SATA转USB桥接芯片实现即插即用.其核心工作原理与台式机内置HDD一致,依赖‌高速旋转的磁性盘片‌和‌可移动磁头‌进行数据读写.
    移动固态硬盘(PSSD‌)即便携式固态硬盘——简单来说:PSSD = SSD + 便携外壳 + USB接口,专为‌移动使用‌设计

    还有一种为 移动SSHD硬盘 由于性价比不高,所以不在过多赘述.

    想买移动硬盘的同鞋,如果有4-6个月闲置不用的情况,个人建议买 移动机械硬盘.毕竟固态硬盘长时间不通电会丢失数据是硬伤.

    磁盘阵列盘(Raid):
    这个东西严格来说不能算作是硬盘,它是多块硬盘组合起来的"嵌合体".
    简单说:把好几块物理硬盘(HDD/SSD)拼在一起,当成一块逻辑大硬盘来用.

    它的主要用途在于服务器 例如: 企业机房 和 大数据中心 以及 小型工作站

    RAID 能干三件事:
    1、提速:多块硬盘一起读写,速度翻倍
    2、保命(数据冗余):坏一块硬盘,数据不丢(主要看做的RAID几)
    3、扩容:多块小盘合成一个超级大盘

    比较有特点且常见的 RAID级别:
    【raid 0】
    最少硬盘数量: 2块
    总容量 : 1+1=2 (两块盘容量相加)
    读写速度 :最快
    核心特点 :坏一块盘,数据全丢
    适用场景 :临时文件、游戏盘、只求速度不重要数据

    【raid 1】
    最少硬盘数量: 2块
    总容量 : 1+1=1 (损失一半容量)
    读写速度 :读快 写一般
    核心特点 :全盘镜像,两块一模一样,坏一块盘 数据不会丢失
    适用场景 :重要资料、办公关键数据、极小预算保命

    【raid 5】
    最少硬盘数量: 3
    总容量 : 1+1+1=2 (总容量减 1 块)
    读写速度 :读写均衡很快
    核心特点 :分布式校验,兼顾容量/速度/安全,坏一块盘 数据不会丢失,及时将坏盘更换即可.
    适用场景 :NAS、家用存储、中小企业服务器、监控

    当然了!现在硬盘分类也挺多的

    例如:
    适合拿来做监控视频存储的叫:监控级硬盘
    适合家居日常使用的叫:家用级硬盘
    适合给 NAS用的硬盘叫:NAS专用硬盘
    适合在服务器上使用的叫:企业级硬盘
    ......
    ......

    区别在于:硬盘在固件优化、耐久性和工作负载设计上有本质差异.
    说直白点就是优化的侧重点不同 例如:家用级的,它在个人日常使用指定是没问题 但是用在企业服务器上指定是不合适的.

    列举几个常见 内置硬盘接口类型(用于台式机/笔记本内部)
    (见楼下图片)

    列举几个常见 移动硬盘接口类型(外置,通过USB连接)
    (见楼下图片)
    ------------------------------------------------------------------

    另说 U盘、内存卡、磁带、光盘

    U盘 和 内存卡 和 SSD 固态硬盘 本质一样 = 迷你版固态,核心是闪存芯片,二者不属于传统硬盘,它属于:闪存移动存储设备

    光盘:CD/DVD 它属于光学存储

    磁带:这是个比较有争议的东西,按磁性记录来说它属于磁盘.但又有另一种说法是按照形状来说的:磁盘是盘状、旋转式磁存储.磁带是带状、线性顺序读写的磁带存储所以它单拎出来叫磁带不属于磁盘.

    ------------------------------------------------------------------
    (以上仅为个人见解,如有疏漏不足之处,欢迎大家指正交流)

  16. 浮生梦浮生梦
    OP
    4月29日 21:37
    106

  17. 浮生梦浮生梦
    OP
    4月29日 21:40
    107

  18. 浮生梦浮生梦
    OP
    4月29日 21:42
    108

    @Foreverluv 叮~~~~~~ 你的外卖到了 ヾ(≧▽≦*)o 嗨~

  19. ForeverluvForeverluv
    4月30日 00:24
    109

    我去,谢谢楼主

  20. ForeverluvForeverluv
    4月30日 00:27
    110

    其实我想问的是关于linux的磁盘相关操作, 比如挂载,这个概念,我不明白,为什么要挂载,格式化等等
    qwq

  21. 浮生梦浮生梦
    OP
    4月30日 02:02
    111

    @Foreverluv 这个好说,不过我得实操一遍,需要发截图之后类的,然后在整理成文档发出来.过程会比较繁琐,你就在等等吧.

  22. 浮生梦浮生梦
    OP
    4月30日 21:55
    112

    -------------正文------------《 挂载、卸载、磁盘分区 (上)》

    什么是挂载?
    挂载‌是将一个系统之外的存储设备或文件系统连接到操作系统目录树中的指定目录(称为‌挂载点‌),使得用户和程序能够像访问本地文件一样访问该设备上的数据。

    这样说比较抽象,新接触linux的童鞋不是太能理解,我们举个例子来讲清楚这个问题:
    我们拿 Windows系统来举例,当你拿到一块名为“学习资料”的移动硬盘,而这块硬盘中充满了学习资料,那么你需要用几个步骤来查看这些学习资料呢?

    1、需要将硬盘通过USB转接口链接到电脑主板
    2、windows系统自动检测到这块充满学习资料的硬盘
    3、windows系统检测到硬盘后开始读取硬盘
    4、打开“此电脑”
    5、会发现“设备和驱动器”处多出了一块名为“学习资料的E盘”
    6、鼠标双击“学习资料的E盘”进入E盘查看学习资料。
    7、学习完以后,选中E盘 鼠标右键找到弹出.... 将名为“学习资料的E盘” 被弹出,windows系统不在对这块盘进行 读取 和 检测。
    8、此时就可以将链接电脑主板的移动硬盘拔出,把这块移动硬盘找个地方藏起来了.

    9、至此 “得到学习资料——>如何开始学习——>学习后如何善后” 已经学会了....

    回过头来,我们再说linux 系统:
    linux系统 和winodws系统 在挂载硬盘 使用硬盘 和 卸载硬盘 的步骤其实是一样的,只是linux系统不像windows系统有更多更广泛的“集成功能”可以自动检测新添加的硬盘并自动挂载 读取。
    linux系统 在这一方面需要手动进行操作,这也是linux系统的一大亮点: 自由性更高 。windows只能将学习硬盘挂载成新添加硬盘 “E盘”,而不能把它挂载到C:aaa 目录下。但是linux系统可以。只要你需要甚至可以将这块盘挂载到任意位置的任意目录下。

    -----------------------------------------------------------------

    那么为什么要使用挂载?挂载可以解决什么问题?
    1、解决 存储空间不足问题
    2、解决 不同区域、不同网络、不同机器之间、不同地区的机房 之间数据拷贝问题
    3、优化 I/O 性能与读写效率
    4、实现数据备份与离线归档
    ......
    ......
    ......
    1、解决 存储空间不足问题
    这里的存储空间不足包括:/根目录 /home、缓存、日志、业务数据等目录磁盘空间爆满问题
    会导致的问题:系统卡顿、系统无法登录、无法写入文件、正在运行中的服务自杀、服务启动失败 等问题

    2、解决 不同区域、不同网络、不同机器之间、不同地区的机房 之间数据拷贝问题
    不同区域、不同网络、不同机器之间: 大型机房中会分割出多个区域每个区域跑不同的业务,它们区域之间网络是隔离的不能相互通信的。
    不同地区的机房:有些涉密数据是无法通过网络进行传输的,必须派人亲自押送。
    这种情况就需要使用移动硬盘挂载到服务器上将数据拷贝到服务器中

    3、优化 I/O 性能与读写效率
    常见的I/O类型包括:
    磁盘 I/O:硬盘读写
    网络 I/O:网卡收发数据包
    内存 I/O:内存和 CPU 传数据
    设备 I/O:键盘、鼠标、U 盘读写
    这里只说磁盘 I/O: 如果系统盘又跑系统、又存日志、又存数据库,同时大量读写,读写太频繁、太多,硬盘忙不过来就会导致 服务器卡顿、网站打开慢、命令执行延迟等问题
    -------------------如果可以合理的将系统、日志和、数据库等单独迁移到合理的盘中就可以提升效率。

    4、实现数据备份与离线归档
    这个问题主要存在于数据库中。定期备份数据,防止数据库崩溃或服务器宕机造成数据丢失无法恢复问题。

    -----------------------------------------------------------------

    挂载方式又分为两种:内置硬盘挂载 和 硬盘盒外置 USB 挂载

    内置硬盘挂载 :就像给电脑新增加一块硬盘,是加在主机里面的,不需要硬盘盒,服务器上同理。适合长期使用,例:服务器扩容、放数据库、业务数据等。
    硬盘盒外置 USB 挂载:就是移动硬盘插入电脑拷贝文件那样,服务上同理。适合临时使用,不适合长期使用。

    -----------------------------------------------------------------

    那么盘为什么需要格式化才能正常使用呢?

    首先我们要知道,格式化是有多种格式的,例如windows的NTFS、FAT32、exFAT。 linux系统的 ext4、xfs、btrfs、swap

    拿新买的一块硬盘举例:

    硬盘就好比一个仓库,而格式就好比是仓库管理员

    新的硬盘就像是一个没有管理员的仓库,它不仅没有管理员,甚至它连门都没有.

    分区 就像是给这个仓库按了门并且在这个仓库中划分了功能区,A区放照片 B区放视频 C区装软件

    而格式化就是为了给这些分区配一个专属的管理员,我们拿windows系统为例:
    A区放照片,我们为A分区格式化时应该选择NTFS 而为什么不是FAT32或exFAT格式呢? 因为FAT32格式单个文件最大只能支持到4GB,多图合集压缩包超了4G都存不进去. exFAT格式是给移动硬盘、U 盘跨电脑拷贝用的也不适合作为长期存放照片使用,所以要选择NTFS格式 稳定性好、容错强、支持超大相册。

    每个格式都有自己的优势和缺点,所以硬盘在使用前需要按照使用方式搭配合适的格式才好。

    由于格式有多种且优缺点各异 在此不做过多讲述。

    -----------------------------------------------------------------

    磁盘相关操作

    相关命令:
    +---------+----------+
    |分区相关 + 挂载卸载 |
    +---------+----------+
    |fdisk | mount |
    +---------+----------+
    |parted | umount |
    +---------+----------+
    |gdisk | |
    +---------+----------+
    |mkfs | |
    +---------+----------+
    |pvcreate | |
    +---------+----------+

    【分区】

    ## fdisk:传统磁盘分区工具 ##

    是 Linux 中最常用的命令行分区工具,主要用于创建和维护 ‌MBR (Master Boot Record)‌ 分区表。它适用于容量小于 2TB 的硬盘。
    核心功能‌:查看分区表、新建/删除分区、修改分区类型、设置引导标志。

    常用语法: fdisk [选项] <设备名>

    +----+-------------------------------------------------------+
    |参数| 功能描述 |
    +----+-------------------------------------------------------+
    | p | ‌打印‌当前分区表信息。 |
    +----+-------------------------------------------------------+
    | n | ‌新建‌分区(可选择主分区 p 或扩展分区 e)。 |
    +----+-------------------------------------------------------+
    | d | ‌删除‌指定编号的分区。 |
    +----+-------------------------------------------------------+
    | t | 修改分区的‌系统 ID‌(如改为 Linux LVM 8e 或 Swap 82)。 |
    +----+-------------------------------------------------------+
    | w | ‌保存‌更改并退出(写入磁盘)。 |
    +----+-------------------------------------------------------+
    | q | ‌退出‌且不保存任何更改。 |
    +----+-------------------------------------------------------+
    | m | 显示帮助菜单。 |
    +----+-------------------------------------------------------+

    注:对于大于 2TB 的硬盘或需要使用 GPT 分区表的场景,建议使用 gdisk 或 parted,因为 fdisk 对 GPT 的支持有限。

    ## parted:GPT分区工具 ##
    parted 是 Linux 系统中一款功能强大的磁盘分区和管理工具。与传统的 fdisk 相比,parted 支持更大的磁盘(超过 2TB)、现代分区表格式(GPT),并且支持在非交互模式(脚本模式)下运行,非常适合自动化运维。

    常用语法: parted [选项] [设备] [命令 [参数]]
    +------+-------------------------------------------------------------------------+
    | 参数 | 说明 |
    +------+-------------------------------------------------------------------------+
    | -l | 列出所有块设备的分区信息(类似 fdisk -l)。 |
    +------+-------------------------------------------------------------------------+
    | -s | ‌脚本模式‌:非交互式执行,不提示用户确认,适合脚本使用。 |
    +------+-------------------------------------------------------------------------+
    | -a | 设置分区对齐方式:optimal(最佳,推荐)、minimal(最小)、none(不对齐) |
    +------+-------------------------------------------------------------------------+
    | -h | 显示帮助信息。 |
    +------+-------------------------------------------------------------------------+

  23. 浮生梦浮生梦
    OP
    4月30日 21:59
    113

    -------------正文------------《 挂载、卸载、磁盘分区 (中一)》
    ## gdisk (GPT fdisk):GPT 分区工具 ##

    它是 fdisk 的升级版,专门用于处理 ‌GPT (GUID Partition Table)‌ 分区表。
    适用场景‌:硬盘容量大于 2TB,或需要超过 4 个主分区,或使用 UEFI 启动的系统。
    核心功能‌:与 fdisk 类似,但针对 GPT 结构进行了优化,支持备份和恢复 GPT 数据。

    常用语法:gdisk <设备名>

    +------+--------------------------------------------------------------------------------+
    | 参数 | 功能描述 |
    +------+--------------------------------------------------------------------------------+
    | p | 打印分区表。 |
    +------+--------------------------------------------------------------------------------+
    | n | 新建分区。 |
    +------+--------------------------------------------------------------------------------+
    | d | 删除分区。 |
    +------+--------------------------------------------------------------------------------+
    | t | 修改分区类型代码(如 8300 为 Linux 文件系统,8200 为 Swap,8E00 为 Linux LVM) |
    +------+--------------------------------------------------------------------------------+
    | w | 保存并退出。 |
    +------+--------------------------------------------------------------------------------+
    | q | 退出不保存。 |
    +------+--------------------------------------------------------------------------------+
    | ? | 显示帮助菜单。 |
    +------+--------------------------------------------------------------------------------+
    | v | 验证磁盘分区表是否有错误。 |
    +------+--------------------------------------------------------------------------------+

    注:如果在不支持 GPT 的老式 BIOS 系统上使用 gdisk 创建的磁盘,可能需要额外的引导配置。

    ## mkfs:格式化‌磁盘分区 ##
    mkfs(全称 ‌M‌a‌k‌e ‌F‌ile ‌S‌ystem)是 Linux 系统中用于在存储设备(通常是硬盘分区)上创建文件系统的核心命令。简单来说,它的作用就是‌格式化‌磁盘分区,使其能够被操作系统识别并用于存储文件。

    常用语法:mkfs [选项] [-t <文件系统类型>] [设备名] [块数]

    +-------------+------+
    | 参数 | 说明 |
    | ------------+------+
    | -t | 指定文件系统类型。常见类型包括 ext4(Linux 通用)、xfs(高性能/大文件)、vfat(兼容 Windows/U盘)、ntfs 等。
    | -V | ‌Verbose‌:显示详细执行过程。注意:在某些版本中,使用两次 -V (-V -V) 可能仅显示版本信息或进行空运行(dry-run),具体视发行版而定。通常用于查看格式化进度和细节。
    | -c | ‌Check‌:在创建文件系统前检查设备是否有坏道(Bad Blocks)。这会显著增加格式化时间,建议在新盘首次使用时使用。
    | -L | 设置卷标(Label),即给分区起个名字,方便识别。
    | -h | 显示帮助信息。
    +-------------+------+

    ## pvcreate:LVM 物理卷初始化 ##

    pvcreate 是 ‌LVM (Logical Volume Manager)‌ 套件中的命令,用于将物理磁盘或分区初始化为‌物理卷 (Physical Volume, PV)‌,以便后续加入卷组 (VG)。
    核心功能‌:在磁盘或分区上写入 LVM 元数据,使其被 LVM 系统识别。
    前提条件‌:通常先使用 fdisk 或 parted 创建分区,并将分区类型设置为 Linux LVM (ID: 8e),然后执行此命令。

    常用语法:pvcreate [选项] <物理设备路径>

    ################# ⬇⬇⬇⬇ 分区方法介绍 ⬇⬇⬇⬇ #################

  24. 浮生梦浮生梦
    OP
    4月30日 22:00
    114

    -------------正文------------《 挂载、卸载、磁盘分区 (中二)》
    ################# ⬇⬇⬇⬇ 分区方法介绍 ⬇⬇⬇⬇ #################

    【fdisk 分区 + mkfs 格式化 + mount 挂载 + 永久挂载 + umount 卸载 + 永久卸载 】

    [root@cs-1 ~]# fdisk -l // 查看所有磁盘和分区

    Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0009c89c

    Device Boot Start End Blocks Id System
    /dev/sda1 2048 4095 1024 83 Linux
    /dev/sda2 * 4096 1028095 512000 83 Linux
    /dev/sda3 1028096 41943039 20457472 8e Linux LVM

    Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk /dev/mapper/centos-root: 18.8 GB, 18798870528 bytes, 36716544 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    为新添加的/dev/sdb 分区:

    [root@cs-1 ~]# fdisk /dev/sdb // 指定/dev/sdb 磁盘
    Welcome to fdisk (util-linux 2.23.2).

    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.

    Device does not contain a recognized partition table
    Building a new DOS disklabel with disk identifier 0xe4bb91de.

    Command (m for help): P // 打印分区表

    Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xe4bb91de

    Device Boot Start End Blocks Id System
    // 可以看到这块磁盘还没有任何分区
    // 接下来开始给它分区
    Command (m for help): n // 新建分区
    Partition type:
    p primary (0 primary, 0 extended, 4 free) // 主分区
    e extended // 扩展分区

    Select (default p): p // 按"p"键

    Partition number (1-4, default 1): //出现提示:"Partition number (1-4): "选择主分区号
    Partition number (1-4, default 1): 1// 输入"1"表示开始创建第一个主分区
    First sector (2048-20971519, default 2048): // 直接回车,使用系统默认选项 ,,,(First sector:分区从硬盘哪个位置开始,默认 2048 是系统自动给你的最佳起始位置(4K 对齐,性能最好))
    Using default value 2048// 系统已经自动帮你选好了

    Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5120M // 表示第一分区 设置为 5G. 书写格式为:+<存储大小><单位> | +5120M 也可以写为:+5G
    Partition 1 of type Linux and of size 5 GiB is set

    Command (m for help): p// 查看分区情况

    Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xe4bb91de

    Device Boot Start End Blocks Id System
    /dev/sdb1 2048 10487807 5242880 83 Linux // 第一个分区创建完成,
    -----------------------------------------------------|
    // 此段内容逐字段解释 |
    |
    # Device Boot // 分区情况 |
    # /dev/sdb1 // 新硬盘的第一个分区设备名 |
    |
    # Start// 分区起始扇区大小 |
    # 2048// 2048 磁盘块 |
    |
    # End // 分区结束扇区大小 |
    # 10487807 // 10487807 磁盘块 |
    |
    # Blocks// 这个分区总占用磁盘块数量 |
    # 5242880// 5242880磁盘块 折算为5G |
    |
    # Id:83// Linux 标准分区类型编号 |
    |
    # System:Linux // 标识这就是普通 Linux 数据分区 |
    -----------------------------------------------------|

    #### 接下来 重复上面的操作,分第二个分区

    Command (m for help): n// 新建分区
    Partition type:// 开始选择 是 P 主分区 | 还是 e 扩展分区
    p primary (1 primary, 0 extended, 3 free)
    e extended
    Select (default p): p // 主分区
    Partition number (2-4, default 2): // 直接回车 , 默认为创建第二个分区,无需手动输入
    First sector (10487808-20971519, default 10487808): // 直接回车,第二个分区的起始扇区会自动接着上一个分区末尾:10487807 下一位开始后计算
    Using default value 10487808
    Last sector, +sectors or +size{K,M,G} (10487808-20971519, default 20971519): // 直接回车,将剩余空间全部赋予第二分区
    Using default value 20971519// 第二分区使用默认值 20971519
    Partition 2 of type Linux and of size 5 GiB is set // 2 号分区已设置,类型为 Linux,大小 5GiB

    Command (m for help): p// 查看分区情况

    Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xe4bb91de

    Device Boot Start End Blocks Id System
    /dev/sdb1 2048 10487807 5242880 83 Linux// 分区一
    /dev/sdb2 10487808 20971519 5241856 83 Linux // 分区二

    Command (m for help): w// 保存并退出
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.

  25. 浮生梦浮生梦
    OP
    4月30日 22:01
    115

    -------------正文------------《 挂载、卸载、磁盘分区 (中三)》
    #### 格式化‌磁盘分区

    [root@cs-1 ~]# mkfs
    mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs // 支持的分区格式

    常用格式:mkfs.<分区格式> <分区名称>

    [root@cs-1 ~]# mkfs.xfs /dev/sdb1 // 格式化为xfs格式 /dev/sdb1 第一分区名称
    meta-data=/dev/sdb1 isize=512 agcount=4, agsize=327680 blks
    = sectsz=512 attr=2, projid32bit=1
    = crc=1 finobt=0, sparse=0
    data = bsize=4096 blocks=1310720, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0 ftype=1
    log =internal log bsize=4096 blocks=2560, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0

    [root@cs-1 ~]# mkfs.xfs /dev/sdb2 // 格式化为xfs格式 /dev/sdb2 第二分区名称
    meta-data=/dev/sdb2 isize=512 agcount=4, agsize=327616 blks
    = sectsz=512 attr=2, projid32bit=1
    = crc=1 finobt=0, sparse=0
    data = bsize=4096 blocks=1310464, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0 ftype=1
    log =internal log bsize=4096 blocks=2560, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0

    #### 挂载
    1、创建两个挂载点
    [root@cs-1 ~]# mkdir -p /data/{1,2}

    2、查看挂载点
    [root@cs-1 ~]# ll /data/
    total 8
    drwxr-xr-x. 2 root root 6 Apr 30
    drwxr-xr-x. 2 root root 6 Apr 30

    4、挂载
    [root@cs-1 ~]# mount /dev/sdb1 /data/1/ 格式:mount <分区名> <挂载点>
    [root@cs-1 ~]# mount /dev/sdb2 /data/2/

    5、查看挂载结果
    [root@cs-1 ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/centos-root 18G 4.6G 13G 26% /
    devtmpfs 979M 0 979M 0% /dev
    tmpfs 991M 0 991M 0% /dev/shm
    tmpfs 991M 9.5M 981M 1% /run
    tmpfs 991M 0 991M 0% /sys/fs/cgroup
    /dev/sda2 497M 126M 372M 26% /boot
    tmpfs 199M 0 199M 0% /run/user/0
    --------------------------------------------------------|
    /dev/sdb1 5.0G 33M 5.0G 1% /data/1 |
    /dev/sdb2 5.0G 33M 5.0G 1% /data/2 |
    --------------------------------------------------------|

    6、设置永久挂载 (设置后自动开机会自动挂载。 否则系统不进行自动挂载操作,需手动进行挂载)

    书写常用格式:<分区名称/UUID> <挂载点> <分区格式> <默认挂载参数合集> <备份标志> <开机自检顺序>

    方式一:
    vim /etc/fstab
    /dev/sdb1 /data/1 xfs defaults 0 0
    /dev/sdb2 /data/2 xfs defaults 0 0

    方式二:
    1、查看两个分区的 UUID
    [root@cs-1 ~]# blkid /dev/sdb1
    /dev/sdb1: UUID="0fb5860a-92ed-4d00-8f9a-c3b92d1f5008" TYPE="xfs"

    [root@cs-1 ~]# blkid /dev/sdb2
    /dev/sdb2: UUID="7c778800-a6e1-4e33-bea1-75b648ad951e" TYPE="xfs"

    2、书写永久挂载信息
    vim /etc/fstab
    UUID="0fb5860a-92ed-4d00-8f9a-c3b92d1f5008" /data/1 xfs defaults 0 0
    UUID="7c778800-a6e1-4e33-bea1-75b648ad951e" /data/2 xfs defaults 0 0

    #### 卸载
    1、手动卸载 挂载点
    [root@cs-1 ~]# umount /data/1 格式:umount <挂载点>
    [root@cs-1 ~]# umount /data/2
    [root@cs-1 ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/centos-root 18G 4.6G 13G 26% /
    devtmpfs 979M 0 979M 0% /dev
    tmpfs 991M 0 991M 0% /dev/shm
    tmpfs 991M 9.5M 981M 1% /run
    tmpfs 991M 0 991M 0% /sys/fs/cgroup
    /dev/sda2 497M 126M 372M 26% /boot
    tmpfs 199M 0 199M 0% /run/user/0

    2、删除永久挂载配置文件
    将:
    UUID="0fb5860a-92ed-4d00-8f9a-c3b92d1f5008" /data/1 xfs defaults 0 0
    UUID="7c778800-a6e1-4e33-bea1-75b648ad951e" /data/2 xfs defaults 0 0
    从:
    /etc/fstab
    中删除并保存退出。

    注: defaults 0 0 是什么?为什么要这样写?

    【defaults】是默认挂载参数合集,等价于同时开启了:
    rw:可读可写
    suid:允许分区内文件 setuid 权限
    dev:允许解析设备文件
    exec:允许执行二进制程序
    auto:开机自动挂载
    nouser:仅 root 可挂载
    async:异步写入(性能更好)

    第一个0 是 【dump 备份标志】
    0:不做 dump 备份
    1:做系统备份
    现在服务器基本不用 dump,统一写 0

    第二个 0 是 【fsck 开机自检顺序】
    开机磁盘自检顺序:
    0:不进行开机磁盘检查
    1:优先自检,一般给 / 根分区
    2:其他分区按顺序自检
    数据盘、普通分区都写 0,避免开机卡自检。

    --------------------------------------------------------------------

    【 parted 分区 ———————— 大于2T磁盘使用 】

    **** 最小化系统安装没有parted工具,所以需要下载:yum install parted ****

    1、[root@cs ~]# parted /dev/sdb //选择硬盘
    GNU Parted 3.1
    使用 /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) //输入help进入帮助
    (parted) //输入 mklabel gpt 创建类型为GPT

    2、(parted) mklabel gpt //类型GPT
    警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
    是/Yes/否/No? //【yes/y】 确定
    创建4个分区:

  26. 浮生梦浮生梦
    OP
    4月30日 22:01
    116

    -------------正文------------《 挂载、卸载、磁盘分区 (下)》
    3、创建第一个分区:
    (parted) mkpart xfs 0% 25% //将磁盘创建为xfs格式,容量为磁盘总容量的25%

    4、创建第二个分区:
    (parted) mkpart xfs 25% 50% //格式xfs ,容量:在第一块盘的基础上再添加磁盘总容量的25%

    5、创建第三个分区:
    (parted) mkpart xfs 50% 75% //格式xfs ,容量:在第二块盘的基础上再添加磁盘总容量的25%

    6、创建第四个分区:
    (parted) mkpart xfs 75% 100% //格式xfs ,容量:在第三块盘的基础上再添加磁盘总容量25%

    7、(parted) p //查看分区
    Model: VMware Virtual disk (scsi)
    Disk /dev/sdb: 17.2GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:

    Number Start End Size File system Name 标志
    1 1049kB 4295MB 4294MB ext3 xfs
    2 4295MB 8590MB 4295MB ext3 xfs
    3 8590MB 12.9GB 4295MB ext3 xfs
    4 12.9GB 17.2GB 4294MB ext3 xfs

    8、(parted) q //保存退出

    格式化 和 挂载 卸载方式 与上述一致。

    -----------------------------------------------------------------------------------

    pvcreate:LVM 物理卷初始化 这个知识点作为 知识扩展用,知道就可以,主要作为逻辑卷扩展用。刚接触linux童鞋基本不会碰到需要它出现的地方。后续会在《磁盘扩容中详讲》

    gdisk 分区 和fdisk 操作基本一致,不再赘述。

    -----------------------------------------------------------------------------------
    (临时编写,如有疏漏不足之处,欢迎大家指正交流)

  27. 浮生梦浮生梦
    OP
    4月30日 22:03
    117

    @Foreverluv 快递到啦~~~~ ヾ(≧▽≦*)o 嗨~

  28. 浮生梦浮生梦
    OP
    4月30日 22:07
    118

    @Admin
    我要提两点建议:
    1、可不可以增加输出框的整体字数那,5000字不够写的都.
    2、可不可以给程序板块搞一个适合贴代码的功能那,在输入框整的挺好,发布出去全乱套了.

  29. AdminAdmin
    MOD
    5月1日 22:06
    119

    @浮生梦 天涯主打原创手敲内容,避免被大面积AI复制粘贴占领。因此会慎重考虑是否放开字数上限。
    很快将单独上线一个代码块工具站,搭配程序员版块使用,临时解决代码排版乱套问题。后续可能适配Markdown格式。

  30. ForeverluvForeverluv
    5月2日 19:19
    120

    感谢大佬o((>ω< ))o

添加新回复
5000
159楼,如果您的评论与主题无关,或仅回复他人,请另发新帖讨论,勿在本帖跑题
← tianyaclub.net