X7ROOT File Manager
Current Path:
/usr/sbin
usr
/
sbin
/
📁
..
📄
NetworkManager
(3.41 MB)
📄
accessdb
(12.59 KB)
📄
accton
(13.69 KB)
📄
adcli
(179.27 KB)
📄
addgnupghome
(3 KB)
📄
addpart
(24.86 KB)
📄
adduser
(148.17 KB)
📄
agetty
(62.38 KB)
📄
alternatives
(36.66 KB)
📄
anacron
(40.99 KB)
📄
apachectl
(4.52 KB)
📄
applygnupgdefaults
(2.17 KB)
📄
arp
(64.71 KB)
📄
arpd
(109.52 KB)
📄
arping
(28.74 KB)
📄
atd
(32.63 KB)
📄
atopacctd
(25.29 KB)
📄
atrun
(67 B)
📄
auditctl
(45.04 KB)
📄
auditd
(151.73 KB)
📄
augenrules
(4.04 KB)
📄
aureport
(122.35 KB)
📄
ausearch
(130.36 KB)
📄
authconfig
(21.54 KB)
📄
autrace
(16.54 KB)
📄
avcstat
(16.4 KB)
📄
badblocks
(32.59 KB)
📄
biosdecode
(21.45 KB)
📄
biosdevname
(46.16 KB)
📄
blkdeactivate
(15.97 KB)
📄
blkdiscard
(29.05 KB)
📄
blkid
(98.66 KB)
📄
blkmapd
(53.47 KB)
📄
blkzone
(49.74 KB)
📄
blockdev
(41.3 KB)
📄
bpftool
(2.74 MB)
📄
bridge
(158.25 KB)
📄
build-locale-archive
(841.02 KB)
📄
cache_check
(1.43 MB)
📄
cache_dump
(1.43 MB)
📄
cache_metadata_size
(1.43 MB)
📄
cache_repair
(1.43 MB)
📄
cache_restore
(1.43 MB)
📄
cache_writeback
(1.43 MB)
📄
capsh
(32.44 KB)
📄
cfdisk
(98.4 KB)
📄
chcpu
(28.84 KB)
📄
chgpasswd
(69.69 KB)
📄
chkconfig
(45.11 KB)
📄
chpasswd
(61.42 KB)
📄
chronyd
(375.66 KB)
📄
chroot
(41.52 KB)
📄
clock
(65.22 KB)
📄
clockdiff
(20.43 KB)
📄
consoletype
(11.85 KB)
📄
convertquota
(78.68 KB)
📄
cracklib-check
(13.05 KB)
📄
cracklib-format
(251 B)
📄
cracklib-packer
(13.05 KB)
📄
cracklib-unpacker
(9.03 KB)
📄
create-cracklib-dict
(990 B)
📄
crond
(73.94 KB)
📄
cryptsetup
(147.42 KB)
📄
csf
(245.1 KB)
📄
ctrlaltdel
(24.79 KB)
📄
ctstat
(25.33 KB)
📄
dcb
(155.04 KB)
📄
ddns-confgen
(20.46 KB)
📄
debugfs
(231.63 KB)
📄
delpart
(24.86 KB)
📄
depmod
(159.95 KB)
📄
devlink
(215.87 KB)
📄
dhclient
(453.68 KB)
📄
dhclient-script
(32.86 KB)
📄
dmeventd
(45.08 KB)
📄
dmfilemapd
(24.55 KB)
📄
dmidecode
(141.8 KB)
📄
dmsetup
(158.64 KB)
📄
dmstats
(158.64 KB)
📄
dnssec-checkds
(936 B)
📄
dnssec-coverage
(938 B)
📄
dnssec-dsfromkey
(60.84 KB)
📄
dnssec-importkey
(60.84 KB)
📄
dnssec-keyfromlabel
(64.76 KB)
📄
dnssec-keygen
(72.84 KB)
📄
dnssec-keymgr
(934 B)
📄
dnssec-revoke
(56.74 KB)
📄
dnssec-settime
(60.84 KB)
📄
dnssec-signzone
(117.2 KB)
📄
dnssec-verify
(52.84 KB)
📄
dosfsck
(65.13 KB)
📄
dosfslabel
(61.1 KB)
📄
dovecot
(137.48 KB)
📄
dovecot_cpshutdown
(3.27 KB)
📄
dpkg-fsys-usrunmess
(12.11 KB)
📄
dump-acct
(29.15 KB)
📄
dump-utmp
(25.02 KB)
📄
dumpe2fs
(32.52 KB)
📄
e2freefrag
(16.42 KB)
📄
e2fsck
(328.52 KB)
📄
e2image
(36.61 KB)
📄
e2label
(110.63 KB)
📄
e2mmpstatus
(32.52 KB)
📄
e2undo
(20.38 KB)
📄
e4crypt
(24.55 KB)
📄
e4defrag
(28.49 KB)
📄
ebtables
(220.8 KB)
📄
ebtables-restore
(220.8 KB)
📄
ebtables-save
(220.8 KB)
📄
edquota
(91.24 KB)
📄
era_check
(1.43 MB)
📄
era_dump
(1.43 MB)
📄
era_invalidate
(1.43 MB)
📄
era_restore
(1.43 MB)
📄
ether-wake
(73.99 KB)
📄
ethtool
(557.79 KB)
📄
exicyclog
(11.1 KB)
📄
exigrep
(10.52 KB)
📄
exim
(1.49 MB)
📄
exim_checkaccess
(4.83 KB)
📄
exim_dbmbuild
(23.23 KB)
📄
exim_dumpdb
(38.02 KB)
📄
exim_fixdb
(47.56 KB)
📄
exim_lock
(26.59 KB)
📄
exim_tidydb
(42.35 KB)
📄
eximstats
(148.26 KB)
📄
exinext
(7.14 KB)
📄
exiqgrep
(5.66 KB)
📄
exiqsumm
(5.32 KB)
📄
exiwhat
(4.42 KB)
📄
exportfs
(82.38 KB)
📄
faillock
(20.52 KB)
📄
fatlabel
(61.1 KB)
📄
fcgistarter
(17.11 KB)
📄
fdformat
(33.17 KB)
📄
fdisk
(130.92 KB)
📄
filefrag
(16.47 KB)
📄
findfs
(12.37 KB)
📄
firewalld
(6.92 KB)
📄
fix-info-dir
(7.84 KB)
📄
fixfiles
(10.48 KB)
📄
fsadm
(24 KB)
📄
fsck
(53.47 KB)
📄
fsck.cramfs
(41.4 KB)
📄
fsck.ext2
(328.52 KB)
📄
fsck.ext3
(328.52 KB)
📄
fsck.ext4
(328.52 KB)
📄
fsck.fat
(65.13 KB)
📄
fsck.minix
(98.74 KB)
📄
fsck.msdos
(65.13 KB)
📄
fsck.vfat
(65.13 KB)
📄
fsck.xfs
(1.92 KB)
📄
fsfreeze
(16.38 KB)
📄
fstrim
(49.6 KB)
📄
fuse2fs
(70.39 KB)
📄
fuser
(38.14 KB)
📄
g13-syshelp
(189.71 KB)
📄
genhomedircon
(29.27 KB)
📄
genhostid
(11.85 KB)
📄
genl
(121.41 KB)
📄
genrandom
(12.38 KB)
📄
getcap
(12.34 KB)
📄
getenforce
(7.84 KB)
📄
getpcaps
(12.27 KB)
📄
getsebool
(11.88 KB)
📄
groupadd
(95.34 KB)
📄
groupdel
(91.09 KB)
📄
groupmems
(61.48 KB)
📄
groupmod
(99.37 KB)
📄
grpck
(61.48 KB)
📄
grpconv
(57.26 KB)
📄
grpunconv
(57.25 KB)
📄
grub2-bios-setup
(1.16 MB)
📄
grub2-get-kernel-settings
(2.68 KB)
📄
grub2-install
(1.44 MB)
📄
grub2-macbless
(1.14 MB)
📄
grub2-mkconfig
(8.68 KB)
📄
grub2-ofpathname
(242.26 KB)
📄
grub2-probe
(1.16 MB)
📄
grub2-reboot
(3.99 KB)
📄
grub2-rpm-sort
(279.16 KB)
📄
grub2-set-bootflag
(16.34 KB)
📄
grub2-set-default
(3.45 KB)
📄
grub2-set-password
(3.05 KB)
📄
grub2-setpassword
(3.05 KB)
📄
grub2-sparc64-setup
(1.16 MB)
📄
grub2-switch-to-blscfg
(8.6 KB)
📄
grubby
(260 B)
📄
gss-server
(24.62 KB)
📄
gssproxy
(132.08 KB)
📄
halt
(218.45 KB)
📄
hardlink
(17.09 KB)
📄
hdparm
(131.91 KB)
📄
htcacheclean
(44.36 KB)
📄
httpd
(990.57 KB)
📄
hwclock
(65.22 KB)
📄
iconvconfig
(33.05 KB)
📄
ifconfig
(80.86 KB)
📄
ifdown
(2.07 KB)
📄
ifenslave
(24.95 KB)
📄
ifstat
(117.67 KB)
📄
iftop
(75.42 KB)
📄
ifup
(5.33 KB)
📄
imunify-notifier
(9.82 MB)
📄
init
(1.53 MB)
📄
insmod
(159.95 KB)
📄
install-info
(50.23 KB)
📄
installkernel
(323 B)
📄
intel_sdsi
(15.62 KB)
📄
iotop
(511 B)
📄
ip
(693.3 KB)
📄
ip6tables
(220.8 KB)
📄
ip6tables-apply
(6.89 KB)
📄
ip6tables-restore
(220.8 KB)
📄
ip6tables-restore-translate
(220.8 KB)
📄
ip6tables-save
(220.8 KB)
📄
ip6tables-translate
(220.8 KB)
📄
ipmaddr
(21 KB)
📄
iprconfig
(408.03 KB)
📄
iprdbg
(137.57 KB)
📄
iprdump
(129.3 KB)
📄
iprinit
(125.28 KB)
📄
iprsos
(2.18 KB)
📄
iprupdate
(129.3 KB)
📄
ipset
(9.01 KB)
📄
iptables
(220.8 KB)
📄
iptables-apply
(6.89 KB)
📄
iptables-restore
(220.8 KB)
📄
iptables-restore-translate
(220.8 KB)
📄
iptables-save
(220.8 KB)
📄
iptables-translate
(220.8 KB)
📄
iptstate
(92.05 KB)
📄
iptunnel
(25 KB)
📄
irqbalance
(62.28 KB)
📄
irqbalance-ui
(41.29 KB)
📄
isc-hmac-fixup
(11.85 KB)
📄
iscsi-iname
(16.42 KB)
📄
iscsiadm
(406.38 KB)
📄
iscsid
(419.23 KB)
📄
iscsistart
(374.54 KB)
📄
iscsiuio
(183.51 KB)
📄
kexec
(194.98 KB)
📄
key.dns_resolver
(24.52 KB)
📄
kpartx
(49.05 KB)
📄
kpatch
(16.59 KB)
📄
lchage
(16.41 KB)
📄
ldattach
(32.99 KB)
📄
ldconfig
(986.02 KB)
📄
ledctl
(101.16 KB)
📄
ledmon
(101.11 KB)
📄
lfd
(382.45 KB)
📄
lgroupadd
(11.88 KB)
📄
lgroupdel
(11.88 KB)
📄
lgroupmod
(19.88 KB)
📄
lid
(16.27 KB)
📄
lnewusers
(19.87 KB)
📄
lnstat
(25.33 KB)
📄
load_policy
(12.28 KB)
📄
logrotate
(93.03 KB)
📄
logsave
(16.41 KB)
📄
losetup
(90.59 KB)
📄
lpasswd
(20.35 KB)
📄
lshw
(966.2 KB)
📄
lsmod
(159.95 KB)
📄
lspci
(94.85 KB)
📄
luseradd
(19.88 KB)
📄
luserdel
(15.88 KB)
📄
lusermod
(19.88 KB)
📄
lvchange
(2.61 MB)
📄
lvconvert
(2.61 MB)
📄
lvcreate
(2.61 MB)
📄
lvdisplay
(2.61 MB)
📄
lvextend
(2.61 MB)
📄
lvm
(2.61 MB)
📄
lvm_import_vdo
(23.14 KB)
📄
lvmconfig
(2.61 MB)
📄
lvmdevices
(2.61 MB)
📄
lvmdiskscan
(2.61 MB)
📄
lvmdump
(10.12 KB)
📄
lvmpolld
(200.69 KB)
📄
lvmsadc
(2.61 MB)
📄
lvmsar
(2.61 MB)
📄
lvreduce
(2.61 MB)
📄
lvremove
(2.61 MB)
📄
lvrename
(2.61 MB)
📄
lvresize
(2.61 MB)
📄
lvs
(2.61 MB)
📄
lvscan
(2.61 MB)
📄
lwresd
(840.86 KB)
📄
makedumpfile
(425.19 KB)
📄
mariadbd
(24.3 MB)
📄
matchpathcon
(12.37 KB)
📄
mcelog
(206.3 KB)
📄
mdadm
(620.63 KB)
📄
mdmon
(375.48 KB)
📄
mii-diag
(25.4 KB)
📄
mii-tool
(21.03 KB)
📄
mkdict
(251 B)
📄
mkdosfs
(39.07 KB)
📄
mkdumprd
(12.68 KB)
📄
mke2fs
(138.45 KB)
📄
mkfadumprd
(2.23 KB)
📄
mkfs
(16.47 KB)
📄
mkfs.cramfs
(41.26 KB)
📄
mkfs.ext2
(138.45 KB)
📄
mkfs.ext3
(138.45 KB)
📄
mkfs.ext4
(138.45 KB)
📄
mkfs.fat
(39.07 KB)
📄
mkfs.minix
(86.55 KB)
📄
mkfs.msdos
(39.07 KB)
📄
mkfs.vfat
(39.07 KB)
📄
mkfs.xfs
(475.98 KB)
📄
mkhomedir_helper
(24.43 KB)
📄
mklost+found
(11.86 KB)
📄
mksquashfs
(186.83 KB)
📄
mkswap
(86.47 KB)
📄
modinfo
(159.95 KB)
📄
modprobe
(159.95 KB)
📄
modsec-sdbm-util
(25.83 KB)
📄
mount.nfs
(197.24 KB)
📄
mount.nfs4
(197.24 KB)
📄
mountstats
(42.22 KB)
📄
mpathconf
(16.17 KB)
📄
mpathpersist
(29.34 KB)
📄
mtr
(110.92 KB)
📄
mtr-packet
(58.3 KB)
📄
multipath
(32.61 KB)
📄
multipathd
(134.76 KB)
📄
mysqld
(24.3 MB)
📄
named
(840.86 KB)
📄
named-checkconf
(36.77 KB)
📄
named-checkzone
(36.63 KB)
📄
named-compilezone
(36.63 KB)
📄
named-journalprint
(11.85 KB)
📄
nameif
(16.98 KB)
📄
newusers
(107.23 KB)
📄
nfsconf
(37.48 KB)
📄
nfsconvert
(13.03 KB)
📄
nfsdcld
(65.87 KB)
📄
nfsdclddb
(10 KB)
📄
nfsdclnts
(9.02 KB)
📄
nfsdcltrack
(49.78 KB)
📄
nfsidmap
(45.36 KB)
📄
nfsiostat
(23.36 KB)
📄
nfsref
(65.8 KB)
📄
nfsstat
(35.52 KB)
📄
nft
(24.41 KB)
📄
nginx
(1.85 MB)
📄
nginx-debug
(1.98 MB)
📄
nologin
(11.87 KB)
📄
nrpe
(76.13 KB)
📄
nscd
(160.68 KB)
📄
nsec3hash
(12.29 KB)
📄
nstat
(113.57 KB)
📄
nvme
(721.45 KB)
📄
oddjobd
(77.63 KB)
📄
ownership
(12.4 KB)
📄
packer
(13.05 KB)
📄
pam_console_apply
(45.2 KB)
📄
pam_timestamp_check
(11.87 KB)
📄
paperconfig
(4.07 KB)
📄
parted
(85.6 KB)
📄
partprobe
(16.39 KB)
📄
partx
(94.5 KB)
📄
pdata_tools
(1.43 MB)
📄
pidof
(16.7 KB)
📄
ping
(66.13 KB)
📄
ping6
(66.13 KB)
📄
pivot_root
(12.38 KB)
📄
plipconfig
(12.71 KB)
📄
plymouth-set-default-theme
(6.05 KB)
📄
plymouthd
(141.97 KB)
📄
poweroff
(218.45 KB)
📄
pure-authd
(19.23 KB)
📄
pure-certd
(19.13 KB)
📄
pure-config.pl
(4.64 KB)
📄
pure-ftpd
(182.06 KB)
📄
pure-ftpwho
(26.82 KB)
📄
pure-mrtginfo
(11.16 KB)
📄
pure-quotacheck
(18.81 KB)
📄
pure-uploadscript
(19.07 KB)
📄
pvchange
(2.61 MB)
📄
pvck
(2.61 MB)
📄
pvcreate
(2.61 MB)
📄
pvdisplay
(2.61 MB)
📄
pvmove
(2.61 MB)
📄
pvremove
(2.61 MB)
📄
pvresize
(2.61 MB)
📄
pvs
(2.61 MB)
📄
pvscan
(2.61 MB)
📄
pwck
(57.27 KB)
📄
pwconv
(53.1 KB)
📄
pwhistory_helper
(20.43 KB)
📄
pwunconv
(53.13 KB)
📄
quot
(78.67 KB)
📄
quotacheck
(115.75 KB)
📄
quotaoff
(83.16 KB)
📄
quotaon
(83.16 KB)
📄
quotastats
(16.54 KB)
📄
raid-check
(3.7 KB)
📄
rcmysql
(0 B)
📄
rdisc
(24.55 KB)
📄
rdma
(187.38 KB)
📄
readprofile
(20.55 KB)
📄
realm
(144.26 KB)
📄
reboot
(218.45 KB)
📄
repquota
(83.24 KB)
📄
request-key
(24.38 KB)
📄
resize2fs
(64.91 KB)
📄
resizepart
(41.56 KB)
📄
resolvconf
(195.74 KB)
📄
restorecon
(20.53 KB)
📄
restorecon_xattr
(16.41 KB)
📄
rfkill
(53.46 KB)
📄
rmmod
(159.95 KB)
📄
rndc
(36.53 KB)
📄
rndc-confgen
(20.45 KB)
📄
rotatelogs
(30.51 KB)
📄
route
(67.63 KB)
📄
rpc.gssd
(106.55 KB)
📄
rpc.idmapd
(61.73 KB)
📄
rpc.mountd
(158.92 KB)
📄
rpc.nfsd
(49.91 KB)
📄
rpc.statd
(103.29 KB)
📄
rpcbind
(61.55 KB)
📄
rpcctl
(9.41 KB)
📄
rpcdebug
(19.38 KB)
📄
rpcinfo
(32.64 KB)
📄
rsyslogd
(724.73 KB)
📄
rtacct
(46.94 KB)
📄
rtcwake
(49.31 KB)
📄
rtmon
(117.27 KB)
📄
rtstat
(25.33 KB)
📄
runlevel
(218.45 KB)
📄
runq
(1.49 MB)
📄
runuser
(48.99 KB)
📄
sa
(46.62 KB)
📄
sasldblistusers2
(20.77 KB)
📄
saslpasswd2
(16.42 KB)
📄
sefcontext_compile
(65.35 KB)
📄
selabel_digest
(12.28 KB)
📄
selabel_lookup
(12.27 KB)
📄
selabel_lookup_best_match
(11.89 KB)
📄
selabel_partial_match
(11.88 KB)
📄
selinux_check_access
(12.36 KB)
📄
selinuxconlist
(11.88 KB)
📄
selinuxdefcon
(11.88 KB)
📄
selinuxenabled
(7.84 KB)
📄
selinuxexeccon
(11.86 KB)
📄
semodule
(29.27 KB)
📄
sendmail
(16.91 KB)
📄
service
(3.64 KB)
📄
sestatus
(20.41 KB)
📄
setcap
(16.27 KB)
📄
setenforce
(12.27 KB)
📄
setfiles
(20.53 KB)
📄
setpci
(28.56 KB)
📄
setquota
(91.38 KB)
📄
setsebool
(16.38 KB)
📄
sfdisk
(118.5 KB)
📄
showmount
(21.06 KB)
📄
shutdown
(218.45 KB)
📄
sim_server
(11.87 KB)
📄
slattach
(43.76 KB)
📄
sm-notify
(78.14 KB)
📄
smartctl
(907.08 KB)
📄
smartd
(733.2 KB)
📄
snmpd
(32.45 KB)
📄
snmptrapd
(32.6 KB)
📄
sos
(627 B)
📄
sos-collector
(139 B)
📄
sosreport
(132 B)
📄
ss
(191.3 KB)
📄
sshd
(869.77 KB)
📄
sss_cache
(61.09 KB)
📄
sssd
(73.01 KB)
📄
start-statd
(838 B)
📄
start-stop-daemon
(45.98 KB)
📄
suexec
(25.3 KB)
📄
sulogin
(49.24 KB)
📄
suphp
(6.56 MB)
📄
swaplabel
(16.5 KB)
📄
swapoff
(20.74 KB)
📄
swapon
(49.4 KB)
📄
switch_root
(16.49 KB)
📄
sysctl
(28.88 KB)
📄
syspurpose
(415 B)
📄
tcpdump
(1.01 MB)
📄
tcpslice
(32.63 KB)
📄
tcsd
(309.72 KB)
📄
telinit
(218.45 KB)
📄
thin_check
(1.43 MB)
📄
thin_delta
(1.43 MB)
📄
thin_dump
(1.43 MB)
📄
thin_ls
(1.43 MB)
📄
thin_metadata_pack
(907.47 KB)
📄
thin_metadata_size
(1.43 MB)
📄
thin_metadata_unpack
(895.45 KB)
📄
thin_repair
(1.43 MB)
📄
thin_restore
(1.43 MB)
📄
thin_rmap
(1.43 MB)
📄
thin_trim
(1.43 MB)
📄
timedatex
(33.43 KB)
📄
tipc
(163.07 KB)
📄
tmpwatch
(35.47 KB)
📄
tracepath
(20.44 KB)
📄
tracepath6
(20.44 KB)
📄
tsig-keygen
(20.46 KB)
📄
tune2fs
(110.63 KB)
📄
tuned
(3.88 KB)
📄
tuned-adm
(6.5 KB)
📄
udevadm
(424.59 KB)
📄
umount.nfs
(197.24 KB)
📄
umount.nfs4
(197.24 KB)
📄
unbound-anchor
(57.34 KB)
📄
unix_chkpwd
(36.86 KB)
📄
unix_update
(36.87 KB)
📄
unsquashfs
(99.57 KB)
📄
update-alternatives
(36.66 KB)
📄
update-pciids
(1.71 KB)
📄
update-smart-drivedb
(14.44 KB)
📄
useradd
(148.17 KB)
📄
userdel
(107.29 KB)
📄
usermod
(144.07 KB)
📄
usernetctl
(12.4 KB)
📄
uuserver
(15.88 KB)
📄
vdpa
(118.04 KB)
📄
vgcfgbackup
(2.61 MB)
📄
vgcfgrestore
(2.61 MB)
📄
vgchange
(2.61 MB)
📄
vgck
(2.61 MB)
📄
vgconvert
(2.61 MB)
📄
vgcreate
(2.61 MB)
📄
vgdisplay
(2.61 MB)
📄
vgexport
(2.61 MB)
📄
vgextend
(2.61 MB)
📄
vgimport
(2.61 MB)
📄
vgimportclone
(2.61 MB)
📄
vgimportdevices
(2.61 MB)
📄
vgmerge
(2.61 MB)
📄
vgmknodes
(2.61 MB)
📄
vgreduce
(2.61 MB)
📄
vgremove
(2.61 MB)
📄
vgrename
(2.61 MB)
📄
vgs
(2.61 MB)
📄
vgscan
(2.61 MB)
📄
vgsplit
(2.61 MB)
📄
vigr
(68.05 KB)
📄
vipw
(68.05 KB)
📄
virt-what
(14.22 KB)
📄
visudo
(239.22 KB)
📄
vmcore-dmesg
(28.58 KB)
📄
vpddecode
(16.47 KB)
📄
weak-modules
(33.6 KB)
📄
whmapi0
(3.18 MB)
📄
whmapi1
(3.18 MB)
📄
whmlogin
(2.33 KB)
📄
wipefs
(41.11 KB)
📄
xfs_admin
(1.38 KB)
📄
xfs_bmap
(695 B)
📄
xfs_copy
(434.59 KB)
📄
xfs_db
(760.47 KB)
📄
xfs_estimate
(12.39 KB)
📄
xfs_freeze
(800 B)
📄
xfs_fsr
(53.41 KB)
📄
xfs_growfs
(422.48 KB)
📄
xfs_info
(1.26 KB)
📄
xfs_io
(188.28 KB)
📄
xfs_logprint
(454.7 KB)
📄
xfs_mdrestore
(410.09 KB)
📄
xfs_metadump
(782 B)
📄
xfs_mkfile
(1.02 KB)
📄
xfs_ncheck
(685 B)
📄
xfs_quota
(93.98 KB)
📄
xfs_repair
(715.24 KB)
📄
xfs_rtcp
(16.38 KB)
📄
xfs_spaceman
(45.42 KB)
📄
xfsdump
(308.02 KB)
📄
xfsinvutil
(66.91 KB)
📄
xfsrestore
(369.39 KB)
📄
xqmstats
(16.45 KB)
📄
xtables-monitor
(220.8 KB)
📄
xtables-nft-multi
(220.8 KB)
📄
zdump
(20.57 KB)
📄
zic
(52.83 KB)
📄
zramctl
(99.09 KB)
Editing: update-smart-drivedb
#! /bin/sh # # smartmontools drive database update script # # Home page of code is: http://www.smartmontools.org # # Copyright (C) 2010-19 Christian Franke # # SPDX-License-Identifier: GPL-2.0-or-later # # $Id: update-smart-drivedb.in 5002 2019-12-13 20:14:51Z chrfranke $ # set -e # Set by config.status export PATH="/usr/local/bin:/usr/bin:/bin" PACKAGE="smartmontools" VERSION="7.1" prefix="/usr" exec_prefix="/usr" sbindir="/usr/sbin" datarootdir="${prefix}/share" datadir="/usr/share" drivedbdir="${datadir}/${PACKAGE}" # Download tools os_dltools="curl wget lynx svn" # drivedb.h update branch BRANCH="RELEASE_7_0_DRIVEDB" # Default drivedb location DRIVEDB="$drivedbdir/drivedb.h" # GnuPG used to verify signature (disabled if empty) GPG="gpg" # Smartctl used for syntax check SMARTCTL="$sbindir/smartctl" # PATH information for help and error messages #pathinfo='$PATH' pathinfo="'$PATH'" myname=$0 usage() { pathinfo=" $pathinfo" cat <<EOF smartmontools $VERSION drive database update script Usage: $myname [OPTIONS] [DESTFILE] -s SMARTCTL Use SMARTCTL for syntax check ('-s -' to disable) [default: $SMARTCTL] -t TOOL Use TOOL for download: $os_dltools [default: first one found in $pathinfo] -u LOCATION Use URL of LOCATION for download: github (GitHub mirror of SVN repository) sf (Sourceforge code browser) svn (SVN repository) [default] svni (SVN repository via HTTP instead of HTTPS) trac (Trac code browser) --trunk Download from SVN trunk (may require '--no-verify') --cacert FILE Use CA certificates from FILE to verify the peer --capath DIR Use CA certificate files from DIR to verify the peer --insecure Don't abort download if certificate verification fails --no-verify Don't verify signature --export-key Print the OpenPGP/GPG public key block --dryrun Print download commands only -v Verbose output Updates $DRIVEDB or DESTFILE from branches/$BRANCH of smartmontools SVN repository. EOF exit 1 } error() { echo "$myname: $*" >&2 exit 1 } err_notfound() { case $1 in */*) error "$1: not found $2" ;; *) error "$1: not found in $pathinfo $2" ;; esac } warning() { echo "$myname: (Warning) $*" >&2 } selecturl() { case $1 in github) # https://github.com/smartmontools/smartmontools/raw/origin/$BRANCH/smartmontools/drivedb.h # https://github.com/smartmontools/smartmontools/raw/master/smartmontools/drivedb.h # redirected to: url='https://raw.githubusercontent.com/smartmontools/smartmontools/master/smartmontools/drivedb.h' ;; sf) url='https://sourceforge.net/p/smartmontools/code/HEAD/tree/trunk/smartmontools/drivedb.h?format=raw' ;; svn) url='https://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools/drivedb.h' ;; svni) url='http://svn.code.sf.net/p/smartmontools/code/trunk/smartmontools/drivedb.h' ;; trac) url='https://www.smartmontools.org/export/HEAD/trunk/smartmontools/drivedb.h' ;; *) usage ;; esac } inpath() { local d rc save rc=1 save=$IFS IFS=':' for d in $PATH; do test -f "$d/$1" || continue test -x "$d/$1" || continue rc=0 break done IFS=$save return $rc } vecho() { test -n "$q" || echo "$*" } # vrun COMMAND ARGS... vrun() { if [ -n "$dryrun" ]; then echo "$*" elif [ -n "$q" ]; then "$@" 2>/dev/null else echo "$*" "$@" fi } # vrun2 OUTFILE COMMAND ARGS... vrun2() { local f err rc f=$1; shift rc=0 if [ -n "$dryrun" ]; then echo "$* > $f" else vecho "$* > $f" err=`"$@" 2>&1 > $f` || rc=$? if [ -n "$err" ]; then vecho "$err" >&2 test $rc != 0 || rc=42 fi fi return $rc } # download URL FILE download() { local f u rc u=$1; f=$2 rc=0 case $tool in curl) vrun curl ${q:+-s} -f --max-redirs 0 \ ${cacert:+--cacert "$cacert"} \ ${capath:+--capath "$capath"} \ ${insecure:+--insecure} \ -o "$f" "$u" || rc=$? ;; wget) vrun wget $q --max-redirect=0 \ ${cacert:+--ca-certificate="$cacert"} \ ${capath:+--ca-directory="$capath"} \ ${insecure:+--no-check-certificate} \ -O "$f" "$u" || rc=$? ;; lynx) test -z "$cacert" || vrun export SSL_CERT_FILE="$cacert" test -z "$capath" || vrun export SSL_CERT_DIR="$capath" # Check also stderr as lynx does not return != 0 on HTTP error vrun2 "$f" lynx -stderr -noredir -source "$u" || rc=$? ;; svn) vrun svn $q export \ --non-interactive --no-auth-cache \ ${cacert:+--config-option "servers:global:ssl-trust-default-ca=no"} \ ${cacert:+--config-option "servers:global:ssl-authority-files=$cacert"} \ ${insecure:+--trust-server-cert} \ "$u" "$f" || rc=$? ;; fetch) # FreeBSD vrun fetch $q --no-redirect \ ${cacert:+--ca-cert "$cacert"} \ ${capath:+--ca-path "$capath"} \ ${insecure:+--no-verify-hostname} \ -o "$f" "$u" || rc=$? ;; ftp) # OpenBSD vrun ftp \ ${cacert:+-S cafile="$cacert"} \ ${capath:+-S capath="$capath"} \ ${insecure:+-S dont} \ -o "$f" "$u" || rc=$? ;; *) error "$tool: unknown (internal error)" ;; esac return $rc } # check_file FILE FIRST_CHAR MIN_SIZE MAX_SIZE check_file() { local firstchar f maxsize minsize size test -z "$dryrun" || return 0 f=$1; firstchar=$2; minsize=$3; maxsize=$4 # Check first chars case `dd if="$f" bs=1 count=1 2>/dev/null` in $firstchar) ;; \<) echo "HTML error message"; return 1 ;; *) echo "unknown file contents"; return 1 ;; esac # Check file size size=`wc -c < "$f"` if test "$size" -lt $minsize; then echo "too small file size $size bytes" return 1 fi if test "$size" -gt $maxsize; then echo "too large file size $size bytes" return 1 fi return 0 } # unexpand_svn_id < INFILE > OUTFILE unexpand_svn_id() { sed 's,\$''Id'': drivedb\.h [0-9][0-9]* 2[-0-9]* [012][:0-9]*Z [a-z][a-z0-9]* \$,$''Id''$,' } # Smartmontools Signing Key (through 2020) # <smartmontools-database@listi.jpberlin.de> # Key ID 721042C5 public_key="\ -----BEGIN PGP PUBLIC KEY BLOCK----- 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 =0uFV -----END PGP PUBLIC KEY BLOCK----- " # gpg_verify FILE.asc FILE gpg_verify() { local gnupgtmp opts out rc opts="--quiet ${q:+--no-secmem-warnin} --batch --no-tty" # Create temp home dir gnupgtmp="$tmpdir/.gnupg.$$.tmp" rm -f -r "$gnupgtmp" mkdir "$gnupgtmp" || exit 1 chmod 0700 "$gnupgtmp" # Import public key "$GPG" $opts --homedir="$gnupgtmp" --import <<EOF $public_key EOF test $? = 0 || exit 1 # Verify rc=0 out=`"$GPG" $opts --homedir="$gnupgtmp" --verify "$1" "$2" </dev/null 2>&1` || rc=1 if [ $rc = 0 ]; then vecho "$out" else # print gpg error always echo "$out" >&2 fi rm -f -r "$gnupgtmp" return $rc } # mv_all PREFIX OLD NEW mv_all() { mv "${1}${2}" "${1}${3}" mv "${1}${2}.raw" "${1}${3}.raw" mv "${1}${2}.raw.asc" "${1}${3}.raw.asc" } # Parse options smtctl=$SMARTCTL tool= url= q="-q" dryrun= trunk= cacert= capath= insecure= no_verify= while true; do case $1 in -s) shift; test -n "$1" || usage smtctl=$1 ;; -t) shift case $1 in *\ *) usage ;; esac case " $os_dltools " in *\ $1\ *) ;; *) usage ;; esac tool=$1 ;; -u) shift; selecturl "$1" ;; -v) q= ;; --dryrun) dryrun=t ;; --trunk) trunk=trunk ;; --cacert) shift; test -n "$1" || usage cacert=$1 ;; --capath) shift; test -n "$1" || usage capath=$1 ;; --insecure) insecure=t ;; --no-verify) no_verify=t ;; --export-key) cat <<EOF $public_key EOF exit 0 ;; -*) usage ;; *) break ;; esac; shift; done case $# in 0) DEST=$DRIVEDB ;; 1) DEST=$1 ;; *) usage ;; esac if [ -z "$tool" ]; then # Find download tool in PATH for t in $os_dltools; do if inpath "$t"; then tool=$t break fi done test -n "$tool" || error "found none of '$os_dltools' in $pathinfo" fi test -n "$url" || selecturl "svn" # Check option compatibility case "$tool:$url" in svn:http*://svn.code.sf.net*) ;; svn:*) error "'-t svn' requires '-u svn' or '-u svni'" ;; esac case "$tool:${capath:+set}" in svn:set) warning "'--capath' is ignored if '-t svn' is used" ;; esac case "${insecure:-f}:$url" in t:http:*) insecure= ;; ?:https:*) ;; *) error "'-u svni' requires '--insecure'" ;; esac case "$tool:$insecure" in lynx:t) warning "'--insecure' is ignored if '-t lynx' is used" ;; esac # Check for smartctl if [ "$smtctl" != "-" ]; then "$smtctl" -V >/dev/null 2>&1 \ || err_notfound "$smtctl" "('-s -' to ignore)" fi # Check for GnuPG if [ -z "$no_verify" ]; then test -n "$GPG" \ || error "GnuPG is not available ('--no-verify' to ignore)" "$GPG" --version >/dev/null 2>&1 \ || err_notfound "$GPG" "('--no-verify' to ignore)" fi # Use destination directory as temp directory for gpg tmpdir=`dirname "$DEST"` # Adjust URLs src=`echo "$url" | sed -e "s,/trunk/,/branches/$BRANCH/," \ -e "s,/master/,/origin/$BRANCH/,"` src_asc=`echo "$src" | sed "s,/drivedb\.h,/drivedb.h.raw.asc,"` test -z "$trunk" || src=$url # Download test -n "$dryrun" || rm -f "$DEST.new" "$DEST.new.raw" "$DEST.new.raw.asc" vecho "Download ${trunk:-branches/$BRANCH}/drivedb.h with $tool" rc=0 download "$src" "$DEST.new" || rc=$? if [ $rc != 0 ]; then rm -f "$DEST.new" error "${trunk:-$BRANCH}/drivedb.h: download failed ($tool: exit $rc)" fi if ! errmsg=`check_file "$DEST.new" '/' 10000 1000000`; then mv "$DEST.new" "$DEST.error" error "$DEST.error: $errmsg" fi vecho "Download branches/$BRANCH/drivedb.h.raw.asc with $tool" rc=0 download "$src_asc" "$DEST.new.raw.asc" || rc=$? if [ $rc != 0 ]; then rm -f "$DEST.new" "$DEST.new.raw.asc" error "$BRANCH/drivedb.h.raw.asc: download failed ($tool: exit $rc)" fi if ! errmsg=`check_file "$DEST.new.raw.asc" '-' 200 2000`; then rm -f "$DEST.new" mv "$DEST.new.raw.asc" "$DEST.error.raw.asc" error "$DEST.error.raw.asc: $errmsg" fi test -z "$dryrun" || exit 0 # Create raw file with unexpanded SVN Id # (This assumes newlines are LF and not CR/LF) unexpand_svn_id < "$DEST.new" > "$DEST.new.raw" # Adjust timestamps and permissions touch "$DEST.new" "$DEST.new.raw" "$DEST.new.raw.asc" chmod 0644 "$DEST.new" "$DEST.new.raw" "$DEST.new.raw.asc" if [ -z "$no_verify" ]; then # Verify raw file if ! gpg_verify "$DEST.new.raw.asc" "$DEST.new.raw"; then mv_all "$DEST" ".new" ".error" test -n "$trunk" || error "$DEST.error.raw: *** BAD signature or outdated key ***" error "$DEST.error.raw: signature from branch no longer valid ('--no-verify' to ignore)" fi fi if [ "$smtctl" != "-" ]; then # Check syntax if ! "$smtctl" -B "$DEST.new" -P showall >/dev/null; then mv_all "$DEST" ".new" ".error" error "$DEST.error: rejected by $smtctl, probably no longer compatible" fi vecho "$smtctl: syntax OK" fi # Keep old file if identical, ignore missing Id keyword expansion in new file rm -f "$DEST.lastcheck" if [ -f "$DEST" ]; then if [ -f "$DEST.raw" ] && [ -f "$DEST.raw.asc" ]; then if cmp "$DEST.raw" "$DEST.new.raw" >/dev/null 2>&1 \ && cmp "$DEST.raw.asc" "$DEST.new.raw.asc" >/dev/null 2>&1 \ && { cmp "$DEST" "$DEST.new" >/dev/null 2>&1 \ || cmp "$DEST.raw" "$DEST.new" >/dev/null 2>&1; } then rm -f "$DEST.new" "$DEST.new.raw" "$DEST.new.raw.asc" touch "$DEST.lastcheck" echo "$DEST is already up to date" exit 0 fi mv_all "$DEST" "" ".old" else mv "$DEST" "$DEST.old" fi fi mv_all "$DEST" ".new" "" echo "$DEST updated from ${trunk:-branches/$BRANCH}${no_verify:+ (NOT VERIFIED)}"
Upload File
Create Folder