15 diciembre 2008

Muy Completa Lista de Comandos para Linux

Mientras consultaba como poder ver información en la Terminal sobre mis particiones me topé con esta excelente y muy completa lista de Comandos, la comparto con ustedes, seguro los saca de un apuro ;)

Nunca subestimen el poder de la Terminal :D

watch -n tiempo comando -------------- Ejecuta un comando cada x segundos (2 por defecto).
watch -n 1 date ---------------------- Igual que date pero en este caso veríamos correr los segundos.

clear -------------------------------- Limpia la pantalla.
reset -------------------------------- Restaura la Consola.Útil para cuando empiezan a aparecer caracteres raros.

uname -a ----------------------------- Versión del kernel
hostname ----------------------------- Visualiza el nombre de la máquina.
tty ---------------------------------- Muestra el nombre de fichero de la terminal conectada a la salida estándar.

/etc/init.d/servicio stop ------------ Para un servicio/demonio
/etc/init.d/servicio start ----------- Inicia un servicio/demonio.
/etc/init.d/servicio restart --------- Reinicia un servicio/demonio.

startx ------------------------------- Arranca el entorno gráfico con el gestor especificado en el .initrc de tu home.
startx /usr/bin/X11/icewm ------------ Arranca el entorno gráfico con el icewm (si es que no fuera el predeterminado)

Ctrl+C ------------------------------- Termina un proceso.
Ctrl+Z --------------------------------Suspende temporalmente la ejecución de un programa.
Ctrl+S ------------------------------- Para la transferencia de datos a la terminal.
Ctrl+Q ------------------------------- Resume,reinicia la tranferencia de datos
Ctrl+Alt+F2 -------------------------- Salir del entorno gráfico a un terminal.(Fnº según gettys activados en /etc/inittab)
Ctrl+Alt+Supr ------------------------ Estando en una terminal reinicia(si no se indica otra cosa en /etc/inittab)

./script ----------------------------- Ejecuta un script de shell.
java -jar fichero.jar ---------------- Ejecuta un programa java.

consolechars -f fuente.psf.gz -------- Cambiar la fuente de la consola.Las fuentes se encuentran en /usr/share/consolefonts/
base-config -------------------------- Configura el sistema base.
gpm ---------------------------------- Programa que da soporte de ratón a la consola y aplicaciones que corren sobre ella.
reportbug ---------------------------- Programa en modo texto para enviar bugs a Debian

exit --------------------------------- Termina la ejecución del programa en curso.
init 0 ------------------------------- Apaga la máquina.
init 6 ------------------------------- Reinicia la máquina.
shutdown -t1 -h now ------------------ Apaga la máquina .
shutdown -t1 -r now ------------------ Reinicia la máquina.

su ---------------------------------- Entrar a la sesión como root u otro usuario.
su nom_usuario ----------------------- Estando como root entramos como otro usuario.
passwd ------------------------------- Cambio de contraseña.
who -a -H ---------------------------- Muestra información de los usuarios conectados al sistema.
users -------------------------------- Muestra información de los usuarios conectados al sistema.
id ----------------------------------- Muestra información del usuario actual,(grupos a los que pertenece,uid,gid)
groups ------------------------------- Muestra los grupos a los que pertenece un usuario.

adduser usuario ---------------------- Crea un nuevo usuario.
adduser usuario grupo ---------------- Añade un usuario existente a un grupo ya existente.
adduser --no-create-home usuario ----- Crea un usuario pero sin directorio personal(home).
addgroup grupo ----------------------- Crea un nuevo grupo.
deluser usuario ---------------------- Elimina un usuario.
deluser usuario grupo ---------------- Elimina un usuario del grupo especificado.
deluser --remove-home usuario -------- Elimina un usuario y su directorio home.
delgroup grupo ----------------------- Elimina un grupo.
delgroup grupo --only-if-empty-------- Elimina un grupo sólo si no tiene ningún usuario.
usermod -l nuevo_login --------------- Cambia el nombre del usuario.Sería bueno combinarlo con -d
usermod -d nueva_home -m login ------- Cambia el home al usuario,creándolo si no existiese y transfiriendo el contenido.
usermod -e 2006-04-14 login ---------- Fecha en que la cuenta del usuario será desactivada,expresada en formato AAAA-MM-DD
groupmod -n nuevo_nombre grupo ------- Cambia el nombre de un grupo.


Usando el gestor de arranque (NTloader) de windows:
|
| Se copian los sectores de arranque de las particiones al archivo debian_sarge.lnx:
|
| dd if=/dev/hda2 of=/debian_sarge.lnx bs=512 count=1 (tenemos sarge en hda2 con lilo o grup)
| dd if=/dev/hda5 of=/debian_etch.lnx bs=512 count=1 (tenemos etch en hda5 con lilo o grup)
|
| los archivos debian*.lnx se copian en la partición raiz de windows y al archivo boot.ini
| de windows,oculto y de sólo lectura,le agregamos las siguientes lineas dentro de su sec-
| ción [operating systems]:
|
| C:\debian_sarge.lnx="Debian Sarge"
| C:\debian_etch.lnx="Debian Etch"
|
| Atención:
| cada vez que modifiquemos los sectores de inicio o gestores de arranque de las particiones
| linux habrá que volver a realizar lo anterior ya que los ficheros .lnx habrán quedado
| desactualizados.
'-------------------------------------------------------------------------------

5.b.-Procesos y memoria
=======================

memtest86+
|Realiza una comprobación del estado de la memoria si
|optamos a ello desde los gestores de arranque,para
|lo cual necesitamos editarlos añadiendoles su ruta.
|
|En lilo.conf: image = /boot/memtest86+.bin
| label = memtest86+
|
|En menu.lst: title memtest86+
| root (hd0,0)
| kernel /boot/memtest86+.bin
|
|suponiendo que /boot esté en la partición raiz (/)
'------------------------------------------------------

make-memtest86+-boot-floppy ---------- Crea un disquete de arranque desde el que se ejecutará memtest86+
free -m -s 3 ------------------------- Muestra el uso de memoria.

ps aux ------------------------------- Muestra información de los procesos en curso.
top ---------------------------------- Muestra información de los procesos en curso.(tecla z colorea los activos)
pstree-------------------------------- Muestra los procesos en curso en árbol.
pidof comando ------------------------ Busca el ID de un programa que se está ejecutando.
killall proceso ---------------------- Para un proceso.
strace comando ----------------------- Muestra las llamadas al sistema originadas por un proceso.
fuser -v archivo --------------------- Muestra los procesos que están usando un fichero o directorio.
lsof | less -------------------------- Lista los ficheros* abiertos por los procesos.(*en realidad descriptores de ficheros)
|lsof -c comando ------------------ Lista los ficheros abiertos por un proceso.
|lsof +D /home/paco --------------- Lista los procesos que están usando mi directorio.
|lsof -i :60627 ------------------- Muestra que proceso se encuentra detrás del puerto 60627 (aunque esté a la escucha)
'-------------

nohup comando & ---------------------- Lanza un proceso de forma que si cerramos el shell,el proceso continúa ejecutandose
comando &----------------------------- Ejecuta un comando en segundo plano(background),permitiendonos seguir usando el promp.
jobs -------------------------------- Lista los procesos en segundo plano identificándolos con un nº de tarea.
fg nº -------------------------------- Pasa a primer plano (foreground)un proceso
bg ----------------------------------- Pasa a background un proceso que hemos suspendido temporalmente tecleando Ctrl-z

nice -n prioridad comando ------------ Ejecuta un comando con una prioridad determinada(0 xdefecto).
|Ejemplo: nice -n -10 cdrecord...
|esos valores,de mayor a menor, son -20...+20,
|sólo root puede establecer valores negativos.
'--------------
renice prioridad PID_del_proceso ----- Cambia la prioridad de un proceso en marcha

sleep 5 comando ---------------------- Retarda 5 segundos la ejecución de un comando
|m para minutos y h para horas.
'------------------------------
at_
|at [-f script] [tiempo] ------> Sirve para ejecutar un script a una hora y/o fecha.
|
| ejemplo at -f script 15:23
|
| |formas de indicar el tiempo:
| |HH:MM ------------ 15:23 (hoy a las 15:23)
| |HH:MM MM.DD.AA --- 15:23 01.23.06 (el 01.23.06 a las 15:23)
| |now + tiempo ----- now + 23 minutes (dentro de 23 minutos)
| '---- |
| '-> minutes,hours,days,weeks
|
|at [tiempo] ------------------> Ésta forma nos abre un promp interactivo.
| |
| | at 15:00 ----------- Abre el promp de at
| | at > comando ------- Ingresamos el comando/os.
| | ctrl+d ------------- Salimos de at
| '----
|atq ---------------------------> Muestra,numeradas,la lista de tareas programadas
|atrm nº -----------------------> Eliminará una tarea identificada por su nº
|batch -------------------------> Se emplea de las mismas formas que at,solo que en
| este caso,el script o comando se ejecutará sólo
| si la media de carga de la CPU es inferior al 80%.
'-----------------------------------------------------------------------------------


5.c.-Disco duro
===============

------------------------------------------------------- ----------------------------------------
| Nomenclatura de discos en linux| IDE | SCSI | | disco /dev/hda |primarias | lógicas |
| -------------------------------|-----------|----------| | ----------------|----------|-----------|
| Disco maestro del primer bus | /dev/hda | /dev/sda | | 1ª partición |/dev/hda1 | /dev/hda5 |
| Disco esclavo del primer bus | /dev/hdb | /dev/sdb | | 2ª partición |/dev/hda2 | /dev/hda6 |
| Disco maestro del segundo bus | /dev/hdc | /dev/sdc | | 3ª partición |/dev/hda3 | /dev/hda7 |
| Disco esclavo del segundo bus | /dev/hdd | /dev/sdd | | 4ª partición |/dev/hda4 | /dev/hda8 |
------------------------------------------------------- ----------------------------------------

du -h fichero ------------------------ Muestra espacio ocupado en disco,del directorio en curso si no indicamos nada.
tree -a -s -L 2 ---------------------- tree es un programa que muestra lo mismo que du en forma de árbol.
df ----------------------------------- Muestra información sobre particiones montadas.
cfdisk ------------------------------- Muestra información sobre particiones.Herramienta para particionar en ncurses.
fdisk -l ----------------------------- Muestra información sobre particiones.Herramienta para particionar.

.-----
|mount -------------------------------- Vemos el listado de dispositivos montados.
|mount p.de montaje ------------------- Monta un dispositivo.(ya establecido en el fstab)
|umount p.de montaje ------------------ Desmonta un dispositivo.(ya establecido en el fstab)
|mount -t ext3 /dev/hda2 /micaasa ----- Monta un dispositivo.
| ----- ------- -------
| | | v
| | V p.montaje
| | dispositivo
| v
|sistema de ficheros
|
|umount /dev/hda2 ------------------- Desmonta un dispositivo
'-----

fsck /dev/hdax ----------------------- Chequea y repara el sistema de archivos de una partición NO MONTADA.
fsck.ext2 -vpf /dev/hdx -------------- Chequea y repara el sistema de archivos de una partición ext2 NO MONTADA.
fsck.ext3 -vpf /dev/hdx -------------- Chequea y repara el sistema de archivos de una partición ext3 NO MONTADA.

mkfs.ext2 /dev/hdb1 ------------------ Crea un sistema de ficheros Linux ext2 en la primera partición del segundo disco duro.
mkfs.ext3 /dev/hdb1 ------------------ Crea un sistema de ficheros Linux ext3 en la primera partición del segundo disco duro.
mkfs.ext3 /dev/fd0 ------------------- Crea un sistema de ficheros Linux ext3 en el floppy.
mkswap /dev/hda2 --------------------- Crea un sistema de ficheros Linux swap (intercambio) en hda2.

tune2fs -O ^has_journal /dev/hda2 ---- Convierte hda2 de ext3 a ext2
tune2fs -j /dev/hda2 ----------------- Convierte hda2 de ext2 a ext3

quota -------------------------------- Programa que gestiona/limita el uso que hacen del disco los usuarios/grupos.

5.d.-Entorno
============

locale ------------------------------- Muestra la zona geográfica configurada.
dpkg-reconfigure locales ------------- Reconfigura los locales.
dpkg-reconfigure console-data -------- Reconfigura el teclado.
loadkeys ruta_mapa_teclado.gz -------- Carga el mapa de teclado que le indicamos,que estará en:/usr/share/keymaps
locale charmap ----------------------- Muestra el código de caracteres en uso.
set ---------------------------------- Muestra las variables locales definidas
env ---------------------------------- Muestra las variables de entorno definidas.
export ------------------------------- Muestra las variables de entorno declaradas.
|export VARIABLE=valor ------------ Añadimos una variable.Con export EDITOR=nano establecemos nano como editor predeterminado.
|export VARIABLE= ------------ Eliminamos una variable dejando en blanco su valor.
|Para que las variables permanezcan
|de una sesión a otra hay que ponerlas
|en el archivo .bashrc de tu home.
'----------------------------------

5.e-Instalación de software
===========================
.------------------------------------------------------------------------.
|dpkg:Herramienta de nivel medio para instalar, construir, borrar |
| y gestionar los paquetes de Debian |
|
|dpkg -i paquete --------------------- Instalación de paquetes .deb
|dpkg -r paquete --------------------- Desinstala un paquete.
|dpkg --purge paquete ---------------- Desinstala un paquete y sus archivos de configuración.
|dpkg --force -r paquete ------------- Fuerza la desinstalación de un paquete.Más información: dpkg --force-help
|dpkg --force-all -r paquete --------- Fuerza aún más la desinstalación de un paquete.Su uso puede dañar el sistema.
|dpkg -c paquete --------------------- Muestra el contenido (ficheros) de un paquete.
|dpkg -L paquete --------------------- Muestra todos los ficheros que se instalaron con un paquete.
|dpkg -S fichero --------------------- Muestra a qué paquete pertenece un fichero.
|dpkg --get-selections --------------- Muestra todos los paquetes instalados en el sistema.
|dpkg-reconfigure paquete ------------ Reconfigura paquetes instalados.Ejemplo: dpkg-reconfigure locales
'-------------------------------------

.-------------------------------------------------------------------------.
|APT:Herramienta Avanzada de Empaquetamiento (Advanced Packaging Tool) |
|que gestiona el sistema de paquetes de Debian instalando,desinstalando, |
|actualizando y configurando los mismos. |
|La sintaxis es: apt-get [opciones] acción |
|
|apt-get update ---------------------- Descarga y analiza la lista de nuevos paquetes desde los repositorios del sources.list.
|apt-get upgrade --------------------- Actualiza todos los paquetes instalados(no instala ni elimina paquetes).
|apt-get dist-upgrade ---------------- Actualiza todos los paquetes resolviendo las dependencias.
|apt-get install paquete/s ----------- Instalación de paquetes por red,con resolución de depencias.
|apt-get -s acción ------------------- Simula,sin llevar a cabo la acción. Por ejem: apt-get -s install paquete.
|apt-get -d acción ------------------- Sólo descarga los paquetes deb en /var/cache/apt/archives/ sin instalar o desinstalar nada
|apt-get install --reinstall paquete - Reinstala un paquete.
|apt-get remove paquete/s ------------ Desinstala un paquete.
|apt-get remove --purge paquete/s ---- Desinstala un paquete y sus archivos de configuración.
|apt-get clean ----------------------- Elimina todos los paquetes (.deb) descargados y almacenados en /var/cache/apt/archives/
'-------------------------------------
.-------------------------------------------------------------------------.
|apt-cache es una utilidad que manipula la caché de paquetes de APT en |
|busca de información |
|
|apt-cache search palabra ------------ Busca en los paquetes y en las descripciones la palabra.
|apt-cache show paquete -------------- Muestra la descripción completa del paquete
|apt-cache showpkg paquete ----------- Muestra su relación con otros paquetes.
|apt-cache depend paquete ------------ Muestra las dependencias del paquete
|apt-cache rdepend paquete ----------- Muestra las dependencias inversas del paquete(cuales dependen de él)
'-------------------------------------
.-------------------------------------------------------------------------.
|apt-build es una herramienta que no se limita a instalar un paquete deb |
|sino que compila el tarball,crea el paquete deb y lo instala,quedando así|
|integrado con apt.Lo que se consigue compilando es optimizar la ejecución|
|de los programas en nuestro procesador,de hecho al instalarse pregunta |
|por el tipo de procesador del sistema.Tiene las mismas opciones que apt |
|como update,upgrade,install |
|
|ejemplo: apt-build install mplayer
|(el paquete del ejemplo no está escogido al azar¿?)
|
|y alguna más como word para recompilar todo.En este último caso hay que
|crear una lista con los paquetes a recompilar en /etc/apt/apt-build.list
|para lo cual nos puede servir el siguiente comando:
|
|dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list
|
|Es aconsejable eliminar de dicha lista paquetes delicados como gcc,libc6...
|
'-------------------------------------
.------------------------------------------------------------------------.
|Aptitude.Gestor de paquetes con algunas mejoras con respecto a apt como |
|la instalación automática de los paquetes que sin ser dependencias |
|forman parte de los sugeridos o recomendados y la autodesinstalación de |
|los paquetes instalados en su momento como dependencias de otros |
|(automáticamente en contraposición a manualmente),si ningún otro paquete|
|los necesitase.Se puede usar de forma interactiva si no se especifica |
|ninguna acción o desde la linea de comandos,usando las mismas opciones y|
|acciones de apt.La sintaxis es: aptitude [opciones] acción |
|ejem.: aptitude -s purge firefox
|
|Acciones:
|update ------------------------------ Descarga y analiza la lista de nuevos paquetes según los repositorios del sources.list.
|upgrade ----------------------------- Realiza una actualización segura (no instala ni elimina paquetes).
|dist-upgrade ------------------------ Realiza una actualización,instalando y eliminando paquetes si fuera preciso
|install paquete/s ------------------- Instala/actualiza paquetes
|reinstall paquete/s ----------------- Reinstala un paquete
|remove paquete/s -------------------- Elimina paquetes
|purge paquete/s --------------------- Elimina paquetes y sus ficheros de configuración
|download paquete/s ------------------ Se limita a descargar los paquetes deb al directorio en el que estamos.
|hold paquete/s ---------------------- Bloquea paquetes
|unhold paquete/s -------------------- Desbloquea un paquete
|unmarkauto paquete/s----------------- Desmarca paquetes como instalados manualmente
|markauto paquete/s ------------------ Marca paquetes como instalados manualmente (elegidos por nosotros)
|search expresión -------------------- Busca un paquete por nombre y/o expresión
|show paquete ------------------------ Muestra información detallada de un paquete
|clean ------------------------------ Elimina los ficheros deb descargados
|
|Opciones:
|-s ----------- Simula las acciones, pero en realidad no las realiza.
|-d ----------- Sólo descarga paquetes, no instala o desinstala nada.
|-p ----------- Siempre pide confirmación de las acciones
|-y ----------- Supone que la respuesta a preguntas simples del tipo sí/no es «sí»
|-f ----------- Trata de arreglar paquetes rotos de forma agresiva.
|-V ----------- Muestra la versión de los paquetes a instalar.
|-D ----------- Muestra las dependencias de los paquetes cambiados automáticamente.
|-t rama ------ Establece la rama de Debian desde la que se instalan los paquetes
'-------------------------------------

deborphan ---------------------------- Muestra los bibliotecas (paquetes lib) huérfanas
|-a ------------------------------- Muestra todos los paquetes huérfanos (que no dependen de ningún otro).
|-d ------------------------------- Muestra también sus dependencias.
|-n ------------------------------- Muestra los paquetes "sugeridos" y "recomendados" como dependencias.
|---
|deborphan -A paquete ------------- Ignora un paquete(buena opcion si tenemos mala memoria y queremos conservar un huérfano)
|deborphan -R paquete ------------- Cancela la orden anterior,si el paquete es huérfano lo mostrará.
|deborphan -L --------------------- Lista los paquetes ignorados
'-----

orphaner ----------------------------- Interfaz gráfica de deborphan,sin parámetros sólo mostrará paquetes lib.
|-a ------------------------------- Muestra todos los paquetes huérfanos del sistema.
'----

editkeep ----------------------------- Interfaz gráfica que gestiona o edita la lista de paquetes ocultos de deborphan.

debfoster ----------------------------|Programa que mantiene una lista de los paquete que fueron instalados como
|dependencias de otros.La primera vez que se ejecuta pregunta si quieres
|conservar los paquetes instalados(pregunta por todos),Puede ejecutarse de
|manera interactiva o bién directamente desde la linea de comandos para
|instalar o desinstalar paquetes.
'-----------------------------

localepurge --------------------------|Script que elimina e impide la instalacion de los locales y páginas man que
|no nos interesa tener en el disco.Al instalarlo nos da a elegir los locales y
|si automaticamente impide la instalación de otros.El programa no se encuentra
|bién integrado con la gestión de paquetes de debian...
'-----------------------------

./configure |
make |---------------------->|Esta sucesión de comandos crean un paquete .deb,una vez descomprimido
su | |el tarball* y ubicados en el directorio recién creado (si es el caso).
checkinstall | |./configure,comprueba si nos faltan dependencias.
--------------' |make,compila el programa.(lo pasa a lenguaje máquina o binario)
|checkinstall,crea el paquete .deb
|*tarball:fichero comprimido con el código fuente del programa.
'-----------------------------------------
.--------------------------------------------------------------------------------.
|Me parece mejor la idea de hacer un paquete dev que la de compilar un programa |
|desde las fuentes,de ésta manera se puede instalar el programa mediante dpkg -i |
|quedando totalmente integrado en el sistema y luego si queremos desinstalarlo lo|
|tendremos también mucho más facil con dpkg -r |
'--------------------------------------------------------------------------------

fakeroot make-jpkg jre-linux.bin |
dpkg -i sun-j2re.deb |--->|Ésta sucesión de comandos nos instala el java de sun,quedando totalmente
---------------------------------' |integrado en nuestro sistema.
|-fakeroot es un programa normal,sin el bit setuid (ver chmod).No aumenta
| los privilegios de un usuario ni disminuye la seguridad del sistema.Se
| escribió específicamente para permitir que los usuario pudiesen crear
| paquetes deb sin tener privilegios de superusuario.
|-make-jpkg viene en el paquete java-package y sirve para convertir en paquete
| deb el binario de sun que contiene la máquina virtual de java (jre).
'-----------------------------------------------------------------------------

.=======================================.
6.=|«««««« RECUPERACIÓN DEL SISTEMA »»»»»»|
'======================================='

7.a.-Usando knoppix live
========================

CD_knoppix # su ------------------------------ desde knoppix CD nos convertimos en root.
root@CD # cd / ------------------------------ nos vamos a / del knoppix CD.
root@CD # mount -t ext3 /dev/hdax /mnt/hdax --- montamos la partición en cuestión.
root@CD # chroot /mnt/hdax -------------------- nos introducimos en ella con chroot*
root@disco_duro # mount -t proc proc /proc ---- puede ser necesario montar el sistema de ficheros proc.
root@disco_duro # nano /etc/lilo.conf --------- editamos lilo (o lo que sea necesario).
root@disco_duro # /sbin/lilo ------------------ ejecutamos lilo.
root@disco_duro # umount -t proc proc /proc --- desmontamos proc
root@disco_duro # exit ------------------------ nos salimos de chroot y por tanto del disco duro
root@CD # umount -t ext3 /dev/hdax /mnt/hdax -- desmontamos la partición en cuestión.
root@CD # exit -------------------------------- salimos del root de knoppix.
CD_knoppix $ ---------------------------------- volvemos al punto de partida.

* La orden chroot lo que hace es situarte virtualmente en la partición que le indicas y a partir de ahí las
ordenes que le pases a la consola se ejecutan en esa partición,es como si realmente estuvieras en esa partición.

7.b.-Creando un disquete de arranque/rescate:
==============================================

-) Con lilo.Tan fácil como copiar lilo.conf en un disquete e indicarle que arranque desde el mismo,
para lo cual hay que cambiar la linea boot por:

boot=/dev/fd0

Si teneis varias particiones,entre ellas alguna lógica debeis añadir al lilo.conf del disquete la
opción: "lba32" para que pueda arrancarla.

-) Con el programa mkboot,éste programa viene en el paquete debianutils.

mkboot,entre otras cosas, te copia el lilo.conf al disquete,pero la verdad es que yo sólo he conseguido que
me funcionen los disquetes creados con mkboot,cambiando el lilo.conf que te crea por el original y realizando
después las modificaciones que cuento más arriba.El mismo programa te explica cómo:

mount /dev/fd0 /mnt -------------- montamos el disquete.
cd /mnt ------------------------- nos vamos a él.
nano lilo.conf ------------------- editamos lilo.conf
lilo -C lilo.conf ---------------- con -C le decimos que ejecute el lilo del disquete y no el de /etc/lilo.conf
cd .. ---------------------------- nos salimos.
umount /dev/fd0 ------------------ desmontamos el disquete.

-) Con grub.Éste no lo he probado pero por lo que he visto se trataría de copiar los ficheros stage1 y
stage2 al disquete tal que así:

root> mkfs.ext3 /dev/fd0 ---------------------- formateamos el disquete.
root> mount -t ext3 /dev/fd0 /floppy ---------- lo montamos en /floppy.
root> cp /ruta_de_acceso/stage1 /floppy ------- copiamos stage1
root> cp /ruta_de_acceso/stage2 /floppy ------- copiamos stage2
root> cp /boot/vmlinuz /dev/fd0 --------------- si hay sitio se puede incluir el nucleo en el disquete.
root> umount /dev/fd0 ------------------------- se desmonts floppy sin sacarlo.
root> grub ------------------------------------ inicia la interfaz de comandos de GRUB
grub> root (fd0) ------------------------------ instala las herramientas de GRUB...
grub> setup (fd0) ----------------------------- ...en el MBR del disquete.
grub> quit ------------------------------------ salimos

Cuando se arranque desde el disquete y aparecezca el interprete de comandos de grub hay que teclear:

grup> root (fd0)
grup> kernel /boot/vmlinuz root=/dev/hda2 # kernel de inicio y particion raiz
grup> boot

-) Con el NTloader de microsoft,en el caso de que lo usemos para el inicio también podemos crear un disquete
de arranque con el mismo.Para ello copiaremos los ficheros ocultos "ntldr" , "ntdetect.com" y "boot.ini"
que se encuentran en el directorio raíz del sistema (normalmente C:).Ésto es lo que haría cualquier windosero,
pero nosotros además,tendremos que copiar el o los ficheros con extensión .lnx que pusimos en la partición raiz.


7.c.-Copiando el MBS(Master Boot Sector)-sector de arranque maestro
===================================================================

Ésto crea un archivo llamado mbr con los primeros 512 bytes de hda:

dd if=/dev/hda of=mbr count=1 bs=512

Para restaurar la tabla de particiones: dd if=mbr of=/dev/hda


7.d.-Copiando el VBS(Volume Boot Sector)-sector de arranque de una partición:
=============================================================================

Ésto crea un archivo llamado sector_arranque_hda2 con los primeros 512 bytes de hda2

dd if=/dev/hda2 of=/sector_arranque_hda2 count=1 bs=512

Para restaurar el sector de arranque: dd if=sector_arranque_hda2 of=/dev/hda2


.----Nota:---------------------------------------------------------.
|-Cada vez que se modifique lilo o grup,habrá que realizar una nueva |
| copia del MBR o el sector de arranque que incluya los cambios. |
'------------------------------------------------------------------'

.======================================.
7.=|«««««« KERNEL ,LOGS Y HARDWARE »»»»»»|
'======================================'

uname -a ----------------------------- Versión del kernel.
cat /proc/version -------------------- Versión del nucleo y compilador empleado.
lsmod -------------------------------- Lista los módulos cargados.
cat /proc/modules -------------------- Lista los módulos cargados.
lsmod | grep módulo ------------------ Ver si está cargado el módulo.
modinfo módulo ----------------------- Muestra información sobre un módulo.
modprobe módulo ---------------------- Inserta un módulo en el kernel cargando antes los módulos de los cuales dependa.
modprobe -r módulo ------------------- Elimina un módulo del kernel y si procede los que dependen del mismo.
insmod módulo ------------------------ Inserta un módulo en el kernel.
rmmod módulo ------------------------- Elimina un módulo del kernel.
echo módulo >> /etc/modules ---------- Inserta un módulo en el kernel de forma permanente.
depmod módulo ------------------------ Comprueba las dependencias del módulo.
modconf ------------------------------ Programa gráfico para listar,cargar y descargar módulos del kernel.
alsaconf ----------------------------- Programa interactivo que detecta las tarjetas de audio y carga los modulos adecuados.

less /var/log/kern.log -------------- Mensajes del nucleo.
less /var/log/syslog --------------- Registro de mensajes relativos a la seguridad.
less /var/log/debug ----------------- Registro de información de depuración de los programas.
less /var/log/messages --------------- Mensajes del sistema de carácter informativo.
less /var/log/user.log -------------- Información del usuario.
less /var/log/XFree86.0.log ---------- Información sobre las X
less /var/log/Xorg.0.log ------------ Información sobre las X
less /var/log/auth.log -------------- Accesos al sistema(incluye los intentos fallidos).
last --------------------------------- Lista los usuarios conectados/desconectados (fichero /var/log/wtmp).
lastb -------------------------------- Muestra los intentos de conexión fallidos (fichero /var/log/btmp).

hdparm /dev/hda ---------------------- Verificar DMA
hdparm -I /dev/hdx ------------------- Información sobre hdx
hdparm -d1 /dev/hdx ------------------ Activar DMA en el disco duro o periférico.
dmesg -------------------------------- Ver la salida que el kernel produjo en el arranque.
dmesg | grep hd ---------------------- Información sobre dispositivos IDE.
sensors-detect ----------------------- Detecta,instala y carga los sensores y los módulos necesarios(en un kernel 2.6)
sensors ------------------------------ Tras ejecutar el anterior,muestra temperaturas, voltajes y revoluciones de ventilador.
lsdev -------------------------------- Muestra información sobre los dispositivos(canales IRQ,DMA y puertos E/S que utilizan)
lspci -------------------------------- Ver dispositivos conectados a la placa madre mediante un bus PCI.
lsusb -------------------------------- Ver los buses USB y los dispositivos conectados a los mismos.
cdda2wav -scanbus -------------------- Comprobar el interfaz SCSI.
cdrecord -scanbus -------------------- Comprobar el interfaz SCSI.
cat /proc/meminfo -------------------- Información sobre la memoria.
cat /proc/cpuinfo -------------------- Información sobre el procesador.
cat /proc/devices -------------------- Información sobre dispositivos en uso.

.---- Notas:----------------------------------------------------------------------------.
|-syslogd registra los mensajes que los programas y el sistema ofrecen. |
|-klogd es un demonio del sistema que intercepta y registra los mensajes del núcleo. |
|-lsdev viene en el paquete procinfo. |
|-sensors viene en el paquete lm-sensors. |
|-Dispositivo de bloques:aquellos que almacenan información en bloques de tamaño fijo, |
| (cada uno con su dirección) y utilizan los buffers del sistema (memoria temporal), |
|-Dispositivo de caracteres:aquellos que envian o reciben un flujo de datos de forma |
| secuencial y sus procesos de lectura/escritura no poseen buffer.por ej. el ratón |
|-DMA(Acceso Directo Memoria),es la manera en que los dispositivos se comunican directa- |
| mente con la memoria sin intervención del procesador.Cada controlador dispone de una |
| linea o canal DMA de acceso directo. |
|-IRQ (solicitud de interrupción),es la manera en que el controlador de un dispositivo |
| solicita al procesador que le atienda porque va a comunicarle algún suceso,cada contro-|
| lador tiene una linea IRQ distinta. |
|-IO Ports (puertos de entrada/salida) se trata de una abstracción (que se corresponde |
| con un dispositivo)a través de la cual un dispositivo intercambia datos con el sistema.|
| Tienen una dirección(en hexadecimal)que los identifica. |
'---------------------------------------------------------------------------------------'

.===================.
8.=|«««««« REDES »»»»»»|
'==================='

/etc/init.d/networking start ------> Inicia los servicios de red.
/etc/init.d/networking restart ----> Reinicia los servicios de red.
/etc/init.d/networking stop -------> Para los servicios de red.

ifconfig [interfaz opciones IP]----> Información y configuración de interfaces de red.
ifconfig --------------------------> Muestra el estado de los interfaces activos.
ifconfig -a -----------------------> Muestra el estado de todos los interfaces.
ifconfig ppp0 ---------------------> Muestra el estado de ppp0
ifconfig eth0 up ------------------> Activa eth0.
ifconfig eth0 down ----------------> Cierra eth0.
ifconfig eth1 address 156.35... ---> Asigna una dirección al interfaz especificado.

Iwconfig --------------------------> Similar a ifconfig pero sólo para interfaces wireless

ifup interface: -------------------> Habilita la interface especificada,ejemplos: ifup eth0 ;ifup ppp0
ifdown interface: -----------------> Deshabilita la interface especificada,ejemplos: ifdown eth0 ;ifdown ppp0

dhclient eth0/eth1 ----------------> Inicia conexión dhcp mediante el cliente dhcp-client.
pump -i eth0/eth1 -----------------> Inicia conexión dhcp mediante el cliente pump.

pppoeconf -------------------------> Programa para configurar conexiones pppoe.
pppconfig -------------------------> Programa en modo texto para configurar una conexión ppp.
pon -------------------------------> Establece la conexión ppp a internet.
plog ------------------------------> Monitoriza la conexión ppp.
poff ------------------------------> Finaliza la conexión ppp a internet.

finger usuario --------------------> Informa sobre un usuario conectado al sistema.
finger @servidor ------------------> Informa sobre todos los usuarios conectados a un servidor (nombre o IP)
finger usuario@servidor -----------> Informa sobre un usuario conectado a un servidor
ping google.com -------------------> Verifica la conexión,en este caso con www.google.com (Ctrl+Z pone fin)
traceroute microsoft.es -----------> Muestra la ruta que los paquetes de datos han seguida hasta la máquina de destino.
mtr rediris.es --------------------> Combinación de ping y traceroute.
whois esdebian.org ----------------> Información sobre éste,nuestro dominio.
host -v -a telefonica.com ---------> Determina la ip de un nombre o el nombre de una ip.(host -v -a 194.224.55.221)

iptraf ----------------------------> Monitoriza tráfico de redes(ncurses)
tethereal -------------------------> Versión para consola de ethereal,un analizador del tráfico de red (sniffer).
ettercap --------------------------> Sniffer/interceptor/logger para redes LAN con switchs basado en ncurses.
nmap ------------------------------> Escaner de puertos.
fail2ban --------------------------> Escanea logs como /var/log/auth.log y banea las IP con demasiados errores de conexión.
snort -----------------------------> Sniffer de paquetes y un detector de intrusiones en una red (NIDS).
aide ------------------------------> Detector de intrusiones en un único Servidor, PC o host.(HIDS).
portsentry ------------------------> IDS que detecta escaneos de puertos y reacciona a un ataque.
chkrootkit ------------------------> Detector de rootkit.

w3m,lynx,links,links2,elinks -----> Navegadores web,elinks soporta SSL con lo que podremos acceder a correo web.
Irssi,*censored*x,WeeChat-curses -------> Clientes IRC( Internet Relay Chat) )
mutt,mush,pine,elm ----------------> Clientes de correo(MUA).
cabber ----------------------------> Cliente jabber( protocolo libre para mensajería instantánea.)
Centericq -------------------------> Cliente de mensajeria multiprotocolo (ICQ,Yahoo,AIM,MSN,IRC,Jabber)
ncftp,-----------------------------> Cliente ftp (File Transfer Protocol) basado en ncurses
ftp-ssl ---------------------------> Cliente ftp con soporte de cifrado SSL y TSL.(dependiendo de la otra parte)
telnet-ssl ------------------------> Cliente telnet(acceso remoto) con soporte de cifrado SSL,(dependiendo de la otra parte)
ssh -------------------------------> Cliente ssh (Secure SHell),acceso remoto cifrado,forma parte del paquete openssh-client
rtorrent, bittornado --------------> Clientes bittorrent.Bitornado es una versión mejorada del cliente homónimo bittorrent.

talk usuario-----------------------> Entabla una conversacion con un usuario del sistema.
talk usuario@sistema --------------> Entabla conversacion con un usuario de otro sistema(entre máquinas UNIX)
mesg -n ---------------------------> Anula la notificacion de comunicacion de talk o write
mesg -y ---------------------------> Habilita la llegada de notificaciones de talk o write
write usuario ---------------------> Manda un mensaje a un usuario del sistema.

netstat -napt ---------------------> Saber qué puertos tiene abiertos nuestro sistema
| n ----------------------------> No resuelve las direcciones a sus nombres DNS. Esto hace más rápida la ejecución.
| a ----------------------------> Muestra todos las conexiones,incluídas las que están escuchando.
| p ----------------------------> Muestra el número y nombre del proceso,dueño de dicha conexión.
| t ----------------------------> sólo muestra conexiones tcp
'--------------

jigdo-lite fichero.jigdo ---------->|Programa interactivo que permite la descarga y/o "actualización" de una imagen ISO;
|descarga los ficheros de una imagen ISO mediante wget, los une y forma al vuelo
|una copia de la imagen ISO original.Pero si ya tenemos una imagen en el disco o un CD,
|bastaría con indicarle la ruta a la misma para que se actualizara.Para ambos casos hay
|que descargar previamente los ficheros .jigdo y .template asociados a la imagen.
'-----------------------------------------------------------------------------

jigdo-file ------------------------> Herramienta para generar los ficheros .jigdo y .template de una imagen

wget [opciones] URL ---------------> Gestor de descargas.
| -p ---------------------------> descarga web completa.
| -r ---------------------------> recursivo.
| -k ---------------------------> Convierte los enlaces absolutos en relativos.
| -c ---------------------------> Reanuda la descarga de un fichero parcialmente descargado.
| -l6 --------------------------> profundidad de recursión (5 por defecto)
| -A formato -------------------> formato para descargar.
| -nH --------------------------> hace que no se cree el subdirectorio localhost.
| --cut-dirs=n -----------------> elimina n número de directorios dentro de la jerarquia.
|
| Ejemplo 1º: wget -A zip URL ---> Bajaría todos los archivos zip de una página web.
|
| Ejemplo 2º:nos queremos descargar el manual nano.pdf que está en:
|
| http://www.manuales.com/informática/editores/nano.pdf
| ---------------- --------- ------
| localhost 1º dir 2º dir
|
| wget -nH --cut-dirs=2 http://www.manuales.com/informática/editores/nano.pdf
|
| nos bajaría sólo el manual sin crearnos ningún nuevo directorio en nuestra home.
|
| Ejemplo 3º:nos queremos bajar el manual de Arocena en formato html cuya primera página está en:
|
| http://usuarios.lycos.es/ortihuela/index.htm ,pues entonces:
|
| wget -r -nH http://usuarios.lycos.es/ortihuela/index.htm
|
| nos bajaría todo el contenido del curso (ficheros .html,.css,.jpg,etc) al directorio /ortihuela
|
'------------------------------------------------------------------


.===================.
9.=|«««««« OTROS »»»»»»|
'==================='


##############################
# MLDONKEY #
# #
# telnet 127.0.0.1 4000 ---> Abrir interfaz telnet #
# kill --------------------> Matar mldonkey #
# q -----------------------> Cerrar interfaz telnet #
# ? -----------------------> Muestra la ayuda #
# ?? ----------------------> Muestra más ayuda #
# #
# add_user usuario clave --> Añade un nuevo usuario #
# add_user usuario clave --> Cambia la contraseña de un usuario #
# remove_use usuario ------> Elimina un usuario #
# #
# voo----------------------> Ver todas las opciones #
# set opción valor---------> Cambiar valor de la opción #
# save --------------------> Guardar opciones #
# #
# networks ----------------> Ver todas las redes #
# enable nº ---------------> Activar la red nº #
# disable nº - -----------> Desactivar la red nº #
# alias -------------------> Crea un alias.Ejemplo:alias red netwoks #
# unalias -----------------> Elimina un alias.Ejemplo:unalias red #
# #
# c nº --------------------> Conectar a más servidores o al nº #
# vm ----------------------> Servidores conectados #
# vma ---------------------> Lista todos los servidores conocidos #
# x nº --------------------> Desconectar del servidor #
# #
# dllink .torrent ---------> Inicia la descarga de un elinks o torrent #
# dllinks fichero ---------> Descarga los elinks contenidos en un fichero #
# http url refererencia ---> Inicia la descarga desde una URL #
# #
# s -----------------------> Buscar archivos en todas las redes #
# | network ------------> nombre de red #
# | minsize ------------> tamaño mínimo #
# | maxsize ------------> tamaño máximo #
# | media --------------> video|Audio|... #
# | Video --------------> video #
# | Audio --------------> audio #
# | format -------------> formato #
# | title --------------> título #
# | album --------------> album #
# | artist -------------> autor #
# | field --------------> field ,fieldvalue #
# | not ----------------> palabra #
# | and ----------------> palabra #
# | or -----------------> palabra #
# '------------------------------- #
# #
# vr ----------------------> Ver resultados de la última busqueda #
# vs ----------------------> Ver todas las busquedas #
# d nº --------------------> Bajar resultado nº #
# cancel nº ---------------> Cancelar descarga nº #
# pause nº ----------------> Pausar descarga nº #
# resume nº ---------------> Resumir descarga nº #
# uploaders ---------------> Informa sobre la subidas y sus usuarios #
# upstats -----------------> Muestra estadísdicas sobre las subidas #
# torrents ----------------> Muestra todos los torrents en el servidor #
# compute_torrent fichero -> Genera un .torrent #
# #
# vd ----------------------> Muestra la cola de descargas #
# scan_temp ---------------> Muestra el contenido del directorio temp #
# recover_temp ------------> Recupera los archivos perdidos de temp #
# commit ------------------> Mueve las descargas al directorio incoming #
# #
#############################



#############################
# 9.b.-MUTELLA #
# #
# mutella ------------ Abrimos la interfaz de mutella. #
# leave -------------- Cerramos la interfaz,pero mutella sigue corriendo. #
# exit --------------- Salir. #
# version ------------ Muestra la versión del programa. #
# help --------------- Muestra la ayuda. #
# help commando ------ Muestra la ayuda del comando. #
# ? ------------------ Igual que `help' #
# #
# set ---------------- Muestra las opciones de mutella. #
# set+ --------------- Añade un valor a las opciones. #
# set- --------------- Quita un valor de las opciones. #
# color -------------- Configurar los colores de la consola. #
# #
# info opciones------- Muestra información sobre la actividad de la red. #
# |network -------- Información general sobre la red. #
# |connections ---- Conexiones #
# |transfers ------ Transferencias #
# |uploads -------- Subidas #
# |downloads ------ Descargas #
# '------------------------------- #
# #
# hosts -------------- Muestra la lista de servidores en caché. #
# open --------------- Conectar a un servidor. #
# close ID------------ Cierra una conexión/es #
# find palabra/s opciones -- Buscar archivos #
# |-palabra ------- Excluye una palabra de la búsqueda. #
# |size:bytes ----- tamaño exacto del archivo,en bytes. #
# |around:bytes --- tamaño aproximado. #
# |min:bytes ------ tamaño mínimo del archivo,en bytes. #
# |max:bytes ------ tamaño máximo del archivo,en bytes. #
# |ejemplo:find mike oldfield .ogg -tubulars bells min:30000 #
# '------------------------------- #
# #
# list --------------- Muestra las búsquedas en curso. #
# ls ----------------- Muestra sólo las búsquedas con resultados. #
# edit --------------- Modifica los términos de la búsqueda. #
# delete ID ---------- Elimina una búsqueda. #
# erase ID ----------- Elimina una búsqueda y borra la descarga parcial. #
# clear -------------- LImpia los resultados de una o más búsquedas. #
# results ID --------- Muestra los resultados de la búsqueda. #
# get ID ------------- Inicia la descarga de uno o más archivos. #
# stop ID ------------ Para la transferencia. #
# kill ID ------------ Igual que stop,pero borra el archivo parcial. #
# move --------------- Modifica el nombre del archivo en descarga. #
# scan --------------- Fuerza un reescaneo de los archivos compartidos. #
# library ------------ Muestra los archivos compartidos. #
# #
# load --------------- Loads and executes Mutella terminal-mode script #
# system comando ----- Ejecuta un comando de shell #
# ! ------------------ Sinónimo de 'system' #
# #
# los ID deben ser tomados del último ls,list,info... #
# Todos los comandos admiten abreviaturas:info downloads por i d,etc #
# El fichero con las opciones es ~/.mutella/mutellarc #
# El fichero con las opciones de color es ~/.mutella/termclr #
# #
#########################



#########################
# 9.c.-FTP (Protocolo de Transferencia de Archivos) #
# #
# open servidor - Conectar con el servidor #
# ? ------------- Imprimir información de ayuda local #
# append -------- Anexar a un archivo #
# bell ---------- Emitir sonido cuando se complete el comando #
# binary -------- Establecer transferencia binaria (todas salvo .txt) #
# bye ----------- Finalizar la sesión ftp y salir #
# ascii --------- Establecer tipo de transferencia ascii (sólo para .txt) #
# cd ------------ Cambiar el directorio de trabajo remoto #
# close --------- Finalizar la sesión ftp #
# ls ------------ Mostrar el contenido del directorio remoto #
# dir ----------- Mostrar el contenido del directorio remoto #
# delete -------- Eliminar archivo remoto #
# debug --------- Alternar modo de depuración #
# get ----------- Recibir archivo #
# help ---------- Ayuda sobre un comando 1º-help y luego el comando #
# lcd ----------- Cambiar el directorio de trabajo local #
# mdir ---------- Mostrar el contenido de múltiples directorios remotos #
# mdelete ------- Eliminar múltiples archivos #
# mget ---------- Obtener múltiples archivos #
# mkdir --------- Crear directorio en el equipo remoto #
# mls ----------- Mostrar el contenido de múltiples directorios remotos #
# mput ---------- Enviar múltiples archivos #
# open ---------- Conectar a tftp remoto #
# put ----------- Enviar un archivo #
# pwd ----------- Imprimir el directorio de trabajo del equipo remoto #
# quit ---------- Finalizar la sesión ftp y salir #
# quote --------- Enviar un comando arbitrario ftp #
# recv --------- Recibir archivo #
# rename -------- Cambiar el nombre del archivo #
# rmdir --------- Quitar directorio en el equipo remoto #
# remotehelp ---- Obtener ayuda del servidor remoto #
# send ---------- Enviar un archivo #
# status -------- Muestra el estado actual #
# trace --------- Alternar trazado de paquetes #
# type ---------- Establecer el tipo de transferencia de archivos #
# user ---------- Enviar nueva información de usuario #
# verbose ------- Alternar modo detallado #
# #
#########################



#########################
# 9.d.-IRC #
# #
# /server ---------------------- Lista,añade o elimina servidores. #
# /server [nombre:puerto:clave]- Conecta con un servidor. #
# /info [servidor] ------------- Obtener información sobre servidor. #
# /lusers ---------------------- Obtener estadísticas del servidor. #
# /users ----------------------- Usuarios conectados al servidor. #
# /links ----------------------- Lista los servidores de la red actual. #
# /list ------------------------ Lista e informa


Aunque son muchos les aconsejo darle una buena leída a todos, :) uno nunca sabe cuando se pueden necesitar.

Saludos!!! ;)

No hay comentarios: