Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Anhang G. Alternativen zu Busybox-Befehlen
Im Gegensatz zu früheren Versionen von Red Hat Enterprise Linux beinhaltet Red Hat Enterprise Linux 6 keine Version von busybox, um Shell-Befehle in Pre- und Post-Installationsumgebungen zur Verfügung zu stellen. Tabelle G.1, »Alternativen zu Busybox-Befehlen« umfasst eine Liste von busybox-Befehlen, entsprechende Wege zur Umsetzung der gleichen Funktionalität in der bash, sowie der Verfügbarkeit dieser Alternativen in den %pre- und %post-Umgebungen. Die Tabelle zeigt auch den exakten Pfad zum Befehl an, auch wenn Sie diesen generell nicht angeben müssen, da normalerweise die
PATH
-Umgebungsvariable in der Installationsumgebung gesetzt ist.
Wenn ein Befehl nur unter %post verfügbar ist, wird der Befehl nur auf dem Zielsystem ausgeführt und seine Verfügbarkeit hängt daher davon ab, ob das Paket, das den Befehl liefert, installiert ist. Jeder Befehl, der in der Spalte "New command or alternative" von Tabelle G.1, »Alternativen zu Busybox-Befehlen« erscheint, steht unter Red Hat Enterprise Linux 6 zur Verfügung, auch wenn nicht jeder Befehl auf jedem installierten System verfügbar ist.
Wo ein Befehl als nicht verfügbar aufgelistet ist, können Sie ggf. eine äquivalente Funktionalität mit einem Python-Skript erzielen. Die Python-Sprache steht %pre- und %post-Skript-Autoren zur Verfügung, zusammen mit einer Reihe von einsatzbereiten Python-Modulen. Falls Ihnen daher ein bestimmter Befehl in der Installationsumgebung nicht zur Verfügung steht, empfehlen wir Ihnen die Verwendung von Python als Skript-Sprache.
Tabelle G.1. Alternativen zu Busybox-Befehlen
Busybox-Befehl | %pre | %post | Neuer Befehl oder Alternative |
---|---|---|---|
addgroup | nein | ja | /usr/sbin/groupadd |
adduser | nein | ja | /usr/sbin/useradd |
adjtimex | nein | nein | none |
ar | nein | ja | /usr/bin/ar |
arping | ja | ja | /sbin/arping oder /usr/sbin/arping |
ash | ja | ja | /bin/bash |
awk | ja | ja | /sbin/awk , /sbin/gawk oder /usr/bin/gawk [a] |
basename | ja | ja | /bin/bash [b], /usr/bin/basename |
bbconfig | nein | nein | keiner — dieser Befehl ist spezifisch für Busybox |
bunzip2 | ja | ja | /usr/bin/bunzip2 , /usr/bin/bzip2 -d |
busybox | nein | nein | none |
bzcat | ja | ja | /usr/bin/bzcat , /usr/bin/bzip2 -dc |
cal | nein | ja | /usr/bin/cal |
cat | ja | ja | /usr/bin/cat |
catv | nein | nein | cat -vET or cat -A |
chattr | ja | ja | /usr/bin/chattr |
chgrp | ja | ja | /usr/bin/chgrp |
chmod | ja | ja | /usr/bin/chmod |
chown | ja | ja | /usr/bin/chown |
chroot | ja | ja | /usr/sbin/chroot |
chvt | ja | ja | /usr/bin/chvt |
cksum | nein | ja | /usr/bin/cksum |
clear | ja | ja | /usr/bin/clear |
cmp | nein | ja | /usr/bin/cmp |
comm | nein | ja | /usr/bin/comm |
cp | ja | ja | /usr/bin/cp |
cpio | ja | ja | /usr/bin/cpio |
crond | nein | nein | keiner — keine Daemons für Scriptlets verfügbar |
crontab | nein | ja | /usr/bin/crontab |
cut | ja | ja | /usr/bin/cut |
date | ja | ja | /usr/bin/date |
dc | nein | ja | /usr/bin/dc |
dd | ja | ja | /usr/bin/dd |
deallocvt | nein | ja | /usr/bin/deallocvt |
delgroup | nein | ja | /usr/sbin/groupdel |
deluser | nein | ja | /usr/sbin/userdel |
devfsd | nein | nein | keiner — Red Hat Enterprise Linux verwendet kein devfs |
df | ja | ja | /usr/bin/df |
diff | nein | ja | /usr/bin/diff |
dirname | ja | ja | /bin/bash [c], /usr/bin/dirname |
dmesg | ja | ja | /usr/bin/dmesg |
dnsd | nein | nein | keiner — keine Daemons für Scriptlets verfügbar |
dos2unix | nein | nein | sed 's/.$//' |
dpkg | nein | nein | keiner — keine Unterstützung für Debian-Pakete |
dpkg-deb | nein | nein | keiner — keine Unterstützung für Debian-Pakete |
du | ja | ja | /usr/bin/du |
dumpkmap | nein | nein | none |
dumpleases | nein | nein | none |
e2fsck | ja | ja | /usr/sbin/e2fsck |
e2label | ja | ja | /usr/sbin/e2label |
echo | ja | ja | /usr/bin/echo |
ed | nein | nein | /sbin/sed , /usr/bin/sed |
egrep | ja | ja | /sbin/egrep , /usr/bin/egrep |
eject | ja | ja | /usr/bin/eject |
env | ja | ja | /usr/bin/env |
ether-wake | nein | nein | none |
expr | ja | ja | /usr/bin/expr |
fakeidentd | nein | nein | keiner — keine Daemons für Scriptlets verfügbar |
false | ja | ja | /usr/bin/false |
fbset | nein | ja | /usr/sbin/fbset |
fdflush | nein | nein | none |
fdformat | nein | ja | /usr/bin/fdformat |
fdisk | ja | ja | /usr/sbin/fdisk |
fgrep | ja | ja | /sbin/fgrep , /usr/bin/fgrep |
find | ja | ja | /usr/bin/find |
findfs | nein | nein | none |
fold | nein | ja | /usr/bin/fold |
free | nein | ja | /usr/bin/free |
freeramdisk | nein | nein | none |
fsck | ja | ja | /usr/sbin/fsck |
fsck.ext2 | ja | ja | /usr/sbin/fsck.ext2 , /usr/sbin/e2fsck |
fsck.ext3 | ja | ja | /usr/sbin/fsck.ext3 , /usr/sbin/e2fsck |
fsck.minix | nein | nein | keiner — keine Unterstützung für das Minix-Dateisystem |
ftpget | ja | ja | /usr/bin/ftp oder Python ftplib module |
ftpput | ja | ja | /usr/bin/ftp oder Python ftplib module |
fuser | nein | ja | /sbin/fuser |
getopt | nein | ja | /usr/bin/getopt |
getty | nein | nein | none |
grep | ja | ja | /sbin/grep , /usr/bin/grep |
gunzip | ja | ja | /usr/bin/gunzip , /usr/bin/gzip -d |
gzip | ja | ja | /usr/bin/gzip |
hdparm | ja | ja | /usr/sbin/hdparm |
head | ja | ja | /usr/bin/head |
hexdump | nein | ja | /usr/bin/hexdump |
hostid | nein | ja | /usr/bin/hostid oder Python |
hostname | ja | ja | /sbin/hostname , /usr/bin/hostname |
httpd | nein | nein | keiner — keine Daemons für Scriptlets verfügbar |
hush | nein | nein | none |
hwclock | ja | ja | /usr/sbin/hwclock |
id | nein | ja | /usr/bin/id oder Python |
ifconfig | ja | ja | /sbin/ifconfig , /usr/sbin/ifconfig |
ifdown | nein | nein | ifconfig device down |
ifup | nein | nein | ifconfig device up |
inetd | nein | nein | keiner — keine Daemons für Scriptlets verfügbar |
insmod | ja | ja | /sbin/insmod , /usr/sbin/insmod |
install | nein | ja | /usr/bin/install oder mkdir/cp/chmod/chown/chgrp |
ip | ja | ja | /sbin/ip , /usr/sbin/ip |
ipaddr | nein | nein | ifconfig oder ip |
ipcalc | ja | ja | /sbin/ipcalc , /usr/bin/ipcalc |
ipcrm | nein | ja | /usr/bin/ipcrm |
ipcs | nein | ja | /usr/bin/ipcs |
iplink | nein | nein | ip |
iproute | nein | nein | ip |
iptunnel | nein | ja | /sbin/iptunnel |
kill | ja | ja | /sbin/kill , /usr/bin/kill |
killall | ja | ja | /usr/bin/killall |
lash | nein | nein | none |
last | nein | ja | /usr/bin/last |
length | nein | nein | Python oder bash |
less | ja | ja | /usr/bin/less |
linux32 | nein | nein | none |
linux64 | nein | nein | none |
ln | ja | ja | /sbin/ln , /usr/bin/ln |
load_policy | ja | ja | /sbin/load_policy , /usr/sbin/load_policy |
loadfont | nein | nein | none |
loadkmap | nein | nein | none |
login | ja | ja | /usr/bin/login |
logname | nein | ja | /usr/bin/logname |
losetup | ja | ja | /usr/bin/losetup |
ls | ja | ja | /usr/bin/ls |
lsattr | ja | ja | /usr/bin/lsattr |
lsmod | ja | ja | /usr/bin/lsmod |
lzmacat | nein | ja | /usr/bin/lzmadec |
makedevs | nein | nein | /usr/bin/mknod |
md5sum | ja | ja | /usr/bin/md5sum |
mdev | nein | nein | none |
mesg | nein | ja | /usr/bin/mesg |
mkdir | ja | ja | /sbin/mkdir , /usr/bin/mkdir |
mke2fs | ja | ja | /usr/sbin/mke2fs |
mkfifo | nein | ja | /usr/bin/mkfifo |
mkfs.ext2 | ja | ja | /usr/sbin/mkfs.ext2 |
mkfs.ext3 | ja | ja | /usr/sbin/mkfs.ext3 |
mkfs.minix | nein | nein | keiner — keine Unterstützung für das Minix-Dateisystem |
mknod | ja | ja | /usr/bin/mknod |
mkswap | ja | ja | /usr/sbin/mkswap |
mktemp | ja | ja | /usr/bin/mktemp |
modprobe | ja | ja | /sbin/modprobe , /usr/sbin/modprobe |
more | ja | ja | /usr/bin/more |
mount | ja | ja | /sbin/mount , /usr/bin/mount |
mountpoint | nein | nein | Schauen Sie auf die Ausgabe des mount-Befehls |
msh | nein | nein | none |
mt | ja | ja | /usr/bin/mt |
mv | ja | ja | /usr/bin/mv |
nameif | nein | nein | none |
nc | nein | ja | /usr/bin/nc |
netstat | nein | ja | /bin/netstat |
nice | nein | ja | /bin/nice |
nohup | nein | ja | /usr/bin/nohup |
nslookup | ja | ja | /usr/bin/nslookup |
od | nein | ja | /usr/bin/od |
openvt | ja | ja | /usr/bin/openvt |
passwd | nein | ja | /usr/bin/passwd |
patch | nein | ja | /usr/bin/patch |
pidof | ja | ja | /usr/sbin/pidof |
ping | ja | ja | /usr/bin/ping |
ping6 | nein | ja | /bin/ping6 |
pipe_progress | nein | nein | none |
pivot_root | nein | ja | /sbin/pivot_root |
printenv | nein | ja | /usr/bin/printenv |
printf | nein | ja | /usr/bin/printf |
ps | ja | ja | /usr/bin/ps |
pwd | ja | ja | /usr/bin/pwd |
rdate | nein | ja | /usr/bin/rdate |
readlink | ja | ja | /sbin/readlink , /usr/bin/readlink |
readprofile | nein | ja | /usr/sbin/readprofile |
realpath | nein | nein | Python os.path.realpath() |
renice | nein | ja | /usr/bin/renice |
reset | nein | ja | /usr/bin/reset |
rm | ja | ja | /sbin/rm , /usr/bin/rm |
rmdir | ja | ja | /sbin/rmdir , /usr/bin/rmdir |
rmmod | ja | ja | /sbin/rmmod , /usr/bin/rmmod |
route | ja | ja | /sbin/route , /usr/sbin/route |
rpm | ja | ja | /usr/bin/rpm |
rpm2cpio | nein | ja | /usr/bin/rpm2cpio |
run-parts | nein | nein | none |
runlevel | nein | nein | none |
rx | nein | nein | none |
sed | ja | ja | /sbin/sed , /usr/bin/sed |
seq | nein | ja | /usr/bin/seq |
setarch | nein | ja | /usr/bin/setarch |
setconsole | nein | nein | none |
setkeycodes | nein | ja | /usr/bin/setkeycodes |
setlogcons | nein | nein | none |
setsid | nein | ja | /usr/bin/setsid |
sh | ja | ja | /sbin/sh , /usr/bin/sh |
sha1sum | ja | ja | /usr/bin/sha1sum |
sleep | ja | ja | /sbin/sleep , /usr/bin/sleep |
sort | ja | ja | /usr/bin/sort |
start-stop-daemon | nein | nein | none |
stat | nein | ja | /usr/bin/stat oder Python os.stat() |
strings | nein | ja | /usr/bin/strings |
stty | nein | ja | /bin/stty |
su | nein | ja | /bin/su |
sulogin | nein | ja | /sbin/sulogin |
sum | nein | ja | /usr/bin/sum |
swapoff | ja | ja | /usr/sbin/swapoff |
swapon | ja | ja | /usr/sbin/swapon |
switch_root | nein | ja | /sbin/switch_root |
sync | ja | ja | /usr/bin/sync |
sysctl | nein | ja | /sbin/sysctl |
tail | ja | ja | /usr/bin/tail |
tar | ja | ja | /usr/bin/tar |
tee | ja | ja | /usr/bin/tee |
telnet | ja | ja | /usr/bin/telnet |
telnetd | nein | nein | keiner — keine Daemons für Scriptlets verfügbar |
test | nein | ja | /usr/bin/test oder [ in bash |
tftp | nein | ja | /usr/bin/tftp |
time | nein | ja | /usr/bin/time oder Python |
top | ja | ja | /usr/bin/top |
touch | ja | ja | /sbin/touch , /usr/bin/touch |
tr | nein | ja | /usr/bin/tr oder Python |
traceroute | nein | ja | /bin/traceroute |
true | ja | ja | /usr/bin/true |
tty | nein | ja | /usr/bin/tty |
tune2fs | ja | ja | /usr/sbin/tune2fs |
udhcpc | nein | nein | /sbin/dhclient |
udhcpd | nein | nein | keiner — keine Daemons für Scriptlets verfügbar |
umount | ja | ja | /sbin/umount , /usr/bin/umount |
uname | nein | ja | /bin/uname oder Python os.uname() |
uncompress | nein | nein | none |
uniq | ja | ja | /usr/bin/uniq |
unix2dos | nein | nein | sed 's/$//' |
unlzma | nein | ja | /usr/bin/unlzma |
unzip | nein | ja | /usr/bin/unzip |
uptime | nein | ja | /usr/bin/uptime oder Python, das /proc/uptime ausliest |
usleep | nein | ja | /bin/usleep oder Python |
uudecode | nein | ja | /usr/bin/uudecode oder Python |
uuencode | nein | ja | /usr/bin/uuencode oder Python |
vconfig | ja | ja | /usr/sbin/vconfig |
vi | ja | ja | /usr/bin/vi |
vlock | nein | nein | none |
watch | nein | ja | /usr/bin/watch |
watchdog | nein | nein | none |
wc | ja | ja | /usr/bin/wc |
wget | ja | ja | /sbin/wget , /usr/bin/wget |
which | nein | ja | /usr/bin/which |
who | nein | ja | /usr/bin/who |
whoami | nein | ja | /usr/bin/whoami |
xargs | ja | ja | /usr/bin/xargs |
yes | nein | ja | /usr/bin/yes |
zcat | ja | ja | /usr/bin/zcat |
zcip | nein | nein | NetworkManager sollte sich darum kümmern |
[a]
Red Hat Enterprise Linux 6 wird mit GNU awk anstelle von Busybox awk in der Installationsumgebung ausgeliefert.
[b]
GNU-Bash kann Basisnamen-Funktionalität unter Verwendung von String-Manipulation liefern. Wenn var="/usr/bin/command" ist, dann ergibt echo ${var##*/} command .
[c]
GNU-Bash kann dirname-Funktionalität unter Verwendung von String-Manipulation liefern. Wenn var="/usr/bin/command" ist, dann ergibt echo ${var%/*} /usr/bin .
|