Linux jobworks 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64
Apache/2.4.58 (Ubuntu)
Server IP : 10.0.1.5 & Your IP : 216.73.216.177
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
NF
963
B
-rwxr-xr-x
2025-08-05 17:14
VGAuthService
130.54
KB
-rwxr-xr-x
2025-09-23 16:03
[
54.44
KB
-rwxr-xr-x
2025-06-22 16:21
aa-enabled
18.3
KB
-rwxr-xr-x
2025-08-15 12:16
aa-exec
18.3
KB
-rwxr-xr-x
2025-08-15 12:16
aa-features-abi
18.3
KB
-rwxr-xr-x
2025-08-15 12:16
ab
58.43
KB
-rwxr-xr-x
2026-07-06 16:27
acpidbg
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
add-apt-repository
16.04
KB
-rwxr-xr-x
2025-07-02 21:17
addpart
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
apport-bug
2.27
KB
-rwxr-xr-x
2024-04-18 12:31
apport-cli
13.31
KB
-rwxr-xr-x
2025-07-08 14:50
apport-collect
2.27
KB
-rwxr-xr-x
2024-04-18 12:31
apport-unpack
3.7
KB
-rwxr-xr-x
2025-07-08 14:50
appstreamcli
138.23
KB
-rwxr-xr-x
2024-04-08 14:37
apropos
47.28
KB
-rwxr-xr-x
2025-08-05 17:14
apt
18.38
KB
-rwxr-xr-x
2024-10-22 13:02
apt-add-repository
16.04
KB
-rwxr-xr-x
2025-07-02 21:17
apt-cache
86.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-cdrom
26.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-config
30.39
KB
-rwxr-xr-x
2024-10-22 13:02
apt-extracttemplates
22.47
KB
-rwxr-xr-x
2025-08-05 17:14
apt-ftparchive
222.48
KB
-rwxr-xr-x
2025-08-05 17:14
apt-get
50.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-key
27.99
KB
-rwxr-xr-x
2024-10-22 13:02
apt-mark
54.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-sortpkgs
50.4
KB
-rwxr-xr-x
2025-08-05 17:14
arch
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
automat-visualize3
984
B
-rwxr-xr-x
2025-08-05 17:14
awk
722.5
KB
-rwxr-xr-x
2026-07-20 22:38
b2sum
54.51
KB
-rwxr-xr-x
2025-06-22 16:21
base32
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
base64
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
basename
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
basenc
46.51
KB
-rwxr-xr-x
2025-06-22 16:21
bash
1.38
MB
-rwxr-xr-x
2024-03-31 08:41
bashbug
6.82
KB
-rwxr-xr-x
2024-03-31 08:41
bc
90.82
KB
-rwxr-xr-x
2025-08-05 17:14
boltctl
122.84
KB
-rwxr-xr-x
2025-08-05 17:14
bpftrace
2.15
MB
-rwxr-xr-x
2025-02-05 01:33
bpftrace-aotrt
985.37
KB
-rwxr-xr-x
2025-02-05 01:33
btrfs
1001.25
KB
-rwxr-xr-x
2024-03-31 08:43
btrfs-convert
576.3
KB
-rwxr-xr-x
2024-03-31 08:43
btrfs-find-root
520.3
KB
-rwxr-xr-x
2024-03-31 08:43
btrfs-image
552.3
KB
-rwxr-xr-x
2024-03-31 08:43
btrfs-map-logical
520.3
KB
-rwxr-xr-x
2024-03-31 08:43
btrfs-select-super
516.3
KB
-rwxr-xr-x
2024-03-31 08:43
btrfsck
1001.25
KB
-rwxr-xr-x
2024-03-31 08:43
btrfstune
544.3
KB
-rwxr-xr-x
2024-03-31 08:43
bunzip2
38.38
KB
-rwxr-xr-x
2024-08-09 02:33
busctl
94.59
KB
-rwxr-xr-x
2026-06-05 15:36
busybox
2.03
MB
-rwxr-xr-x
2025-08-05 17:14
byobu
8.5
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-config
996
B
-rwxr-xr-x
2025-08-05 17:14
byobu-ctrl-a
4.66
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-disable
1.26
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-disable-prompt
1.31
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-enable
1.15
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-enable-prompt
1.42
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-export
1.39
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-janitor
7.04
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-keybindings
1.47
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-launch
3.25
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-launcher
1.87
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-launcher-install
2.47
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-launcher-uninstall
1.52
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-layout
3.27
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-prompt
1.13
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-quiet
1.38
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-reconnect-sockets
3.22
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-screen
8.5
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-select-backend
1.42
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-select-profile
5.06
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-select-session
1012
B
-rwxr-xr-x
2025-08-05 17:14
byobu-shell
1.66
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-silent
1.28
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-status
5.87
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-status-detail
1.18
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-tmux
8.5
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-ugraph
4.56
KB
-rwxr-xr-x
2025-08-05 17:14
byobu-ulevel
11.71
KB
-rwxr-xr-x
2025-08-05 17:14
bzcat
38.38
KB
-rwxr-xr-x
2024-08-09 02:33
bzcmp
2.17
KB
-rwxr-xr-x
2024-08-09 02:33
bzdiff
2.17
KB
-rwxr-xr-x
2024-08-09 02:33
bzegrep
3.69
KB
-rwxr-xr-x
2024-08-09 02:33
bzexe
4.78
KB
-rwxr-xr-x
2021-11-27 12:25
bzfgrep
3.69
KB
-rwxr-xr-x
2024-08-09 02:33
bzgrep
3.69
KB
-rwxr-xr-x
2024-08-09 02:33
bzip2
38.38
KB
-rwxr-xr-x
2024-08-09 02:33
bzip2recover
18.3
KB
-rwxr-xr-x
2024-08-09 02:33
bzless
1.27
KB
-rwxr-xr-x
2024-08-09 02:33
bzmore
1.27
KB
-rwxr-xr-x
2024-08-09 02:33
c_rehash
6.68
KB
-rwxr-xr-x
2026-06-02 19:33
captoinfo
90.41
KB
-rwxr-xr-x
2026-06-30 21:25
cat
38.46
KB
-rwxr-xr-x
2025-06-22 16:21
catman
30.77
KB
-rwxr-xr-x
2025-08-05 17:14
cautious-launcher
758
B
-rwxr-xr-x
2026-07-02 14:59
certbot
958
B
-rwxr-xr-x
2024-02-09 01:14
cftp3
224
B
-rwxr-xr-x
2026-05-22 14:58
cgi-fcgi
18.15
KB
-rwxr-xr-x
2025-04-30 08:36
chage
70.49
KB
-rwxr-sr-x
2024-05-30 14:52
chardet
221
B
-rwxr-xr-x
2023-08-20 12:12
chardetect
221
B
-rwxr-xr-x
2023-08-20 12:12
chattr
14.31
KB
-rwxr-xr-x
2024-04-28 23:44
chcon
58.51
KB
-rwxr-xr-x
2025-06-22 16:21
checkgid
14.3
KB
-rwxr-xr-x
2026-07-06 16:27
chfn
71.09
KB
-rwsr-xr-x
2024-05-30 14:52
chgrp
58.51
KB
-rwxr-xr-x
2025-06-22 16:21
chmod
54.51
KB
-rwxr-xr-x
2025-06-22 16:21
choom
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
chown
58.51
KB
-rwxr-xr-x
2025-06-22 16:21
chrt
30.38
KB
-rwxr-xr-x
2026-03-06 16:00
chsh
43.71
KB
-rwsr-xr-x
2024-05-30 14:52
chvt
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
cifsiostat
26.45
KB
-rwxr-xr-x
2025-08-05 17:14
ckbcomp
147.14
KB
-rwxr-xr-x
2024-02-26 12:58
ckeygen3
227
B
-rwxr-xr-x
2026-05-22 14:58
cksum
102.52
KB
-rwxr-xr-x
2025-06-22 16:21
clear
14.31
KB
-rwxr-xr-x
2026-06-30 21:25
clear_console
14.23
KB
-rwxr-xr-x
2024-03-31 08:41
cloud-id
966
B
-rwxr-xr-x
2025-08-12 21:19
cloud-init
970
B
-rwxr-xr-x
2025-08-12 21:19
cloud-init-per
2.06
KB
-rwxr-xr-x
2025-08-12 19:11
cmp
42.39
KB
-rwxr-xr-x
2024-04-08 15:55
codepage
14.3
KB
-rwxr-xr-x
2024-03-31 09:02
col
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
col1
963
B
-rwxr-xr-x
2025-08-05 17:14
col2
963
B
-rwxr-xr-x
2025-08-05 17:14
col3
963
B
-rwxr-xr-x
2025-08-05 17:14
col4
963
B
-rwxr-xr-x
2025-08-05 17:14
col5
963
B
-rwxr-xr-x
2025-08-05 17:14
col6
963
B
-rwxr-xr-x
2025-08-05 17:14
col7
963
B
-rwxr-xr-x
2025-08-05 17:14
col8
963
B
-rwxr-xr-x
2025-08-05 17:14
col9
963
B
-rwxr-xr-x
2025-08-05 17:14
colcrt
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
colrm
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
column
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
comm
38.52
KB
-rwxr-xr-x
2025-06-22 16:21
compose
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
conch3
225
B
-rwxr-xr-x
2026-05-22 14:58
corelist
15.01
KB
-rwxr-xr-x
2026-06-12 13:42
cp
138.52
KB
-rwxr-xr-x
2025-06-22 16:21
cpan
8.16
KB
-rwxr-xr-x
2026-06-12 13:42
cpan5.38-x86_64-linux-gnu
8.18
KB
-rwxr-xr-x
2026-06-12 13:42
cpio
137.67
KB
-rwxr-xr-x
2024-04-08 15:55
cpupower
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
crontab
38.73
KB
-rwxr-sr-x
2025-08-05 17:14
csplit
50.51
KB
-rwxr-xr-x
2025-06-22 16:21
ctail
960
B
-rwxr-xr-x
2025-08-05 17:14
ctstat
22.66
KB
-rwxr-xr-x
2025-07-10 14:46
curl
290.32
KB
-rwxr-xr-x
2026-07-06 17:02
cut
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
cvtsudoers
321.1
KB
-rwxr-xr-x
2026-03-02 12:56
dash
126.74
KB
-rwxr-xr-x
2024-03-31 08:47
date
106.51
KB
-rwxr-xr-x
2025-06-22 16:21
dbus-cleanup-sockets
14.29
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-daemon
230.64
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-monitor
26.3
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-run-session
14.3
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-send
30.29
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-update-activation-environment
14.29
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-uuidgen
14.29
KB
-rwxr-xr-x
2024-08-09 02:33
dbxtool
30.3
KB
-rwxr-xr-x
2025-07-11 07:24
dd
70.54
KB
-rwxr-xr-x
2025-06-22 16:21
deallocvt
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
deb-systemd-helper
23.79
KB
-rwxr-xr-x
2023-12-06 07:46
deb-systemd-invoke
6.97
KB
-rwxr-xr-x
2023-12-06 07:47
debconf
2.8
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-apt-progress
11.57
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-communicate
623
B
-rwxr-xr-x
2024-04-12 12:40
debconf-copydb
1.68
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-escape
668
B
-rwxr-xr-x
2024-04-12 12:40
debconf-set-selections
3.14
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-show
1.78
KB
-rwxr-xr-x
2024-04-12 12:40
debian-distro-info
30.95
KB
-rwxr-xr-x
2025-08-05 17:14
delpart
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
delv
45.32
KB
-rwxr-xr-x
2026-05-21 13:51
df
87.08
KB
-rwxr-xr-x
2025-06-22 16:21
dh_bash-completion
4.42
KB
-rwxr-xr-x
2025-08-05 17:14
dh_installxmlcatalogs
9.22
KB
-rwxr-xr-x
2023-12-12 02:01
diff
134.55
KB
-rwxr-xr-x
2024-04-08 15:55
diff3
58.52
KB
-rwxr-xr-x
2024-04-08 15:55
dig
150.83
KB
-rwxr-xr-x
2026-05-21 13:51
dir
138.98
KB
-rwxr-xr-x
2025-06-22 16:21
dircolors
46.52
KB
-rwxr-xr-x
2025-06-22 16:21
dirmngr
473.77
KB
-rwxr-xr-x
2026-01-05 22:01
dirmngr-client
54.92
KB
-rwxr-xr-x
2026-01-05 22:01
dirname
34.38
KB
-rwxr-xr-x
2025-06-22 16:21
distro-info
26.89
KB
-rwxr-xr-x
2025-08-05 17:14
dmesg
68.64
KB
-rwxr-xr-x
2026-03-06 16:00
dnsdomainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
do-release-upgrade
10.42
KB
-rwxr-xr-x
2025-07-25 16:08
domainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
dpkg
310.72
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-deb
142.58
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-divert
118.57
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-maintscript-helper
20.71
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-query
134.56
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-realpath
4.09
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-split
98.53
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-statoverride
50.38
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-trigger
42.53
KB
-rwxr-xr-x
2026-05-06 17:38
du
98.51
KB
-rwxr-xr-x
2025-06-22 16:21
dumpkeys
162.85
KB
-rwxr-xr-x
2024-03-31 09:02
eatmydata
2.74
KB
-rwxr-xr-x
2024-04-08 17:00
ec2metadata
8.38
KB
-rwxr-xr-x
2022-06-03 10:51
echo
34.38
KB
-rwxr-xr-x
2025-06-22 16:21
ed
58.55
KB
-rwxr-xr-x
2025-08-05 17:14
edit
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
editor
272.5
KB
-rwxr-xr-x
2026-06-03 22:50
egrep
41
B
-rwxr-xr-x
2024-04-08 15:58
eject
42.23
KB
-rwxr-xr-x
2026-03-06 16:00
enc2xs
40.96
KB
-rwxr-xr-x
2026-06-12 13:42
encguess
3
KB
-rwxr-xr-x
2026-06-12 13:42
env
46.95
KB
-rwxr-xr-x
2025-06-22 16:21
envsubst
34.38
KB
-rwxr-xr-x
2024-04-08 15:58
eqn
188.45
KB
-rwxr-xr-x
2024-03-31 08:54
ex
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
expand
34.53
KB
-rwxr-xr-x
2025-06-22 16:21
expiry
26.52
KB
-rwxr-sr-x
2024-05-30 14:52
expr
42.41
KB
-rwxr-xr-x
2025-06-22 16:21
factor
62.51
KB
-rwxr-xr-x
2025-06-22 16:21
faillog
22.63
KB
-rwxr-xr-x
2024-05-30 14:52
fallocate
26.38
KB
-rwxr-xr-x
2026-03-06 16:00
false
26.3
KB
-rwxr-xr-x
2025-06-22 16:21
fcgistarter
14.3
KB
-rwxr-xr-x
2026-07-06 16:27
fgconsole
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
fgrep
41
B
-rwxr-xr-x
2024-04-08 15:58
file
30.6
KB
-rwxr-xr-x
2025-08-05 17:14
finalrd
2.06
KB
-rwxr-xr-x
2022-02-16 16:56
find
199.48
KB
-rwxr-xr-x
2024-04-08 15:57
findmnt
67.66
KB
-rwxr-xr-x
2026-03-06 16:00
flock
22.48
KB
-rwxr-xr-x
2026-03-06 16:00
fmt
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
fold
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
free
26.38
KB
-rwxr-xr-x
2024-09-26 08:44
ftp
182.9
KB
-rwxr-xr-x
2025-08-05 17:14
funzip
26.3
KB
-rwxr-xr-x
2024-10-02 13:29
fuser
39.34
KB
-rwxr-xr-x
2025-08-05 17:14
fusermount
38.38
KB
-rwsr-xr-x
2024-04-08 15:57
fusermount3
38.38
KB
-rwsr-xr-x
2024-04-08 15:57
fwupdmgr
118.3
KB
-rwxr-xr-x
2025-07-11 07:24
fwupdtool
110.3
KB
-rwxr-xr-x
2025-07-11 07:24
gapplication
22.38
KB
-rwxr-xr-x
2026-01-28 17:53
gawk
722.5
KB
-rwxr-xr-x
2026-07-20 22:38
gawkbug
6.74
KB
-rwxr-xr-x
2026-07-20 22:38
gdbus
50.38
KB
-rwxr-xr-x
2026-01-28 17:53
gencat
26.44
KB
-rwxr-xr-x
2026-01-30 08:27
geqn
188.45
KB
-rwxr-xr-x
2024-03-31 08:54
getconf
26.36
KB
-rwxr-xr-x
2026-01-30 08:27
getent
38.72
KB
-rwxr-xr-x
2026-01-30 08:27
getkeycodes
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
getopt
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
gettext
34.38
KB
-rwxr-xr-x
2024-04-08 15:58
gettext.sh
5.07
KB
-rwxr-xr-x
2024-04-08 15:58
ginstall-info
47.24
KB
-rwxr-xr-x
2025-08-05 17:14
gio
102.4
KB
-rwxr-xr-x
2026-01-28 17:53
gio-querymodules
18.3
KB
-rwxr-xr-x
2026-01-28 17:53
git
3.88
MB
-rwxr-xr-x
2025-08-05 17:14
git-receive-pack
3.88
MB
-rwxr-xr-x
2025-08-05 17:14
git-shell
624.81
KB
-rwxr-xr-x
2025-08-05 17:14
git-upload-archive
3.88
MB
-rwxr-xr-x
2025-08-05 17:14
git-upload-pack
3.88
MB
-rwxr-xr-x
2025-08-05 17:14
glib-compile-schemas
54.3
KB
-rwxr-xr-x
2026-01-28 17:53
gpasswd
74.46
KB
-rwsr-xr-x
2024-05-30 14:52
gpg
1.09
MB
-rwxr-xr-x
2026-01-05 22:01
gpg-agent
357.52
KB
-rwxr-xr-x
2026-01-05 22:01
gpg-connect-agent
87.3
KB
-rwxr-xr-x
2026-01-05 22:01
gpg-wks-client
139.37
KB
-rwxr-xr-x
2026-01-05 22:01
gpgconf
115.36
KB
-rwxr-xr-x
2026-01-05 22:01
gpgparsemail
34.38
KB
-rwxr-xr-x
2026-01-05 22:01
gpgsm
501.37
KB
-rwxr-xr-x
2026-01-05 22:01
gpgsplit
26.62
KB
-rwxr-xr-x
2026-01-05 22:01
gpgtar
67.83
KB
-rwxr-xr-x
2026-01-05 22:01
gpgv
303.14
KB
-rwxr-xr-x
2026-01-05 22:01
gpic
196.06
KB
-rwxr-xr-x
2024-03-31 08:54
gpu-manager
78.82
KB
-rwxr-xr-x
2025-10-03 21:26
grep
182.45
KB
-rwxr-xr-x
2024-04-08 15:58
gresource
22.3
KB
-rwxr-xr-x
2026-01-28 17:53
groff
94.51
KB
-rwxr-xr-x
2024-03-31 08:54
grog
18.75
KB
-rwxr-xr-x
2024-03-31 08:54
grops
162.55
KB
-rwxr-xr-x
2024-03-31 08:54
grotty
118.51
KB
-rwxr-xr-x
2024-03-31 08:54
groups
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
growpart
29.19
KB
-rwxr-xr-x
2022-06-03 10:51
grub-editenv
393.16
KB
-rwxr-xr-x
2025-03-17 13:20
grub-file
741.88
KB
-rwxr-xr-x
2025-03-17 13:20
grub-fstest
863.32
KB
-rwxr-xr-x
2025-03-17 13:20
grub-glue-efi
102.88
KB
-rwxr-xr-x
2025-03-17 13:20
grub-kbdcomp
1.64
KB
-rwxr-xr-x
2025-03-17 13:20
grub-menulst2cfg
83.2
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mkfont
131.45
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mkimage
377.26
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mklayout
103.23
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mknetdir
429.77
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mkpasswd-pbkdf2
111.32
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mkrelpath
259.79
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mkrescue
1019.84
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mkstandalone
510.16
KB
-rwxr-xr-x
2025-03-17 13:20
grub-mount
682.21
KB
-rwxr-xr-x
2025-03-17 13:20
grub-ntldr-img
38.39
KB
-rwxr-xr-x
2025-03-17 13:20
grub-render-label
750.23
KB
-rwxr-xr-x
2025-03-17 13:20
grub-script-check
126.76
KB
-rwxr-xr-x
2025-03-17 13:20
grub-syslinux2cfg
698.71
KB
-rwxr-xr-x
2025-03-17 13:20
gsettings
30.3
KB
-rwxr-xr-x
2026-01-28 17:53
gtbl
134.48
KB
-rwxr-xr-x
2024-03-31 08:54
gunzip
2.29
KB
-rwxr-xr-x
2026-07-03 11:53
gzexe
6.33
KB
-rwxr-xr-x
2026-07-03 11:53
gzip
91.23
KB
-rwxr-xr-x
2026-07-03 11:53
h2ph
28.54
KB
-rwxr-xr-x
2026-06-12 13:42
h2xs
59.51
KB
-rwxr-xr-x
2026-06-12 13:42
hardlink
46.48
KB
-rwxr-xr-x
2026-03-06 16:00
hd
46.39
KB
-rwxr-xr-x
2026-03-06 16:00
head
42.51
KB
-rwxr-xr-x
2025-06-22 16:21
helpztags
2.46
KB
-rwxr-xr-x
2026-06-15 22:15
hexdump
46.39
KB
-rwxr-xr-x
2026-03-06 16:00
host
118.82
KB
-rwxr-xr-x
2026-05-21 13:51
hostid
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
hostname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
hostnamectl
30.45
KB
-rwxr-xr-x
2026-06-05 15:36
htcacheclean
34.31
KB
-rwxr-xr-x
2026-07-06 16:27
htdbm
26.3
KB
-rwxr-xr-x
2026-07-06 16:27
htdigest
14.3
KB
-rwxr-xr-x
2026-07-06 16:27
htop
370.33
KB
-rwxr-xr-x
2025-08-05 17:14
htpasswd
26.3
KB
-rwxr-xr-x
2026-07-06 16:27
hwe-support-status
11.24
KB
-rwxr-xr-x
2025-08-05 17:14
i386
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
ibd2sdi
262.74
KB
-rwxr-xr-x
2026-06-19 17:14
iconv
66.48
KB
-rwxr-xr-x
2026-01-30 08:27
id
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
inetutils-telnet
177.85
KB
-rwxr-xr-x
2026-06-04 13:25
info
241.73
KB
-rwxr-xr-x
2025-08-05 17:14
infobrowser
241.73
KB
-rwxr-xr-x
2025-08-05 17:14
infocmp
66.38
KB
-rwxr-xr-x
2026-06-30 21:25
infotocap
90.41
KB
-rwxr-xr-x
2026-06-30 21:25
innochecksum
171.39
KB
-rwxr-xr-x
2026-06-19 17:14
install
142.52
KB
-rwxr-xr-x
2025-06-22 16:21
install-info
47.24
KB
-rwxr-xr-x
2025-08-05 17:14
instmodsh
4.27
KB
-rwxr-xr-x
2026-06-12 13:42
ionice
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
iostat
54.44
KB
-rwxr-xr-x
2025-08-05 17:14
ip
754.8
KB
-rwxr-xr-x
2025-07-10 14:46
ipcmk
22.45
KB
-rwxr-xr-x
2026-03-06 16:00
ipcrm
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
ipcs
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
iptables-xml
92.95
KB
-rwxr-xr-x
2025-08-05 17:14
ischroot
14.48
KB
-rwxr-xr-x
2024-03-31 08:47
iscsiadm
370.43
KB
-rwxr-xr-x
2025-06-04 12:20
join
50.55
KB
-rwxr-xr-x
2025-06-22 16:21
journalctl
78.91
KB
-rwxr-xr-x
2026-06-05 15:36
jq
30.15
KB
-rwxr-xr-x
2026-04-20 07:25
json-patch-jsondiff
1004
B
-rwxr-xr-x
2023-08-21 13:10
json_pp
4.88
KB
-rwxr-xr-x
2026-06-12 13:42
jsondiff
1004
B
-rwxr-xr-x
2023-08-21 13:10
jsonpatch
3.77
KB
-rwxr-xr-x
2023-08-21 13:10
jsonpointer
1.79
KB
-rwxr-xr-x
2020-01-24 03:25
jsonschema
213
B
-rwxr-xr-x
2023-08-14 21:45
kbd_mode
14.66
KB
-rwxr-xr-x
2024-03-31 09:02
kbdinfo
18.37
KB
-rwxr-xr-x
2024-03-31 09:02
kbxutil
62.83
KB
-rwxr-xr-x
2026-01-05 22:01
keep-one-running
3.51
KB
-rwxr-xr-x
2025-08-05 17:14
kernel-install
54.67
KB
-rwxr-xr-x
2026-06-05 15:36
kill
22.38
KB
-rwxr-xr-x
2024-09-26 08:44
killall
31.34
KB
-rwxr-xr-x
2025-08-05 17:14
kmod
170.24
KB
-rwxr-xr-x
2026-04-30 12:32
kmodsign
18.45
KB
-rwxr-xr-x
2025-08-05 17:14
landscape-sysinfo
646
B
-rwxr-xr-x
2025-08-21 01:44
last
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
lastb
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
lastlog
27.79
KB
-rwxr-xr-x
2024-05-30 14:52
lcf
7.6
KB
-rwxr-xr-x
2023-01-27 13:29
ld.so
231.07
KB
-rwxr-xr-x
2026-01-30 08:27
ldd
5.26
KB
-rwxr-xr-x
2026-01-30 08:27
less
190.38
KB
-rwxr-xr-x
2025-08-05 17:14
lessecho
14.31
KB
-rwxr-xr-x
2025-08-05 17:14
lessfile
8.83
KB
-rwxr-xr-x
2025-08-05 17:14
lesskey
23.7
KB
-rwxr-xr-x
2025-08-05 17:14
lesspipe
8.83
KB
-rwxr-xr-x
2025-08-05 17:14
letsencrypt
958
B
-rwxr-xr-x
2024-02-09 01:14
lexgrog
99.51
KB
-rwxr-xr-x
2025-08-05 17:14
libnetcfg
15.41
KB
-rwxr-xr-x
2026-06-12 13:42
link
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
linux-boot-prober
1.54
KB
-rwxr-xr-x
2023-03-07 13:24
linux-check-removal
3.99
KB
-rwxr-xr-x
2025-02-27 07:59
linux-update-symlinks
6.17
KB
-rwxr-xr-x
2025-02-27 07:59
linux-version
2.63
KB
-rwxr-xr-x
2024-11-13 12:23
linux32
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
linux64
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
ln
54.51
KB
-rwxr-xr-x
2025-06-22 16:21
lnstat
22.66
KB
-rwxr-xr-x
2025-07-10 14:46
loadkeys
202.9
KB
-rwxr-xr-x
2024-03-31 09:02
loadunimap
34.46
KB
-rwxr-xr-x
2024-03-31 09:02
locale
49.63
KB
-rwxr-xr-x
2026-01-30 08:27
locale-check
14.15
KB
-rwxr-xr-x
2025-08-01 14:21
localectl
26.45
KB
-rwxr-xr-x
2026-06-05 15:36
localedef
319.09
KB
-rwxr-xr-x
2026-01-30 08:27
locate
306.55
KB
-rwxr-sr-x
2024-04-18 17:53
logger
38.97
KB
-rwxr-xr-x
2026-03-06 16:00
login
51.81
KB
-rwxr-xr-x
2024-05-30 14:52
loginctl
66.58
KB
-rwxr-xr-x
2026-06-05 15:36
logname
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
logresolve
14.31
KB
-rwxr-xr-x
2026-07-06 16:27
look
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
lowntfs-3g
118.98
KB
-rwxr-xr-x
2026-07-11 15:55
ls
138.98
KB
-rwxr-xr-x
2025-06-22 16:21
lsattr
14.31
KB
-rwxr-xr-x
2024-04-28 23:44
lsb_release
2.59
KB
-rwxr-xr-x
2023-07-05 15:34
lsblk
146.38
KB
-rwxr-xr-x
2026-03-06 16:00
lscpu
110.38
KB
-rwxr-xr-x
2026-03-06 16:00
lshw
957.2
KB
-rwxr-xr-x
2025-08-05 17:14
lsinitramfs
735
B
-rwxr-xr-x
2025-01-08 10:19
lsipc
50.38
KB
-rwxr-xr-x
2026-03-06 16:00
lslocks
30.77
KB
-rwxr-xr-x
2026-03-06 16:00
lslogins
50.38
KB
-rwxr-xr-x
2026-03-06 16:00
lsmem
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
lsmod
170.24
KB
-rwxr-xr-x
2026-04-30 12:32
lsns
42.38
KB
-rwxr-xr-x
2026-03-06 16:00
lsof
171.66
KB
-rwxr-xr-x
2025-08-05 17:14
lspci
100.11
KB
-rwxr-xr-x
2024-04-08 16:15
lspgpot
1.06
KB
-rwxr-xr-x
2023-04-04 08:28
lspower
1.18
KB
-rwxr-xr-x
2025-06-04 14:29
lsusb
246.52
KB
-rwxr-xr-x
2024-04-08 16:21
lynx
1.91
MB
-rwxr-xr-x
2024-04-01 06:53
lzcat
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
lzcmp
7.25
KB
-rwxr-xr-x
2026-05-28 16:06
lzdiff
7.25
KB
-rwxr-xr-x
2026-05-28 16:06
lzegrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
lzfgrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
lzgrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
lzless
1.77
KB
-rwxr-xr-x
2026-05-28 16:06
lzma
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
lzmainfo
14.38
KB
-rwxr-xr-x
2026-05-28 16:06
lzmore
2.14
KB
-rwxr-xr-x
2026-05-28 16:06
mailmail3
227
B
-rwxr-xr-x
2026-05-22 14:58
man
125.41
KB
-rwxr-xr-x
2025-08-05 17:14
man-recode
35.4
KB
-rwxr-xr-x
2025-08-05 17:14
mandb
143.67
KB
-rwxr-xr-x
2025-08-05 17:14
manifest
1.9
KB
-rwxr-xr-x
2025-08-05 17:14
manpath
26.78
KB
-rwxr-xr-x
2025-08-05 17:14
mapscrn
30.46
KB
-rwxr-xr-x
2024-03-31 09:02
markdown-it
220
B
-rwxr-xr-x
2023-06-19 13:24
mawk
166.77
KB
-rwxr-xr-x
2024-04-08 16:12
mbim-network
11.08
KB
-rwxr-xr-x
2025-10-09 07:32
mbimcli
216.74
KB
-rwxr-xr-x
2025-10-09 07:32
mcookie
26.45
KB
-rwxr-xr-x
2026-03-06 16:00
md5sum
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
md5sum.textutils
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
mdig
50.4
KB
-rwxr-xr-x
2026-05-21 13:51
memhog
14.42
KB
-rwxr-xr-x
2026-01-09 13:36
memusage
7.32
KB
-rwxr-xr-x
2026-01-30 08:27
memusagestat
22.44
KB
-rwxr-xr-x
2026-01-30 08:27
mesg
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
migrate-pubring-from-classic-gpg
3.02
KB
-rwxr-xr-x
2024-03-01 08:25
migratepages
14.38
KB
-rwxr-xr-x
2026-01-09 13:36
migspeed
14.3
KB
-rwxr-xr-x
2026-01-09 13:36
mk_modmap
15.78
KB
-rwxr-xr-x
2024-03-31 09:02
mkdir
74.51
KB
-rwxr-xr-x
2025-06-22 16:21
mkfifo
42.51
KB
-rwxr-xr-x
2025-06-22 16:21
mknod
42.51
KB
-rwxr-xr-x
2025-06-22 16:21
mksquashfs
286.95
KB
-rwxr-xr-x
2024-04-08 16:20
mktemp
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
mmcli
273.94
KB
-rwxr-xr-x
2025-08-05 17:14
more
46.38
KB
-rwxr-xr-x
2026-03-06 16:00
mount
50.38
KB
-rwsr-xr-x
2026-03-06 16:00
mountpoint
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
mpstat
50.45
KB
-rwxr-xr-x
2025-08-05 17:14
mt
70.73
KB
-rwxr-xr-x
2024-04-08 15:55
mt-gnu
70.73
KB
-rwxr-xr-x
2024-04-08 15:55
mtr
76.25
KB
-rwxr-xr-x
2025-08-05 17:14
mtr-packet
34.3
KB
-rwxr-xr-x
2025-08-05 17:14
mtrace
6.37
KB
-rwxr-xr-x
2026-01-30 08:27
mv
134.52
KB
-rwxr-xr-x
2025-06-22 16:21
my_print_defaults
171.24
KB
-rwxr-xr-x
2026-06-19 17:14
myisam_ftdump
6.34
MB
-rwxr-xr-x
2026-06-19 17:14
myisamchk
6.54
MB
-rwxr-xr-x
2026-06-19 17:14
myisamlog
6.37
MB
-rwxr-xr-x
2026-06-19 17:14
myisampack
6.4
MB
-rwxr-xr-x
2026-06-19 17:14
mysql
6.59
MB
-rwxr-xr-x
2026-06-19 17:14
mysql_config_editor
157.03
KB
-rwxr-xr-x
2026-06-19 17:14
mysql_migrate_keyring
6.49
MB
-rwxr-xr-x
2026-06-19 17:14
mysql_secure_installation
6.42
MB
-rwxr-xr-x
2026-06-19 17:14
mysql_ssl_rsa_setup
202.9
KB
-rwxr-xr-x
2026-06-19 17:14
mysql_tzinfo_to_sql
74.91
KB
-rwxr-xr-x
2026-06-19 17:14
mysql_upgrade
6.5
MB
-rwxr-xr-x
2026-06-19 17:14
mysqladmin
6.44
MB
-rwxr-xr-x
2026-06-19 17:14
mysqlanalyze
6.45
MB
-rwxr-xr-x
2026-06-19 17:14
mysqlbinlog
6.74
MB
-rwxr-xr-x
2026-06-19 17:14
mysqlcheck
6.45
MB
-rwxr-xr-x
2026-06-19 17:14
mysqld_multi
26.73
KB
-rwxr-xr-x
2026-06-19 17:14
mysqld_safe
28.45
KB
-rwxr-xr-x
2026-06-19 17:14
mysqldump
6.52
MB
-rwxr-xr-x
2026-06-19 17:14
mysqldumpslow
7.54
KB
-rwxr-xr-x
2026-06-19 17:14
mysqlimport
6.43
MB
-rwxr-xr-x
2026-06-19 17:14
mysqloptimize
6.45
MB
-rwxr-xr-x
2026-06-19 17:14
mysqlpump
6.83
MB
-rwxr-xr-x
2026-06-19 17:14
mysqlrepair
6.45
MB
-rwxr-xr-x
2026-06-19 17:14
mysqlreport
38.1
KB
-rwxr-xr-x
2025-11-18 20:53
mysqlshow
6.43
MB
-rwxr-xr-x
2026-06-19 17:14
mysqlslap
6.45
MB
-rwxr-xr-x
2026-06-19 17:14
namei
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
nano
272.5
KB
-rwxr-xr-x
2026-06-03 22:50
nawk
722.5
KB
-rwxr-xr-x
2026-07-20 22:38
nc
38.63
KB
-rwxr-xr-x
2025-08-05 17:14
nc.openbsd
38.63
KB
-rwxr-xr-x
2025-08-05 17:14
neqn
913
B
-rwxr-xr-x
2024-03-31 08:54
netaddr
959
B
-rwxr-xr-x
2023-09-21 17:43
netcat
38.63
KB
-rwxr-xr-x
2025-08-05 17:14
netstat
154.59
KB
-rwxr-xr-x
2025-05-28 13:23
networkctl
122.58
KB
-rwxr-xr-x
2026-06-05 15:36
networkd-dispatcher
19.88
KB
-rwxr-xr-x
2023-04-24 15:32
newgrp
39.71
KB
-rwsr-xr-x
2024-05-30 14:52
ngettext
34.38
KB
-rwxr-xr-x
2024-04-08 15:58
nice
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
nisdomainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
nl
38.6
KB
-rwxr-xr-x
2025-06-22 16:21
nohup
34.41
KB
-rwxr-xr-x
2025-06-22 16:21
nproc
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
nroff
5.58
KB
-rwxr-xr-x
2024-03-31 08:54
nsenter
30.6
KB
-rwxr-xr-x
2026-03-06 16:00
nslookup
122.82
KB
-rwxr-xr-x
2026-05-21 13:51
nstat
30.38
KB
-rwxr-xr-x
2025-07-10 14:46
nsupdate
74.55
KB
-rwxr-xr-x
2026-05-21 13:51
ntfs-3g
159.01
KB
-rwxr-xr-x
2026-07-11 15:55
ntfs-3g.probe
14.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfscat
26.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfscluster
38.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfscmp
30.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsdecrypt
42.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsfallocate
26.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsfix
34.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsinfo
54.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsls
27.45
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsmove
30.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsrecover
102.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfssecaudit
78.86
KB
-rwxr-xr-x
2026-07-11 15:55
ntfstruncate
26.3
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsusermap
18.3
KB
-rwxr-xr-x
2026-07-11 15:55
ntfswipe
46.91
KB
-rwxr-xr-x
2026-07-11 15:55
numactl
35.23
KB
-rwxr-xr-x
2026-01-09 13:36
numastat
35.56
KB
-rwxr-xr-x
2026-01-09 13:36
numfmt
58.54
KB
-rwxr-xr-x
2025-06-22 16:21
nvidia-detector
270
B
-rwxr-xr-x
2025-10-03 21:26
od
70.51
KB
-rwxr-xr-x
2025-06-22 16:21
oem-getlogs
8.3
KB
-rwxr-xr-x
2025-07-08 14:50
on_ac_power
3.7
KB
-rwxr-xr-x
2025-06-04 14:29
open
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
openssl
981.8
KB
-rwxr-xr-x
2026-06-02 19:33
openvt
22.73
KB
-rwxr-xr-x
2024-03-31 09:02
os-prober
4.42
KB
-rwxr-xr-x
2023-03-07 13:24
pager
190.38
KB
-rwxr-xr-x
2025-08-05 17:14
partx
62.38
KB
-rwxr-xr-x
2026-03-06 16:00
passwd
62.65
KB
-rwsr-xr-x
2024-05-30 14:52
paste
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
pastebinit
16.31
KB
-rwxr-xr-x
2025-08-05 17:14
patch
182.52
KB
-rwxr-xr-x
2025-08-05 17:14
pathchk
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
pbget
2.51
KB
-rwxr-xr-x
2025-08-05 17:14
pbput
2.51
KB
-rwxr-xr-x
2025-08-05 17:14
pbputs
2.51
KB
-rwxr-xr-x
2025-08-05 17:14
pdb3
67.83
KB
-rwxr-xr-x
2026-06-19 12:46
pdb3.12
67.83
KB
-rwxr-xr-x
2026-06-19 12:46
peekfd
14.3
KB
-rwxr-xr-x
2025-08-05 17:14
perf
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
perl
3.83
MB
-rwxr-xr-x
2026-06-12 13:42
perl5.38-x86_64-linux-gnu
14.3
KB
-rwxr-xr-x
2026-06-12 13:42
perl5.38.2
3.83
MB
-rwxr-xr-x
2026-06-12 13:42
perlbug
44.52
KB
-rwxr-xr-x
2026-06-12 13:42
perldoc
125
B
-rwxr-xr-x
2024-04-05 19:56
perlivp
10.61
KB
-rwxr-xr-x
2026-06-12 13:42
perlthanks
44.52
KB
-rwxr-xr-x
2026-06-12 13:42
perror
1.46
MB
-rwxr-xr-x
2026-06-19 17:14
pgrep
34.47
KB
-rwxr-xr-x
2024-09-26 08:44
phar
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar.phar
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar.phar8.3
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar8.3
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar8.3.phar
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
php
5.52
MB
-rwxr-xr-x
2026-07-16 18:30
php8.3
5.52
MB
-rwxr-xr-x
2026-07-16 18:30
pic
196.06
KB
-rwxr-xr-x
2024-03-31 08:54
pico
272.5
KB
-rwxr-xr-x
2026-06-03 22:50
piconv
8.16
KB
-rwxr-xr-x
2026-06-12 13:42
pidof
26.23
KB
-rwxr-xr-x
2024-04-08 16:20
pidstat
50.45
KB
-rwxr-xr-x
2025-08-05 17:14
pidwait
34.47
KB
-rwxr-xr-x
2024-09-26 08:44
pinentry
58.65
KB
-rwxr-xr-x
2024-03-31 16:59
pinentry-curses
58.65
KB
-rwxr-xr-x
2024-03-31 16:59
ping
87.7
KB
-rwxr-xr-x
2025-08-05 17:14
ping4
87.7
KB
-rwxr-xr-x
2025-08-05 17:14
ping6
87.7
KB
-rwxr-xr-x
2025-08-05 17:14
pinky
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
pkaction
18.3
KB
-rwxr-xr-x
2026-04-10 10:57
pkcheck
22.3
KB
-rwxr-xr-x
2026-04-10 10:57
pkcon
54.3
KB
-rwxr-xr-x
2026-04-20 12:20
pkill
34.47
KB
-rwxr-xr-x
2024-09-26 08:44
pkmon
22.3
KB
-rwxr-xr-x
2026-04-20 12:20
pkttyagent
22.3
KB
-rwxr-xr-x
2026-04-10 10:57
pl2pm
4.43
KB
-rwxr-xr-x
2026-06-12 13:42
pldd
22.44
KB
-rwxr-xr-x
2026-01-30 08:27
plocate
306.55
KB
-rwxr-sr-x
2024-04-18 17:53
plymouth
46.3
KB
-rwxr-xr-x
2025-02-25 05:47
pmap
34.4
KB
-rwxr-xr-x
2024-09-26 08:44
pod2html
3.95
KB
-rwxr-xr-x
2026-06-12 13:42
pod2man
18.46
KB
-rwxr-xr-x
2026-06-12 13:42
pod2text
12.8
KB
-rwxr-xr-x
2026-06-12 13:42
pod2usage
4.01
KB
-rwxr-xr-x
2026-06-12 13:42
podchecker
3.57
KB
-rwxr-xr-x
2026-06-12 13:42
pollinate
8.54
KB
-rwxr-xr-x
2018-05-29 20:13
pr
70.58
KB
-rwxr-xr-x
2025-06-22 16:21
preconv
58.48
KB
-rwxr-xr-x
2024-03-31 08:54
print
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
printenv
34.38
KB
-rwxr-xr-x
2025-06-22 16:21
printf
54.44
KB
-rwxr-xr-x
2025-06-22 16:21
prlimit
26.89
KB
-rwxr-xr-x
2026-03-06 16:00
pro
1003
B
-rwxr-xr-x
2026-07-06 13:28
prove
13.34
KB
-rwxr-xr-x
2026-06-12 13:42
prtstat
18.38
KB
-rwxr-xr-x
2025-08-05 17:14
ps
142.99
KB
-rwxr-xr-x
2024-09-26 08:44
psfaddtable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
psfgettable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
psfstriptable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
psfxtable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
pslog
14.3
KB
-rwxr-xr-x
2025-08-05 17:14
pstree
35.32
KB
-rwxr-xr-x
2025-08-05 17:14
pstree.x11
35.32
KB
-rwxr-xr-x
2025-08-05 17:14
ptar
3.48
KB
-rwxr-xr-x
2026-06-12 13:42
ptardiff
2.58
KB
-rwxr-xr-x
2026-06-12 13:42
ptargrep
4.29
KB
-rwxr-xr-x
2026-06-12 13:42
ptx
54.54
KB
-rwxr-xr-x
2025-06-22 16:21
purge-old-kernels
1.12
KB
-rwxr-xr-x
2025-08-05 17:14
pwd
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
pwdx
14.38
KB
-rwxr-xr-x
2024-09-26 08:44
py3clean
7.63
KB
-rwxr-xr-x
2025-11-12 12:15
py3compile
13
KB
-rwxr-xr-x
2025-11-12 12:15
py3versions
12.52
KB
-rwxr-xr-x
2025-11-12 12:15
pybabel
956
B
-rwxr-xr-x
2023-11-24 10:19
pybabel-python3
956
B
-rwxr-xr-x
2023-11-24 10:19
pydoc3
80
B
-rwxr-xr-x
2026-06-19 12:46
pydoc3.12
80
B
-rwxr-xr-x
2026-06-19 12:46
pygettext3
23.66
KB
-rwxr-xr-x
2026-06-19 12:46
pygettext3.12
23.66
KB
-rwxr-xr-x
2026-06-19 12:46
pygmentize
215
B
-rwxr-xr-x
2024-02-02 13:26
pyhtmlizer3
222
B
-rwxr-xr-x
2026-05-22 14:58
pyserial-miniterm
975
B
-rwxr-xr-x
2023-11-24 10:38
pyserial-ports
969
B
-rwxr-xr-x
2023-11-24 10:38
python3
7.65
MB
-rwxr-xr-x
2026-06-19 12:46
python3.12
7.65
MB
-rwxr-xr-x
2026-06-19 12:46
pzstd
690.54
KB
-rwxr-xr-x
2024-08-09 02:33
qmi-firmware-update
168.09
KB
-rwxr-xr-x
2025-08-05 17:14
qmi-network
16.04
KB
-rwxr-xr-x
2025-08-05 17:14
qmicli
586.84
KB
-rwxr-xr-x
2025-08-05 17:14
quirks-handler
2.4
KB
-rwxr-xr-x
2025-10-03 21:26
rbash
1.38
MB
-rwxr-xr-x
2024-03-31 08:41
rdma
102.52
KB
-rwxr-xr-x
2025-07-10 14:46
readlink
42.41
KB
-rwxr-xr-x
2025-06-22 16:21
realpath
42.41
KB
-rwxr-xr-x
2025-06-22 16:21
red
89
B
-rwxr-xr-x
2025-08-05 17:14
rename.ul
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
renice
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
rescan-scsi-bus.sh
38.05
KB
-rwxr-xr-x
2024-04-08 16:19
reset
26.31
KB
-rwxr-xr-x
2026-06-30 21:25
resizecons
26.46
KB
-rwxr-xr-x
2024-03-31 09:02
resizepart
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
resolvectl
158.67
KB
-rwxr-xr-x
2026-06-05 15:36
rev
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
rgrep
30
B
-rwxr-xr-x
2023-07-21 14:47
rm
58.51
KB
-rwxr-xr-x
2025-06-22 16:21
rmdir
46.41
KB
-rwxr-xr-x
2025-06-22 16:21
rnano
272.5
KB
-rwxr-xr-x
2026-06-03 22:50
rotatelogs
26.38
KB
-rwxr-xr-x
2026-07-06 16:27
routel
1.62
KB
-rwxr-xr-x
2025-07-10 14:46
rpcgen
94.59
KB
-rwxr-xr-x
2024-04-08 16:18
rrsync
12.34
KB
-rwxr-xr-x
2026-06-08 14:10
rsync
522.15
KB
-rwxr-xr-x
2026-06-08 14:10
rsync-ssl
5.02
KB
-rwxr-xr-x
2026-06-08 14:10
rtla
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
rtstat
22.66
KB
-rwxr-xr-x
2025-07-10 14:46
run-mailcap
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
run-one
3.51
KB
-rwxr-xr-x
2025-08-05 17:14
run-one-constantly
3.51
KB
-rwxr-xr-x
2025-08-05 17:14
run-one-until-failure
3.51
KB
-rwxr-xr-x
2025-08-05 17:14
run-one-until-success
3.51
KB
-rwxr-xr-x
2025-08-05 17:14
run-parts
26.82
KB
-rwxr-xr-x
2024-03-31 08:47
run-this-one
3.51
KB
-rwxr-xr-x
2025-08-05 17:14
runcon
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
rview
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
rvim
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
sadf
382.31
KB
-rwxr-xr-x
2025-08-05 17:14
sar
137.38
KB
-rwxr-xr-x
2025-08-05 17:14
sar.sysstat
137.38
KB
-rwxr-xr-x
2025-08-05 17:14
savelog
10.24
KB
-rwxr-xr-x
2024-03-31 08:47
sbattach
22.54
KB
-rwxr-xr-x
2025-08-05 17:14
sbkeysync
34.74
KB
-rwxr-xr-x
2025-08-05 17:14
sbsiglist
14.6
KB
-rwxr-xr-x
2025-08-05 17:14
sbsign
34.7
KB
-rwxr-xr-x
2025-08-05 17:14
sbvarsign
22.73
KB
-rwxr-xr-x
2025-08-05 17:14
sbverify
30.61
KB
-rwxr-xr-x
2025-08-05 17:14
scalar
668.94
KB
-rwxr-xr-x
2025-08-05 17:14
scandeps
6.47
KB
-rwxr-xr-x
2024-11-18 16:41
scp
134.59
KB
-rwxr-xr-x
2026-07-09 18:16
screen
478.24
KB
-rwxr-xr-x
2026-01-22 19:59
screendump
14.3
KB
-rwxr-xr-x
2024-03-31 09:02
script
54.38
KB
-rwxr-xr-x
2026-03-06 16:00
scriptlive
42.38
KB
-rwxr-xr-x
2026-03-06 16:00
scriptreplay
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
scsi_logging_level
8.38
KB
-rwxr-xr-x
2024-04-08 16:19
scsi_mandat
3.52
KB
-rwxr-xr-x
2024-04-08 16:19
scsi_readcap
1.3
KB
-rwxr-xr-x
2024-04-08 16:19
scsi_ready
1.09
KB
-rwxr-xr-x
2024-04-08 16:19
scsi_satl
3.74
KB
-rwxr-xr-x
2024-04-08 16:19
scsi_start
1.25
KB
-rwxr-xr-x
2024-04-08 16:19
scsi_stop
1.44
KB
-rwxr-xr-x
2024-04-08 16:19
scsi_temperature
936
B
-rwxr-xr-x
2024-04-08 16:19
sdiff
50.39
KB
-rwxr-xr-x
2024-04-08 15:55
sed
110.57
KB
-rwxr-xr-x
2026-04-17 18:02
see
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
select-editor
2.39
KB
-rwxr-xr-x
2024-02-04 18:05
sensible-browser
1.55
KB
-rwxr-xr-x
2024-02-04 18:05
sensible-editor
1.52
KB
-rwxr-xr-x
2024-02-04 18:05
sensible-pager
921
B
-rwxr-xr-x
2024-02-04 18:05
sensible-terminal
1.15
KB
-rwxr-xr-x
2024-02-04 18:05
seq
50.51
KB
-rwxr-xr-x
2025-06-22 16:21
setarch
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
setfont
54.46
KB
-rwxr-xr-x
2024-03-31 09:02
setkeycodes
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
setleds
18.43
KB
-rwxr-xr-x
2024-03-31 09:02
setlogcons
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
setmetamode
14.41
KB
-rwxr-xr-x
2024-03-31 09:02
setpci
30.38
KB
-rwxr-xr-x
2024-04-08 16:15
setpriv
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
setsid
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
setterm
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
setupcon
40.06
KB
-rwxr-xr-x
2024-02-26 12:58
sftp
150.66
KB
-rwxr-xr-x
2026-07-09 18:16
sg
39.71
KB
-rwsr-xr-x
2024-05-30 14:52
sg_bg_ctl
14.51
KB
-rwxr-xr-x
2024-04-08 16:19
sg_compare_and_write
26.91
KB
-rwxr-xr-x
2024-04-08 16:19
sg_copy_results
23.3
KB
-rwxr-xr-x
2024-04-08 16:19
sg_dd
54.33
KB
-rwxr-xr-x
2024-04-08 16:19
sg_decode_sense
14.76
KB
-rwxr-xr-x
2024-04-08 16:19
sg_emc_trespass
14.3
KB
-rwxr-xr-x
2024-04-08 16:19
sg_format
39.35
KB
-rwxr-xr-x
2024-04-08 16:19
sg_get_config
35.38
KB
-rwxr-xr-x
2024-04-08 16:19
sg_get_elem_status
26.79
KB
-rwxr-xr-x
2024-04-08 16:19
sg_get_lba_status
22.95
KB
-rwxr-xr-x
2024-04-08 16:19
sg_ident
14.6
KB
-rwxr-xr-x
2024-04-08 16:19
sg_inq
115.61
KB
-rwxr-xr-x
2024-04-08 16:19
sg_logs
146.93
KB
-rwxr-xr-x
2024-04-08 16:19
sg_luns
22.79
KB
-rwxr-xr-x
2024-04-08 16:19
sg_map
18.3
KB
-rwxr-xr-x
2024-04-08 16:19
sg_map26
26.7
KB
-rwxr-xr-x
2024-04-08 16:19
sg_modes
46.08
KB
-rwxr-xr-x
2024-04-08 16:19
sg_opcodes
35.01
KB
-rwxr-xr-x
2024-04-08 16:19
sg_persist
36.08
KB
-rwxr-xr-x
2024-04-08 16:19
sg_prevent
14.51
KB
-rwxr-xr-x
2024-04-08 16:19
sg_raw
26.91
KB
-rwxr-xr-x
2024-04-08 16:19
sg_rbuf
22.73
KB
-rwxr-xr-x
2024-04-08 16:19
sg_rdac
18.3
KB
-rwxr-xr-x
2024-04-08 16:19
sg_read
26.31
KB
-rwxr-xr-x
2024-04-08 16:19
sg_read_attr
36.65
KB
-rwxr-xr-x
2024-04-08 16:19
sg_read_block_limits
14.54
KB
-rwxr-xr-x
2024-04-08 16:19
sg_read_buffer
27.56
KB
-rwxr-xr-x
2024-04-08 16:19
sg_read_long
14.7
KB
-rwxr-xr-x
2024-04-08 16:19
sg_readcap
22.79
KB
-rwxr-xr-x
2024-04-08 16:19
sg_reassign
18.66
KB
-rwxr-xr-x
2024-04-08 16:19
sg_referrals
14.66
KB
-rwxr-xr-x
2024-04-08 16:19
sg_rep_pip
14.57
KB
-rwxr-xr-x
2024-04-08 16:19
sg_rep_zones
26.8
KB
-rwxr-xr-x
2024-04-08 16:19
sg_requests
22.76
KB
-rwxr-xr-x
2024-04-08 16:19
sg_reset
14.66
KB
-rwxr-xr-x
2024-04-08 16:19
sg_reset_wp
14.6
KB
-rwxr-xr-x
2024-04-08 16:19
sg_rmsn
14.51
KB
-rwxr-xr-x
2024-04-08 16:19
sg_rtpg
14.6
KB
-rwxr-xr-x
2024-04-08 16:19
sg_safte
22.7
KB
-rwxr-xr-x
2024-04-08 16:19
sg_sanitize
27.01
KB
-rwxr-xr-x
2024-04-08 16:19
sg_sat_identify
18.73
KB
-rwxr-xr-x
2024-04-08 16:19
sg_sat_phy_event
19.01
KB
-rwxr-xr-x
2024-04-08 16:19
sg_sat_read_gplog
18.73
KB
-rwxr-xr-x
2024-04-08 16:19
sg_sat_set_features
18.7
KB
-rwxr-xr-x
2024-04-08 16:19
sg_scan
18.38
KB
-rwxr-xr-x
2024-04-08 16:19
sg_seek
18.88
KB
-rwxr-xr-x
2024-04-08 16:19
sg_senddiag
27.2
KB
-rwxr-xr-x
2024-04-08 16:19
sg_ses
119.97
KB
-rwxr-xr-x
2024-04-08 16:19
sg_ses_microcode
27.36
KB
-rwxr-xr-x
2024-04-08 16:19
sg_start
18.85
KB
-rwxr-xr-x
2024-04-08 16:19
sg_stpg
22.73
KB
-rwxr-xr-x
2024-04-08 16:19
sg_stream_ctl
18.7
KB
-rwxr-xr-x
2024-04-08 16:19
sg_sync
14.66
KB
-rwxr-xr-x
2024-04-08 16:19
sg_test_rwbuf
18.6
KB
-rwxr-xr-x
2024-04-08 16:19
sg_timestamp
22.83
KB
-rwxr-xr-x
2024-04-08 16:19
sg_turs
26.7
KB
-rwxr-xr-x
2024-04-08 16:19
sg_unmap
22.76
KB
-rwxr-xr-x
2024-04-08 16:19
sg_verify
22.91
KB
-rwxr-xr-x
2024-04-08 16:19
sg_vpd
118.42
KB
-rwxr-xr-x
2024-04-08 16:19
sg_wr_mode
22.73
KB
-rwxr-xr-x
2024-04-08 16:19
sg_write_buffer
27.23
KB
-rwxr-xr-x
2024-04-08 16:19
sg_write_long
14.76
KB
-rwxr-xr-x
2024-04-08 16:19
sg_write_same
26.95
KB
-rwxr-xr-x
2024-04-08 16:19
sg_write_verify
26.79
KB
-rwxr-xr-x
2024-04-08 16:19
sg_write_x
55.6
KB
-rwxr-xr-x
2024-04-08 16:19
sg_xcopy
42.32
KB
-rwxr-xr-x
2024-04-08 16:19
sg_zone
14.86
KB
-rwxr-xr-x
2024-04-08 16:19
sginfo
76.01
KB
-rwxr-xr-x
2024-04-08 16:19
sgm_dd
34.31
KB
-rwxr-xr-x
2024-04-08 16:19
sgp_dd
46.31
KB
-rwxr-xr-x
2024-04-08 16:19
sh
126.74
KB
-rwxr-xr-x
2024-03-31 08:47
sha1sum
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
sha224sum
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
sha256sum
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
sha384sum
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
sha512sum
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
shasum
9.75
KB
-rwxr-xr-x
2026-06-12 13:42
showconsolefont
18.37
KB
-rwxr-xr-x
2024-03-31 09:02
showkey
18.37
KB
-rwxr-xr-x
2024-03-31 09:02
shred
54.51
KB
-rwxr-xr-x
2025-06-22 16:21
shuf
46.51
KB
-rwxr-xr-x
2025-06-22 16:21
skill
26.41
KB
-rwxr-xr-x
2024-09-26 08:44
slabtop
22.44
KB
-rwxr-xr-x
2024-09-26 08:44
sleep
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
slogin
827.04
KB
-rwxr-xr-x
2026-07-09 18:16
snap
21.64
MB
-rwxr-xr-x
2026-07-13 14:38
snapctl
7.58
MB
-rwxr-xr-x
2026-07-13 14:38
snapfuse
38.23
KB
-rwxr-xr-x
2026-07-13 14:38
snice
26.41
KB
-rwxr-xr-x
2024-09-26 08:44
soelim
34.48
KB
-rwxr-xr-x
2024-03-31 08:54
sort
102.8
KB
-rwxr-xr-x
2025-06-22 16:21
sos
612
B
-rwxr-xr-x
2025-07-24 15:18
sos-collector
1.04
KB
-rwxr-xr-x
2025-07-23 23:15
sosreport
1.03
KB
-rwxr-xr-x
2025-07-23 23:15
sotruss
4.21
KB
-rwxr-xr-x
2026-01-30 08:27
splain
18.99
KB
-rwxr-xr-x
2026-06-12 13:42
split
54.94
KB
-rwxr-xr-x
2025-06-22 16:21
splitfont
14.3
KB
-rwxr-xr-x
2024-03-31 09:02
sprof
34.44
KB
-rwxr-xr-x
2026-01-30 08:27
sqfscat
147.9
KB
-rwxr-xr-x
2024-04-08 16:20
sqfstar
286.95
KB
-rwxr-xr-x
2024-04-08 16:20
ss
129.07
KB
-rwxr-xr-x
2025-07-10 14:46
ssh
827.04
KB
-rwxr-xr-x
2026-07-09 18:16
ssh-add
294.42
KB
-rwxr-xr-x
2026-07-09 18:16
ssh-agent
302.43
KB
-rwxr-sr-x
2026-07-09 18:16
ssh-argv0
1.42
KB
-rwxr-xr-x
2026-05-21 15:37
ssh-copy-id
12.77
KB
-rwxr-xr-x
2023-12-18 14:59
ssh-import-id
985
B
-rwxr-xr-x
2024-10-30 09:19
ssh-import-id-gh
785
B
-rwxr-xr-x
2020-12-07 19:19
ssh-import-id-lp
785
B
-rwxr-xr-x
2020-12-07 19:19
ssh-keygen
442.44
KB
-rwxr-xr-x
2026-07-09 18:16
ssh-keyscan
330.44
KB
-rwxr-xr-x
2026-07-09 18:16
stat
86.52
KB
-rwxr-xr-x
2025-06-22 16:21
static-sh
2.03
MB
-rwxr-xr-x
2025-08-05 17:14
stdbuf
50.51
KB
-rwxr-xr-x
2025-06-22 16:21
strace
1.99
MB
-rwxr-xr-x
2025-08-05 17:14
strace-log-merge
1.78
KB
-rwxr-xr-x
2025-08-05 17:14
streamzip
7.87
KB
-rwxr-xr-x
2026-06-12 13:42
stty
78.52
KB
-rwxr-xr-x
2025-06-22 16:21
su
54.38
KB
-rwsr-xr-x
2026-03-06 16:00
sudo
271.42
KB
-rwsr-xr-x
2026-03-02 12:56
sudoedit
271.42
KB
-rwsr-xr-x
2026-03-02 12:56
sudoreplay
95.95
KB
-rwxr-xr-x
2026-03-02 12:56
sum
34.41
KB
-rwxr-xr-x
2025-06-22 16:21
sync
34.41
KB
-rwxr-xr-x
2025-06-22 16:21
systemctl
1.43
MB
-rwxr-xr-x
2026-06-05 15:36
systemd
98.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-ac-power
14.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-analyze
198.85
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-ask-password
18.58
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cat
18.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cgls
22.57
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cgtop
38.47
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-confext
54.64
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-creds
42.72
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cryptenroll
70.92
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cryptsetup
78.95
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-delta
26.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-detect-virt
18.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-escape
22.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-firstboot
58.82
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-hwdb
154.74
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-id128
22.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-inhibit
22.47
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-machine-id-setup
18.63
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-mount
50.78
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-notify
26.66
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-path
18.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-repart
195.23
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-run
66.79
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-socket-activate
30.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-stdio-bridge
22.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-sysext
54.64
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-sysusers
66.63
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-tmpfiles
114.7
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-tty-ask-password-agent
34.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-umount
50.78
KB
-rwxr-xr-x
2026-06-05 15:36
tabs
18.3
KB
-rwxr-xr-x
2026-06-30 21:25
tac
38.41
KB
-rwxr-xr-x
2025-06-22 16:21
tail
62.53
KB
-rwxr-xr-x
2025-06-22 16:21
tapestat
26.44
KB
-rwxr-xr-x
2025-08-05 17:14
tar
429.95
KB
-rwxr-xr-x
2026-07-20 14:38
taskset
30.38
KB
-rwxr-xr-x
2026-03-06 16:00
tbl
134.48
KB
-rwxr-xr-x
2024-03-31 08:54
tclsh
14.15
KB
-rwxr-xr-x
2025-08-05 17:14
tclsh8.6
14.15
KB
-rwxr-xr-x
2025-08-05 17:14
tcpdump
1.21
MB
-rwxr-xr-x
2025-09-10 15:28
tee
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
telnet
177.85
KB
-rwxr-xr-x
2026-06-04 13:25
tempfile
14.3
KB
-rwxr-xr-x
2024-03-31 08:47
test
46.44
KB
-rwxr-xr-x
2025-06-22 16:21
tic
90.41
KB
-rwxr-xr-x
2026-06-30 21:25
time
26.52
KB
-rwxr-xr-x
2025-08-05 17:14
timedatectl
46.45
KB
-rwxr-xr-x
2026-06-05 15:36
timeout
38.95
KB
-rwxr-xr-x
2025-06-22 16:21
tkconch3
227
B
-rwxr-xr-x
2026-05-22 14:58
tload
22.39
KB
-rwxr-xr-x
2024-09-26 08:44
tmux
1.05
MB
-rwxr-xr-x
2025-08-05 17:14
tnftp
182.9
KB
-rwxr-xr-x
2025-08-05 17:14
toe
22.3
KB
-rwxr-xr-x
2026-06-30 21:25
top
131.7
KB
-rwxr-xr-x
2024-09-26 08:44
touch
94.51
KB
-rwxr-xr-x
2025-06-22 16:21
tput
26.34
KB
-rwxr-xr-x
2026-06-30 21:25
tr
46.51
KB
-rwxr-xr-x
2025-06-22 16:21
trace-cmd
435.41
KB
-rwxr-xr-x
2025-08-05 17:14
tracepath
18.15
KB
-rwxr-xr-x
2025-08-05 17:14
trial3
219
B
-rwxr-xr-x
2026-05-22 14:58
troff
726.62
KB
-rwxr-xr-x
2024-03-31 08:54
true
26.3
KB
-rwxr-xr-x
2025-06-22 16:21
truncate
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
tset
26.31
KB
-rwxr-xr-x
2026-06-30 21:25
tsort
46.51
KB
-rwxr-xr-x
2025-06-22 16:21
tty
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
turbostat
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
twist3
239
B
-rwxr-xr-x
2026-05-22 14:58
twistd3
220
B
-rwxr-xr-x
2026-05-22 14:58
tzselect
15.02
KB
-rwxr-xr-x
2026-01-30 08:27
ua
1003
B
-rwxr-xr-x
2026-07-06 13:28
ubuntu-advantage
1003
B
-rwxr-xr-x
2026-07-06 13:28
ubuntu-bug
2.27
KB
-rwxr-xr-x
2024-04-18 12:31
ubuntu-distro-info
26.89
KB
-rwxr-xr-x
2025-08-05 17:14
ubuntu-drivers
18.97
KB
-rwxr-xr-x
2025-10-03 21:26
ubuntu-security-status
22.25
KB
-rwxr-xr-x
2025-08-05 17:14
ucf
40.68
KB
-rwxr-xr-x
2023-01-27 13:29
ucfq
18.91
KB
-rwxr-xr-x
2023-01-27 13:29
ucfr
10.85
KB
-rwxr-xr-x
2023-01-27 13:29
uclampset
30.38
KB
-rwxr-xr-x
2026-03-06 16:00
udevadm
1.38
MB
-rwxr-xr-x
2026-06-05 15:36
udisksctl
62.38
KB
-rwxr-xr-x
2025-08-21 14:16
ul
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
umount
38.38
KB
-rwsr-xr-x
2026-03-06 16:00
uname
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
unattended-upgrade
97.21
KB
-rwxr-xr-x
2024-02-12 17:50
unattended-upgrades
97.21
KB
-rwxr-xr-x
2024-02-12 17:50
uncompress
2.29
KB
-rwxr-xr-x
2026-07-03 11:53
unexpand
38.53
KB
-rwxr-xr-x
2025-06-22 16:21
unicode_start
2.71
KB
-rwxr-xr-x
2024-03-31 09:02
unicode_stop
528
B
-rwxr-xr-x
2024-03-31 09:02
uniq
38.51
KB
-rwxr-xr-x
2025-06-22 16:21
unlink
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
unlzma
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
unminimize
5.59
KB
-rwxr-xr-x
2024-07-10 19:49
unmkinitramfs
3.7
KB
-rwxr-xr-x
2025-02-07 10:26
unshare
42.6
KB
-rwxr-xr-x
2026-03-06 16:00
unsquashfs
147.9
KB
-rwxr-xr-x
2024-04-08 16:20
unxz
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
unzip
174.42
KB
-rwxr-xr-x
2024-10-02 13:29
unzipsfx
74.42
KB
-rwxr-xr-x
2024-10-02 13:29
unzstd
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
update-alternatives
58.38
KB
-rwxr-xr-x
2026-05-06 17:38
update-mime-database
74.33
KB
-rwxr-xr-x
2024-04-01 11:58
updatedb
106.48
KB
-rwxr-xr-x
2024-04-18 17:53
upower
14.3
KB
-rwxr-xr-x
2024-04-08 07:42
uptime
14.38
KB
-rwxr-xr-x
2024-09-26 08:44
usb-devices
4.83
KB
-rwxr-xr-x
2024-04-08 16:21
usbhid-dump
30.38
KB
-rwxr-xr-x
2024-04-08 16:21
usbip
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
usbipd
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
usbreset
14.3
KB
-rwxr-xr-x
2024-04-08 16:21
users
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
utmpdump
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
uuidgen
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
uuidparse
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
varlinkctl
30.45
KB
-rwxr-xr-x
2026-06-05 15:36
vcs-run
6.75
KB
-rwxr-xr-x
2022-06-03 10:51
vdir
138.98
KB
-rwxr-xr-x
2025-06-22 16:21
vi
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
view
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
vigpg
2.58
KB
-rwxr-xr-x
2025-08-05 17:14
vim
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
vim.basic
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
vim.tiny
1.66
MB
-rwxr-xr-x
2026-07-13 17:17
vimdiff
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
vimtutor
2.1
KB
-rwxr-xr-x
2026-07-13 17:17
vm-support
9.83
KB
-rwxr-xr-x
2025-09-23 16:03
vmhgfs-fuse
46.73
KB
-rwxr-xr-x
2025-09-23 16:03
vmstat
38.78
KB
-rwxr-xr-x
2024-09-26 08:44
vmtoolsd
74.56
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-alias-import
42.52
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-checkvm
14.38
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-hgfsclient
14.38
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-namespace-cmd
22.3
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-rpctool
18.3
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-toolbox-cmd
54.59
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-vgauth-cmd
18.3
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-vmblock-fuse
22.78
KB
-rwxr-xr-x
2025-09-23 16:03
vmware-xferlogs
32.33
KB
-rwxr-xr-x
2025-09-23 16:03
w
26.38
KB
-rwxr-xr-x
2024-09-26 08:44
wall
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
watch
30.84
KB
-rwxr-xr-x
2024-09-26 08:44
watchgnupg
22.3
KB
-rwxr-xr-x
2026-01-05 22:01
wc
54.52
KB
-rwxr-xr-x
2025-06-22 16:21
wdctl
34.4
KB
-rwxr-xr-x
2026-03-06 16:00
wget
459.02
KB
-rwxr-xr-x
2026-07-16 16:38
whatis
47.28
KB
-rwxr-xr-x
2025-08-05 17:14
whereis
30.84
KB
-rwxr-xr-x
2026-03-06 16:00
which
1.05
KB
-rwxr-xr-x
2024-03-31 08:47
which.debianutils
1.05
KB
-rwxr-xr-x
2024-03-31 08:47
whiptail
30.16
KB
-rwxr-xr-x
2025-08-05 17:14
who
58.52
KB
-rwxr-xr-x
2025-06-22 16:21
whoami
34.51
KB
-rwxr-xr-x
2025-06-22 16:21
wifi-status
2.06
KB
-rwxr-xr-x
2025-08-05 17:14
write
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
www-browser
1.91
MB
-rwxr-xr-x
2024-04-01 06:53
x86_64
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
x86_energy_perf_policy
1.58
KB
-rwxr-xr-x
2026-07-01 19:48
xargs
62.41
KB
-rwxr-xr-x
2024-04-08 15:57
xauth
54.96
KB
-rwxr-xr-x
2024-04-08 16:22
xdg-user-dir
234
B
-rwxr-xr-x
2024-04-08 16:22
xdg-user-dirs-update
26.23
KB
-rwxr-xr-x
2024-04-08 16:22
xsubpp
5.05
KB
-rwxr-xr-x
2026-06-12 13:42
xxd
22.28
KB
-rwxr-xr-x
2026-07-13 17:17
xz
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
xzcat
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
xzcmp
7.25
KB
-rwxr-xr-x
2026-05-28 16:06
xzdiff
7.25
KB
-rwxr-xr-x
2026-05-28 16:06
xzegrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
xzfgrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
xzgrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
xzless
1.77
KB
-rwxr-xr-x
2026-05-28 16:06
xzmore
2.14
KB
-rwxr-xr-x
2026-05-28 16:06
yes
34.38
KB
-rwxr-xr-x
2025-06-22 16:21
ypdomainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
zcat
1.94
KB
-rwxr-xr-x
2026-07-03 11:53
zcmp
1.64
KB
-rwxr-xr-x
2026-07-03 11:53
zdiff
6.3
KB
-rwxr-xr-x
2026-07-03 11:53
zdump
30.28
KB
-rwxr-xr-x
2026-01-30 08:27
zegrep
29
B
-rwxr-xr-x
2026-07-03 11:53
zfgrep
29
B
-rwxr-xr-x
2026-07-03 11:53
zforce
2.03
KB
-rwxr-xr-x
2026-07-03 11:53
zgrep
7.91
KB
-rwxr-xr-x
2026-07-03 11:53
zipdetails
68.55
KB
-rwxr-xr-x
2026-06-12 13:42
zipgrep
2.89
KB
-rwxr-xr-x
2024-10-02 13:29
zipinfo
174.42
KB
-rwxr-xr-x
2024-10-02 13:29
zless
2.15
KB
-rwxr-xr-x
2026-07-03 11:53
zmore
1.8
KB
-rwxr-xr-x
2026-07-03 11:53
znew
4.47
KB
-rwxr-xr-x
2026-07-03 11:53
zstd
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
zstdcat
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
zstdgrep
3.78
KB
-rwxr-xr-x
2024-08-09 02:33
zstdless
197
B
-rwxr-xr-x
2024-08-09 02:33
zstdmt
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
Save
Rename
#!/bin/sh # Copyright (C) 2011 Canonical Ltd. # Copyright (C) 2013 Hewlett-Packard Development Company, L.P. # # Authors: Scott Moser <smoser@canonical.com> # Juerg Haefliger <juerg.haefliger@hp.com> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # the fudge factor. if within this many bytes dont bother FUDGE=${GROWPART_FUDGE:-$((1024*1024))} TEMP_D="" RESTORE_FUNC="" RESTORE_HUMAN="" VERBOSITY=0 DISK="" PART="" PT_UPDATE=false DRY_RUN=0 FLOCK_DISK_FD="" RESIZE_RESULT="" SFDISK_VERSION="" SFDISK_2_26="22600" SFDISK_V_WORKING_GPT="22603" MBR_BACKUP="" GPT_BACKUP="" _capture="" error() { echo "$@" 1>&2 } fail() { [ $# -eq 0 ] || echo "FAILED:" "$@" exit 2 } nochange() { RESIZE_RESULT="NOCHANGE" echo "NOCHANGE:" "$@" return 1 } changed() { RESIZE_RESULT="CHANGED" echo "CHANGED:" "$@" return 0 } change() { RESIZE_RESULT="CHANGE" echo "CHANGE:" "$@" return 0 } cleanup() { if [ -n "${RESTORE_FUNC}" ]; then error "***** WARNING: Resize failed, attempting to revert ******" if ${RESTORE_FUNC} ; then error "***** Restore appears to have gone OK ****" else error "***** Restore FAILED! ******" if [ -n "${RESTORE_HUMAN}" -a -f "${RESTORE_HUMAN}" ]; then error "**** original table looked like: ****" cat "${RESTORE_HUMAN}" 1>&2 else error "We seem to have not saved the partition table!" fi fi unlock_disk_and_settle $DISK fi [ -z "${TEMP_D}" -o ! -d "${TEMP_D}" ] || rm -Rf "${TEMP_D}" } debug() { local level=${1} shift [ "${level}" -gt "${VERBOSITY}" ] && return if [ "${DEBUG_LOG}" ]; then echo "$@" >>"${DEBUG_LOG}" else error "$@" fi } debugcat() { local level="$1" shift; [ "${level}" -gt "$VERBOSITY" ] && return if [ "${DEBUG_LOG}" ]; then cat "$@" >>"${DEBUG_LOG}" else cat "$@" 1>&2 fi } mktemp_d() { # just a mktemp -d that doens't need mktemp if its not there. _RET=$(mktemp -d "${TMPDIR:-/tmp}/${0##*/}.XXXXXX" 2>/dev/null) && return _RET=$(umask 077 && t="${TMPDIR:-/tmp}/${0##*/}.$$" && mkdir "${t}" && echo "${t}") return } Usage() { cat <<EOF ${0##*/} disk partition rewrite partition table so that partition takes up all the space it can options: -h | --help print Usage and exit --free-percent F resize so that specified percentage F of the disk is not used in total (not just by this partition). This is useful for consumer SSD or SD cards where a small percentage unallocated can improve device lifetime. --fudge F if part could be resized, but change would be less than 'F' bytes, do not resize (default: ${FUDGE}) -N | --dry-run only report what would be done, show new 'sfdisk -d' -v | --verbose increase verbosity / debug -u | --update R update the the kernel partition table info after growing this requires kernel support and 'partx --update' R is one of: - 'auto' : [default] update partition if possible - 'force' : try despite sanity checks (fail on failure) - 'off' : do not attempt - 'on' : fail if sanity checks indicate no support Example: - ${0##*/} /dev/sda 1 Resize partition 1 on /dev/sda - ${0##*/} --free-percent=10 /dev/sda 1 Resize partition 1 on /dev/sda so that 10% of the disk is unallocated EOF } bad_Usage() { Usage 1>&2 error "$@" exit 2 } lock_disk() { local disk="$1" # flock the target disk to protect against udev actions while modifying. # https://systemd.io/BLOCK_DEVICE_LOCKING/ [ "${DRY_RUN}" = 0 ] || return # only lock block devices, files do not need a lock [ -b "${disk}" ] || return # The FD values are hard-coded per /bin/sh requirement for using exec # to open paths with specific fd values; man (1) sh on "Redirections" FLOCK_DISK_FD=9 debug 1 "FLOCK: try exec open fd 9, on failure exec exits this program" exec 9<>$disk # Do not use --nonblock or --timeout as udev may be already processing # the disk and we must wait until it has released the disk to # proceed. Failure to obtain exclusive lock is fatal to growpart. rq flock flock -x $FLOCK_DISK_FD || fail "Error while obtaining exclusive lock on $DISK" debug 1 "FLOCK: $disk: obtained exclusive lock" } unlock_disk_and_settle() { # unlock_disk(disk, settle) local disk="$1" local settle=${2-"1"} # release the lock on a disk if locked. When a disk is locked, # FLOCK_DISK_FD is set to the hard-coded value of 9. # After unlocking run udevadm settle (if installed) as the disk has # likely been changed. [ "${DRY_RUN}" = 0 ] || return [ -n "${FLOCK_DISK_FD}" ] || return debug 1 "FLOCK: ${disk}: releasing exclusive lock" exec 9>&- [ "${settle}" = 1 ] && has_cmd udevadm && udevadm settle FLOCK_DISK_FD="" } sfdisk_restore_legacy() { sfdisk --no-reread "${DISK}" -I "${MBR_BACKUP}" } sfdisk_restore() { # files are named: sfdisk-<device>-<offset>.bak local f="" offset="" fails=0 for f in "${MBR_BACKUP}"*.bak; do [ -f "$f" ] || continue offset=${f##*-} offset=${offset%.bak} [ "$offset" = "$f" ] && { error "WARN: confused by file $f"; continue; } dd "if=$f" "of=${DISK}" seek=$(($offset)) bs=1 conv=notrunc || { error "WARN: failed restore from $f"; fails=$(($fails+1)); } done return $fails } sfdisk_worked_but_blkrrpart_failed() { local ret="$1" output="$2" # exit code found was just 1, but dont insist on that #[ $ret -eq 1 ] || return 1 # Successfully wrote the new partition table if grep -qi "Success.* wrote.* new.* partition" "$output"; then grep -qi "BLKRRPART: Device or resource busy" "$output" return # The partition table has been altered. elif grep -qi "The.* part.* table.* has.* been.* altered" "$output"; then # Re-reading the partition table failed grep -qi "Re-reading.* partition.* table.* failed" "$output" return fi return $ret } get_sfdisk_version() { # set SFDISK_VERSION to MAJOR*10000+MINOR*100+MICRO local out oifs="$IFS" ver="" [ -n "$SFDISK_VERSION" ] && return 0 [ -n "$SFDISK" ] || { SFDISK_VERSION=0 return 0 } # expected output: sfdisk from util-linux 2.25.2 out=$(LANG=C sfdisk --version) || { error "failed to get sfdisk version"; return 1; } set -- $out ver=$4 case "$ver" in [0-9]*.[0-9]*.[0-9]|[0-9].[0-9]*) IFS="."; set -- $ver; IFS="$oifs" SFDISK_VERSION=$(($1*10000+$2*100+${3:-0})) return 0;; *) error "unexpected output in sfdisk --version [$out]" return 1;; esac } get_diskpart_path() { # get_diskpart_path(disk, part_number) # return the path to the partition device on disk # # Convert inputs disk and part into a path to a partition device path # handle both block devices or files. # e.g. get_diskpart_path /dev/loop0 7 returns /dev/loop0p7 local disk="$1" local part="$2" local dpart="" dpart="${disk}${part}" # disk and partition number if [ -b "$disk" ]; then if [ -b "${disk}p${part}" -a "${disk%[0-9]}" != "${disk}" ]; then # for block devices that end in a number (/dev/nbd0) # the partition is "<name>p<partition_number>" (/dev/nbd0p1) dpart="${disk}p${part}" elif [ "${disk#/dev/loop[0-9]}" != "${disk}" ]; then # for /dev/loop devices, sfdisk output will be <name>p<number> # format also, even though there is not a device there. dpart="${disk}p${part}" fi else case "$disk" in # sfdisk for files ending in digit to <disk>p<num>. *[0-9]) dpart="${disk}p${part}";; esac fi _RET="$dpart" } resize_sfdisk() { local humanpt="${TEMP_D}/recovery" local mbr_backup="${TEMP_D}/orig.save" local restore_func="" local format="$1" local change_out=${TEMP_D}/change.out local dump_out=${TEMP_D}/dump.out local new_out=${TEMP_D}/new.out local dump_mod=${TEMP_D}/dump.mod local tmp="${TEMP_D}/tmp.out" local err="${TEMP_D}/err.out" local mbr_max_512="4294967296" local pt_start pt_size pt_end max_end new_size change_info dpart local sector_num sector_size disk_size tot out local excess_sectors free_percent_sectors remaining_free_sectors LANG=C rqe sfd_list sfdisk --list --unit=S "$DISK" >"$tmp" || fail "failed: sfdisk --list $DISK" if [ "${SFDISK_VERSION}" -lt ${SFDISK_2_26} ]; then # exected output contains: Units: sectors of 512 bytes, ... out=$(awk '$1 == "Units:" && $5 ~ /bytes/ { print $4 }' "$tmp") || fail "failed to read sfdisk output" if [ -z "$out" ]; then error "WARN: sector size not found in sfdisk output, assuming 512" sector_size=512 else sector_size="$out" fi local _w _cyl _w1 _heads _w2 sectors _w3 t s # show-size is in units of 1024 bytes (same as /proc/partitions) t=$(sfdisk --show-size "${DISK}") || fail "failed: sfdisk --show-size $DISK" disk_size=$((t*1024)) sector_num=$(($disk_size/$sector_size)) msg="disk size '$disk_size' not evenly div by sector size '$sector_size'" [ "$((${disk_size}%${sector_size}))" -eq 0 ] || error "WARN: $msg" restore_func=sfdisk_restore_legacy else # --list first line output: # Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors local _x read _x _x _x _x disk_size _x sector_num _x < "$tmp" sector_size=$((disk_size/$sector_num)) restore_func=sfdisk_restore fi debug 1 "$sector_num sectors of $sector_size. total size=${disk_size} bytes" rqe sfd_dump sfdisk --unit=S --dump "${DISK}" >"${dump_out}" || fail "failed to dump sfdisk info for ${DISK}" RESTORE_HUMAN="$dump_out" { echo "## sfdisk --unit=S --dump ${DISK}" cat "${dump_out}" } >"$humanpt" [ $? -eq 0 ] || fail "failed to save sfdisk -d output" RESTORE_HUMAN="$humanpt" debugcat 1 "$humanpt" sed -e 's/,//g; s/start=/start /; s/size=/size /' "${dump_out}" \ >"${dump_mod}" || fail "sed failed on dump output" get_diskpart_path $DISK $PART dpart="$_RET" pt_start=$(awk '$1 == pt { print $4 }' "pt=${dpart}" <"${dump_mod}") && pt_size=$(awk '$1 == pt { print $6 }' "pt=${dpart}" <"${dump_mod}") && [ -n "${pt_start}" -a -n "${pt_size}" ] && pt_end=$((${pt_size} + ${pt_start} - 1)) || fail "failed to get start and end for ${dpart} in ${DISK}" # find the minimal starting location that is >= pt_end max_end=$(awk '$3 == "start" { if($4 >= pt_end && $4 < min) { min = $4 } } END { printf("%s\n",min); }' \ min=${sector_num} pt_end=${pt_end} "${dump_mod}") && [ -n "${max_end}" ] || fail "failed to get max_end for partition ${PART}" # As sector numbering starts from 0 need to reduce value by 1. max_end=$((max_end - 1)) if [ "$format" = "gpt" ]; then # sfdisk respects 'last-lba' in input, and complains about # partitions that go past that. without it, it does the right thing. sed -i '/^last-lba:/d' "$dump_out" || fail "failed to remove last-lba from output" fi if [ "$format" = "dos" ]; then mbr_max_sectors=$((mbr_max_512*$((sector_size/512)))) if [ "$max_end" -gt "$mbr_max_sectors" ]; then max_end=$mbr_max_sectors fi [ $(($disk_size/512)) -gt $mbr_max_512 ] && debug 0 "WARNING: MBR/dos partitioned disk is larger than 2TB." \ "Additional space will go unused." fi local gpt_second_size="33" if [ "${max_end}" -gt "$((${sector_num}-${gpt_second_size}))" ]; then # if MBR, allow subsequent conversion to GPT without shrinking # the partition and safety net at cost of 33 sectors seems # reasonable. If GPT, we can't write there anyway. debug 1 "padding ${gpt_second_size} sectors for gpt secondary header" max_end=$((${sector_num} - ${gpt_second_size} - 1)) fi if [ -n "${free_percent}" ]; then free_percent_sectors=$((sector_num/100*free_percent)) if [ "$format" = "dos" ]; then if [ $(($disk_size/512)) -ge $((mbr_max_512+free_percent_sectors)) ]; then # If MBR partitioned disk larger than 2TB and # remaining space over 2TB boundary is greater # than the requested overprovisioning sectors # then do not change max_end. debug 1 "WARNING: Additional unused space on MBR/dos partitioned disk" \ "is larger than requested percent of overprovisioning." elif [ $sector_num -gt $mbr_max_512 ]; then # If only some of the overprovisioning sectors # are over the 2TB boundary then reduce max_end # by the remaining number of overprovisioning # sectors. excess_sectors=$((sector_num-mbr_max_512)) remaining_free_sectors=$((free_percent_sectors - excess_sectors)) debug 1 "reserving ${remaining_free_sectors} sectors from MBR maximum for overprovisioning" max_end=$((max_end - remaining_free_sectors)) else # Shrink max_end to keep X% of whole disk unused # (for overprovisioning). debug 1 "reserving ${free_percent_sectors} sectors (${free_percent}%) for overprovisioning" max_end=$((max_end-free_percent_sectors)) fi if [ ${max_end} -lt ${pt_end} ]; then nochange "partition ${PART} could not be grown while leaving" \ "${free_percent}% (${free_percent_sectors} sectors) free on device" return fi else # Shrink max_end to keep X% of whole disk unused # (for overprovisioning). debug 1 "reserving ${free_percent_sectors} sectors (${free_percent}%) for overprovisioning" max_end=$((max_end-free_percent_sectors)) if [ ${max_end} -lt ${pt_end} ]; then nochange "partition ${PART} could not be grown while leaving" \ "${free_percent}% (${free_percent_sectors} sectors) free on device" return fi fi fi debug 1 "max_end=${max_end} tot=${sector_num} pt_end=${pt_end}" \ "pt_start=${pt_start} pt_size=${pt_size}" [ $((${pt_end})) -eq ${max_end} ] && { nochange "partition ${PART} is size ${pt_size}. it cannot be grown" return } [ $((${pt_end}+(${FUDGE}/$sector_size))) -gt ${max_end} ] && { nochange "partition ${PART} could only be grown by" \ "$((${max_end}-${pt_end})) [fudge=$((${FUDGE}/$sector_size))]" return } # Now, change the size for this partition in ${dump_out} to be the # new size. new_size=$((${max_end} - ${pt_start} + 1)) sed "\|^\s*${dpart} |s/\(.*\)${pt_size},/\1${new_size},/" "${dump_out}" \ >"${new_out}" || fail "failed to change size in output" change_info="partition=${PART} start=${pt_start}" change_info="${change_info} old: size=${pt_size} end=${pt_end}" change_info="${change_info} new: size=${new_size} end=${max_end}" if [ ${DRY_RUN} -ne 0 ]; then echo "CHANGE: ${change_info}" { echo "# === old sfdisk -d ===" cat "${dump_out}" echo "# === new sfdisk -d ===" cat "${new_out}" } 1>&2 exit 0 fi MBR_BACKUP="${mbr_backup}" LANG=C sfdisk --no-reread "${DISK}" --force \ -O "${mbr_backup}" <"${new_out}" >"${change_out}" 2>&1 ret=$? [ $ret -eq 0 ] || RESTORE_FUNC="${restore_func}" if [ $ret -eq 0 ]; then debug 1 "resize of ${DISK} returned 0." if [ $VERBOSITY -gt 2 ]; then sed 's,^,| ,' "${change_out}" 1>&2 fi elif $PT_UPDATE && sfdisk_worked_but_blkrrpart_failed "$ret" "${change_out}"; then # if the command failed, but it looks like only because # the device was busy and we have pt_update, then go on debug 1 "sfdisk failed, but likely only because of blkrrpart" else error "attempt to resize ${DISK} failed. sfdisk output below:" sed 's,^,| ,' "${change_out}" 1>&2 fail "failed to resize" fi rq pt_update pt_update "$DISK" "$PART" || fail "pt_resize failed" RESTORE_FUNC="" changed "${change_info}" return # dump_out looks something like: ## partition table of /tmp/out.img #unit: sectors # #/tmp/out.img1 : start= 1, size= 48194, Id=83 #/tmp/out.img2 : start= 48195, size= 963900, Id=83 #/tmp/out.img3 : start= 1012095, size= 305235, Id=82 #/tmp/out.img4 : start= 1317330, size= 771120, Id= 5 #/tmp/out.img5 : start= 1317331, size= 642599, Id=83 #/tmp/out.img6 : start= 1959931, size= 48194, Id=83 #/tmp/out.img7 : start= 2008126, size= 80324, Id=83 } gpt_restore() { sgdisk -l "${GPT_BACKUP}" "${DISK}" } resize_sgdisk() { GPT_BACKUP="${TEMP_D}/pt.backup" local pt_info="${TEMP_D}/pt.info" local pt_pretend="${TEMP_D}/pt.pretend" local pt_data="${TEMP_D}/pt.data" local out="${TEMP_D}/out" local dev="disk=${DISK} partition=${PART}" local pt_start pt_end pt_size last pt_max code guid name new_size local old new change_info sector_size # Dump the original partition information and details to disk. This is # used in case something goes wrong and human interaction is required # to revert any changes. rqe sgd_info sgdisk "--info=${PART}" --print "${DISK}" >"${pt_info}" || fail "${dev}: failed to dump original sgdisk info" RESTORE_HUMAN="${pt_info}" # support reading old format (<1.0.2) # Logical sector size: <VAL> bytes # and newer format >= 1.0.2 # Sector size (logical): <VAL> bytes # Sector size (logical/physical): <VAL>/<PVAL> bytes sector_size=$(awk ' $0 ~ /^Logical sector size:.*bytes/ { print $4; exit(0); } $0 ~ /^Sector size \(logical\):/ { print $4; exit(0); } $0 ~ /^Sector size \(logical\/physical\):/ { sub(/\/.*/, "", $4); print $4; exit(0); }' \ "$pt_info") && [ -n "$sector_size" ] || { sector_size=512 error "WARN: did not find sector size, assuming 512" } debug 1 "$dev: original sgdisk info:" debugcat 1 "${pt_info}" # Pretend to move the backup GPT header to the end of the disk and dump # the resulting partition information. We use this info to determine if # we have to resize the partition. rqe sgd_pretend sgdisk --pretend --move-second-header \ --print "${DISK}" >"${pt_pretend}" || fail "${dev}: failed to dump pretend sgdisk info" debug 1 "$dev: pretend sgdisk info" debugcat 1 "${pt_pretend}" # Extract the partition data from the pretend dump awk 'found { print } ; $1 == "Number" { found = 1 }' \ "${pt_pretend}" >"${pt_data}" || fail "${dev}: failed to parse pretend sgdisk info" # Get the start and end sectors of the partition to be grown pt_start=$(awk '$1 == '"${PART}"' { print $2 }' "${pt_data}") && [ -n "${pt_start}" ] || fail "${dev}: failed to get start sector" pt_end=$(awk '$1 == '"${PART}"' { print $3 }' "${pt_data}") && [ -n "${pt_end}" ] || fail "${dev}: failed to get end sector" # Start and end are inclusive, start 2048 end 2057 is length 10. pt_size="$((${pt_end} - ${pt_start} + 1))" # Get the last usable sector last=$(awk '/last usable sector is/ { print $NF }' \ "${pt_pretend}") && [ -n "${last}" ] || fail "${dev}: failed to get last usable sector" # Find the maximal end sector that is >= pt_end pt_max=$(awk '{ if ($2 >= pt_end && $2 < min) { min = $2 } } END \ { print min-1 }' min="${last}" pt_end="${pt_end}" \ "${pt_data}") && [ -n "${pt_max}" ] || fail "${dev}: failed to find max end sector" debug 1 "${dev}: pt_start=${pt_start} pt_end=${pt_end}" \ "pt_size=${pt_size} pt_max=${pt_max} last=${last}" # Check if the partition can be grown [ "${pt_end}" -eq "${pt_max}" ] && { nochange "${dev}: size=${pt_size}, it cannot be grown" return } [ "$((${pt_end} + ${FUDGE}/${sector_size}))" -gt "${pt_max}" ] && { nochange "${dev}: could only be grown by" \ "$((${pt_max} - ${pt_end})) [fudge=$((${FUDGE}/$sector_size))]" return } # The partition can be grown if we made it here. Get some more info # about it so we can do it properly. # FIXME: Do we care about the attribute flags? code=$(awk '/^Partition GUID code:/ { print $4 }' "${pt_info}") guid=$(awk '/^Partition unique GUID:/ { print $4 }' "${pt_info}") name=$(awk '/^Partition name:/ { gsub(/'"'"'/, "") ; \ if (NF >= 3) print substr($0, index($0, $3)) }' "${pt_info}") [ -n "${code}" -a -n "${guid}" ] || fail "${dev}: failed to parse sgdisk details" debug 1 "${dev}: code=${code} guid=${guid} name='${name}'" local wouldrun="" [ "$DRY_RUN" -ne 0 ] && wouldrun="would-run" # Calculate the new size of the partition new_size=$((${pt_max} - ${pt_start} + 1)) change_info="partition=${PART} start=${pt_start}" change_info="${change_info} old: size=${pt_size} end=${pt_end}" change_info="${change_info} new: size=${new_size} end=${pt_max}" # Backup the current partition table, we're about to modify it rq sgd_backup $wouldrun sgdisk "--backup=${GPT_BACKUP}" "${DISK}" || fail "${dev}: failed to backup the partition table" # Modify the partition table. We do it all in one go (the order is # important!): # - move the GPT backup header to the end of the disk # - delete the partition # - recreate the partition with the new size # - set the partition code # - set the partition GUID # - set the partition name rq sgdisk_mod $wouldrun sgdisk --move-second-header "--delete=${PART}" \ "--new=${PART}:${pt_start}:$((pt_max-1))" \ "--typecode=${PART}:${code}" \ "--partition-guid=${PART}:${guid}" \ "--change-name=${PART}:${name}" "${DISK}" && rq pt_update $wouldrun pt_update "$DISK" "$PART" || { RESTORE_FUNC=gpt_restore fail "${dev}: failed to repartition" } # Dry run [ "${DRY_RUN}" -ne 0 ] && { change "${change_info}" return } changed "${change_info}" return } kver_to_num() { local kver="$1" maj min mic # Canonicalize the kernel version kver=${kver%%[!0-9.]*}.0.0 maj=${kver%%[!0-9]*} kver=${kver#*.} min=${kver%%[!0-9]*} kver=${kver#*.} mic=${kver%%[!0-9]*} _RET=$((maj*1000*1000+min*1000+mic)) } kver_cmp() { local op="$2" n1="" n2="" kver_to_num "$1" n1="$_RET" kver_to_num "$3" n2="$_RET" test $n1 $op $n2 } rq() { # runquieterror(label, command) # gobble stderr of a command unless it errors local label="$1" ret="" efile="" efile="$TEMP_D/$label.err" shift; local rlabel="running" [ "$1" = "would-run" ] && rlabel="would-run" && shift local cmd="" x="" for x in "$@"; do [ "${x#* }" != "$x" -o "${x#* \"}" != "$x" ] && x="'$x'" cmd="$cmd $x" done cmd=${cmd# } debug 2 "${rlabel}[$label][$_capture]" "$cmd" [ "$rlabel" = "would-run" ] && return 0 if [ "${_capture}" = "erronly" ]; then "$@" 2>"$TEMP_D/$label.err" ret=$? else "$@" >"$TEMP_D/$label.err" 2>&1 ret=$? fi if [ $ret -ne 0 ]; then error "failed [$label:$ret]" "$@" cat "$efile" 1>&2 fi return $ret } rqe() { local _capture="erronly" rq "$@" } verify_ptupdate() { local input="$1" found="" reason="" kver="" # we can always satisfy 'off' if [ "$input" = "off" ]; then _RET="false"; return 0; fi if command -v partx >/dev/null 2>&1; then local out="" ret=0 out=$(partx --help 2>&1) ret=$? if [ $ret -eq 0 ]; then echo "$out" | grep -q -- --update || { reason="partx has no '--update' flag in usage." found="off" } else reason="'partx --help' returned $ret. assuming it is old." found="off" fi else reason="no 'partx' command" found="off" fi if [ -z "$found" ]; then if [ "$(uname)" != "Linux" ]; then reason="Kernel is not Linux per uname." found="off" fi fi if [ -z "$found" ]; then kver=$(uname -r) || debug 1 "uname -r failed!" if ! kver_cmp "${kver-0.0.0}" -ge 3.8.0; then reason="Kernel '$kver' < 3.8.0." found="off" fi fi if [ -z "$found" ]; then _RET="true" return 0 fi case "$input" in on) error "$reason"; return 1;; auto) _RET="false"; debug 1 "partition update disabled: $reason" return 0;; force) _RET="true" error "WARNING: ptupdate forced on even though: $reason" return 0;; esac error "unknown input '$input'"; return 1; } pt_update() { local dev="$1" part="$2" update="${3:-$PT_UPDATE}" if ! $update; then return 0 fi # partx only works on block devices (do not run on file) [ -b "$dev" ] || return 0 partx --update --nr "$part" "$dev" } has_cmd() { command -v "${1}" >/dev/null 2>&1 } resize_sgdisk_gpt() { resize_sgdisk gpt } resize_sgdisk_dos() { fail "unable to resize dos label with sgdisk" } resize_sfdisk_gpt() { resize_sfdisk gpt } resize_sfdisk_dos() { resize_sfdisk dos } get_table_format() { local out="" disk="$1" if has_cmd blkid && blkid --version | grep -q util-linux && out=$(blkid -o value -s PTTYPE "$disk") && [ "$out" = "dos" -o "$out" = "gpt" ]; then _RET="$out" return fi _RET="dos" if [ -z "$SFDISK" ]; then out=$(LANG=C sgdisk --print "$disk") || { error "Could not determine partition table format of $disk" \ "with 'sgdisk --print $disk'" return 1 } # looking for a message like: # Found invalid GPT and valid MBR; converting MBR to GPT format case "$out" in *\ valid\ MBR\ *) _RET="dos";; *) _RET="gpt";; esac return elif [ ${SFDISK_VERSION} -lt ${SFDISK_2_26} ] && out=$(sfdisk --id --force "$disk" 1 2>/dev/null); then if [ "$out" = "ee" ]; then _RET="gpt" else _RET="dos" fi return elif out=$(LANG=C sfdisk --list "$disk"); then out=$(echo "$out" | sed -e '/Disklabel type/!d' -e 's/.*: //') case "$out" in gpt|dos) _RET="$out";; *) error "WARN: unknown label $out";; esac fi } get_resizer() { local format="$1" user=${2:-"auto"} case "$user" in sgdisk) _RET="resize_sgdisk_$format"; return;; sfdisk) _RET="resize_sfdisk_$format"; return;; auto) :;; *) error "unexpected value '$user' for growpart resizer"; return 1;; esac if [ "$format" = "dos" ]; then [ -n "$SFDISK" ] || { error "sfdisk is required for resizing dos/MBR partition table." return 1 } _RET="resize_sfdisk_dos" return 0 fi if [ "${SFDISK_VERSION}" -ge ${SFDISK_V_WORKING_GPT} ]; then # sfdisk 2.26.2 works for resize but loses type (LP: #1474090) _RET="resize_sfdisk_gpt" elif has_cmd sgdisk; then _RET="resize_sgdisk_$format" else error "no tools available to resize disk with '$format'" return 1 fi return 0 } maybe_lvm_resize() { local disk="$1" part="$2" partpath="" ret="" out="" wouldrun="" [ "$DRY_RUN" -ne 0 ] && wouldrun="would-run" has_cmd lvm || { debug 2 "No lvm command, cannot attempt lvm resize of disk '$disk' part '$part'" return 0 } get_diskpart_path "$1" "$2" || { error "could not determine partition path for disk '$DISK' part '$part'" return 1 } partpath="$_RET" # can't use rq or rqe here because of "not an lvm" exit code 5. set -- lvm pvs --nolocking --readonly -o pvname "$partpath" debug 2 "executing: $*" out=$("$@" 2>&1) ret=$? case "$ret" in 5) debug 1 "$partpath is not an lvm pv"; return 0;; 0) :;; *) error "failed to execute [$ret] '$*'" error "$out" return 1;; esac rq lvm_resize $wouldrun lvm pvresize "$partpath" || { error "Failed to resize lvm pv $partpath" return 1 } return 0 } pt_update="auto" resizer=${GROWPART_RESIZER:-"auto"} while [ $# -ne 0 ]; do cur=${1} next=${2} case "$cur" in -h|--help) Usage exit 0 ;; --free-percent|--free-percent=*) if [ "${cur#--free-percent=}" != "$cur" ]; then next="${cur#--free-percent=}" else shift fi if [ "$next" -gt 0 ] 2>/dev/null && [ "$next" -lt 100 ] 2>/dev/null; then free_percent=$next else fail "unknown/invalid --free-percent option: $next" fi ;; --fudge) FUDGE=${next} shift ;; -N|--dry-run) DRY_RUN=1 ;; -u|--update|--update=*) if [ "${cur#--update=}" != "$cur" ]; then next="${cur#--update=}" else shift fi case "$next" in off|auto|force|on) pt_update=$next;; *) fail "unknown --update option: $next";; esac ;; -v|--verbose) VERBOSITY=$(($VERBOSITY+1)) ;; --) shift break ;; -*) fail "unknown option ${cur}" ;; *) if [ -z "${DISK}" ]; then DISK=${cur} else [ -z "${PART}" ] || fail "confused by arg ${cur}" PART=${cur} fi ;; esac shift done [ -n "${DISK}" ] || bad_Usage "must supply disk and partition-number" [ -n "${PART}" ] || bad_Usage "must supply partition-number" [ -e "${DISK}" ] || fail "${DISK}: does not exist" # cache the has_cmd return value. has_cmd sfdisk && SFDISK=sfdisk || SFDISK="" has_cmd sgdisk && SGDISK=sgdisk || SGDISK="" [ -n "$SGDISK" -o -n "$SFDISK" ] || fail "Did not have sfdisk or sgdisk in PATH." get_sfdisk_version || fail # If $DISK is a symlink, resolve it. # This avoids problems due to varying partition device name formats # (e.g. "1" for /dev/sda vs "-part1" for /dev/disk/by-id/name) if [ -L "${DISK}" ]; then has_cmd readlink || fail "${DISK} is a symlink, but 'readlink' command not available." real_disk=$(readlink -f "${DISK}") || fail "unable to resolve ${DISK}" debug 1 "${DISK} resolved to ${real_disk}" DISK=${real_disk} fi [ "${PART#*[!0-9]}" = "${PART}" ] || fail "partition-number must be a number" verify_ptupdate "$pt_update" || fail PT_UPDATE=$_RET debug 1 "update-partition set to $PT_UPDATE" mktemp_d && TEMP_D="${_RET}" || fail "failed to make temp dir" trap cleanup 0 # EXIT - some shells may not like 'EXIT' but are ok with 0 # get the ID of the first partition to determine if it's MBR or GPT get_table_format "$DISK" || fail format=$_RET get_resizer "$format" "$resizer" || fail "failed to get a resizer for format '$format'" resizer=$_RET lock_disk $DISK debug 1 "resizing $PART on $DISK using $resizer" "$resizer" ret=$? unlock_disk_and_settle $DISK if [ "$RESIZE_RESULT" = "CHANGED" -o "$RESIZE_RESULT" = "CHANGE" ]; then maybe_lvm_resize "$DISK" "$PART" || fail "lvm resize failed." fi exit $ret # vi: ts=4 noexpandtab