Linux midolikit.vps 3.10.0-1160.118.1.el7.x86_64 #1 SMP Wed Apr 24 16:01:50 UTC 2024 x86_64
Apache/2
Server IP : 103.97.127.53 & Your IP : 216.73.216.191
Domains :
Cant Read [ /etc/named.conf ]
User : web259
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
Mail
383.67
KB
-rwxr-xr-x
2018-04-11 07:07
[
40.52
KB
-rwxr-xr-x
2020-11-16 22:24
a2p
105.32
KB
-rwxr-xr-x
2021-02-02 16:33
ab
71.89
KB
-rwxr-xr-x
2024-05-02 08:49
aclocal
35.87
KB
-rwxr-xr-x
2014-06-10 08:03
aclocal-1.13
35.87
KB
-rwxr-xr-x
2014-06-10 08:03
addr2line
28.42
KB
-rwxr-xr-x
2021-11-01 15:39
alias
29
B
-rwxr-xr-x
2021-11-24 16:33
apr-1-config
6.81
KB
-rwxr-xr-x
2024-05-02 08:49
apr-config
6.81
KB
-rwxr-xr-x
2024-05-02 08:49
apropos
45.49
KB
-rwxr-xr-x
2018-10-30 20:26
apu-1-config
6.04
KB
-rwxr-xr-x
2024-05-02 08:49
apxs
23.3
KB
-rwxr-xr-x
2024-05-02 08:47
ar
61.22
KB
-rwxr-xr-x
2021-11-01 15:39
arch
32.3
KB
-rwxr-xr-x
2020-11-16 22:24
aria_chk
4.61
MB
-rwxr-xr-x
2022-08-10 13:22
aria_dump_log
4.4
MB
-rwxr-xr-x
2022-08-10 13:22
aria_ftdump
4.41
MB
-rwxr-xr-x
2022-08-10 13:22
aria_pack
4.45
MB
-rwxr-xr-x
2022-08-10 13:22
aria_read_log
4.57
MB
-rwxr-xr-x
2022-08-10 13:22
arpaname
7.03
KB
-rwxr-xr-x
2023-10-16 13:26
as
377.36
KB
-rwxr-xr-x
2021-11-01 15:39
aserver
28.21
KB
-rwxr-xr-x
2019-08-08 12:00
audit2allow
14.21
KB
-rwxr-xr-x
2020-04-01 04:04
audit2why
14.21
KB
-rwxr-xr-x
2020-04-01 04:04
aulast
15.48
KB
-rwxr-xr-x
2019-08-08 12:06
aulastlog
11.35
KB
-rwxr-xr-x
2019-08-08 12:06
ausyscall
11.18
KB
-rwxr-xr-x
2019-08-08 12:06
autoconf
14.42
KB
-rwxr-xr-x
2014-06-10 05:41
autoheader
8.33
KB
-rwxr-xr-x
2014-06-10 05:41
autom4te
31.43
KB
-rwxr-xr-x
2014-06-10 05:41
automake
246.44
KB
-rwxr-xr-x
2014-06-10 08:03
automake-1.13
246.44
KB
-rwxr-xr-x
2014-06-10 08:03
autoreconf
20.57
KB
-rwxr-xr-x
2014-06-10 05:41
autoscan
16.72
KB
-rwxr-xr-x
2014-06-10 05:41
autoupdate
33.08
KB
-rwxr-xr-x
2014-06-10 05:41
auvirt
31.93
KB
-rwxr-xr-x
2019-08-08 12:06
awk
418.54
KB
-rwxr-xr-x
2017-06-28 21:52
base64
36.48
KB
-rwxr-xr-x
2020-11-16 22:24
basename
28.35
KB
-rwxr-xr-x
2020-11-16 22:24
bash
941.93
KB
-rwxr-xr-x
2021-11-24 16:33
bashbug
6.8
KB
-rwxr-xr-x
2021-11-24 16:33
bashbug-64
6.8
KB
-rwxr-xr-x
2021-11-24 16:33
bc
81.47
KB
-rwxr-xr-x
2014-06-09 19:51
bg
26
B
-rwxr-xr-x
2021-11-24 16:33
bison
393.34
KB
-rwxr-xr-x
2018-10-30 20:34
bond2team
22.74
KB
-rwxr-xr-x
2018-12-09 08:57
bootctl
68.99
KB
-rwxr-xr-x
2023-12-07 14:51
bunzip2
31.89
KB
-rwxr-xr-x
2015-11-20 05:04
busctl
403.2
KB
-rwxr-xr-x
2023-12-07 14:51
bzcat
31.89
KB
-rwxr-xr-x
2015-11-20 05:04
bzcmp
2.08
KB
-rwxr-xr-x
2015-11-20 05:04
bzdiff
2.08
KB
-rwxr-xr-x
2015-11-20 05:04
bzgrep
1.64
KB
-rwxr-xr-x
2015-11-20 05:04
bzip2
31.89
KB
-rwxr-xr-x
2015-11-20 05:04
bzip2recover
15.24
KB
-rwxr-xr-x
2015-11-20 05:04
bzless
1.23
KB
-rwxr-xr-x
2015-11-20 05:04
bzmore
1.23
KB
-rwxr-xr-x
2015-11-20 05:04
c++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
c++filt
27.92
KB
-rwxr-xr-x
2021-11-01 15:39
c2ph
35.75
KB
-rwxr-xr-x
2021-02-02 16:32
c89
224
B
-rwxr-xr-x
2020-09-30 02:17
c99
215
B
-rwxr-xr-x
2020-09-30 02:17
ca-legacy
1.6
KB
-rwxr-xr-x
2022-01-13 17:12
cal
36.8
KB
-rwxr-xr-x
2021-02-02 16:31
captoinfo
64.26
KB
-rwxr-xr-x
2017-09-06 22:08
cat
52.81
KB
-rwxr-xr-x
2020-11-16 22:24
catchsegv
3.26
KB
-rwxr-xr-x
2022-05-18 15:57
catman
36.75
KB
-rwxr-xr-x
2018-10-30 20:26
cc
750.59
KB
-rwxr-xr-x
2020-09-30 02:18
ccmake3
5.83
MB
-rwxr-xr-x
2020-12-09 11:35
cd
26
B
-rwxr-xr-x
2021-11-24 16:33
centrino-decode
6.13
KB
-rwxr-xr-x
2024-04-24 16:13
certutil
179.75
KB
-rwxr-xr-x
2023-10-19 13:17
chacl
15.27
KB
-rwxr-xr-x
2020-04-01 02:16
chage
72.16
KB
-rwsr-xr-x
2019-08-09 02:51
chardetect
307
B
-rwxr-xr-x
2019-08-09 02:04
chattr
11.27
KB
-rwxr-xr-x
2020-09-30 15:58
chcat
13.12
KB
-rwxr-xr-x
2020-04-01 04:04
chcon
61.46
KB
-rwxr-xr-x
2020-11-16 22:24
checkmodule
400.48
KB
-rwxr-xr-x
2018-10-30 21:48
checkpolicy
412.46
KB
-rwxr-xr-x
2018-10-30 21:48
chfn
23.41
KB
-rws--x--x
2021-02-02 16:31
chgrp
61.32
KB
-rwxr-xr-x
2020-11-16 22:24
chmem
40.43
KB
-rwxr-xr-x
2021-02-02 16:31
chmod
57.21
KB
-rwxr-xr-x
2020-11-16 22:24
chown
61.36
KB
-rwxr-xr-x
2020-11-16 22:24
chronyc
85.03
KB
-rwxr-xr-x
2019-08-08 11:40
chrt
32.17
KB
-rwxr-xr-x
2021-02-02 16:31
chsh
23.32
KB
-rws--x--x
2021-02-02 16:31
chvt
11.14
KB
-rwxr-xr-x
2021-11-24 16:34
cksum
32.38
KB
-rwxr-xr-x
2020-11-16 22:24
cl-linksafe-reconfigure
5.15
KB
-rwxr-xr-x
2019-02-22 11:34
clambc
123.55
KB
-rwxr-xr-x
2018-04-10 18:03
clamconf
123.25
KB
-rwxr-xr-x
2018-04-10 18:03
clamdscan
210.67
KB
-rwxr-xr-x
2018-04-10 18:03
clamdtop
210.64
KB
-rwxr-xr-x
2018-04-10 18:03
clamscan
151.54
KB
-rwxr-xr-x
2018-04-10 18:03
clamsubmit
123.35
KB
-rwxr-xr-x
2018-04-10 18:03
clear
7.02
KB
-rwxr-xr-x
2017-09-06 22:08
cloud-id
310
B
-rwxr-xr-x
2022-02-23 17:10
cloud-init
314
B
-rwxr-xr-x
2022-02-23 17:10
cloud-init-per
2.06
KB
-rwxr-xr-x
2019-12-18 15:14
cmake
6.21
MB
-rwxr-xr-x
2020-12-09 11:35
cmake3
6.21
MB
-rwxr-xr-x
2020-12-09 11:35
cmp
44.14
KB
-rwxr-xr-x
2023-03-07 14:48
cmsutil
110.59
KB
-rwxr-xr-x
2023-10-19 13:17
col
23.88
KB
-rwxr-xr-x
2021-02-02 16:31
colcrt
11.29
KB
-rwxr-xr-x
2021-02-02 16:31
colrm
23.77
KB
-rwxr-xr-x
2021-02-02 16:31
column
27.99
KB
-rwxr-xr-x
2021-02-02 16:31
comm
36.55
KB
-rwxr-xr-x
2020-11-16 22:24
command
31
B
-rwxr-xr-x
2021-11-24 16:33
compile_et
1.45
KB
-rwxr-xr-x
2020-09-30 15:58
coredumpctl
154.52
KB
-rwxr-xr-x
2023-12-07 14:51
cp
151.55
KB
-rwxr-xr-x
2020-11-16 22:24
cpack3
6.31
MB
-rwxr-xr-x
2020-12-09 11:35
cpio
142.55
KB
-rwxr-xr-x
2020-10-13 15:47
cpp
754.58
KB
-rwxr-xr-x
2020-09-30 02:18
cpupower
66.34
KB
-rwxr-xr-x
2024-04-24 16:13
crlutil
127
KB
-rwxr-xr-x
2023-10-19 13:17
crontab
56.23
KB
-rwsr-xr-x
2023-05-16 14:28
csplit
48.82
KB
-rwxr-xr-x
2020-11-16 22:24
csslint-0.6
19.55
KB
-rwxr-xr-x
2020-09-30 16:45
ctest3
7.14
MB
-rwxr-xr-x
2020-12-09 11:35
curl
152.99
KB
-rwxr-xr-x
2023-12-13 16:08
curl-config
4.08
KB
-rwxr-xr-x
2023-12-13 16:08
cut
40.61
KB
-rwxr-xr-x
2020-11-16 22:24
cvtsudoers
241.7
KB
-rwxr-xr-x
2023-01-25 16:36
date
60.74
KB
-rwxr-xr-x
2020-11-16 22:24
db_archive
11.23
KB
-rwxr-xr-x
2019-08-09 00:18
db_checkpoint
11.3
KB
-rwxr-xr-x
2019-08-09 00:18
db_deadlock
11.31
KB
-rwxr-xr-x
2019-08-09 00:18
db_dump
15.33
KB
-rwxr-xr-x
2019-08-09 00:18
db_dump185
64.45
KB
-rwxr-xr-x
2019-08-09 00:18
db_hotbackup
15.34
KB
-rwxr-xr-x
2019-08-09 00:18
db_load
27.51
KB
-rwxr-xr-x
2019-08-09 00:18
db_log_verify
15.34
KB
-rwxr-xr-x
2019-08-09 00:18
db_printlog
32.26
KB
-rwxr-xr-x
2019-08-09 00:18
db_recover
11.33
KB
-rwxr-xr-x
2019-08-09 00:18
db_replicate
15.34
KB
-rwxr-xr-x
2019-08-09 00:18
db_stat
15.26
KB
-rwxr-xr-x
2019-08-09 00:18
db_tuner
19.33
KB
-rwxr-xr-x
2019-08-09 00:18
db_upgrade
11.23
KB
-rwxr-xr-x
2019-08-09 00:18
db_verify
11.25
KB
-rwxr-xr-x
2019-08-09 00:18
dbilogstrip
1.43
KB
-rwxr-xr-x
2014-06-10 01:06
dbiprof
6.15
KB
-rwxr-xr-x
2014-06-10 01:06
dbiproxy
5.35
KB
-rwxr-xr-x
2014-06-10 01:06
dbmmanage
8.72
KB
-rwxr-xr-x
2024-05-02 08:47
dbus-binding-tool
94.49
KB
-rwxr-xr-x
2014-06-10 04:06
dbus-cleanup-sockets
11
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-daemon
218
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-monitor
23.13
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-run-session
14.97
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-send
27.07
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-test-tool
23.13
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-update-activation-environment
15.02
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-uuidgen
10.98
KB
-rwxr-xr-x
2020-09-30 15:54
dc
44.33
KB
-rwxr-xr-x
2014-06-09 19:51
dd
73.14
KB
-rwxr-xr-x
2020-11-16 22:24
deallocvt
11.16
KB
-rwxr-xr-x
2021-11-24 16:34
delv
39.98
KB
-rwxr-xr-x
2023-10-16 13:26
df
102.55
KB
-rwxr-xr-x
2020-11-16 22:24
dgawk
502.12
KB
-rwxr-xr-x
2017-06-28 21:52
diff
195.46
KB
-rwxr-xr-x
2023-03-07 14:48
diff3
60.65
KB
-rwxr-xr-x
2023-03-07 14:48
dig
146.96
KB
-rwxr-xr-x
2023-10-16 13:26
dir
114.85
KB
-rwxr-xr-x
2020-11-16 22:24
dircolors
40.44
KB
-rwxr-xr-x
2020-11-16 22:24
dirname
28.31
KB
-rwxr-xr-x
2020-11-16 22:24
dltest
11.05
KB
-rwxr-xr-x
2019-08-09 03:12
dmesg
48.52
KB
-rwxr-xr-x
2021-02-02 16:31
dnsdomainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
domainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
doveadm
2.95
MB
-rwxr-xr-x
2024-05-02 09:45
doveconf
540.83
KB
-rwxr-xr-x
2024-05-02 09:45
dovecot-sysreport
5.63
KB
-rwxr-xr-x
2024-05-02 09:45
dracut
55.83
KB
-rwxr-xr-x
2020-09-30 15:57
dsync
2.95
MB
-rwxr-xr-x
2024-05-02 09:45
dtrace
16.66
KB
-rwxr-xr-x
2020-10-13 16:11
du
110.34
KB
-rwxr-xr-x
2020-11-16 22:24
dumpkeys
77.51
KB
-rwxr-xr-x
2021-11-24 16:34
dwp
3.03
MB
-rwxr-xr-x
2021-11-01 15:39
easy_install
320
B
-rwxr-xr-x
2017-08-02 10:18
easy_install-2.7
328
B
-rwxr-xr-x
2017-08-02 10:18
easy_install-3.6
234
B
-rwxr-xr-x
2019-08-07 16:59
echo
32.31
KB
-rwxr-xr-x
2020-11-16 22:24
ed2k-link
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
egrep
290
B
-rwxr-xr-x
2017-08-03 06:58
eject
48.81
KB
-rwxr-xr-x
2021-02-02 16:31
elfedit
32.18
KB
-rwxr-xr-x
2021-11-01 15:39
env
28.33
KB
-rwxr-xr-x
2020-11-16 22:24
envsubst
36.01
KB
-rwxr-xr-x
2020-04-01 02:43
eqn
144.41
KB
-rwxr-xr-x
2014-06-09 20:17
ex
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
expand
32.48
KB
-rwxr-xr-x
2020-11-16 22:24
expr
36.53
KB
-rwxr-xr-x
2020-11-16 22:24
factor
93.29
KB
-rwxr-xr-x
2020-11-16 22:24
fallocate
27.84
KB
-rwxr-xr-x
2021-02-02 16:31
false
28.25
KB
-rwxr-xr-x
2020-11-16 22:24
fc
26
B
-rwxr-xr-x
2021-11-24 16:33
fc-cache
132
B
-rwxr-xr-x
2018-10-30 15:13
fc-cache-64
15.45
KB
-rwxr-xr-x
2018-10-30 18:34
fc-cat
15.4
KB
-rwxr-xr-x
2018-10-30 18:34
fc-conflist
11.2
KB
-rwxr-xr-x
2018-10-30 18:34
fc-list
11.26
KB
-rwxr-xr-x
2018-10-30 18:34
fc-match
11.32
KB
-rwxr-xr-x
2018-10-30 18:34
fc-pattern
11.26
KB
-rwxr-xr-x
2018-10-30 18:34
fc-query
11.23
KB
-rwxr-xr-x
2018-10-30 18:34
fc-scan
11.27
KB
-rwxr-xr-x
2018-10-30 18:34
fc-validate
11.27
KB
-rwxr-xr-x
2018-10-30 18:34
fg
26
B
-rwxr-xr-x
2021-11-24 16:33
fgconsole
11.16
KB
-rwxr-xr-x
2021-11-24 16:34
fgrep
290
B
-rwxr-xr-x
2017-08-03 06:58
filan
89.13
KB
-rwxr-xr-x
2017-08-04 04:57
file
19.3
KB
-rwxr-xr-x
2020-09-30 16:08
find
194.63
KB
-rwxr-xr-x
2018-10-30 16:42
find2perl
23.06
KB
-rwxr-xr-x
2021-02-02 16:32
findmnt
58.38
KB
-rwxr-xr-x
2021-02-02 16:31
fipscheck
15.37
KB
-rwxr-xr-x
2017-08-02 12:47
fipshmac
11.3
KB
-rwxr-xr-x
2017-08-02 12:47
firewall-cmd
113.48
KB
-rwxr-xr-x
2021-04-28 13:31
firewall-offline-cmd
101.18
KB
-rwxr-xr-x
2021-04-28 13:31
flex
318.07
KB
-rwxr-xr-x
2018-10-30 20:30
flex++
318.07
KB
-rwxr-xr-x
2018-10-30 20:30
flock
23.88
KB
-rwxr-xr-x
2021-02-02 16:31
fmt
36.48
KB
-rwxr-xr-x
2020-11-16 22:24
fold
36.46
KB
-rwxr-xr-x
2020-11-16 22:24
free
19.33
KB
-rwxr-xr-x
2020-09-30 17:21
funzip
31.38
KB
-rwxr-xr-x
2022-01-13 16:52
g++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
galera_new_cluster
917
B
-rwxr-xr-x
2022-08-10 10:59
galera_recovery
3.28
KB
-rwxr-xr-x
2022-08-10 10:59
gapplication
19.48
KB
-rwxr-xr-x
2021-06-09 16:12
garb-systemd
1.14
KB
-rwxr-xr-x
2021-04-08 06:06
garbd
2.11
MB
-rwxr-xr-x
2021-04-08 06:06
gawk
418.54
KB
-rwxr-xr-x
2017-06-28 21:52
gcc
750.59
KB
-rwxr-xr-x
2020-09-30 02:18
gcc-ar
26.45
KB
-rwxr-xr-x
2020-09-30 02:18
gcc-nm
26.45
KB
-rwxr-xr-x
2020-09-30 02:18
gcc-ranlib
26.45
KB
-rwxr-xr-x
2020-09-30 02:18
gcov
307.45
KB
-rwxr-xr-x
2020-09-30 02:18
gdbus
40.17
KB
-rwxr-xr-x
2021-06-09 16:12
gencat
22.11
KB
-rwxr-xr-x
2022-05-18 16:18
genl-ctrl-list
11.27
KB
-rwxr-xr-x
2017-08-03 19:48
geoiplookup
15.28
KB
-rwxr-xr-x
2019-08-08 23:34
geoiplookup6
11.16
KB
-rwxr-xr-x
2019-08-08 23:34
geoipupdate
31.28
KB
-rwxr-xr-x
2023-06-12 14:00
geqn
144.41
KB
-rwxr-xr-x
2014-06-09 20:17
getconf
22.02
KB
-rwxr-xr-x
2022-05-18 16:18
getent
26.39
KB
-rwxr-xr-x
2022-05-18 16:18
getfacl
24.29
KB
-rwxr-xr-x
2020-04-01 02:16
getkeycodes
11.16
KB
-rwxr-xr-x
2021-11-24 16:34
getopt
15.38
KB
-rwxr-xr-x
2021-02-02 16:31
getopts
31
B
-rwxr-xr-x
2021-11-24 16:33
gettext
35.94
KB
-rwxr-xr-x
2020-04-01 02:43
gettext.sh
4.52
KB
-rwxr-xr-x
2020-04-01 02:41
gio
73.41
KB
-rwxr-xr-x
2021-06-09 16:12
gio-querymodules-64
11.31
KB
-rwxr-xr-x
2021-06-09 16:12
glib-compile-schemas
44.38
KB
-rwxr-xr-x
2021-06-09 16:12
gmake
178.47
KB
-rwxr-xr-x
2019-08-09 00:46
gneqn
271
B
-rwxr-xr-x
2014-06-09 20:17
gnroff
3.31
KB
-rwxr-xr-x
2014-06-09 20:17
gost-hash
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
gpasswd
76.57
KB
-rwsr-xr-x
2019-08-09 02:51
gpg
732.4
KB
-rwxr-xr-x
2018-07-13 13:05
gpg-agent
289.74
KB
-rwxr-xr-x
2018-07-13 13:05
gpg-connect-agent
152.69
KB
-rwxr-xr-x
2018-07-13 13:05
gpg-error
23.18
KB
-rwxr-xr-x
2014-06-10 08:46
gpg-zip
3.23
KB
-rwxr-xr-x
2018-07-13 13:05
gpg2
732.4
KB
-rwxr-xr-x
2018-07-13 13:05
gpgconf
140.31
KB
-rwxr-xr-x
2018-07-13 13:05
gpgparsemail
23.7
KB
-rwxr-xr-x
2018-07-13 13:05
gpgsplit
48.88
KB
-rwxr-xr-x
2018-07-13 13:05
gpgv
345.38
KB
-rwxr-xr-x
2018-07-13 13:05
gpgv2
345.38
KB
-rwxr-xr-x
2018-07-13 13:05
gpic
180.41
KB
-rwxr-xr-x
2014-06-09 20:17
gprof
98.41
KB
-rwxr-xr-x
2021-11-01 15:39
grep
155.3
KB
-rwxr-xr-x
2017-08-03 06:58
groff
81.63
KB
-rwxr-xr-x
2014-06-09 20:17
grops
140.85
KB
-rwxr-xr-x
2014-06-09 20:17
grotty
98.59
KB
-rwxr-xr-x
2014-06-09 20:17
groups
32.41
KB
-rwxr-xr-x
2020-11-16 22:24
growpart
21.13
KB
-rwxr-xr-x
2019-08-08 23:01
grub2-editenv
396.07
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-file
834.34
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-fstest
1.03
MB
-rwxr-xr-x
2024-04-30 19:38
grub2-glue-efi
258.84
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-kbdcomp
1.63
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-menulst2cfg
241.85
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mkfont
287.58
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mkimage
379.21
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mklayout
264.9
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mknetdir
429.8
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mkpasswd-pbkdf2
271.29
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mkrelpath
258.48
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mkrescue
1017.85
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-mkstandalone
534.33
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-render-label
839.12
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-script-check
295.41
KB
-rwxr-xr-x
2024-04-30 19:38
grub2-syslinux2cfg
763.7
KB
-rwxr-xr-x
2024-04-30 19:38
gsettings
23.8
KB
-rwxr-xr-x
2021-06-09 16:12
gsoelim
32.59
KB
-rwxr-xr-x
2014-06-09 20:17
gss-client
23.17
KB
-rwxr-xr-x
2022-11-30 19:01
gtar
338.02
KB
-rwxr-xr-x
2018-10-30 20:24
gtbl
115.96
KB
-rwxr-xr-x
2014-06-09 20:17
gtroff
512.96
KB
-rwxr-xr-x
2014-06-09 20:17
gunzip
2.2
KB
-rwxr-xr-x
2022-05-12 14:58
gzexe
5.79
KB
-rwxr-xr-x
2022-05-12 14:58
gzip
98.43
KB
-rwxr-xr-x
2022-05-12 14:58
h2ph
27.65
KB
-rwxr-xr-x
2021-02-02 16:32
h2xs
59.15
KB
-rwxr-xr-x
2021-02-02 16:32
has160-hash
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
hdsploader
11.18
KB
-rwxr-xr-x
2016-11-05 18:34
head
40.51
KB
-rwxr-xr-x
2020-11-16 22:24
hexdump
32.02
KB
-rwxr-xr-x
2021-02-02 16:31
host
127.02
KB
-rwxr-xr-x
2023-10-16 13:26
hostid
28.32
KB
-rwxr-xr-x
2020-11-16 22:24
hostname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
hostnamectl
318.07
KB
-rwxr-xr-x
2023-12-07 14:51
htdbm
27.32
KB
-rwxr-xr-x
2024-05-02 08:49
htdigest
17.66
KB
-rwxr-xr-x
2024-05-02 08:49
htpasswd
26.78
KB
-rwxr-xr-x
2024-05-02 08:49
httxt2dbm
13.35
KB
-rwxr-xr-x
2024-05-02 08:49
i386
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
iconv
58.14
KB
-rwxr-xr-x
2022-05-18 16:18
id
36.52
KB
-rwxr-xr-x
2020-11-16 22:24
idiag-socket-details
11.34
KB
-rwxr-xr-x
2017-08-03 19:48
idn
32.45
KB
-rwxr-xr-x
2015-11-21 17:00
ifnames
4.03
KB
-rwxr-xr-x
2014-06-10 05:41
igawk
3.11
KB
-rwxr-xr-x
2017-06-28 21:52
imunify-agent-proxy
13.14
MB
-rwxr-xr-x
2026-08-03 21:45
imunify-antivirus
1
KB
-rwxr-xr-x
2026-08-05 11:20
imunify-fgw-dump
7.8
MB
-rwxr-xr-x
2026-06-03 14:16
imunify-service
1020
B
-rwxr-xr-x
2026-08-05 11:20
imunify360-agent
1
KB
-rwxr-xr-x
2026-08-05 11:20
imunify360-command-wrapper
11.92
KB
-rwxr-xr-x
2026-07-29 10:29
info
265.19
KB
-rwxr-xr-x
2018-04-11 01:03
infocmp
56.07
KB
-rwxr-xr-x
2017-09-06 22:08
infokey
21.47
KB
-rwxr-xr-x
2018-04-11 01:03
infotocap
64.26
KB
-rwxr-xr-x
2017-09-06 22:08
innochecksum
3.59
MB
-rwxr-xr-x
2022-08-10 13:22
install
139.59
KB
-rwxr-xr-x
2020-11-16 22:24
instmodsh
4.15
KB
-rwxr-xr-x
2014-06-10 01:58
ionice
23.86
KB
-rwxr-xr-x
2021-02-02 16:31
ipcalc
15.05
KB
-rwxr-xr-x
2020-11-16 16:20
ipcmk
24
KB
-rwxr-xr-x
2021-02-02 16:31
ipcrm
27.85
KB
-rwxr-xr-x
2021-02-02 16:31
ipcs
48.37
KB
-rwxr-xr-x
2021-02-02 16:31
iptables-xml
91.52
KB
-rwxr-xr-x
2020-10-01 16:52
isosize
23.83
KB
-rwxr-xr-x
2021-02-02 16:31
isql
31.69
KB
-rwxr-xr-x
2019-08-09 03:12
iusql
23.61
KB
-rwxr-xr-x
2019-08-09 03:12
jemalloc.sh
125
B
-rwxr-xr-x
2014-03-31 22:32
jobs
28
B
-rwxr-xr-x
2021-11-24 16:33
join
48.75
KB
-rwxr-xr-x
2020-11-16 22:24
journalctl
537.88
KB
-rwxr-xr-x
2023-12-07 14:51
jsonpointer
1.31
KB
-rwxr-xr-x
2015-11-20 03:16
kbd_mode
11.16
KB
-rwxr-xr-x
2021-11-24 16:34
kbdinfo
11.19
KB
-rwxr-xr-x
2021-11-24 16:34
kbdrate
11.22
KB
-rwxr-xr-x
2021-11-24 16:34
kdumpctl
33.18
KB
-rwxr-xr-x
2021-06-09 16:09
kernel-install
4.7
KB
-rwxr-xr-x
2023-12-07 14:51
kill
32.82
KB
-rwxr-xr-x
2021-02-02 16:31
killall
24.14
KB
-rwxr-xr-x
2020-09-30 17:20
kmod
143.24
KB
-rwxr-xr-x
2020-04-01 02:58
krb5-config
6.96
KB
-rwxr-xr-x
2022-11-30 19:01
last
19.11
KB
-rwxr-xr-x
2014-06-09 23:16
lastb
19.11
KB
-rwxr-xr-x
2014-06-09 23:16
lastlog
19.15
KB
-rwxr-xr-x
2019-08-09 02:51
lchfn
15.52
KB
-rwxr-xr-x
2018-04-12 18:44
lchsh
15.49
KB
-rwxr-xr-x
2018-04-12 18:44
ld
982.61
KB
-rwxr-xr-x
2021-11-01 15:39
ld.bfd
982.61
KB
-rwxr-xr-x
2021-11-01 15:39
ld.gold
5.11
MB
-rwxr-xr-x
2021-11-01 15:39
ldd
5.18
KB
-rwxr-xr-x
2022-05-18 15:57
less
154.53
KB
-rwxr-xr-x
2015-07-30 23:50
lessecho
11.11
KB
-rwxr-xr-x
2015-07-30 23:50
lesskey
16.66
KB
-rwxr-xr-x
2015-07-30 23:50
lesspipe.sh
2.24
KB
-rwxr-xr-x
2015-07-30 23:47
lex
318.07
KB
-rwxr-xr-x
2018-10-30 20:30
lexgrog
85.09
KB
-rwxr-xr-x
2018-10-30 20:26
libnetcfg
15.36
KB
-rwxr-xr-x
2021-02-02 16:32
libtool
314.04
KB
-rwxr-xr-x
2017-04-12 18:57
libtoolize
76.8
KB
-rwxr-xr-x
2017-04-12 18:57
link
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
linux-boot-prober
5.85
KB
-rwxr-xr-x
2016-11-06 03:30
linux32
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
linux64
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
ln
57.22
KB
-rwxr-xr-x
2020-11-16 22:24
loadkeys
110.48
KB
-rwxr-xr-x
2021-11-24 16:34
loadunimap
23.88
KB
-rwxr-xr-x
2021-11-24 16:34
locale
37.11
KB
-rwxr-xr-x
2022-05-18 16:18
localectl
326.16
KB
-rwxr-xr-x
2023-12-07 14:51
localedef
318.31
KB
-rwxr-xr-x
2022-05-18 16:18
logger
28.62
KB
-rwxr-xr-x
2021-02-02 16:31
login
36.38
KB
-rwxr-xr-x
2021-02-02 16:31
loginctl
489.62
KB
-rwxr-xr-x
2023-12-07 14:51
logname
28.31
KB
-rwxr-xr-x
2020-11-16 22:24
logresolve
13.97
KB
-rwxr-xr-x
2024-05-02 08:49
look
11.27
KB
-rwxr-xr-x
2021-02-02 16:31
ls
114.85
KB
-rwxr-xr-x
2020-11-16 22:24
lsattr
11.25
KB
-rwxr-xr-x
2020-09-30 15:58
lsblk
79.17
KB
-rwxr-xr-x
2021-02-02 16:31
lscpu
60.75
KB
-rwxr-xr-x
2021-02-02 16:31
lsinitrd
6.26
KB
-rwxr-xr-x
2020-09-30 15:57
lsipc
60.95
KB
-rwxr-xr-x
2021-02-02 16:31
lslocks
41.01
KB
-rwxr-xr-x
2021-02-02 16:31
lslogins
52.88
KB
-rwxr-xr-x
2021-02-02 16:31
lsmem
40.78
KB
-rwxr-xr-x
2021-02-02 16:31
lsns
36.43
KB
-rwxr-xr-x
2021-02-02 16:31
lsscsi
56.48
KB
-rwxr-xr-x
2017-08-03 02:11
lua
15.47
KB
-rwxr-xr-x
2016-11-06 02:47
luac
119.03
KB
-rwxr-xr-x
2016-11-06 02:47
lz4
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
lz4c
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
lz4cat
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
m4
151.17
KB
-rwxr-xr-x
2015-11-20 07:27
machinectl
533.95
KB
-rwxr-xr-x
2023-12-07 14:51
magnet-link
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
mail
383.67
KB
-rwxr-xr-x
2018-04-11 07:07
mailx
383.67
KB
-rwxr-xr-x
2018-04-11 07:07
make
178.47
KB
-rwxr-xr-x
2019-08-09 00:46
makedb
18.11
KB
-rwxr-xr-x
2022-05-18 16:18
man
100.44
KB
-rwxr-xr-x
2018-10-30 20:26
mandb
122.25
KB
-rwxr-xr-x
2018-10-30 20:26
manpath
32.55
KB
-rwxr-xr-x
2018-10-30 20:26
mapscrn
19.78
KB
-rwxr-xr-x
2021-11-24 16:34
mariabackup
25.01
MB
-rwxr-xr-x
2022-08-10 13:05
mariadb
4.34
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-access
109.33
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-admin
3.86
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-backup
25.01
MB
-rwxr-xr-x
2022-08-10 13:05
mariadb-binlog
4.15
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-check
3.86
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-config
11.57
KB
-rwxr-xr-x
2022-08-10 13:13
mariadb-conv
3.59
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-dump
3.95
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-embedded
23.25
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-find-rows
3.21
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-fix-extensions
1.22
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-hotcopy
34.15
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-import
3.85
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-install-db
21.43
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-plugin
3.55
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-secure-installation
13.37
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-service-convert
2.43
KB
-rwxr-xr-x
2022-08-10 10:53
mariadb-setpermission
17.56
KB
-rwxr-xr-x
2022-08-10 10:59
mariadb-show
3.85
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-slap
3.87
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb-tzinfo-to-sql
3.54
MB
-rwxr-xr-x
2022-08-10 13:22
mariadb-upgrade
3.64
MB
-rwxr-xr-x
2022-08-10 13:22
mariadb-waitpid
3.54
MB
-rwxr-xr-x
2022-08-10 13:10
mariadb_config
11.57
KB
-rwxr-xr-x
2022-08-10 13:13
mariadbd-multi
26.69
KB
-rwxr-xr-x
2022-08-10 10:59
mariadbd-safe
30.39
KB
-rwxr-xr-x
2022-08-10 10:59
mariadbd-safe-helper
3.51
MB
-rwxr-xr-x
2022-08-10 13:22
mbstream
3.57
MB
-rwxr-xr-x
2022-08-10 13:05
mcookie
15.44
KB
-rwxr-xr-x
2021-02-02 16:31
md5sum
40.53
KB
-rwxr-xr-x
2020-11-16 22:24
mdig
44.2
KB
-rwxr-xr-x
2023-10-16 13:26
mesg
10.98
KB
-rwxr-xr-x
2014-06-09 23:16
miniterm.py
25.48
KB
-rwxr-xr-x
2017-08-03 19:19
mixartloader
15.38
KB
-rwxr-xr-x
2016-11-05 18:34
mkdir
77.9
KB
-rwxr-xr-x
2020-11-16 22:24
mkfifo
61.59
KB
-rwxr-xr-x
2020-11-16 22:24
mkinitrd
2.94
KB
-rwxr-xr-x
2020-09-30 15:57
mknod
65.61
KB
-rwxr-xr-x
2020-11-16 22:24
mktemp
40.66
KB
-rwxr-xr-x
2020-11-16 22:24
modutil
165.78
KB
-rwxr-xr-x
2023-10-19 13:17
more
40.15
KB
-rwxr-xr-x
2021-02-02 16:31
mount
43.23
KB
-rwsr-xr-x
2021-02-02 16:31
mountpoint
15.32
KB
-rwxr-xr-x
2021-02-02 16:31
msgattrib
23.36
KB
-rwxr-xr-x
2020-04-01 02:43
msgcat
23.34
KB
-rwxr-xr-x
2020-04-01 02:43
msgcmp
23.59
KB
-rwxr-xr-x
2020-04-01 02:43
msgcomm
19.31
KB
-rwxr-xr-x
2020-04-01 02:43
msgconv
19.3
KB
-rwxr-xr-x
2020-04-01 02:43
msgen
19.3
KB
-rwxr-xr-x
2020-04-01 02:43
msgexec
15.33
KB
-rwxr-xr-x
2020-04-01 02:43
msgfilter
27.56
KB
-rwxr-xr-x
2020-04-01 02:43
msgfmt
77.05
KB
-rwxr-xr-x
2020-04-01 02:43
msggrep
35.97
KB
-rwxr-xr-x
2020-04-01 02:43
msghack
12.45
KB
-rwxr-xr-x
2019-11-27 15:49
msginit
44.38
KB
-rwxr-xr-x
2020-04-01 02:43
msgmerge
52.6
KB
-rwxr-xr-x
2020-04-01 02:43
msgunfmt
31.7
KB
-rwxr-xr-x
2020-04-01 02:43
msguniq
19.31
KB
-rwxr-xr-x
2020-04-01 02:43
msql2mysql
1.41
KB
-rwxr-xr-x
2022-08-10 10:59
mv
127.3
KB
-rwxr-xr-x
2020-11-16 22:24
my_print_defaults
3.54
MB
-rwxr-xr-x
2022-08-10 13:10
myisam_ftdump
3.91
MB
-rwxr-xr-x
2022-08-10 13:22
myisamchk
4.03
MB
-rwxr-xr-x
2022-08-10 13:22
myisamlog
3.89
MB
-rwxr-xr-x
2022-08-10 13:22
myisampack
3.94
MB
-rwxr-xr-x
2022-08-10 13:22
mysql
4.34
MB
-rwxr-xr-x
2022-08-10 13:10
mysql_config
4.59
KB
-rwxr-xr-x
2022-08-10 10:59
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
2022-08-10 10:59
mysql_embedded
23.25
MB
-rwxr-xr-x
2022-08-10 13:10
mysql_find_rows
3.21
KB
-rwxr-xr-x
2022-08-10 10:59
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
2022-08-10 10:59
mysql_install_db
21.43
KB
-rwxr-xr-x
2022-08-10 10:59
mysql_plugin
3.55
MB
-rwxr-xr-x
2022-08-10 13:10
mysql_secure_installation
13.37
KB
-rwxr-xr-x
2022-08-10 10:59
mysql_setpermission
17.56
KB
-rwxr-xr-x
2022-08-10 10:59
mysql_tzinfo_to_sql
3.54
MB
-rwxr-xr-x
2022-08-10 13:22
mysql_upgrade
3.64
MB
-rwxr-xr-x
2022-08-10 13:22
mysql_waitpid
3.54
MB
-rwxr-xr-x
2022-08-10 13:10
mysqlaccess
109.33
KB
-rwxr-xr-x
2022-08-10 10:59
mysqladmin
3.86
MB
-rwxr-xr-x
2022-08-10 13:10
mysqlbinlog
4.15
MB
-rwxr-xr-x
2022-08-10 13:10
mysqlcheck
3.86
MB
-rwxr-xr-x
2022-08-10 13:10
mysqld_multi
26.69
KB
-rwxr-xr-x
2022-08-10 10:59
mysqld_safe
30.39
KB
-rwxr-xr-x
2022-08-10 10:59
mysqld_safe_helper
3.51
MB
-rwxr-xr-x
2022-08-10 13:22
mysqldump
3.95
MB
-rwxr-xr-x
2022-08-10 13:10
mysqldumpslow
8.05
KB
-rwxr-xr-x
2022-08-10 10:59
mysqlhotcopy
34.15
KB
-rwxr-xr-x
2022-08-10 10:59
mysqlimport
3.85
MB
-rwxr-xr-x
2022-08-10 13:10
mysqlshow
3.85
MB
-rwxr-xr-x
2022-08-10 13:10
mysqlslap
3.87
MB
-rwxr-xr-x
2022-08-10 13:10
mytop
71.76
KB
-rwxr-xr-x
2022-08-10 10:59
nail
383.67
KB
-rwxr-xr-x
2018-04-11 07:07
named-rrchecker
15.32
KB
-rwxr-xr-x
2023-10-16 13:26
namei
27.95
KB
-rwxr-xr-x
2021-02-02 16:31
nc
371.27
KB
-rwxr-xr-x
2019-08-09 01:16
ncat
371.27
KB
-rwxr-xr-x
2019-08-09 01:16
ncftp
279.57
KB
-rwxr-xr-x
2018-06-02 11:42
ncftpbatch
191.45
KB
-rwxr-xr-x
2018-06-02 11:42
ncftpget
191.41
KB
-rwxr-xr-x
2018-06-02 11:42
ncftpls
159.26
KB
-rwxr-xr-x
2018-06-02 11:42
ncftpput
183.38
KB
-rwxr-xr-x
2018-06-02 11:42
ncftpspooler
191.45
KB
-rwxr-xr-x
2018-06-02 11:42
ndptool
23.63
KB
-rwxr-xr-x
2019-08-09 00:25
neqn
271
B
-rwxr-xr-x
2014-06-09 20:17
netstat
151.38
KB
-rwxr-xr-x
2019-08-09 01:10
newaliases
1.34
MB
-rwsr-xr-x
2025-05-15 10:01
newgidmap
38.09
KB
-rwxr-xr-x
2019-08-09 02:51
newgrp
40.95
KB
-rwsr-xr-x
2019-08-09 02:51
newuidmap
38.06
KB
-rwxr-xr-x
2019-08-09 02:51
nf-ct-add
11.8
KB
-rwxr-xr-x
2017-08-03 19:48
nf-ct-list
15.84
KB
-rwxr-xr-x
2017-08-03 19:48
nf-exp-add
16.21
KB
-rwxr-xr-x
2017-08-03 19:48
nf-exp-delete
15.99
KB
-rwxr-xr-x
2017-08-03 19:48
nf-exp-list
11.8
KB
-rwxr-xr-x
2017-08-03 19:48
nf-log
11.23
KB
-rwxr-xr-x
2017-08-03 19:48
nf-monitor
11.18
KB
-rwxr-xr-x
2017-08-03 19:48
nf-queue
11.27
KB
-rwxr-xr-x
2017-08-03 19:48
ngettext
35.95
KB
-rwxr-xr-x
2020-04-01 02:43
nice
32.32
KB
-rwxr-xr-x
2020-11-16 22:24
ninja
259.38
KB
-rwxr-xr-x
2021-02-11 16:38
ninja-build
259.38
KB
-rwxr-xr-x
2021-02-11 16:38
nisdomainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
nl
40.6
KB
-rwxr-xr-x
2020-11-16 22:24
nl-addr-add
11.65
KB
-rwxr-xr-x
2017-08-03 19:48
nl-addr-delete
11.73
KB
-rwxr-xr-x
2017-08-03 19:48
nl-addr-list
15.88
KB
-rwxr-xr-x
2017-08-03 19:48
nl-class-add
11.7
KB
-rwxr-xr-x
2017-08-03 19:48
nl-class-delete
11.55
KB
-rwxr-xr-x
2017-08-03 19:48
nl-class-list
11.48
KB
-rwxr-xr-x
2017-08-03 19:48
nl-classid-lookup
11.29
KB
-rwxr-xr-x
2017-08-03 19:48
nl-cls-add
11.76
KB
-rwxr-xr-x
2017-08-03 19:48
nl-cls-delete
11.68
KB
-rwxr-xr-x
2017-08-03 19:48
nl-cls-list
11.58
KB
-rwxr-xr-x
2017-08-03 19:48
nl-fib-lookup
11.41
KB
-rwxr-xr-x
2017-08-03 19:48
nl-link-enslave
7.05
KB
-rwxr-xr-x
2017-08-03 19:48
nl-link-ifindex2name
7.06
KB
-rwxr-xr-x
2017-08-03 19:48
nl-link-list
11.52
KB
-rwxr-xr-x
2017-08-03 19:48
nl-link-name2ifindex
7.05
KB
-rwxr-xr-x
2017-08-03 19:48
nl-link-release
7.05
KB
-rwxr-xr-x
2017-08-03 19:48
nl-link-set
11.64
KB
-rwxr-xr-x
2017-08-03 19:48
nl-link-stats
11.39
KB
-rwxr-xr-x
2017-08-03 19:48
nl-list-caches
11.08
KB
-rwxr-xr-x
2017-08-03 19:48
nl-list-sockets
7.06
KB
-rwxr-xr-x
2017-08-03 19:48
nl-monitor
11.2
KB
-rwxr-xr-x
2017-08-03 19:48
nl-neigh-add
11.51
KB
-rwxr-xr-x
2017-08-03 19:48
nl-neigh-delete
11.57
KB
-rwxr-xr-x
2017-08-03 19:48
nl-neigh-list
11.46
KB
-rwxr-xr-x
2017-08-03 19:48
nl-neightbl-list
11.27
KB
-rwxr-xr-x
2017-08-03 19:48
nl-pktloc-lookup
11.36
KB
-rwxr-xr-x
2017-08-03 19:48
nl-qdisc-add
11.6
KB
-rwxr-xr-x
2017-08-03 19:48
nl-qdisc-delete
11.54
KB
-rwxr-xr-x
2017-08-03 19:48
nl-qdisc-list
11.63
KB
-rwxr-xr-x
2017-08-03 19:48
nl-route-add
11.73
KB
-rwxr-xr-x
2017-08-03 19:48
nl-route-delete
15.86
KB
-rwxr-xr-x
2017-08-03 19:48
nl-route-get
11.18
KB
-rwxr-xr-x
2017-08-03 19:48
nl-route-list
11.77
KB
-rwxr-xr-x
2017-08-03 19:48
nl-rule-list
11.3
KB
-rwxr-xr-x
2017-08-03 19:48
nl-tctree-list
11.53
KB
-rwxr-xr-x
2017-08-03 19:48
nl-util-addr
7.03
KB
-rwxr-xr-x
2017-08-03 19:48
nm
45.43
KB
-rwxr-xr-x
2021-11-01 15:39
nm-online
15.16
KB
-rwxr-xr-x
2020-11-16 16:15
nmcli
809.16
KB
-rwxr-xr-x
2020-11-16 16:15
nmtui
646.77
KB
-rwxr-xr-x
2020-11-16 16:15
nmtui-connect
646.77
KB
-rwxr-xr-x
2020-11-16 16:15
nmtui-edit
646.77
KB
-rwxr-xr-x
2020-11-16 16:15
nmtui-hostname
646.77
KB
-rwxr-xr-x
2020-11-16 16:15
nohup
32.42
KB
-rwxr-xr-x
2020-11-16 22:24
nproc
32.37
KB
-rwxr-xr-x
2020-11-16 22:24
nroff
3.31
KB
-rwxr-xr-x
2014-06-09 20:17
nsenter
28.22
KB
-rwxr-xr-x
2021-02-02 16:31
nslookup
130.93
KB
-rwxr-xr-x
2023-10-16 13:26
nss-policy-check
15.26
KB
-rwxr-xr-x
2023-10-19 13:17
nsupdate
65.2
KB
-rwxr-xr-x
2023-10-16 13:26
numfmt
64.71
KB
-rwxr-xr-x
2020-11-16 22:24
objcopy
227.34
KB
-rwxr-xr-x
2021-11-01 15:39
objdump
357.74
KB
-rwxr-xr-x
2021-11-01 15:39
od
64.81
KB
-rwxr-xr-x
2020-11-16 22:24
odbc_config
11.04
KB
-rwxr-xr-x
2019-08-09 03:12
odbcinst
27.69
KB
-rwxr-xr-x
2019-08-09 03:12
oldfind
186.41
KB
-rwxr-xr-x
2018-10-30 16:42
onig-config
1.31
KB
-rwxr-xr-x
2022-06-14 03:28
open
19.48
KB
-rwxr-xr-x
2021-11-24 16:34
openssl
542.27
KB
-rwxr-xr-x
2023-03-20 16:13
openvt
19.48
KB
-rwxr-xr-x
2021-11-24 16:34
os-prober
5.51
KB
-rwxr-xr-x
2016-11-06 03:30
p11-kit
32.18
KB
-rwxr-xr-x
2017-08-04 23:36
page_owner_sort
10.2
KB
-rwxr-xr-x
2024-04-24 16:13
passwd
27.2
KB
-rwsr-xr-x
2020-04-01 03:57
paste
32.34
KB
-rwxr-xr-x
2020-11-16 22:24
patch
147
KB
-rwxr-xr-x
2019-10-22 23:59
pathchk
32.31
KB
-rwxr-xr-x
2020-11-16 22:24
pchrt
3.93
KB
-rwxr-xr-x
2016-11-05 21:51
pcre-config
2.09
KB
-rwxr-xr-x
2017-08-02 03:07
pcre2-config
1.9
KB
-rwxr-xr-x
2017-08-02 21:44
peekfd
11.21
KB
-rwxr-xr-x
2020-09-30 17:20
perl
11.14
KB
-rwxr-xr-x
2021-02-02 16:33
perl5.16.3
11.14
KB
-rwxr-xr-x
2021-02-02 16:33
perlbug
43.61
KB
-rwxr-xr-x
2021-02-02 16:32
perldoc
203
B
-rwxr-xr-x
2014-06-10 08:17
perlivp
10.52
KB
-rwxr-xr-x
2021-02-02 16:32
perlthanks
43.61
KB
-rwxr-xr-x
2021-02-02 16:32
perror
3.73
MB
-rwxr-xr-x
2022-08-10 13:22
pflags
2.06
KB
-rwxr-xr-x
2019-08-09 02:08
pgawk
418.63
KB
-rwxr-xr-x
2017-06-28 21:52
pgrep
27.67
KB
-rwxr-xr-x
2020-09-30 17:21
php
41.87
MB
-rwxr-xr-x
2025-05-15 11:14
pic
180.41
KB
-rwxr-xr-x
2014-06-09 20:17
piconv
7.99
KB
-rwxr-xr-x
2014-06-10 02:49
pinentry
2.54
KB
-rwxr-xr-x
2016-11-04 18:02
pinentry-curses
49.19
KB
-rwxr-xr-x
2016-11-05 15:49
ping
64.63
KB
-rwxr-xr-x
2017-08-04 08:01
ping6
64.63
KB
-rwxr-xr-x
2017-08-04 08:01
pinky
36.57
KB
-rwxr-xr-x
2020-11-16 22:24
pip-3
407
B
-rwxr-xr-x
2020-10-13 16:03
pip-3.6
407
B
-rwxr-xr-x
2020-10-13 16:03
pip3
407
B
-rwxr-xr-x
2020-10-13 16:03
pip3.6
407
B
-rwxr-xr-x
2020-10-13 16:03
pk12util
103.22
KB
-rwxr-xr-x
2023-10-19 13:17
pkaction
15
KB
-rwxr-xr-x
2022-01-25 19:42
pkcheck
23.03
KB
-rwxr-xr-x
2022-01-25 19:42
pkexec
27.02
KB
-rwsr-xr-x
2022-01-25 19:42
pkg-config
44.38
KB
-rwxr-xr-x
2014-06-09 22:05
pkill
27.67
KB
-rwxr-xr-x
2020-09-30 17:21
pkla-admin-identities
19.23
KB
-rwxr-xr-x
2014-06-09 22:08
pkla-check-authorization
27.3
KB
-rwxr-xr-x
2014-06-09 22:08
pkttyagent
18.98
KB
-rwxr-xr-x
2022-01-25 19:42
pl2pm
4.42
KB
-rwxr-xr-x
2021-02-02 16:32
pldd
14.11
KB
-rwxr-xr-x
2022-05-18 16:18
plesk_configure
450
B
-rwxr-xr-x
2019-02-22 11:34
plymouth
39.77
KB
-rwxr-xr-x
2020-10-01 16:53
pmap
27.61
KB
-rwxr-xr-x
2020-09-30 17:21
pod2html
4
KB
-rwxr-xr-x
2021-02-02 16:32
pod2man
13.26
KB
-rwxr-xr-x
2014-06-09 19:56
pod2text
10.75
KB
-rwxr-xr-x
2014-06-09 19:56
pod2usage
3.67
KB
-rwxr-xr-x
2014-06-10 08:56
post-grohtml
187.55
KB
-rwxr-xr-x
2014-06-09 20:17
powernow-k8-decode
6.15
KB
-rwxr-xr-x
2024-04-24 16:13
pr
65.11
KB
-rwxr-xr-x
2020-11-16 22:24
pre-grohtml
86.24
KB
-rwxr-xr-x
2014-06-09 20:17
preconv
40.88
KB
-rwxr-xr-x
2014-06-09 20:17
printenv
28.28
KB
-rwxr-xr-x
2020-11-16 22:24
printf
48.61
KB
-rwxr-xr-x
2020-11-16 22:24
prlimit
41.2
KB
-rwxr-xr-x
2021-02-02 16:31
procan
76.99
KB
-rwxr-xr-x
2017-08-04 04:57
prove
13.13
KB
-rwxr-xr-x
2015-08-12 14:22
prtstat
15.25
KB
-rwxr-xr-x
2020-09-30 17:20
ps
97.77
KB
-rwxr-xr-x
2020-09-30 17:21
psed
52.08
KB
-rwxr-xr-x
2021-02-02 16:32
psfaddtable
19.48
KB
-rwxr-xr-x
2021-11-24 16:34
psfgettable
19.48
KB
-rwxr-xr-x
2021-11-24 16:34
psfstriptable
19.48
KB
-rwxr-xr-x
2021-11-24 16:34
psfxtable
19.48
KB
-rwxr-xr-x
2021-11-24 16:34
pstree
27.84
KB
-rwxr-xr-x
2020-09-30 17:20
pstree.x11
27.84
KB
-rwxr-xr-x
2020-09-30 17:20
pstruct
35.75
KB
-rwxr-xr-x
2021-02-02 16:32
ptaskset
3.8
KB
-rwxr-xr-x
2016-11-05 21:51
ptx
65.08
KB
-rwxr-xr-x
2020-11-16 22:24
pure-pw
116.81
KB
-rwxr-xr-x
2024-05-02 09:32
pure-pwconvert
20.82
KB
-rwxr-xr-x
2024-05-02 09:32
pure-statsdecode
20.96
KB
-rwxr-xr-x
2024-05-02 09:32
pwd
32.45
KB
-rwxr-xr-x
2020-11-16 22:24
pwdx
11.27
KB
-rwxr-xr-x
2020-09-30 17:21
pwmake
11.13
KB
-rwxr-xr-x
2018-04-11 03:58
pwscore
11.13
KB
-rwxr-xr-x
2018-04-11 03:58
pydoc
78
B
-rwxr-xr-x
2023-11-14 16:14
pydoc3
78
B
-rwxr-xr-x
2023-11-14 16:31
pydoc3.6
78
B
-rwxr-xr-x
2023-11-14 16:31
python
6.98
KB
-rwxr-xr-x
2023-11-14 16:14
python2
6.98
KB
-rwxr-xr-x
2023-11-14 16:14
python2.7
6.98
KB
-rwxr-xr-x
2023-11-14 16:14
python3
11.07
KB
-rwxr-xr-x
2023-11-14 16:31
python3.6
11.07
KB
-rwxr-xr-x
2023-11-14 16:31
python3.6m
11.07
KB
-rwxr-xr-x
2023-11-14 16:31
pyvenv
435
B
-rwxr-xr-x
2023-11-14 16:31
pyvenv-3.6
435
B
-rwxr-xr-x
2023-11-14 16:31
pzstd
755.23
KB
-rwxr-xr-x
2023-04-05 12:33
qemu-ga
267.8
KB
-rwxr-xr-x
2019-08-08 11:49
quota
83.31
KB
-rwxr-xr-x
2019-08-09 02:34
quotasync
70.84
KB
-rwxr-xr-x
2019-08-09 02:34
ranlib
61.22
KB
-rwxr-xr-x
2021-11-01 15:39
raw
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
read
28
B
-rwxr-xr-x
2021-11-24 16:33
readelf
509.83
KB
-rwxr-xr-x
2021-11-01 15:39
readlink
40.82
KB
-rwxr-xr-x
2020-11-16 22:24
realpath
61.23
KB
-rwxr-xr-x
2020-11-16 22:24
recode-sr-latin
15.29
KB
-rwxr-xr-x
2020-04-01 02:43
rename
11.26
KB
-rwxr-xr-x
2021-02-02 16:31
renice
11.21
KB
-rwxr-xr-x
2021-02-02 16:31
replace
3.52
MB
-rwxr-xr-x
2022-08-10 13:22
rescan-scsi-bus.sh
33.81
KB
-rwxr-xr-x
2020-04-01 04:29
reset
19.6
KB
-rwxr-xr-x
2017-09-06 22:08
resizecons
19.63
KB
-rwxr-xr-x
2021-11-24 16:34
resolve_stack_dump
3.54
MB
-rwxr-xr-x
2022-08-10 13:22
resolveip
3.54
MB
-rwxr-xr-x
2022-08-10 13:22
rev
11.26
KB
-rwxr-xr-x
2021-02-02 16:31
rhash
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
rm
61.4
KB
-rwxr-xr-x
2020-11-16 22:24
rmdir
44.46
KB
-rwxr-xr-x
2020-11-16 22:24
rpcgen
90.45
KB
-rwxr-xr-x
2022-05-18 16:18
rpm
15.75
KB
-rwxr-xr-x
2021-11-24 16:33
rpm2cpio
11.16
KB
-rwxr-xr-x
2021-11-24 16:33
rpmdb
11.73
KB
-rwxr-xr-x
2021-11-24 16:33
rpmkeys
11.73
KB
-rwxr-xr-x
2021-11-24 16:33
rpmquery
15.75
KB
-rwxr-xr-x
2021-11-24 16:33
rpmverify
15.75
KB
-rwxr-xr-x
2021-11-24 16:33
rsync
488.38
KB
-rwxr-xr-x
2022-12-15 16:21
rsyslog-recover-qi.pl
5.96
KB
-rwxr-xr-x
2022-05-31 15:22
run-parts
2.04
KB
-rwxr-xr-x
2014-06-09 22:14
runcon
32.47
KB
-rwxr-xr-x
2020-11-16 22:24
rvi
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
rview
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
s2p
52.08
KB
-rwxr-xr-x
2021-02-02 16:32
sandbox
17.52
KB
-rwxr-xr-x
2020-04-01 04:04
sasl2-sample-client
19.27
KB
-rwxr-xr-x
2022-02-24 13:27
sasl2-sample-server
19.1
KB
-rwxr-xr-x
2022-02-24 13:27
scl
19.5
KB
-rwxr-xr-x
2018-10-30 19:17
scl_enabled
258
B
-rwxr-xr-x
2018-10-30 19:17
scl_source
1.83
KB
-rwxr-xr-x
2018-10-30 19:17
scp
89.23
KB
-rwxr-xr-x
2023-08-04 16:00
screen
464.1
KB
-rwxr-sr-x
2021-03-09 15:26
script
19.61
KB
-rwxr-xr-x
2021-02-02 16:31
scriptreplay
15.29
KB
-rwxr-xr-x
2021-02-02 16:31
scsi-rescan
33.81
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_logging_level
7.72
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_mandat
3.55
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_readcap
1.3
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_ready
1.09
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_satl
3.76
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_start
1.25
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_stop
1.44
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_temperature
936
B
-rwxr-xr-x
2020-04-01 04:29
sdiff
48.41
KB
-rwxr-xr-x
2023-03-07 14:48
secon
24.06
KB
-rwxr-xr-x
2020-04-01 04:04
sed
74.29
KB
-rwxr-xr-x
2020-09-30 17:35
sedismod
249.42
KB
-rwxr-xr-x
2018-10-30 21:48
sedispol
176.32
KB
-rwxr-xr-x
2018-10-30 21:48
semodule_package
15.3
KB
-rwxr-xr-x
2020-04-01 04:04
seq
48.48
KB
-rwxr-xr-x
2020-11-16 22:24
setarch
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
setfacl
36.73
KB
-rwxr-xr-x
2020-04-01 02:16
setfont
40.38
KB
-rwxr-xr-x
2021-11-24 16:34
setkeycodes
11.16
KB
-rwxr-xr-x
2021-11-24 16:34
setleds
11.16
KB
-rwxr-xr-x
2021-11-24 16:34
setmetamode
11.21
KB
-rwxr-xr-x
2021-11-24 16:34
setpriv
36.06
KB
-rwxr-xr-x
2021-02-02 16:31
setsid
11.23
KB
-rwxr-xr-x
2021-02-02 16:31
setterm
27.48
KB
-rwxr-xr-x
2021-02-02 16:31
setup-nsssysinit
1.5
KB
-rwxr-xr-x
2023-10-19 13:17
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
2023-10-19 13:17
setvtrgb
11.34
KB
-rwxr-xr-x
2021-11-24 16:34
sftp
142.01
KB
-rwxr-xr-x
2023-08-04 16:00
sfv-hash
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
sg
40.95
KB
-rwsr-xr-x
2019-08-09 02:51
sg_compare_and_write
15.82
KB
-rwxr-xr-x
2020-04-01 04:30
sg_copy_results
20.02
KB
-rwxr-xr-x
2020-04-01 04:30
sg_dd
43.63
KB
-rwxr-xr-x
2020-04-01 04:30
sg_decode_sense
15.49
KB
-rwxr-xr-x
2020-04-01 04:30
sg_emc_trespass
11.09
KB
-rwxr-xr-x
2020-04-01 04:30
sg_format
24.05
KB
-rwxr-xr-x
2020-04-01 04:30
sg_get_config
28.22
KB
-rwxr-xr-x
2020-04-01 04:30
sg_get_lba_status
15.5
KB
-rwxr-xr-x
2020-04-01 04:30
sg_ident
15.46
KB
-rwxr-xr-x
2020-04-01 04:30
sg_inq
83.68
KB
-rwxr-xr-x
2020-04-01 04:30
sg_logs
92.48
KB
-rwxr-xr-x
2020-04-01 04:30
sg_luns
19.65
KB
-rwxr-xr-x
2020-04-01 04:30
sg_map
15.23
KB
-rwxr-xr-x
2020-04-01 04:30
sg_map26
23.77
KB
-rwxr-xr-x
2020-04-01 04:30
sg_modes
29.3
KB
-rwxr-xr-x
2020-04-01 04:30
sg_opcodes
23.88
KB
-rwxr-xr-x
2020-04-01 04:30
sg_persist
28.34
KB
-rwxr-xr-x
2020-04-01 04:30
sg_prevent
11.29
KB
-rwxr-xr-x
2020-04-01 04:30
sg_raw
19.78
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rbuf
19.66
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rdac
15.13
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read
23.33
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read_block_limits
11.31
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read_buffer
15.53
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read_long
15.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_readcap
19.66
KB
-rwxr-xr-x
2020-04-01 04:30
sg_reassign
15.54
KB
-rwxr-xr-x
2020-04-01 04:30
sg_referrals
15.48
KB
-rwxr-xr-x
2020-04-01 04:30
sg_requests
15.58
KB
-rwxr-xr-x
2020-04-01 04:30
sg_reset
11.46
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rmsn
11.32
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rtpg
15.39
KB
-rwxr-xr-x
2020-04-01 04:30
sg_safte
19.59
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sanitize
19.88
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sat_identify
15.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sat_phy_event
15.87
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sat_set_features
15.41
KB
-rwxr-xr-x
2020-04-01 04:30
sg_scan
15.34
KB
-rwxr-xr-x
2020-04-01 04:30
sg_senddiag
20.02
KB
-rwxr-xr-x
2020-04-01 04:30
sg_ses
67.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_start
19.7
KB
-rwxr-xr-x
2020-04-01 04:30
sg_stpg
19.61
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sync
15.52
KB
-rwxr-xr-x
2020-04-01 04:30
sg_test_rwbuf
15.6
KB
-rwxr-xr-x
2020-04-01 04:30
sg_turs
15.48
KB
-rwxr-xr-x
2020-04-01 04:30
sg_unmap
15.5
KB
-rwxr-xr-x
2020-04-01 04:30
sg_verify
15.7
KB
-rwxr-xr-x
2020-04-01 04:30
sg_vpd
77.67
KB
-rwxr-xr-x
2020-04-01 04:30
sg_wr_mode
19.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_write_buffer
15.66
KB
-rwxr-xr-x
2020-04-01 04:30
sg_write_long
15.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_write_same
19.9
KB
-rwxr-xr-x
2020-04-01 04:30
sg_xcopy
35.61
KB
-rwxr-xr-x
2020-04-01 04:30
sginfo
65.8
KB
-rwxr-xr-x
2020-04-01 04:30
sgm_dd
31.52
KB
-rwxr-xr-x
2020-04-01 04:30
sgp_dd
35.83
KB
-rwxr-xr-x
2020-04-01 04:30
sh
941.93
KB
-rwxr-xr-x
2021-11-24 16:33
sha1sum
36.57
KB
-rwxr-xr-x
2020-11-16 22:24
sha224sum
40.63
KB
-rwxr-xr-x
2020-11-16 22:24
sha256sum
40.63
KB
-rwxr-xr-x
2020-11-16 22:24
sha384sum
40.65
KB
-rwxr-xr-x
2020-11-16 22:24
sha512sum
40.65
KB
-rwxr-xr-x
2020-11-16 22:24
showconsolefont
15.47
KB
-rwxr-xr-x
2021-11-24 16:34
showkey
15.23
KB
-rwxr-xr-x
2021-11-24 16:34
shred
52.94
KB
-rwxr-xr-x
2020-11-16 22:24
shuf
49.13
KB
-rwxr-xr-x
2020-11-16 22:24
signver
102.6
KB
-rwxr-xr-x
2023-10-19 13:17
sigtool
195.78
KB
-rwxr-xr-x
2018-04-10 18:03
sim_client
14.97
KB
-rwxr-xr-x
2022-11-30 19:01
size
32.35
KB
-rwxr-xr-x
2021-11-01 15:39
skill
23.62
KB
-rwxr-xr-x
2020-09-30 17:21
slabinfo
34.96
KB
-rwxr-xr-x
2024-04-24 16:13
slabtop
19.52
KB
-rwxr-xr-x
2020-09-30 17:21
sleep
32.35
KB
-rwxr-xr-x
2020-11-16 22:24
slogin
756.4
KB
-rwxr-xr-x
2023-08-04 16:00
snice
23.62
KB
-rwxr-xr-x
2020-09-30 17:21
socat
380.43
KB
-rwxr-xr-x
2017-08-04 04:57
soelim
32.59
KB
-rwxr-xr-x
2014-06-09 20:17
sort
114.94
KB
-rwxr-xr-x
2020-11-16 22:24
sotruss
4.24
KB
-rwxr-xr-x
2022-05-18 15:57
splain
18.03
KB
-rwxr-xr-x
2021-02-02 16:32
split
69.47
KB
-rwxr-xr-x
2020-11-16 22:24
sprof
22.1
KB
-rwxr-xr-x
2022-05-18 16:18
sqlite3
54.95
KB
-rwxr-xr-x
2020-01-28 14:24
ssh
756.4
KB
-rwxr-xr-x
2023-08-04 16:00
ssh-add
352.46
KB
-rwxr-xr-x
2023-08-04 16:00
ssh-agent
373.25
KB
---x--s--x
2023-08-04 16:00
ssh-copy-id
10.22
KB
-rwxr-xr-x
2023-08-04 16:00
ssh-keygen
409.38
KB
-rwxr-xr-x
2023-08-04 16:00
ssh-keyscan
430.7
KB
-rwxr-xr-x
2023-08-04 16:00
ssltap
118.41
KB
-rwxr-xr-x
2023-10-19 13:17
stat
77.19
KB
-rwxr-xr-x
2020-11-16 22:24
stdbuf
64.88
KB
-rwxr-xr-x
2020-11-16 22:24
strings
32.55
KB
-rwxr-xr-x
2021-11-01 15:39
strip
227.34
KB
-rwxr-xr-x
2021-11-01 15:39
stty
68.61
KB
-rwxr-xr-x
2020-11-16 22:24
su
31.38
KB
-rwsr-xr-x
2021-02-02 16:31
sudo
147.88
KB
---s--x--x
2023-01-25 16:36
sudoedit
147.88
KB
---s--x--x
2023-01-25 16:36
sudoreplay
56.11
KB
---x--x--x
2023-01-25 16:36
sum
36.55
KB
-rwxr-xr-x
2020-11-16 22:24
sync
28.33
KB
-rwxr-xr-x
2020-11-16 22:24
systemctl
704.8
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-analyze
1.49
MB
-rwxr-xr-x
2023-12-07 14:51
systemd-ask-password
60.38
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-cat
39.98
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-cgls
326.29
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-cgtop
85.09
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-coredumpctl
154.52
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-delta
76.84
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-detect-virt
39.97
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-escape
48.2
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-firstboot
101.52
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-hwdb
85.31
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-inhibit
309.83
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-loginctl
489.62
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-machine-id-setup
52.23
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-notify
48.13
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-nspawn
545.88
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-path
52.16
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-run
387.05
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-stdio-bridge
305.77
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-sysv-convert
3.89
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-tmpfiles
146.13
KB
-rwxr-xr-x
2023-12-07 14:51
systemd-tty-ask-password-agent
84.75
KB
-rwxr-xr-x
2023-12-07 14:51
tabs
15.31
KB
-rwxr-xr-x
2017-09-06 22:08
tac
32.48
KB
-rwxr-xr-x
2020-11-16 22:24
tail
65.25
KB
-rwxr-xr-x
2020-11-16 22:24
tailf
23.88
KB
-rwxr-xr-x
2021-02-02 16:31
tar
338.02
KB
-rwxr-xr-x
2018-10-30 20:24
taskset
32.22
KB
-rwxr-xr-x
2021-02-02 16:31
tbl
115.96
KB
-rwxr-xr-x
2014-06-09 20:17
teamd
155.09
KB
-rwxr-xr-x
2020-09-30 16:51
teamdctl
28.98
KB
-rwxr-xr-x
2020-09-30 16:51
teamnl
19.09
KB
-rwxr-xr-x
2020-09-30 16:51
tee
32.38
KB
-rwxr-xr-x
2020-11-16 22:24
test
36.46
KB
-rwxr-xr-x
2020-11-16 22:24
testgdbm
29.77
KB
-rwxr-xr-x
2014-06-09 21:39
tic
64.26
KB
-rwxr-xr-x
2017-09-06 22:08
tiger-hash
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
timedatectl
330.22
KB
-rwxr-xr-x
2023-12-07 14:51
timeout
53.31
KB
-rwxr-xr-x
2020-11-16 22:24
tload
15.38
KB
-rwxr-xr-x
2020-09-30 17:21
tmon
31.11
KB
-rwxr-xr-x
2024-04-24 16:13
tmpwatch
27.87
KB
-rwxr-xr-x
2019-08-09 02:58
toe
15.43
KB
-rwxr-xr-x
2017-09-06 22:08
top
104.38
KB
-rwxr-xr-x
2020-09-30 17:21
touch
61.02
KB
-rwxr-xr-x
2020-11-16 22:24
tput
15.41
KB
-rwxr-xr-x
2017-09-06 22:08
tr
44.61
KB
-rwxr-xr-x
2020-11-16 22:24
tracepath
15.05
KB
-rwxr-xr-x
2017-08-04 08:01
tracepath6
15.05
KB
-rwxr-xr-x
2017-08-04 08:01
troff
512.96
KB
-rwxr-xr-x
2014-06-09 20:17
true
28.26
KB
-rwxr-xr-x
2020-11-16 22:24
truncate
52.68
KB
-rwxr-xr-x
2020-11-16 22:24
trust
179.08
KB
-rwxr-xr-x
2017-08-04 23:36
tset
19.6
KB
-rwxr-xr-x
2017-09-06 22:08
tsort
36.47
KB
-rwxr-xr-x
2020-11-16 22:24
tth-hash
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
tty
28.29
KB
-rwxr-xr-x
2020-11-16 22:24
turbostat
113.15
KB
-rwxr-xr-x
2024-04-24 16:13
tzselect
7.17
KB
-rwxr-xr-x
2022-05-18 15:56
udevadm
414.27
KB
-rwxr-xr-x
2023-12-07 14:51
ul
19.47
KB
-rwxr-xr-x
2021-02-02 16:31
umask
29
B
-rwxr-xr-x
2021-11-24 16:33
umount
31.23
KB
-rwsr-xr-x
2021-02-02 16:31
unalias
31
B
-rwxr-xr-x
2021-11-24 16:33
uname
32.3
KB
-rwxr-xr-x
2020-11-16 22:24
unexpand
32.45
KB
-rwxr-xr-x
2020-11-16 22:24
unicode_start
2.5
KB
-rwxr-xr-x
2021-11-24 16:32
unicode_stop
363
B
-rwxr-xr-x
2021-11-24 16:32
uniq
44.71
KB
-rwxr-xr-x
2020-11-16 22:24
unlink
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
unlz4
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
unshare
15.45
KB
-rwxr-xr-x
2021-02-02 16:31
unxz
73.52
KB
-rwxr-xr-x
2022-06-15 14:40
unzip
185.16
KB
-rwxr-xr-x
2022-01-13 16:52
unzipsfx
88.66
KB
-rwxr-xr-x
2022-01-13 16:52
unzstd
895.84
KB
-rwxr-xr-x
2023-04-05 12:33
update-ca-trust
1.03
KB
-rwxr-xr-x
2022-01-13 17:12
update-mime-database
52.82
KB
-rwxr-xr-x
2020-04-01 04:30
uptime
11.22
KB
-rwxr-xr-x
2020-09-30 17:21
urlgrabber
12.17
KB
-rwxr-xr-x
2020-04-01 04:14
users
32.42
KB
-rwxr-xr-x
2020-11-16 22:24
usleep
10.95
KB
-rwxr-xr-x
2020-11-16 16:20
usx2yloader
15.41
KB
-rwxr-xr-x
2016-11-05 18:34
utmpdump
15.45
KB
-rwxr-xr-x
2021-02-02 16:31
uuclient
14.97
KB
-rwxr-xr-x
2022-11-30 19:01
uuidgen
11.21
KB
-rwxr-xr-x
2021-02-02 16:31
vdir
114.85
KB
-rwxr-xr-x
2020-11-16 22:24
vi
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
view
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
vlock
15.73
KB
-rwxr-xr-x
2021-11-24 16:34
vmstat
31.48
KB
-rwxr-xr-x
2020-09-30 17:21
vxloader
15.38
KB
-rwxr-xr-x
2016-11-05 18:34
w
19.45
KB
-rwxr-xr-x
2020-09-30 17:21
wait
28
B
-rwxr-xr-x
2021-11-24 16:33
wall
14.98
KB
-r-xr-sr-x
2014-06-09 23:16
watch
24.14
KB
-rwxr-xr-x
2020-09-30 17:21
watchgnupg
15.35
KB
-rwxr-xr-x
2018-07-13 13:05
wc
40.67
KB
-rwxr-xr-x
2020-11-16 22:24
wdctl
40.7
KB
-rwxr-xr-x
2021-02-02 16:31
webalizer
180.58
KB
-rwxr-xr-x
2018-06-01 20:14
wget
408.96
KB
-rwxr-xr-x
2019-05-15 21:01
whatis
45.49
KB
-rwxr-xr-x
2018-10-30 20:26
whereis
20.2
KB
-rwxr-xr-x
2021-02-02 16:31
which
23.77
KB
-rwxr-xr-x
2014-06-10 02:25
whiptail
27.84
KB
-rwxr-xr-x
2014-06-10 07:48
whirlpool-hash
71.57
KB
-rwxr-xr-x
2017-03-20 19:47
who
48.7
KB
-rwxr-xr-x
2020-11-16 22:24
whoami
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
write
19.09
KB
-rwxr-sr-x
2021-02-02 16:31
wsrep_sst_backup
2.95
KB
-rwxr-xr-x
2022-08-10 10:59
wsrep_sst_common
52.19
KB
-rw-r--r--
2022-08-10 10:59
wsrep_sst_mariabackup
49.64
KB
-rwxr-xr-x
2022-08-10 10:59
wsrep_sst_mysqldump
7.67
KB
-rwxr-xr-x
2022-08-10 10:59
wsrep_sst_rsync
29.81
KB
-rwxr-xr-x
2022-08-10 10:59
wsrep_sst_rsync_wan
29.81
KB
-rwxr-xr-x
2022-08-10 10:59
x86_64
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
x86_64-redhat-linux-c++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
x86_64-redhat-linux-g++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
x86_64-redhat-linux-gcc
750.59
KB
-rwxr-xr-x
2020-09-30 02:18
x86_energy_perf_policy
10.23
KB
-rwxr-xr-x
2024-04-24 16:13
xargs
60.91
KB
-rwxr-xr-x
2018-10-30 16:42
xgettext
265.35
KB
-rwxr-xr-x
2020-04-01 02:43
xmlcatalog
15.3
KB
-rwxr-xr-x
2021-10-21 16:15
xmllint
61.94
KB
-rwxr-xr-x
2021-10-21 16:15
xmlwf
24
KB
-rwxr-xr-x
2022-10-06 12:52
xsubpp
4.45
KB
-rwxr-xr-x
2017-08-02 05:43
xz
73.52
KB
-rwxr-xr-x
2022-06-15 14:40
xzcat
73.52
KB
-rwxr-xr-x
2022-06-15 14:40
xzcmp
6.48
KB
-rwxr-xr-x
2022-06-15 14:40
xzdec
11.21
KB
-rwxr-xr-x
2022-06-15 14:40
xzdiff
6.48
KB
-rwxr-xr-x
2022-06-15 14:40
xzegrep
5.76
KB
-rwxr-xr-x
2022-06-15 14:40
xzfgrep
5.76
KB
-rwxr-xr-x
2022-06-15 14:40
xzgrep
5.76
KB
-rwxr-xr-x
2022-06-15 14:40
xzless
1.76
KB
-rwxr-xr-x
2022-06-15 14:40
xzmore
2.11
KB
-rwxr-xr-x
2022-06-15 14:40
yara
276.28
KB
-rwxr-xr-x
2017-05-03 15:14
yarac
267.05
KB
-rwxr-xr-x
2017-05-03 15:14
yes
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
ypdomainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
yum
801
B
-rwxr-xr-x
2020-10-01 17:03
zcat
1.9
KB
-rwxr-xr-x
2022-05-12 14:58
zcmp
1.72
KB
-rwxr-xr-x
2022-05-12 14:58
zdiff
5.63
KB
-rwxr-xr-x
2022-05-12 14:58
zegrep
123
B
-rwxr-xr-x
2022-05-12 14:58
zfgrep
123
B
-rwxr-xr-x
2022-05-12 14:58
zforce
2.09
KB
-rwxr-xr-x
2022-05-12 14:58
zgrep
5.98
KB
-rwxr-xr-x
2022-05-12 14:58
zip
210.78
KB
-rwxr-xr-x
2016-11-05 16:49
zipcloak
98.1
KB
-rwxr-xr-x
2016-11-05 16:49
zipdetails
47.32
KB
-rwxr-xr-x
2014-06-10 00:59
zipgrep
2.88
KB
-rwxr-xr-x
2008-10-10 17:40
zipinfo
185.16
KB
-rwxr-xr-x
2022-01-13 16:52
zipnote
93.73
KB
-rwxr-xr-x
2016-11-05 16:49
zipsplit
97.75
KB
-rwxr-xr-x
2016-11-05 16:49
zless
1.99
KB
-rwxr-xr-x
2022-05-12 14:58
zmore
2.79
KB
-rwxr-xr-x
2022-05-12 14:58
znew
5.22
KB
-rwxr-xr-x
2022-05-12 14:58
zsoelim
32.59
KB
-rwxr-xr-x
2014-06-09 20:17
zstd
895.84
KB
-rwxr-xr-x
2023-04-05 12:33
zstdcat
895.84
KB
-rwxr-xr-x
2023-04-05 12:33
zstdgrep
3.78
KB
-rwxr-xr-x
2023-04-05 12:33
zstdless
197
B
-rwxr-xr-x
2023-04-05 12:33
zstdmt
895.84
KB
-rwxr-xr-x
2023-04-05 12:33
Save
Rename
# Copyright (C) 2017-2022 MariaDB # Copyright (C) 2012-2015 Codership Oy # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston # MA 02110-1335 USA. # This is a common command line parser to be sourced by other SST scripts trap 'exit 32' HUP PIPE trap 'exit 3' INT QUIT TERM # Setting the path for some utilities on CentOS export PATH="$PATH:/usr/sbin:/usr/bin:/sbin:/bin" trim_string() { if [ -n "$BASH_VERSION" ]; then local pattern="[![:space:]${2:-}]" local x="${1#*$pattern}" local z=${#1} x=${#x} if [ $x -ne $z ]; then local y="${1%$pattern*}" y=${#y} x=$(( z-x-1 )) y=$(( y-x+1 )) printf '%s' "${1:$x:$y}" else printf '' fi else local pattern="[[:space:]${2:-}]" echo "$1" | sed -E "s/^$pattern+|$pattern+\$//g" fi } trim_dir() { local t=$(trim_string "$1") if [ "$t" != '/' ]; then if [ "${t%/}" != "$t" ]; then t=$(trim_string "${t%/}") fi else t='.' fi if [ -n "$BASH_VERSION" ]; then printf '%s' "$t" else echo "$t" fi } to_minuses() { local x="$1" local t="${1#*_}" local r="" while [ "$t" != "$x" ]; do r="$r${x%%_*}-" x="$t" t="${t#*_}" done if [ -n "$BASH_VERSION" ]; then printf '%s' "$r$x" else echo "$r$x" fi } WSREP_SST_OPT_BYPASS=0 WSREP_SST_OPT_PROGRESS=0 WSREP_SST_OPT_BINLOG="" WSREP_SST_OPT_BINLOG_INDEX="" WSREP_SST_OPT_LOG_BASENAME="" WSREP_SST_OPT_DATA="" WSREP_SST_OPT_AUTH="${WSREP_SST_OPT_AUTH:-}" WSREP_SST_OPT_USER="${WSREP_SST_OPT_USER:-}" WSREP_SST_OPT_PSWD="${WSREP_SST_OPT_PSWD:-}" WSREP_SST_OPT_REMOTE_AUTH="${WSREP_SST_OPT_REMOTE_AUTH:-}" WSREP_SST_OPT_DEFAULT="" WSREP_SST_OPT_DEFAULTS="" WSREP_SST_OPT_EXTRA_DEFAULT="" WSREP_SST_OPT_EXTRA_DEFAULTS="" WSREP_SST_OPT_SUFFIX_DEFAULT="" WSREP_SST_OPT_SUFFIX_VALUE="" WSREP_SST_OPT_MYSQLD="" WSREP_SST_OPT_PORT="" WSREP_SST_OPT_ADDR="" WSREP_SST_OPT_ADDR_PORT="" WSREP_SST_OPT_HOST="" WSREP_SST_OPT_HOST_UNESCAPED="" INNODB_DATA_HOME_DIR=$(trim_dir "${INNODB_DATA_HOME_DIR:-}") INNODB_LOG_GROUP_HOME=$(trim_dir "${INNODB_LOG_GROUP_HOME:-}") INNODB_UNDO_DIR=$(trim_dir "${INNODB_UNDO_DIR:-}") INNODB_BUFFER_POOL="" INNODB_FORCE_RECOVERY="" INNOEXTRA="" while [ $# -gt 0 ]; do case "$1" in '--address') WSREP_SST_OPT_ADDR="$2" # # Break address string into host:port/path parts # case "$WSREP_SST_OPT_ADDR" in \[*) # IPv6 # Remove the starting and ending square brackets, if present: addr_no_bracket="${WSREP_SST_OPT_ADDR#\[}" # Some utilities and subsequent code require an address # without square brackets: readonly WSREP_SST_OPT_HOST_UNESCAPED="${addr_no_bracket%%\]*}" # Square brackets are needed in most cases: readonly WSREP_SST_OPT_HOST="[$WSREP_SST_OPT_HOST_UNESCAPED]" # Mark this address as IPv6: readonly WSREP_SST_OPT_HOST_IPv6=1 # Let's remove the leading part that contains the host address: remain="${WSREP_SST_OPT_ADDR#*\]}" ;; *) readonly WSREP_SST_OPT_HOST="${WSREP_SST_OPT_ADDR%%[:/]*}" readonly WSREP_SST_OPT_HOST_UNESCAPED="$WSREP_SST_OPT_HOST" readonly WSREP_SST_OPT_HOST_IPv6=0 # Let's remove the leading part that contains the host address: remain="${WSREP_SST_OPT_ADDR#*[:/]}" ;; esac # If there is nothing but the address, then the remainder is empty: [ "$remain" = "$WSREP_SST_OPT_ADDR" ] && remain="" # Let's remove the ":" character that separates the port number # from the hostname: remain="${remain#:}" # Extract the port number from the address - all characters # up to "/" (if present): WSREP_SST_OPT_ADDR_PORT="${remain%%/*}" # If the "/" character is present, then the path is not empty: if [ "$WSREP_SST_OPT_ADDR_PORT" != "$remain" ]; then # This operation removes everything up to the "/" character, # effectively removing the port number from the string: readonly WSREP_SST_OPT_PATH="${remain#*/}" else readonly WSREP_SST_OPT_PATH="" fi # Remove the module name part from the string, which ends with "/": remain="${WSREP_SST_OPT_PATH#*/}" # This operation removes the tail after the very first occurrence # of the "/" character, inclusively: readonly WSREP_SST_OPT_MODULE="${WSREP_SST_OPT_PATH%%/*}" # If there is one more "/" in the string, then everything before # it will be the LSN, otherwise the LSN is empty: if [ "$remain" != "$WSREP_SST_OPT_PATH" ]; then # Extract the part that matches the LSN by removing all # characters starting from the very first "/": readonly WSREP_SST_OPT_LSN="${remain%%/*}" # Exctract everything after the first occurrence of # the "/" character in the string: source="$remain" remain="${remain#*/}" # If the remainder does not match the original string, # then there is something else (the version number in # our case): if [ "$remain" != "$source" ]; then # Let's extract the version number by removing the tail # after the very first occurence of the "/" character # (inclusively): readonly WSREP_SST_OPT_SST_VER="${remain%%/*}" else readonly WSREP_SST_OPT_SST_VER="" fi else readonly WSREP_SST_OPT_LSN="" readonly WSREP_SST_OPT_SST_VER="" fi shift ;; '--bypass') readonly WSREP_SST_OPT_BYPASS=1 ;; '--progress') readonly WSREP_SST_OPT_PROGRESS=$(( $2 )) shift ;; '--datadir') # Let's remove the trailing slash: readonly WSREP_SST_OPT_DATA=$(trim_dir "$2") shift ;; '--innodb-data-home-dir') # Let's remove the trailing slash: readonly INNODB_DATA_HOME_DIR=$(trim_dir "$2") shift ;; '--innodb-log-group-home-dir') # Let's remove the trailing slash: readonly INNODB_LOG_GROUP_HOME=$(trim_dir "$2") shift ;; '--innodb-undo-directory') # Let's remove the trailing slash: readonly INNODB_UNDO_DIR=$(trim_dir "$2") shift ;; '--innodb-buffer-pool-filename') readonly INNODB_BUFFER_POOL=$(trim_string "$2") shift ;; '--defaults-file') readonly WSREP_SST_OPT_DEFAULT="$1=$2" readonly WSREP_SST_OPT_DEFAULTS="$1='$2'" shift ;; '--defaults-extra-file') readonly WSREP_SST_OPT_EXTRA_DEFAULT="$1=$2" readonly WSREP_SST_OPT_EXTRA_DEFAULTS="$1='$2'" shift ;; '--defaults-group-suffix') readonly WSREP_SST_OPT_SUFFIX_DEFAULT="$1=$2" readonly WSREP_SST_OPT_SUFFIX_VALUE="$2" shift ;; '--host') case "$2" in \[*) # IPv6 # Remove the starting and ending square brackets, if present: addr_no_bracket="${2#\[}" # Some utilities and subsequent code require an address # without square brackets: readonly WSREP_SST_OPT_HOST_UNESCAPED="${addr_no_bracket%%\]*}" # Square brackets are needed in most cases: readonly WSREP_SST_OPT_HOST="[${WSREP_SST_OPT_HOST_UNESCAPED}]" # Mark this address as IPv6: readonly WSREP_SST_OPT_HOST_IPv6=1 ;; *) readonly WSREP_SST_OPT_HOST="$2" readonly WSREP_SST_OPT_HOST_UNESCAPED="$2" readonly WSREP_SST_OPT_HOST_IPv6=0 ;; esac WSREP_SST_OPT_ADDR="$WSREP_SST_OPT_HOST" shift ;; '--local-port') readonly WSREP_SST_OPT_LPORT=$(( $2 )) shift ;; '--parent') readonly WSREP_SST_OPT_PARENT=$(( $2 )) shift ;; '--password') WSREP_SST_OPT_PSWD="$2" shift ;; '--port') readonly WSREP_SST_OPT_PORT=$(( $2 )) shift ;; '--role') readonly WSREP_SST_OPT_ROLE="$2" shift ;; '--socket') readonly WSREP_SST_OPT_SOCKET="$2" shift ;; '--user') WSREP_SST_OPT_USER="$2" shift ;; '--gtid') readonly WSREP_SST_OPT_GTID="$2" shift ;; '--binlog'|'--log-bin') readonly WSREP_SST_OPT_BINLOG="$2" shift ;; '--binlog-index'|'--log-bin-index') WSREP_SST_OPT_BINLOG_INDEX="$2" shift ;; '--log-basename') readonly WSREP_SST_OPT_LOG_BASENAME="$2" shift ;; '--gtid-domain-id') readonly WSREP_SST_OPT_GTID_DOMAIN_ID="$2" shift ;; '--mysqld-args') original_cmd="" shift cmd_tail=0 while [ $# -gt 0 ]; do lname="${1#--}" # "--" is interpreted as the end of the list of options: if [ -z "$lname" ]; then shift if [ $# -gt 0 ]; then # copy "--" to the output string: original_cmd="$original_cmd --" # All other arguments must be copied unchanged: while [ $# -gt 0 ]; do original_cmd="$original_cmd '$1'" shift done fi break fi # Make sure the argument does not start with "--", otherwise it # is a long option, which is processed after this "if": if [ "$lname" = "$1" ]; then # Check if the argument is the short option or the short # options list, starting with "-": options="${1#-}" if [ "$options" != "$1" -a -n "$options" ]; then slist="" while [ -n "$options" ]; do # Let's separate the first character as the current # option name: if [ -n "$BASH_VERSION" ]; then option="${options:0:1}" else # If it's not bash, then we need to use slow # external utilities: option=$(echo "$options" | cut -c1) fi # And the subsequent characters consider option value: value="" if [ ${#options} -gt 0 ]; then value="${options#?}" fi # Check for options without argument: if [ "$option" != '?' -a \ "$option" != 'a' -a \ "$option" != 's' -a \ "$option" != 'v' ] then # If the option value is absent, then check # the following argument: if [ -z "$value" -a $# -gt 1 ]; then # if the next argument does not start with # the "-" character, then next argument is # the current option value: if [ "${2#-}" = "$2" ]; then shift value="$1" elif [ "$2" = '--' ]; then shift if [ $# -gt 1 ]; then cmd_tail=1 shift value="$1" fi fi fi if [ "$option" = 'h' ]; then if [ -z "$WSREP_SST_OPT_DATA" ]; then MYSQLD_OPT_DATADIR=$(trim_dir "$value") fi elif [ "$option" != 'u' -a \ "$option" != 'P' ] then if [ $cmd_tail -ne 0 ]; then option="$option --" fi if [ -z "$value" ]; then slist="$slist$option" elif [ -z "$slist" ]; then slist="$option '$value'" else slist="$slist -$option '$value'" fi break fi if [ $cmd_tail -ne 0 ]; then if [ -n "$slist" ]; then slist="$slist --" else slist='-' fi fi break else slist="$slist$option" fi options="$value" done if [ -n "$slist" ]; then original_cmd="$original_cmd -$slist" fi elif [ -z "$options" ]; then # We found an minus sign without any characters after it: original_cmd="$original_cmd -" else # We found a value that does not start with a minus - # it is a positional argument or the value of previous # option. Copy it to output string (as is): original_cmd="$original_cmd '$1'" fi shift if [ $cmd_tail -ne 0 ]; then # All other arguments must be copied unchanged: while [ $# -gt 0 ]; do original_cmd="$original_cmd '$1'" shift done break fi continue fi # Now we are sure that we are working with an option # that has a "long" name, so remove all characters after # the first equal sign: option="${1%%=*}" # If the option name contains underscores, then replace # them to minuses: if [ "${option#*_}" != "$option" ]; then option=$(to_minuses "$option") fi # The "--loose-" prefix should not affect the recognition # of the option name: if [ "${option#--loose-}" != "$option" ]; then option="--${option#--loose-}" fi # Some options just need to be removed from the list: if [ "$option" != '--defaults-file' -a \ "$option" != '--defaults-extra-file' -a \ "$option" != '--defaults-group-suffix' -a \ "$option" != '--user' -a \ "$option" != '--port' -a \ "$option" != '--socket' ]; then value="${1#*=}" if [ "$value" = "$1" ]; then value="" fi # Let's fill in the variables containing important paths # that might not have been passed through explicit parameters # (+ removing the trailing slash in these paths). Many of these # options are processed internally within scripts or passed # explicitly to other programs, so we need to remove them # from mysqld's argument list: skip_mysqld_arg=0 case "$option" in '--innodb-data-home-dir') if [ -z "$INNODB_DATA_HOME_DIR" ]; then MYSQLD_OPT_INNODB_DATA_HOME_DIR=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; '--innodb-log-group-home-dir') if [ -z "$INNODB_LOG_GROUP_HOME" ]; then MYSQLD_OPT_INNODB_LOG_GROUP_HOME=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; '--innodb-undo-directory') if [ -z "$INNODB_UNDO_DIR" ]; then MYSQLD_OPT_INNODB_UNDO_DIR=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; '--innodb-buffer-pool-filename') if [ -z "$INNODB_BUFFER_POOL" ]; then MYSQLD_OPT_INNODB_BUFFER_POOL=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--innodb-force-recovery') if [ -n "$value" -a "$value" != "0" ]; then INNODB_FORCE_RECOVERY=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--log-bin') if [ -z "$WSREP_SST_OPT_BINLOG" ]; then MYSQLD_OPT_LOG_BIN=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--log-bin-index') if [ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then MYSQLD_OPT_LOG_BIN_INDEX=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--log-basename') if [ -z "$WSREP_SST_OPT_LOG_BASENAME" ]; then MYSQLD_OPT_LOG_BASENAME=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--datadir') if [ -z "$WSREP_SST_OPT_DATA" ]; then MYSQLD_OPT_DATADIR=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; esac if [ $skip_mysqld_arg -eq 0 ]; then original_cmd="$original_cmd '$1'" fi fi shift done WSREP_SST_OPT_MYSQLD="${original_cmd# *}" break ;; *) # Must be command usage # exit 1 ;; esac shift done WSREP_TRANSFER_TYPE='SST' [ $WSREP_SST_OPT_BYPASS -ne 0 ] && readonly WSREP_TRANSFER_TYPE='IST' # Let's take the name of the current script as a base, # removing the directory, extension and "wsrep_sst_" prefix: WSREP_METHOD="${0##*/}" WSREP_METHOD="${WSREP_METHOD%.*}" readonly WSREP_METHOD="${WSREP_METHOD#wsrep_sst_}" if [ -n "${WSREP_SST_OPT_ROLE+x}" ]; then if [ "$WSREP_SST_OPT_ROLE" != 'donor' -a \ "$WSREP_SST_OPT_ROLE" != 'joiner' ] then wsrep_log_error "Unrecognized role: '$WSREP_SST_OPT_ROLE'" exit 22 # EINVAL fi else readonly WSREP_SST_OPT_ROLE='donor' fi readonly WSREP_SST_OPT_PROGRESS # The same argument can be present on the command line several # times, in this case we must take its last value: if [ -n "${MYSQLD_OPT_INNODB_DATA_HOME_DIR:-}" -a \ -z "$INNODB_DATA_HOME_DIR" ]; then readonly INNODB_DATA_HOME_DIR="$MYSQLD_OPT_INNODB_DATA_HOME_DIR" fi if [ -n "${MYSQLD_OPT_INNODB_LOG_GROUP_HOME:-}" -a \ -z "$INNODB_LOG_GROUP_HOME" ]; then readonly INNODB_LOG_GROUP_HOME="$MYSQLD_OPT_INNODB_LOG_GROUP_HOME" fi if [ -n "${MYSQLD_OPT_INNODB_UNDO_DIR:-}" -a \ -z "$INNODB_UNDO_DIR" ]; then readonly INNODB_UNDO_DIR="$MYSQLD_OPT_INNODB_UNDO_DIR" fi if [ -n "${MYSQLD_OPT_INNODB_BUFFER_POOL:-}" -a \ -z "$INNODB_BUFFER_POOL" ]; then readonly INNODB_BUFFER_POOL="$MYSQLD_OPT_INNODB_BUFFER_POOL" fi if [ -n "${MYSQLD_OPT_LOG_BIN:-}" -a \ -z "$WSREP_SST_OPT_BINLOG" ]; then readonly WSREP_SST_OPT_BINLOG="$MYSQLD_OPT_LOG_BIN" fi if [ -n "${MYSQLD_OPT_LOG_BIN_INDEX:-}" -a \ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then WSREP_SST_OPT_BINLOG_INDEX="$MYSQLD_OPT_LOG_BIN_INDEX" fi if [ -n "${MYSQLD_OPT_DATADIR:-}" -a \ -z "$WSREP_SST_OPT_DATA" ]; then readonly WSREP_SST_OPT_DATA="$MYSQLD_OPT_DATADIR" fi if [ -n "${MYSQLD_OPT_LOG_BASENAME:-}" -a \ -z "$WSREP_SST_OPT_LOG_BASENAME" ]; then readonly WSREP_SST_OPT_LOG_BASENAME="$MYSQLD_OPT_LOG_BASENAME" fi # If the --log-bin option is present without a value, then # set WSREP_SST_OPT_BINLOG value using other arguments: if [ -z "$WSREP_SST_OPT_BINLOG" -a -n "${MYSQLD_OPT_LOG_BIN+x}" ]; then if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then # If the WSREP_SST_OPT_BINLOG variable is not set, but # --log-basename is present among the arguments to mysqld, # then set WSREP_SST_OPT_BINLOG equal to the base name # with the "-bin" suffix: readonly WSREP_SST_OPT_BINLOG="$WSREP_SST_OPT_LOG_BASENAME-bin" else # Take the default name: readonly WSREP_SST_OPT_BINLOG='mysql-bin' fi fi # Reconstructing the command line arguments that control the innodb # and binlog options: if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then if [ -n "$WSREP_SST_OPT_MYSQLD" ]; then WSREP_SST_OPT_MYSQLD="--log-basename='$WSREP_SST_OPT_LOG_BASENAME' $WSREP_SST_OPT_MYSQLD" else WSREP_SST_OPT_MYSQLD="--log-basename='$WSREP_SST_OPT_LOG_BASENAME'" fi fi if [ -n "$INNODB_DATA_HOME_DIR" ]; then INNOEXTRA="$INNOEXTRA --innodb-data-home-dir='$INNODB_DATA_HOME_DIR'" fi if [ -n "$INNODB_LOG_GROUP_HOME" ]; then INNOEXTRA="$INNOEXTRA --innodb-log-group-home-dir='$INNODB_LOG_GROUP_HOME'" fi if [ -n "$INNODB_UNDO_DIR" ]; then INNOEXTRA="$INNOEXTRA --innodb-undo-directory='$INNODB_UNDO_DIR'" fi if [ -n "$INNODB_BUFFER_POOL" ]; then INNOEXTRA="$INNOEXTRA --innodb-buffer-pool-filename='$INNODB_BUFFER_POOL'" fi if [ -n "$WSREP_SST_OPT_BINLOG" ]; then INNOEXTRA="$INNOEXTRA --log-bin='$WSREP_SST_OPT_BINLOG'" if [ -n "$WSREP_SST_OPT_BINLOG_INDEX" ]; then if [ -n "$WSREP_SST_OPT_MYSQLD" ]; then WSREP_SST_OPT_MYSQLD="--log-bin-index='$WSREP_SST_OPT_BINLOG_INDEX' $WSREP_SST_OPT_MYSQLD" else WSREP_SST_OPT_MYSQLD="--log-bin-index='$WSREP_SST_OPT_BINLOG_INDEX'" fi fi fi readonly INNODB_FORCE_RECOVERY readonly WSREP_SST_OPT_MYSQLD get_binlog() { # if no command line argument and WSREP_SST_OPT_BINLOG is not set, # try to get it from my.cnf: if [ -z "$WSREP_SST_OPT_BINLOG" ]; then WSREP_SST_OPT_BINLOG=$(parse_cnf '--mysqld' 'log-bin') fi # if no command line argument and WSREP_SST_OPT_BINLOG_INDEX is not set, # try to get it from my.cnf: if [ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then WSREP_SST_OPT_BINLOG_INDEX=$(parse_cnf '--mysqld' 'log-bin-index') fi # if no command line argument and WSREP_SST_OPT_LOG_BASENAME is not set, # then try to get it from my.cnf: if [ -z "$WSREP_SST_OPT_LOG_BASENAME" ]; then WSREP_SST_OPT_LOG_BASENAME=$(parse_cnf '--mysqld' 'log-basename') fi if [ -z "$WSREP_SST_OPT_BINLOG" ]; then # If the log-bin option is specified without a parameter, # then we need to build the name of the index file according # to the rules described in the server documentation: if [ $(in_config '--mysqld' 'log-bin') -ne 0 ]; then if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then # If the WSREP_SST_OPT_BINLOG variable is not set, but # --log-basename is present among the arguments of mysqld, # then set WSREP_SST_OPT_BINLOG equal to the base name # with the "-bin" suffix: readonly WSREP_SST_OPT_BINLOG="$WSREP_SST_OPT_LOG_BASENAME-bin" else # Take the default name: readonly WSREP_SST_OPT_BINLOG='mysql-bin' fi fi fi if [ -n "$WSREP_SST_OPT_BINLOG" ]; then # If the name of the index file is not specified, then we will build # it according to the specifications for the server: if [ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then # If the WSREP_SST_OPT_BINLOG_INDEX variable is not set, but # --log-basename is present among the arguments of mysqld, # then set WSREP_SST_OPT_BINLOG_INDEX equal to the base name # with the "-bin" suffix: readonly WSREP_SST_OPT_BINLOG_INDEX="$WSREP_SST_OPT_LOG_BASENAME-bin.index" else # Use the default name (note that base of this name # is already defined above): readonly WSREP_SST_OPT_BINLOG_INDEX="$WSREP_SST_OPT_BINLOG.index" fi else # Remove all directories from the index file path: local filename="${WSREP_SST_OPT_BINLOG_INDEX##*/}" # Check if the index file name contains the extension: if [ "${filename%.*}" = "$filename" ]; then # Let's add the default extension (".index"): readonly WSREP_SST_OPT_BINLOG_INDEX="$WSREP_SST_OPT_BINLOG_INDEX.index" else readonly WSREP_SST_OPT_BINLOG_INDEX fi fi fi } # Check the presence of the port value and, if necessary, transfer # the port number from the address to the WSREP_SST_OPT_PORT variable # or vice versa, and also, if necessary, substitute the missing port # value into the address value: if [ -n "$WSREP_SST_OPT_ADDR_PORT" ]; then if [ -n "$WSREP_SST_OPT_PORT" ]; then if [ "$WSREP_SST_OPT_PORT" != "$WSREP_SST_OPT_ADDR_PORT" ]; then echo "WSREP_SST: [ERROR] port in --port=$WSREP_SST_OPT_PORT" \ "differs from port in --address=$WSREP_SST_OPT_ADDR" >&2 exit 2 fi else # If the address contains a port number, assign it to # the corresponding variable: readonly WSREP_SST_OPT_PORT="$WSREP_SST_OPT_ADDR_PORT" fi else # If the port is missing, take the default port: if [ -z "$WSREP_SST_OPT_PORT" ]; then readonly WSREP_SST_OPT_PORT=4444 fi WSREP_SST_OPT_ADDR_PORT="$WSREP_SST_OPT_PORT" fi # Let's construct a new value for the address with the port: sst_path="${WSREP_SST_OPT_PATH:+/}$WSREP_SST_OPT_PATH" WSREP_SST_OPT_ADDR="$WSREP_SST_OPT_HOST:$WSREP_SST_OPT_PORT$sst_path" readonly WSREP_SST_OPT_ADDR readonly WSREP_SST_OPT_ADDR_PORT commandex() { if [ -n "$BASH_VERSION" ]; then command -v "$1" || : elif [ -x "$1" ]; then echo "$1" else which "$1" || : fi } # try to use my_print_defaults, mysql and mysqldump that come # with the sources (for MTR suite): script_binary=$(dirname "$0") SCRIPTS_DIR=$(cd "$script_binary"; pwd) EXTRA_DIR="$SCRIPTS_DIR/../extra" CLIENT_DIR="$SCRIPTS_DIR/../client" if [ -x "$CLIENT_DIR/mysql" ]; then MYSQL_CLIENT="$CLIENT_DIR/mysql" else MYSQL_CLIENT=$(commandex 'mysql') fi if [ -x "$CLIENT_DIR/mysqldump" ]; then MYSQLDUMP="$CLIENT_DIR/mysqldump" else MYSQLDUMP=$(commandex 'mysqldump') fi wsrep_log() { # echo everything to stderr so that it gets into common error log # deliberately made to look different from the rest of the log local readonly tst=$(date "+%Y%m%d %H:%M:%S.%N" | cut -b -21) echo "WSREP_SST: $* ($tst)" >&2 } wsrep_log_error() { wsrep_log "[ERROR] $*" } wsrep_log_warning() { wsrep_log "[WARNING] $*" } wsrep_log_info() { wsrep_log "[INFO] $*" } if [ -x "$SCRIPTS_DIR/my_print_defaults" ]; then MY_PRINT_DEFAULTS="$SCRIPTS_DIR/my_print_defaults" elif [ -x "$EXTRA_DIR/my_print_defaults" ]; then MY_PRINT_DEFAULTS="$EXTRA_DIR/my_print_defaults" else MY_PRINT_DEFAULTS=$(commandex 'my_print_defaults') if [ -z "$MY_PRINT_DEFAULTS" ]; then wsrep_log_error "my_print_defaults not found in path" exit 2 fi fi readonly MY_PRINT_DEFAULTS wsrep_defaults="$WSREP_SST_OPT_DEFAULTS" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_EXTRA_DEFAULTS:+ }$WSREP_SST_OPT_EXTRA_DEFAULTS" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_SUFFIX_DEFAULT:+ }$WSREP_SST_OPT_SUFFIX_DEFAULT" readonly WSREP_SST_OPT_CONF="${wsrep_defaults:+ }$wsrep_defaults" wsrep_defaults="$WSREP_SST_OPT_DEFAULT" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_EXTRA_DEFAULT:+ }$WSREP_SST_OPT_EXTRA_DEFAULT" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_SUFFIX_DEFAULT:+ }$WSREP_SST_OPT_SUFFIX_DEFAULT" readonly WSREP_SST_OPT_CONF_UNQUOTED="${wsrep_defaults:+ }$wsrep_defaults" # # User can specify mariabackup specific settings that will be used during sst # process like encryption, etc. Parse such configuration option. # # 1st parameter: group (config file section like sst) or # my_print_defaults argument (like --mysqld) # 2nd parameter: var : name of the variable in the section, e.g. server-id # 3rd parameter: default value for the parameter # parse_cnf() { local groups="$1" local var="$2" local reval="" # normalize the variable names specified in the .cnf file # (user can use '_' or '-', for example, log-bin or log_bin), # then search for the last instance of the desired variable # and finally get the value of that variable (if the variable # was specified several times - we use only its last instance): local pattern='BEGIN {OFS=FS="="} {sub(/^--loose/,"-",$0); gsub(/_/,"-",$1); if ($1=="--'"$var"'") lastval=substr($0,length($1)+2)} END {print lastval}' while [ -n "$groups" ]; do # Remove the largest suffix starting with the '|' character: local group="${groups%%\|*}" # Remove the remainder (the group name) from the rest # of the groups list (as if it were a prefix): if [ "$group" != "$groups" ]; then groups="${groups#*\|}" else groups="" fi # If the group name is the same as the "mysqld" without "--" prefix, # then try to use it together with the group suffix: if [ "$group" = 'mysqld' -a -n "$WSREP_SST_OPT_SUFFIX_VALUE" ]; then reval=$("$MY_PRINT_DEFAULTS" \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "mysqld$WSREP_SST_OPT_SUFFIX_VALUE" | awk "$pattern") if [ -n "$reval" ]; then break fi fi # Let's try to use the group name as it is: reval=$("$MY_PRINT_DEFAULTS" \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "$group" | awk "$pattern") if [ -n "$reval" ]; then break fi done # Use default if we haven't found a value: [ -z "$reval" ] && reval="${3:-}" # Truncate spaces: [ -n "$reval" ] && reval=$(trim_string "$reval") if [ -n "$BASH_VERSION" ]; then printf '%s' "$reval" else echo "$reval" fi } # # This function simply checks for the presence of the parameter # in the config file, but does not return its value. It returns "1" # (true) even if the parameter is present in the configuration file # without a value: # in_config() { local groups="$1" local var="$2" local found=0 # normalize the variable names specified in the .cnf file # (user can use '_' or '-', for example, log-bin or log_bin), # then search for the last instance(s) of the desired variable: local pattern='BEGIN {OFS=FS="="; found=0} {sub(/^--loose/,"-",$0); gsub(/_/,"-",$1); if ($1=="--'"$var"'") found=1} END {print found}' while [ -n "$groups" ]; do # Remove the largest suffix starting with the '|' character: local group="${groups%%\|*}" # Remove the remainder (the group name) from the rest # of the groups list (as if it were a prefix): if [ "$group" != "$groups" ]; then groups="${groups#*\|}" else groups="" fi # If the group name is the same as the "mysqld" without "--" prefix, # then try to use it together with the group suffix: if [ "$group" = 'mysqld' -a -n "$WSREP_SST_OPT_SUFFIX_VALUE" ]; then found=$("$MY_PRINT_DEFAULTS" \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "mysqld$WSREP_SST_OPT_SUFFIX_VALUE" | awk "$pattern") if [ $found -ne 0 ]; then break fi fi # Let's try to use the group name as it is: found=$($MY_PRINT_DEFAULTS \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "$group" | awk "$pattern") if [ $found -ne 0 ]; then break fi done if [ -n "$BASH_VERSION" ]; then printf '%s' $found else echo $found fi } wsrep_auth_not_set() { [ -z "$WSREP_SST_OPT_AUTH" ] } # Get rid of incorrect values resulting from substitution # in programs external to the script: if [ "$WSREP_SST_OPT_USER" = '(null)' ]; then WSREP_SST_OPT_USER="" fi if [ "$WSREP_SST_OPT_PSWD" = '(null)' ]; then WSREP_SST_OPT_PSWD="" fi if [ "$WSREP_SST_OPT_AUTH" = '(null)' ]; then WSREP_SST_OPT_AUTH="" fi # Let's read the value of the authentication string from the # configuration file so that it does not go to the command line # and does not appear in the ps output: if wsrep_auth_not_set; then WSREP_SST_OPT_AUTH=$(parse_cnf 'sst' 'wsrep-sst-auth') fi # Splitting WSREP_SST_OPT_AUTH as "user:password" pair: if ! wsrep_auth_not_set; then # Extract username as shortest prefix up to first ':' character: WSREP_SST_OPT_AUTH_USER="${WSREP_SST_OPT_AUTH%%:*}" if [ -z "$WSREP_SST_OPT_USER" ]; then # if the username is not in the command line arguments, # set the username and password using WSREP_SST_OPT_AUTH # from the environment: WSREP_SST_OPT_USER="$WSREP_SST_OPT_AUTH_USER" WSREP_SST_OPT_PSWD="${WSREP_SST_OPT_AUTH#*:}" elif [ "$WSREP_SST_OPT_USER" = "$WSREP_SST_OPT_AUTH_USER" ]; then # If the username in the command line arguments and in # the environment variable are the same, set the password # if it was not specified in the command line: if [ -z "$WSREP_SST_OPT_PSWD" ]; then WSREP_SST_OPT_PSWD="${WSREP_SST_OPT_AUTH#*:}" fi else # The username is passed through the command line and does # not match the username in the environment variable - ignore # the environment and rebuild the authentication parameters: WSREP_SST_OPT_AUTH="$WSREP_SST_OPT_USER:$WSREP_SST_OPT_PSWD" fi fi readonly WSREP_SST_OPT_USER readonly WSREP_SST_OPT_PSWD readonly WSREP_SST_OPT_AUTH if [ -n "$WSREP_SST_OPT_REMOTE_AUTH" ]; then # Split auth string at the last ':' readonly WSREP_SST_OPT_REMOTE_USER="${WSREP_SST_OPT_REMOTE_AUTH%%:*}" readonly WSREP_SST_OPT_REMOTE_PSWD="${WSREP_SST_OPT_REMOTE_AUTH#*:}" else readonly WSREP_SST_OPT_REMOTE_USER= readonly WSREP_SST_OPT_REMOTE_PSWD= fi readonly WSREP_SST_OPT_REMOTE_AUTH if [ -n "$WSREP_SST_OPT_DATA" ]; then SST_PROGRESS_FILE="$WSREP_SST_OPT_DATA/sst_in_progress" else SST_PROGRESS_FILE="" fi wsrep_cleanup_progress_file() { if [ -n "$SST_PROGRESS_FILE" -a -f "$SST_PROGRESS_FILE" ]; then rm -f "$SST_PROGRESS_FILE" 2>/dev/null || : fi } wsrep_check_program() { local prog="$1" local cmd=$(commandex "$prog") if [ -z "$cmd" ]; then echo "'$prog' not found in PATH" return 2 # no such file or directory fi } wsrep_check_programs() { local ret=0 while [ $# -gt 0 ]; do wsrep_check_program "$1" || ret=$? shift done return $ret } wsrep_check_datadir() { if [ -z "$WSREP_SST_OPT_DATA" ]; then wsrep_log_error \ "The '--datadir' parameter must be passed to the SST script" exit 2 fi } get_openssl() { # If the OPENSSL_BINARY variable is already defined, just return: if [ -n "${OPENSSL_BINARY+x}" ]; then return fi # Let's look for openssl: OPENSSL_BINARY=$(commandex 'openssl') if [ -z "$OPENSSL_BINARY" ]; then OPENSSL_BINARY='/usr/bin/openssl' if [ ! -x "$OPENSSL_BINARY" ]; then OPENSSL_BINARY="" fi fi readonly OPENSSL_BINARY } # # Generate a string equivalent to 16 random bytes # wsrep_gen_secret() { get_openssl if [ -n "$OPENSSL_BINARY" ]; then "$OPENSSL_BINARY" rand -hex 16 elif [ -n "$BASH_VERSION" ]; then printf '%04x%04x%04x%04x%04x%04x%04x%04x' \ $RANDOM $RANDOM $RANDOM $RANDOM \ $RANDOM $RANDOM $RANDOM $RANDOM elif [ -n "$(commandex cksum)" -a \ -n "$(commandex printf)" ] then printf '%08x%08x%08x%08x' \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) else wsrep_log_error "Unable to generate 16-byte secret" exit 22 fi } # # Checking if the address passed to us is local. # If the second parameter is nonzero, then this function # does not check for matches with local domain names: # is_local_ip() { # Rapid recognition of the most common cases: [ "$1" = '127.0.0.1' -o \ "$1" = '127.0.0.2' -o \ "$1" = 'localhost' -o \ "$1" = '::1' ] && return 0 # If the address starts with "127." this is probably a local # address, but we need to clarify what follows this prefix: if [ "${1#127.}" != "$1" ]; then # All 127.0.0.0/8 addresses are local: if echo "$1" | grep -q -E '^127\.[0-9]+\.[0-9]+\.[0-9]+$'; then return 0 fi fi # If the second parameter is nonzero, then we will skip # the domain name check: if [ "${2:-0}" -eq 0 ]; then # We consider all the names of a given host to be local addresses: [ "$1" = "$(hostname -s)" -o \ "$1" = "$(hostname -f)" -o \ "$1" = "$(hostname -d)" ] && return 0 fi # If the address contains anything other than digits # and separators, it is not a local address: [ "${1#*[!0-9.]}" != "$1" ] && \ [ "${1#*[!0-9A-Fa-f:\[\]]}" != "$1" ] && return 1 # Now let's check if the given address is assigned to # one of the network cards: local ip_util=$(commandex 'ip') if [ -n "$ip_util" ]; then # ip address show ouput format is " inet[6] <address>/<mask>": "$ip_util" address show \ | grep -o -E '^[[:space:]]*inet.?[[:space:]]+[^[:space:]]+/' \ | grep -qw -F -- "$1/" && return 0 else local ifconfig_util=$(commandex 'ifconfig') if [ -n "$ifconfig_util" ]; then # ifconfig output format is " inet[6] <address> ...": "$ifconfig_util" \ | grep -o -E '^[[:space:]]*inet.?[[:space:]]+[^[:space:]]+' \ | grep -qw -F -- "$1" && return 0 fi fi return 1 } check_sockets_utils() { lsof_available=0 sockstat_available=0 ss_available=0 [ -n "$(commandex lsof)" ] && lsof_available=1 [ -n "$(commandex sockstat)" ] && sockstat_available=1 [ -n "$(commandex ss)" ] && ss_available=1 if [ $lsof_available -eq 0 -a \ $sockstat_available -eq 0 -a \ $ss_available -eq 0 ] then wsrep_log_error "Neither lsof, nor sockstat or ss tool was found in" \ "the PATH. Make sure you have it installed." exit 2 # ENOENT fi } # # Check if the port is in the "listen" state. # The first parameter is the PID of the process that should # listen on the port - if it is not known, you can specify # an empty string or zero. # The second parameter is the port number. # The third parameter is a list of the names of utilities # (via "|") that can listen on this port during the state # transfer. # check_port() { local pid="${1:-0}" local port="$2" local utils="$3" [ $pid -le 0 ] && pid='[0-9]+' local rc=1 if [ $lsof_available -ne 0 ]; then lsof -Pnl -i ":$port" 2>/dev/null | \ grep -q -E "^($utils)[^[:space:]]*[[:space:]]+$pid[[:space:]].*\\(LISTEN\\)" && rc=0 elif [ $sockstat_available -ne 0 ]; then local opts='-p' if [ "$OS" = 'FreeBSD' ]; then # sockstat on FreeBSD requires the "-s" option # to display the connection state: opts='-sp' fi sockstat "$opts" "$port" 2>/dev/null | \ grep -q -E "[[:space:]]+($utils)[^[:space:]]*[[:space:]]+$pid[[:space:]].*[[:space:]]LISTEN" && rc=0 elif [ $ss_available -ne 0 ]; then ss -nlpH "( sport = :$port )" 2>/dev/null | \ grep -q -E "users:\\(.*\\(\"($utils)[^[:space:]]*\"[^)]*,pid=$pid(,[^)]*)?\\)" && rc=0 else wsrep_log_error "Unknown sockets utility" exit 2 # ENOENT fi return $rc } # # If the ssl_dhparams variable is already set, uses that as a source # of dh parameters for OpenSSL. Otherwise, looks for dhparams.pem in # the datadir, and creates it there if it can't find the file. # check_for_dhparams() { ssl_dhparams="$DATA/dhparams.pem" get_openssl if [ -n "$OPENSSL_BINARY" ]; then wsrep_log_info \ "Could not find dhparams file, creating $ssl_dhparams" local bug=0 local errmsg errmsg=$("$OPENSSL_BINARY" \ dhparam -out "$ssl_dhparams" -dsaparam 2048 2>&1) || bug=1 if [ $bug -ne 0 ]; then wsrep_log_info "run: \"$OPENSSL_BINARY\" dhparam"\ "-out \"$ssl_dhparams\" -dsaparam 2048" wsrep_log_info "output: $errmsg" wsrep_log_error "******** ERROR *****************************************" wsrep_log_error "* Could not create the dhparams.pem file with OpenSSL. *" wsrep_log_error "********************************************************" ssl_dhparams="" fi else # Rollback: if openssl is not installed, then use # the default parameters: ssl_dhparams="" fi } # # Verifies that the CA file verifies the certificate. # Doing this here lets us generate better error messages. # # 1st param: path to the CA file. # 2nd param: path to the certificate. # verify_ca_matches_cert() { local cert="$1" local ca="$2" local cap="$3" local readable=1; [ ! -r "$cert" ] && readable=0 [ -n "$ca" -a ! -r "$ca" ] && readable=0 [ -n "$cap" -a ! -r "$cap" ] && readable=0 if [ $readable -eq 0 ]; then wsrep_log_error \ "Both PEM file and CA file (or path) must be readable" exit 22 fi # If the openssl utility is not installed, then # we will not do this certificate check: get_openssl if [ -z "$OPENSSL_BINARY" ]; then wsrep_log_info "openssl utility not found" return fi local not_match=0 local errmsg errmsg=$("$OPENSSL_BINARY" verify -verbose \ ${ca:+ -CAfile} ${ca:+ "$ca"} \ ${cap:+ -CApath} ${cap:+ "$cap"} \ "$cert" 2>&1) || not_match=1 if [ $not_match -eq 1 ]; then wsrep_log_info "run: \"$OPENSSL_BINARY\" verify -verbose${ca:+ -CAfile \"$ca\"}${cap:+ -CApath \"$cap\"} \"$cert\"" wsrep_log_info "output: $errmsg" wsrep_log_error "******** FATAL ERROR ********************************************" wsrep_log_error "* The certifcate and CA (certificate authority) do not match. *" wsrep_log_error "* It does not appear that the certificate was issued by the CA. *" wsrep_log_error "* Please check your certificate and CA files. *" wsrep_log_error "*****************************************************************" exit 22 fi } # # Verifies that the certificate matches the private key. # Doing this will save us having to wait for a timeout that would # otherwise occur. # # 1st param: path to the certificate. # 2nd param: path to the private key. # verify_cert_matches_key() { local cert="$1" local key="$2" if [ ! -r "$key" -o ! -r "$cert" ]; then wsrep_log_error "Both the certificate file and the key file" \ "must be readable" exit 22 fi # If the openssl utility is not installed, then # we will not do this certificate check: get_openssl if [ -z "$OPENSSL_BINARY" ]; then wsrep_log_info "openssl utility not found" return fi # Generate the public key from the cert and the key. # They should match (otherwise we can't create an SSL connection). local pk1=$("$OPENSSL_BINARY" x509 -in "$cert" -pubkey -noout 2>/dev/null || :) local pk2=$("$OPENSSL_BINARY" pkey -in "$key" -pubout 2>/dev/null || :) if [ "$pk1" != "$pk2" ]; then wsrep_log_error "******************* FATAL ERROR *****************" wsrep_log_error "* The certificate and private key do not match. *" wsrep_log_error "* Please check your certificate and key files. *" wsrep_log_error "*************************************************" exit 22 fi } # # Compares two version strings. # The first parameter is the version to be checked; # The second parameter is the minimum version required; # Returns 1 (failure) if $1 >= $2, 0 (success) otherwise. # check_for_version() { local y1="${1#*.}" [ "$y1" = "$1" ] && y1="" local z1="${y1#*.}" [ "$z1" = "$y1" ] && z1="" local w1="${z1#*.}" [ "$w1" = "$z1" ] && w1="" local x1="${1%%.*}" y1="${y1%%.*}" z1="${z1%%.*}" w1="${w1%%.*}" [ -z "$y1" ] && y1=0 [ -z "$z1" ] && z1=0 [ -z "$w1" ] && w1=0 local y2="${2#*.}" [ "$y2" = "$2" ] && y2="" local z2="${y2#*.}" [ "$z2" = "$y2" ] && z2="" local w2="${z2#*.}" [ "$w2" = "$z2" ] && w2="" local x2="${2%%.*}" y2="${y2%%.*}" z2="${z2%%.*}" w2="${w2%%.*}" [ -z "$y2" ] && y2=0 [ -z "$z2" ] && z2=0 [ -z "$w2" ] && w2=0 [ $x1 -lt $x2 ] && return 1 [ $x1 -gt $x2 ] && return 0 [ $y1 -lt $y2 ] && return 1 [ $y1 -gt $y2 ] && return 0 [ $z1 -lt $z2 ] && return 1 [ $z1 -gt $z2 ] && return 0 [ $w1 -lt $w2 ] && return 1 return 0 } # # Check whether process is still running. # The first parameter contains the name of the PID file. # The second parameter is the flag of the need to delete # the PID file. # If the second parameter is not zero and not empty, # then if the process terminates, the corresponding # PID file will be deleted. # This function also sets the CHECK_PID variable to zero # if the process has already exited, or writes the PID # of the process there if it is still running. # check_pid() { local pid_file="$1" if [ -r "$pid_file" ]; then local pid=$(cat "$pid_file" 2>/dev/null || :) if [ -n "$pid" ]; then if [ $pid -gt 0 ]; then if ps -p $pid >/dev/null 2>&1; then CHECK_PID=$pid return 0 fi fi fi local remove=${2:-0} if [ $remove -ne 0 ]; then rm -f "$pid_file" || : fi fi local config="${3:-}" if [ -n "$config" -a -f "$config" ]; then rm -f "$config" || : fi CHECK_PID=0 return 1 } # # Checking that the process with the specified PID is still # running and killing it in this case by sending SIGTERM # (using the "kill" operation). # The first parameter contains PID of the process. # The second and third parameters (both optional) are the names # of the PID and the configuration files, which should be removed # after the process ends. # If the first parameter (PID of the process) is zero, then # the function immediately deletes the PID and the configuration # files (if specified), without any additional checks. # cleanup_pid() { local pid=$1 local pid_file="${2:-}" local config="${3:-}" if [ $pid -gt 0 ]; then if ps -p $pid >/dev/null 2>&1; then if kill $pid >/dev/null 2>&1; then sleep 0.5 local round=0 local force=0 while ps -p $pid >/dev/null 2>&1; do sleep 1 round=$(( round+1 )) if [ $round -eq 16 ]; then if [ $force -eq 0 ]; then round=8 force=1 kill -9 $pid >/dev/null 2>&1 || : sleep 0.5 else return 1 fi fi done elif ps -p $pid >/dev/null 2>&1; then wsrep_log_warning "Unable to kill PID=$pid ($pid_file)" return 1 fi fi fi [ -n "$pid_file" -a -f "$pid_file" ] && rm -f "$pid_file" || : [ -n "$config" -a -f "$config" ] && rm -f "$config" || : return 0 } nproc="" get_proc() { if [ -z "$nproc" ]; then set +e if [ "$OS" = 'Linux' ]; then nproc=$(grep -cw -E '^processor' /proc/cpuinfo 2>/dev/null) elif [ "$OS" = 'Darwin' -o "$OS" = 'FreeBSD' ]; then nproc=$(sysctl -n hw.ncpu) fi set -e if [ -z "$nproc" ] || [ $nproc -eq 0 ]; then nproc=1 fi fi } check_server_ssl_config() { # backward-compatible behavior: tcert=$(parse_cnf 'sst' 'tca') tcap=$(parse_cnf 'sst' 'tcapath') tpem=$(parse_cnf 'sst' 'tcert') tkey=$(parse_cnf 'sst' 'tkey') # reading new ssl configuration options: local tcert2=$(parse_cnf "$encgroups" 'ssl-ca') local tcap2=$(parse_cnf "$encgroups" 'ssl-capath') local tpem2=$(parse_cnf "$encgroups" 'ssl-cert') local tkey2=$(parse_cnf "$encgroups" 'ssl-key') # if there are no old options, then we take new ones: if [ -z "$tcert" -a -z "$tcap" -a -z "$tpem" -a -z "$tkey" ]; then tcert="$tcert2" tcap="$tcap2" tpem="$tpem2" tkey="$tkey2" # checking for presence of the new-style SSL configuration: elif [ -n "$tcert2" -o -n "$tcap2" -o -n "$tpem2" -o -n "$tkey2" ]; then if [ "$tcert" != "$tcert2" -o \ "$tcap" != "$tcap2" -o \ "$tpem" != "$tpem2" -o \ "$tkey" != "$tkey2" ] then wsrep_log_info \ "new ssl configuration options (ssl-ca[path], ssl-cert" \ "and ssl-key) are ignored by SST due to presence" \ "of the tca[path], tcert and/or tkey in the [sst] section" fi fi if [ -n "$tcert" ]; then if [ "${tcert%/}" != "$tcert" -o -d "$tcert" ]; then tcap="$tcert" tcert="" fi fi } simple_cleanup() { # Since this is invoked just after exit NNN local estatus=$? if [ $estatus -ne 0 ]; then wsrep_log_error "Cleanup after exit with status: $estatus" fi if [ -n "${SST_PID:-}" ]; then [ "$(pwd)" != "$OLD_PWD" ] && cd "$OLD_PWD" [ -f "$SST_PID" ] && rm -f "$SST_PID" || : fi exit $estatus } wsrep_log_info "$WSREP_METHOD $WSREP_TRANSFER_TYPE started on $WSREP_SST_OPT_ROLE"