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 コマンドの代替コマンド」の「新規のコマンドまたは代替コマンド」の列に表示されるすべてのコマンドは Red Hat Enterprise Linux 6 で利用できますが、それらすべてがどのインストール済みシステム上でも利用できるとは限りません。
利用不可と記載されているコマンドについては、Python スクリプトを使用して同等の機能を作成できる場合があります。Python 言語は %pre および %post スクリプト開発者が利用でき、すぐに使用できる Python モジュール一式も揃っています。そのため、インストール環境で特定のコマンドが利用できない場合には、スクリプト言語として Python を使用することをお勧めします。

表G.1 busybox コマンドの代替コマンド

Busybox コマンド%pre%post新規のコマンドまたは代替コマンド
addgroupnoyes/usr/sbin/groupadd
addusernoyes/usr/sbin/useradd
adjtimexnonoなし
arnoyes/usr/bin/ar
arpingyesyes/sbin/arping または /usr/sbin/arping
ashyesyes/bin/bash
awkyesyes/sbin/awk/sbin/gawk、または /usr/bin/gawk [a]
basenameyesyes/bin/bash [b] /usr/bin/basename
bbconfignonoなし — このコマンドは Busybox に固有のものです。
bunzip2yesyes/usr/bin/bunzip2/usr/bin/bzip2 -d
busyboxnonoなし
bzcatyesyes/usr/bin/bzcat/usr/bin/bzip2 -dc
calnoyes/usr/bin/cal
catyesyes/usr/bin/cat
catvnonocat -vET または cat -A
chattryesyes/usr/bin/chattr
chgrpyesyes/usr/bin/chgrp
chmodyesyes/usr/bin/chmod
chownyesyes/usr/bin/chown
chrootyesyes/usr/sbin/chroot
chvtyesyes/usr/bin/chvt
cksumnoyes/usr/bin/cksum
clearyesyes/usr/bin/clear
cmpnoyes/usr/bin/cmp
commnoyes/usr/bin/comm
cpyesyes/usr/bin/cp
cpioyesyes/usr/bin/cpio
crondnonoなし — スクリプト部分にデーモンは使用できません。
crontabnoyes/usr/bin/crontab
cutyesyes/usr/bin/cut
dateyesyes/usr/bin/date
dcnoyes/usr/bin/dc
ddyesyes/usr/bin/dd
deallocvtnoyes/usr/bin/deallocvt
delgroupnoyes/usr/sbin/groupdel
delusernoyes/usr/sbin/userdel
devfsdnonoなし — Red Hat Enterprise Linux は devfs を使用しません。
dfyesyes/usr/bin/df
diffnoyes/usr/bin/diff
dirnameyesyes/bin/bash [c], /usr/bin/dirname
dmesgyesyes/usr/bin/dmesg
dnsdnonoなし — スクリプト部分にデーモンは使用できません。
dos2unixnonosed 's/.$//'
dpkgnonoなし — Debian パッケージのサポートはありません
dpkg-debnonoなし — Debian パッケージのサポートはありません
duyesyes/usr/bin/du
dumpkmapnonoなし
dumpleasesnonoなし
e2fsckyesyes/usr/sbin/e2fsck
e2labelyesyes/usr/sbin/e2label
echoyesyes/usr/bin/echo
ednono/sbin/sed/usr/bin/sed
egrepyesyes/sbin/egrep/usr/bin/egrep
ejectyesyes/usr/bin/eject
envyesyes/usr/bin/env
ether-wakenonoなし
expryesyes/usr/bin/expr
fakeidentdnonoなし — スクリプト部分にデーモンは使用できません。
falseyesyes/usr/bin/false
fbsetnoyes/usr/sbin/fbset
fdflushnonoなし
fdformatnoyes/usr/bin/fdformat
fdiskyesyes/usr/sbin/fdisk
fgrepyesyes/sbin/fgrep/usr/bin/fgrep
findyesyes/usr/bin/find
findfsnonoなし
foldnoyes/usr/bin/fold
freenoyes/usr/bin/free
freeramdisknonoなし
fsckyesyes/usr/sbin/fsck
fsck.ext2yesyes/usr/sbin/fsck.ext2/usr/sbin/e2fsck
fsck.ext3yesyes/usr/sbin/fsck.ext3/usr/sbin/e2fsck
fsck.minixnonoなし — Minix ファイルシステムのサポートがありません
ftpgetyesyes/usr/bin/ftp または Python ftplib モジュール
ftpputyesyes/usr/bin/ftp または Python ftplib モジュール
fusernoyes/sbin/fuser
getoptnoyes/usr/bin/getopt
gettynonoなし
grepyesyes/sbin/grep/usr/bin/grep
gunzipyesyes/usr/bin/gunzip/usr/bin/gzip -d
gzipyesyes/usr/bin/gzip
hdparmyesyes/usr/sbin/hdparm
headyesyes/usr/bin/head
hexdumpnoyes/usr/bin/hexdump
hostidnoyes/usr/bin/hostid または Python
hostnameyesyes/sbin/hostname/usr/bin/hostname
httpdnonoなし — スクリプト部分にデーモンは使用できません。
hushnonoなし
hwclockyesyes/usr/sbin/hwclock
idnoyes/usr/bin/id または Python
ifconfigyesyes/sbin/ifconfig/usr/sbin/ifconfig
ifdownnonoifconfig device down
ifupnonoifconfig device up
inetdnonoなし — スクリプト部分にデーモンは使用できません。
insmodyesyes/sbin/insmod/usr/sbin/insmod
installnoyes/usr/bin/install または mkdir/cp/chmod/chown/chgrp
ipyesyes/sbin/ip/usr/sbin/ip
ipaddrnonoifconfig または ip
ipcalcyesyes/sbin/ipcalc/usr/bin/ipcalc
ipcrmnoyes/usr/bin/ipcrm
ipcsnoyes/usr/bin/ipcs
iplinknonoip
iproutenonoip
iptunnelnoyes/sbin/iptunnel
killyesyes/sbin/kill/usr/bin/kill
killallyesyes/usr/bin/killall
lashnonoなし
lastnoyes/usr/bin/last
lengthnonoPython または bash
lessyesyes/usr/bin/less
linux32nonoなし
linux64nonoなし
lnyesyes/sbin/ln/usr/bin/ln
load_policyyesyes/sbin/load_policy/usr/sbin/load_policy
loadfontnonoなし
loadkmapnonoなし
loginyesyes/usr/bin/login
lognamenoyes/usr/bin/logname
losetupyesyes/usr/bin/losetup
lsyesyes/usr/bin/ls
lsattryesyes/usr/bin/lsattr
lsmodyesyes/usr/bin/lsmod
lzmacatnoyes/usr/bin/lzmadec
makedevsnono/usr/bin/mknod
md5sumyesyes/usr/bin/md5sum
mdevnonoなし
mesgnoyes/usr/bin/mesg
mkdiryesyes/sbin/mkdir/usr/bin/mkdir
mke2fsyesyes/usr/sbin/mke2fs
mkfifonoyes/usr/bin/mkfifo
mkfs.ext2yesyes/usr/sbin/mkfs.ext2
mkfs.ext3yesyes/usr/sbin/mkfs.ext3
mkfs.minixnonoなし — Minix ファイルシステムのサポートがありません
mknodyesyes/usr/bin/mknod
mkswapyesyes/usr/sbin/mkswap
mktempyesyes/usr/bin/mktemp
modprobeyesyes/sbin/modprobe/usr/sbin/modprobe
moreyesyes/usr/bin/more
mountyesyes/sbin/mount/usr/bin/mount
mountpointnonomount コマンドの出力を確認してください
mshnonoなし
mtyesyes/usr/bin/mt
mvyesyes/usr/bin/mv
nameifnonoなし
ncnoyes/usr/bin/nc
netstatnoyes/bin/netstat
nicenoyes/bin/nice
nohupnoyes/usr/bin/nohup
nslookupyesyes/usr/bin/nslookup
odnoyes/usr/bin/od
openvtyesyes/usr/bin/openvt
passwdnoyes/usr/bin/passwd
patchnoyes/usr/bin/patch
pidofyesyes/usr/sbin/pidof
pingyesyes/usr/bin/ping
ping6noyes/bin/ping6
pipe_progressnonoなし
pivot_rootnoyes/sbin/pivot_root
printenvnoyes/usr/bin/printenv
printfnoyes/usr/bin/printf
psyesyes/usr/bin/ps
pwdyesyes/usr/bin/pwd
rdatenoyes/usr/bin/rdate
readlinkyesyes/sbin/readlink/usr/bin/readlink
readprofilenoyes/usr/sbin/readprofile
realpathnonoPython os.path.realpath()
renicenoyes/usr/bin/renice
resetnoyes/usr/bin/reset
rmyesyes/sbin/rm/usr/bin/rm
rmdiryesyes/sbin/rmdir/usr/bin/rmdir
rmmodyesyes/sbin/rmmod/usr/bin/rmmod
routeyesyes/sbin/route/usr/sbin/route
rpmyesyes/usr/bin/rpm
rpm2cpionoyes/usr/bin/rpm2cpio
run-partsnonoなし
runlevelnonoなし
rxnonoなし
sedyesyes/sbin/sed/usr/bin/sed
seqnoyes/usr/bin/seq
setarchnoyes/usr/bin/setarch
setconsolenonoなし
setkeycodesnoyes/usr/bin/setkeycodes
setlogconsnonoなし
setsidnoyes/usr/bin/setsid
shyesyes/sbin/sh/usr/bin/sh
sha1sumyesyes/usr/bin/sha1sum
sleepyesyes/sbin/sleep/usr/bin/sleep
sortyesyes/usr/bin/sort
start-stop-daemonnonoなし
statnoyes/usr/bin/stat または Python os.stat()
stringsnoyes/usr/bin/strings
sttynoyes/bin/stty
sunoyes/bin/su
suloginnoyes/sbin/sulogin
sumnoyes/usr/bin/sum
swapoffyesyes/usr/sbin/swapoff
swaponyesyes/usr/sbin/swapon
switch_rootnoyes/sbin/switch_root
syncyesyes/usr/bin/sync
sysctlnoyes/sbin/sysctl
tailyesyes/usr/bin/tail
taryesyes/usr/bin/tar
teeyesyes/usr/bin/tee
telnetyesyes/usr/bin/telnet
telnetdnonoなし — スクリプト部分にデーモンは使用できません。
testnoyes/usr/bin/test または bash 内の [
tftpnoyes/usr/bin/tftp
timenoyes/usr/bin/time または Python
topyesyes/usr/bin/top
touchyesyes/sbin/touch/usr/bin/touch
trnoyes/usr/bin/tr または Python
traceroutenoyes/bin/traceroute
trueyesyes/usr/bin/true
ttynoyes/usr/bin/tty
tune2fsyesyes/usr/sbin/tune2fs
udhcpcnono/sbin/dhclient
udhcpdnonoなし — スクリプト部分にデーモンは使用できません。
umountyesyes/sbin/umount/usr/bin/umount
unamenoyes/bin/uname または Python os.uname()
uncompressnonoなし
uniqyesyes/usr/bin/uniq
unix2dosnonosed 's/$//'
unlzmanoyes/usr/bin/unlzma
unzipnoyes/usr/bin/unzip
uptimenoyes/usr/bin/uptime または Python の /proc/uptime の読み込み
usleepnoyes/bin/usleep または Python
uudecodenoyes/usr/bin/uudecode または Python
uuencodenoyes/usr/bin/uuencode または Python
vconfigyesyes/usr/sbin/vconfig
viyesyes/usr/bin/vi
vlocknonoなし
watchnoyes/usr/bin/watch
watchdognonoなし
wcyesyes/usr/bin/wc
wgetyesyes/sbin/wget/usr/bin/wget
whichnoyes/usr/bin/which
whonoyes/usr/bin/who
whoaminoyes/usr/bin/whoami
xargsyesyes/usr/bin/xargs
yesnoyes/usr/bin/yes
zcatyesyes/usr/bin/zcat
zcipnonoNetworkManager がこれを処理するはずです。
[a] Red Hat Enterprise Linux 6 は、インストール環境内に busybox awk ではなく GNU awk を同梱しています。
[b] GNU bash により文字列操作を使用した basename の機能性を利用できます。var="/usr/bin/command" の場合は、echo ${var##*/}command を書き出します。
[c] GNU bash により文字列操作を使用した dirname の機能を利用できます。var="/usr/bin/command" の場合は、echo ${var%/*}/usr/bin を書き出します。