Apéndice G. Comandos alternativos para Busybox

A diferencia de los anteriores lanzamientos de Red Hat Enterprise Linux, Red Hat Enterprise Linux 6 no incluye una versión de busybox que proporcione comandos de shell en los entornos de pre y post instalación. Tabla G.1, “Comandos alternativos para Busybox” contiene la lista de comandos de busybox, formas equivalentes para implementar la misma funcionalidad en bash, y la disponibilidad de estas alternativas en los entornos de %pre y %post. La tabla también indica la ruta exacta al comando, aunque generalmente no se necesita especificar la ruta porque la variable de entorno PATH está configurada en el entorno de instalación.
Si el comando sólo está disponible en %post, el comando se está ejecutando en el sistema de destino y su disponibilidad depende de si el paquete que proporciona el comando está instalado. Cada comando que aparece en la columna "Nuevo comando o alternativa" de Tabla G.1, “Comandos alternativos para Busybox” está disponible para Red Hat Enterprise Linux 6, aunque no todos los comandos están disponibles en cada sistema instalado.
Cuando un comando está listado como no disponible, puede crear una funcionalidad equivalente con un script de Python. El lenguaje Python está disponible para autores de script %pre y %post, completo con un set de módulos Python listos para ser utilizados. Por lo tanto, si un determinado comando no está disponible para su entorno de instalación, recomendamos el uso de Python como lenguaje de script.

Tabla G.1. Comandos alternativos para Busybox

