Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

付録G busybox コマンドの代替となるもの

以前の Red Hat Enterprise Linux のリリースとは異なり、Red Hat Enterprise Linux 6 にはプレインストール環境とポストインストール環境でシェルコマンドを提供する busybox のバージョンは含まれていません。表G.1「busybox コマンドの代替となるもの」 には busybox コマンドのリスト、bash で 同じ機能を実装する同等の方法、そして %pre と %post 環境でのこれらの代替手段の利用可能性が含まれています。また、この表にはコマンドの正確なパスが示されていますが、インストール環境では環境変数PATH が設定されているため、一般にパスを指定する必要はありません。
コマンドを %post でしか利用できない場合、コマンドはターゲットシステムで実行されているため、そのコマンドを提供するパッケージがインストールされているかどうかで、利用できるかどうかが決まります。表G.1「busybox コマンドの代替となるもの」 の New command or alternative 欄に表示されるすべてのコマンドは Red Hat Enterprise Linux 6 で利用可能ですが、インストールされたシステムですべてのコマンドが利用可能なわけではありません。
使用できないコマンドのリストがある場合、Python スクリプトで同等の機能を作成できる可能性があります。Python 言語は、%pre と %post スクリプトの作者が、すぐに使える Python モジュールのセットと一緒に利用できます。そのため、インストール環境で特定のコマンドが利用できない場合は、スクリプト言語として Python を使用することをお勧めします。

表G.1 busybox コマンドの代替となるもの

Busybox command %pre %post 新しいコマンドまたは代替品
addgroup no yes /usr/sbin/groupadd
adduser no yes /usr/sbin/useradd
adjtimex no no none
ar no yes /usr/bin/ar
アーチング yes yes /sbin/arping or /usr/sbin/arping
yes yes /bin/bash
アーク yes yes /sbin/awk, /sbin/gawk, or /usr/bin/gawk [a]
basename yes yes /bin/bash [b], /usr/bin/basename
bbconfig no no none — this command is a specific to Busybox
bunzip2 yes yes /usr/bin/bunzip2, /usr/bin/bzip2 -d
busybox no no none
bzcat yes yes /usr/bin/bzcat, /usr/bin/bzip2 -dc
cal no yes /usr/bin/cal
cat yes yes /usr/bin/cat
catv no no cat -vET or cat -A
chattr yes yes /usr/bin/chattr
chgrp yes yes /usr/bin/chgrp
chmod yes yes /usr/bin/chmod
chown yes yes /usr/bin/chown
chroot yes yes /usr/sbin/chroot
chvt yes yes /usr/bin/chvt
cksum no yes /usr/bin/cksum
clear yes yes /usr/bin/clear
cmp no yes /usr/bin/cmp
comm no yes /usr/bin/comm
cp yes yes /usr/bin/cp
cpio yes yes /usr/bin/cpio
crond no no none — no daemons available to scriptlets
crontab no yes /usr/bin/crontab
切り身 yes yes /usr/bin/cut
date yes yes /usr/bin/date
dc no yes /usr/bin/dc
dd yes yes /usr/bin/dd
deallocvt no yes /usr/bin/deallocvt
delgroup no yes /usr/sbin/groupdel
deluser no yes /usr/sbin/userdel
devfsd no no none — Red Hat Enterprise Linux does not use devfs
df yes yes /usr/bin/df
diff no yes /usr/bin/diff
dirname yes yes /bin/bash [c], /usr/bin/dirname
dmesg yes yes /usr/bin/dmesg
dnsd no no none — no daemons available to scriptlets
dos2unix no no sed 's/.$//'
dpkg no no none — no support for Debian packages
dpkg-deb no no none — no support for Debian packages
du yes yes /usr/bin/du
dumpkmap no no none
dumpleases no no none
e2fsck yes yes /usr/sbin/e2fsck
e2label yes yes /usr/sbin/e2label
echo yes yes /usr/bin/echo
ed no no /sbin/sed, /usr/bin/sed
egrep yes yes /sbin/egrep, /usr/bin/egrep
eject yes yes /usr/bin/eject
env yes yes /usr/bin/env
ether-wake no no none
expr yes yes /usr/bin/expr
fakeidentd no no none — no daemons available to scriptlets
false yes yes /usr/bin/false
fbset no yes /usr/sbin/fbset
fdflush no no none
fdformat no yes /usr/bin/fdformat
fdisk yes yes /usr/sbin/fdisk
fgrep yes yes /sbin/fgrep/usr/bin/fgrep
find yes yes /usr/bin/find
findfs no no none
fold no yes /usr/bin/fold
free no yes /usr/bin/free
freeramdisk no no none
fsck yes yes /usr/sbin/fsck
fsck.ext2 yes yes /usr/sbin/fsck.ext2/usr/sbin/e2fsck
fsck.ext3 yes yes /usr/sbin/fsck.ext3/usr/sbin/e2fsck
fsck.minix no no none — no support for the Minix file system
ftpget yes yes /usr/bin/ftp or Python ftplib module
ftpput yes yes /usr/bin/ftp or Python ftplib module
fuser no yes /sbin/fuser
getopt no yes /usr/bin/getopt
Getty no no none
grep yes yes /sbin/grep/usr/bin/grep
gunzip yes yes /usr/bin/gunzip, /usr/bin/gzip -d
gzip yes yes /usr/bin/gzip
hdparm yes yes /usr/sbin/hdparm
head yes yes /usr/bin/head
hexdump no yes /usr/bin/hexdump
hostid no yes /usr/bin/hostid または Python
hostname yes yes /sbin/hostname/usr/bin/hostname
httpd no no none — no daemons available to scriptlets
hush no no none
hwclock yes yes /usr/sbin/hwclock
id no yes /usr/bin/id または Python
ifconfig yes yes /sbin/ifconfig/usr/sbin/ifconfig
ifdown no no ifconfig device down
ifup no no ifconfig device up
inetd no no none — no daemons available to scriptlets
insmod yes yes /sbin/insmod/usr/sbin/insmod
install no yes /usr/bin/install or mkdir/cp/chmod/chown/chgrp
ip yes yes /sbin/ip/usr/sbin/ip
ipaddr no no ifconfig または ip
ipcalc yes yes /sbin/ipcalc/usr/bin/ipcalc
ipcrm no yes /usr/bin/ipcrm
ipcs no yes /usr/bin/ipcs
iplink no no ip
iproute no no ip
iptunnel no yes /sbin/iptunnel
kill yes yes /sbin/kill/usr/bin/kill
killall yes yes /usr/bin/killall
lash no no none
last no yes /usr/bin/last
長さ no no Python or bash
less yes yes /usr/bin/less
linux32 no no none
linux64 no no none
ln yes yes /sbin/ln/usr/bin/ln
load_policy yes yes /sbin/load_policy, /usr/sbin/load_policy
loadfont no no none
loadkmap no no none
login yes yes /usr/bin/login
logname no yes /usr/bin/logname
losetup yes yes /usr/bin/losetup
ls yes yes /usr/bin/ls
lsattr yes yes /usr/bin/lsattr
lsmod yes yes /usr/bin/lsmod
lzmacat no yes /usr/bin/lzmadec
makedevs no no /usr/bin/mknod
md5sum yes yes /usr/bin/md5sum
mdev no no none
mesg no yes /usr/bin/mesg
mkdir yes yes /sbin/mkdir/usr/bin/mkdir
mke2fs yes yes /usr/sbin/mke2fs
mkfifo no yes /usr/bin/mkfifo
mkfs.ext2 yes yes /usr/sbin/mkfs.ext2
mkfs.ext3 yes yes /usr/sbin/mkfs.ext3
mkfs.minix no no none — no support for Minix filesystem
mknod yes yes /usr/bin/mknod
mkswap yes yes /usr/sbin/mkswap
mktemp yes yes /usr/bin/mktemp
modprobe yes yes /sbin/modprobe/usr/sbin/modprobe
詳細情報 yes yes /usr/bin/more
mount yes yes /sbin/mount/usr/bin/mount
mountpoint no no Look at the output of the mount command
msh no no none
mt yes yes /usr/bin/mt
mv yes yes /usr/bin/mv
nameif no no none
nc no yes /usr/bin/nc
netstat no yes /bin/netstat
nice no yes /bin/nice
nohup no yes /usr/bin/nohup
nslookup yes yes /usr/bin/nslookup
od no yes /usr/bin/od
openvt yes yes /usr/bin/openvt
passwd no yes /usr/bin/passwd
patch no yes /usr/bin/patch
pidof yes yes /usr/sbin/pidof
ping yes yes /usr/bin/ping
ping6 no yes /bin/ping6
pipe_progress no no none
pivot_root no yes /sbin/pivot_root
printenv no yes /usr/bin/printenv
printf no yes /usr/bin/printf
ps yes yes /usr/bin/ps
pwd yes yes /usr/bin/pwd
rdate no yes /usr/bin/rdate
readlink yes yes /sbin/readlink,/usr/bin/readlink
readprofile no yes /usr/sbin/readprofile
realpath no no Python os.path.realpath()
renice no yes /usr/bin/renice
reset no yes /usr/bin/reset
rm yes yes /sbin/rm/usr/bin/rm
rmdir yes yes /sbin/rmdir/usr/bin/rmdir
rmmod yes yes /sbin/rmmod/usr/bin/rmmod
route yes yes /sbin/route/usr/sbin/route
rpm yes yes /usr/bin/rpm
rpm2cpio no yes /usr/bin/rpm2cpio
run-parts no no none
runlevel no no none
rx no no none
sed yes yes /sbin/sed/usr/bin/sed
seq no yes /usr/bin/seq
setarch no yes /usr/bin/setarch
setconsole no no none
setkeycodes no yes /usr/bin/setkeycodes
setlogcons no no none
setsid no yes /usr/bin/setsid
sh yes yes /sbin/sh/usr/bin/sh
sha1sum yes yes /usr/bin/sha1sum
sleep yes yes /sbin/sleep/usr/bin/sleep
sort yes yes /usr/bin/sort
start-stop-daemon no no none
stat no yes /usr/bin/stat or Python os.stat()
strings no yes /usr/bin/strings
stty no yes /bin/stty
su no yes /bin/su
sulogin no yes /sbin/sulogin
sum no yes /usr/bin/sum
swapoff yes yes /usr/sbin/swapoff
swapon yes yes /usr/sbin/swapon
switch_root no yes /sbin/switch_root
sync yes yes /usr/bin/sync
sysctl no yes /sbin/sysctl
tail yes yes /usr/bin/tail
tar yes yes /usr/bin/tar
Tee yes yes /usr/bin/tee
telnet yes yes /usr/bin/telnet
telnetd no no none — no daemons available to scriptlets
test no yes /usr/bin/test or [ in bash
tftp no yes /usr/bin/tftp
time no yes /usr/bin/time or Python
top yes yes /usr/bin/top
touch yes yes /sbin/touch/usr/bin/touch
tr no yes /usr/bin/tr or Python
traceroute no yes /bin/traceroute
true yes yes /usr/bin/true
tty no yes /usr/bin/tty
tune2fs yes yes /usr/sbin/tune2fs
udhcpc no no /sbin/dhclient
udhcpd no no none — no daemons available to scriptlets
umount yes yes /sbin/umount/usr/bin/umount
uname no yes /bin/uname or Python os.uname()
uncompress no no none
uniq yes yes /usr/bin/uniq
unix2dos no no sed 's/$//'
unlzma no yes /usr/bin/unlzma
unzip no yes /usr/bin/unzip
uptime no yes /usr/bin/uptime or Python reading /proc/uptime
usleep no yes /bin/usleep or Python
uudecode no yes /usr/bin/uudecode or Python
uuencode no yes /usr/bin/uuencode or Python
vconfig yes yes /usr/sbin/vconfig
vi yes yes /usr/bin/vi
vlock no no none
watch no yes /usr/bin/watch
watchdog no no none
wc yes yes /usr/bin/wc
wget yes yes /sbin/wget/usr/bin/wget
which no yes /usr/bin/which
who no yes /usr/bin/who
whoami no yes /usr/bin/whoami
xargs yes yes /usr/bin/xargs
はい no yes /usr/bin/yes
zcat yes yes /usr/bin/zcat
zcip no no NetworkManager should take care of this
[a] Red Hat Enterprise Linux 6 ships with GNU awk rather than the busybox awk in the installation environment.
[b] GNU bash can provide basename functionality using string manipulation. If var="/usr/bin/command", then echo ${var##*/} gives command.
[c] GNU bash can provide dirname functionality using string manipulation. If var="/usr/bin/command", then echo ${var%/*} gives /usr/bin.