Red Hat Training

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

Apêndice G. Alternativas para os comandos do busybox.

Ao contrário dos lançamentos anteriores do Red Hat Enterprise Linux, Red Hat Enterprise Linux 6 não inclui a versão do busybox para fornecer comandos de terminais nos ambientes de pré e pós instalação. O Tabela G.1, “Alternativas para os comandos do busybox.” contém uma lista dos comandos do busybox, formas equivalentes de implementar a mesma funcionalidade no bash, e a disponibilidade destas alternativas nos ambientes %pre e %post. A tabela também indica o caminho exato para o comando, apesar de não precisar especificar o caminho na maioria das vezes, pois a variante do ambiente PATH é configurado no ambiente de instalação.
Se um comando estiver disponível somente no %post, significa que o comando está rodando em um sistema alvo e portanto sua disponibilidade depende se o pacote que fornece o comando é instalado. Todos os comandos que aparecem na coluna do "Comando Novo ou alternativa" do Tabela G.1, “Alternativas para os comandos do busybox.” estão disponíveis para o Red Hat Enterprise Linux 6, no entanto nem todos os comandos estão disponíveis em todos os sistemas instalados.
Você pode conseguir criar uma funcionalidade equivalente ao script Python onde um comando for listado como indisponível. O idioma Python está disponível para autores de scripts %pre e %post, completos com um conjunto de módulos do Python, prontos para uso. portanto, se um comando específico não estiver disponível para você no ambiente de instalação, recomendamos que você utilize Python como um idioma de Python.

Tabela G.1. Alternativas para os comandos do busybox.

Comando Busybox %pre %post Novo comando ou alternativa
addgroup no yes /usr/sbin/groupadd
adduser no yes /usr/sbin/useradd
adjtimex no no nenhum
ar no yes /usr/bin/ar
arping yes yes /sbin/arping or /usr/sbin/arping
ash yes yes /bin/bash
awk yes yes /sbin/awk, /sbin/gawk, or /usr/bin/gawk [a]
basename yes yes /bin/bash [b], /usr/bin/basename
bbconfig no no nenhum — este comando é específico para Busybox
bunzip2 yes yes /usr/bin/bunzip2, /usr/bin/bzip2 -d
busybox no no nenhum
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 nenhum — não existe nenhum daemon disponível para scriptlets
crontab no yes /usr/bin/crontab
cut 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 nenhum — Red Hat Enterprise Linux não usa 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 nenhum — não existe nenhum daemon disponível para scriptlets
dos2unix no no sed 's/.$//'
dpkg no no nenhum — não há suporte para pacotes do Debian
dpkg-deb no no nenhum — não há suporte para pacotes do Debian
du yes yes /usr/bin/du
dumpkmap no no nenhum
dumpleases no no nenhum
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 nenhum
expr yes yes /usr/bin/expr
fakeidentd no no nenhum — não existe nenhum daemon disponível para scriptlets
false yes yes /usr/bin/false
fbset no yes /usr/sbin/fbset
fdflush no no nenhum
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 nenhum
fold no yes /usr/bin/fold
free no yes /usr/bin/free
freeramdisk no no nenhum
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 nenhum — não há suporte para o sistema de arquivo Minix
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 nenhum
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 or Python
hostname yes yes /sbin/hostname, /usr/bin/hostname
httpd no no nenhum — não existe nenhum daemon disponível para scriptlets
hush no no nenhum
hwclock yes yes /usr/sbin/hwclock
id no yes /usr/bin/id or Python
ifconfig yes yes /sbin/ifconfig, /usr/sbin/ifconfig
ifdown no no ifconfig device down
ifup no no ifconfig device up
inetd no no nenhum — não existe nenhum daemon disponível para 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 or 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 nenhum
last no yes /usr/bin/last
length no no Python ou bash
less yes yes /usr/bin/less
linux32 no no nenhum
linux64 no no nenhum
ln yes yes /sbin/ln, /usr/bin/ln
load_policy yes yes /sbin/load_policy, /usr/sbin/load_policy
loadfont no no nenhum
loadkmap no no nenhum
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 nenhum
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 nenhum — não há suporte para o sistema de arquivo Minix
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
more yes yes /usr/bin/more
mount yes yes /sbin/mount, /usr/bin/mount
mountpoint no no Veja o resultado do comando de montagem
msh no no nenhum
mt yes yes /usr/bin/mt
mv yes yes /usr/bin/mv
nameif no no nenhum
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 nenhum
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 nenhum
runlevel no no nenhum
rx no no nenhum
sed yes yes /sbin/sed, /usr/bin/sed
seq no yes /usr/bin/seq
setarch no yes /usr/bin/setarch
setconsole no no nenhum
setkeycodes no yes /usr/bin/setkeycodes
setlogcons no no nenhum
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 nenhum
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 nenhum — não existe nenhum daemon disponível para 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 nenhum — não existe nenhum daemon disponível para scriptlets
umount yes yes /sbin/umount, /usr/bin/umount
uname no yes /bin/uname or Python os.uname()
uncompress no no nenhum
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 nenhum
watch no yes /usr/bin/watch
watchdog no no nenhum
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
yes no yes /usr/bin/yes
zcat yes yes /usr/bin/zcat
zcip no no NetworkManager deve cuidar disto
[a] Red Hat Enterprise Linux 6 distribui com o GNU awk ao invés do busybox awk no ambiente de instalação.
[b] GNU bash pode fornecer um nome base usando uma manipulação de faixa. Se var="/usr/bin/command", então echo ${var##*/} fornece command.
[c] GNU bash pode fornecer um dirname usando a manipulação de faixa. Se var="/usr/bin/command", então echo ${var%/*} gives /usr/bin.