Comando Busybox %pre %post Nuevo comando o alternativa
addgroup no /usr/sbin/groupadd
adduser no /usr/sbin/useradd
adjtimex no no ninguno
ar no /usr/bin/ar
arping /sbin/arping o /usr/sbin/arping
ash /bin/bash
awk /sbin/awk, /sbin/gawk, o /usr/bin/gawk [a]
basename /bin/bash [b], /usr/bin/basename
bbconfig no no none — este comando es específico para Busybox
bunzip2 /usr/bin/bunzip2, /usr/bin/bzip2 -d
busybox no no ninguno
bzcat /usr/bin/bzcat, /usr/bin/bzip2 -dc
cal no /usr/bin/cal
cat /usr/bin/cat
catv no no cat -vET o 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 no /usr/bin/cksum
clear /usr/bin/clear
cmp no /usr/bin/cmp
comm no /usr/bin/comm
cp /usr/bin/cp
cpio /usr/bin/cpio
crond no no none — no hay daemons disponibles para scriptlets
crontab no /usr/bin/crontab
cut /usr/bin/cut
date /usr/bin/date
dc no /usr/bin/dc
dd /usr/bin/dd
deallocvt no /usr/bin/deallocvt
delgroup no /usr/sbin/groupdel
deluser no /usr/sbin/userdel
devfsd no no none — Red Hat Enterprise Linux no usa devfs
df /usr/bin/df
diff no /usr/bin/diff
dirname /bin/bash [c], /usr/bin/dirname
dmesg /usr/bin/dmesg
dnsd no no none — no hay daemons disponibles para scriptlets
dos2unix no no sed 's/.$//'
dpkg no no none — no soporte para paquetes Debian
dpkg-deb no no none — no soporte para paquetes Debian
du /usr/bin/du
dumpkmap no no ninguno
dumpleases no no ninguno
e2fsck /usr/sbin/e2fsck
e2label /usr/sbin/e2label
echo /usr/bin/echo
ed no no /sbin/sed, /usr/bin/sed
egrep /sbin/egrep, /usr/bin/egrep
eject /usr/bin/eject
env /usr/bin/env
ether-wake no no ninguno
expr /usr/bin/expr
fakeidentd no no none — no hay daemons disponibles para scriptlets
false /usr/bin/false
fbset no /usr/sbin/fbset
fdflush no no ninguno
fdformat no /usr/bin/fdformat
fdisk /usr/sbin/fdisk
fgrep /sbin/fgrep, /usr/bin/fgrep
find /usr/bin/find
findfs no no ninguno
fold no /usr/bin/fold
free no /usr/bin/free
freeramdisk no no ninguno
fsck /usr/sbin/fsck
fsck.ext2 /usr/sbin/fsck.ext2, /usr/sbin/e2fsck
fsck.ext3 /usr/sbin/fsck.ext3, /usr/sbin/e2fsck
fsck.minix no no none — no soporte para el sistema de archivos Minix
ftpget /usr/bin/ftp o Python ftplib module
ftpput /usr/bin/ftp o Python ftplib module
fuser no /sbin/fuser
getopt no /usr/bin/getopt
getty no no ninguno
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 no /usr/bin/hexdump
hostid no /usr/bin/hostid or Python
hostname /sbin/hostname, /usr/bin/hostname
httpd no no none — no hay daemons disponibles para scriptlets
hush no no ninguno
hwclock /usr/sbin/hwclock
id no /usr/bin/id o Python
ifconfig /sbin/ifconfig, /usr/sbin/ifconfig
ifdown no no ifconfig dispositivo down
ifup no no ifconfig dispositivo up
inetd no no none — no hay daemons disponibles para scriptlets
insmod /sbin/insmod, /usr/sbin/insmod
install no /usr/bin/install o mkdir/cp/chmod/chown/chgrp
ip /sbin/ip, /usr/sbin/ip
ipaddr no no ifconfig o ip
ipcalc /sbin/ipcalc, /usr/bin/ipcalc
ipcrm no /usr/bin/ipcrm
ipcs no /usr/bin/ipcs
iplink no no ip
iproute no no ip
iptunnel no /sbin/iptunnel
kill /sbin/kill, /usr/bin/kill
killall /usr/bin/killall
lash no no ninguno
last no /usr/bin/last
length no no Python o bash
less /usr/bin/less
linux32 no no ninguno
linux64 no no ninguno
ln /sbin/ln, /usr/bin/ln
load_policy /sbin/load_policy, /usr/sbin/load_policy
loadfont no no ninguno
loadkmap no no ninguno
login /usr/bin/login
logname no /usr/bin/logname
losetup /usr/bin/losetup
ls /usr/bin/ls
lsattr /usr/bin/lsattr
lsmod /usr/bin/lsmod
lzmacat no /usr/bin/lzmadec
makedevs no no /usr/bin/mknod
md5sum /usr/bin/md5sum
mdev no no ninguno
mesg no /usr/bin/mesg
mkdir /sbin/mkdir, /usr/bin/mkdir
mke2fs /usr/sbin/mke2fs
mkfifo no /usr/bin/mkfifo
mkfs.ext2 /usr/sbin/mkfs.ext2
mkfs.ext3 /usr/sbin/mkfs.ext3
mkfs.minix no no none — no soporte para sistema de archivos 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 no no Observe la salida del comando mount
msh no no ninguno
mt /usr/bin/mt
mv /usr/bin/mv
nameif no no ninguno
nc no /usr/bin/nc
netstat no /bin/netstat
nice no /bin/nice
nohup no /usr/bin/nohup
nslookup /usr/bin/nslookup
od no /usr/bin/od
openvt /usr/bin/openvt
passwd no /usr/bin/passwd
patch no /usr/bin/patch
pidof /usr/sbin/pidof
ping /usr/bin/ping
ping6 no /bin/ping6
pipe_progress no no ninguno
pivot_root no /sbin/pivot_root
printenv no /usr/bin/printenv
printf no /usr/bin/printf
ps /usr/bin/ps
pwd /usr/bin/pwd
rdate no /usr/bin/rdate
readlink /sbin/readlink, /usr/bin/readlink
readprofile no /usr/sbin/readprofile
realpath no no Python os.path.realpath()
renice no /usr/bin/renice
reset no /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 no /usr/bin/rpm2cpio
run-parts no no ninguno
runlevel no no ninguno
rx no no ninguno
sed /sbin/sed, /usr/bin/sed
seq no /usr/bin/seq
setarch no /usr/bin/setarch
setconsole no no ninguno
setkeycodes no /usr/bin/setkeycodes
setlogcons no no ninguno
setsid no /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 no no ninguno
stat no /usr/bin/stat or Python os.stat()
strings no /usr/bin/strings
stty no /bin/stty
su no /bin/su
sulogin no /sbin/sulogin
sum no /usr/bin/sum
swapoff /usr/sbin/swapoff
swapon /usr/sbin/swapon
switch_root no /sbin/switch_root
sync /usr/bin/sync
sysctl no /sbin/sysctl
tail /usr/bin/tail
tar /usr/bin/tar
tee /usr/bin/tee
telnet /usr/bin/telnet
telnetd no no none — no hay daemons disponibles para scriptlets
test no /usr/bin/test o [ en bash
tftp no /usr/bin/tftp
time no /usr/bin/time o Python
top /usr/bin/top
touch /sbin/touch, /usr/bin/touch
tr no /usr/bin/tr o Python
traceroute no /bin/traceroute
true /usr/bin/true
tty no /usr/bin/tty
tune2fs /usr/sbin/tune2fs
udhcpc no no /sbin/dhclient
udhcpd no no none — no hay daemons disponibles para scriptlets
umount /sbin/umount, /usr/bin/umount
uname no /bin/uname o Python os.uname()
uncompress no no ninguno
uniq /usr/bin/uniq
unix2dos no no sed 's/$//'
unlzma no /usr/bin/unlzma
unzip no /usr/bin/unzip
uptime no /usr/bin/uptime o Python leyendo /proc/uptime
usleep no /bin/usleep o Python
uudecode no /usr/bin/uudecode o Python
uuencode no /usr/bin/uuencode o Python
vconfig /usr/sbin/vconfig
vi /usr/bin/vi
vlock no no ninguno
watch no /usr/bin/watch
watchdog no no ninguno
wc /usr/bin/wc
wget /, /usr, /home
which no /usr/bin/which
who no /usr/bin/who
whoami no /usr/bin/whoami
xargs /usr/bin/xargs
yes no /usr/bin/yes
zcat /usr/bin/zcat
zcip no no NetworkManager debe tener cuidado de éste
[a] Red Hat Enterprise Linux 6 distribuye con GNU awk en lugar de Busybox awk en el entorno de instalación.
[b] bash GNU puede proporcionar funcionalidad de nombre de base mediante la manipulación de cadenas. Si var="/usr/bin/command", entonces echo ${var##*/} da command.
[c] GNU bash puede proporcionar la funcionalidad dirname mediante la manipulación de cadenas. Si var="/usr/bin/command", entonces echo ${var%/*} entrega /usr/bin.