Linux mail.vriendennsm.nl 6.1.0-51-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.177-1 (2026-07-16) x86_64
Apache/2.4.68 (Debian)
Server IP : 217.154.75.17 & Your IP : 216.73.216.195
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
[
66.89
KB
-rwxr-xr-x
2022-09-20 15:27
aa-enabled
18.23
KB
-rwxr-xr-x
2023-02-14 11:49
aa-exec
18.23
KB
-rwxr-xr-x
2023-02-14 11:49
aa-features-abi
18.23
KB
-rwxr-xr-x
2023-02-14 11:49
ab
58.42
KB
-rwxr-xr-x
2026-06-12 05:08
addpart
30.31
KB
-rwxr-xr-x
2024-11-21 20:01
apropos
51.29
KB
-rwxr-xr-x
2023-03-12 22:23
apt
18.31
KB
-rwxr-xr-x
2023-05-25 14:11
apt-cache
86.38
KB
-rwxr-xr-x
2023-05-25 14:11
apt-cdrom
22.38
KB
-rwxr-xr-x
2023-05-25 14:11
apt-config
26.31
KB
-rwxr-xr-x
2023-05-25 14:11
apt-extracttemplates
22.39
KB
-rwxr-xr-x
2023-05-25 14:11
apt-ftparchive
270.39
KB
-rwxr-xr-x
2023-05-25 14:11
apt-get
50.38
KB
-rwxr-xr-x
2023-05-25 14:11
apt-key
27.32
KB
-rwxr-xr-x
2023-05-25 14:11
apt-listchanges
11.96
KB
-rwxr-xr-x
2021-03-28 11:06
apt-mark
58.38
KB
-rwxr-xr-x
2023-05-25 14:11
apt-sortpkgs
38.32
KB
-rwxr-xr-x
2023-05-25 14:11
arch
42.86
KB
-rwxr-xr-x
2022-09-20 15:27
aria_chk
5.34
MB
-rwxr-xr-x
2026-06-27 11:11
aria_dump_log
5.14
MB
-rwxr-xr-x
2026-06-27 11:11
aria_ftdump
5.15
MB
-rwxr-xr-x
2026-06-27 11:11
aria_pack
5.18
MB
-rwxr-xr-x
2026-06-27 11:11
aria_read_log
5.3
MB
-rwxr-xr-x
2026-06-27 11:11
awk
696.44
KB
-rwxr-xr-x
2023-02-19 13:30
b2sum
58.98
KB
-rwxr-xr-x
2022-09-20 15:27
base32
46.89
KB
-rwxr-xr-x
2022-09-20 15:27
base64
46.89
KB
-rwxr-xr-x
2022-09-20 15:27
basename
42.83
KB
-rwxr-xr-x
2022-09-20 15:27
basenc
54.89
KB
-rwxr-xr-x
2022-09-20 15:27
bash
1.21
MB
-rwxr-xr-x
2026-05-07 20:33
bashbug
6.7
KB
-rwxr-xr-x
2026-05-07 20:33
bunzip2
38.3
KB
-rwxr-xr-x
2022-09-19 02:54
busctl
90.5
KB
-rwxr-xr-x
2026-04-27 19:48
bzcat
38.3
KB
-rwxr-xr-x
2022-09-19 02:54
bzcmp
2.17
KB
-rwxr-xr-x
2022-09-19 02:54
bzdiff
2.17
KB
-rwxr-xr-x
2022-09-19 02:54
bzegrep
3.69
KB
-rwxr-xr-x
2022-09-19 02:54
bzexe
4.78
KB
-rwxr-xr-x
2021-11-27 12:25
bzfgrep
3.69
KB
-rwxr-xr-x
2022-09-19 02:54
bzgrep
3.69
KB
-rwxr-xr-x
2022-09-19 02:54
bzip2
38.3
KB
-rwxr-xr-x
2022-09-19 02:54
bzip2recover
14.23
KB
-rwxr-xr-x
2022-09-19 02:54
bzless
1.27
KB
-rwxr-xr-x
2022-09-19 02:54
bzmore
1.27
KB
-rwxr-xr-x
2022-09-19 02:54
c_rehash
6.76
KB
-rwxr-xr-x
2026-06-06 19:56
captoinfo
90.34
KB
-rwxr-xr-x
2023-05-07 14:33
cat
42.98
KB
-rwxr-xr-x
2022-09-20 15:27
catman
42.77
KB
-rwxr-xr-x
2023-03-12 22:23
certbot
14.79
MB
-rwxr-xr-x
2026-05-10 10:28
cgi-fcgi
18.08
KB
-rwxr-xr-x
2025-05-26 18:18
chage
78.49
KB
-rwxr-sr-x
2025-12-14 14:00
chardet
221
B
-rwxr-xr-x
2022-12-26 14:42
chardetect
221
B
-rwxr-xr-x
2022-12-26 14:42
chattr
14.24
KB
-rwxr-xr-x
2025-06-06 17:12
chcon
67.11
KB
-rwxr-xr-x
2022-09-20 15:27
checkgid
14.23
KB
-rwxr-xr-x
2026-06-12 05:08
chfn
61.2
KB
-rwsr-xr-x
2025-12-14 14:00
chgrp
67.05
KB
-rwxr-xr-x
2022-09-20 15:27
chmod
62.98
KB
-rwxr-xr-x
2022-09-20 15:27
choom
54.31
KB
-rwxr-xr-x
2024-11-21 20:01
chown
71.05
KB
-rwxr-xr-x
2022-09-20 15:27
chrt
66.31
KB
-rwxr-xr-x
2024-11-21 20:01
chsh
51.64
KB
-rwsr-xr-x
2025-12-14 14:00
cksum
139.05
KB
-rwxr-xr-x
2022-09-20 15:27
clear
14.24
KB
-rwxr-xr-x
2023-05-07 14:33
clear_console
14.15
KB
-rwxr-xr-x
2026-05-07 20:33
cloud-id
972
B
-rwxr-xr-x
2026-06-01 19:13
cloud-init
976
B
-rwxr-xr-x
2026-06-01 19:13
cloud-init-per
2.06
KB
-rwxr-xr-x
2022-11-23 21:17
cloud-localds
7.21
KB
-rwxr-xr-x
2022-06-03 10:51
cmp
50.95
KB
-rwxr-xr-x
2023-02-03 19:00
col
34.31
KB
-rwxr-xr-x
2024-11-21 20:01
colcrt
14.31
KB
-rwxr-xr-x
2024-11-21 20:01
colrm
30.31
KB
-rwxr-xr-x
2024-11-21 20:01
column
54.31
KB
-rwxr-xr-x
2024-11-21 20:01
comm
46.92
KB
-rwxr-xr-x
2022-09-20 15:27
compose
18.06
KB
-rwxr-xr-x
2021-11-29 13:07
corelist
15.01
KB
-rwxr-xr-x
2025-08-29 12:09
cp
147.61
KB
-rwxr-xr-x
2022-09-20 15:27
cpan
8.16
KB
-rwxr-xr-x
2025-08-29 12:09
cpan5.36-x86_64-linux-gnu
8.18
KB
-rwxr-xr-x
2025-08-29 12:09
cpio
158.56
KB
-rwxr-xr-x
2022-09-14 19:45
csplit
119.17
KB
-rwxr-xr-x
2022-09-20 15:27
ctstat
26.59
KB
-rwxr-xr-x
2023-05-22 13:19
curl
274.22
KB
-rwxr-xr-x
2026-05-08 14:16
cut
46.98
KB
-rwxr-xr-x
2022-09-20 15:27
cvtsudoers
337.19
KB
-rwxr-xr-x
2026-04-11 12:01
dash
122.7
KB
-rwxr-xr-x
2023-01-05 13:20
date
119.05
KB
-rwxr-xr-x
2022-09-20 15:27
dbilogstrip
1.35
KB
-rwxr-xr-x
2026-06-09 15:14
dbiprof
6.06
KB
-rwxr-xr-x
2026-06-09 15:14
dbiproxy
5.27
KB
-rwxr-xr-x
2026-06-09 15:14
dbus-cleanup-sockets
14.22
KB
-rwxr-xr-x
2023-09-16 10:03
dbus-daemon
238.56
KB
-rwxr-xr-x
2023-09-16 10:03
dbus-monitor
26.23
KB
-rwxr-xr-x
2023-09-16 10:03
dbus-run-session
14.23
KB
-rwxr-xr-x
2023-09-16 10:03
dbus-send
30.22
KB
-rwxr-xr-x
2023-09-16 10:03
dbus-update-activation-environment
14.22
KB
-rwxr-xr-x
2023-09-16 10:03
dbus-uuidgen
14.22
KB
-rwxr-xr-x
2023-09-16 10:03
dd
87.15
KB
-rwxr-xr-x
2022-09-20 15:27
deb-systemd-helper
23.79
KB
-rwxr-xr-x
2022-07-13 19:55
deb-systemd-invoke
6.09
KB
-rwxr-xr-x
2025-08-20 18:56
debconf
2.79
KB
-rwxr-xr-x
2023-01-08 21:50
debconf-apt-progress
11.27
KB
-rwxr-xr-x
2023-01-08 21:50
debconf-communicate
608
B
-rwxr-xr-x
2023-01-08 21:50
debconf-copydb
1.68
KB
-rwxr-xr-x
2023-01-08 21:50
debconf-escape
647
B
-rwxr-xr-x
2023-01-08 21:50
debconf-set-selections
2.92
KB
-rwxr-xr-x
2023-01-08 21:50
debconf-show
1.78
KB
-rwxr-xr-x
2023-01-08 21:50
debianbts
217
B
-rwxr-xr-x
2022-12-08 11:34
decodemail
30.7
KB
-rwxr-xr-x
2023-03-03 16:00
delpart
30.31
KB
-rwxr-xr-x
2024-11-21 20:01
devdump
180.17
KB
-rwxr-xr-x
2022-06-24 14:56
df
99.8
KB
-rwxr-xr-x
2022-09-20 15:27
dh_bash-completion
4.31
KB
-rwxr-xr-x
2021-08-28 15:26
dh_installxmlcatalogs
9.22
KB
-rwxr-xr-x
2019-02-27 00:18
dh_perl_dbi
1.17
KB
-rwxr-xr-x
2026-06-09 15:14
dh_perl_openssl
1.53
KB
-rwxr-xr-x
2022-05-01 18:31
diff
151.58
KB
-rwxr-xr-x
2023-02-03 19:00
diff3
67.14
KB
-rwxr-xr-x
2023-02-03 19:00
dir
147.8
KB
-rwxr-xr-x
2022-09-20 15:27
dircolors
50.92
KB
-rwxr-xr-x
2022-09-20 15:27
dirmngr
586.13
KB
-rwxr-xr-x
2026-01-01 14:54
dirmngr-client
106.87
KB
-rwxr-xr-x
2026-01-01 14:54
dirname
38.83
KB
-rwxr-xr-x
2022-09-20 15:27
dirsplit
16.74
KB
-rwxr-xr-x
2006-11-25 23:13
dmesg
86.58
KB
-rwxr-xr-x
2024-11-21 20:01
dnsdomainname
22.15
KB
-rwxr-xr-x
2022-12-19 13:33
domainname
22.15
KB
-rwxr-xr-x
2022-12-19 13:33
dotlock
15.07
KB
-rwxr-sr-x
2023-03-03 16:00
dotlock.mailutils
15.07
KB
-rwxr-sr-x
2023-03-03 16:00
dpkg
310.64
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-deb
166.52
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-divert
154.55
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-maintscript-helper
20.71
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-query
158.58
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-realpath
4.09
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-split
126.48
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-statoverride
62.33
KB
-rwxr-xr-x
2026-03-07 12:15
dpkg-trigger
86.48
KB
-rwxr-xr-x
2026-03-07 12:15
du
171.33
KB
-rwxr-xr-x
2022-09-20 15:27
ec2metadata
8.38
KB
-rwxr-xr-x
2022-06-03 10:51
echo
42.83
KB
-rwxr-xr-x
2022-09-20 15:27
edit
18.06
KB
-rwxr-xr-x
2021-11-29 13:07
editor
280.74
KB
-rwxr-xr-x
2024-05-06 06:10
egrep
41
B
-rwxr-xr-x
2023-01-24 14:43
eject
82.16
KB
-rwxr-xr-x
2024-11-21 20:01
enc2xs
40.96
KB
-rwxr-xr-x
2025-08-29 12:09
encguess
3
KB
-rwxr-xr-x
2025-08-29 12:09
env
47.4
KB
-rwxr-xr-x
2022-09-20 15:27
envsubst
34.31
KB
-rwxr-xr-x
2023-02-26 15:20
eqn
205.42
KB
-rwxr-xr-x
2023-03-07 09:38
ex
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
exonpairs
123.43
KB
-rwxr-xr-x
2020-12-22 13:24
expand
42.92
KB
-rwxr-xr-x
2022-09-20 15:27
expiry
30.45
KB
-rwxr-sr-x
2025-12-14 14:00
expr
115.05
KB
-rwxr-xr-x
2022-09-20 15:27
factor
83.2
KB
-rwxr-xr-x
2022-09-20 15:27
faillog
22.53
KB
-rwxr-xr-x
2025-12-14 14:00
fallocate
34.31
KB
-rwxr-xr-x
2024-11-21 20:01
false
34.83
KB
-rwxr-xr-x
2022-09-20 15:27
fathom
151.24
KB
-rwxr-xr-x
2020-12-22 13:24
fcgistarter
14.23
KB
-rwxr-xr-x
2026-06-12 05:08
fgrep
41
B
-rwxr-xr-x
2023-01-24 14:43
filan
96.02
KB
-rwxr-xr-x
2022-11-06 08:15
file
26.48
KB
-rwxr-xr-x
2023-01-28 18:17
fincore
34.36
KB
-rwxr-xr-x
2024-11-21 20:01
find
219.58
KB
-rwxr-xr-x
2023-01-08 18:07
findmnt
83.59
KB
-rwxr-xr-x
2024-11-21 20:01
flock
34.39
KB
-rwxr-xr-x
2024-11-21 20:01
fmt
46.89
KB
-rwxr-xr-x
2022-09-20 15:27
fold
42.89
KB
-rwxr-xr-x
2022-09-20 15:27
forge
135.21
KB
-rwxr-xr-x
2020-12-22 13:24
free
26.3
KB
-rwxr-xr-x
2022-12-19 06:06
frm
27.23
KB
-rwxr-xr-x
2023-03-03 16:00
frm.mailutils
27.23
KB
-rwxr-xr-x
2023-03-03 16:00
from
22.78
KB
-rwxr-xr-x
2023-03-03 16:00
from.mailutils
22.78
KB
-rwxr-xr-x
2023-03-03 16:00
funzip
22.46
KB
-rwxr-xr-x
2026-08-16 13:50
fuser
39.83
KB
-rwxr-xr-x
2022-12-13 05:27
galera_new_cluster
930
B
-rwxr-xr-x
2026-06-27 11:11
galera_recovery
3.29
KB
-rwxr-xr-x
2026-06-27 11:11
gawk
696.44
KB
-rwxr-xr-x
2023-02-19 13:30
gawkbug
6.54
KB
-rwxr-xr-x
2023-02-19 13:30
genisoimage
631.17
KB
-rwxr-xr-x
2022-06-24 14:56
geqn
205.42
KB
-rwxr-xr-x
2023-03-07 09:38
getconf
26.5
KB
-rwxr-xr-x
2026-04-27 20:14
geteltorito
6.06
KB
-rwxr-xr-x
2022-06-24 14:56
getent
35.47
KB
-rwxr-xr-x
2026-04-27 20:14
getopt
34.31
KB
-rwxr-xr-x
2024-11-21 20:01
gettext
34.31
KB
-rwxr-xr-x
2023-02-26 15:20
gettext.sh
5.07
KB
-rwxr-xr-x
2023-02-26 15:20
gpasswd
86.42
KB
-rwsr-xr-x
2025-12-14 14:00
gpg
1.06
MB
-rwxr-xr-x
2026-01-01 14:54
gpg-agent
425.22
KB
-rwxr-xr-x
2026-01-01 14:54
gpg-connect-agent
154.96
KB
-rwxr-xr-x
2026-01-01 14:54
gpg-wks-server
203
KB
-rwxr-xr-x
2026-01-01 14:54
gpg-zip
3.43
KB
-rwxr-xr-x
2026-01-01 14:54
gpgcompose
910.27
KB
-rwxr-xr-x
2026-01-01 14:54
gpgconf
174.73
KB
-rwxr-xr-x
2026-01-01 14:54
gpgparsemail
34.3
KB
-rwxr-xr-x
2026-01-01 14:54
gpgsm
527.66
KB
-rwxr-xr-x
2026-01-01 14:54
gpgsplit
74.56
KB
-rwxr-xr-x
2026-01-01 14:54
gpgtar
147.52
KB
-rwxr-xr-x
2026-01-01 14:54
gpgv
463
KB
-rwxr-xr-x
2026-01-01 14:54
gpic
220.27
KB
-rwxr-xr-x
2023-03-07 09:38
grep
198.39
KB
-rwxr-xr-x
2023-01-24 14:43
groff
125.45
KB
-rwxr-xr-x
2023-03-07 09:38
grog
2.71
KB
-rwxr-xr-x
2023-03-07 09:38
grops
185.86
KB
-rwxr-xr-x
2023-03-07 09:38
grotty
137.48
KB
-rwxr-xr-x
2023-03-07 09:38
groups
42.89
KB
-rwxr-xr-x
2022-09-20 15:27
growpart
29.19
KB
-rwxr-xr-x
2022-06-03 10:51
grub-editenv
374.23
KB
-rwxr-xr-x
2026-04-01 20:03
grub-file
814.7
KB
-rwxr-xr-x
2026-04-01 20:03
grub-fstest
936.38
KB
-rwxr-xr-x
2026-04-01 20:03
grub-glue-efi
245.07
KB
-rwxr-xr-x
2026-04-01 20:03
grub-kbdcomp
1.64
KB
-rwxr-xr-x
2026-04-01 20:03
grub-menulst2cfg
229.12
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mkfont
273.73
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mkimage
354.26
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mklayout
253.35
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mknetdir
411.02
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mkpasswd-pbkdf2
257.41
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mkrelpath
244.76
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mkrescue
993.12
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mkstandalone
487.41
KB
-rwxr-xr-x
2026-04-01 20:03
grub-mount
759.3
KB
-rwxr-xr-x
2026-04-01 20:03
grub-render-label
827.26
KB
-rwxr-xr-x
2026-04-01 20:03
grub-script-check
272.88
KB
-rwxr-xr-x
2026-04-01 20:03
grub-syslinux2cfg
775.77
KB
-rwxr-xr-x
2026-04-01 20:03
gtbl
146.43
KB
-rwxr-xr-x
2023-03-07 09:38
gunzip
2.29
KB
-rwxr-xr-x
2022-04-10 02:22
gzexe
6.3
KB
-rwxr-xr-x
2022-04-10 02:22
gzip
95.84
KB
-rwxr-xr-x
2022-04-10 02:22
h2ph
28.54
KB
-rwxr-xr-x
2025-08-29 12:09
h2xs
59.51
KB
-rwxr-xr-x
2025-08-29 12:09
hardlink
50.39
KB
-rwxr-xr-x
2024-11-21 20:01
hd
58.32
KB
-rwxr-xr-x
2024-11-21 20:01
head
46.95
KB
-rwxr-xr-x
2022-09-20 15:27
helpztags
2.46
KB
-rwxr-xr-x
2025-02-16 05:23
hexdump
58.32
KB
-rwxr-xr-x
2024-11-21 20:01
hmm-assembler.pl
11.08
KB
-rwxr-xr-x
2013-11-30 07:54
hmm-info
118.62
KB
-rwxr-xr-x
2020-12-22 13:24
host
114.7
KB
-rwxr-xr-x
2026-07-31 21:11
hostid
38.83
KB
-rwxr-xr-x
2022-09-20 15:27
hostname
22.15
KB
-rwxr-xr-x
2022-12-19 13:33
hostnamectl
30.38
KB
-rwxr-xr-x
2026-04-27 19:48
htcacheclean
34.24
KB
-rwxr-xr-x
2026-06-12 05:08
htdbm
26.23
KB
-rwxr-xr-x
2026-06-12 05:08
htdigest
14.23
KB
-rwxr-xr-x
2026-06-12 05:08
html2text
214.17
KB
-rwxr-xr-x
2020-06-23 20:20
htpasswd
26.23
KB
-rwxr-xr-x
2026-06-12 05:08
i386
26.58
KB
-rwxr-xr-x
2024-11-21 20:01
iconv
63.13
KB
-rwxr-xr-x
2026-04-27 20:14
id
47.02
KB
-rwxr-xr-x
2022-09-20 15:27
infocmp
62.31
KB
-rwxr-xr-x
2023-05-07 14:33
infotocap
90.34
KB
-rwxr-xr-x
2023-05-07 14:33
innochecksum
4.51
MB
-rwxr-xr-x
2026-06-27 11:11
innotop
445.44
KB
-rwxr-xr-x
2026-06-27 11:11
install
155.8
KB
-rwxr-xr-x
2022-09-20 15:27
instmodsh
4.27
KB
-rwxr-xr-x
2025-08-29 12:09
ionice
34.31
KB
-rwxr-xr-x
2024-11-21 20:01
ip
674.82
KB
-rwxr-xr-x
2023-05-22 13:19
ipcmk
34.38
KB
-rwxr-xr-x
2024-11-21 20:01
ipcrm
34.31
KB
-rwxr-xr-x
2024-11-21 20:01
ipcs
74.31
KB
-rwxr-xr-x
2024-11-21 20:01
iptables-xml
88.98
KB
-rwxr-xr-x
2023-01-16 13:44
ischroot
14.32
KB
-rwxr-xr-x
2023-07-28 23:46
isodump
180.17
KB
-rwxr-xr-x
2022-06-24 14:56
isoinfo
343.42
KB
-rwxr-xr-x
2022-06-24 14:56
isovfy
184.14
KB
-rwxr-xr-x
2022-06-24 14:56
join
54.98
KB
-rwxr-xr-x
2022-09-20 15:27
journalctl
74.64
KB
-rwxr-xr-x
2026-04-27 19:48
json-patch-jsondiff
1004
B
-rwxr-xr-x
2021-09-29 10:31
json_pp
4.88
KB
-rwxr-xr-x
2025-08-29 12:09
json_xs
6.85
KB
-rwxr-xr-x
2025-09-08 20:30
jsondiff
1004
B
-rwxr-xr-x
2021-09-29 10:31
jsonpatch
3.77
KB
-rwxr-xr-x
2021-09-29 10:31
jsonpointer
1.79
KB
-rwxr-xr-x
2022-09-23 09:59
jsonschema
213
B
-rwxr-xr-x
2023-01-20 10:53
kbxutil
162.77
KB
-rwxr-xr-x
2026-01-01 14:54
kernel-install
12.75
KB
-rwxr-xr-x
2026-04-27 19:48
kill
22.3
KB
-rwxr-xr-x
2022-12-19 06:06
killall
31.95
KB
-rwxr-xr-x
2022-12-13 05:27
kmod
174.27
KB
-rwxr-xr-x
2022-12-10 00:02
last
50.31
KB
-rwxr-xr-x
2024-11-21 20:01
lastb
50.31
KB
-rwxr-xr-x
2024-11-21 20:01
lastlog
31.75
KB
-rwxr-xr-x
2025-12-14 14:00
lcf
7.6
KB
-rwxr-xr-x
2024-12-20 07:39
ld.so
209.96
KB
-rwxr-xr-x
2026-04-27 20:14
ldd
5.28
KB
-rwxr-xr-x
2026-04-27 20:14
less
194.3
KB
-rwxr-xr-x
2024-05-02 18:30
lessecho
14.24
KB
-rwxr-xr-x
2024-05-02 18:30
lessfile
8.83
KB
-rwxr-xr-x
2024-05-02 18:30
lesskey
23.63
KB
-rwxr-xr-x
2024-05-02 18:30
lesspipe
8.83
KB
-rwxr-xr-x
2024-05-02 18:30
lexgrog
107.48
KB
-rwxr-xr-x
2023-03-12 22:23
lft
2.43
KB
-rwxr-xr-x
2023-02-25 12:24
lft.db
2.43
KB
-rwxr-xr-x
2023-02-25 12:24
libnetcfg
15.41
KB
-rwxr-xr-x
2025-08-29 12:09
link
38.83
KB
-rwxr-xr-x
2022-09-20 15:27
linux-check-removal
4.6
KB
-rwxr-xr-x
2025-05-25 15:54
linux-run-hooks
3.46
KB
-rwxr-xr-x
2026-06-08 20:53
linux-update-symlinks
6.38
KB
-rwxr-xr-x
2025-05-25 15:54
linux-version
2.67
KB
-rwxr-xr-x
2025-05-25 15:54
linux32
26.58
KB
-rwxr-xr-x
2024-11-21 20:01
linux64
26.58
KB
-rwxr-xr-x
2024-11-21 20:01
ln
71.12
KB
-rwxr-xr-x
2022-09-20 15:27
lnstat
26.59
KB
-rwxr-xr-x
2023-05-22 13:19
locale
46.16
KB
-rwxr-xr-x
2026-04-27 20:14
localectl
26.38
KB
-rwxr-xr-x
2026-04-27 19:48
localedef
291.91
KB
-rwxr-xr-x
2026-04-27 20:14
logger
54.9
KB
-rwxr-xr-x
2024-11-21 20:01
login
51.78
KB
-rwxr-xr-x
2025-12-14 14:00
loginctl
58.48
KB
-rwxr-xr-x
2026-04-27 19:48
logname
38.83
KB
-rwxr-xr-x
2022-09-20 15:27
logresolve
14.24
KB
-rwxr-xr-x
2026-06-12 05:08
look
18.31
KB
-rwxr-xr-x
2024-11-21 20:01
ls
147.8
KB
-rwxr-xr-x
2022-09-20 15:27
lsattr
14.24
KB
-rwxr-xr-x
2025-06-06 17:12
lsb_release
2.59
KB
-rwxr-xr-x
2022-09-26 20:06
lsblk
202.31
KB
-rwxr-xr-x
2024-11-21 20:01
lscpu
126.31
KB
-rwxr-xr-x
2024-11-21 20:01
lsfd
120.3
KB
-rwxr-xr-x
2024-11-21 20:01
lsinitramfs
735
B
-rwxr-xr-x
2025-03-02 16:09
lsipc
98.31
KB
-rwxr-xr-x
2024-11-21 20:01
lsirq
34.48
KB
-rwxr-xr-x
2024-11-21 20:01
lslocks
70.7
KB
-rwxr-xr-x
2024-11-21 20:01
lslogins
94.31
KB
-rwxr-xr-x
2024-11-21 20:01
lsmem
66.31
KB
-rwxr-xr-x
2024-11-21 20:01
lsmod
174.27
KB
-rwxr-xr-x
2022-12-10 00:02
lsns
82.31
KB
-rwxr-xr-x
2024-11-21 20:01
lsof
175.61
KB
-rwxr-xr-x
2022-04-28 04:08
lspci
104.04
KB
-rwxr-xr-x
2023-01-17 23:50
lspgpot
1.06
KB
-rwxr-xr-x
2017-08-28 10:22
lynx
1.86
MB
-rwxr-xr-x
2023-01-15 14:21
lzcat
82.7
KB
-rwxr-xr-x
2026-06-26 13:13
lzcmp
7.25
KB
-rwxr-xr-x
2026-06-26 13:13
lzdiff
7.25
KB
-rwxr-xr-x
2026-06-26 13:13
lzegrep
10.09
KB
-rwxr-xr-x
2026-06-26 13:13
lzfgrep
10.09
KB
-rwxr-xr-x
2026-06-26 13:13
lzgrep
10.09
KB
-rwxr-xr-x
2026-06-26 13:13
lzless
1.77
KB
-rwxr-xr-x
2026-06-26 13:13
lzma
82.7
KB
-rwxr-xr-x
2026-06-26 13:13
lzmainfo
14.3
KB
-rwxr-xr-x
2026-06-26 13:13
lzmore
2.14
KB
-rwxr-xr-x
2026-06-26 13:13
mail
225.28
KB
-rwxr-xr-x
2023-03-03 16:00
mail.mailutils
225.28
KB
-rwxr-xr-x
2023-03-03 16:00
mailq
30.38
KB
-rwxr-xr-x
2024-03-06 15:10
mailx
225.28
KB
-rwxr-xr-x
2023-03-03 16:00
man
121.36
KB
-rwxr-xr-x
2023-03-12 22:23
man-recode
35.38
KB
-rwxr-xr-x
2023-03-12 22:23
mandb
147.61
KB
-rwxr-xr-x
2023-03-12 22:23
manpath
34.78
KB
-rwxr-xr-x
2023-03-12 22:23
mariadb
4.98
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-access
109.31
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-admin
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-analyze
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-binlog
5.02
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-check
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-conv
4.5
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-dump
4.85
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-find-rows
3.21
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-fix-extensions
1.22
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-hotcopy
34.53
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-import
4.75
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-install-db
22.13
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-optimize
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-plugin
4.48
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-repair
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-report
49.02
KB
-rwxr-xr-x
2025-02-10 17:26
mariadb-secure-installation
13.48
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-service-convert
2.45
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-setpermission
17.56
KB
-rwxr-xr-x
2026-06-27 11:11
mariadb-show
4.75
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-slap
4.77
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-tzinfo-to-sql
4.48
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-upgrade
4.91
MB
-rwxr-xr-x
2026-06-27 11:11
mariadb-waitpid
4.46
MB
-rwxr-xr-x
2026-06-27 11:11
mariadbcheck
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mariadbd-multi
26.69
KB
-rwxr-xr-x
2026-06-27 11:11
mariadbd-safe
30.42
KB
-rwxr-xr-x
2026-06-27 11:11
mariadbd-safe-helper
4.44
MB
-rwxr-xr-x
2026-06-27 11:11
markdown-it
220
B
-rwxr-xr-x
2023-03-31 10:50
mawk
154.66
KB
-rwxr-xr-x
2022-06-17 15:35
mc
1.02
MB
-rwxr-xr-x
2023-02-14 12:56
mcdiff
1.02
MB
-rwxr-xr-x
2023-02-14 12:56
mcedit
1.02
MB
-rwxr-xr-x
2023-02-14 12:56
mcookie
34.38
KB
-rwxr-xr-x
2024-11-21 20:01
mcview
1.02
MB
-rwxr-xr-x
2023-02-14 12:56
md5sum
50.95
KB
-rwxr-xr-x
2022-09-20 15:27
md5sum.textutils
50.95
KB
-rwxr-xr-x
2022-09-20 15:27
mesg
18.3
KB
-rwxr-xr-x
2024-11-21 20:01
messages
14.6
KB
-rwxr-xr-x
2023-03-03 16:00
messages.mailutils
14.6
KB
-rwxr-xr-x
2023-03-03 16:00
migrate-pubring-from-classic-gpg
2.99
KB
-rwxr-xr-x
2025-12-31 17:32
mimeview
19.28
KB
-rwxr-xr-x
2023-03-03 16:00
mkdir
95.27
KB
-rwxr-xr-x
2022-09-20 15:27
mkfifo
67.17
KB
-rwxr-xr-x
2022-09-20 15:27
mkisofs
631.17
KB
-rwxr-xr-x
2022-06-24 14:56
mknod
71.2
KB
-rwxr-xr-x
2022-09-20 15:27
mksquashfs
263.9
KB
-rwxr-xr-x
2022-03-27 16:50
mktemp
42.92
KB
-rwxr-xr-x
2022-09-20 15:27
mkzftree
30.84
KB
-rwxr-xr-x
2022-06-24 14:56
mokutil
60.27
KB
-rwxr-xr-x
2022-06-15 13:30
more
58.31
KB
-rwxr-xr-x
2024-11-21 20:01
mount
58.3
KB
-rwsr-xr-x
2024-11-21 20:01
mount-image-callback
13.86
KB
-rwxr-xr-x
2022-06-03 10:51
mountpoint
18.3
KB
-rwxr-xr-x
2024-11-21 20:01
movemail
40.19
KB
-rwxr-xr-x
2023-03-03 16:00
movemail.mailutils
40.19
KB
-rwxr-xr-x
2023-03-03 16:00
msql2mysql
1.41
KB
-rwxr-xr-x
2026-06-27 11:11
mt
83.38
KB
-rwxr-xr-x
2022-09-14 19:45
mt-gnu
83.38
KB
-rwxr-xr-x
2022-09-14 19:45
mv
139.62
KB
-rwxr-xr-x
2022-09-20 15:27
my_print_defaults
4.47
MB
-rwxr-xr-x
2026-06-27 11:11
myisam_ftdump
4.75
MB
-rwxr-xr-x
2026-06-27 11:11
myisamchk
4.87
MB
-rwxr-xr-x
2026-06-27 11:11
myisamlog
4.73
MB
-rwxr-xr-x
2026-06-27 11:11
myisampack
4.77
MB
-rwxr-xr-x
2026-06-27 11:11
mysql
4.98
MB
-rwxr-xr-x
2026-06-27 11:11
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
2026-06-27 11:11
mysql_find_rows
3.21
KB
-rwxr-xr-x
2026-06-27 11:11
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
2026-06-27 11:11
mysql_install_db
22.13
KB
-rwxr-xr-x
2026-06-27 11:11
mysql_plugin
4.48
MB
-rwxr-xr-x
2026-06-27 11:11
mysql_secure_installation
13.48
KB
-rwxr-xr-x
2026-06-27 11:11
mysql_setpermission
17.56
KB
-rwxr-xr-x
2026-06-27 11:11
mysql_tzinfo_to_sql
4.48
MB
-rwxr-xr-x
2026-06-27 11:11
mysql_upgrade
4.91
MB
-rwxr-xr-x
2026-06-27 11:11
mysql_waitpid
4.46
MB
-rwxr-xr-x
2026-06-27 11:11
mysqlaccess
109.31
KB
-rwxr-xr-x
2026-06-27 11:11
mysqladmin
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mysqlanalyze
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mysqlbinlog
5.02
MB
-rwxr-xr-x
2026-06-27 11:11
mysqlcheck
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mysqld_multi
26.69
KB
-rwxr-xr-x
2026-06-27 11:11
mysqld_safe
30.42
KB
-rwxr-xr-x
2026-06-27 11:11
mysqld_safe_helper
4.44
MB
-rwxr-xr-x
2026-06-27 11:11
mysqldump
4.85
MB
-rwxr-xr-x
2026-06-27 11:11
mysqldumpslow
8.05
KB
-rwxr-xr-x
2026-06-27 11:11
mysqlhotcopy
34.53
KB
-rwxr-xr-x
2026-06-27 11:11
mysqlimport
4.75
MB
-rwxr-xr-x
2026-06-27 11:11
mysqloptimize
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mysqlrepair
4.76
MB
-rwxr-xr-x
2026-06-27 11:11
mysqlreport
49.02
KB
-rwxr-xr-x
2025-02-10 17:26
mysqlshow
4.75
MB
-rwxr-xr-x
2026-06-27 11:11
mysqlslap
4.77
MB
-rwxr-xr-x
2026-06-27 11:11
mytop
72.03
KB
-rwxr-xr-x
2026-06-27 11:11
namei
34.31
KB
-rwxr-xr-x
2024-11-21 20:01
nano
280.74
KB
-rwxr-xr-x
2024-05-06 06:10
nawk
696.44
KB
-rwxr-xr-x
2023-02-19 13:30
neqn
913
B
-rwxr-xr-x
2023-03-07 09:38
netstat
151.66
KB
-rwxr-xr-x
2025-05-26 19:27
networkctl
106.38
KB
-rwxr-xr-x
2026-04-27 19:48
newaliases
30.38
KB
-rwxr-xr-x
2024-03-06 15:10
newgrp
47.75
KB
-rwsr-xr-x
2025-12-14 14:00
ngettext
34.31
KB
-rwxr-xr-x
2023-02-26 15:20
nice
42.86
KB
-rwxr-xr-x
2022-09-20 15:27
nisdomainname
22.15
KB
-rwxr-xr-x
2022-12-19 13:33
nl
111.11
KB
-rwxr-xr-x
2022-09-20 15:27
nohup
42.89
KB
-rwxr-xr-x
2022-09-20 15:27
normalizer
244
B
-rwxr-xr-x
2022-11-27 08:00
nproc
42.89
KB
-rwxr-xr-x
2022-09-20 15:27
nroff
3.22
KB
-rwxr-xr-x
2023-03-07 09:38
nsenter
34.54
KB
-rwxr-xr-x
2024-11-21 20:01
nstat
104.45
KB
-rwxr-xr-x
2023-05-22 13:19
numfmt
67.02
KB
-rwxr-xr-x
2022-09-20 15:27
od
79.02
KB
-rwxr-xr-x
2022-09-20 15:27
open
18.06
KB
-rwxr-xr-x
2021-11-29 13:07
openssl
953.26
KB
-rwxr-xr-x
2026-06-06 19:56
pager
194.3
KB
-rwxr-xr-x
2024-05-02 18:30
partx
118.31
KB
-rwxr-xr-x
2024-11-21 20:01
passwd
66.65
KB
-rwsr-xr-x
2025-12-14 14:00
paste
42.89
KB
-rwxr-xr-x
2022-09-20 15:27
patch-hmm.pl
580
B
-rwxr-xr-x
2013-11-30 07:54
pathchk
42.86
KB
-rwxr-xr-x
2022-09-20 15:27
pdb3
62.4
KB
-rwxr-xr-x
2026-05-12 05:17
pdb3.11
62.4
KB
-rwxr-xr-x
2026-05-12 05:17
peekfd
14.5
KB
-rwxr-xr-x
2022-12-13 05:27
perl
3.63
MB
-rwxr-xr-x
2025-08-29 12:09
perl5.36-x86_64-linux-gnu
14.41
KB
-rwxr-xr-x
2025-08-29 12:09
perl5.36.0
3.63
MB
-rwxr-xr-x
2025-08-29 12:09
perlbug
44.12
KB
-rwxr-xr-x
2025-08-29 12:09
perldoc
125
B
-rwxr-xr-x
2025-08-16 18:03
perlivp
10.61
KB
-rwxr-xr-x
2025-08-29 12:09
perlthanks
44.12
KB
-rwxr-xr-x
2025-08-29 12:09
perror
4.66
MB
-rwxr-xr-x
2026-06-27 11:11
pgrep
34.42
KB
-rwxr-xr-x
2022-12-19 06:06
phar
14.88
KB
-rwxr-xr-x
2026-07-03 10:04
phar.default
14.88
KB
-rwxr-xr-x
2026-07-03 10:04
phar.phar
14.88
KB
-rwxr-xr-x
2026-07-03 10:04
phar.phar.default
14.88
KB
-rwxr-xr-x
2026-07-03 10:04
phar.phar8.1
14.89
KB
-rwxr-xr-x
2026-07-03 10:33
phar.phar8.3
14.88
KB
-rwxr-xr-x
2026-07-08 19:13
phar.phar8.4
14.88
KB
-rwxr-xr-x
2026-07-03 10:04
phar8.1
14.89
KB
-rwxr-xr-x
2026-07-03 10:33
phar8.1.phar
14.89
KB
-rwxr-xr-x
2026-07-03 10:33
phar8.3
14.88
KB
-rwxr-xr-x
2026-07-08 19:13
phar8.3.phar
14.88
KB
-rwxr-xr-x
2026-07-08 19:13
phar8.4
14.88
KB
-rwxr-xr-x
2026-07-03 10:04
phar8.4.phar
14.88
KB
-rwxr-xr-x
2026-07-03 10:04
php
5.3
MB
-rwxr-xr-x
2026-07-03 10:33
php.default
5.73
MB
-rwxr-xr-x
2026-07-03 10:04
php8.1
5.3
MB
-rwxr-xr-x
2026-07-03 10:33
php8.3
5.5
MB
-rwxr-xr-x
2026-07-08 19:13
php8.4
5.73
MB
-rwxr-xr-x
2026-07-03 10:04
pic
220.27
KB
-rwxr-xr-x
2023-03-07 09:38
pico
280.74
KB
-rwxr-xr-x
2024-05-06 06:10
piconv
8.16
KB
-rwxr-xr-x
2025-08-29 12:09
pidof
26.31
KB
-rwxr-xr-x
2023-04-03 06:25
pidwait
34.42
KB
-rwxr-xr-x
2022-12-19 06:06
pinentry
70.57
KB
-rwxr-xr-x
2022-10-18 14:52
pinentry-curses
70.57
KB
-rwxr-xr-x
2022-10-18 14:52
ping
88.45
KB
-rwxr-xr-x
2024-09-24 17:00
ping4
88.45
KB
-rwxr-xr-x
2024-09-24 17:00
ping6
88.45
KB
-rwxr-xr-x
2024-09-24 17:00
pinky
47.05
KB
-rwxr-xr-x
2022-09-20 15:27
pkaction
18.23
KB
-rwxr-xr-x
2023-01-31 22:05
pkcheck
22.3
KB
-rwxr-xr-x
2023-01-31 22:05
pkill
34.42
KB
-rwxr-xr-x
2022-12-19 06:06
pkttyagent
18.23
KB
-rwxr-xr-x
2023-01-31 22:05
pl2pm
4.43
KB
-rwxr-xr-x
2025-08-29 12:09
pldd
22.69
KB
-rwxr-xr-x
2026-04-27 20:14
pmap
34.34
KB
-rwxr-xr-x
2022-12-19 06:06
pod2html
4.04
KB
-rwxr-xr-x
2025-08-29 12:09
pod2man
14.68
KB
-rwxr-xr-x
2025-08-29 12:09
pod2text
10.55
KB
-rwxr-xr-x
2025-08-29 12:09
pod2usage
4.01
KB
-rwxr-xr-x
2025-08-29 12:09
podchecker
3.57
KB
-rwxr-xr-x
2025-08-29 12:09
pr
79.11
KB
-rwxr-xr-x
2022-09-20 15:27
preconv
66.43
KB
-rwxr-xr-x
2023-03-07 09:38
print
18.06
KB
-rwxr-xr-x
2021-11-29 13:07
printenv
34.83
KB
-rwxr-xr-x
2022-09-20 15:27
printf
62.92
KB
-rwxr-xr-x
2022-09-20 15:27
prlimit
38.83
KB
-rwxr-xr-x
2024-11-21 20:01
procan
79.91
KB
-rwxr-xr-x
2022-11-06 08:15
prove
13.34
KB
-rwxr-xr-x
2025-08-29 12:09
prtstat
18.57
KB
-rwxr-xr-x
2022-12-13 05:27
ps
142.93
KB
-rwxr-xr-x
2022-12-19 06:06
pslog
14.45
KB
-rwxr-xr-x
2022-12-13 05:27
pstree
35.78
KB
-rwxr-xr-x
2022-12-13 05:27
pstree.x11
35.78
KB
-rwxr-xr-x
2022-12-13 05:27
ptar
3.48
KB
-rwxr-xr-x
2025-08-29 12:09
ptardiff
2.58
KB
-rwxr-xr-x
2025-08-29 12:09
ptargrep
4.29
KB
-rwxr-xr-x
2025-08-29 12:09
ptx
135.23
KB
-rwxr-xr-x
2022-09-20 15:27
pv
63.98
KB
-rwxr-xr-x
2022-04-12 00:55
pwd
42.92
KB
-rwxr-xr-x
2022-09-20 15:27
pwdx
14.3
KB
-rwxr-xr-x
2022-12-19 06:06
py3clean
7.63
KB
-rwxr-xr-x
2023-04-09 10:22
py3compile
13
KB
-rwxr-xr-x
2023-04-09 10:22
py3versions
12.52
KB
-rwxr-xr-x
2023-04-09 10:22
pydoc3
79
B
-rwxr-xr-x
2026-05-12 05:17
pydoc3.11
79
B
-rwxr-xr-x
2026-05-12 05:17
pygettext3
23.67
KB
-rwxr-xr-x
2023-02-07 13:37
pygettext3.11
23.67
KB
-rwxr-xr-x
2023-02-07 13:37
pygmentize
970
B
-rwxr-xr-x
2023-01-07 09:12
pyserial-miniterm
975
B
-rwxr-xr-x
2022-09-26 15:04
pyserial-ports
969
B
-rwxr-xr-x
2022-09-26 15:04
python3
6.52
MB
-rwxr-xr-x
2026-05-12 05:17
python3.11
6.52
MB
-rwxr-xr-x
2026-05-12 05:17
pzstd
742.38
KB
-rwxr-xr-x
2023-03-18 20:58
qemu-img
2.19
MB
-rwxr-xr-x
2026-05-25 20:44
qemu-io
2.14
MB
-rwxr-xr-x
2026-05-25 20:44
qemu-nbd
2.33
MB
-rwxr-xr-x
2026-05-25 20:44
qrencode
38.56
KB
-rwxr-xr-x
2020-12-22 05:31
querybts
10.64
KB
-rwxr-xr-x
2023-04-29 06:38
rbash
1.21
MB
-rwxr-xr-x
2026-05-07 20:33
rdma
180.6
KB
-rwxr-xr-x
2023-05-22 13:19
readlink
50.89
KB
-rwxr-xr-x
2022-09-20 15:27
readmsg
35.84
KB
-rwxr-xr-x
2023-03-03 16:00
readmsg.mailutils
35.84
KB
-rwxr-xr-x
2023-03-03 16:00
realpath
50.92
KB
-rwxr-xr-x
2022-09-20 15:27
rename.ul
22.3
KB
-rwxr-xr-x
2024-11-21 20:01
renice
14.3
KB
-rwxr-xr-x
2024-11-21 20:01
replace
4.45
MB
-rwxr-xr-x
2026-06-27 11:11
reportbug
110.11
KB
-rwxr-xr-x
2023-04-29 06:38
reset
30.24
KB
-rwxr-xr-x
2023-05-07 14:33
resize-part-image
4.23
KB
-rwxr-xr-x
2022-06-03 10:51
resizepart
70.31
KB
-rwxr-xr-x
2024-11-21 20:01
resolve_stack_dump
4.47
MB
-rwxr-xr-x
2026-06-27 11:11
resolvectl
146.53
KB
-rwxr-xr-x
2026-04-27 19:48
resolveip
4.46
MB
-rwxr-xr-x
2026-06-27 11:11
rev
14.3
KB
-rwxr-xr-x
2024-11-21 20:01
rgrep
30
B
-rwxr-xr-x
2020-01-29 12:09
rm
71.05
KB
-rwxr-xr-x
2022-09-20 15:27
rmail
18.3
KB
-rwxr-xr-x
2024-03-06 15:10
rmdir
54.92
KB
-rwxr-xr-x
2022-09-20 15:27
rnano
280.74
KB
-rwxr-xr-x
2024-05-06 06:10
rotatelogs
26.31
KB
-rwxr-xr-x
2026-06-12 05:08
routel
1.62
KB
-rwxr-xr-x
2023-05-22 13:19
rrsync
12.34
KB
-rwxr-xr-x
2026-05-24 21:23
rsync
514.35
KB
-rwxr-xr-x
2026-05-24 21:23
rsync-ssl
5.02
KB
-rwxr-xr-x
2026-05-24 21:23
rtstat
26.59
KB
-rwxr-xr-x
2023-05-22 13:19
run-mailcap
18.06
KB
-rwxr-xr-x
2021-11-29 13:07
run-parts
26.91
KB
-rwxr-xr-x
2023-07-28 23:46
runcon
42.95
KB
-rwxr-xr-x
2022-09-20 15:27
rview
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
rvim
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
savelog
10.24
KB
-rwxr-xr-x
2023-07-28 23:46
scp
266.63
KB
-rwxr-xr-x
2026-05-05 10:26
screen
471.09
KB
-rwxr-xr-x
2023-01-09 03:56
script
70.3
KB
-rwxr-xr-x
2024-11-21 20:01
scriptlive
54.3
KB
-rwxr-xr-x
2024-11-21 20:01
scriptreplay
46.3
KB
-rwxr-xr-x
2024-11-21 20:01
sdiff
55.08
KB
-rwxr-xr-x
2023-02-03 19:00
sed
123.46
KB
-rwxr-xr-x
2026-04-21 07:50
see
18.06
KB
-rwxr-xr-x
2021-11-29 13:07
select-editor
2.39
KB
-rwxr-xr-x
2023-01-14 16:28
sensible-browser
1.26
KB
-rwxr-xr-x
2023-01-14 16:28
sensible-editor
1.24
KB
-rwxr-xr-x
2023-01-14 16:28
sensible-pager
565
B
-rwxr-xr-x
2023-01-14 16:28
seq
58.92
KB
-rwxr-xr-x
2022-09-20 15:27
setarch
26.58
KB
-rwxr-xr-x
2024-11-21 20:01
setpci
30.31
KB
-rwxr-xr-x
2023-01-17 23:50
setpriv
78.31
KB
-rwxr-xr-x
2024-11-21 20:01
setsid
14.3
KB
-rwxr-xr-x
2024-11-21 20:01
setterm
46.31
KB
-rwxr-xr-x
2024-11-21 20:01
sftp
282.59
KB
-rwxr-xr-x
2026-05-05 10:26
sg
47.75
KB
-rwsr-xr-x
2025-12-14 14:00
sh
122.7
KB
-rwxr-xr-x
2023-01-05 13:20
sha1sum
54.95
KB
-rwxr-xr-x
2022-09-20 15:27
sha224sum
58.95
KB
-rwxr-xr-x
2022-09-20 15:27
sha256sum
58.95
KB
-rwxr-xr-x
2022-09-20 15:27
sha384sum
62.95
KB
-rwxr-xr-x
2022-09-20 15:27
sha512sum
62.95
KB
-rwxr-xr-x
2022-09-20 15:27
shasum
9.75
KB
-rwxr-xr-x
2025-08-29 12:09
shred
63.14
KB
-rwxr-xr-x
2022-09-20 15:27
shuf
58.98
KB
-rwxr-xr-x
2022-09-20 15:27
sieve
31.98
KB
-rwxr-xr-x
2023-03-03 16:00
skill
30.33
KB
-rwxr-xr-x
2022-12-19 06:06
slabtop
22.37
KB
-rwxr-xr-x
2022-12-19 06:06
sleep
42.86
KB
-rwxr-xr-x
2022-09-20 15:27
slogin
1.08
MB
-rwxr-xr-x
2026-05-05 10:26
snap
14.79
MB
-rwxr-xr-x
2026-05-10 10:28
snap-hmm
56
B
-rwxr-xr-x
2020-08-18 08:47
snapctl
5.81
MB
-rwxr-xr-x
2026-05-10 10:28
snice
30.33
KB
-rwxr-xr-x
2022-12-19 06:06
socat
401.98
KB
-rwxr-xr-x
2022-11-06 08:15
soelim
50.43
KB
-rwxr-xr-x
2023-03-07 09:38
sort
115.68
KB
-rwxr-xr-x
2022-09-20 15:27
splain
18.99
KB
-rwxr-xr-x
2025-08-29 12:09
split
59.55
KB
-rwxr-xr-x
2022-09-20 15:27
sqfscat
141.37
KB
-rwxr-xr-x
2022-03-27 16:50
sqfstar
263.9
KB
-rwxr-xr-x
2022-03-27 16:50
ss
189.14
KB
-rwxr-xr-x
2023-05-22 13:19
ssh
1.08
MB
-rwxr-xr-x
2026-05-05 10:26
ssh-add
518.44
KB
-rwxr-xr-x
2026-05-05 10:26
ssh-agent
474.38
KB
-rwxr-sr-x
2026-05-05 10:26
ssh-argv0
1.42
KB
-rwxr-xr-x
2026-05-05 10:26
ssh-copy-id
12.38
KB
-rwxr-xr-x
2023-02-02 12:21
ssh-import-id
409
B
-rwxr-xr-x
2020-03-08 23:48
ssh-import-id-gh
785
B
-rwxr-xr-x
2020-02-28 15:44
ssh-import-id-lp
785
B
-rwxr-xr-x
2020-02-28 15:44
ssh-keygen
646.44
KB
-rwxr-xr-x
2026-05-05 10:26
ssh-keyscan
622.47
KB
-rwxr-xr-x
2026-05-05 10:26
stat
95.2
KB
-rwxr-xr-x
2022-09-20 15:27
stdbuf
58.92
KB
-rwxr-xr-x
2022-09-20 15:27
streamzip
7.75
KB
-rwxr-xr-x
2025-08-29 12:09
stty
83.02
KB
-rwxr-xr-x
2022-09-20 15:27
su
70.31
KB
-rwsr-xr-x
2024-11-21 20:01
sudo
275.02
KB
-rwsr-xr-x
2026-04-11 12:01
sudoedit
275.02
KB
-rwsr-xr-x
2026-04-11 12:01
sudoreplay
115.7
KB
-rwxr-xr-x
2026-04-11 12:01
sum
50.96
KB
-rwxr-xr-x
2022-09-20 15:27
sync
38.89
KB
-rwxr-xr-x
2022-09-20 15:27
systemctl
1.29
MB
-rwxr-xr-x
2026-04-27 19:48
systemd
90.38
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-analyze
182.61
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-ask-password
18.48
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-cat
18.38
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-cgls
22.48
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-cgtop
38.4
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-creds
42.61
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-cryptenroll
58.6
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-delta
26.38
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-detect-virt
18.37
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-escape
18.37
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-firstboot
50.59
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-hwdb
126.66
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-id128
22.37
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-inhibit
22.39
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-machine-id-setup
18.48
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-mount
50.59
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-notify
18.38
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-path
18.37
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-repart
150.69
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-run
58.57
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-socket-activate
26.38
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-stdio-bridge
18.38
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-sysext
42.49
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-sysusers
62.68
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-tmpfiles
110.57
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-tty-ask-password-agent
34.38
KB
-rwxr-xr-x
2026-04-27 19:48
systemd-umount
50.59
KB
-rwxr-xr-x
2026-04-27 19:48
tabs
18.23
KB
-rwxr-xr-x
2023-05-07 14:33
tac
111.05
KB
-rwxr-xr-x
2022-09-20 15:27
tail
75.14
KB
-rwxr-xr-x
2022-09-20 15:27
tar
519.52
KB
-rwxr-xr-x
2024-01-20 09:27
taskset
62.31
KB
-rwxr-xr-x
2024-11-21 20:01
tbl
146.43
KB
-rwxr-xr-x
2023-03-07 09:38
tcpdump
1.21
MB
-rwxr-xr-x
2023-01-14 17:23
tee
42.95
KB
-rwxr-xr-x
2022-09-20 15:27
tempfile
14.18
KB
-rwxr-xr-x
2023-07-28 23:46
test
58.89
KB
-rwxr-xr-x
2022-09-20 15:27
tic
90.34
KB
-rwxr-xr-x
2023-05-07 14:33
timedatectl
42.37
KB
-rwxr-xr-x
2026-04-27 19:48
timeout
47.49
KB
-rwxr-xr-x
2022-09-20 15:27
tload
18.32
KB
-rwxr-xr-x
2022-12-19 06:06
toe
22.23
KB
-rwxr-xr-x
2023-05-07 14:33
top
131.58
KB
-rwxr-xr-x
2022-12-19 06:06
touch
107.05
KB
-rwxr-xr-x
2022-09-20 15:27
tput
26.27
KB
-rwxr-xr-x
2023-05-07 14:33
tr
54.89
KB
-rwxr-xr-x
2022-09-20 15:27
traceproto
2.82
KB
-rwxr-xr-x
2023-02-25 12:24
traceproto.db
2.82
KB
-rwxr-xr-x
2023-02-25 12:24
traceroute
71.23
KB
-rwxr-xr-x
2023-02-25 12:24
traceroute-nanog
1.58
KB
-rwxr-xr-x
2023-02-25 12:24
traceroute.db
71.23
KB
-rwxr-xr-x
2023-02-25 12:24
traceroute6
71.23
KB
-rwxr-xr-x
2023-02-25 12:24
traceroute6.db
71.23
KB
-rwxr-xr-x
2023-02-25 12:24
troff
755.83
KB
-rwxr-xr-x
2023-03-07 09:38
true
34.83
KB
-rwxr-xr-x
2022-09-20 15:27
truncate
42.89
KB
-rwxr-xr-x
2022-09-20 15:27
tset
30.24
KB
-rwxr-xr-x
2023-05-07 14:33
tsort
54.89
KB
-rwxr-xr-x
2022-09-20 15:27
tty
34.86
KB
-rwxr-xr-x
2022-09-20 15:27
tzselect
14.99
KB
-rwxr-xr-x
2026-04-27 20:14
ubuntu-cloudimg-query
8.37
KB
-rwxr-xr-x
2022-06-03 10:51
ubuntu-core-launcher
112.1
KB
-rwsr-xr-x
2026-05-10 10:28
ucf
40.69
KB
-rwxr-xr-x
2024-12-20 07:39
ucfq
18.91
KB
-rwxr-xr-x
2024-12-20 07:39
ucfr
10.85
KB
-rwxr-xr-x
2024-12-20 07:39
uclampset
62.31
KB
-rwxr-xr-x
2024-11-21 20:01
udevadm
1.29
MB
-rwxr-xr-x
2026-04-27 19:48
ul
22.31
KB
-rwxr-xr-x
2024-11-21 20:01
umount
34.3
KB
-rwsr-xr-x
2024-11-21 20:01
uname
42.86
KB
-rwxr-xr-x
2022-09-20 15:27
unattended-upgrade
97.21
KB
-rwxr-xr-x
2022-12-31 20:59
unattended-upgrades
97.21
KB
-rwxr-xr-x
2022-12-31 20:59
uncompress
2.29
KB
-rwxr-xr-x
2022-04-10 02:22
unexpand
42.92
KB
-rwxr-xr-x
2022-09-20 15:27
uniq
46.95
KB
-rwxr-xr-x
2022-09-20 15:27
unlink
38.83
KB
-rwxr-xr-x
2022-09-20 15:27
unlzma
82.7
KB
-rwxr-xr-x
2026-06-26 13:13
unmkinitramfs
3.59
KB
-rwxr-xr-x
2025-04-24 15:40
unshare
82.54
KB
-rwxr-xr-x
2024-11-21 20:01
unsquashfs
141.37
KB
-rwxr-xr-x
2022-03-27 16:50
unxz
82.7
KB
-rwxr-xr-x
2026-06-26 13:13
unzip
175.05
KB
-rwxr-xr-x
2026-08-16 13:50
unzipsfx
82.86
KB
-rwxr-xr-x
2026-08-16 13:50
unzstd
1.22
MB
-rwxr-xr-x
2023-03-18 20:58
update-alternatives
58.31
KB
-rwxr-xr-x
2026-03-07 12:15
update-mime-database
59.27
KB
-rwxr-xr-x
2022-04-29 17:19
uptime
14.3
KB
-rwxr-xr-x
2022-12-19 06:06
users
38.89
KB
-rwxr-xr-x
2022-09-20 15:27
utmpdump
30.3
KB
-rwxr-xr-x
2024-11-21 20:01
uuidgen
18.3
KB
-rwxr-xr-x
2024-11-21 20:01
uuidparse
42.31
KB
-rwxr-xr-x
2024-11-21 20:01
vcs-run
6.75
KB
-rwxr-xr-x
2022-06-03 10:51
vdir
147.8
KB
-rwxr-xr-x
2022-09-20 15:27
vi
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
view
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
vim
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
vim.basic
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
vim.tiny
1.55
MB
-rwxr-xr-x
2025-02-16 05:23
vimdiff
3.48
MB
-rwxr-xr-x
2025-02-16 05:23
vimtutor
2.1
KB
-rwxr-xr-x
2025-02-16 05:23
vmstat
34.72
KB
-rwxr-xr-x
2022-12-19 06:06
w
22.3
KB
-rwxr-xr-x
2022-12-19 06:06
wall
38.3
KB
-rwxr-xr-x
2024-11-21 20:01
watch
26.71
KB
-rwxr-xr-x
2022-12-19 06:06
watchgnupg
18.23
KB
-rwxr-xr-x
2026-01-01 14:54
wc
51.05
KB
-rwxr-xr-x
2022-09-20 15:27
wdctl
70.34
KB
-rwxr-xr-x
2024-11-21 20:01
webmin
13.29
KB
-rwxr-xr-x
2026-07-17 21:17
wget
459.36
KB
-rwxr-xr-x
2025-03-03 13:32
whatis
51.29
KB
-rwxr-xr-x
2023-03-12 22:23
whereis
30.77
KB
-rwxr-xr-x
2024-11-21 20:01
which
946
B
-rwxr-xr-x
2023-07-28 23:46
which.debianutils
946
B
-rwxr-xr-x
2023-07-28 23:46
whiptail
26.75
KB
-rwxr-xr-x
2023-01-31 14:53
who
59.02
KB
-rwxr-xr-x
2022-09-20 15:27
whoami
38.86
KB
-rwxr-xr-x
2022-09-20 15:27
write
22.31
KB
-rwxr-xr-x
2024-11-21 20:01
write-mime-multipart
3.54
KB
-rwxr-xr-x
2022-06-03 10:51
wsrep_sst_backup
2.39
KB
-rwxr-xr-x
2026-06-27 11:11
wsrep_sst_common
67.46
KB
-rwxr-xr-x
2026-06-27 11:11
wsrep_sst_mariabackup
49.28
KB
-rwxr-xr-x
2026-06-27 11:11
wsrep_sst_mysqldump
8.11
KB
-rwxr-xr-x
2026-06-27 11:11
wsrep_sst_rsync
29.92
KB
-rwxr-xr-x
2026-06-27 11:11
wsrep_sst_rsync_wan
29.92
KB
-rwxr-xr-x
2026-06-27 11:11
www-browser
1.86
MB
-rwxr-xr-x
2023-01-15 14:21
x86_64
26.58
KB
-rwxr-xr-x
2024-11-21 20:01
xargs
70.45
KB
-rwxr-xr-x
2023-01-08 18:07
xsubpp
5.05
KB
-rwxr-xr-x
2025-08-29 12:09
xz
82.7
KB
-rwxr-xr-x
2026-06-26 13:13
xzcat
82.7
KB
-rwxr-xr-x
2026-06-26 13:13
xzcmp
7.25
KB
-rwxr-xr-x
2026-06-26 13:13
xzdiff
7.25
KB
-rwxr-xr-x
2026-06-26 13:13
xzegrep
10.09
KB
-rwxr-xr-x
2026-06-26 13:13
xzfgrep
10.09
KB
-rwxr-xr-x
2026-06-26 13:13
xzgrep
10.09
KB
-rwxr-xr-x
2026-06-26 13:13
xzless
1.77
KB
-rwxr-xr-x
2026-06-26 13:13
xzmore
2.14
KB
-rwxr-xr-x
2026-06-26 13:13
yes
38.83
KB
-rwxr-xr-x
2022-09-20 15:27
ypdomainname
22.15
KB
-rwxr-xr-x
2022-12-19 13:33
zcat
1.94
KB
-rwxr-xr-x
2022-04-10 02:22
zcmp
1.64
KB
-rwxr-xr-x
2022-04-10 02:22
zdiff
6.31
KB
-rwxr-xr-x
2022-04-10 02:22
zdump
22.52
KB
-rwxr-xr-x
2026-04-27 20:14
zegrep
29
B
-rwxr-xr-x
2022-04-10 02:22
zff2gff3.pl
684
B
-rwxr-xr-x
2013-11-30 07:54
zfgrep
29
B
-rwxr-xr-x
2022-04-10 02:22
zforce
2.03
KB
-rwxr-xr-x
2022-04-10 02:22
zgrep
7.91
KB
-rwxr-xr-x
2022-04-10 02:22
zipdetails
68.55
KB
-rwxr-xr-x
2025-08-29 12:09
zipgrep
2.89
KB
-rwxr-xr-x
2026-08-16 13:50
zipinfo
175.05
KB
-rwxr-xr-x
2026-08-16 13:50
zless
2.15
KB
-rwxr-xr-x
2022-04-10 02:22
zmore
1.8
KB
-rwxr-xr-x
2022-04-10 02:22
znew
4.47
KB
-rwxr-xr-x
2022-04-10 02:22
zoe-loop
126.62
KB
-rwxr-xr-x
2020-12-22 13:24
zstd
1.22
MB
-rwxr-xr-x
2023-03-18 20:58
zstdcat
1.22
MB
-rwxr-xr-x
2023-03-18 20:58
zstdgrep
3.78
KB
-rwxr-xr-x
2023-03-18 20:58
zstdless
197
B
-rwxr-xr-x
2023-03-18 20:58
zstdmt
1.22
MB
-rwxr-xr-x
2023-03-18 20:58
Save
Rename
#!/usr/bin/perl # -*- Mode: Cperl -*- # ucfq --- # Author : Manoj Srivastava ( srivasta@glaurung.internal.golden-gryphon.com ) # Created On : Wed Apr 12 14:51:16 2006 # Created On Node : glaurung.internal.golden-gryphon.com # Last Modified By : Manoj Srivastava # Last Modified On : Fri Apr 14 19:30:45 2006 # Last Machine Used: glaurung.internal.golden-gryphon.com # Update Count : 81 # Status : Unknown, Use with caution! # HISTORY : # Description : # # arch-tag: 1390e09f-ee31-4d7f-a968-bd539ea061a0 # =head1 NAME ucfq - query ucf registry and hashfile about configuration file details. =cut use strict; package ucf; use strict; use Getopt::Long; # set the version and revision ($main::MYNAME = $main::0) =~ s|.*/||; $main::Author = "Manoj Srivastava"; $main::AuthorMail = "srivasta\@debian.org"; =head1 SYNOPSIS usage: ucfq [options] (file|package)[file|package ...] =cut { # scope for ultra-private meta-object for class attributes my %Ucf = ( Optdesc => { 'help|h' => sub {print ucf->Usage(); exit 0;}, 'with-colons|w!' => sub {$::ConfOpts{"Colons"}= "$_[1]";}, 'state-dir=s' => sub {$::ConfOpts{"StateDir"}= "$_[1]";}, 'debug|d' => sub {$::ConfOpts{"DEBUG"}+= "$_[1]";}, 'verbose|v' => sub {$::ConfOpts{"VERBOSE"}+= "$_[1]";} }, Usage => qq(Usage: $main::MYNAME [options] Author: $main::Author <$main::AuthorMail> where options are: --help This message. --debug Turn on debugging mode. --verbose Make the script more verbose. --with-colons A compact, machine readable version of the output. --state-dir </path/> Set the state directory to /path/ instead of the default /var/lib/ucf. ), Defaults => { "Colons" => 0, "DEBUG" => 0, "VERBOSE" => 0, "StateDir" => '/var/lib/ucf' } ); # tri-natured: function, class method, or object method sub _classobj { my $obclass = shift || __PACKAGE__; my $class = ref($obclass) || $obclass; no strict "refs"; # to convert sym ref to real one return \%$class; } for my $datum (keys %Ucf ) { no strict "refs"; *$datum = sub { use strict "refs"; my ($self, $newvalue) = @_; $Ucf{$datum} = $newvalue if @_ > 1; return $Ucf{$datum}; } } } =head1 OPTIONS =over 3 =item B<--help> B<h> Print out a usage message. =item B<--debug> B<-d> Turn on debugging mode. =item B<--verbose> B<-v> Make the script more verbose.. =item B<--with-colons> B<-w> =over 2 Normally, the script presents the information in a human readable tabular format, but that may be harder for a machine to parse. With this option, the output is a compact, colon separated line, with no dividers, headers, or footer. =back =item B<--state-dr> dir =over 2 Set the state directory to C</path/to/dir> instead of the default C</var/lib/ucf>. Used mostly for testing. =back =back =cut =head1 DESCRIPTION This script takes a set of arguments, each of which is a package or a path to a configuration file, and outputs the associated package, if any, if the file exists on disk, and whether it has been modfied by te user. The output is either a human readable tabular form, or a compact colon-separated machine friendly format. This script can potentially be used in package C<postinst> scripts during purge to query the system for configuration files that may still exist on the system, and whether these files have been locally modified by the user -- assuming that the package registered all the configuration files with B<ucf> using C<ucfr>. =cut =head1 INTERNALS =head2 Class Methods All class methods mediate access to class variables. All class methods can be invoked with zero or one parameters. When invoked with the optional parameter, the class method sets the value of the underlying class data. In either case, the value of the underlying variable is returned. =cut =head1 Class ucf This is a combination view and controller class that mediates between the user and the internal model classes. =head2 new This is the constructor for the class. It takes a number of optional parameters. If the parameter B<Colons> is present, then the output will be compact. The parameters B<DEBUG> and B<VERBOSE> turn on additional diagnostics from the script. =cut sub new { my $this = shift; my %params = @_; my $class = ref($this) || $this; my $self = {}; bless $self => $class; # validate and sanitize the settings $self->validate(%params); return $self; } =head2 validate This routine is responsible for ensuring that the parameters passed in (presumably from the command line) are given preference. =cut sub validate{ my $this = shift; my %params = @_; my $defaults = $this->Defaults(); # Make sure runtime options override what we get from the config file for my $option (keys %params) { $this->{Con_Ref}->{"$option"} = $params{"$option"}; } # Ensure that if default parameters have not been set on the comman # line on in the configuration file, if any, we use the built in # defaults. for my $default (keys %$defaults) { if (! defined $this->{Con_Ref}->{"$default"}) { $this->{Con_Ref}->{"$default"} = $defaults->{"$default"}; } } } =head2 get_config_ref This routine returns a reference to the configuration hash =cut sub get_config_ref { my $this = shift; return $this->{Con_Ref}; } =head2 dump_config This routine returns a C<Data::Dumper> for debugging purposes =cut sub dump_config { my $this = shift; for (keys %{$this->{Con_Ref}}) { print "$_ = [${$this->{Con_Ref}}{$_}]\n" } } =head2 process This routine is the work horse routine -- it parses the command line arguments, and queries the on disk databases, determines of the files exist, and have been modified. =cut sub process { my $this = shift; # Step 1: Process all arguments in sequence. # Step 2: determine if the arument given is a package name (no / in # arg) %{$this->{packages}} = map { +"$_" => 1} grep {! m,/,} @ARGV; %{$this->{configs}} = map { +"$_" => 1} grep { m,/,} @ARGV; $this->{pkg_list} = object_list->new; $this->{file_list} = object_list->new; $this->{registry_proxy} = registry->new("StateDir" => $this->{Con_Ref}->{StateDir}); $this->{hashfile_proxy} = hashfile->new("StateDir" => $this->{Con_Ref}->{StateDir}); for (keys %{$this->{packages}} ) { my $package = pkg->new('Name' => "$_"); $this->{pkg_list}->element($_, $package); } for (keys %{$this->{configs}}) { warn "Need a fully qualified path name for config file \"$_\"\n" unless m,^/,; # Don't die for etch exit 0 unless m,^/,; my $file = conffile->new('Name' => "$_"); $this->{file_list}->element($_, $file); } # Step 3: If so, gather all files associated with the package for my $package ($this->{pkg_list}->list) { my $pkg_files = $this->{registry_proxy}->list_files($package); for my $file (@$pkg_files) { if (! defined $this->{file_list}->element($file)) { my $ret = conffile->new('Name' => "$file"); $this->{file_list}->element($file, $ret); } $this->{file_list}->element($file)->conffile_package($package); } } # Step 4: for all configuration files, determine package (unless # already determined), if any # Step 5: For each configuration file, check if it exists # Step 6: For each existing file, see if it has been changed for my $file ($this->{file_list}->list) { $this->{file_list}->element($file)->conffile_hash($file, $this->{hashfile_proxy}->hash($file)); if (! defined $this->{file_list}->element($file)->conffile_package) { $this->{file_list}->element($file)->conffile_package($this->{registry_proxy}->find_pkg($file)); } } } =head2 report This routine generates a nicely formatted report based on the information gathered during the processing. There are two kinds of reports, the first being a user friendly tabular form, the second (turned on by the C<-w> option) a easily parseable colon separated report. =cut our ($out_pkg, $out_file, $there, $mod); format STDOUT_TOP = Configuration file Package Exists Changed . format STDOUT = @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<< @||| @||| $out_file, $out_pkg, $there,$mod . sub report { my $this = shift; for my $file (sort $this->{file_list}->list) { ($out_pkg, $out_file, $there, $mod) = $this->{file_list}->element($file)->conffile_report; if ($this->{Con_Ref}->{Colons}) { print "$out_file:$out_pkg:$there:$mod\n"; } else { write; } } } =head1 Class registry This moel class encapsulates the package-configuration file associations registry. It parses the data in the registry, and provides methods to query the registry based either on package name, or the full path of the configuration file. =cut package registry; use strict; =head2 new This is the constructor for the class. It takes a required parameter B<StateDir>, and based on that, proceeds toparse the registry and populate internal data structures. =cut sub new { my $this = shift; my %params = @_; my $class = ref($this) || $this; my $self = {}; die "Missing required parameter StateDir" unless $params{StateDir}; if (-e "$params{StateDir}/registry") { if (! -r "$params{StateDir}/registry") { die "Can't read registry file $params{StateDir}/registry:$!"; } open (REG, "$params{StateDir}/registry") || die "Can't read registry file $params{StateDir}/registry:$!"; while (<REG>) { chomp; my ($pkg, $file) = m/^(\S+)\s+(\S+)$/; $self->{Packages}->{$file} = $pkg; if (exists $self->{List}->{$pkg}) { push @{$self->{List}->{$pkg}}, $file; } else { $self->{List}->{$pkg} = [ $file ]; } } } bless $self => $class; return $self; } =head2 list_files This routine queries the registry and lists all configuration files associated with the given package. Takes the package name as a required parameter. =cut sub list_files { my $this = shift; my $pkg = shift; if (exists $this->{List}->{$pkg}) { return [ @{$this->{List}->{$pkg}} ]; } else { return []; } } =head2 find_pkg This routine queries the registry for the package associated with the given file. Takes the path of the configuration file as a required parameter. =cut sub find_pkg { my $this = shift; my $file = shift; if (exists $this->{Packages}->{$file}) { return $this->{Packages}->{$file}; } else { return undef; } } =head1 Class hashfile This moel class encapsulates the configuration file hash database. It parses the data in the database, and provides methods to query the hash of the configuration file. =cut package hashfile; use strict; sub new { my $this = shift; my %params = @_; my $class = ref($this) || $this; my $self = {}; die "Missing required parameter StateDir" unless $params{StateDir}; if (-e "$params{StateDir}/hashfile") { if (! -r "$params{StateDir}/hashfile") { die "Can't read registry file $params{StateDir}/hashfile:$!"; } open (HASH, "$params{StateDir}/hashfile") || die "Can't read registry file $params{StateDir}/hashfile:$!"; while (<HASH>) { chomp; my ($hash, $file) = m/^(\S+)\s+(\S+)$/; $self->{$file} = $hash } } bless $self => $class; return $self; } =head2 hash This routine queries the database for the hash associated with the developers version of the given file. Takes the path of the configuration file as a required parameter. =cut sub hash { my $this = shift; my $file = shift; my $value = shift; if ($value) { $this->{$file} = $value; } return $this->{$file}; } =head1 class conffile This is the encapsulation of a configuration file metadata. =cut package conffile; use strict; use Cwd qw{abs_path}; =head2 new This is the constructor for the class. It takes a number of optional parameters. If the parameter B<Colons> is present, then the output will be compact. The parameters B<DEBUG> and B<VERBOSE> turn on additional diagnostics from the script. =cut sub new { my $this = shift; my %params = @_; my $class = ref($this) || $this; my $self = {}; die "Missing required parameter Name" unless $params{Name}; $self->{Name} = $params{Name}; $self->{Package} = $params{Package} if $params{Package}; $self->{Exists} = 'Yes' if -e $self->{Name}; if ($self->{Exists}) { $self->{Name} = abs_path( $self->{Name}); } bless $self => $class; return $self; } =head2 conffile_package This routine is the accessor method of the internal attribute that holds package name associated with the file. If an optional C<value> is present, updates the value of the attribute. =cut sub conffile_package { my $this = shift; my $value = shift; if ($value ) { $this->{Package} = $value; } if (exists $this->{Package}) { return $this->{Package}; } else { return undef; } } =head2 conffile_exists This routine is the accessor method of the internal attribute that holds the information whether the file exists on disk or not. =cut sub conffile_exists { my $this = shift; my $name = shift; my $value = shift; die "Missing required parameter Name" unless $name; if (exists $this->{Exists}) { return $this->{Exists}; } else { return undef; } } =head2 conffile_modified This routine is the accessor method of the internal attribute that holds the information whether the file exists on disk or not. If an optional C<value> is present, updates the value of the attribute. =cut sub conffile_modified { my $this = shift; my $name = shift; my $value = shift; die "Missing required parameter Name" unless $name; if ($value ) { $this->{Modified} = $value; } if (exists $this->{Modified}) { return $this->{Modified}; } else { return undef; } } =head2 conffile_hash This routine is the accessor method of the internal attribute that holds the hash for the developers version of the file. If an optional C<value> is present, updates the value of the attribute. It also notes whether or not the file is modified from the developers version. =cut sub conffile_hash { my $this = shift; my $name = shift; my $value = shift; die "Missing required parameter Name" unless $name; if ($value ) { $this->{Hash} = $value; if (-e "$name") { if (-x "/usr/bin/md5sum") { open (NEWHASH, "/usr/bin/md5sum $name |") || die "Could not run md5sum: $!"; while (<NEWHASH>) { chomp; my ($hash, $dummy) = m/^(\S+)\s+(\S+)$/; if ("$hash" ne "$value") { $this->{Modified} = 'Yes'; } else { $this->{Modified} = 'No'; } } close NEWHASH; } else { die "Could not find /usr/bin/md5sum .\n"; } } } if (exists $this->{Hash}) { return $this->{Hash}; } else { return undef; } } sub conffile_report { my $this = shift; return $this->{Package} ? $this->{Package} : "", $this->{Name}, $this->{Exists} ? $this->{Exists} : "", $this->{Modified}? $this->{Modified} : ""; } =head1 CLASS PKG This is an encapsulation of package metadata. Packages may be associated with configuration files. =cut package pkg; use strict; =head2 new This is the constructor for the class. It takes a number of optional parameters. If the parameter B<Colons> is present, then the output will be compact. The parameters B<DEBUG> and B<VERBOSE> turn on additional diagnostics from the script. =cut sub new { my $this = shift; my %params = @_; my $class = ref($this) || $this; my $self = {}; die "Missing required parameter Name" unless $params{Name}; $self->{Name} = $params{Name}; bless $self => $class; return $self; } sub list_files { my $this = shift; return []; } =head1 CLASS object_list This is a clas which holds lists of object names, either packages or configuration file object names. It provides methods to add, access, and remove objects, as well as an option to list all elements in the list. =cut package object_list; use strict; =head2 new This is the constructor for the class. It takes no arguments. =cut sub new { my $this = shift; my %params = @_; my $class = ref($this) || $this; my $self = {}; $self->{"List"} = (); bless $self => $class; return $self; } =head2 element This is an accessor method for elements of the list. If an optional value argument exists, it creates or updates the element associtated with the vaslue. Takes in a required name, which is used as a kay, and an optional value argument. The value is returned. =cut sub element { my $this = shift; my $name = shift; my $value = shift; die "Missing required parameter Name" unless $name; if ($value) { $this->{"List"}->{$name} = $value; } if (exists $this->{"List"}->{$name}) { return $this->{"List"}->{$name}; } else { return undef; } } =head2 remove Removes elements from the list. Take in an required name, which is used as the key for the element to delete. =cut sub remove { my $this = shift; my $name = shift; die "Missing required parameter Name" unless $name; delete $this->{"List"}->{$name} if (exists $this->{"List"}->{$name} ); } =head2 list This routine lists all the elements in the list. It does not take any options. =cut sub list { my $this = shift; return keys %{$this->{"List"}}; } package main; use Getopt::Long; sub main { my $optdesc = ucf->Optdesc(); my $parser = new Getopt::Long::Parser; $parser->configure("bundling"); $parser->getoptions (%$optdesc); my $query = ucf->new(%::ConfOpts); $query->process; $query->report; } &main; exit 0; =head1 CAVEATS This is very inchoate, at the moment, and needs testing. =cut =head1 BUGS None Known so far. =cut =head1 AUTHOR Manoj Srivastava <srivasta\@debian.org> =head1 COPYRIGHT AND LICENSE This script is a part of the Ucf package, and is Copyright (c) 2006 Manoj Srivastava <srivasta\@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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA =cut 1; __END__