Linux anchor 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
Apache/2.4.18 (Ubuntu)
Server IP : 10.10.100.4 & Your IP : 216.73.217.150
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
sbin /
Delete
Unzip
Name
Size
Permission
Date
Action
MAKEDEV
51.24
KB
-rwxr-xr-x
2017-03-27 10:01
acpi_available
112
B
-rwxr-xr-x
2014-05-01 17:56
agetty
43.07
KB
-rwxr-xr-x
2020-01-27 15:28
apm_available
125
B
-rwxr-xr-x
2014-05-01 18:05
apparmor_parser
1.23
MB
-rwxr-xr-x
2023-06-29 13:30
badblocks
26.59
KB
-rwxr-xr-x
2020-01-22 15:42
blkdiscard
22.54
KB
-rwxr-xr-x
2020-01-27 15:28
blkid
79.39
KB
-rwxr-xr-x
2020-01-27 15:28
blockdev
34.79
KB
-rwxr-xr-x
2020-01-27 15:28
bridge
62.73
KB
-rwxr-xr-x
2019-04-16 14:37
capsh
18.59
KB
-rwxr-xr-x
2015-10-23 23:11
cfdisk
84.38
KB
-rwxr-xr-x
2020-01-27 15:28
cgdisk
170.17
KB
-rwxr-xr-x
2016-02-07 11:06
chcpu
22.52
KB
-rwxr-xr-x
2020-01-27 15:28
crda
10.3
KB
-rwxr-xr-x
2014-11-18 15:57
cryptdisks_start
1.11
KB
-rwxr-xr-x
2017-09-06 12:08
cryptdisks_stop
1.16
KB
-rwxr-xr-x
2017-09-06 12:08
cryptsetup
57.93
KB
-rwxr-xr-x
2017-09-06 12:08
cryptsetup-reencrypt
40.3
KB
-rwxr-xr-x
2017-09-06 12:08
ctrlaltdel
10.34
KB
-rwxr-xr-x
2020-01-27 15:28
debugfs
146.74
KB
-rwxr-xr-x
2020-01-22 15:42
depmod
147.07
KB
-rwxr-xr-x
2018-11-12 23:07
dhclient
475.83
KB
-rwxr-xr-x
2018-03-05 13:18
dhclient-script
15.28
KB
-rwxr-xr-x
2018-03-05 13:18
dmeventd
42.07
KB
-rwxr-xr-x
2016-04-16 09:58
dmsetup
146.02
KB
-rwxr-xr-x
2016-04-16 09:57
dosfsck
58.08
KB
-rwxr-xr-x
2016-05-26 14:21
dosfslabel
54.08
KB
-rwxr-xr-x
2016-05-26 14:21
dumpe2fs
22.59
KB
-rwxr-xr-x
2020-01-22 15:42
e2fsck
250.93
KB
-rwxr-xr-x
2020-01-22 15:42
e2image
30.75
KB
-rwxr-xr-x
2020-01-22 15:42
e2label
75.55
KB
-rwxr-xr-x
2020-01-22 15:42
e2undo
10.41
KB
-rwxr-xr-x
2020-01-22 15:42
ethtool
267.37
KB
-rwxr-xr-x
2016-04-01 15:07
fatlabel
54.08
KB
-rwxr-xr-x
2016-05-26 14:21
fdisk
107.06
KB
-rwxr-xr-x
2020-01-27 15:28
findfs
10.33
KB
-rwxr-xr-x
2020-01-27 15:28
fixparts
58.17
KB
-rwxr-xr-x
2016-02-07 11:06
fsadm
14.07
KB
-rwxr-xr-x
2016-04-16 09:57
fsck
43.15
KB
-rwxr-xr-x
2020-01-27 15:28
fsck.cramfs
34.77
KB
-rwxr-xr-x
2020-01-27 15:28
fsck.ext2
250.93
KB
-rwxr-xr-x
2020-01-22 15:42
fsck.ext3
250.93
KB
-rwxr-xr-x
2020-01-22 15:42
fsck.ext4
250.93
KB
-rwxr-xr-x
2020-01-22 15:42
fsck.ext4dev
250.93
KB
-rwxr-xr-x
2020-01-22 15:42
fsck.fat
58.08
KB
-rwxr-xr-x
2016-05-26 14:21
fsck.minix
75.09
KB
-rwxr-xr-x
2020-01-27 15:28
fsck.msdos
58.08
KB
-rwxr-xr-x
2016-05-26 14:21
fsck.nfs
333
B
-rwxr-xr-x
2016-02-05 10:48
fsck.vfat
58.08
KB
-rwxr-xr-x
2016-05-26 14:21
fsck.xfs
433
B
-rwxr-xr-x
2017-09-08 22:23
fsfreeze
10.37
KB
-rwxr-xr-x
2020-01-27 15:28
fstab-decode
6.21
KB
-rwxr-xr-x
2016-02-05 10:48
fstrim
38.97
KB
-rwxr-xr-x
2020-01-27 15:28
gdisk
178.17
KB
-rwxr-xr-x
2016-02-07 11:06
getcap
10.27
KB
-rwxr-xr-x
2015-10-23 23:11
getpcaps
10.24
KB
-rwxr-xr-x
2015-10-23 23:11
getty
43.07
KB
-rwxr-xr-x
2020-01-27 15:28
halt
648.38
KB
-rwxr-xr-x
2021-04-02 17:51
hdparm
119.93
KB
-rwxr-xr-x
2018-03-22 20:37
hwclock
54.91
KB
-rwxr-xr-x
2020-01-27 15:28
ifconfig
66.45
KB
-rwxr-xr-x
2014-06-30 15:19
ifdown
65.95
KB
-rwxr-xr-x
2018-05-10 16:21
ifenslave
3.44
KB
-rwxr-xr-x
2015-07-24 17:45
ifenslave-2.6
3.44
KB
-rwxr-xr-x
2015-07-24 17:45
ifquery
65.95
KB
-rwxr-xr-x
2018-05-10 16:21
ifup
65.95
KB
-rwxr-xr-x
2018-05-10 16:21
init
1.52
MB
-rwxr-xr-x
2021-04-02 17:51
insmod
147.07
KB
-rwxr-xr-x
2018-11-12 23:07
installkernel
2.58
KB
-rwxr-xr-x
2016-01-26 19:17
ip
367.38
KB
-rwxr-xr-x
2019-04-16 14:37
ip6tables
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
ip6tables-restore
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
ip6tables-save
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
ipmaddr
18.32
KB
-rwxr-xr-x
2014-06-30 15:19
iptables
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
iptables-restore
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
iptables-save
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
iptunnel
22.33
KB
-rwxr-xr-x
2014-06-30 15:19
iscsi-iname
13.99
KB
-rwxr-xr-x
2018-12-11 21:12
iscsi_discovery
5.16
KB
-rwxr-xr-x
2013-09-12 09:01
iscsiadm
737.26
KB
-rwxr-xr-x
2018-12-11 21:12
iscsid
765.61
KB
-rwxr-xr-x
2018-12-11 21:12
iscsistart
321.29
KB
-rwxr-xr-x
2018-12-11 21:12
isosize
22.53
KB
-rwxr-xr-x
2020-01-27 15:28
iw
173.63
KB
-rwxr-xr-x
2014-10-24 11:07
kbdrate
10.37
KB
-rwxr-xr-x
2016-09-22 19:33
key.dns_resolver
18.07
KB
-rwxr-xr-x
2015-12-10 17:41
killall5
18.61
KB
-rwxr-xr-x
2016-02-05 10:48
ldconfig
387
B
-rwxr-xr-x
2021-04-21 20:14
ldconfig.real
977.16
KB
-rwxr-xr-x
2021-04-21 20:14
logsave
10.35
KB
-rwxr-xr-x
2020-01-22 15:42
losetup
71.21
KB
-rwxr-xr-x
2020-01-27 15:28
lsmod
147.07
KB
-rwxr-xr-x
2018-11-12 23:07
lvchange
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvconvert
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvcreate
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvdisplay
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvextend
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvm
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvmchange
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvmconf
12.39
KB
-rwxr-xr-x
2016-04-16 09:57
lvmconfig
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvmdiskscan
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvmdump
9.31
KB
-rwxr-xr-x
2016-04-16 09:57
lvmetad
50.13
KB
-rwxr-xr-x
2016-04-16 09:58
lvmpolld
59.52
KB
-rwxr-xr-x
2016-04-16 09:58
lvmsadc
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvmsar
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvreduce
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvremove
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvrename
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvresize
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvs
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
lvscan
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
mdadm
501.19
KB
-rwxr-xr-x
2017-11-08 14:18
mdmon
311.8
KB
-rwxr-xr-x
2017-11-08 14:18
mii-tool
18.81
KB
-rwxr-xr-x
2014-06-30 15:19
mkdosfs
26.49
KB
-rwxr-xr-x
2016-05-26 14:21
mke2fs
103.9
KB
-rwxr-xr-x
2020-01-22 15:42
mkfs
10.34
KB
-rwxr-xr-x
2020-01-27 15:28
mkfs.bfs
26.59
KB
-rwxr-xr-x
2020-01-27 15:28
mkfs.cramfs
34.63
KB
-rwxr-xr-x
2020-01-27 15:28
mkfs.ext2
103.9
KB
-rwxr-xr-x
2020-01-22 15:42
mkfs.ext3
103.9
KB
-rwxr-xr-x
2020-01-22 15:42
mkfs.ext4
103.9
KB
-rwxr-xr-x
2020-01-22 15:42
mkfs.ext4dev
103.9
KB
-rwxr-xr-x
2020-01-22 15:42
mkfs.fat
26.49
KB
-rwxr-xr-x
2016-05-26 14:21
mkfs.minix
75.11
KB
-rwxr-xr-x
2020-01-27 15:28
mkfs.msdos
26.49
KB
-rwxr-xr-x
2016-05-26 14:21
mkfs.ntfs
82.11
KB
-rwxr-xr-x
2019-03-21 22:37
mkfs.vfat
26.49
KB
-rwxr-xr-x
2016-05-26 14:21
mkfs.xfs
355.68
KB
-rwxr-xr-x
2017-09-08 22:24
mkhomedir_helper
18.41
KB
-rwxr-xr-x
2020-10-01 02:36
mkntfs
82.11
KB
-rwxr-xr-x
2019-03-21 22:37
mkswap
71.23
KB
-rwxr-xr-x
2020-01-27 15:28
modinfo
147.07
KB
-rwxr-xr-x
2018-11-12 23:07
modprobe
147.07
KB
-rwxr-xr-x
2018-11-12 23:07
mount.cifs
34.77
KB
-rwsr-xr-x
2017-03-06 14:02
mount.fuse
9.99
KB
-rwxr-xr-x
2016-07-12 09:03
mount.lowntfs-3g
102.67
KB
-rwxr-xr-x
2019-03-21 22:37
mount.ntfs
138.7
KB
-rwxr-xr-x
2019-03-21 22:37
mount.ntfs-3g
138.7
KB
-rwxr-xr-x
2019-03-21 22:37
mount.vmhgfs
42.8
KB
-rwxr-xr-x
2018-05-09 01:51
nameif
14.47
KB
-rwxr-xr-x
2014-06-30 15:19
ntfsclone
54.11
KB
-rwxr-xr-x
2019-03-21 22:37
ntfscp
34.1
KB
-rwxr-xr-x
2019-03-21 22:37
ntfslabel
26.1
KB
-rwxr-xr-x
2019-03-21 22:37
ntfsresize
70.11
KB
-rwxr-xr-x
2019-03-21 22:37
ntfsundelete
50.1
KB
-rwxr-xr-x
2019-03-21 22:37
on_ac_power
2.2
KB
-rwxr-xr-x
2009-12-02 09:57
pam_extrausers_chkpwd
34.8
KB
-rwxr-sr-x
2020-10-01 02:36
pam_extrausers_update
34.73
KB
-rwxr-xr-x
2020-10-01 02:36
pam_tally
10.35
KB
-rwxr-xr-x
2020-10-01 02:36
pam_tally2
14.44
KB
-rwxr-xr-x
2020-10-01 02:36
parted
78.27
KB
-rwxr-xr-x
2018-01-15 13:47
partprobe
10.07
KB
-rwxr-xr-x
2018-01-15 13:47
pivot_root
10.32
KB
-rwxr-xr-x
2020-01-27 15:28
plipconfig
10.2
KB
-rwxr-xr-x
2014-06-30 15:19
plymouthd
83.72
KB
-rwxr-xr-x
2018-05-09 13:59
poweroff
648.38
KB
-rwxr-xr-x
2021-04-02 17:51
pvchange
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvck
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvcreate
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvdisplay
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvmove
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvremove
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvresize
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvs
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
pvscan
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
rarp
29.1
KB
-rwxr-xr-x
2014-06-30 15:19
raw
14.37
KB
-rwxr-xr-x
2020-01-27 15:28
reboot
648.38
KB
-rwxr-xr-x
2021-04-02 17:51
regdbdump
6.13
KB
-rwxr-xr-x
2014-11-18 15:57
request-key
17.99
KB
-rwxr-xr-x
2015-12-10 17:41
resize2fs
51.11
KB
-rwxr-xr-x
2020-01-22 15:42
resolvconf
4.75
KB
-rwxr-xr-x
2019-05-06 10:39
rmmod
147.07
KB
-rwxr-xr-x
2018-11-12 23:07
route
56.67
KB
-rwxr-xr-x
2014-06-30 15:19
rtacct
36.59
KB
-rwxr-xr-x
2019-04-16 14:37
rtmon
42.59
KB
-rwxr-xr-x
2019-04-16 14:37
runlevel
648.38
KB
-rwxr-xr-x
2021-04-02 17:51
runuser
30.98
KB
-rwxr-xr-x
2020-01-27 15:28
setcap
10.3
KB
-rwxr-xr-x
2015-10-23 23:11
setvtrgb
10.41
KB
-rwxr-xr-x
2016-09-22 19:33
sfdisk
92.07
KB
-rwxr-xr-x
2020-01-27 15:28
sgdisk
166.17
KB
-rwxr-xr-x
2016-02-07 11:06
shadowconfig
885
B
-rwxr-xr-x
2019-03-26 20:34
shutdown
648.38
KB
-rwxr-xr-x
2021-04-02 17:51
slattach
33.13
KB
-rwxr-xr-x
2014-06-30 15:19
start-stop-daemon
31.77
KB
-rwxr-xr-x
2021-04-20 22:48
sulogin
43.12
KB
-rwxr-xr-x
2020-01-27 15:28
swaplabel
14.43
KB
-rwxr-xr-x
2020-01-27 15:28
swapoff
18.58
KB
-rwxr-xr-x
2020-01-27 15:28
swapon
43.25
KB
-rwxr-xr-x
2020-01-27 15:28
switch_root
14.46
KB
-rwxr-xr-x
2020-01-27 15:28
sysctl
22.51
KB
-rwxr-xr-x
2020-03-05 13:43
tc
326.1
KB
-rwxr-xr-x
2019-04-16 14:37
telinit
648.38
KB
-rwxr-xr-x
2021-04-02 17:51
tipc
42.38
KB
-rwxr-xr-x
2019-04-16 14:37
tune2fs
75.55
KB
-rwxr-xr-x
2020-01-22 15:42
udevadm
438.61
KB
-rwxr-xr-x
2021-04-02 17:51
unix_chkpwd
34.77
KB
-rwxr-sr-x
2020-10-01 02:36
unix_update
34.7
KB
-rwxr-xr-x
2020-10-01 02:36
ureadahead
34.3
KB
-rwxr-xr-x
2019-04-23 17:23
vconfig
10.24
KB
-rwxr-xr-x
2018-05-10 16:19
veritysetup
31.91
KB
-rwxr-xr-x
2017-09-06 12:08
vgcfgbackup
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgcfgrestore
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgchange
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgck
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgconvert
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgcreate
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgdisplay
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgexport
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgextend
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgimport
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgimportclone
9.4
KB
-rwxr-xr-x
2016-04-16 09:57
vgmerge
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgmknodes
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgreduce
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgremove
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgrename
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgs
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgscan
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
vgsplit
1.45
MB
-rwxr-xr-x
2016-04-16 09:58
wipefs
30.73
KB
-rwxr-xr-x
2020-01-27 15:28
xfs_repair
532.02
KB
-rwxr-xr-x
2017-09-08 22:24
xtables-multi
85.77
KB
-rwxr-xr-x
2016-02-19 16:21
zramctl
75.26
KB
-rwxr-xr-x
2020-01-27 15:28
Save
Rename
#!/bin/bash # Copyright (C) 2009 Chris Procter All rights reserved. # Copyright (C) 2009-2015 Red Hat, Inc. All rights reserved. # # This file is part of LVM2. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions # of the GNU General Public License v.2. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # vgimportclone: This script is used to rename the VG and change the associated # VG and PV UUIDs (primary application being HW snapshot restore) # following external commands are used throughout the script # echo and test are internal in bash at least RM=rm BASENAME=basename MKTEMP=mktemp READLINK=readlink GETOPT=getopt # user may override lvm location by setting LVM_BINARY LVM="${LVM_BINARY:-lvm}" die() { code=$1; shift echo "Fatal: $@" 1>&2 exit $code } "$LVM" version >& /dev/null || die 2 "Could not run lvm binary '$LVM'" function getvgname { ### get a unique vg name ### $1 = list of exists VGs ### $2 = the name we want VGLIST=$1 VG=$2 NEWVG=$3 BNAME="${NEWVG:-${VG}}" NAME="${BNAME}" I=0 while [[ "${VGLIST}" =~ ":${NAME}:" ]] do I=$(($I+1)) NAME="${BNAME}$I" done echo "${NAME}" } function checkvalue { ### check return value and error if non zero if [ $1 -ne 0 ] then die $1 "$2, error: $1" fi } function usage { ### display usage message echo "Usage: ${SCRIPTNAME} [options] PhysicalVolume [PhysicalVolume...]" echo " -n|--basevgname - Base name for the new volume group(s)" echo " -i|--import - Import any exported volume groups found" echo " -t|--test - Run in test mode" echo " --quiet - Suppress output" echo " -v|--verbose - Set verbose level" echo " -d|--debug - Set debug level" echo " --version - Display version information" echo " -h|--help - Display this help message" echo "" exit 1 } function cleanup { #set to use old lvm.conf LVM_SYSTEM_DIR=${ORIG_LVM_SYS_DIR} if [ $KEEP_TMP_LVM_SYSTEM_DIR -eq 1 ]; then echo "${SCRIPTNAME}: LVM_SYSTEM_DIR (${TMP_LVM_SYSTEM_DIR}) must be cleaned up manually." else "$RM" -rf -- "${TMP_LVM_SYSTEM_DIR}" fi } SCRIPTNAME=`"$BASENAME" $0` if [ "$UID" != "0" -a "$EUID" != "0" ] then die 3 "${SCRIPTNAME} must be run as root." fi LVM_OPTS="" TEST_OPT="" DISKS="" # for compatibility: using mktemp -t rather than --tmpdir TMP_LVM_SYSTEM_DIR=`"$MKTEMP" -d -t snap.XXXXXXXX` KEEP_TMP_LVM_SYSTEM_DIR=0 CHANGES_MADE=0 IMPORT=0 DEBUG="" VERBOSE="" VERBOSE_COUNT=0 DEVNO=0 if [ -n "${LVM_SYSTEM_DIR}" ]; then export ORIG_LVM_SYS_DIR="${LVM_SYSTEM_DIR}" fi trap cleanup 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ##################################################################### ### Get and check arguments ##################################################################### OPTIONS=`"$GETOPT" -o n:dhitv \ -l basevgname:,debug,help,import,quiet,test,verbose,version \ -n "${SCRIPTNAME}" -- "$@"` [ $? -ne 0 ] && usage eval set -- "$OPTIONS" while true do case $1 in -n|--basevgname) NEWVG="$2"; shift; shift ;; -i|--import) IMPORT=1; shift ;; -t|--test) TEST_OPT="-t" shift ;; --quiet) LVM_OPTS="--quiet ${LVM_OPTS}" shift ;; -v|--verbose) let VERBOSE_COUNT=VERBOSE_COUNT+1 if [ -z "$VERBOSE" ] then VERBOSE="-v" else VERBOSE="${VERBOSE}v" fi shift ;; -d|--debug) if [ -z "$DEBUG" ] then DEBUG="-d" set -x else DEBUG="${DEBUG}d" fi shift ;; --version) "$LVM" version shift exit 0 ;; -h|--help) usage; shift ;; --) shift; break ;; *) usage ;; esac done # turn on DEBUG (special case associated with -v use) if [ -z "$DEBUG" -a $VERBOSE_COUNT -gt 3 ]; then DEBUG="-d" set -x fi # setup LVM_OPTS if [ -n "${DEBUG}" -o -n "${VERBOSE}" ] then LVM_OPTS="${LVM_OPTS} ${DEBUG} ${VERBOSE}" fi # process remaining arguments (which should be disks) for ARG do if [ -b "$ARG" ] then ln -s "$ARG" ${TMP_LVM_SYSTEM_DIR}/vgimport${DEVNO} DISKS="${DISKS} ${TMP_LVM_SYSTEM_DIR}/vgimport${DEVNO}" DEVNO=$((${DEVNO}+1)) else die 3 "$ARG is not a block device." fi done ### check we have suitable values for important variables if [ -z "${DISKS}" ] then usage fi ##################################################################### ### Get the existing state so we can use it later. ### The list of VG names is saved in this format: ### :vgname1:vgname2:...:vgnameN: ##################################################################### OLDVGS=":`"${LVM}" vgs ${LVM_OPTS} -o name --noheadings --rows --separator : --config 'log{prefix=""}'`:" checkvalue $? "Current VG names could not be collected without errors" ##################################################################### ### Prepare the temporary lvm environment ##################################################################### for BLOCK in ${DISKS} do FILTER="\"a|^${BLOCK}$|\", ${FILTER}" done export FILTER="filter=[ ${FILTER} \"r|.*|\" ]" LVMCONF=${TMP_LVM_SYSTEM_DIR}/lvm.conf CMD_CONFIG_LINE="devices { \ scan = [ \"${TMP_LVM_SYSTEM_DIR}\" ] \ cache_dir = \"${TMP_LVM_SYSTEM_DIR}/cache\" global_filter = [ \"a|.*|\" ] \ ${FILTER} } \ global { \ use_lvmetad = 0 \ }" $LVM dumpconfig ${LVM_OPTS} --file ${LVMCONF} --mergedconfig --config "${CMD_CONFIG_LINE}" checkvalue $? "Failed to generate ${LVMCONF}" # Only keep TMP_LVM_SYSTEM_DIR if it contains something worth keeping [ -n "${DEBUG}" ] && KEEP_TMP_LVM_SYSTEM_DIR=1 ### set to use new lvm.conf export LVM_SYSTEM_DIR=${TMP_LVM_SYSTEM_DIR} # Check if there are any PVs that don't belong to any VG # or even if there are disks which are not PVs at all. NOVGDEVLIST=`${LVM} pvs -a -o pv_name --select vg_name="" --noheadings` checkvalue $? "Failed to collect information for PV check" if [ -n "${NOVGDEVLIST}" ]; then FOLLOWLIST="" while read PVNAME; do FOLLOW=`$READLINK $PVNAME` FOLLOWLIST="$FOLLOWLIST $FOLLOW" done <<< "`echo "${NOVGDEVLIST}"`" die 8 "Specified devices don't belong to a VG:$FOLLOWLIST" fi ##################################################################### ### Rename the VG(s) and change the VG and PV UUIDs. ##################################################################### VGLIST=`${LVM} vgs -o vg_name,vg_exported,vg_missing_pv_count --noheadings --binary` checkvalue $? "Failed to collect VG information" while read VGNAME VGEXPORTED VGMISSINGPVCOUNT; do if [ $VGMISSINGPVCOUNT -gt 0 ]; then echo "Volume Group ${VGNAME} has unknown PV(s), skipping." echo "- Were all associated PV(s) supplied as arguments?" continue fi if [ "$VGEXPORTED" = "1" ]; then if [ ${IMPORT} -eq 1 ]; then "$LVM" vgimport ${LVM_OPTS} ${TEST_OPT} "${VGNAME}" checkvalue $? "Volume Group ${VGNAME} could not be imported" else echo "Volume Group ${VGNAME} exported, skipping." continue fi fi "$LVM" pvchange ${LVM_OPTS} ${TEST_OPT} --uuid --config 'global{activation=0}' --select "vg_name=${VGNAME}" checkvalue $? "Unable to change all PV uuids in VG ${VG_NAME}" NEWVGNAME=`getvgname "${OLDVGS}" "${VGNAME}" "${NEWVG}"` "$LVM" vgchange ${LVM_OPTS} ${TEST_OPT} --uuid --config 'global{activation=0}' ${VGNAME} checkvalue $? "Unable to change VG uuid for ${VGNAME}" ## if the name isn't going to get changed dont even try. if [ "${VGNAME}" != "${NEWVGNAME}" ] then "$LVM" vgrename ${LVM_OPTS} ${TEST_OPT} "${VGNAME}" "${NEWVGNAME}" checkvalue $? "Unable to rename ${VGNAME} to ${NEWVGNAME}" fi CHANGES_MADE=1 done <<< "`echo "${VGLIST}"`" ##################################################################### ### Restore the old environment ##################################################################### ### set to use old lvm.conf if [ -z "${ORIG_LVM_SYS_DIR}" ] then unset LVM_SYSTEM_DIR else LVM_SYSTEM_DIR=${ORIG_LVM_SYS_DIR} fi ### update the device cache and make sure all ### the device nodes we need are straight if [ ${CHANGES_MADE} -eq 1 ] then # get global/use_lvmetad config and if set also notify lvmetad about changes # since we were running LVM commands above with use_lvmetad=0 eval $(${LVM} dumpconfig ${LVM_OPTS} global/use_lvmetad) if [ "$use_lvmetad" = "1" ] then echo "Notifying lvmetad about changes since it was disabled temporarily." echo "(This resolves any WARNING message about restarting lvmetad that appears above.)" LVM_OPTS="${LVM_OPTS} --cache" fi "$LVM" vgscan ${LVM_OPTS} --mknodes fi exit 0