Questions tagged «busybox»

BusyBox将许多常见UNIX实用程序的微型版本组合到单个小型可执行文件中。

4
如何从进程中获取整个命令行?
如何使用正在运行的进程的进程名称获取命令参数或整个命令行? 例如此过程: # ps PID USER TIME COMMAND 1452 root 0:00 /sbin/udhcpc -b -T 1 -A 12 -i eth0 -p /var/run/udhcpc.eth0.pid 而我想要的/sbin/udhcpc -b -T 1 -A 12 -i eth0 -p /var/run/udhcpc.eth0.pid还是论点。我知道进程名称,并需要它的参数。我在SliTaz上使用Busybox。

2
是否真正内置BusyBox命令?
我正在阅读著名的Unix Recovery Legend,这让我感到奇怪: 如果我打开了BusyBox外壳,并且BusyBox二进制文件本身也被删除,我是否仍然可以使用BusyBox二进制文件中包含的所有命令? 显然,我将无法从其他正在运行的外壳程序(如)中使用这些命令的BB版本bash,因为BusyBox文件本身将无法bash打开和运行。但是从我正在运行的BusyBox实例中,看来BB可以通过两种方法运行命令: 它可以派生并执行一个新的BusyBox实例,使用适当的名称调用它,然后从磁盘读取BusyBox文件。 它可以派生并执行一些内部逻辑来运行指定的命令(例如,通过将其作为函数调用运行)。 如果(1)是BusyBox的工作方式,我希望删除BB二进制文件后,某些正在运行的BUSYBOX提供的命令将从正在运行的BB实例中不可用。 如果(2)是它的工作方式,则即使已删除BB本身的系统,也可以使用BusyBox进行恢复-前提是仍可以访问正在运行的BusyBox实例。 这在任何地方都有记录吗?如果没有,有没有办法对其进行安全测试?

