如何使BusyBox在我的后端操作系统可以是xyz的地方运行?


0

我试图在ArchLinux,Fedora或Ubuntu上设置BusyBox。因此,当我telnet时,我可以得到以下内容:

但是我该如何开始?只需在我现有的发行版上安装Busybox?这会包装我所有的外部第三方库吗?

$ telnet 192.168.0.198 23
Trying 192.168.0.198...
Connected to 192.168.0.198.
Escape character is '^]'.

(none) login: root
Password: 


BusyBox v1.1.2 (2008.07.18-08:25+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

Welcome to HiLinux.
-sh: nfsroot: not found
~ $ help

Built-in commands:
-------------------
        . : alias bg break cd chdir command continue echo eval exec exit
        export false fg getopts hash help jobs kill let local pwd read
        readonly return set shift times trap true type ulimit umask unalias
        unset wait
~ $ man alias
-sh: man: not found

跟进:

对于实验,我尝试了全面安装的装置:

0)后端操作系统是Arch,Ubuntu,Fedora,CentOS

1)安装忙箱

2)运行busybox

$ busybox
BusyBox v1.17.1 (Ubuntu 1:1.17.1-10ubuntu1) multi-call binary.
Copyright (C) 1998-2009 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:
    [, [[, adjtimex, arping, ash, awk, basename, blockdev, brctl, bunzip2, bzcat,
    bzip2, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp, cpio, cut,
    date, dc, dd, deallocvt, df, dirname, dmesg, dnsdomainname, dos2unix, du,
    dumpkmap, dumpleases, echo, egrep, env, expr, false, fgrep, find, fold, free,
    ftpget, ftpput, getopt, grep, gunzip, gzip, head, hexdump, hostid, hostname,
    httpd, id, ifconfig, ionice, ip, ipcalc, kill, killall, klogd, last, length,
    ln, loadfont, loadkmap, logger, logname, logread, losetup, ls, lzcat, lzma,
    md5sum, mdev, mkdir, mkfifo, mknod, mktemp, more, mount, mt, mv, nameif, nc,
    netstat, nslookup, od, openvt, patch, pidof, ping, ping6, printf, ps, pwd,
    rdate, readlink, realpath, renice, reset, rev, rm, rmdir, route, rpm, rpm2cpio,
    run-parts, sed, setkeycodes, sh, sha1sum, sha256sum, sha512sum, sleep, sort,
    start-stop-daemon, static-sh, strings, stty, swapoff, swapon, sync, sysctl,
    syslogd, tac, tail, tar, tee, telnet, test, tftp, time, top, touch, tr,
    traceroute, traceroute6, true, tty, udhcpc, udhcpd, umount, uname, uncompress,
    uniq, unix2dos, unlzma, unxz, unzip, uptime, usleep, uudecode, uuencode, vi,
    watch, watchdog, wc, wget, which, who, whoami, xargs, xz, xzcat, yes, zcat

你不想要BusyBox,你想学习如何使用 ssh。和 telnet 作为根。
geekosaur

@geekosaur:BusyBox是很有趣的东西,我很好奇知道如何...
YumYumYum

我必须使用Telnet,因为我的朋友可以使用PHP,CGI进行编码,这样他就可以简单地使用telnet命令来驱动它。
YumYumYum

BusyBox是一个适用于没有完整安装的嵌入式平台的迷你系统。在已经完全安装的系统上,您必须登录然后运行它(您可以 想要将root的shell更改为它;这可能会完全打破你的系统)。
geekosaur

@geekosaur:我知道我知道,但这一切都是为了好玩的崩溃和学习和乐趣。
YumYumYum

Answers:


2

“BusyBox是一个多调用二进制文件,它将许多常见的Unix实用程序组合成一个可执行文件。”

BusyBox本身不能像你在标题中提到的那样“运行”。 BusyBox不是像MythTV或XBMC这样的用户界面。通过安装已安装的发行版的“在顶部”不确定您的意思,因为BusyBox可执行文件可以与所有其他实用程序一起安装在文件系统中。只有当您开始使用符号链接替换BusyBox版本的标准实用程序时,您才能破坏安装。

因此,当我telnet时,我可以得到以下内容:

如果你想使用BusyBox的版本 远程登录 而不是发行版的版本 远程登录 ,那么你将不得不编辑运行级别脚本(或 inetd的 配置)使用BusyBox telnet守护进程, 的telnetd 而不是发行版 的telnetd

如需快速实验,请检查是否有 远程登录 要么 INET 通过列出所有进程,守护程序在您的系统中运行:

$ ps -A | grep net

如果存在telnetd或inetd守护程序,则必须停止服务或终止守护程序。如果没有telnetd或inetd守护进程,那么你应该能够手动启动BusyBox telnetd守护进程(可能必须以sudo开头):

$ busybox telnetd 

当然,在你telnet进入PC之后,shell仍然可能根据PATH而不是BusyBox版本来调用发行版的实用程序。您必须安装符号链接或明确使用

$ busybox [function] [arguments]...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.