Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F31841538
raw.txt
No One
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
Kormat
May 25 2020, 1:01 PM
2020-05-25 13:01:07 (UTC+0)
Size
1 KB
Referenced Files
None
Subscribers
None
raw.txt
View Options
#!/bin/sh
# All sizes/offsets are in sectors (512B)
set -exu
[ ! -e /tmp/nuke_lvm ] || exit 0
mkdir /tmp/nuke_lvm
cd /tmp/nuke_lvm
# Find LVM physical volume
pvs -o pv_name,pe_start --units s --noheadings --nosuffix > pvs.list
[ -s pvs.list ] || { echo "No pv's detected: $(pvs)"; exit 0; }
read pv_name pe_start < pvs.list
disk=$(debconf-get partman-auto/disk)
[ "$disk" ] || { echo "ERROR: partman-auto/disk is unset"; exit 1; }
part_num=${pv_name#$disk}
# Find LVM logical volume
lvs -o lv_size,lv_layout --units s --noheadings --nosuffix > lvs.list
[ -s lvs.list ] || { echo "ERROR: no lv's detected: $(lvs)"; exit 1; }
read lv_size lv_layout < lvs.list
[ "$lv_layout" == "linear" ] || { echo "ERROR: unsupported lv layout '$lv_layout' (expected 'linear')"; exit 1; }
sfdisk -d "$disk" | grep "^$pv_name\\>" > sfdisk.part
[ -s sfdisk.part ] || { echo "ERROR: pv $pv_name not found on disk $disk"; exit 1; }
read _ _ _ pv_start _ pv_size _ < sfdisk.part
pv_start=${pv_start%,}
pv_size=${pv_size%,}
sfdisk --delete ${disk:?} ${part_num:?}
echo "start= $((pv_start + pe_start)), size= $lv_size, type=83"
echo "start= $((pv_start + pe_start)), size= $lv_size, type=83" | sfdisk -N"$part_num" "$disk";
File Metadata
Details
Attached
Mime Type
text/plain; charset=utf-8
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
8418798
Default Alt Text
raw.txt (1 KB)
Attached To
Mode
P11298 nuke-lvm.sh
Attached
Detach File
Event Timeline
Log In to Comment