2
从“ grub救援>”崩溃中恢复[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 4年前关闭。 最初发布到AskUbuntu.com ... AskUbuntu采取了关闭有关EOL(停产)版本的问题的政策。也有一个声音要删除它们。为避免可能丢失此热门问题(迄今为止有342335次观看),请在此处放置修订版。--- docsalvager “经典”系统... 基于Ubuntu 10.04(Lucid Lynx)的Puppy Linux 5.2.8(Lucid) GRUB 2引导程序 GRUB 2在中放入了许多*.mod文件(内核模块)/boot/grub。删除这些文件(认为它们是放错位置的声音文件)会导致重新引导和提示失败grub rescue>。 在这种情况下如何恢复?


8
什么会在每次引导时覆盖/etc/resolv.conf?
我得到了一个迷你文件,该文件可以linux直接启动firefox。它可以完成所有工作,只是无法连接到互联网。 我们的网络中有3台DNS服务器,它们都能正常工作。我也可以Ping他们。但是,当尝试ping google.de或wget google.de我得到一个bad address错误。 nslookup google.de 由于某种原因起作用。 我resolv.conf在引导的系统上一直跟踪该问题,其内容与resolv.conf我放入.iso文件中的内容不同。 我试图了解创建和修改的所有因素resolv.conf。我不太确定我是否已掌握全部内容,但我绝对没有在那儿找到我的解决方案。 因此,作为最后的努力,我尝试使用使resolv.conf文件不可变 :~# chattr +i /etc/resolv.conf 当重建并重新启动时,令我惊讶的是,我的文件被重命名为,resolv.conf~而原来的文件却一直困扰着我。 文件内容使我相信它是从网络本身获取信息的。.iso在无法访问Internet的情况下在Virtualbox中启动时,我的文件将保持原样。 我试图改变/etc/dhcp/dhclient.conf不从网络获取的信息,通过删除domain-name-server并domain-name-search从request该文件的一部分。 不幸的是没有工作。 我没有安装NetworkManager。iso基于Ubuntu 14.04。 可能缺少重要的信息。我很乐意提供。 更新: 我想我找到了清除的文件resolv.conf。 好像是 /usr/share/udhcpc/default.script #!/bin/sh # udhcpc script edited by Tim Riker <Tim@Rikers.org> [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 …

4
如何自动将符号链接更改为busybox中的目录?
我正在尝试(尽可能接近)自动更改符号链接。我试过了: ln -sf other_dir existing_symlink 这只是将新的符号链接放在现存的符号链接指向的目录中。 ln -sf other_dir new_symlink mv -f new_symlink existing_symlink 那做同样的事情:将符号链接移到目录中。 cp -s other_dir existing_symlink 它拒绝,因为它是目录。 我已经读到它mv -T是为此做的,但是busybox没有该-T标志。

5
合并两个列表,同时删除重复项
我有一个使用Busybox(OpenWRT)的嵌入式Linux系统-因此命令受到限制。我有两个看起来像的文件: 第一个档案 aaaaaa bbbbbb cccccc mmmmmm nnnnnn 第二档 mmmmmm nnnnnn yyyyyy zzzzzz 我需要将这2个列表合并为1个文件,并删除重复项。 我没有差异(空间有限),所以我们得到使用的伟大awk,sed和grep(或可能被包含在一个标准的Busybox的实例其他工具)。转到合并文件,如: command1 > mylist.merge command2 mylist.merge > originallist 完全可以。它不必是单行命令。 我正在使用的Busybox实例中当前定义的函数(默认为OpenWRT):[,[[,arping,ash,awk,basename,brctl,bunzip2,bzcat,cat,chgrp,chmod,chown,chroot,clear,cmp, cp,crond,crontab,cut,date,dd,df,dirname,dmesg,du,echo,egrep,env,expr,false,fgrep,find,free,fsync,grep,gunzip,gzip,halt,head,hexdump, hostid,hwclock,id,ifconfig,init,insmod,kill,killall,klogd,更少,ln,锁,记录器,logread,ls,lsmod,md5sum,mkdir,mkfifo,mknod,mktemp,mount,mv,nc,netmsg, netstat,nice,nslookup,ntpd,passwd,pgrep,pidof,ping,ping6,pivot_root,pkill,poweroff,printf,ps,pwd,重新启动,重置,rm,rmdir,rmmod,route,sed,seq,sh,sleep,排序,启动停止守护程序,字符串,switch_root,sync,sysctl,syslogd,tail,tar,Tee,telnet,telnetd,test,时间,顶部,触摸,tr,traceroute,true,udhcpc,umount,uname,uniq,正常运行时间,vconfig,vi,看门狗,wc,wget,其中,xargs,是,zcat
18 bash  grep  sed  awk  busybox 

4
按日期排序
原版的: 2011年1月23日10:42有些事情2007.12.20.avi 2009年6月26日某事2009.06.25.avi 2010年2月12日有些东西2010.02.11.avi 2011年1月29日09:17有些事情2011.01.27.avi 2011年2月11日20:06某事2011.02.10.avi 2011年2月27日23:05某事2011.02.24.avi 输出: 2011年2月27日23:05某事2011.02.24.avi 2011年2月11日20:06某事2011.02.10.avi 2011年1月29日09:17有些事情2011.01.27.avi 2011年1月23日10:42有些事情2007.12.20.avi 2010年2月12日有些东西2010.02.11.avi 2009年6月26日某事2009.06.25.avi 我使用以下命令生成了上面的列表(原始): ls -A -lR | grep "^-" | sed "s/.\{43\}/&\n/" | grep -v "^-" | while read ONELINE; do if echo $ONELINE | cut -d " " -f3 | grep -o '[0-9][0-9]:[0-9][0-9]' > /dev/null 2>&1; then …
17 sort  busybox 



6
Busybox ping IP有效,但是主机名nslookup失败,并显示“地址错误”
我正在编译自己的3.14内核。我担心我可能遗漏了一些重要的网络功能来使DNS工作。 我无法解析域名。我可以ping我的DNS服务器。我可以解决在其他计算机上使用该DNS的问题,因此我知道它不是服务器。 ~ # cat /etc/resolv.conf nameserver 192.168.13.5 ~ # nslookup google.com Server: 192.168.13.5 Address 1: 192.168.13.5 nslookup: can't resolve 'google.com' ~ # ping -c 1 google.com ping: bad address 'google.com' ~ # ping -c 1 192.168.13.5 PING 192.168.13.5 (192.168.13.5): 56 data bytes 64 bytes from 192.168.13.5: seq=0 ttl=128 time=0.382 …

2
哪个sed版本不是GNU sed 4.0?
我试图找出sed在BusyBox 1.18.3上安装的哪个版本。该--version输出是神秘的。 $ sed --version This is not GNU sed version 4.0 以下代码来自相关代码sed.c。 /* Lie to autoconf when it starts asking stupid questions. */ if (argv[1] && !strcmp(argv[1], "--version")) { puts("This is not GNU sed version 4.0"); return 0; } 这是标题: /* * sed.c - very minimalist version of sed …
12 sed  version  busybox 

1
带有内核和BusyBox的最小Linux:/ etc / inittab被忽略,仅执行/ init
我设法创建了一个小型且功能齐全的实时Linux CD,其中仅包含内核(使用默认选项编译)和BusyBox(使用默认选项+静态编译,所有小程序都包括在内/sbin/init)。我没有问题,建立initrd和填充/dev,/proc并且/sys也是我在所有与我没有任何问题/initshell脚本。 最近,我读到BusyBox支持/etc/inittab配置(至少在某种程度上),我非常想执行以下任一操作: 忘记我的/initshell脚本,完全依靠/etc/inittab配置。 同时使用/initShell脚本和/etc/inittab配置。 现在是实际问题- /etc/inittab当我的发行版启动时,似乎完全被忽略了。症状是: 当我删除/init并离开时,/etc/inittab我最终会陷入内核崩溃。我的假设是内核根本不执行/sbin/init,或者/sbin/init根本找不到(或读取)/etc/inittab。 我读到即使没有,BusyBox也应该可以正常工作/etc/inittab。因此,我同时删除了两者/init,/etc/inittab然后猜测是什么-再次出现内核恐慌。 我试图执行/sbin/init从我的外壳经过几次猜测,其中包括exec /sbin/init,setsid /sbin/init和exec setsid /sbin/init我结束了内核崩溃。文件系统上同时存在和不存在/ etc / inittab。 这是我的/initshell脚本的内容: #!/bin/sh dmesg -n 1 mount -t devtmpfs none /dev mount -t proc none /proc mount -t sysfs none /sys setsid cttyhack /bin/sh 在这一点上,我不在乎它的内容/etc/inittab,只要我有办法知道那里的配置确实有效。我尝试了几种/etc/inittab配置,所有这些配置都是基于在这里找到的信息。 作为最低要求,我的/ etc / inittab仅包含以下这一行: ::sysinit:/bin/sh 再次-我最终陷入内核恐慌,似乎/etc/inittab被忽略了。 /etc/inittab非常感谢任何有关如何强制我的小型现场发行版与BusyBox配合使用的建议! 更新: 为了清楚起见,使用和不使用当前的shell脚本,我都不会遇到内核崩溃的麻烦。一切正常,我的控制台运行良好,没有任何意外的麻烦。唯一的问题是,正如我上面所述,它被完全忽略了。/init/etc/inittab/bin/ash/etc/inittab …

2
在BusyBox中创建和控制启动脚本
我已经在BusyBox中编译了一个自定义linux内核。BusyBox init不支持运行级别。当内核在BusyBox中启动时,它首先执行init,在中寻找指定的运行级别/etc/inittab。没有,BusyBox init可以正常工作/etc/inittab。如果inittab找不到,则具有以下行为: ::sysinit:/etc/init.d/rcS 这部分对我来说很清楚,但是我想知道如何管理启动网络,创建串行端口或启动java进程的守护程序。我查看了驻留的脚本,/etc/init.d/但不了解如何管理它们。我正在寻找一个很好的教程或解决方案来自己控制这些服务,而无需使用诸如的自动化工具buildroot。我想了解这些脚本的工作方式以及如何在其中创建设备/dev/(现在我只有consoleand ttyAM0)。

1
如何解决“通过本地选择取消身份验证”?
我使用Buildroot构建了嵌入式Linux ,但在保持连接到AP方面遇到一些麻烦。无法多次获取IP地址。 我使用wpa_supplicant通过WPA2-PSK连接到我的AP。它可以在AP模式下与其他AP(例如我的智能手机)一起使用。 使用时,iwconfig wlan0我发现我与我的AP相关联 wlan0 IEEE 802.11bgn ESSID:"ZyXEL_B3B5" Mode:Managed Frequency:2.462 GHz Access Point: 90:EF:68:D3:B3:B5 Bit Rate=58.5 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on Link Quality=53/70 Signal level=-57 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:1 …
10 wifi  dhcp  busybox  wlan  buildroot 

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.