보드에 현재 시간을 설정 하기위해  rdate, ntpdate 등을 사용 하는데요

아마 누군가는 rtc 에시간을 설정하는 방법을 검색해 보니 

[root@falinux ~]$rdate -s time.bora.net  

위와 같이 보라넷의 타임서버로 부터 시간을 가져와 저장하는 명령이 검색 되었을 텐데요

아니 이게 왠걸 ;;

[root@falinux ~]$ rdate

-bash: rdate: command not found

[root@falinux ~]$ 

위와 같이 rdate 가 없다고 나옵니다. 

물론 ntpdate 가 있다면 사용 하면 되지만, 우리는 rdate 사용법을 인터넷에서 찾았으므로

rdate 가 있어야 겠지요.


의외로 이 문제는 간단하고 허무 합니다.

busybox에 rdate 가 있기 때문이지요.

간단히 아래와 같이 busybox에 뭐가 들어있는지만 확인해 보아도 대충 답은 나옵니다.

[root@falinux ~]$ busybox

BusyBox v1.14.1 (2009-05-29 09:50:40 EDT) multi-call binary

Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko

and others. Licensed under GPLv2.

See source distribution for full notice.


Usage: busybox [function] [arguments]...

   or: function [arguments]...


        BusyBox is a multi-call binary that combines many common Unix

        utilities into a single executable.  Most people will create a

        link to busybox for each function they wish to use and BusyBox

        will act like whatever it was invoked as!


Currently defined functions:

        [, [[, addgroup, adduser, adjtimex, ar, arp, arping, ash,

        awk, basename, bunzip2, bzcat, bzip2, cal, cat, chat, chattr,

        chgrp, chmod, chown, chpasswd, chroot, chrt, chvt, cksum,

        clear, cmp, cp, cryptpw, cut, date, dd, deallocvt, delgroup,

        deluser, devmem, df, dhcprelay, dirname, dmesg, dnsd, dos2unix,

        du, dumpkmap, dumpleases, echo, ed, egrep, env, expand,

        fakeidentd, false, fbset, fbsplash, fdisk, fgrep, free,

        freeramdisk, fsck, ftpd, ftpget, ftpput, fuser, getopt,

        getty, grep, gunzip, gzip, hdparm, head, hexdump, hostid,

        hostname, httpd, hwclock, id, ifconfig, ifdown, ifenslave,

        ifup, inetd, inotifyd, insmod, ionice, ip, ipaddr, ipcalc,

        ipcrm, ipcs, iplink, iproute, iprule, iptunnel, kbd_mode,

        kill, killall, killall5, klogd, last, length, less, linux32,

        linux64, ln, loadfont, loadkmap, logger, login, logname,

        logread, losetup, ls, lsattr, lsmod, makedevs, md5sum, mkdir,

        mkdosfs, mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modprobe,

        more, mount, mountpoint, mv, nameif, nc, netstat, nice,

        nmeter, nslookup, openvt, passwd, patch, pgrep, pidof, ping,

        ping6, pipe_progress, pivot_root, pkill, printenv, printf,

        ps, pscan, pwd, rdate, rdev, readahead, readlink, readprofile,

        realpath, renice, reset, resize, rm, rmdir, rmmod, route,

        rtcwake, run-parts, runlevel, script, sed, seq, setarch,

        setconsole, setfont, setkeycodes, setlogcons, sh, sha1sum,

        sha256sum, sha512sum, showkey, slattach, sleep, sort, start-stop-daemon,

        stat, strings, stty, su, sulogin, sum, swapoff, swapon,

        switch_root, sync, sysctl, syslogd, tail, tar, tcpsvd, tee,

        telnet, telnetd, test, tftp, tftpd, time, timeout, top,

        touch, tr, traceroute, true, tty, ttysize, tunctl, udhcpc,

        udhcpd, udpsvd, umount, uname, uncompress, unexpand, uniq,

        unix2dos, unzip, uptime, usleep, uudecode, uuencode, vconfig,

        vi, vlock, watch, watchdog, wc, wget, which, who, whoami,

        yes, zcat, zcip


[root@falinux ~]$  


busybox에는 없는게 없다는 생각이 드는군요.

이제 이걸 어떻게 써야 할까요?

쓰는 방법은 두 가지가 있습니다.

그냥 현재 상태에서 

[root@falinux ~]$ busybox rdate 

이렇게 해도 사용이 됩니다.

rdate 단독으로 그냥 명령을 쳐 사용이 가능 하게 하고 싶다면 링크심볼을 만들면 됩니다.

[root@falinux ~]$ 

[root@falinux ~]$ cd /bin/

[root@falinux bin]$ ln -s /bin/busybox rdate

[root@falinux bin]$ 

[root@falinux bin]$ rdate 

BusyBox v1.14.1 (2009-05-29 09:50:40 EDT) multi-call binary


Usage: rdate [-sp] HOST


Get and possibly set the system date and time from a remote HOST


Options:

        -s      Set the system date and time (default)

        -p      Print the date and time


[root@falinux bin]$  


자 이제 인터넷에서 검색된 rdate 명령을 사용 할 수 있게 되었습니다.