Upload
angel-alonso-fernandez
View
95
Download
5
Embed Size (px)
Citation preview
Introducción al linux del dreambox
creado por Ozo2006
Introducción al linux del dreambox Ozo 2006
0 Introducción1 Como acceder2 Atajos3 Organización de los directorios4 Permisos de los archivos5 Cambio de contraseña de root6 Comodines7 Movernos por el sistema8 Copiar, Mover, Borrar9 Matar procesos10 Encontrar un archivo11 vi12 mkdir, rmdir13 tail, touch, echo, clear14 Ejecutar archivos15 Parar/reiniciar el sistema
Apéndice I Clave pública del autor
Introducción al linux del dreambox Ozo 2006
0 Introducción
En este cursillo voy a intentar explicar de una manera «muy básica» como manejarnos por el linux que trae nuestro dreambox. Para profundizar en linux recomiendo acudir a google y buscar tutoriales sobre linux en general. Las instrucciones que voy a mostrar tienen gran cantidad de opciones pero me limitaré a mostrar las más básicas.
Este cursillo contendrá errores. Si ves alguno dímelo y lo solucionaremos. Además si quieres ampliarlo, estás en tu casa. Si quieres distribuirlo en otros foros o web, adelante, pero tienes que indicar el autor y el foro original de publicación.
Antes de empezar he de decir que hay que tener cuidado a la hora de «tocar las narices» dentro de cualquier SO. Da lo mismo que sea un ordenador o el dreambox. Por ello si decides probar cualquier instrucción sin estar seguro de lo que vas a hacer o de sus consecuencias, lo haces bajo tu propia responsabilidad. Yo no quiero saber nada si tienes que volver a instalar la imagen. :D
Si conoces linux seguramente encuentres que ciertas ordenes estén muy, muy restringidas en la explicación, no mostrando todo el potencial de las mismas. En algunos casos se debe a mi desconocimiento de ciertas opciones. Otras veces es algo consciente que lo único que persigue es no liar a la gente. Creo que es mejor decir que una orden hace «esto» y no liar la cosa, que ponerte a explicar 50 usos de la orden. Aunque el uso que le este dando sea el minoritario.
Si quieres este texto puede seguir mejorando. Solo tienes que comentar las dificultades que tengas, aquello que no entiendes, donde quieres más explicaciones y cualquier orden que no este descrita y que creas que es útil.
Introducción al linux del dreambox Ozo 2006
1 Como acceder
En este punto he de suponer que usas en tu ordenador windows. Si usas linux puedes seguir este punto desde un terminal.
Para acceder a nuestro dreambox y poder usar todo lo que voy a explicar aquí, lo haremos a través de telnet. Esta aplicación nos permite acceder al shell ( linea de comandos ) del SO del dreambox.
Podemos encontrar clientes telnet en muchos de los programas que se usan habitualmente para interactuar con nuestros dreambox, pero para no complicarnos la vida usaremos el que trae windows. Para acceder a él tenemos que abrir una ventana con la linea de comandos.
Inicio > Programas > Accesorios > Linea de comandos
Inicio > Ejecutar ... >en XP> cmden 98> command
Tecla windows + R
Se abrirá una ventana con la linea de comandos dispuesta a recibir instrucciones. En esa ventana escribiremos:
telnet 192.168.1.4
Evidentemente debes de escribir la IP de tu dreambox, 192.168.1.4 es la del mío :)
respuesta del dreambox al telnet
Introducción al linux del dreambox Ozo 2006
Esto no sé muy bien donde meterlo, así que como este es el primer paso que vamos a dar en linux lo pongo aquí. Hay que tener cuidado al escribir. Linux distingue entre letras mayúsculas y minúsculas. No es lo mismo «ls» que «LS» o que «Ls».
Como veis al dar a INTRO conecta con nuestro dreambox y este nos pide el usuario. Le decimos que root y le damos a INTRO. Ahora nos pide la contraseña. Cuando la escribamos veremos que en pantalla NO aparece lo que estamos escribiendo NI ASTERISCOS que indiquen los caracteres que llevamos escritos, por lo que debemos tener cuidado al escribir la contraseña. En este tutorial supongo que no has cambiado antes la contraseña, así que escribiremos dreambox e INTRO.
Una vez que entramos en la shell
Ya estamos dentro de nuestro dreambox.Para describir un poco lo que vemos. Tenemos un cursor, el bloque que parpadea.
Delante de él tenemos en este momento ~ Esta es la ruta del directorio en el que nos encontramos. En este momento nos esta diciendo que estamos en el directorio personal del usuario. Como es el root o administrador y el SO no es un linux completo el directorio donde estamos es el DIRECTORIO RAIZ. ( esto podría variar de unas imágenes a otras )
Para saber en todo momento en que directorio nos encontramos podemos escribir la orden pwd.
pwd
Para salir de nuestro dreambox tenemos que introducir la orden «exit»
exit
Introducción al linux del dreambox Ozo 2006
2 Atajos
Antes de entrar en materia vamos a aprender unos trucos que nos ayudaran a movernos más rápido.
Primero vamos a aprender a que linux complete lo que queremos escribir. Cuando queremos escribir una instrucción y no sabemos como se escribe exactamente. O cuando queremos movernos por los directorios pero no sabemos sus nombres exactos. Podemos escribir el principio y utilizar la tecla del tabulador. Linux intentará completar lo que nos falta y si hay varias opciones nos mostrará esas opciones.
cd tuxbox/ + tabulador
En el ejemplo queremos cambiar de directorio dentro de /var uno que está debajo de tuxbox pero no nos acordamos del nombre. Pulsamos la tecla del tabulador 2 veces y nos muestra los posibles directorios.
u + tabulador
En este otro ejemplo sabemos que la instrucción comienza por «u», pero no sabemos como sigue, así que procedemos igual; doble pulsación de tabulador y nos muestra todas las posibilidades.
Si quisiéramos, por ejemplo, ejecutar «uudecode» con escribir «uud» y dar a tabulador una vez nos escribiría la instrucción completa.
uud + tabulador = uudecode
* No lo ejecutes :) . Si lo has hecho para salir presiona CTRL+C
O en el ejemplo anterior de los directorios, si escribiésemos una «c» y diésemos a tabulador una vez nos completaría la ruta.
cd /var/tuxbox/c + tabulador = cd /var/tuxbox/config/
* Si lo has ejecutado estarás en el directorio /var/tuxbox/config
El otro atajo importante es que podemos repetir las instrucciones que ya hemos ejecutado con las flechas arriba y abajo. Si presionas la flecha hacia arriba vas viendo las instrucciones que has ido ejecutando desde la más reciente hasta la más antigua. Cuando vuelves atrás en las instrucciones puedes volver adelante presionando la flecha abajo.
Si al ejecutar alguna instrucción el resultado se nos sale de la pantalla podemos «subir y bajar» la pantalla pulsando la tecla de mayúsculas y las teclas de avance y retroceso de página.
Introducción al linux del dreambox Ozo 2006
Mayús + RePág = Subimos una pantallaMayús + AvPág = Bajamos una pantalla
* Lo siento, de esto no tengo imágenes. Por lo que si lo quieres ver, no te queda más remedio que probarlo. :D
Cuando no sepas como usar exactamente una instrucción le puedes pasar la opción «help» ( con dos guiones ) y te mostrara la ayuda. Es muy simple pero te ayuda.
Introducción al linux del dreambox Ozo 2006
3 Organización de los directorios
En este capítulo voy a explicaros un poco como están organizados los directorios dentro del dreambox. También pretendo deciros donde no es recomendable tocar nada, más que nada por no fastidiar la imagen.
directorio raíz
Aquí vemos los directorios y archivos que están en el directorio RAIZ. Vemos que nos los muestra de colores. Cada color nos indica que es cada cosa.
Los nombres en azul marino son directorios. Los nombres en cían son enlaces a directorios o a archivos. Los nombres en verde son archivos ejecutables. Los nombres en blanco son archivos no ejecutables. Normalmente de texto.
* No ejecutar el archivo «go»
Empezaremos por los obvios.
/cf la tarjeta de memoria/hdd el disco duro/usb la memoria usb
En estos directorios tendremos archivos o estarán vacíos, dependiendo de si están instalados o no. En linux cuando pinchamos una memoria, un cd, etc. este se «monta» en un directorio. Pero si no hay memoria, cd, disco, etc. , el directorio está vacío.
Ahora pasemos a los directorios en los que NO SE DEBE DE TOCAR. Estos directorios son importantes para el sistema por lo que no es conveniente tocar nada en ellos. Todo lo que creamos que debe ir instalado en ellos TIENE OTRO SITIO DONDE INSTALARSE.
/bin ejecutables del sistema./dev dispositivos. O sea, el hardware que linux lo trata como
archivos./etc archivos de configuración./lib librerías del sistema. O sea, las DLL./proc datos importantes para el sistema. Por ejemplo los
procesos activos./sbin ejecutables importantes del sistema. No tocar nada aquí./share configuraciones varias
Y por último los directorios donde podremos instalar nuestros programas. Ojo al tocar cualquier cosa aquí. Si no sabes lo que hace o lo que vas a hacer, NO LO HAGAS, te puedes cargar la imagen.
Introducción al linux del dreambox Ozo 2006
/media enlace a /var/mnt/mnt enlace a /var/mnt/tmp archivos temporales./var árbol de directorios del usuario. Creo que a
partir del 7020 se llama /usr.
directorio /var
Ahora pasemos al directorio /var. Creo que es bastante conocido por todos pero lo explicaré por encima. Como veis muchos de los directorios ya los he descrito antes. En este caso son directorios que no son esenciales para el sistema por lo que podemos ir con menos cuidado. Pero eso no significa que podamos ir a lo loco.
/keys ¿ de verdad te tengo que decir que guardar aquí ?
/scce ¿ de verdad te tengo que decir que guardar aquí ?
/mnt dispositivos montados ( memorias, disco duro )
/tuxbox los plugins y sus configuraciones
/var es el directorio donde instalaremos nuestros programas. Cuando te den un archivo para el dreambox lo tienes que instalar aquí. Si viene comprimido y lo descomprimes es en este directorio donde van a ir instalados sus archivos y directorios. Nunca los instales en el directorio raíz a no ser que sepas muy bien lo que estás haciendo.
Introducción al linux del dreambox Ozo 2006
4 Permisos de los archivos
A veces veo por los foros que la gente recomienda poner 755 a archivos que no son ejecutables. Esto hace que en algún momento se pueda bloquear el dreambox porque se está dando permiso de ejecución a un archivo que no es ejecutable. Así que, ojo con los permisos que damos a los archivos.
En linux todos los archivos tienen 3 permisos básicos; Lectura, Escritura y Ejecución (rwx). Además esos permisos se pueden dar a 3 escalas; Usuario, Grupo y Otros.
La lista de permisos se divide en 4 partes:
directorio/enlace propietario grupo otros rwx rx rx rw r r
En el ejemplo tenemos los permisos de 2 archivos. En el primero todos los usuarios pueden leerlo y ejecutarlo. En el segundo todos los usuarios pueden leerlo y ninguno puede ejecutarlo. En los 2 el propietario es el único que puede modificarlo, por ejemplo escribiendo en él.
Los directorios también tienen permisos. Si los permisos fueran de un directorio al principio de la lista de permisos aparecería una «d». Y si fuera un enlace aparecerá una «l».
Cuando no se tiene permiso para hacer una cosa aparece en su lugar un guión.
Para cambiar los permisos de un archivo está la orden chmod. La forma de uso es:
chmod modo archivo
El modo se le puede pasar de dos maneras diferentes; por medio de un número o mediante letras. Si eres capaz de acordarte de a que modo corresponde cada número te admiro. Para hacerlo de forma más comprensible te recomiendo hacerlo mediante letras.
Para cambiar los permisos de una archivo lo primero que debemos hacer es saber a quién le vamos a dar o quitar permisos.
u el Usuariog el Grupoo los Otrosa A todos
Y luego que permisos le vamos a dar o quitar.
r lectuRaw escritura (Write)x ejecución (eXecute)
Introducción al linux del dreambox Ozo 2006
Para formar la parte del modo se toma el usuario, lo que queremos hacer y a quién. Por ejemplo:
g+w da permiso de escritura al grupou+x da permiso de ejecución al propietario ax quita el permiso de ejecución a todosor quita el permiso de lectura a los usuarios que
no sean el propietario ni estén en su grupo.gow quita el permiso de escritura al grupo y a los
otrosu+wx da permiso de escritura y ejecución al
propietario
Por lo tanto cuando nos dan un archivo comprimido con 2 archivos, un ejecutable y uno de configuración, no tenemos que darles los mismos permisos. ( el 755 famoso )
Para el ejecutable sería:
chmod a+x archivo_ejecutable
Y para el de configuración:
chmod a+r archivo_de_configuración
Estos serán los más habituales. Aunque en un momento dado puedes dar otro tipo de permisos. Cuando se copian archivos desde windows hacia un sistema linux se ponen sus permisos como «rwxrwxrwx» por lo que lo primero que se suele hacer es cambiarles los permisos.
Cuando se trabaja con archivos se pueden usar comodines y con esta instrucción no vamos a ser menos así que si queremos dar permisos de escritura a todos los archivos que empiecen por «uu» ejecutaríamos:
chmod a+w uu*
* Ver el apartado dedicado a los comodines
Introducción al linux del dreambox Ozo 2006
5 Cambio de contraseña de root
Esto es algo que deberíamos de hacer lo primero. Todos conocemos la «seguridad» que nos ofrece windows. Todos los días salen nuevos agujeros. Si alguien tiene acceso a nuestro ordenador con windows, tiene acceso a nuestra red interna y por lo tanto tendría acceso a nuestro dreambox. Con el cambio de contraseña del root no vamos a impedir que entren, pero se lo vamos a poner un poco más difícil. Y si es alguien que no es realmente un hacker, va a desistir. Por lo tanto esto no es más que un sistema de seguridad.
Cuando cambies la contraseña acuerdate de cambiarla en todos los programas que acceden a el dreambox de manera automática.
Para cambiar la contraseña se usa la orden passwd. El modo de uso es:
passwd
Aquí he cambiado la contraseña del root 2 veces.
Como veis cuando introducimos la orden nos da unas recomendaciones y un mínimo y un máximo de caracteres. ( 5 y 8 respectivamente ) La recomendación es que mezclemos minúsculas, mayúsculas y números. Esto hace que la contraseña sea más difícil de romper.
Al escribir la contraseña, como cuando accedemos al sistema, no vemos lo que escribimos. Nos pide que volvamos a escribirla para comprobar que no nos hemos equivocado. Si nos equivocamos :) simplemente nos dice que las claves no coinciden y sale sin cambiar nada.
He puesto dos muestras que pueden salir al cambiar las contraseñas. En los dos casos se han cambiado, pero en el segundo se ha usado una contraseña de 5 caracteres en minúsculas, por lo que el sistema nos avisa de que es una mala clave por ser muy simple. Esto solo es un aviso de seguridad, nuestra contraseña sí se cambia.
Introducción al linux del dreambox Ozo 2006
6 Comodines
Antes de entrar en materias «fuertes» creo que es importante hablar de los comodines. Los comodines son unos caracteres especiales que pueden sustituir a cualquier carácter o grupo de caracteres. La «flexibilidad» de estos es muy amplia por lo que aquí solo voy a hablar de unos casos muy concretos. Si quieres aprender a usarlos en profundidad te recomiendo acudir a internet.
Los comodines son 2: el asterisco «*» y el símbolo de fin de interrogación «?»
* sustituye a uno o más caracteres? sustituye a un carácter
Los comodines se pueden usar en casi cualquier instrucción del sistema.
ls f*
Aquí le estamos pidiendo que nos muestre todos los archivos que comiencen por «f».
ls ?g*Otro ejemplo. En este caso le pedimos todos los archivos en los que la segunda
letra sea una «g».
ls *h
Y por último, algo a lo que si conoces un poco de MSDOS, no estarás acostumbrado. Se puede poner el asterisco delante de las letras del archivo. Aquí le pedimos que nos muestre todos los archivos que acaben en «h».
Introducción al linux del dreambox Ozo 2006
7 Movernos por el sistema
Por fin vamos a ver algo más que teoría. :D En este apartado vamos a aprender a usar las siguientes ordenes: « ls, cd, cat »
7.1 ls
Si te das cuenta, he estado usando esta orden hasta ahora cuando quería que el sistema me mostrara los archivos y los directorios. Esta instrucción sirve para eso, «Lista el contenido de un directorio»
Si le pasamos la instrucción sin parámetros nos muestra el contenido en filas y columnas.
Si queremos que nos muestre más datos, como los permisos, el propietario de los archivos, el tamaño y la fecha y hora de creación le tenemos que pasar otras opciones.
ls l
Como vemos al pasarle la opción «l» nos muestra más datos. En la primera columna tenemos los permisos. Después viene el propietario y el grupo ( columnas root root ). Después el tamaño en bytes, ( si se quiere mostrar en kb o Mb se le pasa la opción «h» ). Después la fecha y la hora y por último el nombre.
Si os fijáis en los enlaces, muestran la ruta o el archivo al que están enlazando.
Ejemplos de uso de «ls»:
ls muestra en forma de columnasls l muestra en forma de listals la muestra en forma de lista y también los archivos ocultos
Introducción al linux del dreambox Ozo 2006
ls lh muestra en forma de lista y el tamaño en forma «Humana»
También podemos mostrar los archivos que están en otros directorios diferentes al actual. Para ello le pasamos la ruta hasta el directorio.
ls /var/mnt ls /var/mnt l
Como vemos en la imagen estamos en el directorio /var/tuxbox y le pedimos que nos muestre el directorio /var/mnt primero sin pasarle opciones y luego con una opción.
7.2 cd
Esta instrucción sirve para movernos por diferentes directorios. Antes de nada hay que conocer unos «directorios especiales». Estos directorios sirven para referirnos a los directorios actual, anterior o raíz. Si has manejado MSDOS tienes que tener en cuenta que aquí no se pueden juntar caracteres a la instrucción. Como te habrás dado cuenta para separar los directorios en todas las imágenes que he puesto hasta ahora, se usa la barra «/», en windows/MSDOS se usa la barra invertida «\».
Para referirnos al directorio raíz usamos la barra.
cd / cambia al directorio raíz
Para referirnos al directorio actual usamos un punto.
cd ./dire cambia al directorio «dire» desde el directorio actual
* Aunque parezca una tontería esto es muy útil en ocasiones.
Para referirnos al directorio superior usamos dos puntos.
cd .. cambia al directorio inmediatamente superior.
Si escribimos solo la instrucción nos lleva al directorio del usuario.
cd cambia al directorio del root
Cuando queremos cambiar a un directorio le podemos pasar la ruta completa o la relativa desde el directorio actual.
Introducción al linux del dreambox Ozo 2006
En esta imagen vemos varios cambios de directorio, usando rutas absolutas ( las que empiezan por la barra ) o relativas ( las que empiezan por el nombre directamente ).
En esta orden no se pueden usar comodines.
Se pueden usar los «directorios especiales» para generar rutas «complejas»
cd ../.. sube dos niveles en el árbol de directoriocd ../dire cambia al directorio «dire» que esta en un nivel
superior
7.3 cat
Esta orden nos sirve para mostrar el contenido de un archivo. El archivo debe de ser un archivo de texto ya que sino nos mostrará caracteres extraños y tendremos que salir.
La instrucción tiene el formato:
cat nombre_archivo
ejemplo con el archivo «go»
Esta orden es útil vara ver los archivos de configuración o las instrucciones de instalación sin correr el riesgo de modificar nada.
Como algunos archivos son demasiado largos para mostrarse en una sola pantalla
Introducción al linux del dreambox Ozo 2006
podemos usar la combinación Mayús+RePág para ver el archivo. Si aún así, el archivo fuera demasiado largo podemos usar la siguiente orden:
cat nombre_archivo | more
Esto rellena la pantalla con el archivo y espera a que le demos a una tecla para seguir mostrando el archivo.
Introducción al linux del dreambox Ozo 2006
8 Copiar, Mover, Borrar
Ahora ya empezamos a correr riesgos. A partir de ahora hay que tener cuidado con lo que hacemos. Si usamos estas instrucciones sin saber lo que estamos hacendo podemos perder información o hacer que alguna opción dentro del dreambox deje de funcionar. Usa estas instrucciones con cuidado, sabiendo lo que vas a hacer y dentro del directorio /var.
8.1 Copiar
Para copiar archivos de un lado a otro se usa la orden «cp». La forma de hacerlo es: cp origen destino
Destino puede ser un directorio, con lo que el archivo se copiará a ese directorio. El origen no tiene porque estar en el mismo directorio en el que nos encontramos.
cp arch1 arch2 copia el archivo «arch1» con el nombre «arch2»cp /etc/hosts ./ copia el archivo hosts del directorio /etc en el directorio
actualcp /etc/hosts /var/etc/ copia el archivo hosts del directorio /etc en el directorio
/var/etc
A la hora de copiar archivos podemos usar comodines.
cp /etc/h* /var/bakup/ copia todos los archivos que empiecen por «h» del directorio /etc al /var/bacup
8.2 Mover
Esta orden tiene dos propósitos. El primero es mover archivos de un lugar a otro. Se diferencia de la orden «cp» en que copiar deja el archivo en el lugar original y hace una copia en el de destino. Mover lo que hace es copiar el archivo al destino pero borra el original.
El segundo propósito de esta orden es el de renombrar archivos.La orden que se da para hacer esto es «mv». Su formato es:
mv origen destino
Destino es un directorio cuando lo que queremos es mover el archivo y es un nuevo nombre cuando queremos renombrar el archivo.
mv arch1 arch2 renombra el archivo «arch1» a «arch2»mv arch1 /tmp/ mueve el archivo «arch1» al directorio /tmp
En mover también podemos usar comodines.
mv ar* /tmp/ mueve todos los archivos que empiecen por «ar» al directorio /tmp/
8.3 Borrar
Introducción al linux del dreambox Ozo 2006
Esta es la orden más peligrosa. Cuando borramos un archivo lo perdemos. No hay papelera de reciclaje. Hay que tener mucho cuidado cuando borramos un archivo. Las imágenes pueden no estar configuradas para pedir confirmación de borrado, por lo que si damos la orden de borrar algo una vez presionado intro no habrá vuelta atrás.
La orden para borrar es «rm». Su formato es:
rm archivo
Como en las anteriores permite el uso de comodines.
rm arch1 borra el archivo «arch1»rm ar* borra todos los archivos que empiecen por «ar»
Introducción al linux del dreambox Ozo 2006
9 Matar procesos
¿ Qué son los procesos ? Todos los programas que se están ejecutando a la vez en un sistema linux son procesos. Cuando un programa se bloquea suele ocupar el 100% del procesador por lo que el sistema deja de responder. En realidad no deja de responder, sino que lo hace con mucha lentitud. En ese momento podemos hacer dos cosas. La primera es hacer un reset y la segunda es matar el proceso que se ha bloqueado. Yo recomiendo intentar primero esto último.
Si hacemos un reset podemos dejar archivos abiertos o con datos inválidos. Esto puede llegar a hacer que no arranque la imagen. Además nos puede llenar el sistema de archivos «core». No es normal que las imágenes tengan activados los archivos core, pero si esto ocurre nos puede dejar sin espacio.
9.1 ps
Para conocer los procesos activos ejecutamos «ps». Si le pasamos la opción «A» nos dice todos los procesos que se están ejecutando en ese momento.
ps A
Como se puede ver en la imagen los procesos que tengo yo en mi dreambox. Como se puede ver la lista se divide en columnas. Los datos «más importantes» son:
PID identificativo único del procesoUid propietario del procesoCommand orden con la que se ha iniciado el programa
9.2 grep
Esta lista puede ser bastante más larga y nos puede dificultar el encontrar el proceso que queremos matar. Para solucionar esto tenemos otro programa que nos ayuda a seleccionar el proceso que nos interesa. El comando es «grep».
grep nos permite buscar una cadena de texto dentro de los resultados de una orden anterior o de un archivo y nos muestra la linea en la que se encuentra la cadena.
Introducción al linux del dreambox Ozo 2006
ps A | grep enigmaEn la imagen vemos el resultados de buscar la cadena «enigma» en los resultados
de la orden «ps A»Para ver una cadena dentro de un archivo se usa la orden «grep»:
grep mod ./go
En este ejemplo hemos buscado la cadena mod dentro del archivo «go» que esta en el directorio actual ( en este caso el directorio raíz ) Esta orden puede ser útil para ver una opción en los archivos de configuración sin tener que preocuparte de buscarla visualmente en el archivo de texto.
9.3 kill killall
Y por fin nos ponemos violentos ;) Cuando un programa se bloquea hay que matarlo con las ordenes «kill» o «killall»
Esto lo que hace es detener el proceso que queramos y liberar la memoria que este ocupa. El método para matar un proceso es el siguiente:
Primero tenemos que saber el programa que se ha bloqueado. Un plugin que hayamos ejecutado, una emu, ... Supongamos que ha sido el plugin «FeedHunter» ( es el último que me ha bloqueado el dreambox )
Cuando sabemos el programa que se ha bloqueado tenemos que conocer su PID. Para ello ejecutamos el comando «ps» junto a «grep»
ps A | grep feed
Esta orden sacaría algo así como:
451 root 12032 S/var/tuxbox/plugin/feedhunter
Ahora tenemos 2 opciones para matar este proceso. La primera es hacerlo con el comando «killall». Hay que pasarle el nombre del proceso
killall feedhunter
Introducción al linux del dreambox Ozo 2006
Killall intenta matar el proceso de forma «limpia» forzando al programa a salir.
Si esto fallase podemos usar el comando «kill». A este hay que pasarle el PID.
kill 451
Si aún así el proceso no muriese le podemos pasar la opción «9» que será lo último que intentemos antes de hacer el reset :)
kill 9 451
* De esto no pongo pantallas porque no es conveniente matar procesos cuando todo funciona correctamente.
Introducción al linux del dreambox Ozo 2006
10 Encontrar un archivo
Vale ya sabemos movernos por el sistema, sabemos copiar y borrar archivos pero, ¿ dónde esta el archivo que estoy buscando ? Si conocemos el nombre del archivo que estas buscando puedes usar la orden «find» para encontrar archivos dentro del sistema. El formato de la orden es:
find ruta name expresión
En ruta le pasamos el directorio a partir desde el que comenzara a buscar el archivo que nos interesa y en expresión el nombre del archivo. Dentro del nombre de archivo podemos usar comodines si no conocemos el nombre completo.
find /var/tuxbox/ name new*
En el ejemplo hemos buscado todos los archivos que comienzan por «new» dentro del directorio /var/tuxbox . Lo he restringido a ese directorio porque si lo hacia en un directorio superior los resultados eran demasiados y no quiero poner imágenes demasiado grandes. :)
Ejemplos:
find / name *cam* muestra las rutas de todos los archivos que contengan la expresión «cam» en su nombre desde el directorio raíz
find . name *cfg muestra todos los archivos que acaben en «cfg» desde el directorio actual
El comando «find» tiene más opciones. Si quieres conocer más opciones que pasarle para ampliar las posibilidades del comando busca en internet.
Introducción al linux del dreambox Ozo 2006
11 vi
Este es un gran editor de texto. Es algo «raro» de usar pero es muy potente. Es en modo texto. Para ejecutarlo:
vi archivo
Cuando lo ejecutamos se inicia en modo comando. Para realizar cualquier acción en el editor hay que estar en este modo. Para empezar a introducir texto en el archivo tenemos dos opciones:
a añade texto a la dcha del cursori añade texto sobre el cursor
Una vez que estando en modo comando presionamos cualquiera de esas teclas pasamos al modo de edición y podemos empezar a introducir texto o a modificar el texto que tengamos. Si en algún momento queremos pasar al modo comando pulsamos la tecla ESC y podremos realizar las acciones que queramos.
x borra el carácter que esta bajo el cursoro añade una linea en blanco debajo de la linea del cursordd borra una linea
Para movernos por el texto podemos hacerlo por medio de las flechas o bien de las teclas h j k l si estamos en el modo comando:
h mueve el cursor un espacio a la izdaj mueve el cursor un espacio abajok mueve el cursor un espacio arribal mueve el cursor un espacio a la dcha
Si queremos salir o guardar el archivo tenemos que estar en el modo comando y escribir:
:w guarda el archivo:wq guarda el archivo y sale del programa:q! sale del programa sin guardar los cambios:q sale del programa siempre que no hayamos cambiado
nada
Por último decir que la versión que traen las imágenes de dreambox es una versión bastante reducida de la que traen las distribuciones linux para ordenador. En las versiones para ordenador tiene muchas opciones. Pero la versión que nos interesa es suficiente para editar los archivos de configuración o crear pequeños scripts.
Introducción al linux del dreambox Ozo 2006
Aspecto de vi recién iniciado
Las lineas que comienzan por el carácter «~» son lineas sin usar. Al final de la pantalla podemos ver una «barra de estado» ( sería el equivalente en un entorno gráfico ) en la que vemos el nombre del archivo, la linea y la columna en la que estamos y el lugar del archivo en el que estamos, en porcentaje.
Cuando estamos en el modo comando e introducimos una opción que empiece por «:» será aquí donde se muestre lo que estamos escribiendo.
Introducción al linux del dreambox Ozo 2006
12 mkdir, rmdir
Vamos a continuar con otra parte dedicada a los directorios. En este caso vamos a crear y a borrar directorios.
La orden para crear un directorio es: «mkdir». La orden es simple de usar:
mkdir nombre_directorio
Esta orden no acepta comodines. El nombre del directorio no puede coincidir con el de otro que se encuentre en el mismo directorio. Hay que tener en cuenta que linux distingue entre mayúsculas y minúsculas.
La orden para borrar un directorio es: «rmdir». Esta orden también es muy simple:
rmdir nombre_directorio
Esta orden sí acepta comodines. Para borrar un directorio, este tiene que estar completamente vacío. Si no lo estuviera no se borrará el directorio y tendremos que borrar primero los archivos que contenga.
Introducción al linux del dreambox Ozo 2006
13 tail, touch, echo, clear
En este capítulo voy a explicar ordenes que pueden ser útiles en momentos puntuales.
13. 1 tailEsta orden sirve para mostrar las últimas lineas de un archivo. Su forma de uso es:
tail nombre_archivo
Pero quizás el mejor uso de esta orden sea cuando se le pasa la opción «f». Con ella lo que conseguimos es que muestre el final del archivo y cuando se sigan añadiendo lineas estas vayan apareciendo.
Quizás sea un poco lioso así explicado. Veámoslo con un ejemplo. Tenemos un plugin funcionando que nos crea un archivo log en el directorio /tmp que se llama «arch_log.log». Como queremos parar el plugin cuando este escriba en el log una determinada cadena tenemos que monitorizarlo continuamente.
Ej:plugin Ejecutamos el plugintail f /tmp/arch_log.log Monitorizamos el log
Como resultado en pantalla veremos aparecer todo lo que el plugin vaya escribiendo en el log.
13. 2 touch
Esta orden crea un archivo vacío. Si queremos crear un archivo se puede hacer con la orden «touch». Por ejemplo para editarlo con posterioridad o porque cierto plugin necesita una archivo y no lo crea el mismo. Su forma de uso es:
touch nombre_archivo
Nos crearía un archivo en la ruta que especifiquemos. Si no le decimos ninguna ruta nos lo crea en el directorio actual.
Ej:touch prueba Crea un archivo llamado prueba en el dir. actualtouch /tmp/log Crea un archivo llamado log en el dir. /tmp
13. 3 echo
Con esta orden podemos sacar un texto en pantalla ( del telnet no en la TV ). Su formato es muy simple:
echo texto a sacar por pantalla
No hacen falta comillas. Admite variables del sistema.
Introducción al linux del dreambox Ozo 2006
13. 4 clear
Esta es otra instrucción simple. Lo que hace es limpiar la pantalla. Su uso es también bastante simple:
clear
Realmente solo limpia la pantalla visible, si utilizamos el retroceso de pantalla ( Mayús+RePág ) veremos todo lo que había salido de la pantalla.
Introducción al linux del dreambox Ozo 2006
14 Ejecutar archivos
En windows el sistema sabe que un archivo es ejecutable porque tiene una extensión determinada: EXE, COM, BAT, MSI, ... Como vimos en el capítulo de los permisos en linux los archivos ejecutables se distinguen porque tienen unos permisos determinados. De hecho pueden ser ejecutables para unos usuarios y para otros no. Debido a esta filosofía los ejecutables de linux pueden tener cualquier nombre y extensión. Y normalmente carecen de extensión. Esto queda a la voluntad del autor del ejecutable. Aún así, a los ejecutables creados en ciertos lenguajes sí se les suele poner extensión, pero no es obligatorio. Los ejecutables que más nos interesan son los «shell script», a los que se les suele poner la extensión «.sh» Como digo no es obligatorio pero sí suele ser común, por lo que si vemos un archivo que termina en «.sh», casi con total seguridad estamos ante un «shell script»
Como resultado de la orden «cat /go» nos muestra el contenido del archivo «go». Lo que se muestra en pantalla es un «shell script». Es un archivo de texto que ejecuta una serie de ordenes del sistema. Es un lenguaje muy potente y nos puede ser útil para crear ciertas tareas que repitamos con asiduidad. Como ves no tiene extensión, pero es un ejecutable. Para encontrar archivos ejecutables creados en «shell script» puedes practicar la orden «find» :)
find / name *.sh
Si al principio ( capítulo 3 ) tuviste la tentación de ejecutar el archivo «go» te darías cuanta de que no pudiste.
Esto es debido a que no esta en el PATH del sistema. Solo son ejecutables desde cualquier lugar, aquellos archivos que tengan los permisos adecuados y estén en los directorios que estén en el path. Para conocer el path que tenemos definido ejecutamos la siguiente orden:
echo $PATH
* Cuidado con las mayúsculas
Si queremos ejecutar un archivo que está fuera del path tenemos que indicar la ruta hasta el archivo.
Introducción al linux del dreambox Ozo 2006
Como vemos en la imagen he ejecutado un archivo llamado «ejec1» que esta en el directorio «/tmp» primero desde el propio directorio y luego desde el directorio raíz.
Introducción al linux del dreambox Ozo 2006
15 Parar/reiniciar el sistema
¿ Qué ocurre cuando el dreambox y el ordenador con el que estás haciendo la sesión no están cerca ? Que no puedes ponerte delante del dreambox y reiniciarlo o apagarlo con el mando. En linux existen dos instrucciones que nos permiten hacer esto con el sistema.
15 . 1 – Parar
Cuando lo que queremos hacer es parar el dreambox y no lo tenemos delante podemos hacerlo por la red con la orden «halt». Con esta orden el dreambox se apaga completamente, no queda en «standby». Su uso es simple:
halt
15 . 2 – Reiniciar
Cuando lo que queremos es reiniciar el sistema tenemos la instrucción «reboot» que nos reinicia el dreambox. Su uso es también bastante simple:
reboot
Introducción al linux del dreambox Ozo 2006
Apéndice I
BEGIN PGP PUBLIC KEY BLOCKVersion: GnuPG v1.4.1 (GNU/Linux)
mQGiBEQMog4RBACgXDDNV3LqUypSS2inT1/eG9BwFmrOKFBn+/Zdje34axlStNu0XvZ0gcVpiKqDmBCjxLJvLW+/bxL+YR94k9WJ70Rl4n08iQVZBIDSPQxJHz1wvHMtXopiz9WeB6Zss2dkzucK2bxzjXyw8+QTfquNhPx30aWMdIfIyMm8qUsyuwCgzV175vfmaIG4NDRrMHhJn+c6Kz0D/1cxVcNRP0+5iRMP7K0fuGulhjDyn5douk6QJRg8bz9vBdzvQZX6wRGPU3y6uuY3WNSBwGsELZ1vPygYVLbOSbBhu47c56l+BxZzgceHfkCwWpvAFzTmC8i8/nPA9QVBr58lA4mNiPMGMG2VQ02eYo//nsT7l/4/I9xvYXjzLv6sA/9T1QRyPe+/mZVutq8sbCrFRkMNjvweLIeZmCrgrzdexhOdJubx5JwtTfdylQylYPN4N+r5qOp7L+EsVgQKQYOJiD70rpFLMqhR2tGzxTOOmUCagIZSAi5WcTCswemAYSLPYVDaMTjpByOGAZSaFdoAkz4DzcWzIa3XG0dkDKk2sLQbT3pvIHkgRnJvaWQgPG96b3l0dEB5YS5jb20+iF4EExECAB4FAkQMog4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQzHan/Q3MLMoGFwCgpRzUsKwN/TtfEiQiy+zA6NfZ8mEAoJcTWmf9NiNVQsIQwcorZr5y46R+uQINBEQMohoQCACMP/XDNLgMV3eaCBromsaQUBX+7YvGrCTPwut6cS7+x7njhhQkB4TgvWjuVZ7rlHsCXGiTP3zuTq+AFiNyx69L7uPHmPRLYjcwjioyJch0Da4NL10nymUAGy8589RPmKh/Gr1aaJXMckHI+dboGk5b9Fte81EtyN+SshUN2h0mO0JGWAkCswN0wtsgkI7lgdi1YqZ5fR52Yi9dqAdu7V/MVaj13qeQBd+PWOodbzawopCgfYRXzIY2wwr7FCjdYQLJWYNWU6a6GDwa81EQi297DhYSf8JrU87rWgiCBC8hxWrCo/jfc1MMqSBw9cJ5TtStJ2zlYpNV8hUUqlsp5pSjAAMFB/9X/xmk/Qd0vNx00dcaWjXBU50zm6jkXjH2dUPzLEB3thq/t9mrTvA/v+t353uA5uZimvihSe/rhTD+nA0Km0s3Frv/7oYLccAsZZskvaaIcPi8xKIoxcTP3I4NhG1TyxFiqWVmNHuVWnvVFlqMBqWgd4xbihWN7hZx9Kw+Pd9lPKCVS6PzfDU5tWz/4IablBhtlOi8JZLlPkOJ1muoudIUQYOSzdPbGTqwfVIcJCA8vrd3/PYyg+t92IRfrZLDXO4qRpRfOb9b2VXzE16Pr4oMEMlixYVzGkl3UqHHglJ8JkxRfXWX4gcxTSfoH4UKEDYZaf2Alx7jaCM9e45Q9V/GiEkEGBECAAkFAkQMohoCGwwACgkQzHan/Q3MLMoL+ACeL7HGxDPAbiCxgC6K3KX0sVqzhcgAoJfA4etiIs5zA+wrWwv+zUV8nLkZ=szHTEND PGP PUBLIC KEY BLOCK
Introducción al linux del dreambox Ozo 2006