Accidentalmente sobrescribí el archivo / bin / bash con un script tonto que pretendía poner dentro de la carpeta / bin.
¿Cómo recupero el contenido de ese archivo? ¿Hay alguna manera de encontrar los contenidos en la web y copiarlos nuevamente? ¿Cuáles son mis opciones aquí, considerando que el terminal da un error al hablar de "Demasiados enlaces simbólicos"?
Todavía soy un recién llegado a este tipo de cosas, y aprecio toda la ayuda que puedo obtener.
Editar: Olvidé mencionar que estoy en Kali 2.2 Rolling, que es bastante debian con algunas características adicionales.
Edición 2: también reinicié la máquina, ya que no me di cuenta de mi error hasta hace unos días. Eso hace que esto sea un poco más difícil.
linux
bash
kali-linux
data-recovery
GarrukApex
fuente
fuente
$HOME/.bin
y agréguela a la suyaPATH
o úsela/usr/local/bin
si la necesita para todo el sistema. O, mejor aún, crea un paquete.Respuestas:
bash
es un shell, probablemente el shell de su sistema, por lo que ahora suceden cosas extrañas, mientras que partes del shell todavía están en la memoria. Una vez que cierre la sesión o reinicie, tendrá problemas más profundos.Entonces, lo primero debería ser cambiar su caparazón a algo seguro. Mira qué shells has instalado
Luego cambie su caparazón a uno de los otros caparazones enumerados allí, por ejemplo
Actualización, porque ya reiniciaste:
Tienes suerte de que hoy en día el proceso de arranque no dependa
bash
, por lo que tu sistema se inicia, simplemente no puedes obtener una línea de comando. Pero puede iniciar un editor para editar/etc/passwd
y cambiar el shell en laroot
línea de/bin/bash
a/bin/dash
. Cerrar sesión e iniciar sesión nuevamente. Simplemente no realice ningún otro cambio en ese archivo, o puede dañar su sistema por completo.Luego intente reinstalar
bash
conSi todo tuvo éxito, puede
chsh
volver abash
.Finalmente: creo que kali es una distribución altamente especializada, probablemente no adecuada para personas que accidentalmente sobrescriben su caparazón. Como esta oración se llamaba grosera y dura, debo agregar que la escribí por experiencia propia. Cuando era más joven, arruiné mi sistema porque nadie me dijo que evitara perder el tiempo como root.
fuente
command > /bin/bash ...
frentecommand > (/bin/bash ...)
.No apagues tu máquina.
¿Todavía tienes un shell en ejecución? ¿Es bash? Si es así, estás bien. (Pero no hagas esto de nuevo).
Correr:
Voila, todo está bien.
Como alguien en los comentarios duda que esto funcione:
fuente
/bin/sh
orbash
)root
ejecutacp
. Sin embargo, los enlaces duros son un buen punto.Si puede iniciar sesión, pero no puede abrir una terminal o acceder a un shell, pero puede acceder a los archivos a través de la GUI, vaya a
/bin
, busque archivos cuyos nombres terminen ensh
(pero no.sh
) y ejecute uno (haciendo doble clic o haciendo clic derecho). En particular, busque lo siguiente:sh
dash
ash
ksh
(oksh
seguido de un número; por ejemplo,ksh93
)zsh
yash
o, como último recurso,
tcsh
ocsh
Si puede ejecutar un shell, intente con la respuesta de Philippos .
Otro enfoque es iniciar en modo de usuario único siguiendo estas instrucciones, pero especifique
init=/bin/sh
(o uno de los otros shells) en lugar de hacerloinit=/bin/bash
.fuente