Приложение G. Альтернативы команд busybox
Альтернативы команд busybox
В отличие от предыдущих выпусков, Red Hat Enterprise Linux 6 не включает набор команд busybox для окружений %pre и %post. Таблица G.1, «Альтернативы команд busybox» содержит список команд busybox, их альтернативы в bash и доступность в окружениях %pre и %post. В таблице приведены полные пути к командам, хотя при выполнении в их указании необходимости нет, так как это определяется переменной
PATH
.
Если команда может выполняться только в окружении %post, доступ к ней будет определяться наличием соответствующего пакета. Команды, перечисленные в столбце «Новая команда или альтернатива» (см. Таблица G.1, «Альтернативы команд busybox»), доступны в Red Hat Enterprise Linux 6, хотя не все команды будут доступны в установленной системе.
Если команда недоступна, можно воссоздать ее функциональность с помощью сценария Python, так как в окружении %pre и %post доступны инструменты и модули Python.
Таблица G.1. Альтернативы команд busybox
Команда busybox |
%pre
|
%post
| Новая команда или альтернатива |
---|---|---|---|
addgroup
| нет | да |
/usr/sbin/groupadd
|
adduser
| нет | да |
/usr/sbin/useradd
|
adjtimex
| нет | нет | нет |
ar
| нет | да |
/usr/bin/ar
|
arping
| да | да |
/sbin/arping или /usr/sbin/arping
|
ash
| да | да |
/bin/bash
|
awk
| да | да |
/sbin/awk , /sbin/gawk или /usr/bin/gawk [a]
|
basename
| да | да |
/bin/bash [b], /usr/bin/basename
|
bbconfig
| нет | нет | нет — это команда Busybox |
bunzip2
| да | да |
/usr/bin/bunzip2 , /usr/bin/bzip2 -d
|
busybox
| нет | нет | нет |
bzcat
| да | да |
/usr/bin/bzcat , /usr/bin/bzip2 -dc
|
cal
| нет | да |
/usr/bin/cal
|
cat
| да | да |
/usr/bin/cat
|
catv
| нет | нет |
cat -vET или cat -A
|
chattr
| да | да |
/usr/bin/chattr
|
chgrp
| да | да |
/usr/bin/chgrp
|
chmod
| да | да |
/usr/bin/chmod
|
chown
| да | да |
/usr/bin/chown
|
chroot
| да | да |
/usr/sbin/chroot
|
chvt
| да | да |
/usr/bin/chvt
|
cksum
| нет | да |
/usr/bin/cksum
|
clear
| да | да |
/usr/bin/clear
|
cmp
| нет | да |
/usr/bin/cmp
|
comm
| нет | да |
/usr/bin/comm
|
cp
| да | да |
/usr/bin/cp
|
cpio
| да | да |
/usr/bin/cpio
|
crond
| нет | нет | нет — скриплеты не могут использовать службы |
crontab
| нет | да |
/usr/bin/crontab
|
cut
| да | да |
/usr/bin/cut
|
date
| да | да |
/usr/bin/date
|
dc
| нет | да |
/usr/bin/dc
|
dd
| да | да |
/usr/bin/dd
|
deallocvt
| нет | да |
/usr/bin/deallocvt
|
delgroup
| нет | да |
/usr/sbin/groupdel
|
deluser
| нет | да |
/usr/sbin/userdel
|
devfsd
| нет | нет | нет — Red Hat Enterprise Linux не использует devfs |
df
| да | да |
/usr/bin/df
|
diff
| нет | да |
/usr/bin/diff
|
dirname
| да | да |
/bin/bash [c], /usr/bin/dirname
|
dmesg
| да | да |
/usr/bin/dmesg
|
dnsd
| нет | нет | нет — скриплеты не могут использовать службы |
dos2unix
| нет | нет |
sed 's/.$//'
|
dpkg
| нет | нет | нет — пакеты Debian не поддерживаются |
dpkg-deb
| нет | нет | нет — пакеты Debian не поддерживаются |
du
| да | да |
/usr/bin/du
|
dumpkmap
| нет | нет | нет |
dumpleases
| нет | нет | нет |
e2fsck
| да | да |
/usr/sbin/e2fsck
|
e2label
| да | да |
/usr/sbin/e2label
|
echo
| да | да |
/usr/bin/echo
|
ed
| нет | нет |
/sbin/sed , /usr/bin/sed
|
egrep
| да | да |
/sbin/egrep , /usr/bin/egrep
|
eject
| да | да |
/usr/bin/eject
|
env
| да | да |
/usr/bin/env
|
ether-wake
| нет | нет | нет |
expr
| да | да |
/usr/bin/expr
|
fakeidentd
| нет | нет | нет — скриплеты не могут использовать службы |
false
| да | да |
/usr/bin/false
|
fbset
| нет | да |
/usr/sbin/fbset
|
fdflush
| нет | нет | нет |
fdformat
| нет | да |
/usr/bin/fdformat
|
fdisk
| да | да |
/usr/sbin/fdisk
|
fgrep
| да | да |
/sbin/fgrep , /usr/bin/fgrep
|
find
| да | да |
/usr/bin/find
|
findfs
| нет | нет | нет |
fold
| нет | да |
/usr/bin/fold
|
free
| нет | да |
/usr/bin/free
|
freeramdisk
| нет | нет | нет |
fsck
| да | да |
/usr/sbin/fsck
|
fsck.ext2
| да | да |
/usr/sbin/fsck.ext2 , /usr/sbin/e2fsck
|
fsck.ext3
| да | да |
/usr/sbin/fsck.ext3 , /usr/sbin/e2fsck
|
fsck.minix
| нет | нет | none — файловая система Minix не поддерживается |
ftpget
| да | да |
/usr/bin/ftp или Python-модуль ftplib
|
ftpput
| да | да |
/usr/bin/ftp или Python-модуль ftplib
|
fuser
| нет | да |
/sbin/fuser
|
getopt
| нет | да |
/usr/bin/getopt
|
getty
| нет | нет | нет |
grep
| да | да |
/sbin/grep , /usr/bin/grep
|
gunzip
| да | да |
/usr/bin/gunzip , /usr/bin/gzip -d
|
gzip
| да | да |
/usr/bin/gzip
|
hdparm
| да | да |
/usr/sbin/hdparm
|
head
| да | да |
/usr/bin/head
|
hexdump
| нет | да |
/usr/bin/hexdump
|
hostid
| нет | да |
/usr/bin/hostid или Python
|
hostname
| да | да |
/sbin/hostname , /usr/bin/hostname
|
httpd
| нет | нет | нет — скриплеты не могут использовать службы |
hush
| нет | нет | нет |
hwclock
| да | да |
/usr/sbin/hwclock
|
id
| нет | да |
/usr/bin/id или Python
|
ifconfig
| да | да |
/sbin/ifconfig , /usr/sbin/ifconfig
|
ifdown
| нет | нет |
ifconfig
|
ifup
| нет | нет |
ifconfig
|
inetd
| нет | нет | нет — скриплеты не могут использовать службы |
insmod
| да | да |
/sbin/insmod , /usr/sbin/insmod
|
install
| нет | да |
/usr/bin/install или mkdir/cp/chmod/chown/chgrp
|
ip
| да | да |
/sbin/ip , /usr/sbin/ip
|
ipaddr
| нет | нет |
ifconfig или ip
|
ipcalc
| да | да |
/sbin/ipcalc , /usr/bin/ipcalc
|
ipcrm
| нет | да |
/usr/bin/ipcrm
|
ipcs
| нет | да |
/usr/bin/ipcs
|
iplink
| нет | нет |
ip
|
iproute
| нет | нет |
ip
|
iptunnel
| нет | да |
/sbin/iptunnel
|
kill
| да | да |
/sbin/kill , /usr/bin/kill
|
killall
| да | да |
/usr/bin/killall
|
lash
| нет | нет | нет |
last
| нет | да |
/usr/bin/last
|
length
| нет | нет | Python или bash |
less
| да | да |
/usr/bin/less
|
linux32
| нет | нет | нет |
linux64
| нет | нет | нет |
ln
| да | да |
/sbin/ln , /usr/bin/ln
|
load_policy
| да | да |
/sbin/load_policy , /usr/sbin/load_policy
|
loadfont
| нет | нет | нет |
loadkmap
| нет | нет | нет |
login
| да | да |
/usr/bin/login
|
logname
| нет | да |
/usr/bin/logname
|
losetup
| да | да |
/usr/bin/losetup
|
ls
| да | да |
/usr/bin/ls
|
lsattr
| да | да |
/usr/bin/lsattr
|
lsmod
| да | да |
/usr/bin/lsmod
|
lzmacat
| нет | да |
/usr/bin/lzmadec
|
makedevs
| нет | нет |
/usr/bin/mknod
|
md5sum
| да | да |
/usr/bin/md5sum
|
mdev
| нет | нет | нет |
mesg
| нет | да |
/usr/bin/mesg
|
mkdir
| да | да |
/sbin/mkdir , /usr/bin/mkdir
|
mke2fs
| да | да |
/usr/sbin/mke2fs
|
mkfifo
| нет | да |
/usr/bin/mkfifo
|
mkfs.ext2
| да | да |
/usr/sbin/mkfs.ext2
|
mkfs.ext3
| да | да |
/usr/sbin/mkfs.ext3
|
mkfs.minix
| нет | нет | нет — файловая система Minix не поддерживается |
mknod
| да | да |
/usr/bin/mknod
|
mkswap
| да | да |
/usr/sbin/mkswap
|
mktemp
| да | да |
/usr/bin/mktemp
|
modprobe
| да | да |
/sbin/modprobe , /usr/sbin/modprobe
|
more
| да | да |
/usr/bin/more
|
mount
| да | да |
/sbin/mount , /usr/bin/mount
|
mountpoint
| нет | нет | См. вывод команды mount |
msh
| нет | нет | нет |
mt
| да | да |
/usr/bin/mt
|
mv
| да | да |
/usr/bin/mv
|
nameif
| нет | нет | нет |
nc
| нет | да |
/usr/bin/nc
|
netstat
| нет | да |
/bin/netstat
|
nice
| нет | да |
/bin/nice
|
nohup
| нет | да |
/usr/bin/nohup
|
nslookup
| да | да |
/usr/bin/nslookup
|
od
| нет | да |
/usr/bin/od
|
openvt
| да | да |
/usr/bin/openvt
|
passwd
| нет | да |
/usr/bin/passwd
|
patch
| нет | да |
/usr/bin/patch
|
pidof
| да | да |
/usr/sbin/pidof
|
ping
| да | да |
/usr/bin/ping
|
ping6
| нет | да |
/bin/ping6
|
pipe_progress
| нет | нет | нет |
pivot_root
| нет | да |
/sbin/pivot_root
|
printenv
| нет | да |
/usr/bin/printenv
|
printf
| нет | да |
/usr/bin/printf
|
ps
| да | да |
/usr/bin/ps
|
pwd
| да | да |
/usr/bin/pwd
|
rdate
| нет | да |
/usr/bin/rdate
|
readlink
| да | да |
/sbin/readlink , /usr/bin/readlink
|
readprofile
| нет | да |
/usr/sbin/readprofile
|
realpath
| нет | нет |
Python os.path.realpath()
|
renice
| нет | да |
/usr/bin/renice
|
reset
| нет | да |
/usr/bin/reset
|
rm
| да | да |
/sbin/rm , /usr/bin/rm
|
rmdir
| да | да |
/sbin/rmdir , /usr/bin/rmdir
|
rmmod
| да | да |
/sbin/rmmod , /usr/bin/rmmod
|
route
| да | да |
/sbin/route , /usr/sbin/route
|
rpm
| да | да |
/usr/bin/rpm
|
rpm2cpio
| нет | да |
/usr/bin/rpm2cpio
|
run-parts
| нет | нет | нет |
runlevel
| нет | нет | нет |
rx
| нет | нет | нет |
sed
| да | да |
/sbin/sed , /usr/bin/sed
|
seq
| нет | да |
/usr/bin/seq
|
setarch
| нет | да |
/usr/bin/setarch
|
setconsole
| нет | нет | нет |
setkeycodes
| нет | да |
/usr/bin/setkeycodes
|
setlogcons
| нет | нет | нет |
setsid
| нет | да |
/usr/bin/setsid
|
sh
| да | да |
/sbin/sh , /usr/bin/sh
|
sha1sum
| да | да |
/usr/bin/sha1sum
|
sleep
| да | да |
/sbin/sleep , /usr/bin/sleep
|
sort
| да | да |
/usr/bin/sort
|
start-stop-daemon
| нет | нет | нет |
stat
| нет | да |
/usr/bin/stat или Python os.stat()
|
strings
| нет | да |
/usr/bin/strings
|
stty
| нет | да |
/bin/stty
|
su
| нет | да |
/bin/su
|
sulogin
| нет | да |
/sbin/sulogin
|
sum
| нет | да |
/usr/bin/sum
|
swapoff
| да | да |
/usr/sbin/swapoff
|
swapon
| да | да |
/usr/sbin/swapon
|
switch_root
| нет | да |
/sbin/switch_root
|
sync
| да | да |
/usr/bin/sync
|
sysctl
| нет | да |
/sbin/sysctl
|
tail
| да | да |
/usr/bin/tail
|
tar
| да | да |
/usr/bin/tar
|
tee
| да | да |
/usr/bin/tee
|
telnet
| да | да |
/usr/bin/telnet
|
telnetd
| нет | нет | нет — скриплеты не могут использовать службы |
test
| нет | да |
/usr/bin/test или [ в bash
|
tftp
| нет | да |
/usr/bin/tftp
|
time
| нет | да |
/usr/bin/time или Python
|
top
| да | да |
/usr/bin/top
|
touch
| да | да |
/sbin/touch , /usr/bin/touch
|
tr
| нет | да |
/usr/bin/tr или Python
|
traceroute
| нет | да |
/bin/traceroute
|
true
| да | да |
/usr/bin/true
|
tty
| нет | да |
/usr/bin/tty
|
tune2fs
| да | да |
/usr/sbin/tune2fs
|
udhcpc
| нет | нет |
/sbin/dhclient
|
udhcpd
| нет | нет | нет — скриплеты не могут использовать службы |
umount
| да | да |
/sbin/umount , /usr/bin/umount
|
uname
| нет | да |
/bin/uname или Python os.uname()
|
uncompress
| нет | нет | нет |
uniq
| да | да |
/usr/bin/uniq
|
unix2dos
| нет | нет |
sed 's/$//'
|
unlzma
| нет | да |
/usr/bin/unlzma
|
unzip
| нет | да |
/usr/bin/unzip
|
uptime
| нет | да |
/usr/bin/uptime или Python /proc/uptime
|
usleep
| нет | да |
/bin/usleep или Python
|
uudecode
| нет | да |
/usr/bin/uudecode или Python
|
uuencode
| нет | да |
/usr/bin/uuencode или Python
|
vconfig
| да | да |
/usr/sbin/vconfig
|
vi
| да | да |
/usr/bin/vi
|
vlock
| нет | нет | нет |
watch
| нет | да |
/usr/bin/watch
|
watchdog
| нет | нет | нет |
wc
| да | да |
/usr/bin/wc
|
wget
| да | да |
/sbin/wget , /usr/bin/wget
|
which
| нет | да |
/usr/bin/which
|
who
| нет | да |
/usr/bin/who
|
whoami
| нет | да |
/usr/bin/whoami
|
xargs
| да | да |
/usr/bin/xargs
|
yes
| нет | да |
/usr/bin/yes
|
zcat
| да | да |
/usr/bin/zcat
|
zcip
| нет | нет | NetworkManager предоставляет эту функиональность |
[a] В состав Red Hat Enterprise Linux 6 входит GNU awk вместо busybox awk. [b]
В GNU bash функциональность basename достигается путем обработки строк. Выражение If [c]
В GNU bash функциональность dirname достигается путем обработки строк. Выражение If |