Hoy un compañero ha tenido un “pequeño” percance con la actualización de unas vmware-tools… Le han petado /root.
Por algún motivo corrompieron todo el fs.
La cuestión es que necesitábamos tener los comandos básicos por que tras diversas acciones “/lib64” desapareció O:-) y no podíamos ejecutar ni un “mv“.
Es decir, teníamos shell y … poco más.
En estas le comento y por qué no metemos un busybox, no tiene dependencias (compilado estático) y tenemos todo!
Se quedó un poco parado por lo de busybox, no lo había oido nunca, asi que como muestra un botón, cogí mi android, puse el terminal emulator y ejecuté:
[cc lang=”bash”]dodger:~ $ busybox
BusyBox v1.10.3 (2010-10-13 23:52:46 CEST) multi-call binary
Copyright (C) 1998-2007 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, ar, ash, awk, basename, bunzip2, bzcat, bzip2, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser, df, diff, dirname,
dmesg, dos2unix, dpkg, dpkg-deb, du, echo, env, expr, false, fdisk, find, fold, free, getopt, getty, gunzip, gzip, halt, head, hexdump, hostid, hostname, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod,
install, ip, kill, killall, killall5, klogd, less, linuxrc, ln, logger, login, logname, losetup, ls, lsmod, md5sum, mdev, mkdir, mknod, mkswap, mktemp, modprobe, more, mount, mv, netstat, nice, nslookup, od, openvt,
passwd, patch, pidof, ping, pivot_root, pkill, poweroff, printf, ps, pwd, rdate, readlink, reboot, reset, rm, rmdir, rmmod, route, run-parts, sed, sh, sha1sum, sleep, sort, start-stop-daemon, strings, stty, su,
sulogin, swapoff, swapon, sync, syslogd, tail, tar, tee, telnet, telnetd, test, time, top, touch, tr, traceroute, true, tty, udhcpc, umount, uname, uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vi, vlock, wc, wget, which, whoami, xargs, yes, zcat, zcip
[/cc]
Para cualquier amante de trastear routers y cualquier cosa con un linux embebido es el pan de cada día, pero si no te has puesto puede sonar un poco a chino.
Asi que subimos con netcat (esto pa otro día) el busybox compilado para rhel4 de dag.wieers y listo! Comandos básicos ready-to-go.