ubuntu分卷能自动化吗
导读:可以实现自动化分卷 在 Ubuntu 中,“分卷”既可能指对磁盘进行分区,也可能指对大文件做分卷压缩。两类场景都可以用脚本实现自动化,下面给出可直接复用的做法与注意点。 磁盘分区自动化 使用命令行工具如 parted/fdisk 编写脚本...
可以实现自动化分卷
在 Ubuntu 中,“分卷”既可能指对磁盘进行分区,也可能指对大文件做分卷压缩。两类场景都可以用脚本实现自动化,下面给出可直接复用的做法与注意点。
磁盘分区自动化
- 使用命令行工具如 parted/fdisk 编写脚本即可完成全自动分区、格式化与挂载。示例流程:
- 查看磁盘与可用空间:
lsblk、sudo fdisk -l - 使用 parted 创建分区(示例:从 1MiB 到 10GiB 的主分区)
sudo parted /dev/sdX mklabel gpt sudo parted /dev/sdX mkpart primary ext4 1MiB 10GiB sudo parted /dev/sdX print - 格式化并挂载
sudo mkfs.ext4 /dev/sdX1 sudo mkdir -p /mnt/data sudo mount /dev/sdX1 /mnt/data - 如需开机自动挂载,获取分区 UUID:
sudo blkid /dev/sdX1,写入 /etc/fstabUUID=< 你的UUID> /mnt/data ext4 defaults 0 2 - 也可用 fdisk 交互式创建分区(
n新建、w写入),适合更灵活的脚本编排。以上工具与步骤均为 Ubuntu 常用分区方式,适合做成无人值守脚本执行。
- 查看磁盘与可用空间:
LVM 自动化
- 对于需要后续灵活扩容缩容的场景,使用 LVM 更容易做成自动化:
sudo apt update & & sudo apt install -y lvm2 sudo pvcreate /dev/sdX sudo vgcreate vg_data /dev/sdX sudo lvcreate -L 100G -n lv_data vg_data sudo mkfs.ext4 /dev/vg_data/lv_data sudo mkdir -p /mnt/data sudo mount /dev/vg_data/lv_data /mnt/data # 自动挂载 echo 'UUID='$(sudo blkid -s UUID -o value /dev/vg_data/lv_data)' /mnt/data ext4 defaults 0 2' | sudo tee -a /etc/fstab- LVM 的优势是后续可在线扩容逻辑卷,再调整文件系统即可,便于做成标准化部署脚本。
大文件分卷压缩自动化
- 若你的“分卷”指把大文件/目录切成多个压缩包,可用 tar + split 全自动处理:
- 直接对目录分卷(每卷 10G)
tar cvzpf - myfolder | split -d -b 10G - myfolder.tar.gz. - 先压缩再分卷(通常更高效)
tar -jcvf myfolder.tar.bz2 myfolder/ tar cvzpf - myfolder.tar.bz2 | split -d -b 10G - myfolder.tar.bz2. - 合并与解压
cat myfolder.tar.gz.* > myfolder.tar.gz tar -zxvf myfolder.tar.gz # 若先用了 .bz2,则:tar -jxvf myfolder.tar.bz2 - 注意:分卷压缩/拷贝若不完整,解压会出现 gzip stdin invalid 等错误,需重新分卷或补齐分卷后再解压。
- 直接对目录分卷(每卷 10G)
安全与幂等建议
- 分区与 LVM 操作会改写磁盘结构,务必先备份重要数据;执行前用
lsblk、sudo fdisk -l、sudo parted /dev/sdX print确认目标磁盘与分区号,避免误写。 - 脚本中加入幂等判断:如检测分区是否存在、是否已挂载、UUID 是否已写入 /etc/fstab,必要时先
umount、wipefs或跳过已完成的步骤。 - 在云盘/虚拟机环境中,优先在维护窗口操作,并确保有控制台/救援通道,防止误操作导致系统不可达。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu分卷能自动化吗
本文地址: https://pptw.com/jishu/767930.html
