?? changelog
字號:
* logname used getlogin(3) which uses utmp. Now it doesn't. * whoami used getpwuid(3) which uses libc NSS. Now it behaves. * Add support for "noatime" and "nodiratime" mount flags to mount. * Changed 'umount -f' to mean force, and actually use umount2. * Changed 'umount -l' to mean "Do not free loop device". * Fixed basename to support stripping of suffixes. Patch thanks to xiong jianxin <jxiong@uiuc.edu> * cp -fa now works as expected for symlinks (it didn't before) * zcat now works (wasn't working since option parsing was broken) * Renamed "mnc" to the more correct "nc" (for netcat). * Makefile intelligence updates * Changed the way init parses /etc/inittab entries to avoid problems with commands that contain colons in them. Fix thanks to Pavel Roskin <proski@gnu.org> * Fixed a warning in utility.c due to char being unsigned on Linux/PPC, Fix thanks to Pavel Roskin <proski@gnu.org> * Made "killall" complain (not error and exit) about processes that it cannot find by name -- Pavel Roskin <proski@gnu.org> * Fixed more and ps to have sensible terminal width defaults, thanks to Pavel Roskin. * Fixed all fatalError() calls lacking a "\n", thanks to Pavel Roskin. * Fixed a segfault in yes when no args were given -- Pavel Roskin. * Simplified freeramdisk and added argument checking -- Pavel Roskin. * Fixed segfault caused by "touch -c" * Fixed segfault caused by "rm -f" * Fixed segfault caused by "ln -s -s" and similar abuses. Further fixes and "--" support from Pavel Roskin. * Fixed segfault caused by "cp -a -a" and similar abuses. * Implemented "rm -- <foo>". Implementation fixed by Pavel Roskin. * "which" rewritten to use stat(). Fixes to improve its compatability with traditional implementations -- Pavel Roskin. * "mount" now reports errors from nfsmount() and assumes NFS mount if ':' is present in the device name - Pavel Roskin * Fixed exit status for killall - Pavel Roskin * Fixed 'swapon -a' and 'swapoff -a', which were broken. * Fixed 'mount -a' so it works as expected. * Implemented 'ls -R' (enabled by enabling BB_FEATURE_LS_RECURSIVE) * Implemented "ping -s", fixed error messages and argument parsing - Pavel Roskin * Syslogd will not go to background if "-n" is given. Better help and argument checking -- Pavel Roskin * Fixed a small bug that could cause tar to emit warning messages and not extract the first file in a directory in some cases of nested directories. Thanks to Kevin Traas <kevin@netmaster.com> for helping track this one down. * More doc updates * Fixed grep "Line too long" problem -- John Beppu * Fixed 'grep -q -i B some_file' so it works * math takes input from stdin if no args are given. -- John Beppu * math was renamed to dc. Although it deviates from dc's behaviour, this will probably be remedied in the future. -- John Beppu -Erik Andersen, June 21, 20000.44 Previously, an erronous announcement of BusyBox 0.44 was made, so to avoid possible confusion, we are skipping straight to 0.45, and calling it good. -Erik Andersen0.43 * Major update to the provided documentation. * Busybox now includes a shell! It currently costs 7.5 k (plus an additional 2.5 k if you compile in command line editing). Handles job control, has the usual set of builtins, and does everything except for handling programming statements (if, while, etc...) * Busybox can now work perfectly when /proc is disabled, thereby saving a bunch of memory (kernel /proc support is not thin). This is done by making use of some nice kernel patches I wrote up to support the features that busybox requires and that /proc usually provides. To enable this, turn on BB_FEATURE_USE_DEVPS_PATCH and patch your kernel with the devps patch in the kernel-patches/ directory. * Wrote basename, dirname, killall, and uptime. * tar has been completely rewritten by me. Both tar creation and extraction are now well behaved. Costs 7.6k with all optional tar features enabled, and 5k for just tar extraction support. * Added freeramdisk, which will free up all memory associated with a ram disk. Contributed by Emanuele Caratti <wiz@iol.it> and then adjusted a bit by me. * Added tr from John Lombardo <john@deltanet.com> * Added echo and test (from me). * Added usleep contributed by Nicolas Pitre <nico@cam.org> * BusyBox's bss size has been majorly reduced (was 384668, is now 28740). * Several fixes from Pavel Roskin <proski@gnu.org>: - When `tail' fails to open a file it now exits. - When `syslogd' is given the `-n' option it should still use fork() for running klogd. * nslookup types are now changed to u_int32_t (instead of uint32_t) changed per a patch from Pascal Bellard <pascal.bellard@ascend.com> * Fixed "du" so it gives the same answers as GNU "du" (busybox du used to count hard-linked files more then once). Many thanks to Friedrich Vedder <fwv@myrtle.lahn.de> for the fix. * Removed /proc dependancies for init and free (while maintaining exactly the same functionality). /proc takes up 90k of kernel space, so it is nice to avoid using it at all costs. * init no longer tries to mount /proc (unless there is less the 1 meg free). Use of /proc (or not) is policy that should be set up in /etc/fstab (or in hardcoded scripts), not in init. * Fixed rebooting when init runs as an initrd. * Fixes and updates from Karl M. Hegbloom <karlheg@debian.org> - update.c rewritten to look more like update-2.11 - moveed the inode hash out of du.c and into utility.c to make it a common resource that can be used by other apps. - cp_mv.c now checks inodes to see if a source and dest are the same, and prints an error (instead of endlessly looping). - mv now attempts to do a rename, and will fall back to doing a copy only if the rename fails. - Syslogd now supports multiple concurrent connections * Several fixes from Pavel Roskin <proski@gnu.org>: - Fixes to sort. Removed "-g", fixed and added "-r" - Fixes to the makefile for handling "strip" * An initial telnet implementation was added by Randolph Chung <tausq@debian.org>. * Fixed a bug where "sed 's/foo/bar/g'" (i.e. a script w/o a "-e") * ps now supports BB_FEATURE_AUTOWIDTH, and can adjust its width to match the terminal (defaults to width=79 when this is off). * ps now accepts (and ignores) all options except for "--help" (which as would be expected displays help). * Fixed mount'ing loop devices when the filesystem type was not specified. It used to revert to non-loop after the first try. * all mallocs now use xmalloc (and so are OOM error safe), and the common error handling saves a few bytes. Thanks to Bob Tinsley <bob@earthrise.demon.co.uk> for the patch. * Fix "+" parsing bug in date, from "Merle F. McClelland" <mfm@cts.com>. * Fix symlink following bug in chmod -R and friends. * Now allows SYSV style 'chown foo:bar' in addition to 'chown foo.bar' * Fixed a bug in the busybox globbing routine such that 'find /dir -name [i]' no longer segfaults. -Erik Andersen0.42 * Fairly massive restructuring of umount.c to deal with remounting busy devices read-only. Adds a -r option to control that; it is optionally compiled in with BB_FEATURE_REMOUNT * Added a bunch of functions to mtab.c to interact with the {get,set,end}mntent interface; as it turns out, those functions do not appear to be re-entrant, and that causes a lot of problems with the way umount was originally written. * Makes init send TERM and KILL (instead of HUP and KILL) on reboot to be more consistent with sysvinit * Changes to init.c to use the new -r option to umount. Also increased the sleep time between the time the TERM and KILL signals are sent - Randolph Chung * cp.c, mv.c: removed, replaced by cp_mv.c which has been extensively rewritten from the original cp.c. * Fixed cp and mv so if the source and destination are a the same directory it will print an error and continue. * Also added a warning message to the `mv' usage string saying that this is not GNU mv, and it will break hard links. cp also breaks hard links. * ln.c: implemented `-n' switch, no-deref symlinks. * include<sys/param.h>: and use PATH_MAX everywhere. busybox: File * name buffer overrun guards to prevent future crashes. - Always check exit status. - Purge all use of `creat()', replace with `open()'. * utility.c - recursiveAction was overriding the value of followLinks thus ignoring it. - isDirectory now takes a followLinks boolean, updated all callers - copyFile had the followLinks logic reversed. * messages.c: New file. Put common error message strings all in one place in an attempt to shrink the binary a little. -Karl M. Hegbloom * changed fsck_minix.c to reduce its .bss size significantly -beppu -piptigger * Made tar creation support in busybox tar optional. You no longer * _have_ to put a "-" in front of tar options. Tar could inadvertently * change permissions and ownership on certain directories pointed to by symlinks. * Made grep and grep -h do the right thing wrt printing the file name (it failed to print files names in many cases). * Fix a namespace aliasing problem wereby if du was built in, the symlink for both du and dutmp would be installed, or then rm was built in, the symlinks for both rm and rmmod would be installed. * Added a closelog() to init.c after loging -- fix thanks to Taketoshi Sano <kgh12351@nifty.ne.jp> * Rewrote and simplified logger. Added the "-t" option, and made it behave itself a bit better. * Optional support contributed by Ben Collins <bcollins@debian.org> for the kernel init chroot patch by Werner Almesberger, which allows init to chroot to a new device, and umount the old one. * Fixed bug that wouldn't let one chown a symlink -- it would always dereference before. -beppu * Fixed a bug where init could have reference already freed memory. Found and fixed by Taketoshi Sano <kgh12351@nifty.ne.jp> * Several contributions from Friedrich Vedder <fwv@myrtle.lahn.de> * Added (and documented) "-n" option for head * Cleanup for a number of usage messages -- also contributed Friedrich Vedder <fwv@myrtle.lahn.de> * Cosmetic fix to busybox.c (Don't print a comma at the end of line if there are no more application names). * Fixed a stupid bug in "head" option handling ("head -n" would segfault). * Moved commonly used functions "xmalloc()" and "exit()" to utility.c (with proper #ifdef's). * Created a tiny tail implementation, removing -c, -q, -v, and making tail -f work only with a single file. This reduced tail from 6k to 2.4k. The bigger/more featured tail can still be had by disabling BB_FEATURE_SIMPLE_TAIL in busybox.defs.h * Ping now falls back to doing the right thing if /etc/protocols turns up missing. * Fixed mount and umount. Previously they could leak loop device allocations, causing the system to quickly run out. Fix for umount by Ben Collins <bcollins@debian.org>, and mount was fixed by me. * ls formatting on eight charactor user names fixed by Randolph Chung <tausq@debian.org>. * cp could, when copying symlinks, change permissions of the files pointed to by the symlinks. * Several fixes from Pavel Roskin <proski@gnu.org>: - `chown' with 1 argument displayed the error incorrectly - `fdflush', `length' and `printf' crashed if run without arguments - `fdflush' tried to flush itself using *argv - added "skip" and "seek" to dd. - ls no longer messus up output when combining files and directories on the command line * swapoff -a was not working. Now it is. * init did not cleanly unmount filesystems on reboot. Now it does. * "sed -ne s/foo/bar/" worked but "sed -n -e s/foo/bar/" didn't. Now both work. * Some architectures (PowerPc) assume chars are unsigned, so they could not distinguish between EOF and '\0xFF' in sed. Sed now uses ints. * Began converting error handling to use some common routines in utility.c * syslogd now has better message handling and ignores SIGHUP. * install.sh had a bug preventing installation to the specified target directory. Fix from Gilbert Coville <gilbert@mvista.com> * You can now spefify alternative strip commands -- change also from Gilbert Coville. -Erik Andersen0.41 * New Apps: wc, hostid, logname, tty, whoami, yes -- all contributed by Edward Betts <edward@debian.org> * Fixed a bug in both cp and mv preventing 'cp foo/README bar' type commands (file in a directory to another directory) from working. * Fixed a logger bug that caused garbage to be written to the syslog (unless you used busybox syslog, which hid the bug). Thanks to Alex Holden <alex@linuxhacker.org> for the fix. * /bin/true and /bin/false were echoing a blank line when run. Now fixed. * mkdir -p would print an error when asked to mkdir an existing dir with no interveining subdirectories. * Fixed "syslogd -O" so that it works. Added -o loop option for mount, * and support in umount for loop devices. Support is toggled by MOUNT_LOOP feature -- Ben Collins <bcollins@debian.org> * Several fixes from Marco Pantaleoni <panta@prosa.it> compile in * fullWrite() not only if BB_TAR is defined, but also if BB_CP or BB_MV are (fullWrite() is referenced by copyFile()) * add some compiler optimizations to further reduce executable size (as a side note, on my machines the largest code is generated by gcc 2.95.2 with -Os ! The smallest by plain gcc 2.7.2.3 with -O2 -m386 ...) * Compile now won't fail if busybox.def.h defines BB_FEATURE_LINUXRC but not BB_INIT. (init_main used to be referenced, but not compiled) * Fixed a bug in setting TERM for serial console support. TERM now defaults to "ansi" for serial consoles. * Fixed a bug in handling the CONSOLE env. variable for serial * consoles.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -