有没有自动格盘挂载的开源 shell 脚本啊

2020-09-16 16:29:54 +08:00
 Yc1992
能够完成 parted+mkfs+更新 /etc/fstab+mount
主要获取盘符有点麻烦,没有思路
1997 次点击
所在节点    Linux
12 条回复
knightdf
2020-09-16 17:08:56 +08:00
写过类似的,fdisk 格盘,获取盘符不就是 lsblk -xxx 么,然后 mkfs+mount 就行了
defunct9
2020-09-16 17:28:49 +08:00
疯了吧,自动弄这个,万一挂错了,硬盘上的东西就全丢了
gaorenhua
2020-09-16 17:40:39 +08:00
auto_fdisk.sh
github 搜,可以参考这个脚本,很稳。
Sherlocker
2020-09-16 17:42:36 +08:00
自己写一个几分钟就搞定了
sunnyadamm
2020-09-16 17:45:16 +08:00
以前平台写的,凑活用的,盘符那一块你自己处理下
Vg_Name=datavg
Lv_Name=datalv
Lv_Path=/dev/$Vg_Name/$Lv_Name
Mount_Point=/data

let ms=`fdisk -l| grep '/dev/vdb' | awk '{print $3}'|awk -F. '{print $1}'`
if [ $ms -gt 2048 ]
then
parted -s /dev/vdb mklabel gpt
parted -s /dev/vdb mkpart primary 1 100%
fi

fdisk /dev/vdb << EOF
n
p
1


w
EOF
echo 'Disk /dev/vdb sucessful'
pvcreate /dev/vdb1>/dev/null
vgcreate $Vg_Name /dev/vdb1>/dev/null
lvcreate -l `vgdisplay datavg|grep 'Free'|cut -d ' ' -f14` -n $Lv_Name /dev/$Vg_Name>/dev/null
[ `uname -r |cut -d. -f1` -le 2 ] && mkfs.ext4 $Lv_Path>/dev/null || mkfs.xfs $Lv_Path>/dev/null
mkdir $Mount_Point
[ `uname -r |cut -d. -f1` -le 2 ] && echo "$Lv_Path $Mount_Point ext4 defaults 0 0">>/etc/fstab
[ `uname -r |cut -d. -f1` -ge 3 ] && echo "$Lv_Path $Mount_Point xfs defaults 0 0">>/etc/fstab
mount -a
wandehul
2020-09-16 17:51:06 +08:00
你这心得多大敢这么搞
Yc1992
2020-09-16 18:07:26 +08:00
@defunct9 场景是新机器挂盘
lucascn
2020-09-16 18:29:40 +08:00
第一步
parted /dev/sdb mklabel gpt mkpart primary 0% 100%
第二步
mkfs.ext4 -O ^has_journal /dev/sdb1
第三步
blkid (获取硬盘的 UUID)
第四步
vi /etc/fstab 加入
UUID='XXXXXXXX' /盘挂载的目录 ext4 defaults,_netdev 0 0
第五步
reboot
lucascn
2020-09-16 18:30:15 +08:00
不要用盘符,用 UUID,就不会出错
Yc1992
2020-09-16 18:36:08 +08:00
@knightdf
@gaorenhua
@sunnyadamm
@lucascn
感谢,我看一下~
nullboy
2020-09-16 18:37:00 +08:00
人有多大胆,地有多大产
ungrown
2020-09-17 20:11:38 +08:00
上面有人说了用 UUID,很对,这样你就不用纠结盘符字母了
甚至 fstab 都可以固化了
然后就是几个固化的文件和一个固化的脚本就完事了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707607

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX