Linux 186-227-203-186.cprapid.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64
Apache
Server IP : 186.227.203.186 & Your IP : 216.73.216.196
Domains : 154 Domain
User : pmcaxingo
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Lock Shell
Lock File++
Readme
/
usr /
sbin /
Delete
Unzip
Name
Size
Permission
Date
Action
NetworkManager
3.41
MB
-rwxr-xr-x
2025-08-26 09:47
accessdb
12.59
KB
-rwxr-xr-x
2021-10-08 13:04
addgnupghome
3
KB
-rwxr-xr-x
2018-12-11 07:44
addpart
24.86
KB
-rwxr-xr-x
2026-02-04 20:18
adduser
148.16
KB
-rwxr-xr-x
2025-12-18 13:51
agetty
62.39
KB
-rwxr-xr-x
2026-02-04 20:18
alternatives
36.66
KB
-rwxr-xr-x
2023-10-14 22:48
anacron
40.99
KB
-rwxr-xr-x
2024-04-06 11:40
apachectl
4.69
KB
-rwxr-xr-x
2026-06-10 15:42
applygnupgdefaults
2.17
KB
-rwxr-xr-x
2017-12-18 12:28
arp
64.71
KB
-rwxr-xr-x
2020-08-30 17:47
arpd
109.52
KB
-rwxr-xr-x
2024-05-23 08:36
arping
28.74
KB
-rwxr-xr-x
2023-10-14 17:19
atd
32.63
KB
-rwxr-xr-x
2022-10-10 10:23
atrun
67
B
-rwxr-xr-x
2022-10-10 10:23
auditctl
45.04
KB
-rwxr-xr-x
2025-07-15 09:41
auditd
151.73
KB
-rwxr-xr-x
2025-07-15 09:41
augenrules
4.04
KB
-rwxr-xr-x
2025-07-15 09:41
aureport
122.35
KB
-rwxr-xr-x
2025-07-15 09:41
ausearch
130.36
KB
-rwxr-xr-x
2025-07-15 09:41
autrace
16.54
KB
-rwxr-x---
2025-07-15 09:41
avcstat
16.4
KB
-rwxr-xr-x
2026-02-10 14:26
badblocks
32.59
KB
-rwxr-xr-x
2025-10-07 07:08
biosdecode
21.45
KB
-rwxr-xr-x
2024-04-06 13:04
biosdevname
46.16
KB
-rwxr-xr-x
2019-10-18 20:07
blkdeactivate
15.97
KB
-r-xr-xr-x
2026-01-23 07:31
blkdiscard
29.05
KB
-rwxr-xr-x
2026-02-04 20:18
blkid
98.66
KB
-rwxr-xr-x
2026-02-04 20:18
blkmapd
53.48
KB
-rwxr-xr-x
2026-03-09 13:08
blkzone
49.75
KB
-rwxr-xr-x
2026-02-04 20:18
blockdev
41.3
KB
-rwxr-xr-x
2026-02-04 20:18
bridge
158.25
KB
-rwxr-xr-x
2024-05-23 08:36
build-locale-archive
841.05
KB
-rwx------
2026-05-26 09:39
cagefs_enter_user
21.3
KB
-rwxr-xr-x
2026-01-20 13:58
capsh
32.45
KB
-rwxr-xr-x
2026-05-04 20:33
cfdisk
98.41
KB
-rwxr-xr-x
2026-02-04 20:18
cgdisk
206.55
KB
-rwxr-xr-x
2022-10-12 10:53
chcpu
28.83
KB
-rwxr-xr-x
2026-02-04 20:18
chgpasswd
69.69
KB
-rwxr-xr-x
2025-12-18 13:51
chkconfig
45.11
KB
-rwxr-xr-x
2023-10-14 22:48
chpasswd
61.42
KB
-rwxr-xr-x
2025-12-18 13:51
chroot
41.45
KB
-rwxr-xr-x
2026-03-24 13:05
cl-link-to-cln
3.12
KB
-rwxr-xr-x
2026-06-11 11:31
cl-post-jwt-update
3.38
KB
-rwxr-xr-x
2026-06-11 11:31
cl-pre-jwt-update
1.46
KB
-rwxr-xr-x
2026-06-11 11:31
clncheck
1.94
KB
-rwxr-xr-x
2026-06-11 11:31
clncheck-3.6
1.94
KB
-rwxr-xr-x
2026-06-11 11:31
clnreg_ks
2.3
KB
-rwxr-xr-x
2026-06-11 11:31
clock
65.22
KB
-rwxr-xr-x
2026-02-04 20:18
clockdiff
20.43
KB
-rwxr-xr-x
2023-10-14 17:19
cloudlinux-autotracing
382
B
-rwxr-xr-x
2026-05-13 14:10
cloudlinux-awp-installer
5.29
KB
-rwxr-xr-x
2026-05-12 10:09
cloudlinux-collect-panic-info
2.71
KB
-rwx------
2025-11-10 10:40
cloudlinux-config
566
B
-rwxr-xr-x
2026-05-20 17:27
cloudlinux-customizer
2.79
KB
-rwxr-xr-x
2026-05-20 18:04
cloudlinux-edition-watcher
2.3
KB
-rwxr-xr-x
2026-05-20 18:04
cloudlinux-license
566
B
-rwxr-xr-x
2026-05-20 17:27
cloudlinux-limits
566
B
-rwxr-xr-x
2026-05-20 17:27
cloudlinux-packages
566
B
-rwxr-xr-x
2026-05-20 17:27
cloudlinux-selector
654
B
-rwxr-xr-x
2026-05-12 10:09
cloudlinux-server-flags
3.67
KB
-rwxr-xr-x
2026-04-03 15:53
cloudlinux-ssa-agent
374
B
-rwxr-xr-x
2026-05-13 14:10
cloudlinux-ssa-manager
378
B
-rwxr-xr-x
2026-05-13 14:10
cloudlinux-statistics
492
B
-rwxr-xr-x
2026-05-20 17:45
cloudlinux-statistics.python
492
B
-rwxr-xr-x
2026-05-20 17:45
cloudlinux-statsnotifier
492
B
-rwxr-xr-x
2026-05-20 17:45
cloudlinux-statsnotifier.python
492
B
-rwxr-xr-x
2026-05-20 17:45
cloudlinux-summary
566
B
-rwxr-xr-x
2026-05-20 17:27
cloudlinux-top
492
B
-rwxr-xr-x
2026-05-20 17:45
cloudlinux-top.python
492
B
-rwxr-xr-x
2026-05-20 17:45
cloudlinux-wizard
863
B
-rwxr-xr-x
2026-05-20 18:04
cloudlinux-xray
807
B
-rwxr-xr-x
2026-05-12 10:09
consoletype
11.88
KB
-rwxr-xr-x
2025-11-10 10:42
convertquota
78.68
KB
-rwxr-xr-x
2021-10-09 07:08
cracklib-check
13.05
KB
-rwxr-xr-x
2019-10-12 00:47
cracklib-format
251
B
-rwxr-xr-x
2019-10-12 00:47
cracklib-packer
13.05
KB
-rwxr-xr-x
2019-10-12 00:47
cracklib-unpacker
9.03
KB
-rwxr-xr-x
2019-10-12 00:47
create-cracklib-dict
990
B
-rwxr-xr-x
2019-10-12 00:47
crond
73.94
KB
-rwxr-xr-x
2024-04-06 11:40
csf
245.1
KB
-rwx------
2025-02-28 06:11
ctrlaltdel
24.79
KB
-rwxr-xr-x
2026-02-04 20:18
ctstat
25.33
KB
-rwxr-xr-x
2024-05-23 08:36
dbgovchart
492
B
-rwxr-xr-x
2026-05-20 17:45
dbgovchart.python
492
B
-rwxr-xr-x
2026-05-20 17:45
dcb
155.04
KB
-rwxr-xr-x
2024-05-23 08:36
ddns-confgen
20.46
KB
-rwxr-xr-x
2026-06-08 03:38
debugfs
231.63
KB
-rwxr-xr-x
2025-10-07 07:08
delpart
24.86
KB
-rwxr-xr-x
2026-02-04 20:18
depmod
159.98
KB
-rwxr-xr-x
2024-04-22 16:52
devlink
215.87
KB
-rwxr-xr-x
2024-05-23 08:36
dmfilemapd
24.55
KB
-r-xr-xr-x
2026-01-23 07:31
dmidecode
141.8
KB
-rwxr-xr-x
2024-04-06 13:04
dmsetup
158.64
KB
-r-xr-xr-x
2026-01-23 07:31
dmstats
158.64
KB
-r-xr-xr-x
2026-01-23 07:31
dnssec-checkds
936
B
-rwxr-xr-x
2026-06-08 03:38
dnssec-coverage
938
B
-rwxr-xr-x
2026-06-08 03:38
dnssec-dsfromkey
60.84
KB
-rwxr-xr-x
2026-06-08 03:38
dnssec-importkey
60.84
KB
-rwxr-xr-x
2026-06-08 03:38
dnssec-keyfromlabel
64.75
KB
-rwxr-xr-x
2026-06-08 03:38
dnssec-keygen
72.84
KB
-rwxr-xr-x
2026-06-08 03:38
dnssec-keymgr
934
B
-rwxr-xr-x
2026-06-08 03:38
dnssec-revoke
56.74
KB
-rwxr-xr-x
2026-06-08 03:38
dnssec-settime
60.84
KB
-rwxr-xr-x
2026-06-08 03:38
dnssec-signzone
117.2
KB
-rwxr-xr-x
2026-06-08 03:38
dnssec-verify
52.84
KB
-rwxr-xr-x
2026-06-08 03:38
dosfsck
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
dosfslabel
61.1
KB
-rwxr-xr-x
2019-10-12 00:48
dovecot
157.84
KB
-rwxr-xr-x
2026-02-03 19:40
dovecot_cpshutdown
3.27
KB
-rwxr-xr-x
2026-02-03 19:31
dpkg-fsys-usrunmess
12.11
KB
-rwxr-xr-x
2021-12-15 12:46
dumpe2fs
32.52
KB
-rwxr-xr-x
2025-10-07 07:08
e2freefrag
16.42
KB
-rwxr-xr-x
2025-10-07 07:08
e2fsck
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
e2image
36.61
KB
-rwxr-xr-x
2025-10-07 07:08
e2label
110.63
KB
-rwxr-xr-x
2025-10-07 07:08
e2mmpstatus
32.52
KB
-rwxr-xr-x
2025-10-07 07:08
e2undo
20.38
KB
-rwxr-xr-x
2025-10-07 07:08
e4crypt
24.55
KB
-rwxr-xr-x
2025-10-07 07:08
e4defrag
28.49
KB
-rwxr-xr-x
2025-10-07 07:08
ebtables
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ebtables-restore
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ebtables-save
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
edquota
91.24
KB
-rwxr-xr-x
2021-10-09 07:08
efibootdump
20.52
KB
-rwxr-xr-x
2021-12-21 10:17
efibootmgr
41.98
KB
-rwxr-xr-x
2021-12-21 10:17
ether-wake
73.99
KB
-rwxr-xr-x
2020-08-30 17:47
ethtool
557.79
KB
-rwxr-xr-x
2022-10-08 17:27
exicyclog
11.1
KB
-rwxr-xr-x
2026-05-29 19:00
exigrep
11.44
KB
-rwxr-xr-x
2026-05-29 19:00
exim
1.53
MB
-rwsr-xr-x
2026-05-29 19:00
exim_checkaccess
4.83
KB
-rwxr-xr-x
2026-05-29 19:00
exim_dbmbuild
24.69
KB
-rwxr-xr-x
2026-05-29 19:00
exim_dumpdb
43.56
KB
-rwxr-xr-x
2026-05-29 19:00
exim_fixdb
49.05
KB
-rwxr-xr-x
2026-05-29 19:00
exim_lock
26.59
KB
-rwxr-xr-x
2026-05-29 19:00
exim_tidydb
43.78
KB
-rwxr-xr-x
2026-05-29 19:00
eximstats
149.14
KB
-rwxr-xr-x
2026-05-29 19:00
exinext
8.03
KB
-rwxr-xr-x
2026-05-29 19:00
exiqgrep
6.58
KB
-rwxr-xr-x
2026-05-29 19:00
exiqsumm
6.29
KB
-rwxr-xr-x
2026-05-29 19:00
exiwhat
4.42
KB
-rwxr-xr-x
2026-05-29 19:00
exportfs
82.37
KB
-rwxr-xr-x
2026-03-09 13:08
faillock
20.52
KB
-rwxr-xr-x
2025-12-17 18:54
fatlabel
61.1
KB
-rwxr-xr-x
2019-10-12 00:48
fcgistarter
12.47
KB
-rwxr-xr-x
2026-06-10 15:43
fdformat
33.17
KB
-rwxr-xr-x
2026-02-04 20:18
fdisk
130.91
KB
-rwxr-xr-x
2026-02-04 20:18
filefrag
16.46
KB
-rwxr-xr-x
2025-10-07 07:08
findfs
12.38
KB
-rwxr-xr-x
2026-02-04 20:18
firewalld
6.92
KB
-rwxr-xr-x
2026-05-26 16:24
fix-info-dir
7.84
KB
-rwxr-xr-x
2022-04-18 17:09
fixfiles
10.48
KB
-rwxr-xr-x
2024-07-02 21:04
fixparts
74.91
KB
-rwxr-xr-x
2022-10-12 10:53
fsck
53.47
KB
-rwxr-xr-x
2026-02-04 20:18
fsck.cramfs
41.41
KB
-rwxr-xr-x
2026-02-04 20:18
fsck.ext2
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
fsck.ext3
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
fsck.ext4
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
fsck.fat
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
fsck.minix
98.75
KB
-rwxr-xr-x
2026-02-04 20:18
fsck.msdos
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
fsck.vfat
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
fsck.xfs
1.92
KB
-rwxr-xr-x
2023-10-15 05:10
fsfreeze
16.38
KB
-rwxr-xr-x
2026-02-04 20:18
fstrim
49.6
KB
-rwxr-xr-x
2026-02-04 20:18
fuse2fs
70.39
KB
-rwxr-xr-x
2025-10-07 07:08
fuser
38.14
KB
-rwxr-xr-x
2020-11-06 14:24
g13-syshelp
189.76
KB
-rwxr-xr-x
2026-01-16 01:48
gdisk
214.46
KB
-rwxr-xr-x
2022-10-12 10:53
genhomedircon
29.27
KB
-rwxr-xr-x
2024-07-02 21:04
genhostid
11.88
KB
-rwxr-xr-x
2025-11-10 10:42
genl
121.41
KB
-rwxr-xr-x
2024-05-23 08:36
genrandom
12.38
KB
-rwxr-xr-x
2026-06-08 03:38
getcap
12.35
KB
-rwxr-xr-x
2026-05-04 20:33
getenforce
7.84
KB
-rwxr-xr-x
2026-02-10 14:26
getpaneluserscount
738
B
-rwxr-xr-x
2026-04-03 15:53
getpcaps
12.27
KB
-rwxr-xr-x
2026-05-04 20:33
getsebool
11.87
KB
-rwxr-xr-x
2026-02-10 14:26
groupadd
95.34
KB
-rwxr-xr-x
2025-12-18 13:51
groupdel
91.09
KB
-rwxr-xr-x
2025-12-18 13:51
groupmems
61.48
KB
-rwxr-xr-x
2025-12-18 13:51
groupmod
99.38
KB
-rwxr-xr-x
2025-12-18 13:51
grpck
61.47
KB
-rwxr-xr-x
2025-12-18 13:51
grpconv
57.27
KB
-rwxr-xr-x
2025-12-18 13:51
grpunconv
57.26
KB
-rwxr-xr-x
2025-12-18 13:51
grub2-bios-setup
1.16
MB
-rwxr-xr-x
2026-05-23 12:32
grub2-get-kernel-settings
2.68
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-install
1.44
MB
-rwxr-xr-x
2026-05-23 12:32
grub2-macbless
1.14
MB
-rwxr-xr-x
2026-05-23 12:32
grub2-mkconfig
8.68
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-ofpathname
246.3
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-probe
1.16
MB
-rwxr-xr-x
2026-05-23 12:32
grub2-reboot
3.99
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-rpm-sort
283.15
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-set-bootflag
16.35
KB
-rwsr-xr-x
2026-05-23 12:32
grub2-set-default
3.45
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-set-password
3.05
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-setpassword
3.05
KB
-rwxr-xr-x
2026-05-23 12:32
grub2-sparc64-setup
1.16
MB
-rwxr-xr-x
2026-05-23 12:32
grub2-switch-to-blscfg
8.6
KB
-rwxr-xr-x
2026-05-23 12:32
grubby
260
B
-rwxr-xr-x
2024-04-06 13:02
gss-server
24.61
KB
-rwxr-xr-x
2026-05-13 06:34
gssproxy
132.08
KB
-rwxr-xr-x
2022-10-08 08:02
halt
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
hardlink
17.09
KB
-rwxr-xr-x
2019-10-15 21:49
hdparm
131.91
KB
-rwxr-xr-x
2021-10-08 19:47
htcacheclean
36.63
KB
-rwxr-xr-x
2026-06-10 15:43
httpd
693.58
KB
-rwxr-xr-x
2026-06-10 15:43
hwclock
65.22
KB
-rwxr-xr-x
2026-02-04 20:18
hybrid-to-normal
2.08
KB
-rwxr-xr-x
2026-06-11 11:31
iconvconfig
33.05
KB
-rwxr-xr-x
2026-05-26 09:39
ifconfig
80.86
KB
-rwxr-xr-x
2020-08-30 17:47
ifdown
2.07
KB
-rwxr-xr-x
2025-09-23 08:27
ifenslave
24.95
KB
-rwxr-xr-x
2023-10-14 17:19
ifstat
117.67
KB
-rwxr-xr-x
2024-05-23 08:36
ifup
5.33
KB
-rwxr-xr-x
2025-09-23 08:27
im360-ssl-cache
7.69
MB
-rwxr-xr-x
2026-06-02 09:03
imunify-auditd-log-reader
18.14
MB
-rwxr-xr-x
2026-04-01 12:47
imunify-auditd-log-reader-cfg-reload
445
B
-rwxr-xr-x
2026-04-01 12:47
imunify-notifier
9.82
MB
-rwxr-xr-x
2024-10-25 12:14
imunify-realtime-av
10.19
MB
-rwxr-xr-x
2026-05-26 14:33
imunify-realtime-av.imrt2
10.19
MB
-rwxr-xr-x
2026-05-26 14:33
imunify-realtime-av.legacy
11.02
MB
-rwxr-xr-x
2026-04-28 16:41
imunify-realtime-av.legacy.orig
8.78
MB
-rwxr-xr-x
2025-10-02 10:39
imunify360-pam
51.63
KB
-rwxr-xr-x
2026-05-12 14:29
imunify360-php-daemon
21.17
MB
-rwxr-xr-x
2026-04-24 05:54
imunify360-scanlogd
15.62
KB
-rwx------
2024-05-20 09:49
imunify360-unified-access-logger
12.85
MB
-rwxr-xr-x
2025-12-29 10:16
imunify360-watchdog
10.24
KB
-rwxr-xr-x
2026-05-28 11:26
imunify360-webshield
1.46
MB
-rwxr-xr-x
2026-06-02 09:03
imunify360-webshield-compose-lists
7.01
KB
-rwxr-xr-x
2026-06-02 08:46
imunify360-webshield-ipdetect
11.51
KB
-rwxr-xr-x
2026-06-02 08:46
imunify360-webshield-ssl-cache
7.69
MB
-rwxr-xr-x
2026-06-02 09:03
init
1.54
MB
-rwxr-xr-x
2026-04-23 11:13
insmod
159.98
KB
-rwxr-xr-x
2024-04-22 16:52
install-info
50.23
KB
-rwxr-xr-x
2022-04-18 17:09
installkernel
323
B
-rwxr-xr-x
2024-04-06 13:02
intel_sdsi
15.62
KB
-rwxr-xr-x
2026-05-28 14:34
ip
693.3
KB
-rwxr-xr-x
2024-05-23 08:36
ip6tables
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-apply
6.89
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-restore
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-restore-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-save
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ipmaddr
21
KB
-rwxr-xr-x
2020-08-30 17:47
iprconfig
408.03
KB
-rwxr-xr-x
2020-08-30 07:37
iprdbg
137.57
KB
-rwxr-xr-x
2020-08-30 07:37
iprdump
129.3
KB
-rwxr-xr-x
2020-08-30 07:37
iprinit
125.28
KB
-rwxr-xr-x
2020-08-30 07:37
iprsos
2.18
KB
-rwxr-xr-x
2020-05-08 14:19
iprupdate
129.3
KB
-rwxr-xr-x
2020-08-30 07:37
ipset
9.01
KB
-rwxr-xr-x
2019-11-12 14:33
iptables
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-apply
6.89
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-restore
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-restore-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-save
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptunnel
25
KB
-rwxr-xr-x
2020-08-30 17:47
irqbalance
62.28
KB
-rwxr-xr-x
2023-10-14 17:57
irqbalance-ui
41.29
KB
-rwxr-xr-x
2023-10-14 17:57
isc-hmac-fixup
11.85
KB
-rwxr-xr-x
2026-06-08 03:38
isolatectl
9.06
KB
-rwxr-xr-x
2026-05-20 17:27
kexec
194.98
KB
-rwxr-xr-x
2026-02-10 17:24
key.dns_resolver
24.52
KB
-rwxr-xr-x
2021-10-08 13:50
kill_php_script
572
B
-rwxr-xr-x
2026-05-20 17:27
kpartx
49.05
KB
-rwxr-xr-x
2026-05-05 11:28
lchage
16.41
KB
-rwxr-xr-x
2024-09-24 02:24
ldattach
32.99
KB
-rwxr-xr-x
2026-02-04 20:18
ldconfig
986.13
KB
-rwxr-xr-x
2026-05-26 09:39
lfd
382.45
KB
-rwx------
2025-02-28 06:11
lgroupadd
11.88
KB
-rwxr-xr-x
2024-09-24 02:24
lgroupdel
11.88
KB
-rwxr-xr-x
2024-09-24 02:24
lgroupmod
19.88
KB
-rwxr-xr-x
2024-09-24 02:24
lid
16.27
KB
-rwxr-xr-x
2024-09-24 02:24
lnewusers
19.87
KB
-rwxr-xr-x
2024-09-24 02:24
lnstat
25.33
KB
-rwxr-xr-x
2024-05-23 08:36
load_policy
12.28
KB
-rwxr-xr-x
2024-07-02 21:04
log2journal
5.74
MB
-rwxr-xr-x
2026-01-22 00:47
logrotate
93.03
KB
-rwxr-xr-x
2023-04-02 00:29
logsave
16.41
KB
-rwxr-xr-x
2025-10-07 07:08
losetup
90.59
KB
-rwxr-xr-x
2026-02-04 20:18
lpasswd
20.35
KB
-rwxr-xr-x
2024-09-24 02:24
lshw
969.55
KB
-rwxr-xr-x
2025-10-07 08:50
lsmod
159.98
KB
-rwxr-xr-x
2024-04-22 16:52
lspci
94.85
KB
-rwxr-xr-x
2023-03-31 21:30
luseradd
19.88
KB
-rwxr-xr-x
2024-09-24 02:24
luserdel
15.88
KB
-rwxr-xr-x
2024-09-24 02:24
lusermod
19.88
KB
-rwxr-xr-x
2024-09-24 02:24
lvdctl
683
B
-rwxr-xr-x
2026-05-20 17:27
lve-bursting-cleanup
492
B
-rwxr-xr-x
2026-05-20 17:45
lve-bursting-cleanup.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lve-bursting-info
492
B
-rwxr-xr-x
2026-05-20 17:45
lve-bursting-info.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lve-create-db
492
B
-rwxr-xr-x
2026-05-20 17:45
lve-create-db.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lve-read-snapshot
492
B
-rwxr-xr-x
2026-05-20 17:45
lve-read-snapshot.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lve_ns_setup
136.23
KB
-rwxr-xr-x
2026-05-18 13:17
lve_root_setup
75.19
KB
-rwxr-xr-x
2026-05-18 13:17
lvechart
492
B
-rwxr-xr-x
2026-05-20 17:45
lvechart.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lvectl
55.4
KB
-rwxr-xr-x
2026-05-20 17:27
lveinfo
492
B
-rwxr-xr-x
2026-05-20 17:45
lveinfo.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lveps
48.44
KB
-rwxr-xr-x
2026-05-20 18:04
lvestats-burstwatcher
492
B
-rwxr-xr-x
2026-05-20 17:45
lvestats-burstwatcher.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lvestats-server
492
B
-rwxr-xr-x
2026-05-20 17:45
lvestats-server.python
492
B
-rwxr-xr-x
2026-05-20 17:45
lvetop
37
B
-rwxr-xr-x
2026-05-20 17:27
lwresd
840.93
KB
-rwxr-xr-x
2026-06-08 03:38
makedumpfile
425.19
KB
-rwxr-xr-x
2026-02-10 17:24
mariadbd
24.44
MB
-rwxr-xr-x
2025-04-25 17:25
matchpathcon
12.37
KB
-rwxr-xr-x
2026-02-10 14:26
mdadm
620.75
KB
-rwxr-xr-x
2025-11-05 10:54
mdmon
379.51
KB
-rwxr-xr-x
2025-11-05 10:54
mii-diag
25.4
KB
-rwxr-xr-x
2020-08-30 17:47
mii-tool
21.03
KB
-rwxr-xr-x
2020-08-30 17:47
mkdict
251
B
-rwxr-xr-x
2019-10-12 00:47
mkdosfs
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkdumprd
12.68
KB
-rwxr-xr-x
2026-02-10 17:24
mke2fs
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfadumprd
2.23
KB
-rwxr-xr-x
2026-02-10 17:24
mkfs
16.48
KB
-rwxr-xr-x
2026-02-04 20:18
mkfs.cramfs
41.27
KB
-rwxr-xr-x
2026-02-04 20:18
mkfs.ext2
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfs.ext3
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfs.ext4
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfs.fat
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkfs.minix
86.56
KB
-rwxr-xr-x
2026-02-04 20:18
mkfs.msdos
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkfs.vfat
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkfs.xfs
475.98
KB
-rwxr-xr-x
2023-10-15 05:11
mkhomedir_helper
24.44
KB
-rwxr-xr-x
2025-12-17 18:54
mklost+found
11.86
KB
-rwxr-xr-x
2025-10-07 07:08
mksquashfs
186.83
KB
-rwxr-xr-x
2024-04-06 14:17
mkswap
86.48
KB
-rwxr-xr-x
2026-02-04 20:18
modinfo
159.98
KB
-rwxr-xr-x
2024-04-22 16:52
modprobe
159.98
KB
-rwxr-xr-x
2024-04-22 16:52
modsec-sdbm-util
25.83
KB
-rwxr-x---
2024-05-22 16:19
mount.nfs
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
mount.nfs4
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
mountstats
42.22
KB
-rwxr-xr-x
2026-03-09 13:07
mysqld
24.44
MB
-rwxr-xr-x
2025-04-25 17:25
named
840.93
KB
-rwxr-xr-x
2026-06-08 03:38
named-checkconf
40.79
KB
-rwxr-xr-x
2026-06-08 03:38
named-checkzone
36.63
KB
-rwxr-xr-x
2026-06-08 03:38
named-compilezone
36.63
KB
-rwxr-xr-x
2026-06-08 03:38
named-journalprint
11.85
KB
-rwxr-xr-x
2026-06-08 03:38
nameif
16.98
KB
-rwxr-xr-x
2020-08-30 17:47
nd-mcp
5.84
MB
-rwxr-xr-x
2026-01-22 00:48
nd-run
39.87
KB
-rwxr-xr-x
2026-01-22 00:41
netdata
143.11
MB
-rwxr-xr-x
2026-01-22 01:04
netdata-claim.sh
3.67
KB
-rwxr-xr-x
2026-01-22 00:41
netdatacli
4.46
MB
-rwxr-xr-x
2026-01-22 00:48
newusers
107.23
KB
-rwxr-xr-x
2025-12-18 13:51
nfsconf
37.48
KB
-rwxr-xr-x
2026-03-09 13:08
nfsconvert
13.03
KB
-rwxr-xr-x
2026-03-09 13:08
nfsdcld
65.87
KB
-rwxr-xr-x
2026-03-09 13:08
nfsdclddb
10
KB
-rwxr-xr-x
2026-03-09 13:07
nfsdclnts
9.02
KB
-rwxr-xr-x
2026-03-09 13:07
nfsdcltrack
49.78
KB
-rwxr-xr-x
2026-03-09 13:08
nfsidmap
45.35
KB
-rwxr-xr-x
2026-03-09 13:08
nfsiostat
23.36
KB
-rwxr-xr-x
2026-03-09 13:07
nfsref
65.8
KB
-rwxr-xr-x
2026-03-09 13:08
nfsstat
35.52
KB
-rwxr-xr-x
2026-03-09 13:08
nft
24.41
KB
-rwxr-xr-x
2025-01-28 01:24
nologin
11.87
KB
-rwxr-xr-x
2026-02-04 20:18
normal-to-hybrid
2.23
KB
-rwxr-xr-x
2026-06-11 11:31
nscd
156.68
KB
-rwxr-xr-x
2026-05-26 09:39
nsec3hash
12.29
KB
-rwxr-xr-x
2026-06-08 03:38
nstat
113.57
KB
-rwxr-xr-x
2024-05-23 08:36
ownership
12.4
KB
-rwxr-xr-x
2024-04-06 13:04
packer
13.05
KB
-rwxr-xr-x
2019-10-12 00:47
pam_console_apply
45.2
KB
-rwxr-xr-x
2025-12-17 18:54
pam_imunify_daemon.bin
9.98
MB
-rwxr-xr-x
2026-05-12 14:29
pam_timestamp_check
11.87
KB
-rwsr-xr-x
2025-12-17 18:54
paperconfig
4.07
KB
-rwxr-xr-x
2019-10-12 20:09
parted
85.6
KB
-rwxr-xr-x
2021-10-08 15:43
partprobe
16.39
KB
-rwxr-xr-x
2021-10-08 15:43
partx
94.5
KB
-rwxr-xr-x
2026-02-04 20:18
pdns_server
6.26
MB
-rwxr-xr-x
2026-05-19 16:55
pidof
16.7
KB
-rwxr-xr-x
2023-10-14 20:31
ping
66.13
KB
-rwxr-xr-x
2023-10-14 17:19
ping6
66.13
KB
-rwxr-xr-x
2023-10-14 17:19
pivot_root
12.38
KB
-rwxr-xr-x
2026-02-04 20:18
plipconfig
12.71
KB
-rwxr-xr-x
2020-08-30 17:47
plymouth-set-default-theme
6.05
KB
-rwxr-xr-x
2025-11-05 08:10
plymouthd
141.84
KB
-rwxr-xr-x
2025-11-05 08:11
poweroff
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
processpaneluserspackages
2.79
KB
-rwxr-xr-x
2026-05-20 17:27
pure-authd
19.23
KB
-rwxr-xr-x
2025-06-06 14:16
pure-certd
19.14
KB
-rwxr-xr-x
2025-06-06 14:16
pure-config.pl
4.64
KB
-rwxr-xr-x
2025-06-06 14:14
pure-ftpd
182.07
KB
-rwxr-xr-x
2025-06-06 14:16
pure-ftpwho
26.83
KB
-rwxr-xr-x
2025-06-06 14:16
pure-mrtginfo
11.16
KB
-rwxr-xr-x
2025-06-06 14:16
pure-quotacheck
18.82
KB
-rwxr-xr-x
2025-06-06 14:16
pure-uploadscript
19.08
KB
-rwxr-xr-x
2025-06-06 14:16
pwck
57.27
KB
-rwxr-xr-x
2025-12-18 13:51
pwconv
53.1
KB
-rwxr-xr-x
2025-12-18 13:51
pwhistory_helper
20.44
KB
-rwxr-xr-x
2025-12-17 18:54
pwunconv
53.13
KB
-rwxr-xr-x
2025-12-18 13:51
quot
78.67
KB
-rwxr-xr-x
2021-10-09 07:08
quotacheck
115.75
KB
-rwxr-xr-x
2021-10-09 07:08
quotaoff
83.16
KB
-rwxr-xr-x
2021-10-09 07:08
quotaon
83.16
KB
-rwxr-xr-x
2021-10-09 07:08
quotastats
16.54
KB
-rwxr-xr-x
2021-10-09 07:08
raid-check
3.7
KB
-rwxr-xr-x
2025-11-05 07:57
rdisc
24.55
KB
-rwxr-xr-x
2023-10-14 17:19
rdma
187.38
KB
-rwxr-xr-x
2024-05-23 08:36
readprofile
20.55
KB
-rwxr-xr-x
2026-02-04 20:18
reboot
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
repquota
83.24
KB
-rwxr-xr-x
2021-10-09 07:08
request-key
24.38
KB
-rwxr-xr-x
2021-10-08 13:50
resize2fs
64.91
KB
-rwxr-xr-x
2025-10-07 07:08
resizepart
41.57
KB
-rwxr-xr-x
2026-02-04 20:18
resolvconf
195.75
KB
-rwxr-xr-x
2026-04-23 11:13
restorecon
20.53
KB
-rwxr-xr-x
2024-07-02 21:04
restorecon_xattr
16.41
KB
-rwxr-xr-x
2024-07-02 21:04
rfkill
53.46
KB
-rwxr-xr-x
2026-02-04 20:18
rhn_check
4.25
KB
-rwxr-xr-x
2026-06-11 11:31
rhn_check-3.6
4.25
KB
-rwxr-xr-x
2026-06-11 11:31
rhnreg_ks
6.33
KB
-rwxr-xr-x
2026-06-11 11:31
rhnreg_ks-3.6
6.33
KB
-rwxr-xr-x
2026-06-11 11:31
rmmod
159.98
KB
-rwxr-xr-x
2024-04-22 16:52
rndc
36.53
KB
-rwxr-xr-x
2026-06-08 03:38
rndc-confgen
20.45
KB
-rwxr-xr-x
2026-06-08 03:38
rotatelogs
24.53
KB
-rwxr-xr-x
2026-06-10 15:43
route
67.63
KB
-rwxr-xr-x
2020-08-30 17:47
rpc.gssd
106.54
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.idmapd
61.73
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.mountd
163.04
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.nfsd
49.91
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.statd
103.29
KB
-rwxr-xr-x
2026-03-09 13:08
rpcbind
61.55
KB
-rwxr-xr-x
2022-10-12 11:00
rpcctl
9.41
KB
-rwxr-xr-x
2026-03-09 13:07
rpcdebug
19.38
KB
-rwxr-xr-x
2026-03-09 13:08
rpcinfo
32.64
KB
-rwxr-xr-x
2022-10-12 11:00
rsyslogd
724.73
KB
-rwxr-xr-x
2024-11-05 02:34
rtacct
46.94
KB
-rwxr-xr-x
2024-05-23 08:36
rtcwake
49.3
KB
-rwxr-xr-x
2026-02-04 20:18
rtmon
117.27
KB
-rwxr-xr-x
2024-05-23 08:36
rtstat
25.33
KB
-rwxr-xr-x
2024-05-23 08:36
runlevel
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
runq
1.53
MB
-rwsr-xr-x
2026-05-29 19:00
runuser
48.99
KB
-rwxr-xr-x
2026-02-04 20:18
sasldblistusers2
20.77
KB
-rwxr-xr-x
2022-02-23 20:13
saslpasswd2
16.42
KB
-rwxr-xr-x
2022-02-23 20:13
sefcontext_compile
65.35
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_digest
12.28
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_lookup
12.27
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_lookup_best_match
11.89
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_partial_match
11.88
KB
-rwxr-xr-x
2026-02-10 14:26
selinux_check_access
12.36
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxconlist
11.88
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxdefcon
11.88
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxenabled
7.84
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxexeccon
11.86
KB
-rwxr-xr-x
2026-02-10 14:26
semodule
29.27
KB
-rwxr-xr-x
2024-07-02 21:04
sendmail
16.91
KB
-rwxr-sr-x
2026-05-29 19:00
service
3.64
KB
-rwxr-xr-x
2025-09-23 08:27
sestatus
20.41
KB
-rwxr-xr-x
2024-07-02 21:04
setcap
16.27
KB
-rwxr-xr-x
2026-05-04 20:33
setenforce
12.27
KB
-rwxr-xr-x
2026-02-10 14:26
setfiles
20.53
KB
-rwxr-xr-x
2024-07-02 21:04
setpci
28.56
KB
-rwxr-xr-x
2023-03-31 21:30
setquota
91.38
KB
-rwxr-xr-x
2021-10-09 07:08
setsebool
16.38
KB
-rwxr-xr-x
2024-07-02 21:04
sfdisk
118.51
KB
-rwxr-xr-x
2026-02-04 20:18
sgdisk
198.05
KB
-rwxr-xr-x
2022-10-12 10:53
showmount
21.06
KB
-rwxr-xr-x
2026-03-09 13:08
shutdown
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
sim_server
11.87
KB
-rwxr-xr-x
2026-05-13 06:34
skdump
16.91
KB
-rwxr-xr-x
2019-10-15 21:57
sktest
12.81
KB
-rwxr-xr-x
2019-10-15 21:57
slattach
43.76
KB
-rwxr-xr-x
2020-08-30 17:47
sm-notify
78.13
KB
-rwxr-xr-x
2026-03-09 13:08
smartctl
907.08
KB
-rwxr-xr-x
2024-04-06 14:11
smartd
733.2
KB
-rwxr-xr-x
2024-04-06 14:11
ss
191.3
KB
-rwxr-xr-x
2024-05-23 08:36
sshd
869.7
KB
-rwxr-xr-x
2026-05-04 20:25
sss_cache
61.09
KB
-rwxr-xr-x
2026-02-10 17:01
sssd
73.01
KB
-rwxr-xr-x
2026-02-10 17:01
start-statd
838
B
-rwxr-xr-x
2018-09-06 18:09
start-stop-daemon
45.98
KB
-rwxr-xr-x
2021-12-15 12:46
suexec
20.41
KB
-rwsr-s---
2026-06-10 15:43
sulogin
49.24
KB
-rwxr-xr-x
2026-02-04 20:18
suphp
215.1
KB
-rwsr-x---
2025-08-21 17:43
swaplabel
16.5
KB
-rwxr-xr-x
2026-02-04 20:18
swapoff
20.75
KB
-rwxr-xr-x
2026-02-04 20:18
swapon
49.41
KB
-rwxr-xr-x
2026-02-04 20:18
switch_root
16.49
KB
-rwxr-xr-x
2026-02-04 20:18
sysctl
28.88
KB
-rwxr-xr-x
2023-10-14 20:31
syspurpose
415
B
-rwxr-xr-x
2025-07-15 09:13
systemd-cat-native
4.51
MB
-rwxr-xr-x
2026-01-22 00:45
tcsd
309.72
KB
-rwxr-xr-x
2024-04-06 12:42
telinit
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
tipc
163.07
KB
-rwxr-xr-x
2024-05-23 08:36
tmpwatch
35.47
KB
-rwxr-xr-x
2019-10-12 11:32
tracepath
20.44
KB
-rwxr-xr-x
2023-10-14 17:19
tracepath6
20.44
KB
-rwxr-xr-x
2023-10-14 17:19
tsig-keygen
20.46
KB
-rwxr-xr-x
2026-06-08 03:38
tune2fs
110.63
KB
-rwxr-xr-x
2025-10-07 07:08
tuned
3.88
KB
-rwxr-xr-x
2024-02-22 12:23
tuned-adm
6.5
KB
-rwxr-xr-x
2024-02-22 12:23
udevadm
424.56
KB
-rwxr-xr-x
2026-04-23 11:13
umount.nfs
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
umount.nfs4
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
umount.udisks2
11.89
KB
-rwxr-xr-x
2025-09-03 09:08
unbound-anchor
57.34
KB
-rwxr-xr-x
2026-06-08 09:27
unix_chkpwd
36.86
KB
-rwsr-xr-x
2025-12-17 18:54
unix_update
36.86
KB
-rwx------
2025-12-17 18:54
unsquashfs
99.57
KB
-rwxr-xr-x
2024-04-06 14:17
update-alternatives
36.66
KB
-rwxr-xr-x
2023-10-14 22:48
update-pciids
1.71
KB
-rwxr-xr-x
2023-03-31 21:30
update-smart-drivedb
14.44
KB
-rwxr-xr-x
2024-04-06 14:11
useradd
148.16
KB
-rwxr-xr-x
2025-12-18 13:51
userdel
107.29
KB
-rwxr-xr-x
2025-12-18 13:51
userhelper
44.86
KB
-rws--x--x
2021-10-08 19:29
usermod
144.11
KB
-rwxr-xr-x
2025-12-18 13:51
usernetctl
12.42
KB
-rwsr-xr-x
2025-11-10 10:42
uuserver
15.88
KB
-rwxr-xr-x
2026-05-13 06:34
vdpa
118.04
KB
-rwxr-xr-x
2024-05-23 08:36
vigr
68.05
KB
-rwxr-xr-x
2025-12-18 13:51
vipw
68.05
KB
-rwxr-xr-x
2025-12-18 13:51
virt-what
14.22
KB
-rwxr-xr-x
2023-10-14 20:52
visudo
239.28
KB
-rwxr-xr-x
2026-04-29 08:49
vmcore-dmesg
28.58
KB
-rwxr-xr-x
2026-02-10 17:24
vpddecode
16.47
KB
-rwxr-xr-x
2024-04-06 13:04
wafd_imunify_daemon
15.9
MB
-rwxr-xr-x
2026-06-02 09:03
weak-modules
39.35
KB
-rwxr-xr-x
2024-04-22 16:52
whmapi0
3.33
MB
-rwxr-xr-x
2026-06-11 03:04
whmapi1
3.33
MB
-rwxr-xr-x
2026-06-11 03:04
whmlogin
2.33
KB
-rwxr-xr-x
2024-11-04 17:30
wipefs
41.12
KB
-rwxr-xr-x
2026-02-04 20:18
xfs_admin
1.38
KB
-rwxr-xr-x
2023-10-15 05:10
xfs_bmap
695
B
-rwxr-xr-x
2023-10-15 05:11
xfs_copy
434.59
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_db
760.47
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_estimate
12.39
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_freeze
800
B
-rwxr-xr-x
2023-10-15 05:11
xfs_fsr
53.41
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_growfs
422.48
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_info
1.26
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_io
188.28
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_logprint
454.7
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_mdrestore
410.09
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_metadump
782
B
-rwxr-xr-x
2023-10-15 05:10
xfs_mkfile
1.02
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_ncheck
685
B
-rwxr-xr-x
2023-10-15 05:10
xfs_quota
93.98
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_repair
715.24
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_rtcp
16.38
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_spaceman
45.42
KB
-rwxr-xr-x
2023-10-15 05:11
xqmstats
16.45
KB
-rwxr-xr-x
2021-10-09 07:08
xtables-monitor
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
xtables-nft-multi
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
zabbix_agent2
20.47
MB
-rwxr-xr-x
2025-11-03 07:45
zdump
20.56
KB
-rwxr-xr-x
2026-05-26 09:39
zic
52.83
KB
-rwxr-xr-x
2026-05-26 09:39
zramctl
99.13
KB
-rwxr-xr-x
2026-02-04 20:18
Save
Rename
#!/usr/bin/perl # # dpkg-fsys-usrunmess - Undoes the merged-/usr-via-aliased-dirs mess # # Copyright © 2020-2021 Guillem Jover <guillem@debian.org> # # 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; either version 2 of the License, or # (at your option) any later version. # # 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. If not, see <https://www.gnu.org/licenses/> use strict; use warnings; use feature qw(state); our ($PROGNAME) = $0 =~ m{(?:.*/)?([^/]*)}; our $PROGVERSION = '1.20.9'; our $ADMINDIR = '/var/lib/dpkg'; use POSIX; use Getopt::Long qw(:config posix_default bundling_values no_ignorecase); eval q{ pop @INC if $INC[-1] eq '.'; use File::FcntlLock; }; if ($@) { fatal('missing File::FcntlLock module; please install libfile-fcntllock-perl'); } my $opt_noact = length $ENV{DPKG_USRUNMESS_NOACT} ? 1 : 0; my $opt_prompt = 0; my @options_spec = ( 'help|?' => sub { usage(); exit 0; }, 'version' => sub { version(); exit 0; }, 'dry-run|no-act|n' => \$opt_noact, 'prompt|p' => \$opt_prompt, ); { local $SIG{__WARN__} = sub { usageerr($_[0]) }; GetOptions(@options_spec); } my @aliased_dirs; # # Scan all dirs under / and check whether any are aliased to /usr. # foreach my $path (glob '/*') { debug("checking symlink? $path"); next unless -l $path; debug("checking merged-usr symlink? $path"); my $symlink = readlink $path; next unless $symlink eq "usr$path" or $symlink eq "/usr$path"; debug("merged-usr breakage, queueing $path"); push @aliased_dirs, $path; } if (@aliased_dirs == 0) { print "System is fine, no aliased directories found, congrats!\n"; exit 0; } # # dpkg consistency checks # debug('checking dpkg database consistency'); system(qw(dpkg --audit)) == 0 or fatal("cannot audit the dpkg database: $!"); debug('checking whether dpkg has been interrupted'); if (glob "$ADMINDIR/updates/*") { fatal('dpkg is in an inconsistent state, please fix that'); } my $aliased_regex = '^(' . join('|', @aliased_dirs) . ')/'; # # Get a list of all paths (including diversion) under the aliased dirs. # my @search_args; my %aliased_pathnames; foreach my $dir (@aliased_dirs) { push @search_args, "$dir/*"; } open my $fh_paths, '-|', 'dpkg-query', '--search', @search_args or fatal("cannot execute dpkg-query --search: $!"); while (<$fh_paths>) { if (m/^diversion by [^ ]+ from: .*$/) { # Ignore. } elsif (m/^diversion by [^ ]+ to: (.*)$/) { if (-e $1) { add_pathname($1, 'diverted pathname'); } } elsif (m/^.*: (.*)$/) { add_pathname($1, 'pathname'); } } close $fh_paths; # # Get a list of all update-alternatives under the aliased dirs. # my @selections = qx(update-alternatives --get-selections); foreach my $selection (@selections) { my $name = (split(' ', $selection))[0]; my $slaves = 0; open my $fh_alts, '-|', 'update-alternatives', '--query', $name or fatal("cannot execute update-alternatives --query: $!"); while (<$fh_alts>) { if (m/^\s*$/) { last; } elsif (m/^Link: (.*)$/) { add_pathname($1, 'alternative link'); } elsif (m/^Slaves:\s*$/) { $slaves = 1; } elsif ($slaves and m/^\s\S+\s(\S+)$/) { add_pathname($1, 'alternative slave'); } else { $slaves = 0; } } close $fh_alts; } my $sroot = '/.usrunmess'; my @relabel; # # Create a shadow hierarchy under / for the new unmessed dir: # debug("creating shadow dir = $sroot"); mkdir $sroot or sysfatal("cannot create directory $sroot"); foreach my $dir (@aliased_dirs) { debug("creating shadow dir = $sroot$dir"); mkdir "$sroot$dir" or sysfatal("cannot create directory $sroot$dir"); push @relabel, "$sroot$dir"; } # # Populate the split dirs with hardlinks or copies of the objects from # their counter-parts in /usr. # foreach my $pathname (sort keys %aliased_pathnames) { my (@meta) = lstat $pathname or sysfatal("cannot lstat object $pathname for shadow hierarchy"); if (-d _) { my $mode = $meta[2]; my ($uid, $gid) = @meta[4, 5]; my ($atime, $mtime, $ctime) = @meta[8, 9, 10]; debug("creating shadow dir = $sroot$pathname"); mkdir "$sroot$pathname" or sysfatal("cannot mkdir $sroot$pathname"); chmod $mode, "$sroot$pathname" or sysfatal("cannot chmod $mode $sroot$pathname"); chown $uid, $gid, "$sroot$pathname" or sysfatal("cannot chown $uid $gid $sroot$pathname"); utime $atime, $mtime, "$sroot$pathname" or sysfatal("cannot utime $atime $mtime $sroot$pathname"); push @relabel, "$sroot$pathname"; } elsif (-f _) { debug("creating shadow file = $sroot$pathname"); copy("/usr$pathname", "$sroot$pathname"); } elsif (-l _) { my $target = readlink "/usr$pathname"; debug("creating shadow symlink = $sroot$pathname"); symlink $target, "$sroot$pathname" or sysfatal("cannot symlink $target to $sroot$pathname"); push @relabel, "$sroot$pathname"; } else { fatal("unhandled object type for '$pathname'"); } } # # Prompt at the point of no return, if the user requested it. # if ($opt_prompt) { print "Shadow hierarchy created at '$sroot', ready to proceed (y/N)? "; my $reply = <STDIN>; chomp $reply; if ($reply ne 'y' and $reply ne 'yes') { print "Aborting migration, shadow hierarchy left in place.\n"; exit 0; } } # # Mark all packages as half-configured so that we can force a mass # reconfiguration, to trigger any code in maintainer scripts that might # create files. # # XXX: We do this manually by editing the status file. # XXX: We do this for packages that might not have maintscripts, or might # not involve affected directories. # debug('marking all dpkg packages as half-configured'); if (not $opt_noact) { open my $fh_lock, '>', "$ADMINDIR/lock" or sysfatal('cannot open dpkg database lock file'); my $fs = File::FcntlLock->new(l_type => F_WRLCK); $fs->lock($fh_lock, F_SETLKW) or sysfatal('cannot get a write lock on dpkg database'); my $file_db = "$ADMINDIR/status"; my $file_dbnew = $file_db . '.new'; open my $fh_dbnew, '>', $file_dbnew or sysfatal('cannot open new dpkg database'); open my $fh_db, '<', $file_db or sysfatal('cannot open dpkg database'); while (<$fh_db>) { if (m/^Status: /) { s/ installed$/ half-configured/; } print { $fh_dbnew } $_; } close $fh_db; $fh_dbnew->flush() or sysfatal('cannot flush new dpkg database'); $fh_dbnew->sync() or sysfatal('cannot fsync new dpkg database'); close $fh_dbnew or sysfatal('cannot close new dpkg database'); rename $file_dbnew, $file_db or sysfatal('cannot rename new dpkg database'); } # # Replace things as quickly as possible: # foreach my $dir (@aliased_dirs) { debug("making dir backup = $dir.aliased"); if (not $opt_noact) { rename $dir, "$dir.aliased" or sysfatal("cannot make backup directory $dir.aliased"); } debug("renaming $sroot$dir to $dir"); if (not $opt_noact) { rename "$sroot$dir", $dir or sysfatal("cannot install fixed directory $dir"); } } mac_relabel(); # # Re-configure all packages, so that postinst maintscripts are executed. # debug('reconfigured all packages'); if (not $opt_noact) { local $ENV{DEBIAN_FRONTEND} = 'noninteractive'; system(qw(dpkg --configure --pending)) == 0 or fatal("cannot reconfigure packages: $!"); } # # Cleanup backup directories. # foreach my $dir (@aliased_dirs) { debug("removing backup = $dir.aliased"); if (not $opt_noact) { unlink "$dir.aliased" or sysfatal("cannot cleanup backup directory $dir.aliased"); } } my %deferred_dirnames; # # Cleanup moved objects. # foreach my $pathname (sort keys %aliased_pathnames) { my (@meta) = lstat $pathname or sysfatal("cannot lstat object $pathname for cleanup"); if (-d _) { # Skip directories as this might be shared by a proper path under the # aliased hierearchy. And so that we can remove them in reverse order. debug("deferring merged dir cleanup = /usr$pathname"); $deferred_dirnames{"/usr$pathname"} = 1; } else { debug("cleaning up pathname = /usr$pathname"); next if $opt_noact; unlink "/usr$pathname" or sysfatal("cannot unlink object /usr$pathname"); } } # # Cleanup deferred directories. # debug("cleaning up shadow deferred dir = $sroot"); my $arg_max = POSIX::sysconf(POSIX::_SC_ARG_MAX) // POSIX::_POSIX_ARG_MAX; my @batch_dirs; my $batch_size = 0; foreach my $dir (keys %deferred_dirnames) { my $dir_size = length($dir) + 1; if ($batch_size + $dir_size < $arg_max) { $batch_size += length($dir) + 1; push @batch_dirs, $dir; } else { next; } next if length $batch_size == 0; open my $fh_dirs, '-|', 'dpkg-query', '--search', @batch_dirs or fatal("cannot execute dpkg-query --search: $!"); while (<$fh_dirs>) { if (m/^.*: (.*)$/) { # If the directory is known by its aliased name, it should not be # cleaned up. if (exists $deferred_dirnames{$1}) { delete $deferred_dirnames{$1}; } } } close $fh_dirs; @batch_dirs = (); $batch_size = 0; } if (not $opt_noact) { foreach my $dirname (reverse sort keys %deferred_dirnames) { rmdir $dirname or sysfatal("cannot remove shadow directory $dirname"); } } if (not $opt_noact) { debug("cleaning up shadow root dir = $sroot"); rmdir $sroot or sysfatal("cannot remove shadow directory $sroot"); } print "Done, hierarchy unmessed, congrats!\n"; print "(Note: you might need to run 'hash -r' in your shell.)\n"; 1; ## ## Functions ## sub debug { my $msg = shift; print { \*STDERR } "D: $msg\n"; } sub fatal { my $msg = shift; die "error: $msg\n"; } sub sysfatal { my $msg = shift; fatal("$msg: $!"); } sub copy { my ($src, $dst) = @_; # Try to hardlink first. return if link $src, $dst; # If we are on different filesystems, try a copy. if ($! == POSIX::EXDEV) { # XXX: This will not preserve hardlinks, these would get restored # after the next package upgrade. system('cp', '-a', $src, $dst) == 0 or fatal("cannot copy file $src to $dst: $?"); } else { sysfatal("cannot link file $src to $dst"); } } sub mac_relabel { my $has_cmd = 0; foreach my $path (split /:/, $ENV{PATH}) { if (-x "$path/restorecon") { $has_cmd = 1; last; } } return unless $has_cmd; foreach my $pathname (@relabel) { system('restorecon', $pathname) == 0 or fatal("cannot restore MAC context for $pathname: $?"); } } sub add_pathname { my ($pathname, $origin) = @_; if ($pathname =~ m/$aliased_regex/) { debug("adding $origin = $pathname"); $aliased_pathnames{$pathname} = 1; } } sub version() { printf "Debian %s version %s.\n", $PROGNAME, $PROGVERSION; } sub usage { printf 'Usage: %s [<option>...]' . "\n\n" . 'Options: -p, --prompt prompt before the point of no return. -n, --no-act just check and create the new structure, no switch. --dry-run ditto. -?, --help show this help message. --version show the version.' . "\n", $PROGNAME; } sub usageerr { my $msg = shift; state $printforhelp = 'Use --help for program usage information.'; $msg = sprintf $msg, @_ if @_; warn "$PROGNAME: error: $msg\n"; warn "$printforhelp\n"; exit 2; }