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가 제공하긴 하지만, 모든 명령어를 모든 설치된 시스템에서 사용가능한 것은 아닙니다.
어떤 명령이 사용 불가능한 것으로 나온다면, 그와 동일한 기능을 하는 파이썬 스크립트를 작성할 수도 있습니다. 파이썬 언어는 %pre와 %post 스크립트 작성자가 사용할 수 있으며, 즉시 사용할 수 있는 완전한 파이썬 모듈과 함께 제공됩니다. 따라서, 특정 명령을 설치된 환경에서 사용할 수 없는 경우, 파이썬을 스크립트 언어로 사용할 것을 권장합니다.
표 G.1. busybox 대안
Busybox 명령 | %pre | %post | 새로운 명령 또는 대안 |
---|---|---|---|
addgroup | 아니오 | 예 | /usr/sbin/groupadd |
adduser | 아니오 | 예 | /usr/sbin/useradd |
adjtimex | 아니오 | 아니오 | 없음 |
ar | 아니오 | 예 | /usr/bin/ar |
arping | 예 | 예 | /sbin/arping or /usr/sbin/arping |
ash | 예 | 예 | /bin/bash |
awk | 예 | 예 | /sbin/awk , /sbin/gawk , /usr/bin/gawk [a] |
basename | 예 | 예 | /bin/bash [b], /usr/bin/basename |
bbconfig | 아니오 | 아니오 | 없음 — 이 명령은 Busybox에만 사용가능합니다. |
bunzip2 | 예 | 예 | /usr/bin/bunzip2 , /usr/bin/bzip2 -d |
busybox | 아니오 | 아니오 | 없음 |
bzcat | 예 | 예 | /usr/bin/bzcat , /usr/bin/bzip2 -dc |
cal | 아니오 | 예 | /usr/bin/cal |
cat | 예 | 예 | /usr/bin/cat |
catv | 아니오 | 아니오 | cat -vET or 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 | 아니오 | 예 | /usr/bin/cksum |
clear | 예 | 예 | /usr/bin/clear |
cmp | 아니오 | 예 | /usr/bin/cmp |
comm | 아니오 | 예 | /usr/bin/comm |
cp | 예 | 예 | /usr/bin/cp |
cpio | 예 | 예 | /usr/bin/cpio |
crond | 아니오 | 아니오 | 없음 — 스크립틀릿에서는 데몬을 쓸 수 없습니다 |
crontab | 아니오 | 예 | /usr/bin/crontab |
cut | 예 | 예 | /usr/bin/cut |
date | 예 | 예 | /usr/bin/date |
dc | 아니오 | 예 | /usr/bin/dc |
dd | 예 | 예 | /usr/bin/dd |
deallocvt | 아니오 | 예 | /usr/bin/deallocvt |
delgroup | 아니오 | 예 | /usr/sbin/groupdel |
deluser | 아니오 | 예 | /usr/sbin/userdel |
devfsd | 아니오 | 아니오 | 없음 — Red Hat Enterprise Linux는 devfs를 사용하지 않습니다. |
df | 예 | 예 | /usr/bin/df |
diff | 아니오 | 예 | /usr/bin/diff |
dirname | 예 | 예 | /bin/bash [c], /usr/bin/dirname |
dmesg | 예 | 예 | /usr/bin/dmesg |
dnsd | 아니오 | 아니오 | 없음 — 스크립틀릿에서는 데몬을 쓸 수 없습니다 |
dos2unix | 아니오 | 아니오 | sed 's/.$//' |
dpkg | 아니오 | 아니오 | 없음 — Debian 패키지를 지원하지 않습니다 |
dpkg-deb | 아니오 | 아니오 | 없음 — Debian 패키지를 지원하지 않습니다 |
du | 예 | 예 | /usr/bin/du |
dumpkmap | 아니오 | 아니오 | 없음 |
dumpleases | 아니오 | 아니오 | 없음 |
e2fsck | 예 | 예 | /usr/sbin/e2fsck |
e2label | 예 | 예 | /usr/sbin/e2label |
echo | 예 | 예 | /usr/bin/echo |
ed | 아니오 | 아니오 | /sbin/sed , /usr/bin/sed |
egrep | 예 | 예 | /sbin/egrep , /usr/bin/egrep |
eject | 예 | 예 | /usr/bin/eject |
env | 예 | 예 | /usr/bin/env |
ether-wake | 아니오 | 아니오 | 없음 |
expr | 예 | 예 | /usr/bin/expr |
fakeidentd | 아니오 | 아니오 | 없음 — 스크립틀릿에서는 데몬을 쓸 수 없습니다 |
false | 예 | 예 | /usr/bin/false |
fbset | 아니오 | 예 | /usr/sbin/fbset |
fdflush | 아니오 | 아니오 | 없음 |
fdformat | 아니오 | 예 | /usr/bin/fdformat |
fdisk | 예 | 예 | /usr/sbin/fdisk |
fgrep | 예 | 예 | /sbin/fgrep , /usr/bin/fgrep |
find | 예 | 예 | /usr/bin/find |
findfs | 아니오 | 아니오 | 없음 |
fold | 아니오 | 예 | /usr/bin/fold |
free | 아니오 | 예 | /usr/bin/free |
freeramdisk | 아니오 | 아니오 | 없음 |
fsck | 예 | 예 | /usr/sbin/fsck |
fsck.ext2 | 예 | 예 | /usr/sbin/fsck.ext2 , /usr/sbin/e2fsck |
fsck.ext3 | 예 | 예 | /usr/sbin/fsck.ext3 , /usr/sbin/e2fsck |
fsck.minix | 아니오 | 아니오 | 없음 — Minix 파일 시스템을 지원하지 않습니다. |
ftpget | 예 | 예 | /usr/bin/ftp 또는 Python ftplib 모듈 |
ftpput | 예 | 예 | /usr/bin/ftp 또는 Python ftplib 모듈 |
fuser | 아니오 | 예 | /sbin/fuser |
getopt | 아니오 | 예 | /usr/bin/getopt |
getty | 아니오 | 아니오 | 없음 |
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 | 아니오 | 예 | /usr/bin/hexdump |
hostid | 아니오 | 예 | /usr/bin/hostid 또는 Python |
hostname | 예 | 예 | /sbin/hostname , /usr/bin/hostname |
httpd | 아니오 | 아니오 | 없음 — 스크립틀릿에서는 데몬을 쓸 수 없습니다 |
hush | 아니오 | 아니오 | 없음 |
hwclock | 예 | 예 | /usr/sbin/hwclock |
id | 아니오 | 예 | /usr/bin/id 또는 Python |
ifconfig | 예 | 예 | /sbin/ifconfig , /usr/sbin/ifconfig |
ifdown | 아니오 | 아니오 | ifconfig device down |
ifup | 아니오 | 아니오 | ifconfig device up |
inetd | 아니오 | 아니오 | 없음 — 스크립틀릿에서는 데몬을 쓸 수 없습니다 |
insmod | 예 | 예 | /sbin/insmod , /usr/sbin/insmod |
install | 아니오 | 예 | /usr/bin/install 또는 mkdir/cp/chmod/chown/chgrp |
ip | 예 | 예 | /sbin/ip , /usr/sbin/ip |
ipaddr | 아니오 | 아니오 | ifconfig 또는 ip |
ipcalc | 예 | 예 | /sbin/ipcalc , /usr/bin/ipcalc |
ipcrm | 아니오 | 예 | /usr/bin/ipcrm |
ipcs | 아니오 | 예 | /usr/bin/ipcs |
iplink | 아니오 | 아니오 | ip |
iproute | 아니오 | 아니오 | ip |
iptunnel | 아니오 | 예 | /sbin/iptunnel |
kill | 예 | 예 | /sbin/kill , /usr/bin/kill |
killall | 예 | 예 | /usr/bin/killall |
lash | 아니오 | 아니오 | 없음 |
last | 아니오 | 예 | /usr/bin/last |
length | 아니오 | 아니오 | Python 또는 bash |
less | 예 | 예 | /usr/bin/less |
linux32 | 아니오 | 아니오 | 없음 |
linux64 | 아니오 | 아니오 | 없음 |
ln | 예 | 예 | /sbin/ln , /usr/bin/ln |
load_policy | 예 | 예 | /sbin/load_policy , /usr/sbin/load_policy |
loadfont | 아니오 | 아니오 | 없음 |
loadkmap | 아니오 | 아니오 | 없음 |
login | 예 | 예 | /usr/bin/login |
logname | 아니오 | 예 | /usr/bin/logname |
losetup | 예 | 예 | /usr/bin/losetup |
ls | 예 | 예 | /usr/bin/ls |
lsattr | 예 | 예 | /usr/bin/lsattr |
lsmod | 예 | 예 | /usr/bin/lsmod |
lzmacat | 아니오 | 예 | /usr/bin/lzmadec |
makedevs | 아니오 | 아니오 | /usr/bin/mknod |
md5sum | 예 | 예 | /usr/bin/md5sum |
mdev | 아니오 | 아니오 | 없음 |
mesg | 아니오 | 예 | /usr/bin/mesg |
mkdir | 예 | 예 | /sbin/mkdir , /usr/bin/mkdir |
mke2fs | 예 | 예 | /usr/sbin/mke2fs |
mkfifo | 아니오 | 예 | /usr/bin/mkfifo |
mkfs.ext2 | 예 | 예 | /usr/sbin/mkfs.ext2 |
mkfs.ext3 | 예 | 예 | /usr/sbin/mkfs.ext3 |
mkfs.minix | 아니오 | 아니오 | 없음 — 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 | 아니오 | 아니오 | mount 명령의 출력을 살펴보십시오 |
msh | 아니오 | 아니오 | 없음 |
mt | 예 | 예 | /usr/bin/mt |
mv | 예 | 예 | /usr/bin/mv |
nameif | 아니오 | 아니오 | 없음 |
nc | 아니오 | 예 | /usr/bin/nc |
netstat | 아니오 | 예 | /bin/netstat |
nice | 아니오 | 예 | /bin/nice |
nohup | 아니오 | 예 | /usr/bin/nohup |
nslookup | 예 | 예 | /usr/bin/nslookup |
od | 아니오 | 예 | /usr/bin/od |
openvt | 예 | 예 | /usr/bin/openvt |
passwd | 아니오 | 예 | /usr/bin/passwd |
patch | 아니오 | 예 | /usr/bin/patch |
pidof | 예 | 예 | /usr/sbin/pidof |
ping | 예 | 예 | /usr/bin/ping |
ping6 | 아니오 | 예 | /bin/ping6 |
pipe_progress | 아니오 | 아니오 | 없음 |
pivot_root | 아니오 | 예 | /sbin/pivot_root |
printenv | 아니오 | 예 | /usr/bin/printenv |
printf | 아니오 | 예 | /usr/bin/printf |
ps | 예 | 예 | /usr/bin/ps |
pwd | 예 | 예 | /usr/bin/pwd |
rdate | 아니오 | 예 | /usr/bin/rdate |
readlink | 예 | 예 | /sbin/readlink , /usr/bin/readlink |
readprofile | 아니오 | 예 | /usr/sbin/readprofile |
realpath | 아니오 | 아니오 | Python os.path.realpath() |
renice | 아니오 | 예 | /usr/bin/renice |
reset | 아니오 | 예 | /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 | 아니오 | 예 | /usr/bin/rpm2cpio |
run-parts | 아니오 | 아니오 | 없음 |
runlevel | 아니오 | 아니오 | 없음 |
rx | 아니오 | 아니오 | 없음 |
sed | 예 | 예 | /sbin/sed , /usr/bin/sed |
seq | 아니오 | 예 | /usr/bin/seq |
setarch | 아니오 | 예 | /usr/bin/setarch |
setconsole | 아니오 | 아니오 | 없음 |
setkeycodes | 아니오 | 예 | /usr/bin/setkeycodes |
setlogcons | 아니오 | 아니오 | 없음 |
setsid | 아니오 | 예 | /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 | 아니오 | 아니오 | 없음 |
stat | 아니오 | 예 | /usr/bin/stat 또는 Python os.stat() |
strings | 아니오 | 예 | /usr/bin/strings |
stty | 아니오 | 예 | /bin/stty |
su | 아니오 | 예 | /bin/su |
sulogin | 아니오 | 예 | /sbin/sulogin |
sum | 아니오 | 예 | /usr/bin/sum |
swapoff | 예 | 예 | /usr/sbin/swapoff |
swapon | 예 | 예 | /usr/sbin/swapon |
switch_root | 아니오 | 예 | /sbin/switch_root |
sync | 예 | 예 | /usr/bin/sync |
sysctl | 아니오 | 예 | /sbin/sysctl |
tail | 예 | 예 | /usr/bin/tail |
tar | 예 | 예 | /usr/bin/tar |
tee | 예 | 예 | /usr/bin/tee |
telnet | 예 | 예 | /usr/bin/telnet |
telnetd | 아니오 | 아니오 | 없음 — 스크립틀릿에서는 데몬을 쓸 수 없습니다 |
test | 아니오 | 예 | /usr/bin/test 또는 bash 내에 [ |
tftp | 아니오 | 예 | /usr/bin/tftp |
time | 아니오 | 예 | /usr/bin/time 또는 Python |
top | 예 | 예 | /usr/bin/top |
touch | 예 | 예 | /sbin/touch , /usr/bin/touch |
tr | 아니오 | 예 | /usr/bin/tr 또는 Python |
traceroute | 아니오 | 예 | /bin/traceroute |
true | 예 | 예 | /usr/bin/true |
tty | 아니오 | 예 | /usr/bin/tty |
tune2fs | 예 | 예 | /usr/sbin/tune2fs |
udhcpc | 아니오 | 아니오 | /sbin/dhclient |
udhcpd | 아니오 | 아니오 | 없음 — 스크립틀릿에서는 데몬을 쓸 수 없습니다 |
umount | 예 | 예 | /sbin/umount , /usr/bin/umount |
uname | 아니오 | 예 | /bin/uname 또는 Python os.uname() |
uncompress | 아니오 | 아니오 | 없음 |
uniq | 예 | 예 | /usr/bin/uniq |
unix2dos | 아니오 | 아니오 | sed 's/$//' |
unlzma | 아니오 | 예 | /usr/bin/unlzma |
unzip | 아니오 | 예 | /usr/bin/unzip |
uptime | 아니오 | 예 | /usr/bin/uptime 또는 Python reading /proc/uptime |
usleep | 아니오 | 예 | /bin/usleep 또는 Python |
uudecode | 아니오 | 예 | /usr/bin/uudecode 또는 Python |
uuencode | 아니오 | 예 | /usr/bin/uuencode 또는 Python |
vconfig | 예 | 예 | /usr/sbin/vconfig |
vi | 예 | 예 | /usr/bin/vi |
vlock | 아니오 | 아니오 | 없음 |
watch | 아니오 | 예 | /usr/bin/watch |
watchdog | 아니오 | 아니오 | 없음 |
wc | 예 | 예 | /usr/bin/wc |
wget | 예 | 예 | /sbin/wget , /usr/bin/wget |
which | 아니오 | 예 | /usr/bin/which |
who | 아니오 | 예 | /usr/bin/who |
whoami | 아니오 | 예 | /usr/bin/whoami |
xargs | 예 | 예 | /usr/bin/xargs |
yes | 아니오 | 예 | /usr/bin/yes |
zcat | 예 | 예 | /usr/bin/zcat |
zcip | 아니오 | 아니오 | NetworkManager는 이를 처리해야 합니다 |
[b]
GNU bash는 스트링을 처리해서 basename 기능을 제공할 수 있습니다. var="/usr/bin/command" 라면, echo ${var##*/} 는 command 를 제공합니다.
[c]
GNU bash는 스트링 처리를 통해 dirname 기능을 제공할 수 있습니다. var="/usr/bin/command" 라면, echo ${var%/*} 는 /usr/bin 입니다.
|