You are on page 1of 265

Pgina 1

www.it-ebooks.info
Pgina 2
Para su comodidad Apress ha colocado a algunos de la parte delantera
material de la materia despus de que el ndice. Por favor, use los Marcadores
y contenido a una Vistazo enlaces para acceder a ellos.
www.it-ebooks.info
Pgina 3
v
Mapa de contenidos
Sobre los autores xv
Sobre el revisor tcnico xvii
Agradecimientos xix
Introduccin xxi
Captulo 1: Su primer bocado de Frambuesa Pi

1
Captulo 2: El examinar el paisaje

31
Captulo 3: El conseguir cmodo

53
Captulo 4: El archivo-caminos para el xito

69
Captulo 5: Comandos Esenciales

89
Captulo 6: Edicin de archivos en la lnea de comandos

109
Captulo 7: Administracin del Pi

129
Captulo 8: Una lmpara de su propia

149
Captulo 9: Wipi: Computacin inalmbrica

181
Captulo 10: La frambuesa SPI

199
Captulo 11: Pi Media Center

223
ndice 243
www.it-ebooks.info
pgina 4
xxi
Introduccin

A pesar de sonar como algo que sera abuela hornear domingos por la tarde o un ruido que hara
que la gente
deslumbramiento y tut, la Frambuesa Pi es en realidad un ordenador. Esa cantidad que
probablemente saba (aunque, seamos honestos, la
nombre y el logotipo realmente no dan mucho de distancia), pero la Frambuesa Pi promete ms
que eso. Un montn ms.
El venerable Commodore 64 fue lanzado en 1982, y con ventas alcanzando ms de 17 millones,
es a menudo
considerado el equipo ms vendido de todos los tiempos. Ms importante (al menos desde mi
punto de vista), que tambin fue mi primera
computadora. Para Navidad, justo antes de cumplir nueve aos (cuando el C64 era casi una
dcada) he recibido el nuevo
modelo (C64C), que era idntica a la mquina clsica en todo menos en los cosmticos. Lleg
todo preparado y unido a una
bonita nuevo televisor de 14 pulgadas (que incluso tena un mando a distancia!). Sospecho que
mi padre haba eclosionado lo que l cree que es una
ms astuto plan; si poda entrar y configurar todo mientras yo dorma, ven maana de Navidad,
lo hara
estar tan ocupado jugando con el ordenador que mis padres podran obtener un extra de unos
minutos de sueo.
Por desgracia, las cosas no salieron segn lo planeado. A pesar de todo se ha configurado, y
aunque la televisin
estaba atento a la seal de la computadora, una cosa simple pero fundamental haba sido
olvidado: no haba ocurrido a nadie que contar
Me cmo cargar en realidad un juego. No hace falta decir, una en la mentira no lleg. . .
Juegos llegaron en una cinta de cassette. Esto fue antes de CDs, y al menos en el C64 tuvo que
ser jugado en una cinta especial
grabadora llama un Datasette. (Qu quiere decir lo que es un CD?) Lamentablemente, el
Datasette pas ms tiempo en la tienda de
estar unido a mi equipo y ya que era la nica manera de cargar nada en ella, no tena ms
remedio que ocupar
yo con el manual. Esto lo utiliza con gran efecto y me ense cmo programar el bueno de
BASIC (principiantes Todo
Propsito de cdigo puede Instruccin simblica que creer realmente record que?).
Aunque estoy seguro de que esta historia es muy agarre, usted podra ser perdonado por
preguntarse por qu te estoy aburrido con l. Aquellos
eventos que ocurri hace ms de dos dcadas, as que lo que sea posible relevancia podran
tener hoy? As jugando con
esa mquina y luego el Amiga que le sigui (siendo mi mquina favorita de todos los tiempos)
me dio una apreciacin real
por lo que un ordenador poda hacer. La Amiga fue severamente poca potencia en comparacin
con los PC de la misma poca, sin embargo,
consistentemente los golpearon con mejores grficos, mejor fiabilidad y un mejor sonido. Era
capaz de hacer todo esto porque
el hardware fue diseado exquisitamente. Amiga entusiastas eran algunas de las personas ms
ingeniosos que he visto nunca.
Quin habra pensado que podra dar vuelta a un puerto de reloj en tiempo real en un conector
para el almacenamiento de alta velocidad?
Todo esto fue posible slo porque la gente realmente entienden cmo todas las piezas encajan
entre s. Supieron
obtener el mximo rendimiento de la mquina, ya que realmente saba cmo funcionaba la
mquina. En estos das, me paso el trabajo
el da tratando de hacer las cosas ms rpidas van ms rpido. Para tener alguna esperanza de
xito, yo tambin necesita saber cmo funciona todo.
Las empresas necesitan gente como yo para empujar las cosas hacia adelante, pero que van a

venir a travs de un poco de un problema. Gente que


realmente saben los ordenadores de adentro hacia afuera son cada vez ms difcil de encontrar,
somos una especie en extincin, y esta es la situacin que
la Fundacin Raspberry Pi est tratando desesperadamente de revertir.
Entonces qu pas? Bueno, las cosas cambiaron. Computadoras pasaron de ser la curiosidad en
la esquina de ser un bsico
parte de la vida de todos. stas se han desarrollado hasta el punto en que slo el trabajo y todos
saben cmo usarlos. Esta
es similar a la del coche de la familia. Todo el mundo tiene una idea aproximada de cmo
funciona un coche, pero pocas personas estn muy interesados. El coche
los lleva de un lugar a otro, y que la capacidad es lo que es interesante, no cmo el coche
consigue. Las computadoras son
generalmente se ve en la misma luz. La gente tiene una idea aproximada acerca de convertirlos
tambin, la instalacin de software y as sucesivamente,
pero cmo funcionan realmente en un nivel bajo no es realmente visto como relevante o
interesante. Esto a su vez significa que no slo
son menos personas a alterarse mediante el clculo de s mismo, sino incluso menos personas
piensan que no hay ms que doble
clic en un icono.
www.it-ebooks.info
pgina 5
IntroduCCIn
xxii
Este problema se ha desviado a travs de las escuelas y en las universidades. La enseanza de la
programacin es relativamente
Tarea desafiante. Se requiere una cierta forma de pensar que para muchas personas es difcil
conseguir una manija en. Tradicionalmente,
universidades comenzaran a un curso de informtica por la enseanza de puertas lgicas, cmo
funciona la memoria, y cmo
programar una CPU. Slo una vez entendido lo que el metal desnudo estaba haciendo qu tratar
de aprender C porque aunque
C es un lenguaje de alto, que refleja el hardware que puede correr. Comprender el hardware
hace que la comprensin C
ms fcil.
Sin embargo, con tamaos ms grandes de clase, tiempo de enseanza ms limitado, y los
estudiantes que llegan cada vez con menos conocimiento de
fundamentos de computacin, las universidades han tenido que adaptarse. En lugar de ensear
todas esas cosas de bajo nivel, ya que ensean
Java y otros lenguajes de script. Debido a que estas lenguas se encargan de todas las "partes ms
incmoda" para usted, usted puede efectivamente
pretender que no existen (aunque esto puede causar algunos problemas, vase "El Infinito
memoria Mito").
Esto es simplemente fantstico desde el punto de vista de la productividad, pero cuando usted
quiere llevarlo al siguiente nivel (tal vez
ests procesamiento de datos y la secuencia de comandos es demasiado lenta), no tiene idea de a
dnde acudir. Peor an, cuando alguien dice
que la tcnica para mejorar el rendimiento que, no tienes idea de lo que estn hablando.
Por supuesto que no todas las universidades han tomado esta ruta. Estoy estudiando en la
Universidad Politcnica de Hong Kong, y su
curso de Arquitectura de Computadores es muy detallado y cubre mucho terreno. Si desea
obtener el grado superior, se quiere
necesidad de implementar un cach de la CPU para el programa simulador de CPU. No hace
falta decir que hay mucho que aprender para todos en
este curso. Dicho esto, necesitamos ms que esto. Es demasiado tarde para captar el inters de la

gente cuando estn empezando graduado


estudios. Ense de siete aos de edad cmo programar BBC BASIC cuando estaba en mi
ltimo ao de la escuela primaria (incluso
conseguido los certificados presentados por la escuela) y les encant. Computing le permite
crear un mundo virtual con su mente
(los nios les gustaba para crear pequeos juegos de aventura basados en texto) y la potencia
mxima se posaron en sus manos. Lograron
creativo; agregaron hechizos, nuevas carreteras, entradas secretas, y mucho ms. De acuerdo,
que necesitaban una mano de ayuda (que
slo siete fueron) pero tenan el deseo de crear y construir nuevas cosas frescas.
MITO memoria infinita
lo largo de los aos, he hecho un montn de trabajo de consultora con clientes de grandes
empresas y que ha significado inevitablemente
Me he encontrado con Java en muchas ocasiones. una de las cosas interesantes que he
encontrado es lo que hemos llamado
la Memoria Myth.this Infinito parece surgir ms en las aplicaciones Java que en otros idiomas,
pero eso es
probablemente porque Java tiende a ser ms ampliamente utilizado en esos entornos.
la versin corta del mito es que los desarrolladores parecen crear constantemente nuevos
objetos, a menudo hasta el punto en
la aplicacin consume enormes cantidades de memoria o se bloquea altogether.they tienden a
tener ni idea de cunto
Memoria de cada objeto toma o, ms preocupante, por las que deben care.As medida en que se
trate, lo solicite una
nuevo objeto y uno se provided.When un objeto ya no se utiliza (es decir, puntos nada a ella
ms), en Java
algn momento moverse a la limpieza para arriba (llamada la recoleccin de basura) haciendo
de esto es automtico; el desarrollador no lo hace
que tenga que hacer nada.
el problema es que esto lleva la gente a olvidar (o en muchos casos nunca se les ense en
absoluto) que la memoria es finita,
y en algn momento simplemente se ejecuta out.You no puede asumir que se puede leer en cada
fila de una tabla y que lo har
Siempre work.You no se puede asumir que slo porque su archivo de prueba es de 50 MB de
tamao que la aplicacin nunca ser
dado un archivo 5,000MB trabajar.
esta falta de entendimiento se deriva de no ser capaz de apreciar todo el trabajo duro de Java
est haciendo en el
nombre del programador. Se ejecuta sobre la gestin y la asignacin de memoria y recoleccin
de basura, y la
programador sigue siendo buena comprensin felizmente unaware.A de los fundamentos de
computacin dara una
agudo discernimiento desarrollador de Java en lo que est haciendo (tanto el cmo y el por qu)
y por lo tanto aprecian que slo porque
la creacin de nuevos objetos es fcil, la memoria en s no es libre.
www.it-ebooks.info
Pgina 6
IntroduCCIn
xxiii
As que esto es lo que Eben Upton y la Fundacin Raspberry Pi estn tratando de traer de vuelta
al mundo. Ellos quieren
reavivar que el arte perdido y hacer que las computadoras fresco e interesante de nuevo. Para
ello, se ha creado un equipo que an
para los estndares de hoy en da no se queda atrs. Es tan poderoso como su computadora

porttil? Pues no, probablemente no, pero se puede comprar su computadora porttil
por $ 35, meterlo en el bolsillo (posiblemente no es una gran idea), generan relativamente poco
calor, y beber muy poco en el camino
de poder? Si ha respondido afirmativamente a estas preguntas, que realmente realmente quiero
saber de usted-que suena como un ordenador porttil I
necesito comprar!
Independientemente de cmo mirarlo, el principal punto de venta (sin doble sentido) es el
precio. Cualquier persona puede recoger una
Frambuesa Pi sin tener que pensar demasiado en ello. Con una computadora porttil modesta en
la hora en torno a 500 $ + y una
MacBook Pro de casi cuatro veces en las que, no es el tipo de cosa que slo puede gastar sin
pensar, sobre todo si
que va a ser para la experimentacin y jugando alrededor. Sin embargo, a $ 35, el Pi es ms
barato que una pelcula mensual
suscripciones, casi podra comprar una nueva Pi cada mes!
Por qu comer Frambuesa Pi?
Se mire como se mire, que volver al precio. Cualquier otra cosa que la Frambuesa Pi es y todo
lo dems
promete que tiene reservado para nosotros, todos ellos son interesantes debido al precio. Hay
dos tipos de personas que se
ser salir corriendo a obtener una pi. El primer grupo ya est puesta al tanto en Linux y la
informtica, y para ellos el Pi representa
un servidor en un bolsillo y una barata en eso. Ya no es lo que necesitan un monstruo PC de
tamao completo y de alto consumo de electricidad
generar suficiente calor como para rivalizar con un calentador de barras. Oh, por supuesto,
puede obtener sistemas de baja potencia en cajas brillantes agradables, pero
todava no estn tan barato para comprar, incluso si son ms baratos de mantener. Sin embargo,
un dispositivo como el Pi es barato de mantener y
barato para comprar, y tiene todo lo que necesita para construir un servidor muy respetuoso.
Si usted no es una de esas personas, no se preocupe porque este libro es para ti. Te gusta la idea
de un poco de fro
computadora por $ 35 y cree que puede hacer algunas cosas bastante impresionante con ella;
usted no est realmente seguro de cmo.
Para nosotros, la gran ventaja es que el Pi se encuentra en el tipo de precio en el que podemos
darnos el lujo de comprarlo slo por diversin y utilizarlo para
experimentacin. No va a reemplazar la PC de la familia y no vas a tener que sacar una hipoteca
para comprar
uno. Se puede jugar con un pi completamente libre de culpa y tratar todo tipo de cosas extraas
e interesantes sin
tener que preocuparse por el costo o destruir su computadora principal (y por lo tanto incurrir en
la ira de todo el mundo que vive con).
Debido a que el Pi es lo suficientemente cerca de un PC normal (a pesar de que la arquitectura
es un poco diferente) se puede hacer de tipo PC
cosas con l. De hecho, eso es lo primero que te mostramos en este libro. Por lo tanto usted no
tiene que empezar de cero; todo lo que
usted sabe que ya se puede aplicar a un Pi (rima si usted dice que realmente rpido) y para que
pueda comenzar a ejecutar.
No hay duda de que tendr que hacer todas las cosas que el primer grupo de personas que quera
hacer as. No temas, tenemos que
cubiertos por el tiempo que haya terminado este libro podrs hacer todo eso y ms!
Hay un montn de razones por las que todo el mundo debe salir corriendo a este momento y
conseguir algo de Pi. En realidad, en el momento de la escritura,
todava hay un tiempo de espera de tres semanas para la entrega, y cuando el Pi fue lanzado
inicialmente, uno de los revendedores se
100.000 pre-ordenes en un solo da. Eso es un montn de Pi! Aunque el tiempo de espera,

naturalmente, seguir cambiando, el corto


versin es que ms pronto usted pide, ms pronto obtendr su pi!
Entonces por qu todo este inters? Lo que tiene de especial la Frambuesa Pi que ha logrado
una casi de culto
siguiente y se ha mantenido con el fin de volver pesada durante meses?
Slo cuesta $ 25
De acuerdo, las manos en alto a todos los que estn interesados solamente en el Pi, ya que
cuesta mucho menos que una noche en la ciudad?
Si pones tu mano, usted no est solo. Los objetivos de la Fundacin Raspberry Pi son loables,
pero todos ellos se centran en
conseguir esta mquina poderosa en nuestros guantes a un precio que no rompa el banco.
Lo que realmente ha todos babeo no es el hecho de que en cuanto a hardware se va, el Pi es
efectivamente libre,
pero ms que es un equipo completo que puede ejecutar Linux. Eso significa que los servidores,
domtica, video streaming, y
casi cualquier cosa que se pueda imaginar.
www.it-ebooks.info
pgina 7
IntroduCCIn
xxiv
Espera, ES $ 25 o $ 35?
a travs del libro que s que aparezca el precio del Pi un poco justo; Despus de todo, es una de
sus caractersticas ms distintivas.
Sin embargo, tambin mencionamos dos precios, $ 25 y $ 35, por lo cual es? Bueno, hay dos
versiones del Pi, la
Modelo A y el modelo B (como aburrida como suenan esos nombres, son remitidos desde los
ordenadores de la BBC, y
desde un punto de vista geek, los nombres son bastante inspirados) .que no es una gran
diferencia entre los dos
modelos, con el modelo B que tiene Ethernet 10/100 y un puerto USB adicional. Modelo B
tambin dibuja un poco ms
power.The adaptador Ethernet est realmente conectado internamente a travs de USB, por lo
que no es diferente entre la acumulacin de
Ethernet y un dispositivo USB que se puede conectar en el mismo puerto USB.
por lo cual debe usted comprar? Bueno, si usted piensa en red sea til, la incorporada en el
puerto Ethernet es ms o menos
necesario. Me encanta tener una funcin de conectividad Ethernet, ya que slo hace la vida
mucho ms fcil. Sin embargo, si
no estn planeando sobre el uso que sea mucho, realmente no hay necesidad de conseguir
Modelo B.that dicho, por $ 10, podra valer la pena
gastar ms por si acaso usted decide que quiere jugar con redes ms adelante ...
MS PI!
Si uno Pi es buena, dos deben ser mejor. Derecha? Bueno, $ 50 le conseguira dos Pis y si bien
esto duplica el costo, sino que tambin
ms del doble de la diversin. Ahora usted puede experimentar con la creacin de redes y
conseguir el Pis a hablar unos con otros. Despus
todo, es bueno hablar!
Experimento de Seguridad
Cuando mi equipo est fuera de servicio, incluso para un corto perodo de tiempo, es bastante
incmodo. Ciertamente no
querer violn sobre algo, y sin querer borrar mi disco duro (estado all, hecho eso). Tambin
estara bien
No se recomienda para tratar de overclocking de la CPU en el equipo nuevo que se acaba dado
ya que no es muy divertido

cree que ha prdida total de la mquina a una hora de encenderlo!


Para matar el hardware toma un poco de esfuerzo (por ejemplo, cinta adhesiva sobre un pasador
en la CPU y la eliminacin de la velocidad de la CPU
cerradura multiplicador), pero es bastante fcil de quitar su lbum de fotos de la familia y el
ltimo borrador del libro que has estado
trabajando en los ltimos seis meses (hay una razn por la cual hemos dedicado un captulo
entero y peticin personal en el libro
para copias de seguridad). Si usted tiene un arma nuclear Pi y que l, el peor de los casos es de $
25 por el desage, lo cual es mucho mejor que lo
Qu pasara si brindamos por su mquina principal.
Independencia
Estoy seguro de que algunas personas van a sealar (con razn) que la mayora de los horrores
que acabo de describir se pueden evitar si
jugar en una mquina virtual en lugar de en su mquina principal. Aparte de que no fuera tan
divertido (hardware real huele
mejor), que no le da todas las ventajas de una pieza separada del kit. Para empezar, una mquina
virtual es slo de cuando su
mquina principal est en marcha. Si le sucede que tiene un ordenador porttil que te sigue a
todas partes, una mquina virtual no ser una
gran opcin para un servidor web en casa. Adems, si alguna vez se reinicie su mquina
principal, la mquina virtual pasar a
con eso. Si lo estaba utilizando para transmitir pelculas a su televisor, usted podra terminar con
algunos miembros de la familia muy disgustado.
Al tener una verdadera pieza de hardware, puede mantener su experimentacin completamente
separada de cualquier otra cosa que
que podra estar haciendo.
www.it-ebooks.info
pgina 8
IntroduCCIn
xxv
baja Potencia
El Pi tiene una huella de potencia muy modesta. De hecho, el modelo A Pi slo dibuja 300mA,
lo que significa que puede alimentar el
cosa entera de su puerto USB. Segn Apple, dibuja mi iMac 94 vatios en reposo y hasta 241
vatios cuando el
CPU est al mximo. El modelo A Pi atrae a ms de 1,4 vatios, y el Modelo B atrae a 3,5 como
mximo. Eso es un montn de
energa ahorrada. Es comprensible que estas cifras slo tienen en cuenta los requisitos de
alimentacin del propio Pi, con un poco
adicional a un lado para alimentar dispositivos USB modestos. Si se agrega una gran cantidad
de dispositivos que consumen mucha energa a su Pi, estas cifras
aumentar en consecuencia.
Manzanas con naranjas
Slo s que alguien va a hacer una denuncia acerca de mi comparacin entre el poder y por una
buena razn. Es cierto que
en comparacin con un iMac, el Pi se basa bsicamente ningn poder en absoluto. Sin embargo,
tambin es cierto que un iMac hace mucho ms.
En primer lugar, tiene una gran pantalla, disco duro, y la CPU que se diera el brazo del Pi en el
medio de la prxima semana.
por lo que si s que estoy comparando dos sistemas totalmente diferentes y estoy admitiendo
que son muy diferentes (que se
compara un carrito de golf a un coche de Frmula Uno?) por qu estoy perdiendo tinta y papel
con esta descripcin?
Pues bien, a pesar de que estamos comparando dos mquinas muy diferentes, estamos

comparando el mismo tipo de tareas. Si tu


quiere tener un servidor web o secuencia de vdeo poco a su televisor, una pi es ms que
suficientemente potente como para hacer eso
para ti. Tenga en cuenta que el Pi est en el reloj en 700Mhz; no hace mucho tiempo, que era lo
que iba a encontrar en un muy
escritorio de gran alcance. No es que hace mucho tiempo que se iba a encontrar este tipo de
actuacin en una empresa de grado server.ten
Hace aos, era slo una fantasa. En resumen, el Pi tiene ms que suficiente jugo para hacer la
mayora de las cosas que te gustara
desde un servidor y no se requerir una pequea planta de energa nuclear para hacerlo.
Los ingredientes de un Frambuesa Pi
Despus de ver todos sus beneficios, puede que se pregunte por qu un equipo $ 35 se acumula
hasta tan bien a los que cuestan muchos
veces ms. Si usted est pensando que, no pasar mucho tiempo antes de que uno se pregunta
por qu hay una diferencia tan grande en el precio. Seguramente
si usted podra conseguir algo tan barato que hace la mayora de las cosas que su mquina
principal puede hacer, algo debe estar
con el precio de las otras mquinas. Despus de todo, si un potente ordenador porttil podra
hacerse significativamente ms barato, que sera fcilmente
hacer ms dinero en el aumento de las ventas de lo que perdera en el margen de beneficio
reducida.
Bueno, eso es cierto hasta cierto punto, pero la Pi, de gran alcance, ya que es, probablemente
nunca ser un reemplazo directo para su principal
computadora. No es cualquier cosa en particular que limita la Pi, sino una combinacin de
decisiones de diseo para equilibrar caractersticas
con el coste que en ltima instancia evitar que tomar la corona. Dicho esto, todava es una
plataforma fantstica, y vamos a ver
algunos de los aspectos ms destacados en este momento.
CPU ARM
La diferencia principal y ms evidente entre el Pi y el escritorio es que el escritorio es casi
seguro que tienen
un procesador de Intel o AMD en su ncleo, mientras que el Pi tiene un CPU basado en ARM.
La Unidad Central de Procesamiento
(CPU) es la parte que realmente ejecuta los programas suministrados por el usuario. Antes de
que una CPU puede ejecutar un programa, que debe traducirse
en un lenguaje que la CPU puede entender. As que todas las CPU ejecutar programas, pero el
programa tiene que ser en un idioma
que puedan entender. Una CPU ARM no puede entender las instrucciones escritas para una
CPU Intel o AMD, lo que efectivamente
significa que la mayor parte de software off-the-shelf (como Microsoft Windows y los juegos)
no se puede ejecutar en un Raspberry Pi.
Bueno por lo que no vamos a estar ejecutando Windows XP en el Pi, pero hace El ARM ofrece
ninguna ventaja? los
primera ventaja es que ARM CPUs llama mucho menos energa. Esto no es demasiado
sorprendente, ya que ARM realmente vino de la
industria de hardware integrado, donde el consumo de energa y generacin de calor son una
oferta muy grande. De hecho, usted encontrar algunos
www.it-ebooks.info
pgina 9
IntroduCCIn
xxvi
forma de ARM en casi todos los telfonos mviles modernos incluyendo el iPhone 4s y
Samsung Galaxy S3. De hecho, son
uno de los procesadores ms utilizados en el mundo y se pueden encontrar en todo tipo de

dispositivos tales como reproductores de DVD,


electrodomsticos, e incluso coches.
CPUs ARM tambin generan muy poco en la forma de calor. Si nos fijamos en el propio Pi, se
dar cuenta de la CPU no hace
tener un disipador de calor. Si nos fijamos en cualquier CPU Intel o AMD, no se puede dejar
pasar por alto la enorme ventilador de refrigeracin que se requiere en
Para evitar que se queme. Algunas personas incluso sistemas de enfriamiento de agua de los
usuarios para mantener su PC con procesadores
a una temperatura razonable.
El ltimo beneficio es realmente una relacin costo-rendimiento. Para la gran mayora de las
cosas, el cuello de botella real no es
Energa de la CPU, pero cmo rpidamente los datos pueden ser alimentados a la misma. CPUs
han sido durante mucho tiempo mucho ms rpido que los discos duros, e incluso el autobs
que
Enlaces Todos los componentes de la computadora juntos no pueden mantenerse al da con
incluso una modesta CPU. As que qu se obtiene de esto?
Un procesador de bajo costo que es casi seguro que va a hacer todo lo necesario sin la
penalizacin de costes.
Windows 8 en ARM
a principios del ao pasado, Microsoft anunci que Windows 8 apoyara processors.this brazo
no es demasiado sorprendente
cuando el brazo est presente en prcticamente todos los dispositivos mviles modernos; y con
el rendimiento de los chips de gama alta
ganando terreno significativo sobre las ofertas de Intel y AMD, es probable que no pasar
mucho tiempo antes de empezar a ver ms
escritorios potentes siendo alimentados por estas bestias.
Microsoft ha dominado el mercado de PC y con independencia de sus pensamientos sobre quin
debe ser a la cabeza,
todos coinciden en que Microsoft est lejos de hacerlo. por supuesto, donde conduce Microsoft,
otros seguirn. Si Microsoft
se inicia el apoyo a la plataforma ARM directamente, no pasar mucho tiempo antes de que los
fabricantes de hardware comenzarn a ofrecer
los controladores y soporte para sus dispositivos necesarios. Los desarrolladores de juegos
tambin tendrn que prestar atencin a Armstrong
Las plataformas basadas y que podra crear algunos retos y compromisos muy interesantes.
Qu significa para su pi? Bueno, probablemente no ser capaz de ejecutar Windows 8 en el
mismo; es slo que no fue construido con
esto en mente, pero s quiere decir que la tecnologa que sustenta su Pi no se basa en algunas
partes y piezas viejas
que se encuentra en la parte posterior del cajn del escritorio de alguien. sino que es muy
posiblemente basa en la plataforma de la
futuro!
512 MB de RAM
El Modelo B Pi viene con 512 MB de RAM (256 MB originalmente, pero cambi a 512 en
octubre de 2012), el cual
es compartida entre el sistema y la unidad de procesamiento grfico (GPU). Ahora teniendo en
cuenta que el ordenador porttil que estoy usando para
escribir esto tiene 8 GB de RAM, mi escritorio en su casa tiene 16 GB (es decir 32 y 64 veces,
respectivamente), y que hasta la mitad de
este es compartida con la GPU, que suena un poco dbil. Qu se puede hacer realmente en 512
MB de RAM? 256 MB o incluso si
tener un modelo A o un modelo ms antiguo B?
Bueno, la respuesta a eso es mucho ms de lo que se piensa. Recuerde, Windows 95 fue capaz
de funcionar con una
par de programas en ejecucin en tan slo 8 MB de RAM (que convenientemente suficiente es

32 veces menor que el Pi), y el


buen viejo Commodore 64 vino con solamente 64 KB (Pi tiene algo como 4.000 veces mayor
que) y era capaz de correr
miles de juegos para entretener a las masas.
Entonces, por qu tenemos tanta memoria en nuevas mquinas? La memoria es barato en estos
das, y aunque podramos
Dispone de muchas cosas en muy poca memoria, es una habilidad que ha pasado de moda. Por
qu gastar tanto esfuerzo en
optimizacin de uso de la memoria cuando es muy probable que no importa? Si 8 GB de RAM
cuesta $ 50, merece la pena si no horas
das de tiempo de un programador para ahorrar unos pocos megabytes aqu y all?
Probablemente no.
Recuerde, el Pi se entiende como una plataforma de experimentacin, no como un reemplazo
general de PC y Linux
(sobre todo sin una interfaz grfica de usuario) se ejecutar con un montn de memoria de sobra
para todos sus programas. Al mantener la memoria
a un mnimo razonable, el Pi es capaz de golpear su precio sin obstaculizar en gran medida lo
que puede hacer con l.
www.it-ebooks.info
pgina 10
IntroduCCIn
xxvii
GPU
La GPU es realmente una forma especializada de una CPU. Una CPU es genrico en lo que
puede hacer, y que trata de ser bueno en todo
lo hace, los clsicos gato-de-todo-negocia. Una GPU, por el contrario, hace una cosa y una cosa
as. Es especficamente
diseado para manejar los intensos clculos matemticos necesarios para hacer que las pantallas
complejas. Esto se ubic
traccin predominantemente en representacin de grficos en 3D, sino que ha adquirido ms
recientemente en la informtica del da a da en el cual
en lugar de grficos para la visualizacin de computacin, una GPU puede ser aprovechada para
ejecutar tipos similares de la instruccin para el usuario.
Por ejemplo, cuando una aplicacin como Photoshop mejora una fotografa, se aplica un
algoritmo a la imagen y
histricamente la CPU hara esto. Hoy en da, Photoshop puede sacar datos que los tratamientos
de perfeccionamiento de la GPU, que debido
su diseo muy especializado puede hacer el trabajo mucho ms rpido, todo ello sin necesidad
de ninguna ayuda de la propia CPU.
La razn principal por la que una GPU es importante en un dispositivo como el Pi es que,
incluso con un procesador modesto, todava puede
manejar pantallas de alta calidad y decodificar flujos de vdeo de alta calidad. Esto hace que el
Pi til como un dispositivo de medios de comunicacin como
adems de permitir una pantalla grfica completa que todava sea rpido incluso con un
procesador ms lento.
En su mayor parte, la GPU no es algo que va a cuidar directamente acerca, pero sabiendo que el
trabajo pesado
grficos de trabajo se pueda descargar algo de la CPU principal, que pueden estar ms seguros
de que el brazo que los poderes
Pi ser capaz de suministrar suficiente fuerza bruta para sus necesidades.
Puerto Ethernet (slo Modelo B)
Se podra pensar que en realidad no hay mucho que decir acerca de un puerto Ethernet. Despus
de todo, es bastante sencillo: se
conectarlo y se puede acceder a la red. Si usted no tiene uno, entonces no se puede.

Suficientemente simple?
Para m, la posibilidad de conectarse a una red cableada es esencial. WiFi puede a menudo
tienen problemas y, a veces ni siquiera es
disponible (especialmente si usted decide dar vuelta a su Pi en un punto de acceso Wi-Fi).
Aunque esta caracterstica tiene un costo adicional de $ 10,
en mi experiencia no tener la tarjeta de red cuando usted realmente necesita que le costar
mucho ms que $ 10 en el tiempo,
esfuerzo, y la molestia general. Es cierto que usted puede agregar una tarjeta de red USB al
Modelo A (y tcnicamente la tarjeta adjunta
al Modelo B est realmente conectado a travs de USB), pero que costara al menos $ 10 y
entonces tendra un dispositivo USB
ondeando al viento. Se podra decir a ti mismo "Si se trata de USB, lo puedo usar con mis otros
dispositivos, tambin!", Pero en realidad, usted
Probablemente nunca y usted es mucho ms probable que pierda la maldita cosa por completo
(a la derecha cuando ms lo necesita) que
que ha de venir a su rescate en un momento de necesidad.
Sin embargo, una de las razones por las que podra decidir sobre un modelo A es que debido a
que no tiene estos componentes adicionales,
que consume mucha menos energa. Esto probablemente no ser una preocupacin importante
para la mayora de usuarios, pero si usted est planeando en
utilizando el Pi en un producto con pilas, que estara muy interesado en reducir los requisitos de
energa tanto como sea posible.
En general, mi recomendacin es conseguir que el Modelo B debido a que obtiene la tarjeta de
red. Si usted es absolutamente 100%
positivo que nunca necesitar siempre Ethernet (o desea que el menor espacio posible de
energa), es probable que haya poca
punto de pagar el dinero extra para esta versin.
USB
Esto no es tanto una caracterstica en estos das como un verdadero requisito. Casi todos los
perifricos se conectan de esta manera y el Pi no es
excepcin. Se trabajar con todos los teclados USB estndar y ratones, y suponiendo que Linux
tiene un conductor para l, otro USB
dispositivos, as (como la tarjeta Ethernet en el Modelo B).
Ambos modelos vienen con soporte USB 2.0, aunque el modelo A slo tiene un nico puerto,
mientras que el modelo B tiene dos.
Si usted quiere ser capaz de conectar mltiples dispositivos USB en su pi, es posible que desee
considerar el modelo B, pero si ests
su puesta en marcha como un escritorio bsico, se puede utilizar un concentrador USB externo
para obtener un efecto similar.
Los puertos GPIO
/ Salida de los puertos de entrada y de uso general (GPIO) son una adicin muy interesante y
clave para la Pi. Ellos proporcionan un fcil
manera de conectar hardware a su Pi, que luego se puede controlar a travs de software. Si, por
ejemplo, desea agregar una
termmetro o sensor de luz, se podra construir un dispositivo que se conecta a su Pi a travs de
los puertos GPIO.
www.it-ebooks.info
pgina 11
IntroduCCIn
xxviii
Si los proyectos de hardware realmente no le interesan, entonces probablemente puede olvidarse
de los puertos GPIO. Pero si ests
buscando integrar su pi con varios bits de hardware o hacer que su pi el cerebro de algn loco
invencin, GPIO

puertos le dar una manera fcil de hacer eso.


Horneados a la perfeccin
Por ahora, se le han recogido un buen reconocimiento por lo que el pi es y lo que lo hace
especial. Fue designado
al ser de bajo costo, para que todo aquel que quisiera se podra tener en sus manos en uno, pero
los diseadores han ido a un gran
longitudes para asegurarse de que a pesar de que el Pi no puede entregar todo lo que un
escritorio puede, que ofrece ms que suficiente para
lo convierten en un laboratorio de computacin totalmente funcional por no hablar de una
plataforma de servidor muy agradable.
Gira relmpago
Por lo tanto, lo que tenemos en el almacn para usted en el resto del libro? El libro se divide en
tres partes principales. En el primero
parte te muestro cmo empezar a trabajar con la interfaz grfica de usuario. Si usted nunca ha
odo hablar de una interfaz grfica de usuario, esto es sin duda donde
que desee comenzar. El Pi viene con todo lo necesario, pero fuera de la caja en la que necesita
un poco de ajuste. No se preocupe; bien
que pueda ponerse en funcionamiento rpidamente, y pronto estar a explorar.
Parte 2 te lleva de nuevo a la lnea de comandos y le ensea cmo moverse. Muchas personas
(me incluyo)
pasar la mayor parte del tiempo en la lnea de comandos. Es rpido, potente, y siempre
disponible (incluso cuando una interfaz grfica de usuario no es,
como cuando se desea realizar cambios a travs de la red), pero es un poco diferente de la
interfaz grfica de usuario que la mayora de la gente
se utilizan para. No temis; todos tenemos que empezar en alguna parte y en este apartado nos
aseguraremos de que se sienta cmodo y en
casa en la lnea de comandos.
En la parte 3, que en realidad empezamos a hacer las cosas ms interesantes. En esta etapa usted
es feliz en la lnea de comandos (que
te pone por delante de la mayora de la gente) y ahora quiere ahondar un poco ms profundo y,
de hecho hacer el trabajo de IP para usted.
Pasamos esta seccin cubre algunas de las grandes cosas que puede hacer. Te voy a dar la base
slida que necesita para hacer
todos los proyectos de hardware y software de Brendan en Horan "Proyectos Pi prcticos."
Su primer bocado de Frambuesa Pi
En el captulo 1 nos fijamos en lo que Linux es y por qu est en su nuevo y brillante
Frambuesa Pi. Tomamos un breve vistazo a diferentes
"distros" y explicar por qu no todos los "Linuxes" son los mismos. Echamos un vistazo ms de
cerca a la Frambuesa Pi y lo hace
es slo un poco diferente, y despus de que consigamos su interfaz grfica en funcionamiento.
Redondeamos Captulo 1 con una
rpido tutorial sobre cmo moverse por el escritorio.
Inspeccionando el paisaje
A raz es un recorrido por el escritorio y todas las cosas divertidas que se pueden encontrar.
Comenzamos con los elementos esenciales y espectculo
cmo obtener en lnea, revisar su correo electrnico, y ponerse en marcha con la mensajera
instantnea. a continuacin, vamos a ampliar un poco en ese
y el lanzamiento para un poco de msica y vdeo. Para el final de este captulo, usted debera ser
capaz de hacer el cmputo del da a da
sin tener que pensar dos veces antes de usar un Raspberry Pi.
La remodelacin del paisaje
Una vez que ests navegando felizmente la web y enviar correo electrnico, vamos a ver cmo
hacer para modificar sus nuevos
casa y lo que es el suyo propio. Vamos a empezar con el obligatorio "cmo cambiar el fondo de
escritorio" y luego

pasar a varios otros pequeos ajustes y mejoras que se pueden hacer para que su tiempo en el Pi
sea lo ms agradable
como sea posible
www.it-ebooks.info
pgina 12
IntroduCCIn
xxix
Encontrar una posicin cmoda en la lnea de comandos
Ahora algo un poco diferente. Puede utilizar su Pi igual que su otro equipo, pero ahora vamos
para llevarlo a un nivel superior. Con el fin de obtener el beneficio completo de Linux y de
conseguir sus manos sucias con algunos muy interesantes
proyectos (deteccin automtica del gato y el enjuiciamiento, alguien?) que necesita para
levantar la corteza y comenzar a conseguir ms cerca de
el metal.
El primer lugar para comenzar es la lnea de comandos donde se le interactuando con Linux en
un muy preciso y potente
nivel. Vamos a iniciar la marcha lentamente y aliviando en lo que es probable que sea un
ambiente muy extrao. Discutiremos la
cscara, de donde vino, y por qu es importante. Tambin vamos a ver un poco de la historia
involucrados porque conocer
de donde vino (mientras fascinante en s mismo) le ayudar a obtener el mximo beneficio de la
experiencia.
Almacenamiento de la materia y luego (con suerte) volver a encontrarla
Una vez que ests al tanto de lo que la lnea de comandos es, es hora de que el tema ms
importante. La mayora de los libros comienzan
informndole sobre todos los comandos que se pueden ejecutar brillantes, y eso es todo muy
bien, pero primero se necesita un poco de contexto.
Voy a empezar que fuera a ver el sistema de archivos de Linux y explicar el "todo es un
archivo" filosofa que se sienta
en el corazn de todo sistema operativo basado en UNIX. Esto suena un poco de miedo y no
vamos a entrar en demasiada profundidad, pero
con este bajo su cinturn que ser capaz de recoger fcilmente nuevos comandos y hacer pleno
uso de ellos.
Poniendo a trabajar
Ahora se sabe acerca de la lnea de comandos y cmo Linux presenta todos sus archivos, que en
realidad va a mostrar cmo hacer
Linux hacer las cosas. Voy a mostrar cmo convertirse raz (alguien recuerda la escena de
"encendido" de He-Man? N?)
y cmo instalar nuevas aplicaciones y herramientas. Tambin vamos a examinar brevemente
algunos trucos de lnea de comandos tiles que le
hacer que un demonio teclado. Pronto se dar cuenta de que se pueden hacer cosas mucho ms
rpido en la lnea de comandos que por
clic con el ratn. . .
edicin de archivos
A continuacin en nuestro tour de force est editando archivos. Yo te mostrar mis dos editores
de eleccin. Un (nano) es simple, fcil, y
ideal para uso general. Yo lo uso mucho para hacer pequeos cambios en las configuraciones.
Para obtener ms seria levantar objetos pesados, prefiero vim.
Cuenta con todo tipo de cdigos mgicos y pulsaciones de teclas (que es como jugar Dungeons
and Dragons y no es que alguna vez tengo), y si
puede mantener todas las claves y combinaciones de comandos en la cabeza, as, nunca quieren
irse! Para el resto de nosotros,
as, siempre hay nano ...
De Principiante a Admin

Ahora estamos empezando a echar un vistazo a los servicios del sistema y lo que hace que
Linux. Usted aprender que tan inteligente como es Linux,
que no es tan diferente de todas las herramientas y las cosas que ha estado funcionando hasta
ahora. Usted ser capaz de aplicar su recin descubierta
conocimiento y ser capaz de iniciar y detener los servicios al contenido de su corazn.
Los servicios de red son el pan de cada da de cualquier servidor. La mayora de las personas los
han utilizado desde la perspectiva de un usuario
pero ahora es el momento de experimentar desde el extremo puntiagudo. Pronto nos
ocuparemos de los sospechosos habituales, como OpenSSH y la
servidor web Apache. Vamos a explicar los peligros muy reales de la publicacin de sus propios
servidores en Internet. Hay gente
a las que les gusta bastante para ganar la entrada a su pequeo buen servidor, y no les importa
mucho lo que eres. no
preocupacin; vamos a proporcionar una lista simple de hacer y no hacer que se te pongan por
delante del juego.
www.it-ebooks.info
pgina 13
IntroduCCIn
xxx
Los hechizos mgicos para la lnea de comandos (tambin conocido como lenguaje de script)
Una secuencia de comandos es simplemente un conjunto de comandos de la shell en un archivo
de texto que Bash (o una concha de su eleccin) ser permitida. Incluso en
este sencillo formulario, que son muy poderosos, pero se puede hacer mucho ms. En resumen,
puede automatizar muchas tareas con
un esfuerzo relativamente pequeo, y se puede construir algunas herramientas bastante
impresionantes, tambin. En este captulo no le har un experto, pero
que sin duda le dar un gusto por el poder a su alcance. Es posible que se ren de m
llamndolos magia, sino esperar
hasta que se encienda una tarea tediosa 3 horas en un solo comando que completa en 4
segundos!
Pi servidor Web
Comenzamos la seccin de proyectos con un clsico: obtener una lmpara completa (es decir
Linux, Apache, MySQL y PHP) y
se ejecuta en su Pi. Vamos a demostrar por qu su Pi es un servidor web poco ideales y la forma
en que no slo proporciona la perfecta
ambiente para el desarrollo de sitios web dinmicos, pero tambin hace un pequeo gran
herramienta de demostracin web porttil!
Wipi: Cmo hacer que su inalmbrica Pi
Lo que es ms divertido que un minsculo servidor de red? Un diminuto servidor de red que no
tiene cables! Le mostraremos cmo
para conectar un adaptador de red inalmbrico USB para que su pi puede hablar con el mundo
sin necesidad de cables. Si eso no es suficiente,
dar un paso ms all y buscar la manera de cortar los cables por completo y conseguir su Pi para
funcionar con una batera.
La frambuesa SPI: la cmara de seguridad y el servicio de mensajera
Quieres saber quin es colarse en su habitacin y el robo de todas sus plumas? Su SPI usted (o
su oficina) tiene totalmente
cubierto! En este captulo, le mostraremos cmo conectar una cmara web a su Pi y haga que
sea tomar instantneas de cualquier
movimiento en la habitacin. No solo eso; se le enviar por correo electrnico una copia del
intruso en tiempo real a la brevedad! Incluso James Bond
no tiene uno de estos.
MC-Pi: Un pi para todas sus necesidades de medios
Por ltimo, pero no menos importante, te mostramos cmo convertir su Pi en su centro de

medios personales. Le mostramos cmo


secuencia de vdeo al televisor y cmo actuar como un dispositivo de aeropuerto para compartir
msica por toda la casa. Con alta resolucin
la transmisin de vdeo, realmente empezamos a empujar el Pi y mostrar lo que es realmente
capaz de!
Adelante
Hemos cubierto una gran cantidad ya. Hemos visto cmo la informtica ha cambiado con los
aos y cmo esto tiene
no slo tuvo un impacto en la forma en que vemos y usamos los ordenadores en nuestra vida
cotidiana sino que tambin ha afectado a la forma en que las computadoras
se perciben en la educacin y el nivel y la profundidad de los conocimientos que los estudiantes
se les ensea. Hemos tocado brevemente en la
Fundacin Raspberry Pi y cmo se espera que el Pi comenzar a revertir esta tendencia.
A continuacin nos fijamos en algunas de las razones ms convincentes por las cuales es
posible que desee obtener una Pi Pi y por qu la hace una
plataforma ideal para el desarrollo y la experimentacin.
Seguidamente, examinamos lo que el Raspberry Pi es a nivel de hardware y discutimos las
diferencias entre su
ordenador principal y el Pi. Examinamos las compensaciones y miramos qu se tomaron
algunas de las decisiones y qu
impacto que tendr sobre usted como usuario.
Por ltimo, pero significa menos mi no, que remat con la introduccin de una gira relmpago
por todas las cosas que estamos
va a cubrir en el resto de este libro.
As que vamos a la cabeza a la cocina y crea cierto pi!
www.it-ebooks.info
pgina 14
1
Captulo 1
Su primer bocado de Frambuesa Pi
Este captulo es donde por fin tenemos en nuestras manos sucias. Si ha decidido omitir la
introduccin en su afn de conseguir
en funcionamiento, est bien; usted no habr perdido nada crtico para este captulo. Sin
embargo, hacer una nota para pagar
la introduccin de una visita en un futuro no muy lejano, ya que le da una gran cantidad de
antecedentes sobre el Pi y lo hace
tan especial.
Ahora, de vuelta a las manos sucias! Vamos a empezar por el desembalaje del Pi y pasar por la
lista de cosas que
que necesita para conseguir realmente en marcha y funcionando. Una vez que nos hemos
conectado todo para arriba, vamos a continuacin, hay que resolver algo
para que se ejecute, en este caso, Raspbian Linux (ms sobre esto un poco ms tarde). Una vez
que tengamos en funcionamiento Raspbian, todava tenemos que
configurarlo y algunas de las opciones son un poco ms tcnica y especfica de Linux; pero no
se preocupe, tenemos todo cubierto all,
tambin. Para redondear el captulo, vamos a tomar el sol en el resplandor del escritorio
Raspbian antes de ir al Captulo 2 para ver
lo que realmente puede hacer con ella.
Su recin horneado Pi llega
Bueno, por lo que el cartero acaba de caer fuera de su paquete largamente anticipada, y despus
de impaciencia arrancando el acolchado
Envelope uno se queda con una pequea caja, ( pequea es la palabra clave). Usted
simplemente no puede dejar de mirar en las profundidades
del sobre para ver si hay tal vez algo persistente en la parte inferior. Al no encontrar nada con

una representacin visual


inspeccin, usted ninguna duda, proceder a la antigua aproximacin fiel de convertir el sobre al
revs y dar
es un poco de una sacudida. Aunque es posible que soltarse la lmina de embalaje (de alguna
manera que siempre parecen sper pegamento
a s mismos en el interior), es que no encontrar ninguna otra cosa.
Cuando solicita un Pi de frambuesa, esto, querido lector, es todo lo que va a conseguir (ver
Figura 1-1 ).
www.it-ebooks.info
pgina 15
Captulo 1 Su primer bocado de la frambuesa pi
2
Por qu una fotografa de un CAJA?
Figura 1-1. Lo que queda fuera de la envoltura
la razn honesta es porque cuando esto es todo lo que se present, nuestro primer pensamiento
fue que algo debe tener
missing.Yes ha ido, el sitio te dice cuando usted ordena que esto es todo lo que se va a
conseguir, y lo que realmente hace
sentido perfecto.
Queremos hacer hincapi en que esto es todo lo que tienes, y no es suficiente para obtener su pi
conectado y en business.You
necesitarn otras partes y piezas (algunos o todos los que puede que ya tenga), y es importante
destacar que la derecha
al principio. En la siguiente seccin, vamos a cubrir el kit que realmente necesita para empezar.
Se podr encontrar con el gran sello en la parte inferior que (en grandes letras en negrita) dice
EMPEZAR . Tambin proporciona la
direccin del sitio web Frambuesa Pi con un enlace directo a lo que necesita para empezar. No
es demasiado difcil, es posible que
cree que, en el supuesto de que en realidad se consultaron este lado de la caja en lugar de
simplemente rasga abierto para llegar a su nuevo
juguete. Nos encantara decir que la primera cosa que hicimos fue visitar esa pgina web, pero
estbamos algo excitado acerca
ver una Frambuesa Pi con nuestros propios ojos. Es cierto que la completa falta de cualquier
escrito en el otro lado de la caja
probablemente fue un claro indicativo de que nos faltaba algo importante, pero estbamos un
poco preocupado
mostrando todos en la oficina lo pequeo que un Frambuesa Pi es en realidad. Lo creas o no,
tenemos compaa en el Despiste
esquina; otro nuevo propietario afines a la tecnologa Pi convirti su cuadro en un soporte Pi y
se perdi por completo la etiqueta
(Y su lmina de relleno era MIA durante casi tres semanas).
Como era de esperar, va a http://raspberrypi.org/downloads/~~V es en realidad un muy buen
lugar para comenzar su
viaje, y que se dirigirn all en breve. Si an no has de pedir una Pi (o esperar a que se convierta
en el correo),
La Figura 1-2 muestra una sentada al lado de un ratn.
www.it-ebooks.info
pgina 16
Captulo 1 Su primer bocado de la frambuesa pi
3
A pesar de que el tamao del Pi es bien conocida y se trata de una pequea caja tal, no es hasta
que realmente lo sostiene
en sus manos que se da cuenta de lo pequeo que realmente es! Despus de "al-ing" a nosotros

mismos (y cualquier otra persona que por desgracia para ellos


pas a ser al alcance del odo), nos dimos cuenta de que era hora de conseguir el espectculo en
el camino.
Y ah es donde las cosas se detuvieron un poco brusca. Tuvimos la Pi, pero apenas habamos
cado en la cuenta nosotros que
no tena la menor idea de lo que realmente se necesita para hacer que vaya. A pesar de que no
estamos exactamente nuevo en todo esto,
dejamos atrapar por el momento y por cualquier razn no se haba considerado que el Pi
necesitara nada
especial (o al menos algo que su promedio persona de tipo geek no tendra que cuelga alrededor
de la casa).
Si usted no est equipado con un armario de probabilidades y termina directamente de
laboratorio de Dexter, puede que tenga que recoger una
pocas cosas. Afortunadamente, todos ellos son fciles de encontrar, y usted debera ser capaz de
recoger todo lo que necesita en su local
tienda de computadoras. Si no te gusta ir en una bsqueda del tesoro, muchas empresas estn
ofreciendo kits de iniciacin que vienen con
todo lo que necesitas. Debido a que estos kits estn cambiando rpidamente, la mejor manera de
encontrar lo que est disponible es ir en lnea y
buscar "kit de inicio Raspberry Pi".
Nota

aunque slo cubrimos HDMI en este libro (lo que es la nica pantalla en la lista), es posible
utilizar diferentes tipos
de visualizacin, tales como DVI, compuesto, SCART o con cables o adaptadores apropiados.
Lista de ingredientes
Para hornear su Pi a la perfeccin, vas a necesitar los siguientes ingredientes:
Frambuesa Pi

Micro cable USB (para la alimentacin)

adaptador de corriente USB (tambin por el poder)

HDMI plomo: Tipo A de tipo A (para conectarse a su monitor o un televisor)

Figura 1-2. Una Frambuesa Pi al lado de un ratn de tamao medio


www.it-ebooks.info
pgina 17
Captulo 1 Su primer bocado de la frambuesa pi
4
pantalla HDMI

tarjeta SD: 2 GB a 64 GB (para almacenamiento); 8 GB mnimo recomendado

lector de tarjetas SD

teclado y ratn USB

cable USB micro


Si le sucede que tiene un telfono Android o un Kindle sentado sobre, es muy probable que
usted tiene una ventaja de que se
puede volver a utilizar para alimentar el Pi. Esta ventaja no se utiliza realmente para la
transferencia de datos, y aunque se puede sacar energa de
un puerto USB (se puede conectarlo a su PC principal o porttil), no se puede utilizar la

conexin USB para cualquier otra cosa. los


diferentes tipos de conectores USB son difciles de describir, si an no lo ha visto uno. Echar un
vistazo a la Figura 1-3 para
algunos ejemplos.
Figura 1-3. Diferentes tipos de conectores USB
El conector que le interesa es el primero a la izquierda, conocida como micro USB . Tenga
cuidado porque en rpida
inspeccin, un conector micro USB puede ser fcilmente confundido con un mini conector USB
(segundo a la izquierda). La ltima cosa que quiere
que hacer es hacer un viaje especial a la tienda y luego volver slo para descubrir que se ha
levantado el equivocado!
Adaptador de corriente USB
En realidad, puede ser capaz de salirse con ste. Un puerto USB normal puede alimentar un
modelo A Pi (el que no tiene
Ethernet incorporada), y para probar que usted puede conseguir probablemente lejos con hacer
lo mismo con un modelo B. Eso es todo bien
y bueno todo el tiempo que desee tener su pi sentado al lado de su PC, pero es probable que
usted quiere que sea un tanto
independiente. Incluso si usted planea en usarlo en el mismo lugar, que la alimentacin de su
ordenador porttil puede llegar a ser
www.it-ebooks.info
pgina 18
Captulo 1 Su primer bocado de la frambuesa pi
5
problemtico cuando se quiere llevar su porttil en algn lugar, pero su Pi est ocupado
haciendo algo y que realmente no lo hace
quiero que lo desenchufe.
Afortunadamente, el gran nmero de dispositivos USB que adoptaron como medio de carga
significa que usted puede conseguir principal
adaptadores muy barata y sencilla. En cuanto a cul es el adaptador de conseguir, que realmente
se reduce a una eleccin personal. Sin embargo,
como el Modelo B requiere 700 mA y que siempre quiere tener un poco de espacio para la
expansin, es probable que debe tener como objetivo
para obtener un adaptador que puede proporcionar al menos 1,000 ma (o 1 amp). De nuestras
pruebas cientficas altamente (deambulando
numerosas tiendas y estrabismo en las etiquetas de embalaje), parece que los 1000 m, es en
realidad la calificacin ms comn. Lo hicimos
encontrarse con algn nominal de 500 mA y aunque eso es suficiente para la mayora de
dispositivos USB (e incluso el modelo A Pi), no es
realmente suficiente para sus necesidades.
El plomo HDMI
En los ltimos aos, HDMI se ha convertido en el de facto estndar en la conexin de un gran
nmero de dispositivos a ambos monitores
y televisores. Esto es muy til porque significa que si un dispositivo es compatible con HDMI,
se puede conectar fcilmente a cualquier pantalla
que la sustenta. Esto podra no suena tan impresionante, pero no fue hace mucho tiempo que los
televisores y monitores eran muy
cosas separadas y por lo general no haba manera directa para conectar, por ejemplo, un
ordenador a un televisor o un reproductor de vdeo a un monitor (aunque
Curiosamente si volver 20 aos, todos los ordenadores personales conectados directamente al
televisor (por ejemplo, el Commodore
64 o Spectrum). Por supuesto, usted podra conseguir un hardware especial, y algunos
dispositivos de gama alta s que ofrece una gama de diferentes
conectores, pero como regla general, los dos mundos en realidad no se mezclan.

Afortunadamente, el Pi utiliza HDMI, por lo que puede pasar por alto las irritaciones del
pasado. Para conectar el Pi a una pantalla,
se necesita un "tipo A a un" plomo. El tipo A es el tamao que se encuentra en la parte posterior
de su televisor o monitor; todo lo que tiene que
hacer es encontrar una ventaja para conectar algn dispositivo a travs de HDMI a un televisor
y donde ambos extremos son del mismo tamao. La mayora de los consumidores
electrnica de uso de tipo A, por lo que si usted tiene una Xbox 360 o el porttil tiene HDMI, lo
ms probable es que ya tiene una ventaja de
el tipo correcto.
HDMI Display Capable
Probablemente vio venir esto, pero vas a necesitar algn tipo de pantalla compatible con HDMI.
Como ha sido
ampliamente adoptado en los ltimos aos, prcticamente cada nuevo televisor viene con uno o
ms puertos HDMI. En estos das, es bastante
comn ver tres o cuatro puertos en un televisor, dado que tiene que muchos de conectar todos
sus nuevos dispositivos digitales.
Es bastante fcil determinar si su televisor o monitor compatible con HDMI. Todo lo que tiene
que hacer es mirar para un examen fsico
puerto HDMI. Es mucho ms probable que se encuentre en su televisor en lugar de su monitor,
pero muchos de incluso el ms bsico
supervisa estos das parecen apoyarla.
En nuestro caso, result que el monitor de envejecimiento no apoy HDMI, aunque la televisin
en el saln lo hizo. De
Por supuesto, siendo la televisin principal significaba que la gente quera ver la televisin en l
y la verdad es que no estaban mirando hacia adelante
a sentarse con las piernas cruzadas en el suelo delante de un televisor grande, tratando de
convencer a un Pi a arrancar. Al final, nos decidimos a conseguir una
nuevo monitor que lo sustentaba. A pesar de que podramos haber comprado un conversor DVI,
decidimos que no podamos dejar pasar el
la oportunidad de conseguir un juguete nuevo.
Si no se puede volver a utilizar el televisor o el monitor de la computadora, usted debera ser
capaz de conseguir sus manos en un televisor o un monitor bsico
que es compatible con HDMI con bastante facilidad. Como se mencion anteriormente, el Pi
tiene salida compuesta, as como HDMI, por lo que
sin duda podra utilizar que, si lo prefiere.
Tarjeta SD
La mayora de los equipos utilizan un disco duro de algn tipo como su principal forma de
almacenamiento. Incluso los discos de ordenador porttil de tamao son ms grandes que
Pi, y aunque el ms reciente disco de estado slido (SSD) modelos dibujar muy poco en el
camino de la energa, lo haran sin duda
aumentar drsticamente la cantidad de energa que su pi necesitara. Afortunadamente, tenemos
una alternativa. En lugar de utilizar
algo pesado deber como un disco duro, que puede pedir prestado en lugar de que la tecnologa
de las cmaras han estado utilizando durante muchos
aos: la memoria flash. A pesar de que las tarjetas no pueden coincidir con un disco duro de
espacio o de rendimiento, que son excepcionalmente
www.it-ebooks.info
pgina 19
Captulo 1 Su primer bocado de la frambuesa pi
6
bueno para el uso de energa ya pesar de ser ms pequeos que sus primos antiguos; 64 GB (el
mximo para su pi) es todava
una cantidad razonablemente impresionante y probablemente ms de lo que necesita para su Pi.
Las tarjetas SD estn estandarizados por lo que no es mucho ms que decir sobre ellos. Usted

desea conseguir un alto rendimiento


tarjeta si puedes (a menudo referida como la clase 10 ), pero que en ltima instancia, todos
hacen el mismo trabajo. Dicho esto, hemos odo hablar de algunos
Las tarjetas SD que no han funcionado con la Pi, pero si usted se pega a una conocida marca
que debe estar bien.
Ya que hay un montn de diferentes tipos de tarjetas de memoria que flotan alrededor en estos
das, la Figura 1-4 muestra lo que una tarjeta SD
que en realidad parece.
Figura 1-4. Tarjeta SD con adaptador SD micro y
La tarjeta en el extremo izquierdo es su tpica tarjeta SD; en el extremo derecho es una tarjeta
micro SD. Se han convertido en muy
popular para su uso en telfonos inteligentes (en particular los telfonos basados en Android), y
porque la mayora de los telfonos vienen con una pequea
tarjetas (en trminos de espacio de almacenamiento), no es raro que comprar una tarjeta ms
grande o tiene uno tirado como parte de su
paquete del telfono.
Si le sucede que tiene uno de estos flotando, puede utilizarlo con su pi mediante el uso de un
adaptador micro SD (se muestra
en el medio de la figura 1-4 ). Ellos tienden a venir con tarjetas micro SD, ya menudo se podra
usar el micro SD en una
telfono, pero el porttil slo tendran la tarjeta SD de tamao completo. No hemos visto los
adaptadores para la venta de forma individual, ya que
son bsicamente un adaptador fsico, pero tienden a terminar en los lugares ms extraos, as
que nunca se sabe!
Lector de tarjetas SD
Ahora que tiene su tarjeta SD, necesita alguna manera hacer uso de ella. El Pi tiene cubierto y
tiene una ranura para tarjetas SD
construido en el derecho. Sin embargo, en realidad no tiene ningn otro tipo de almacenamiento
en el dispositivo, por lo que es efectivamente una pizarra en blanco hasta que se
inserte una tarjeta SD con algo til (como Linux) instalado en l. La cosa es, para poner Linux
en la tarjeta, se necesita una
dispositivo que ya est en funcionamiento, que tambin puede leer y escribir en la tarjeta. Este
es un clsico situacin Catch-22. Incluso
si usted puede pedir prestado tarjeta de otra persona con Linux ya instalado, no se puede
simplemente intercambiar las tarjetas porque
tan pronto como se hace eso, usted no tendr que Linux ms!
www.it-ebooks.info
pgina 20
Captulo 1 Su primer bocado de la frambuesa pi
7
Una vez ms, gracias a la proliferacin de cmaras digitales, muchas computadoras vienen con
lectores de tarjetas integradas. Muchos
(a menudo denominado como PCs multimedia ) vienen con toda una serie de ranuras para
varios tipos de cartas diferentes. As que lo ms probable es que usted
ya tienen una manera de leer la tarjeta. Si usted no tiene un lector ya, se puede recoger cualquier
lector de mltiples barato
de su tienda local de computadoras. Son generalmente de bajo costo y apoyarn un montn de
diferentes tipos de tarjetas. Slo
asegrese de que tiene una tarjeta SD antes de entregar su dinero duramente ganado! Como
referencia, el adaptador que est utilizando
se parece a la de la Figura 1-5 .
Figura 1-5. Lector de mltiples
Teclado y ratn USB
Por ltimo, pero no menos importante es el buen teclado y el ratn de edad. Avanz como el Pi

es, que an no cuenta con la telepata por lo que est


va a necesitar alguna forma de controlarlo. Este es el sentido comn, pero con los ordenadores
modernos a menudo viene con una conexin inalmbrica
teclado y ratn y una feria pocos de los que utilizan Bluetooth sin adaptador USB (incluso
algunas de ellas con un adaptador tienen
se sabe que causan problemas), puede encontrarse con que el teclado y el ratn actual
simplemente no va a trabajar con su
juguete nuevo (sin Bluetooth del Pi, me temo). En realidad no hay necesidad de entrar en
detalles aqu como cualquier teclado y
ratn va a hacer, y esto es principalmente un recordatorio para comprobar lo que realmente tiene
que antes de salir a comprar su Pi de decisiones
ingredientes para evitar la frustracin incalculable cuando llegue a casa y descubre que est
completamente atascado.
Menos mal, ya est!
Por ltimo, tenemos todo lo que necesitamos! Enganchando todo este material hasta su Pi es
muy fcil, sobre todo a medida que cada elemento tiene una
forma nica para que quepa en una sola ranura (vase la Figura 1-6 para el acabado Pi).
www.it-ebooks.info
pgina 21
Captulo 1 Su primer bocado de la frambuesa pi
8
Si pones todo junto, conecte la alimentacin y encienda el televisor debera ver ... un completo
pantalla en negro.
No cunda el pnico!
Cuando su PC o arranca el ordenador porttil, hay una pieza de software llamada al BIOS que
se inicia todo lo que fuera para usted. Pone a prueba
la memoria, establece una pantalla bsica, y permite que todos los dispositivos para inicializar.
En algunas mquinas (en particular aquellos de
Apple) la mquina tendr un EFI en lugar de un BIOS. Para todos los efectos (al menos desde
nuestro punto de vista),
que son bsicamente equivalentes. Independientemente de la tecnologa utilizada, es este
sistema que da finalmente el control sobre a su
gestor de arranque, la pieza de software responsable de iniciar el sistema operativo.
BIOS son por naturaleza muy ruidoso, y si te dan algo mal, o bien se pitido mucho (con algn
nmero mgico
cdigo que slo se puede encontrar en el manual del BIOS que le tir a la basura hace 3 aos) o
mostrar algn tiles todava
crptico mensaje en la pantalla. En pocas palabras, no puede hacer lo que quiera, pero al menos
sabe que su equipo an
viva. A pesar de que tiene un pequeo LED rojo "en la luz", el Pi no hacer nada a menos que
tenga un sistema operativo de inicio de su
Tarjeta SD. Si estabas esperando algn tipo de pantalla de presentacin u otro signo de vida
(manos arriba, sabemos que estbamos), ests fuera
de suerte (y probablemente pensando que tiene un pi muertos).
Ahora que ya sabe lo que tiene que restaurar el Pi a la vida (un sistema operativo de arranque)
es el momento de pasar a
Fase 2 de nuestro plan maestro y hacernos alguna Linux!
Linux
Como se trata de un libro para principiantes, vamos a tomar el tiempo para hablar un poco
acerca de Linux, de donde vino, lo que es
especial sobre l y algunas de las pequeas trampas que el viaje a la gente de vez en cuando. Si
ya conoce estas cosas
(O simplemente no les importa), no dude en pasar a la siguiente seccin de "Descarga de
Raspbian." Para aquellos que quieren una rpida

repaso, slo sigue leyendo.


Figura 1-6. A plena carga Pi
www.it-ebooks.info
pgina 22
Captulo 1 Su primer bocado de la frambuesa pi
9
Qu es Linux?
Ah, esta simple pregunta abre una gran lata de gusanos que muchas personas salen de su manera
de evitar. La razn es que en
trminos tcnicos, Linux significa una cosa, pero en el discurso general, se tiende a significar
otra cosa. Cuando se habla de
sistemas operativos en general, vemos Microsoft Windows y Apple OSX ser, las cosas enteras
discretas. Si dice "corro
Ventanas, "todo el mundo sabe lo que est hablando. Con Linux, que es un poco diferente.
Linux es slo un ncleo de sistema operativo, lo que significa que se encarga de todos los bits
de bajo nivel y piezas como
el manejo de los controladores de dispositivos, y con fcil acceso a las redes y los discos duros.
Lo que realmente hace que Linux es usable
todo el software que se envuelve alrededor de ella. No hay mucho lo, pero empieza a
complicarse cuando se da cuenta
que las personas tienen diferentes opiniones acerca de lo que el software debe ser envuelto
alrededor de l. No hay simple o menor
opiniones cuando se trata de la informtica!
Ya que este software es de cdigo abierto, y cualquiera puede poner juntos en casi cualquier
forma que deseen, la gente tiene
sido capaces de construir sus propias distribuciones de Linux. Este es un sistema operativo con
Linux en su ncleo, pero con la
el ecosistema circundante configurar para que coincida con los objetivos de las personas que lo
construyeron. Por ejemplo, Red Hat Enterprise Linux
(RHEL) est construido para ser robusto, soportable, y estable durante largos perodos de
tiempo. Fedora, por otro lado, se libera
cada 6 meses ms o menos y tiene la mejor y ms nuevo de todo en cada generacin. Gentoo
requiere que usted construye su
el software de la fuente (por lo que puede ser completamente optimizado para su mquina), y
Debian hace todo lo posible para
permanecer estable y seguro a costa de la introduccin de nuevas caractersticas.
Fuente abierta
En los viejos tiempos, cuando los equipos cuestan millones de dlares, fue la propia mquina
que vende, no las aplicaciones
que corri en l. era una prctica comn para una empresa para escribir software para usted, con
el fin de llegar a comprar su
mquina. no fue hasta los ordenadores se convirtieron en artculos de consumo que de repente el
valor estaba en el software, y
empresas se trasladaron a empezar a proteger el software que haban escrito. Una forma de
hacer esto es proporcionar el software
listo para su uso sin el cdigo fuente (que es efectivamente el modelo sobre cmo hacer que el
software) .Este significaba
que no se poda modificar el software o hacer mejoras para adaptarse a sus necesidades
cambiantes.
Muchas personas creen que el software siempre debe venir con el cdigo fuente para que la
gente puede hacer cambios.
de cdigo abierto gira en torno a la idea de la gente que es capaz de intercambiar libremente,
modificar y mejorar el software
collectively.this slo se puede hacer cuando se proporciona el cdigo fuente libre y se le dio

permiso (a travs de una


licencia de cdigo abierto) para hacer esos cambios.
libros enteros pueden y han sido escrito sobre este tema, pero se puede encontrar una
presentacin sobre este tema que Pedro dio
en su universidad el ao pasado:
http://www.youtube.com/watch?v=c-1LQIGh6cI
Entonces, cul es el mejor? Bueno, eso depende de sus necesidades! No hay una perfecta
distribucin; simplemente el mejor ajuste para una
trabajo en particular. Para el Pi, la plataforma oficial y apoyado es Raspbian, que se basa en la
distribucin Debian.
Debido a que es compatible y porque es el ms fcil de usar (y muy probablemente el ms
rpido para actualizar la informacin y fija cuando
las cosas van mal), vamos a pegarse a la utilizacin de Raspbian en este libro. Si te apetece algo
un poco diferente,
Prximo libro de Brendan Horan (tambin de Apress), Prctico Frambuesa Pi le mostrar en
una gran profundidad de cmo instalar
Fedora y (si te sientes particularmente valiente) cmo hacer una estructura de encargo de
Gentoo!
Cuando el ncleo de Linux debut por primera vez en la dcada de 1990, nadie apreciaba el
enorme impacto que tendra
en el mundo de la informtica. Software de cdigo abierto ya haba estado presente durante
mucho tiempo antes de esto, y un sinnmero
herramientas para la plataforma UNIX ya haban sido puestos en libertad (como el compilador
GCC impresionante). Sin embargo, no eran ms que
herramientas y paquetes de software. Ellos todava necesitan un sistema operativo propietario y
su ejecucin (el nico tipo disponible en el
hora). Para ser totalmente compatible con el espritu de cdigo abierto, lo que se necesitaba era
un ncleo de cdigo abierto para alimentar estos
sistemas. y esto es lo entreg Linux. Mientras que muchos hablar de cmo esto trajo la libertad
y la esperanza al mundo
de la informtica, que le ahorrar de esa conferencia en particular (aunque es cierto que hay un
poco de verdad en ello) y
simplemente decir que fue el ncleo de Linux que realmente trajo de cdigo abierto a los ojos
del pblico en general.
www.it-ebooks.info
pgina 23
Captulo 1 Su primer bocado de la frambuesa pi
10
Ahora que el mundo tiene Linux, qu podemos hacer con ella? Casi todo lo que queramos,
tales como la instalacin para
gratis en nuestro Pi.
descarga de Raspbian
Por fin nos vamos a http://raspberrypi.org/downloads/ a tener en nuestras manos Raspbian. No
slo la pgina
contener enlaces para la descarga que estamos buscando pero tambin tiene enlaces para varias
herramientas tiles, as como enlaces para otra
distribuciones de Linux precocidas para la Frambuesa Pi. Hemos tocado esto a la ligera en la
seccin anterior, pero si ests
pensando en conseguir una de las distribuciones ms exticos, echar un vistazo a la barra lateral
"Por Raspbian?".
POR QU raSpBIaN?
como se puede ver en la pgina de descarga, hay numerosas distribuciones a elegir, y sobre todo
si
usted ha utilizado Linux en otro lugar que podra estar tentado a recoger algo que no sea

raspbian. Sin embargo, antes de


descarga que la distribucin extico, usted debe saber que la mayora de personas que utilizan
una carrera pi-raspbian y como se
como la mayor parte del apoyo, entradas de blog y tutoriales (por no hablar de este libro) se
basan todas en it.This medios si
elija algo diferente, puede que le resulte mucho ms difcil de conseguir ayuda si algo no sale
segn lo planeado.
El otro problema es ms sutil que el de frambuesa pi es un dispositivo basado en ARM. no
acaba de trabajar de la misma manera
como su PC. Por ejemplo, el PI no tiene un bus PCI, por lo que cualquier herramienta que
esperamos que haya una (y hay
son ms que unos pocos) no se work.there tambin son bastantes trampas para estas otras
distribuciones, y se
podra no ser tan bien cuidada como raspbian. en fin, que va a tomar mucho ms en el trabajo si
usted no recoge
raspbian para empezar.
Tradicionalmente, una distribucin de Linux vendr en un conjunto de CD o DVD. Al descargar
el material distribucin de
eleccin, usted podra descargar un conjunto de imgenes. Estas imgenes son bsicamente un
clon de la cosa real. La idea es que se
tomar la imagen y una vez que se escribe en un CD, CD que ser idntica a la que la imagen se
clon originalmente.
Raspbian (y el Pi en general) es un poco diferente. No tiene un CD-ROM incorporada o incluso
una unidad de disco flexible. En lugar de
la descarga de una imagen de un CD o DVD, vamos a descargar una imagen de una tarjeta SD
que contiene Raspbian todo listo
y listo para ir.
Puede descargar Raspbian ya sea directamente desde el sitio (hay numerosos espejos) oa travs
de BitTorrent. BitTorrent
a veces puede ser ms rpido, y ayuda a tomar algo de la carga de Source Forge. Sin embargo,
hay algunos lugares donde
es probable que no debe prender un cliente BitTorrent (es decir, en el trabajo), y algunas
conexiones realizar muy mal debido a la
la forma en que funciona BitTorrent (como 3G mvil). En caso de duda, slo tiene que
seleccionar la descarga directa. Queremos que la lnea principal
versin de Raspbian (Raspbian Wheezy), que es el primero en la lista de distribuciones
disponibles para su descarga.
Conseguir Raspbian en la tarjeta SD
Conseguir Raspbian en la tarjeta SD no es tan fcil como simplemente copiando todo el archivo.
Recuerde que lo descargamos una
imagen que es una representacin directa de lo que debera estar en la tarjeta. Si slo tienes que
copiar la imagen en la tarjeta, ste seguir
slo una tarjeta con una copia de la imagen Raspbian en l. Lo que tenemos que hacer es
escribir la imagen directamente en la tarjeta, y
para que vamos a necesitar algunas de esas herramientas tiles que hemos mencionado
brevemente antes.
www.it-ebooks.info
pgina 24
Captulo 1 Su primer bocado de la frambuesa pi
11
Nota

el archivo de imagen que ha descargado es un archivo comprimido zip. en Windows 7, haga


doble clic en este archivo se abrir una

Comprimido Folder.You tendr que copiar el archivo de imagen en s misma a otra ubicacin,
como Mis documentos. en el Mac,
basta con hacer doble clic en el archivo que va a extraer la imagen y colocarlo en la carpeta de
descargas.
El uso de Image Writer en Windows
La herramienta recomendada para escribir imgenes en Windows es el escritor imagen de
alguna manera predecible con nombre. Usted puede
encontrar el enlace en la pgina de descargas Frambuesa Pi; desea que la versin binaria de
relieve en la Figura 1-7 .
Figura 1-7. Descargar la versin binaria de Image Writer
Dependiendo del software que ha instalado en su PC, que o bien ser capaz de abrir la descarga
como una
carpeta o abrirlo en el programa ZIP de eleccin. De cualquier manera, es necesario extraer todo
el contenido antes de poder ejecutar la
solicitud. Si usted est usando las herramientas estndar de Windows, al hacer doble clic en el
programa (Win32DiskImager),
se le pedir para extraer el contenido a otra ubicacin.
1.
Seleccione Extraer todo y asegrese de que Mostrar archivos extrados al completar se
comprueba en
la siguiente ventana.
2.
Despus de presionar Extract, debera ver el mismo diseo carpeta como en el archivo ZIP.
3.
Haga doble clic en el programa en esta nueva carpeta y usted debera ser capaz de abrir la
herramienta.
Debido a que el programa no est firmado digitalmente, obtendr una advertencia como la
Figura 1-8 .
www.it-ebooks.info
pgina 25
Captulo 1 Su primer bocado de la frambuesa pi
12
4.
Debido a que la herramienta necesita acceso de bajo nivel para llevar a cabo su funcin
principal (es decir, escribiendo directamente
a los dispositivos basados en disco), Windows le advertir de que el programa quiere hacer
cambios a
tu computadora. Haga clic en S para continuar.
5.
No estamos seguros de si va a ver el mensaje que se muestra en la Figura 1-9 , Pero sucedi en
tanto
las mquinas que probaron en. En ambos casos, no parece afectar el programa, pero por si
Si lo vemos, pensamos que le gustara saber que no eres el nico!
Figura 1-8. Windows le advertir cuando se ejecuta Imager disco
Figura 1-9. Se produjo un error al abrir Image Writer
www.it-ebooks.info
pgina 26
Captulo 1 Su primer bocado de la frambuesa pi
13
Nota

imagen Programa de escritura se ver slo para tarjetas para escribir en cuando empieza up.that
significa que usted tendr que tener su tarjeta SD

en la ranura antes de que inicie la aplicacin; de lo contrario, obtendr una lista vaca, incluso si
luego insertar la tarjeta.
6.
En nuestro caso, el dispositivo que queremos es escribir en la unidad G: \, pero se debe elegir la
correcta
uno para su sistema. Si el men desplegable Dispositivo est vaca, intente cerrar la imagen y
escritor
volver a abrirlo como a veces parece perderse cosas en el primer intento. No hace falta decir
nada
que usted debe asegurarse de que realmente ha recogido la derecha unidad de lo ltimo que se
queremos hacer es accidentalmente borrar la tarjeta de la cmara y todos aquellos especial de la
familia
momentos que ha capturado en los ltimos aos!
7.
Una vez que haya seleccionado el dispositivo correcto (echar un vistazo rpido en Mi PC si no
est
convencidos) y que haya elegido la imagen Raspbian navegando a la misma, haga clic en el
botn Write
y sentarse y relajarse. Sin embargo, toma un poco de tiempo para escribir la imagen (que
depende de la rapidez
la tarjeta es, entre otras cosas). Sin embargo, se hace ms rpido a medida que avanza (es en su
mayora por escrito
ceros en este punto), por lo que es probable que se realiza en pocos minutos. La figura 1-10 es
una accin
foto de Image Writer durante nuestras pruebas. A partir de la pantalla, se puede ver que la
imagen que estamos
escribiendo en la tarjeta SD es la corriente (por lo menos en el momento de la escritura) de
liberacin Raspbian.
Figura 1-10. Toma de accin de Image Writer escribir la imagen
8.
Una vez completa, llevar la tarjeta de su ranura y alimentar a su Pi.
Usted est listo para el rock and roll! Para empezar, dar la vuelta a travs de la seccin, "el
primer arranque," para obtener el show en la carretera!
Nota

Si te fijas bien en el nombre del archivo en la figura 1-10 , se puede ver que tiene una extensin
de
.img
. uno de los
ms errores comunes al escribir una imagen es escribir accidentalmente el archivo Zip en lugar
de la imagen descomprimida
presentar (despus de todo, tienen nombres casi idnticos) .Cuando se llega a arrancar el pi, si
no pasa nada, volver y
Doble y comprueba que eligi el archivo correcto.
www.it-ebooks.info
pgina 27
Captulo 1 Su primer bocado de la frambuesa pi
14
Usando dd en el Mac
Si est usando un Mac, queremos mostrar lo fcil que es escribir una imagen en la tarjeta SD.
Por desgracia, no podemos hacer eso
porque no hay una manera simple, fcil de hacerlo. Utilidad de Discos, que sobresale en tantas
otras cosas, simplemente no lo hace
saber cmo manejar nuestros archivos de imagen estndar. Hemos intentado convertirlo en un

archivo .dmg (el formato de imagen nativo para Mac),


que no funcionaba, tampoco. Tambin nos fijamos en las herramientas en lnea que usted puede
ser que haya sido capaz de descargar para ayudar con el
problema, pero no hemos encontrado nada que hacer la tarea mucho ms fcil que hacerlo a
mano en el primer lugar.
As que vamos a tener en nuestras manos sucias en la lnea de comandos un poco antes de lo
previsto. No vamos a ir
en demasiada profundidad en qu es lo que en realidad estamos haciendo porque la mayora de
estos comandos que veremos un poco ms adelante en
sus encarnaciones Linux. Por ahora, slo tendr que confiar en nosotros.
Encontrar el Terminal
En primer lugar, tenemos que abrir el terminal. Lo puede encontrar en el directorio Utilidades
en Aplicaciones. Para poner el
siguiendo en su contexto, terminamos esta seccin con una transcripcin completa de todos los
comandos que hemos utilizado. El proceso
es bastante sencillo; que slo tiene un buen nmero de piezas mviles.
Abrimos la terminal y ahora tenemos que usar sudo para convertirse en el usuario root, el
equivalente de administrador
en una mquina Windows.
Ahora, jugando con dispositivos de bajo nivel es peligroso por razones de seguridad (que no
quiere un virus ser capaz de escribir
directamente a un disco duro, por ejemplo), por lo que un usuario normal no se le permite emitir
comandos a ese nivel. Porque necesitamos
para escribir nuestra imagen Raspbian directamente en una tarjeta SD, simplemente no tenemos
eleccin: tenemos acceso directo a la tarjeta.
Afortunadamente, la raz tiene acceso sin restricciones a la eficacia de la mquina, as como root
podemos escribir la imagen en la tarjeta. los
comando que tenemos que utilizar es la siguiente:
sudo -i
Este comando abre un modo interactivo como usuario root y da privilegios "super usuario".
Puede usar sudo
para ejecutar comandos directamente, sino porque vamos a ser la ejecucin de algunos de ellos,
es ms conveniente hacerlo
de esta manera. Sudo le pedir su contrasea (la que se utiliza normalmente para su cuenta de
usuario). Una vez que sudo
puede confirmar que realmente est usted sentado en el teclado, que va a terminar en un
indicador de raz.
Precaucin

Ahora tenemos permiso para hacer lo que queramos en el system.and aunque eso significa que
ahora podemos hacer
nuestra imagen, sino que tambin significa que realmente podramos estropear las cosas si no se
tiene cuidado. En Unix, se supone que la raz
sabe lo que est haciendo y hay muy poco en el camino de las salvaguardias. Tenga mucho
cuidado al ejecutar cualquier comando como
raz, vuelva a comprobar (y luego hacerlo de nuevo), y slo cuando est completamente seguro
de que debe golpear las key.as entrar pronto
como haya terminado, tambin se debe cerrar la ventana de terminal, por si acaso.
El uso de la terminal para escribir la imagen
De acuerdo, y ahora qu? Uno de los retos con la escritura en la tarjeta SD es saber qu
dispositivo en el sistema de la tarjeta
en realidad es. Usted no quiere confundir accidentalmente el disco duro principal para l porque
eso tendra alguna vez
consecuencias desagradables. En general, existen algunos supuestos se pueden hacer (por
ejemplo, sabemos que / dev / disco0

es por lo general el disco del sistema, por lo que nunca jams desea escribir esto), pero con el
fin de limitar el riesgo, vamos a hacer esto uno
por los nmeros.
www.it-ebooks.info
pgina 28
Captulo 1 Su primer bocado de la frambuesa pi
15
En primer lugar, asegrese de que su tarjeta SD no est conectado a su Mac y ejecute el
comando mount as:
MBP: mount root #
/ Dev / disk0s2 en / (HFS, local, con registro)
devfs en / dev (devfs, local, nobrowse)
mapa -hosts en / net (autofs, nosuid, montado automticamente, nobrowse)
mapa auto_home en / home (autofs, montado automticamente, nobrowse)
MBP: root #
Ahora, es probable que vea algo similar a esto, pero podra ser un poco diferente. Podemos
ignorar y devfs
las lneas del mapa, ya que son realmente slo las partes del sistema operativo. Lo que nos
interesa aqu es la primera lnea que
identifica / dev / disk0s2 en /. Este es el disco del sistema, y queremos asegurarnos de que no
tocamos ste. T podras
tener entradas adicionales en su lista si tiene alguna unidades de red o imgenes de disco
conectadas. Eso est bien porque
realmente no estamos buscando nada en particular en esta etapa; slo queremos establecer una
lnea de base para el sistema.
Bien, ahora es el momento de la ranura de la tarjeta SD. Las tarjetas SD vienen con formato
previo para su uso en cmaras (aunque en estos das
muchas cmaras reformatear ellos, de todos modos) y por lo que deben ver que se muestre en
Buscador en Dispositivos. nuestra tarjeta
que pareca la figura 1-11 .
Figura 1-11. Lo que ver en el Finder despus de insertar la tarjeta SD
A medida que la tarjeta se ha montado de forma automtica, ahora podemos volver atrs y
volver a ejecutar nuestro comando mount para ver cmo
Las cosas han cambiado. Esto es lo que nos dieron cuando se reran:
MBP: mount root #
/ Dev / disk0s2 en / (HFS, local, con registro)
devfs en / dev (devfs, local, nobrowse)
mapa -hosts en / net (autofs, nosuid, montado automticamente, nobrowse)
mapa auto_home en / home (autofs, montado automticamente, nobrowse)
/ Dev / disk2s2 en / Volumes / SIN TTULO (MSDOS, local, nodev, nosuid, noowners)
MBP: root #
Lo que nos interesa aqu es la adicin de un nuevo disco, en este caso disco2. Podemos ver en
donde est montado
(/ Volumes / Sin ttulo) que este es el disco que nos interesa. As que ahora sabemos donde
queremos escribir nuestra imagen.
informacin

Los sistemas BSD dividieron discos en rodajas. en nuestro ejemplo, el sistema de archivos
montado estaba en
disk2s2
.Este traduce
a disco2, rebanada 2.este permite hacer referencia a una rebanada directamente, pero para
nuestros propsitos queremos escribir en el dispositivo. por lo que en
nuestro caso vamos a estar escribiendo a

/ Dev / disk2
.
Hay una pequea arruga, sin embargo. No podemos escribir en la tarjeta SD directamente,
mientras que la tenemos montada y utilizable.
Si nos expulsarlo desde dentro del Finder, no slo va a desmontar el sistema de archivos, pero
tambin se puede extraer el dispositivo tambin. Ese
no nos ayuda, porque todava tenemos el dispositivo para estar presente con el fin de escribir en
l. Para resolver este problema, lo haremos
desmontar el sistema de archivos de forma manual mediante un comando Mac-especfico
llamado diskutil. El Mac tiene al general
www.it-ebooks.info
pgina 29
Captulo 1 Su primer bocado de la frambuesa pi
diecisis
umount comandos de UNIX (que vamos a cubrir en captulos posteriores), pero si algo en su
Mac pasa a estar mirando
la tarjeta SD, desmontaje fallar y reclamar que el dispositivo est ocupado. diskutil es
consciente de esto y por lo general se puede desmontar el
dispositivo sin ningn problema. Nos encontramos con el siguiente comando:
MBP: root # diskutil desmontar / dev / disk2s2
Volumen sin ttulo en disk2s2 sin montar
MBP: root #
As hemos obtenido privilegios de superusuario, aislamos el dispositivo que queremos escribir
en, y sin montar la
sistema de archivos de manera que podemos escribir directamente en la propia tarjeta. Todo lo
que tenemos que hacer ahora es realmente seguir adelante y hacer la escritura!
La herramienta de eleccin para esta tarea se llama dd. Esta herramienta es un poco vieja
escuela en la que slo se preocupa por la lectura de un
dispositivo y la escritura a un dispositivo. No tiene ningn inters en los sistemas de ficheros ni
es consciente de cualquiera de las sutiles diferencias entre una
disco duro y una tarjeta SD. Simplemente lee y escribe sin importar donde se lee o escribe a.
Este es un fundamental
principio de UNIX que estaremos volviendo a visitar en los siguientes captulos. Por ahora,
vamos a tomar ventaja de esto para hacer una
copia exacta de nuestro archivo de imagen en la tarjeta SD.
dd slo tiene que saber dos cosas: donde leer (si el argumento =) y donde escribir en (el
argumento de =).
Nos dimos cuenta el bit de escritura (que va a ser / dev / disk2), pero qu pasa con la fuente? Si
ha seguido el anterior
instrucciones, usted debe tener el archivo de imagen que se sienta en el directorio Descargas en
su zona de cobertura. La manera ms fcil de conseguir
la informacin que necesitamos en el terminal es escribir esto en:
dd if =
A continuacin, vaya a su directorio de Descargas en el Finder (o donde extrajo el archivo de
imagen a), haga clic y mantenga en
el archivo de imagen y, a continuacin, arrstrelo a la ventana de terminal. Esto entonces debe
pegar en la ruta completa para ti sin ti
. La necesidad de teclear nada en Esto debe significar que usted termina con algo muy similar a
esto:
dd if = / usuarios / miusuario / Descargas / 2012-08-16-sibilante raspbian.img
Ahora tenemos nuestro archivo de entrada especificado, todo lo que tenemos que hacer es
especificar exactamente donde queremos dd para escribir en l. Gracias a
nuestra experimentacin anterior sabemos que este ser / dev / disk2. Tambin vamos a aadir
bs = 512, que permite escribir dd

la imagen en trozos grandes (lo que significa que no tendr que esperar cuatro horas para que se
complete). As que el comando completo que
necesidad de dd ve as:
dd if = / usuarios / miggyx / Descargas / 2012-08-16-sibilante raspbian.img of = / dev / disk2 bs
= 512
La ejecucin de este comando podra tomar algn tiempo (horas, no segundos). La imagen es de
2 GB de tamao, y su
lector medio de la tarjeta inteligente no es especialmente rpido. Con nuestro adaptador USB,
nuestra reciente MacBook Pro tuvo una buena dos
horas para escribir la imagen en realidad. Despus de volver ms tarde, usted debe encontrar
que dd ha completado su tarea y ya est
de vuelta en el smbolo del sistema.
Est bien, es cierto que esto no era tan simple o sencillo como escribir la imagen en Windows,
pero si nos fijamos
todo lo que tenamos que hacer, utilizando la lnea de comandos nos permiti expresar lo que
queramos en un equipo muy compacto y
de manera precisa. Esto es algo que volvamos en el captulo 3, en el que nos fijamos en los
diversos beneficios de aprender a
utilizar la lnea de comandos.
Aqu est la transcripcin completa de los comandos que entramos con el fin de escribir la
imagen en el disco. Si algo en
nuestra explicacin no acababa de hacer clic, o no est del todo seguro de lo que el resultado
final debe ser similar, se puede utilizar el
siguiente transcripcin como referencia para comparar su versin con el nuestro:
ltima entrada: Mir 19 Sep 13:48:40 en ttys000
MBP: pmembrey $ sudo -i
Contrasea:
MBP: mount root #
/ Dev / disk0s2 en / (HFS, local, con registro)
devfs en / dev (devfs, local, nobrowse)
www.it-ebooks.info
pgina 30
Captulo 1 Su primer bocado de la frambuesa pi
17
mapa -hosts en / net (autofs, nosuid, montado automticamente, nobrowse)
mapa auto_home en / home (autofs, montado automticamente, nobrowse)
<< Tarjeta SD insertada >>
MBP: mount root #
/ Dev / disk0s2 en / (HFS, local, con registro)
devfs en / dev (devfs, local, nobrowse)
mapa -hosts en / net (autofs, nosuid, montado automticamente, nobrowse)
mapa auto_home en / home (autofs, montado automticamente, nobrowse)
/ Dev / disk2s1 en / Volumes / SIN TTULO (MSDOS, local, nodev, nosuid, noowners)
MBP: root # diskutil desmontar / dev / disk2s1
Volumen sin ttulo en disk2s1 sin montar
MBP: root # dd if = / usuarios / pmembrey / Descargas / 2012-08-16-sibilante raspbian.img of =
/ dev / disk2 bs = 512
MBP: root #
Con nuestra tarjeta SD (cuidadosamente) preparado, por fin podemos pasar a la siguiente etapa.
Primer arranque
Bien, eso fue un poco de un maratn, pero es de esperar que sea algo que slo tendr que hacer
una vez. Una vez que el cuelgue
de la misma, que no es tan malo; es slo que hay bastantes pocas piezas mviles.
Armados con nuestra tarjeta SD recin fotografiada, podemos por fin el arranque del Pi.

Conecte el teclado, el ratn y


monitorear y la ranura de la tarjeta SD en su Pi. Todo lo que tiene que hacer ahora es unir el
cable de corriente y ya est bueno para ir! Todas
siendo as, debera ver una pantalla como la figura 1-12 .
Figura 1-12. El primer arranque-it del Pi vive!
www.it-ebooks.info
pgina 31
Captulo 1 Su primer bocado de la frambuesa pi
18
Si puede ver algo similar, enhorabuena, su Pi est en marcha! Si no es as, hay unos pocos
comn
cosas que pueden ir mal.
Lo primero que debe hacer es comprobar si su Pi tiene un buen poder de color rojo brillante
LED. Ahora sabemos que esto suena obvio,
y sabemos que es probable que sea lo primero que usted marc, pero no comprobar que tambin
es el error ms comn de
hacer. Si su escritorio se ve nada como el nuestro, que tendr una buena coleccin de cables
envueltos alrededor. No es demasiado de
un tramo para ver cmo es posible que haya conectado el cable equivocado o que el cable que
est utilizando no es realmente enchufado
a una fuente de alimentacin en vivo (algunos ordenadores porttiles, por ejemplo, apagar la
alimentacin USB cuando se van a dormir). De cualquier manera, esto es lo
usted debe comprobar en primer lugar porque si lo hizo cometer un error, slo t saberlo. Esto
es mucho mejor que tener
una extensa discusin en los foros que tratan de obtener ayuda slo para luego darse cuenta de
que los gritos! se olvid de enchufarlo.
La segunda cosa a hacer es comprobar si se ha seleccionado la entrada correcta en el televisor o
monitor. La mayora de los televisores tienen
mltiples entradas en estos das, y los monitores de frecuencia que no sea por defecto HDMI (la
nuestra no), incluso si ese es el nico
seal de entrada que estn recibiendo. Obviamente, no podemos decir exactamente cmo
solucionarlo o comprobar este, ya que todo depende de
el equipo que est utilizando. Sin embargo, debera ser bastante fcil de hojear las diferentes
entradas para ver si
No es su pi se convierte en imagen. En un caso interesante, a pesar de que en el televisor al
puerto HDMI 2 dijo claramente, el Pi era en realidad
visible en HDMI3. No tenemos idea de por qu, pero si hubiramos pensado para chasquear a
travs de las entradas antes de tocar el violn con la Pi, nos
podra haber salvado a nosotros mismos un poco de dolor.
La tercera cosa a comprobar es que la tarjeta SD est completamente insertado en la ranura. La
IP literalmente no hacer nada
a menos que pueda encontrar la tarjeta y arrancar desde l, por lo que si todo lo que est
consiguiendo es una pantalla en negro, esto bien podra ser la razn. Si
que est seguro de que la tarjeta est insertada correctamente, pero todava no est teniendo un
poco de suerte, podra ser que algo sali mal
cuando escribiste la imagen en la tarjeta. En ese caso, dar la vuelta de nuevo a la ltima seccin
y tener otra oportunidad en la escritura
imagen a la tarjeta. Si todava no est recibiendo ninguna parte y que haya comprobado que
todo est bien enchufado, se
tener la entrada de la derecha de su monitor, y tiene un LED de alimentacin felizmente
resplandeciente, entonces es probable que haya algo ms
oneroso. Por desgracia, sin estar all con usted para mirar a su Pi mal, realmente no podemos dar
ms especfica
Consejo. Afortunadamente, usted no est solo; hay un montn de gente en los foros de

discusin Frambuesa Pi que estn listos


para ayudar. Para visitar el foro, vaya a www.raspberrypi.org y haga clic en el enlace Foro
(justo debajo ya la izquierda de la
Frambuesa Pi logotipo). Esto le llevar a la pgina principal del foro; la junta especial que ests
buscando es Uso bsico y
Configuracin en Uso del Raspberry Pi.
Configuracin del Pi
Despus de que el torrente de texto incomprensible (aunque estamos seguros de que significa
algo a alguien) que debe terminar en
la configuracin mostrada en la figura 1-13 . Aqu es donde vamos a configurar su pi para el uso
general para que la prxima vez que encienda
que en adelante, ser recibido con un bonito escritorio en lugar de un texto grueso.
www.it-ebooks.info
pgina 32
Captulo 1 Su primer bocado de la frambuesa pi
19
Nosotros slo vamos a cubrir las opciones bsicas de configuracin aqu (y siempre se puede
volver atrs y cambiar
una vez que tienes tu Pi en funcionamiento), ya que queremos conseguir que en frente de un
equipo de trabajo tan pronto como sea posible.
Para empezar, asegrese de que el Pi est configurado para iniciarse en el escritorio (seleccione
la opcin boot_behavior para asegurarse
que el escritorio aparecer la prxima vez que arranque su Pi).
La ampliacin del sistema de archivos
La primera opcin es de inters expand_rootfs, que, como sugiere la descripcin, se ampliar el
sistema de archivos para llenar el
tarjeta entera. La imagen que hemos descargado fue de alrededor de 2 GB despus de
descomprimimos y esto es lo que escribimos en nuestro SD
tarjeta. As que, aunque es posible que tenga una tarjeta de 8 GB o ms grande, usted ser capaz
de ver solamente los primeros 2 GB de ella. Al ampliar
el sistema de archivos, podemos aprovechar todo el espacio que tiene disponible. Este enfoque
funciona bastante bien porque
que significa que no necesitamos un archivo de imagen diferente para cada tamao de disco;
que todos podemos utilizar la misma imagen pequea y simplemente
expandirla para adaptarse a nuestras necesidades. Usando las flechas, mover la barra hacia abajo
para resaltar expand_rootfs y pulse Intro. T
debera ver una ventana que le indica que la particin ha sido redimensionada, y el sistema de
archivos se cambiar el tamao despus de que el prximo
reiniciar. Pulse la tecla Intro para volver al men principal.
Configuracin del teclado
La siguiente opcin de inters se configure_keyboard. De forma predeterminada, Raspbian
asume un mapa de teclas Reino Unido, pero es probable que
usted va a querer algo ms. Se advierte, sin embargo, que Raspbian conoce un gran nmero de
teclados, y la pura
cantidad puede ser confuso. Por ejemplo, cmo saber si usted tiene un genrico 104 teclado o
se trata de una clave 105
versin? No estbamos seguros tampoco, as que nos limitamos con el valor por defecto: la
clave genrica 105 (Intl) PC se muestra en la Figura 1-14 .
Figura 1-13. En primer arranque: la hora de configurar su pi!
www.it-ebooks.info
pgina 33
Captulo 1 Su primer bocado de la frambuesa pi
20

Si usted puede encontrar su modelo exacto, por todos los medios no dude en para seleccionarlo.
Si no est seguro, usted es probablemente mejor fuera
siguiendo nuestro ejemplo y se pegue a la predeterminada. Una vez que se han asentado en el
teclado de su eleccin, oprima Intro para pasar
pasa a la siguiente pantalla.
Ahora tenemos que elegir qu mapa de teclas que queremos usar. De forma predeterminada, se
enumeran varios mapas de teclas del Reino Unido (como se muestra en
Figura 1-15 ), Pero si no se tiene la suerte de poseer un teclado britnico, mover la barra hacia
abajo hasta otro, pulse Intro, y
a continuacin, desplazarse por la lista para encontrar algo ms adecuado para sus necesidades.
Una vez que haya encontrado la derecha del teclado,
de nuevo slo tiene que pulsar Enter para pasar a la siguiente pantalla.
Figura 1-14. Elija su teclado
www.it-ebooks.info
pgina 34
Captulo 1 Su primer bocado de la frambuesa pi
21
Si no est seguro de lo que seleccione en el men (se muestra en la Figura 1-16 ), que no est
solo. Para la mayora de la gente, la
valores predeterminados de teclado va a estar bien porque van a incluir cualquier combinacin
de teclas especiales que su mapa de teclado especial
ya ofrece. Este es uno de esos momentos en los que si necesita hacer un cambio, usted
probablemente ya sabe por qu y
qu elegir. Si tiene alguna duda, simplemente deje el valor predeterminado seleccionado y pulse
Intro. Ahora ver otro men
que se ve sospechosamente como su predecesor (se muestra en la Figura 1-17 ), al menos en
trminos de saber qu elegir. Otra vez tu
probablemente ya sabe si necesita cambiar nada aqu; Si no est seguro, slo debe seleccionar el
valor predeterminado
pulsando Intro.
Figura 1-15. Cambiar la distribucin del teclado
www.it-ebooks.info
pgina 35
Captulo 1 Su primer bocado de la frambuesa pi
22
Figura 1-17. Personalizar el teclado un poco ms
Figura 1-16. Personalizar la configuracin del teclado
www.it-ebooks.info
pgina 36
Captulo 1 Su primer bocado de la frambuesa pi
23
El men siguiente (se muestra en la Figura 1-18 ) en realidad slo significa algo para los
usuarios de Linux de la vieja escuela. En mis tiempos,
si su interfaz grfica de usuario decidi basura fuera de usted, usted podra efectivamente
"reinicio" de la sesin manteniendo pulsada la tecla Ctrl + Alt +
de retroceso. A medida que la interfaz grfica de usuario se ha convertido en ms estable, y
Linux se ha convertido en ms de corriente, esta caracterstica es ms a menudo
que no se deshabilitado. Nosotros no hemos tenido que hacer uso de ella durante aos, a pesar
de que llegara a pensar que es bastante til. los
No es por defecto, y esto es probablemente lo que quiere. Siempre se puede volver atrs y
cambiar esto ms adelante si usted se encuentra
antojo de esta caracterstica en particular. Para recoger el valor predeterminado (y, finalmente,

volver al men principal), pulse Enter.


Figura 1-18. Desea activar el interruptor de parada del servidor X?
Cambio de la contrasea
A continuacin vamos a cambiar la contrasea de la cuenta de usuario pi. Esta es la cuenta que
va a utilizar a lo largo del
libro, y para la mayora de la gente esta ser la nica cuenta que necesitar en su Pi. Por el
momento, aunque la
la contrasea se establece en frambuesa y es el valor por defecto, que significa que cualquier
persona puede acceder a su Pi. Asegurando al mismo tiempo su Pi
contra los intrusos no autorizados, probablemente no es la parte superior de su lista de
prioridades, todava es una buena prctica cambiar esto slo
en caso. Ms adelante, es posible que su pi disponibles a travs de Internet y, en su excitacin
que puede olvidar que
en realidad no moverse a cambio de la contrasea. ocurrirn cosas malas. As que vamos a dar
la oportunidad de hacer el
cambiar ahora. Change_pass Resalte y pulse Intro, y ver como en la Figura 1-19 .
www.it-ebooks.info
pgina 37
Captulo 1 Su primer bocado de la frambuesa pi
24
La herramienta de configuracin se ha ejecutado el comando passwd estndar, por lo que usted
est buscando en un smbolo de texto
en lugar de un men ms bonita. Solo tienes que introducir la nueva contrasea (recuerde que es
maysculas y minsculas: HeLLo no es lo mismo que
hola o hola ) y presione Enter. Por razones de seguridad, la contrasea no se mostrar en la
pantalla y no se mostrar
ninguna estrella para hacerle saber que realmente haya escrito algo. Cuando conteste a
continuacin, se le pide que introduzca su contrasea de nuevo;
Despus de pulsar Intro, usted estar de nuevo en el men de configuracin. (Obtener una
sensacin de deja vu todava?).
Configuracin de la configuracin regional
A continuacin se configura el entorno local. Al decirle a Linux en el que est en el mundo, se
puede determinar cosas tiles, tales como
el separador entre los nmeros y la cual smbolo de moneda a utilizar. Por ejemplo, en los
Estados Unidos para escribir te
1,000.00, pero en muchos lugares de Europa que se escribira 1.000,00. De cualquier manera
para una mxima comodidad y para garantizar
todo lo que slo se ve bien, tenemos que establecer la configuracin regional. Resalte la opcin
change_locale y pulse Intro.
Ahora le presentar con una extensa lista de lugares diferentes para elegir (ver Figura 1-20 ).
Los primeros dos
letras en el nombre de especificar el idioma, mientras que el segundo par de letras especifica
una diferencia regional. Por ejemplo,
es_ES sera Ingls personalizado para usuarios de Estados Unidos, pero en_GB tendra una
configuracin especfica a personas de habla inglesa en
el Reino Unido. Usted debe seleccionar los pares de idiomas y pases que ms se acerquen a sus
necesidades y elegirlos por
presionando la barra espaciadora. Es posible que desee tanto en la norma ISO-8859 y las
versiones UTF-8. Si decide cubrir sus apuestas
y seleccionar todas las configuraciones regionales, ser advertidos de que va a estar adentro para
esperar bastante como el Pi genera todas las opciones de localizacin para usted. En
De hecho, hemos intentado esta opcin y despus de esperar las edades por slo dos lugares que
se genere, nos cansamos y sac el tapn.
Despus de seleccionar los lugares que desea, pulse la tecla de tabulacin una vez para resaltar

el botn OK y presione Enter para mover


a la siguiente pantalla. Aqu tiene que escoger la configuracin regional que desea utilizar de
forma predeterminada (ver Figura 1-21 ). Una vez que tengas
hecho su eleccin, resaltarlo y pulse Intro. Una vez ms, estamos de vuelta a la pgina principal
de configuracin.
Figura 1-19. Tiempo para establecer su contrasea
www.it-ebooks.info
pgina 38
Captulo 1 Su primer bocado de la frambuesa pi
25
Figura 1-20. Seleccione las configuraciones regionales que desea utilizar
Figura 1-21. Ahora escoge la configuracin regional que desea utilizar de forma
predeterminada
www.it-ebooks.info
pgina 39
Captulo 1 Su primer bocado de la frambuesa pi
26
Cambiar la zona horaria
La opcin change_timezone hace bastante ms de lo que dice. Despus de seleccionar esta
opcin, se le mostrar una lista de
regiones (que se muestran en la Figura 1-22 ). En este caso, estbamos configurando Pi de Pete,
as que elegimos Asia. La siguiente pantalla
le dar la oportunidad de afinar su seleccin y recoger su pas o ciudad (ver Figura 1-23 ). Una
vez que haya encontrado el
coincidencia ms cercana a usted, seleccione la opcin y pulse Intro.
Figura 1-22. Seleccione su regin
www.it-ebooks.info
pgina 40
Captulo 1 Su primer bocado de la frambuesa pi
27
La asignacin de memoria
La opcin memory_split necesita un poco de explicacin. Su Pi tiene dos procesadores
principales: la CPU (o central de procesamiento
unidad) y la GPU (unidad de procesamiento grfico o). La CPU es el responsable del
funcionamiento general de la mquina,
y la GPU es responsable del manejo de la pantalla y ofrece funciones como la aceleracin 2D y
3D, as
como soporte de hardware para decodificar flujos de vdeo de alta calidad. Una GPU est
dedicado a los grficos de manipulacin (para el
mayor parte) y no se puede realizar el papel de una CPU. Sin embargo, s significa que si la
CPU puede descargar todo el complejo
trabajo grfico a la GPU, la CPU no tiene que ser tan poderoso. Al tener ambos, el Pi mantiene
los costes y
requisitos de potencia agradables y bajas, pero sin sacrificar mucho en el camino de la
actuacin.
Hasta aqu todo bien; pero qu tiene eso que ver con la memoria de divisin? El Pi viene con
256 MB de RAM en
total y que necesita para abastecer tanto la CPU y la GPU. A medida que la GPU es
efectivamente una unidad independiente, necesita su propia
asignacin de memoria. En lugar de tener memoria dedicada para tanto, es posible dividir los
256 MB entre la
dos procesadores. Por defecto, el Pi asigna 192 MB para la CPU y slo 64 MB para la GPU.

Esto es ideal si quieres


utilizar el Pi como un servidor o que nunca va a conectar una pantalla al Pi. Si usted no est
usando grficos, la asignacin adicional
la memoria de la GPU es algo sin sentido.
Por otro lado, si usted planea utilizar su Pi como un ordenador de sobremesa mini o para
visualizar pelculas de alta calidad, que est
va a querer mayor cantidad de memoria asignada a la GPU como se puede salirse con (que en el
caso de los medios Pi
partindolo por la mitad y que tiene 128 MB para cada uno). Sera difcil anticipar cmo todo el
mundo va a querer
utilizar su Pi, y aparte de aadir ms memoria a la misma Pi (y elevar el costo) no existe una
solucin fcil.
Afortunadamente, tenemos la capacidad de elegir cmo queremos asignar la memoria de
nosotros mismos.
Para uso general y las tareas de tipo "Introduccin", se recomienda dividir la memoria de 192
MB / 64 MB. Poner
esto, seleccione la opcin memory_split del men, pulse la tecla Intro, y usted tendr algo
similar a la Figura 1-24 .
Tipo en la memoria dividida que desea y luego presione Tab para resaltar el botn OK y
presione ENTRAR.
Figura 1-23. Seleccione su pas o ciudad
www.it-ebooks.info
pgina 41
Captulo 1 Su primer bocado de la frambuesa pi
28
Al final! Est configurado!
Vaya, por fin llegamos a la final! Despus de todo ese esfuerzo, ahora se puede reiniciar el Pi y
(finalmente) empezar a usarlo! presione el
tecla Tab dos veces para resaltar el botn Finalizar y pulse Intro. Su Pi debe apagar y reiniciar el
sistema. Si ha decidido
para ampliar el sistema de ficheros raz anterior, ver esto (como prometi) durante el proceso
de arranque, como se muestra en la Figura 1-25 .
Figura 1-24. Elija su divisin de memoria
www.it-ebooks.info
pgina 42
Captulo 1 Su primer bocado de la frambuesa pi
29
Este proceso puede tardar un tiempo dependiendo del tamao de la tarjeta SD en realidad es. A
medida que se cambia el tamao de lnea, no lo har
en realidad interferir mucho con el proceso de inicio, sino porque est sucediendo en el fondo, y
que est haciendo bastante
intenso trabajo en su tarjeta SD, se puede notar que las cosas se sienten un poco lento. Eso es
completamente normal, y se
acelerar considerablemente una vez que este proceso ha terminado.
Despus de todo ese esfuerzo (y un poco ms de espera, mientras que las botas de Pi en
adelante), que finalmente deben estar a una grfica bastante
mostrar que debera parecerse a la Figura 1-26 .
Figura 1-25. Cambiar el tamao del sistema de archivos en primer reinicio
www.it-ebooks.info
pgina 43
Captulo 1 Su primer bocado de la frambuesa pi
30

Felicitaciones! Ahora tiene un completo y funcional Frambuesa Pi! Si no termina con un


escritorio bonito,
puede que tenga que ajustar su configuracin un poco. En la solicitud de inicio de sesin, puede
iniciar sesin con el nombre de usuario pi
y la contrasea que estableci durante la instalacin. Si a continuacin, ejecuta el siguiente va a
ser capaz de cambiar los ajustes
(Boot_behavior es la opcin que desea cambiar):
$ Sudo Raspi-config
Tambin puede intentar el inicio de la interfaz grfica de forma manual con esto:
$ startx
Resumen
En este captulo se ha tomado de conseguir sus manos en su pi todo el camino a travs de
ponerse en marcha y funcionando.
Nos lo tomamos deliberadamente lento y cubra el uso bsico ya que siempre las llamadas cosas
simples que la gente viaje hasta
(Nosotros incluidos!). Nos fijamos en lo que viene en la caja (y lo ms importante lo que no lo
hace) y proporcion una lista de la compra
de todas las cosas que necesita para hornear su Pi.
A continuacin, referido brevemente en Linux-lo que hace que una distribucin, y por eso que
decidimos seguir con Raspbian para este
libro. a continuacin, cubrimos cmo descargar Raspbian y conseguir que en su tarjeta SD (que
result ser mucho ms
involucrado de lo que pensamos).
Armado con una tarjeta completamente cargada, se puso en marcha el Pi y caminamos a travs
de la instalacin y configuracin iniciales
proceso que en ltima instancia termin con nosotros mirando el logotipo muy bonito
Frambuesa Pi en el medio de una igualmente
impresionante escritorio.
En el siguiente captulo, vamos a empezar a explorar su nuevo ordenador de sobremesa. Le
damos un recorrido rpido de lo que viene con Raspbian
fuera de la caja, y terminemos, mostrando cmo se puede ajustar y personalizar para que se
adapte a sus necesidades.
Figura 1-26. Por fin, tenemos un escritorio!
www.it-ebooks.info
pgina 44
31
Capitulo 2
Inspeccionando el paisaje
Aunque la mayor parte de este libro se centra en conseguir que cmodo en la lnea de comandos
y realmente conseguir su
las manos sucias con Linux, que seran completamente negligentes si no primero te mostramos
cmo utilizar la interfaz grfica
que viene con su pi. No es tan llamativo como lo que puedes encontrar en un PC con Windows,
Mac, Linux o incluso algunos
distribuciones, pero es rpido, fcil de usar, y le permitir hacer todas las cosas que ests
acostumbrado a hacer. Y, por supuesto, todo en una
dispositivo que cabe en el bolsillo y consume menos energa que el monitor o el televisor est
conectado a.
Comenzamos este captulo examinado por el escritorio y ver qu cosas interesantes que tenemos
que jugar.
Algunos son obviamente aplicaciones tiles en su propio derecho y algunos son probablemente
menos til en esta etapa (por ejemplo,
el entorno de desarrollo Python no va a ser de mucho inters para usted a menos que ests
programacin en Python). Bien

entonces nido a travs de los diversos mens y echar un vistazo a lo que encontramos.
Bienvenido a LXDE
A diferencia de Windows, Linux no est integrado con una interfaz grfica de usuario en
particular; que utiliza una solicitud por separado (un cliente y un servidor, en
este caso) para proporcionar una. Esta aplicacin se conoce como el servidor X y lo que sola
ser, con mucho, lo ms complicado
en el universo Linux configurar. A pesar de que ha mejorado mucho, no hace mucho tiempo,
gran tiempo y esfuerzo necesarios para ser
gastado si desea utilizar la rueda de desplazamiento del ratn en esa ltima moda de los suyos.
Ni que decir tiene, la diversin que lleva
bastante rpidamente. En estos das, el servidor X es casi una caja de negro y muy rara vez se
necesita tocar realmente. por
esa razn, no vamos a entrar en ms profundidad sobre ese tema en este libro, pero si usted es
un poco de curiosidad para saber ms,
revisa http://en.wikipedia.org/wiki/X_Window_System .
El X-servidor proporciona el marco para el uso de una interfaz grfica de usuario, pero no
proporciona realmente los equipos de escritorio bonitos que
que estamos acostumbrados a ver. Ellos son proporcionados por los entornos de escritorio. Una
vez ms, no vamos a cubrir cmo stos todo el trabajo, pero
basta con decir, como todo lo dems en el mundo Linux, usted tiene la posibilidad de elegir el
que ms le guste. Para la mayora
la gente, todo se reduce a lo que uno viene con su distribucin Linux de eleccin, aunque la
mayora de las distribuciones ofrecen
una seleccin. Los ms avanzados tienen todo tipo de caractersticas y efectos especiales, y es
comprensible que consumen una
cantidad justa de los recursos, mientras estn en ello. En el ltimo y ms grande de escritorio o
porttil, esto no es un problema, y
la mayora de la gente salta a la oportunidad de hacer su costosa mquina realmente hacer algo
de trabajo. Sin embargo, se convierte
algo as como un problema cuando se est ejecutando un menos-que-de altas especificaciones
de la mquina, tales como el Pi.
No se trata slo del Pi que puede luchar-ordenadores de slo unos pocos aos atrs fcilmente
podra ejecutar Linux, pero tuvo problemas
con las nuevas interfaces altamente grficas. Si tenemos en cuenta las mquinas an ms
antiguas que a menudo seran botados a cabo,
un gestor de visualizacin adecuada podra fcilmente se manifiestan como un PC
perfectamente til. Todava hay ms a l, sin embargo; moderno
netbooks son de bajo accionado por diseo, con el objetivo de alta eficiencia para el consumo de
la batera, as como el costo. Ellos tambin
beneficiarse de un diseo minimalista cuando se trata en el escritorio.
Cuando tenga que estirar su presupuesto de procesamiento, el mejor lugar para cortar las
esquinas se encuentra en el conjunto de caractersticas de la
interfaz grfica. Usted realmente necesita todas esas caractersticas de lujo? Son ventanas
transparentes esencial para lo que eres
obra? Lo que realmente necesita que el reloj interpretacin 3D? Si no es as, y que desea cortar
un poco de grasa, un entorno de escritorio tales
LXDE como ser hasta su calle.
www.it-ebooks.info
pgina 45
Captulo 2 Topografa del paisaje
32
LXDE (abreviatura de peso ligero X11 Desktop Environment ) fue diseado para mquinas en
las que la eficiencia energtica
y la necesidad de ejecutar en hardware en el extremo inferior del espectro de rendimiento fue de

importancia crtica. Su objetivo es


ser eficiente en trminos de ciclos de CPU y uso de memoria, y aunque algunos gestores de
ventanas evitan todos los innecesarios
caractersticas, LXDE intenta permanecer completa de caractersticas al mismo tiempo.
Aunque ahora sabemos que la interfaz grfica de usuario se compone de una gran cantidad de
partes mviles, LXDE es casi transparente cuando se utiliza.
Realmente no hay ningn dao en el pensamiento de LXDE como entorno para su principal Pi y
si va a pasar la mayor parte de su
tiempo de uso de la interfaz grfica de usuario, sentimos que no hay dao en la consideracin de
que una parte del ncleo del sistema operativo. Usted puede simplemente
utilizar y aceptarlo como disponible. Con esto en mente, vamos a pasar a la exploracin de lo
que en realidad tenemos cuando estamos
usando LXDE.
Qu tenemos aqu?
Una vez que haya instalado y configurado tu Pi, y que ha acciona hacia arriba por primera vez,
se debe quedar con una pantalla
que se parece a la Figura 2-1 .
Figura 2-1. En primer arranque del Pi
Cmo se establecen los iconos realmente depende de la pantalla gracias a la conexin a su Pi.
Debe tener un aspecto muy similar;
la nica diferencia real es cmo se colocan los iconos del escritorio. Y porque Raspbian est
siendo constantemente mejorada
los desarrolladores, es posible que usted ver nuevos iconos o tal vez algunos reemplazos.
Hay algunas reas clave aqu que son difciles de ver en una pantalla grande, as que vamos a
romper cada parte
abajo individualmente. Por simplicidad (por no mencionar el hecho de que se han convertido en
expresiones comunes) nos referiremos a
diversos elementos de la GUI por el nombre de la mayora de la gente est familiarizada con.
Por lo tanto vamos a discutir el men de inicio y barra de tareas.
Vamos a empezar con la parte inferior izquierda de la pantalla.
www.it-ebooks.info
pgina 46
Captulo 2 Topografa del paisaje
33
El men de inicio e inferior izquierda de la barra de tareas
El primer botn de la parte inferior izquierda (la que se ve como un extranjero araa ver Figura
2-2 ) es en realidad el logotipo de LXDE
y acta como el botn de inicio. El segundo botn (que es indistinto, incluso en un monitor de
alta calidad) se pondr en marcha
PCManFM, el gestor de archivos LXDE. Esta es la herramienta que trata de alcanzar cuando se
necesita para mover algunos archivos de un lado o hacer
algn general ordenando. El siguiente botn (un globo) se inicia el navegador web por defecto
que pasa a ser en este Midori
caso. Al igual que las otras aplicaciones, usted encontrar que la mayora de estas aplicaciones
se han diseado para ser ligero y eficiente.
Figura 2-2. Botn y amigos Iniciar
Hasta aqu todo bien. Ninguna de estas aplicaciones es realmente tan diferente de lo que
probablemente est acostumbrado a hacerlo en su
computadora principal. Las dos siguientes, sin embargo, son un poco diferentes: ellos controlan
el medio ambiente en lugar de empezar a individuo
programas. El primer botn (las dos ventanas superpuestas) acta como un botn de "minimizar
todos" Al hacer clic, toda la
ventanas que se muestran en ese momento se reducirn al mnimo inmediatamente. Al hacer clic
en el botn de nuevo no restaura la

ventanas, aunque, por lo que si usted tiene una gran cantidad de ventanas abiertas, no esperes
ser capaz de hacer clic en este botn de nuevo para conseguirlos
espalda. Este botn tiene una segunda caracterstica: si hace clic con el botn central (la
mayora de las ruedas de desplazamiento tambin se pueden utilizar como una
botn), todas las ventanas se "sombreado". Cuando la cortina de una ventana, se enrolla dentro
de su ttulo. En realidad, no utilizamos esta
funcin (en honor a la verdad, nunca vimos el punto, pero a cada uno lo suyo), pero si es algo
que te gusta, no dude en usarlo.
Lo siguiente son los botones de escritorio. Microsoft Windows de forma predeterminada tiene
un nico ordenador de sobremesa, y la mayora de las personas son
sin saber que en realidad puede tener ms de una. Esta funcin se ha aadido en versiones
recientes de Windows, Linux, pero tiene
tenido desde el primer da, sobre todo porque otros sistemas operativos basados en UNIX han
tenido durante mucho ms tiempo.
La caracterstica es muy potente ya que le permite tener mltiples escritorios, cada uno con sus
propias aplicaciones. Esto permite
le permite mantener todas sus aplicaciones de trabajo en un escritorio, manteniendo las ventanas
de chat y el navegador en otro. Por
De forma predeterminada, LXDE proporciona dos ordenadores de sobremesa, pero puede tener
ms si lo desea.
El resto de esta parte de la barra se recoge con las diversas aplicaciones que estn abiertas. Al
igual que Windows, todas
las aplicaciones en ejecucin (al menos los que proporcionan una interfaz grfica) se mostrarn
aqu y se puede utilizar la barra de
seleccionar la aplicacin que desea interactuar.
Y en el lado derecho ...
Despus de la barra de tareas, hay ms iconos, como se ve en la Figura 2-3 . El primero parece
ser slo una caja negro, pero en realidad
acta como un monitor de CPU. Cuanto ms trabajo le da a su Pi, la ms verde de esta caja
llegar a ser. Acta como un grfico, que muestra
cmo la CPU se est utilizando en el tiempo. En realidad se puede divertir a s mismo (al menos
durante unos minutos) por el rpido
mover el puntero del ratn. Cuanto ms rpido se mueve, se utiliza ms CPU, y la caja se
vuelve ms verde. Diversion y
juegos de lado, sin embargo, este monitor es bastante til porque si su Pi comienza a actuar un
poco lentamente, un rpido vistazo a la
monitor puede decirle si usted est gasto excesivo con su CPU.
Figura 2-3. El lado derecho de la barra de tareas
www.it-ebooks.info
pgina 47
Captulo 2 Topografa del paisaje
34
Al lado del monitor de CPU es el reloj, que en realidad no necesita mucho de la manera de
explicacin. El monitor
con el candado en el medio se utiliza para bloquear la pantalla (aunque hemos odo que esto no
funciona para
todo el mundo). Esto es muy til si usted est dando un paso lejos de su computadora y usted
tiene algunos amigos en torno a quin
Creo que podra ser divertido si ha realizado algunos puestos "divertidas" en Facebook. Por el
bloqueo de la pantalla, sus esfuerzos sern
frustrado, suponiendo que no olvide cambiar su contrasea a algo que no sea el predeterminado,
por supuesto!
ltima up es el botn de encendido que le brinda numerosas opciones para apagar o reiniciar el
dispositivo, ya

se muestra en la Figura 2-4 (aunque si se inicia de forma manual con startx, a continuacin, slo
ver desconecte y cancelar).
Figura 2-4. Al hacer clic en el botn cerrar
Al hacer clic en Apagar har bastante ms de lo que espera, como se reiniciar y Salir. Hay una
cosa que es
Cabe recordar, sin embargo: el Pi se ejecuta Linux, que es un sistema operativo multiusuario.
Eso significa que las cosas podran
estar sucediendo en el fondo que no eres consciente de. Por ejemplo, alguien podra ser una
transmisin de vdeo desde
su Pi. Si se ha apagado o reinicio, se le desconecte cualquier otra persona que est conectado a
la Pi. Esto podra no ser una
problema para usted en este momento, pero es algo que probablemente debera tener en cuenta.
Y eso es prcticamente todo lo que usted tiene en su pantalla. Vamos a cubrir las aplicaciones
en el escritorio despus de la siguiente
seccin, en la que nos fijamos en los misterios del men de inicio.
El men de inicio
El concepto de men de inicio ha vuelto casi omnipresentes en la mayora de los sistemas
operativos (en particular, no es el Mac) desde
su introduccin con Windows 95. A pesar de que varias personas pueden burlarse de eso y
punto a lugares donde pueda
se han visto antes o insisten en que los mens de inicio en Linux no son como las que se
encuentran en Windows, tratamos de mover
Ms all de eso. El hecho es que el concepto de men de inicio funciona muy bien sin importar
que pensaba de l, y hay una razn
Por eso se ha adoptado hasta ahora y amplia.
www.it-ebooks.info
pgina 48
Captulo 2 Topografa del paisaje
35
Basta ya de la caja de jabn; vamos a ver lo que nuestro men de inicio tiene que ofrecer (vase
la Figura 2-5 ).
Figura 2-5. El men de inicio
Al igual que antes, no hay nada realmente innovador aqu. La primera seccin se enumeran
todas las aplicaciones que estn disponibles,
todas bien agrupados: en este caso, Accesorios, Herramientas Educacin, internet,
programacin, y del sistema. Aparte
de Herramientas del sistema y accesorios (no se ve tan inspirador), es difcil decidir cul de
estas opciones debemos
ahondar en primer lugar. Antes de que podamos comenzar, sin embargo, tenemos que terminar
el resto de los artculos.
Preferencias y Salir son bastante sencillos. Vamos a ver algunos de los ajustes en las
preferencias que usted
puede modificar ms adelante; si pulsa el botn Salir, tendr, as, cerrar la sesin. No hay
sorpresas. El ltimo punto es el
Ejecutar comandos, lo que nos permite ejecutar comandos especficos sin la necesidad de
recogerlos de un men, haga clic en una
icono, o un terminal abierto. Al igual que con Windows, esta opcin puede ser til para su
conveniencia. Tambin dispone de autocompletar
funcionalidad, como se muestra en la Figura 2-6 .
Figura 2-6. El orden de marcha y de autocompletar
www.it-ebooks.info
pgina 49
Captulo 2 Topografa del paisaje

36
Aqu se puede ver que escribi en gno , y rellenado automticamente a la aplicacin que
coincide con el patrn. Esto puede ahorrarle
una gran cantidad de tiempo a medida que se llega a saber cuntos caracteres tiene que escribir
antes de que el autocompletar entra en accin con el
respuesta correcta. Muy a menudo, los nombres de comandos (especialmente para las
aplicaciones GUI) puede ser bastante larga y esto puede ser verdadero ahorro de tiempo!
Accesorios
Ahora vamos a echar un vistazo a lo que tenemos en Accesorios. Al igual que todos los otros
mens, los artculos aqu pueden cambiar a medida que
instalar ms programas, y en las versiones ms recientes de Raspbian al principio puede parecer
un poco diferente. En nuestro Pi, los accesorios
men parece a la Figura 2-7 .
Figura 2-7. El men Accesorios
Gua de referencia Debian
En primer lugar es de referencia Debian. Como su nombre lo indica, es una gua para todas las
cosas de Debian y porque se basa en Raspbian
Debian, que es llevado adelante para el paseo. El manual est muy bien estructurado y bien
escrito, y ha tenido el adicional
beneficio de la evolucin durante un perodo prolongado de tiempo. El manual es un conjunto
de pginas HTML, y al hacer clic en el enlace que
se abrir en el navegador Midori. Simplemente haga clic en el primer enlace, como se muestra
en la Figura 2-8 .
Figura 2-8. Usted quiere que la versin HTML de la izquierda
El segundo enlace contiene el mismo contenido en texto plano, pero se guarda como un archivo
comprimido y lo que no es
algo que tendra que utilizar para la visualizacin en lnea. A medida que el manual est tomado
de la Web, esto es un vestigio de los das en que
es posible que haya querido descargar una copia para la navegacin fuera de lnea. Si todo va
bien, debera acabar con la pgina
se muestra en la Figura 2-9 .
www.it-ebooks.info
pgina 50
Captulo 2 Topografa del paisaje
37
Puede desplazarse por el manual al igual que una pgina web. A pesar de tener una copia local
es muy til, no es tan fcil
buscar como pedir a Google, que por lo general le llevar directamente a lo que desea. Dicho
esto, si usted est tratando de averiguar
Por eso no se puede conseguir en lnea, usted ser feliz para una copia local.
Administrador de archivos
Como mencion anteriormente, naves LXDE con el gestor de archivos PCManFM. Por
supuesto, tambin se puede acceder a l desde la barra de tareas,
como se muestra anteriormente. Siguiendo el ejemplo del movimiento de diseo minimalista,
este administrador de archivos es ligero, simple y
fcil de usar, pero an as tiene todas las caractersticas que va a necesitar. Se trabaja de una
manera muy similar a Windows de Microsoft
Explorer, por lo que si usted est viniendo de un fondo de Windows se sentir como en casa con
PCManFM (vase la figura 2-10 ).
Si no es as, usted ser capaz de recogerlo fcilmente con unos pocos momentos de hacer clic
sobre.
Figura 2-9. El manual de referencia de Debian en todo su esplendor
www.it-ebooks.info

pgina 51
Captulo 2 Topografa del paisaje
38
Cuando se abre inicialmente, PCManFM le dejar en su zona de cobertura. Se le mostrar la
cantidad de espacio que tiene
disponible en la parte inferior derecha (siempre til en dispositivos con almacenamiento
relativamente limitada como el Pi) y las listas de los ms
lugares comunes sobre la parte superior izquierda. Para la navegacin, puede hacer clic en su
camino a travs de las carpetas y se puede utilizar el
iconos de navegacin en la barra de herramientas le ayudarn a avanzar rpidamente a travs de
sus archivos. Si usted est mirando para conseguir un poco ms manos
en, cubrimos cmo manipular archivos en el captulo 4.
Visor de imgenes
Image Viewer es una de esas aplicaciones que probablemente nunca se abren directamente;
usted casi siempre lo abre por
Hacer doble clic en un archivo de imagen que por defecto ser espectador de la imagen a
continuacin, abierta para usted. Por simple que puede ser, Imagen
Visor no carece de caractersticas y tiene todas las herramientas bsicas que hemos llegado a
esperar, como se muestra en la figura 2-11 .
Figura 2-10. El gestor de archivos PCManFM
www.it-ebooks.info
pgina 52
Captulo 2 Topografa del paisaje
39
Los dos primeros botones permiten moverse hacia atrs y adelante a travs de una coleccin de
imgenes. Esto es realmente sorprendente
til porque las personas estn accediendo lbumes en lugar de fotografas especficas. Para
ayudar con exactamente eso, tambin hay una
funcin de presentacin que se puede acceder pulsando sobre el botn de reproduccin.
La siguiente seccin dispone de controles de la forma que desee ver la imagen en realidad.
Los dos primeros son los controles de zoom tradicionales

El tercer icono es para "ajustar a la pantalla"

El cuarto es espectculo en tamao completo (que, si se trata de una foto de una cmara digital,
significa que tendr

para desplazarse)
Por ltimo, la opcin de pantalla completa para aprovechar realmente esa pantalla plana de 60
pulgadas que acaba de recibir su

las manos en
En la tercera seccin son los controles para alterar la imagen. Los dos primeros son los controles
de rotar (girar a izquierda y derecha,
respectivamente), y el segundo par de controles le permite voltear la imagen en sentido
horizontal y vertical. Esto es especialmente
til cuando se tom la foto en un ngulo extrao y no te gusta la inclinacin de su cabeza 90
grados con el fin de ver a su
imaginar la posicin correcta.
El siguiente conjunto de archivos contiene controles. Ellos le permiten abrir, guardar, guardar
como, y elimina el archivo, respectivamente. Los ltimos dos
iconos ofrecen acceso al panel de preferencias (nada demasiado interesante de all) y le
permiten salir del programa.
Figura 2-11. Imagen interfaz principal del Visor

www.it-ebooks.info
pgina 53
Captulo 2 Topografa del paisaje
40
leafpad
En consonancia con el tema minimalista, el editor de texto Leafpad hace lo bsico y que
alrededor de todo. Es muy similar a
versiones posteriores de Bloc de notas de Microsoft y es tan fcil de utilizar (vase la figura 212 ). No es un gran bien a la escritura
cartas a la ta Maude o al Consejo que se quejan de perro del vecino de al lado, pero es perfecto
para cuando se
hay que hacer un poco de edicin de texto luz.
Figura 2-12. Leafpad tiene un aspecto similar al Bloc de notas de Microsoft
A pesar de su simplicidad, Leafpad todava ofrece algunas de las herramientas ms tiles, es
decir, ser capaz de hacer un hallazgo y reemplazo,
y activar y desactivar la palabra envolver. Armado con estas herramientas, usted puede lograr
casi cualquier cosa.
Nota

si siente que Leafpad es un poco el poder suficiente para su gusto, es posible que desee dar la
vuelta al Captulo 6, en
lo que le mostramos algunos de los ms poderosos editores de texto nativos que se puede
obtener en sus manos.
En su mayor parte, Leafpad hace exactamente lo que dice en la caja: se edita el texto, y si eso es
todo lo que necesita hacer,
Leafpad es una excelente eleccin.
www.it-ebooks.info
pgina 54
Captulo 2 Topografa del paisaje
41
LXTerminal
LXTerminal es un emulador de terminal para Linux que le da acceso a una consola virtual. No
vamos a entrar en cualquier profundidad
sobre la forma de utilizar realmente esta aplicacin en particular porque vamos a discutir los
detalles en el siguiente captulo. Baste
por ejemplo, esta herramienta se utiliza para darle acceso directo de lnea de comandos al
sistema operativo. Para muchas personas, este es un lugar
donde los ngeles temen pisar, sin embargo, para los administradores experimentados, es un
lugar que llaman hogar. Para averiguar si el
lnea de comandos es para usted, sin embargo, tendr que esperar hasta el captulo 3.
LXTerminal es un emulador sencilla (vase la Figura 2-13 ), Pero hace el trabajo. No tiene
todas las campanas y
silbidos que proporcionan algunos emuladores, pero es perfectamente bien para la mayora de la
gente.
Figura 2-13. LXTerminal en marcha y funcionando
Una cosa que vamos a mencionar aqu es el smbolo. Cuando el color de la fuente es de color
verde, y al final de la peticin de orden es una
smbolo del dlar, usted sabe que se est ejecutando como usuario normal y que no tiene
privilegios de root (no se puede ejecutar cualquier
comandos que pueden realmente lastimar el sistema). Una vez ms, vamos a cubrir este tema
con ms profundidad en el captulo siguiente;
Mencionamos aqu esta distincin por lo que el prximo programa tiene sentido.
Terminal de raz

Esto es casi idntica a LXTerminal, excepto que en lugar de correr como el usuario normal pi,
se ejecuta como la raz (sistema de
administrador) de usuario. La primera vez que ejecuta esta aplicacin, recibir un mensaje
emergente, como se muestra en la figura 2-14 .
www.it-ebooks.info
pgina 55
Captulo 2 Topografa del paisaje
42
Aunque se parece a un mensaje de error, que le permite saber que el sistema est configurado
para que pueda ejecutar
un comando de nivel administrativo (en este caso, se ejecuta LXTerminal con privilegios de
root) sin tener que
proporcionar autenticacin. Para el Pi, esto es casi seguro que lo que quiere, pero en un equipo
que est conectado
a los recursos sensibles y en el que otras personas podran factible acceder a la mquina, es
posible que desee tenerlo
contrasea protegida.
Un terminal de raz es muy similar a un LXTerminal estndar, pero (como se puede ver en la
figura 2-15 ) El indicador se ve una
un poco diferente.
Figura 2-14. No es una advertencia; se est ejecutando instrucciones de nivel de administrador
sin necesidad de una contrasea
Figura 2-15. LXTerminal ejecuta como root
www.it-ebooks.info
pgina 56
Captulo 2 Topografa del paisaje
43
Aqu se puede ver que ese indicador se encuentra ahora en texto gris, y al final de la peticin de
orden es el smbolo de almohadilla.
Esto significa que est operando con privilegios elevados y se poda comandos para destruir
efectivamente el hecho ejecutar
sistema operativo. Linux no intenta que adivinar; si le dice que desea borrar todo el contenido
del disco, lo obedecern
ese comando y lo hacen con precisin. No hay red de seguridad cuando se ejecuta como root,
por lo que la mayora de la gente recomienda
que se quede en su propia cuenta de usuario tanto como sea posible. Volveremos a este tema
muchas veces en este libro.
xarchiver
Xarchiver es menos probable que se llama directamente de visor de imgenes, pero sin
embargo, es probablemente una aplicacin que har
conseguir un poco justo de su uso en el sistema de promedio. Esta herramienta le permite crear
y descomprimir archivos de diferentes formatos,
lo cual es esencial cuando se est descargando contenido de Internet. Xarchiver se parece a la
figura 2-16 .
Figura 2-16. Xarchiver cuando se abre manualmente
Aqu hemos descargado la documentacin a la plataforma de Erlang (era la primera cosa que me
vino a nuestra
cabezas cuando necesitamos algo para demostrar xarchiver). Despus de hacer doble clic en el
archivo, se abri xarchiver
automticamente. El nico botn que hemos utilizado hasta ahora es el extracto de todo el
botn, que es la segunda desde la derecha.
Al hacer clic en este extraer todos los contenidos del archivo, que normalmente es lo que
realmente quiere hacer.

Educacin
El men de Educacin tiene slo dos elementos, pero a medida que comprenden algunas de las
aplicaciones ms interesantes del Pi, que es
vale la pena mirar hacia fuera. El men en nuestro Pi se parece a la figura 2-17 .
www.it-ebooks.info
pgina 57
Captulo 2 Topografa del paisaje
44
Rasguo
Scratch fue desarrollado en el MIT Media Labs por el grupo Lifelong Kindergarten dirigido por
Mitchel Resnik. El objetivo era
para crear una manera de ensear a la gente cmo programar sin tener que ensear a todos los
bits complicados primera. Esto hizo que el tctil
enfoque en Scratch (en el que se puede arrastrar y soltar los bloques de la lgica) mucho ms
fcil de recoger.
No podemos afirmar que ser expertos en Scratch (de hecho, llegamos por primera vez a travs
de ella cuando estbamos jugando con el pi) pero nos
estn convencidos de que este tipo de aplicaciones tendrn un gran impacto como el Pi se
extiende a travs de las aguas. Consiguiendo
manos a la gente con la tecnologa y les proporciona un potente sistema que les permite
empezar sin
tener que dominar todas las bases primera es sin duda un ganador en nuestro libro.
Si no est convencido, echa un vistazo a la figura 2-18 ; sin duda nos hizo tomar un segundo
vistazo.
Figura 2-17. Men de Educacin
Figura 2-18. Entorno de programacin de Scratch
www.it-ebooks.info
pgina 58
Captulo 2 Topografa del paisaje
45
Chirrido
Squeak es un lenguaje de programacin que est preinstalado en la Pi. Por motivos de licencia,
sin embargo, la instalacin no es
bastante completo, por lo que realmente no ser capaz de utilizarlo fuera de la caja. No estamos
seguros de si esto es un problema temporal y
uno que podra ser resuelto en futuras versiones de Raspbian. Por el momento, si se abre Squeak
ver una ventana que se
se ve como en la Figura 2-19 .
Figura 2-19. Puesta en marcha del chirrido por primera vez
Despus de hacer un poco de excavacin, descubrimos la razn y tambin un mensaje en los
foros de Frambuesa Pi por jstout que
proporcionado un script de shell prctico que instalar los componentes que faltan para usted.
Gracias a jstout, podemos ayudarle a obtener
Chirriar en marcha y funcionando. Tendr que abrir LXTerminal e introducir estos comandos
(tambin se puede volver a
esta seccin una vez que haya ledo el captulo 3 y se sienten cmodos en la lnea de
comandos):
$ Wget -r -O SqueakV41.sources.gz http://ftp.squeak.org/4.1/SqueakV41.sources.gz
$ Gunzip -f SqueakV41.sources.gz
$ Wget -r -O Squeak-4.3-All-in-One.zip http://ftp.squeak.org/4.3/Squeak-4.3-All-in-One.zip
$
Descomprimir
-j
-O
Squeak-4.3-All-in-One.zip
"Squeak-4.3-All-inOne.app/Contents/Resources/Squeak4.3.*"
$ Sudo SqueakV41.sources mv / usr / share / chillido

$ Sudo mv Squeak4.3.image / usr / share / chillido


$ Sudo mv Squeak4.3.changes / usr / share / chillido
Este no es el momento ni el lugar para hablar de lo que realmente hacen estos comandos, pero la
versin corta es la siguiente: se
descargar los componentes que faltan y colocarlos en el lugar adecuado para Squeak para
encontrarlos. Una vez que haya ingresado
estos comandos, usted ser capaz de ejecutar Squeak sin ver ese cuadro emergente. En su lugar
debe ver Figura 2-20 .
www.it-ebooks.info
pgina 59
Captulo 2 Topografa del paisaje
46
Squeak es un dialecto de Smalltalk, que es un lenguaje reflexivo orientado a objetos. Esto hace
que sea una muy poderosa
y el lenguaje expresivo (se puede hacer ms con menos cdigo) que ha ganado muchos
seguidores en los ltimos aos. tiene
inspirados en varios lenguajes de programacin (incluyendo nuevos Rub) y tambin fue
utilizado para poner en prctica los araazos, lo que nos
discutido hace tan slo unas pocas pginas.
No estamos Smalltalk expertos tampoco, pero s sabemos que se trata de un lenguaje muy
interesante y de gran alcance, y podra
hacer que un lugar interesante para que usted comience su exploracin de los lenguajes de
programacin si se siente tan inclinado.
Internet
El men de Internet contiene como era de esperar aplicaciones que son especficas para acceder
a Internet. En nuestro Pi, la
Men de Internet se parece a la figura 2-21 .
Figura 2-20. Squeak es totalmente operativo
Figura 2-21. El men de Internet
www.it-ebooks.info
pgina 60
Captulo 2 Topografa del paisaje
47
Raspbian naves con tres navegadores diferentes fuera de la caja. Todos ellos estn diseados
para ser minimalista y su
eleccin se reducir a la preferencia personal. Para nosotros al menos, el navegador preferido
tiene que ser Midori, que es el
vamos a cubrir en esta seccin. Al final del da, si usted sabe cmo navegar por la web en
cualquier ordenador, nada en estos
navegadores sern nuevas para usted, y estamos cubriendo aqu ms para ser completa que por
necesidad real.
As que en lugar de ir a travs de todos los navegadores, slo vamos a tocar en Midori, ya que
ofrece tanto una
experiencia de navegacin estndar y una opcin privada. La mayora de los navegadores de
otras plataformas se ven muy distinta cuando estn
en modo privado (por lo general una combinacin de colores o icono conjunto diferente), que
asegura que no se introduce accidentalmente el
cosa incorrecta en la ventana equivocada. Midori, por otra parte, simplemente cambia el nombre
de la barra de ttulo que no es
realmente tan distintivo. Echar un vistazo a la figura 2-22 .
Figura 2-22. Midori en modo estndar y privada
Como se puede ver, no hay mucha diferencia aqu. El navegador privada no permite agregar los
marcadores, y

la capacidad de abrir pestaas cerradas previamente no est disponible. Aparte de eso, se ven
ms o menos idntica. Si lo haces
decide tomar ventaja de esta caracterstica, usted debe siempre vuelva a comprobar antes de
llegar a la tecla Intro.
Programacin
El men de programacin se compone de cuatro elementos (ver Figura 2-23 ), dos de los cuales
cubrimos cuando nos encontramos con ellos
en el men de Educacin.
www.it-ebooks.info
Pgina 61
Captulo 2 Topografa del paisaje
48
Debido a que ya hemos visto los araazos y Squeak, todo lo que queda es inactivo y IDLE 3. En
realidad, estos dos
son bastante similares en cuanto que son ambos entornos de desarrollo integrado (IDE) para la
programacin Python
idioma. IDEs proporcionan un entorno de desarrollo en el que todas las herramientas que
necesita estn a la mano. Ellos
por lo general incluyen herramientas para ejecutar y cdigo de prueba, as como muy bien el
formato de su cdigo fuente, as que es ms fcil de leer. los
razn por la cual hay dos versiones diferentes se debe a que hay dos versiones actuales de
Python que por diversas
razones no son compatibles entre s. En muchos aspectos, secuencias de comandos que puede
escribir para la versin 2.x de Python funciona
muy bien en 3.x, pero hay un buen nmero de trampas y los cambios en el lenguaje que hacen
que la compatibilidad garantizando
imposible. Es por esto que en general se ven dos versiones de Python instalado en cualquier
mquina dada.
Nota

en el momento de la escritura, Python 2.x es todava donde la mayora de la gente est en, y
muchos proyectos estn siendo activamente
desarrollado usarlo. de hecho, cuando escribamos nuevos scripts de Python 2.x tambin utilizar,
ya que tiene la mayora de las bibliotecas, una historia
de la documentacin y el blog y el foro de mensajes, y en general una gran comunidad. Por otro
lado, Python 3.x ha tenido una
gran cantidad de ajustes y mejoras del lenguaje que nunca va a llegar a Python 2.x, y todas las
nuevas ideas y el desarrollo
se centran en la nueva serie. en ltima instancia, pitn 3.x es el camino a seguir, y si usted est
empezando a cabo en su programacin
carrera, le recomendamos empezar a cabo en 3.x de pitn desde luego, no puede hacer dao, y
siempre se puede mirar en pitn 2.x si por
alguna razn, tiene que usarlo, y, en realidad, al pasar de uno a otro no es realmente un gran
problema.
Debido a que las dos versiones de IDLE son efectivamente idnticas en trminos de cmo se
utilizan, vamos a mostrarle
IDLE de la rama 2.x (en lugar de REPOSO 3), como se muestra en la Figura 2-24 .
Figura 2-23. El men de Programacin
Figura 2-24. Prender IDLE
www.it-ebooks.info
Pgina 62
Captulo 2 Topografa del paisaje
49

Cuando se inicia por primera vez IDLE, se le deja caer en un terminal de Python. No hay nada
especial en este indicador; en
De hecho, usted puede conseguir el mismo smbolo mediante la ejecucin de Python en la lnea
de comandos. IDLE realmente brilla, ya que proporciona una
editor que soporta resaltado de sintaxis. Si usted es nuevo en la programacin, el resaltado de
sintaxis es donde el texto que
introducir (el cdigo fuente) es un cdigo de colores para que sea ms fcil de leer el programa.
Las palabras clave y las estructuras se destacan,
por lo que es mucho ms fcil de escanear a travs de un programa (y comprobar que no se ha
hecho ninguna errata obvias) que si simplemente
tenido texto negro sobre un fondo blanco. Si no est convencido, intentarlo alguna vez; puede
que se sorprenda.
La figura 2-25 muestra un programa muy simple que imprime "Hola mundo!" 20 veces y
salidas.
Figura 2-25. Utilizacin del componente IDE de IDLE
Como se puede ver, la estructura es mucho ms fcil de leer cuando se agrega un toque de color
(o si usted est leyendo esto en
la versin impresa en blanco y negro y, puede que tenga que utilizar su imaginacin). Puede
abrir una ventana de edicin de
clic en Archivo y seleccionando una nueva ventana.
Python es un lenguaje muy potente y se utiliza en una amplia gama de lugares para todo tipo de
cosas. Si est interesado
en el aprendizaje de Python, echa un vistazo www.python.org para ms informacin sobre cmo
empezar.
Herramientas del sistema
En esta seccin ni siquiera necesitar una subpartida que slo hay una herramienta en este grupo
de men, como se muestra en la Figura 2-26 .
Figura 2-26. La un tanto solitaria men Herramientas del sistema
El Administrador de tareas muestra todos los procesos que se estn ejecutando en la mquina
junto con la cantidad de su sistema
se utilizan los recursos. La figura 2-27 es una instantnea de lo que inform el Administrador de
tareas en nuestra Pi (por supuesto, ser la suya
probablemente ser muy diferente).
www.it-ebooks.info
pgina 63
Captulo 2 Topografa del paisaje
50
Como se puede ver, la CPU es prcticamente inactivo en este momento. Teniendo en cuenta que
se est ejecutando un sistema operativo completo
(Y uno avanzado, por cierto), que podra ser sorprendente ver que la CPU no est haciendo
ningn trabajo pesado. Aunque cuando
en comparacin con los procesadores de Intel de gama alta, el chip ARM en el Pi est lejos de
ser impresionante, esto demuestra que realmente
puede obtener un perfecto estado de funcionamiento de la mquina de escritorio con
sorprendentemente pocos recursos si se tiene cuidado.
Nuestro uso de memoria RAM cuenta una historia similar. Es cierto que no tenemos mucho
abierto en el momento (aunque se puede ver
a partir de la lista de procesos que tenemos un escritorio remoto VNC sesin de correr), pero
todava estamos uso muy inferior al 50% y
con el embalaje 512 MB el nuevo modelo de B de memoria RAM, esto permitir an ms las
aplicaciones se ejecuten al mismo tiempo.
La lista de procesos le da una buena indicacin de lo que se est ejecutando en la mquina y
cuntos recursos estn siendo
consumida de forma individual. Esto es sobre todo til cuando su Pi est actuando un poco

cobarde, y hay que ver


si una aplicacin ha decidido repentinamente a comer toda la memoria RAM o configurar su
CPU en el fuego. Si encuentra una aplicacin
que es cada vez un poco demasiado codicioso, puede hacer clic en su nombre y luego seleccione
Kill, el cual se detendr la fuerza hacia abajo y
por lo tanto es de esperar restaurar nuestra Pi a la plena salud.
preferencias
Ahora es el momento para una visita relmpago de algunas de las cosas que se pueden
manipular para que su escritorio un poco ms
personalizado. Debido a que las herramientas en Raspbian son bastante auto-descripcin (por no
mencionar bastante obvio), estamos
va a cubrir slo los dos temas principales y permitir explorar el resto de las preferencias por s
mismo. Porque realmente
no se puede hacer mucho en la forma de daos, no dude en explorar el contenido de su corazn.
Preferencias del escritorio
Para llegar a las preferencias de escritorio, haga clic derecho en el escritorio y haga clic en
Preferencias del escritorio. Debera ver una ventana
como en la Figura 2-28 .
Figura 2-27. Espo mi pequeo Pi: Administrador de tareas muestra lo que su Pi es hasta
www.it-ebooks.info
Pgina 64
Captulo 2 Topografa del paisaje
51
Figura 2-28. Preferencias del escritorio
No vamos a cubrir la ficha Opciones avanzadas (que slo tiene una opcin, y no es que la
mayora de la gente ser
interesa) y as no vamos a mostrar una captura de pantalla de la misma. Todo en la ficha
apariencia es bastante sencillo, y
no hay opciones inusuales o ajustes especiales que usted necesita hacer para conseguir algo de
trabajo.
Personalizacin de la apariencia
Si desea personalizar la apariencia de su experiencia de escritorio, se puede ajustar temas,
iconos, fuentes, y
Ms de la Personalizar Aspecto visual herramienta. Puede acceder a l desde el men
Preferencias, como se muestra en la Figura 2-29 .
Figura 2-29. Finding Personalizar apariencia y la sensacin
www.it-ebooks.info
Pgina 65
Captulo 2 Topografa del paisaje
52
Debido a que la herramienta es bastante sencillo, vamos a cubrir slo la primera pantalla, lo que
le permite cambiar el color
esquema para todo el entorno en un solo clic del ratn. El esquema por defecto es la niebla, que
en realidad preferimos, pero
hay una serie de otros esquemas predefinidos que se pueden elegir. La ventana muestra
inmediatamente se
reflejar tu seleccin, y as le da una vista previa de lo que su entorno se vera una vez que se
pulsa el
botn Aplicar.
Resumen
Y eso es prcticamente todo para el viaje del torbellino de la mesa! Hemos realmente slo
araen la superficie, y el objetivo
es slo para conseguir que lo suficientemente cmodo con lo que est disponible para comenzar

a explorar por s mismo. Recuerde que existe para Pi


permiten a las personas a experimentar y aprender ms acerca de la computacin, por lo que
ensuciarse las manos (incluso si se rompe la Pi
de vez en cuando) es realmente nada de qu preocuparse.
Este captulo cubre las aplicaciones instaladas por defecto y accesibles a travs del men de
inicio, y desnatada
sobre algunas de las caractersticas de la interfaz que son algo nico en el mundo Linux. a
continuacin, terminamos mirando
la configuracin cambia dos ms comunes que la gente quiere hacer.
En el siguiente captulo se comienza a ser realmente grave (ms o menos) y para retroceder en
el tiempo para la lnea de comandos, donde
presentarle a una interfaz que una vez que te has acostumbrado a, se preguntar cmo ha podido
vivir sin l.
Esto abrir el Personalizar apariencia y la sensacin aplicacin, como se muestra en la Figura 230 .
Figura 2-30. La Personalizar apariencia y la sensacin de herramientas
www.it-ebooks.info
Pgina 66
53
Captulo 3
encontrar una posicin cmoda
Normalmente no comenzamos un captulo con una figura (y tcnicamente hablando no lo
hemos hecho en ste, tampoco), pero estamos
pasando por alguna buena pasada de moda de choque y pavor. Echar un vistazo a la figura 3-1
(cortesa de Wikipedia).
Es posible que se pregunte por qu pensamos que es necesario que muestra algo de la tecnologa
de los aos 80 (finales
1982 en este caso particular). En los viejos tiempos, las computadoras carecan de todas las
sutilezas que tenemos hoy en da, tales como colorido
pantallas y ratones. En aquel entonces, era slo texto, a menudo verde sobre un fondo negro.
Los ratones fueron dcadas de distancia, y el
nica manera de comunicarse con un ordenador era o bien a travs de mens basados en texto o
la lnea de comandos. Porque el
lnea de comandos dio mucha ms flexibilidad que un men fijo, la lnea de comandos fue de
lejos el ms comn
interfaz y el que estara utilizando si accidentalmente dio un paso 40 aos en el pasado. Te
sientas en una de estas pantallas
llamada terminales y tecleando sin parar toda la noche.
Figura 3-1. TeleVideo terminal de ordenador 925
www.it-ebooks.info
Pgina 67
Captulo 3 encontrar una posicin cmoda
54
Como tal, la mayora de la segunda seccin de este libro es todo acerca de la lnea de comandos
y conseguir que
cmodo usarlo. Aunque las cosas han mejorado un poco en las dcadas siguientes, la tecnologa
es bsicamente
lo mismo.
En este captulo, echamos un vistazo muy rpido en la historia de las interfaces de ordenador y
por qu el terminal ha sobrevivido
as como lo ha hecho. a continuacin, vamos a ver los diferentes terminales disponibles para
usted y cmo usted va sobre conseguir a ellos. Bien
a continuacin, explicar rpidamente el smbolo del sistema y le permiten en un secreto poco

conocido acerca de los diferentes conchas que son


disponible.
Ordenador Ye Olde
A pesar de que ahora se puede comprar, literalmente, una computadora por $ 25, en los aos 70
se poda llegar a pagar al menos 100.000 veces
esa cantidad para un ordenador con cualquier cantidad seria de potencia de procesamiento.
Tales mquinas tomaran las habitaciones enteras
(Si no plantas enteras), requieren una increble cantidad de energa, y por lo general se ven muy
impresionante para los transentes. Una llave
problema que los propietarios de estas cosas tuvieron que hacer frente a era uno de escala.
Cuando el equipo vale ms que el edificio que est sentado en, usted quiere asegurarse de que
usted obtenga el mximo
fuera de el. Un enfoque para resolver el reto era utilizar de tiempo compartido. La idea fue que,
en comparacin con un ser humano
interactuar con el ordenador, ste era increblemente rpido. De hecho, a pesar de que estos
ordenadores eran insignificantes por
los estndares de hoy, todava podra funcionar anillos alrededor de las personas que realmente
estaban tratando de utilizarlos. As que esto plantea la
pregunta: si el ordenador est gastando la mayor parte de su tiempo de espera para el operador
para introducir comandos y datos, podra no serlo
estar haciendo otras cosas mientras espera?
No pas mucho tiempo antes de que alguien se dio cuenta de que si el equipo se encuentra en
espera para la entrada, que puede ser mejor utilizado con
ms de una persona que entre los datos. De esta manera, varias personas pueden ingresar los
datos al mismo tiempo, y ya no estamos
limitado por la velocidad de una sola persona.
Gran idea, pero la forma de llevarlo a cabo? Para que funcione, nos gustara realmente
queremos poner una pantalla delante de todos los que
hay que hablar con el equipo y con la tecnologa informtica disponible, incluso un ordenador
muy bsico hara
ser poco prctico. Por otra parte, que en realidad no necesitamos un ordenador en sus
escritorios; slo necesitamos una manera para que puedan
comunicarse con los grandes en la planta baja de la computadora. En efecto, slo queremos un
teclado y una pantalla con cables muy largos.
Saludar al terminal no inteligente
Aqu es donde vino el terminal no inteligente adentro. Fue llamado un terminal tonto porque era
bastante literalmente, slo una pantalla y
teclado. Siguiendo las instrucciones transmitidas desde el ordenador en s, sera dibujar el texto
en la pantalla. Cada vez que una clave
se pulsa, se enva al servidor que luego responder con ms versiones de la pantalla. El terminal
no inteligente
no tena ninguna capacidad de procesamiento real; slo funcionaba como una interfaz y que
hace que sea relativamente barato y fcil de
instalar y mantener.
La tecnologa mejor lo largo de los aos, y el terminal no inteligente se convirti en "menos
tonto." El apoyo a diferentes
Se aadieron colores y el brillo, as como los rasgos ms elegantes para volver a dibujar y
manejar la pantalla. Sin embargo bsica del
concepto, el de la terminal no inteligente simplemente ser una interfaz a una mquina remota en
realidad nunca ha cambiado casi nada.
De hecho, a pesar de terminales no inteligentes comenzaron a ser reemplazados cuando se
dispusiera de las redes ms modernas (no
menciona potencia de clculo se hizo mucho ms barato), el enfoque se sigui utilizando en los
sistemas ms nuevos. Esta
No era slo porque haba una gran cantidad de sistemas heredados que la gente tena que seguir

usando (a ver el viejo verde sobre negro


pantallas en algunos grandes almacenes?), pero en realidad tenan algunas propiedades muy
tiles que siguen siendo tiles
incluso hoy en da-propiedades que vamos a entrar en una vez que hemos visto lo que es una
moderna terminal se parece.
www.it-ebooks.info
Pgina 68
Captulo 3 encontrar una posicin cmoda
55
A menudo se oye a la gente que se refieren a interfaces grficas de usuario (pronunciado
"gooeys") y Tuis (pronunciado "tooeys"), y estaremos
haciendo referencia a ellas en todo el libro tambin. Afortunadamente, ellos son bastante
sencillos, y que va a utilizar
en ningn momento (suponiendo que realmente quiere, por supuesto).
Interfaz grfica de usuario , que es la abreviatura de la interfaz grfica de usuario , es utilizado
por todos los sistemas informticos modernos en una forma u
otro. lo que sola ser muy fcil de detectar una GUI porque era prcticamente cualquier
dispositivo que utiliza un mouse.The
lneas se han borrado un tanto en los ltimos aos, gracias a dispositivos como el iPad y los
telfonos inteligentes Android,
puede tener un GUI que slo utiliza sus dedos. Ahora es mucho ms fcil saber qu es un Tui es
como generalmente todo lo que
No es una Tui se considera una GUI.
TUI , que es la abreviatura de interfaz de usuario basada en texto , se utiliza a menudo como
sinnimo de la interfaz de lnea de comandos
(CLI) .A TUI puede presentar sistemas de mens bsicos, pero esos sistemas se navega a travs
de control del teclado en lugar de una
ratn.
En resumen, si usted lo conduce desde el teclado, y no hay ningn puntero del ratn, que es una
Tui. si usted puede hacer clic, apuntar a que con una
dedo, o ver imgenes bonitas, es una GUI.
Los terminales modernos
Hay un poco de la historia evolutiva entre los terminales tontos que acabamos de hablar y lo que
usamos en
sistemas Linux modernos hoy en da. A menudo, usted encontrar que usted tiene una
computadora (por ejemplo, su Pi) y usted desee
para conectarse a travs de la red. Al hacer esto, se est ejecutando un cliente en su mquina de
escritorio y que est
se conecta a un servidor que se ejecuta en la mquina que desea conectarse; en este caso, es su
Pi (que est actuando
como un servidor). Una vez conectado, usted est efectivamente "Control remoto" del Pi, por lo
que este tipo de conexin se conoce como una
terminal remoto (una versin de software de los terminales mudos del pasado). Recuerde que,
en lo que se refiere a Linux,
lo que se ingrese en su mquina cliente local es como si estuviera escribiendo directamente en el
Pi. Esto es igual que un televisor, en
que cambiar el canal, ya sea en el propio televisor o mediante el mando a distancia, hace que el
mismo resultado.
En aras de preservar su salud mental (por no hablar de cruzar el umbral de aburrimiento), vamos
a dar el salto adelante para el
de hoy en da y mostrar lo que un terminal remoto se parece en su Pi (vase la Figura 3-2 ).
GUI
s
y Tui

s
www.it-ebooks.info
Pgina 69
Captulo 3 encontrar una posicin cmoda
56
Como se puede ver, todava es una interfaz basada en texto: los programas que se ejecutan ser
todo suceda en el servidor remoto. Ah
son algunas de las caractersticas ms agradables (color, para empezar) y podemos hacer que el
terminal tan grande como nuestra pantalla puede contener (tradicional
terminales tendan a ser de tamao fijo). En este caso particular, estamos conectados a la Pi a
travs de Secure Shell (SSH) (ms en
esto ms adelante) a travs de TCP / IP.
Por qu nos todava se preocupan por estas cosas?
Buena pregunta! En la era moderna de iPads, iPhones y Androids, por qu nos va a querer
utilizar de forma textual
interfaz? Para la mayora de la gente, especialmente si nunca han usado una antes, una interfaz
basada en texto realmente suena como
algo as como un paso hacia atrs, no es una habilidad que estaran especialmente interesados en
adquirir. No hace falta decir que la mayora son
aficionado a la lnea de comandos venerable y aqu estn algunas de las razones por las que
creemos que debe invertir su tiempo y
esfuerzo en llegar a enfrentarse con l.
Sencillo
Una de las razones principales es la simplicidad. Una interfaz basada en texto es bastante difcil
de superar cuando se trata de ser sencilla.
Literalmente lo nico que hace es enviar y recibir mensajes de texto. Usted no va a utilizar un
terminal para mirar sus fotos de las vacaciones, pero nos da
que una interfaz limpia quebradiza permite emitir comandos a su Pi.
Figura 3-2. Conexin SSH a un Frambuesa Pi
www.it-ebooks.info
pgina 70
Captulo 3 encontrar una posicin cmoda
57
Rpido
Es probable que no nos van a creer en este momento cuando decimos esto, pero utilizando la
interfaz de lnea de comandos le permitir
completar muchas de sus tareas mucho ms rpido, ya que puede ser muy preciso y expresar
una gran cantidad de trabajo en una sola lnea de
texto el tipo de cosa que requerira varios clics o un proceso complicado extraa de expresar
usando un ratn.
Ligero
Cualquiera que haya tenido la desgracia de tratar de control remoto de un PC de escritorio a
travs de una conexin a Internet lenta har
Apreciamos exactamente lo que queremos decir aqu. El envo de actualizaciones de pantalla a
travs de Internet (especialmente para las de alta resolucin
pantallas con una gran cantidad de colores) por su naturaleza simplemente toma un ancho de
banda mucho. Tambin puede tomar un tiempo para que los datos llegan
a su destino, que es lo que da sensacin sesiones remotas que no responde y bloques para ellos.
sesiones basados en texto no sufren de este problema, ya que slo envan texto. Fueron
diseados para los sistemas
en el que las velocidades mximas eran una mera fraccin de lo que est disponible para
nosotros hoy. Por lo tanto, incluso en un muy lento acceso telefnico
enlace, una sesin de terminal remoto tiende a llevar a cabo muy bien.

Tambin pone menos tensin en el servidor. El mantenimiento de una interfaz grfica significa
que el equipo tiene que hacer bastante
un poco de trabajo. Tener un puntero del ratn significa que el equipo tiene que realizar un
seguimiento de ese puntero y asegrese de que reaccione
adecuadamente cuando toca una ventana de aplicaciones o cuando el usuario hace clic en un
botn. Una sorprendente cantidad de trabajo va
detrs de las escenas, y esta es la razn por servidores Linux rara vez tienen instalada una
interfaz grfica, y mucho menos correr.
Poderoso
La lnea de comandos le da una gran cantidad de energa. Puede expresar pensamientos
complejos y ejecutar comandos en un modo
que simplemente no sera posible a travs de una interfaz grfica. Por ejemplo, se puede
encadenar comandos para hacer ms
cadenas complejas. Puede tomar la salida de un comando y usar eso como entrada para otro.
Esta tcnica utiliza
algo que se llama tubos (lo cubrimos con ms detalle en el captulo 5).
Siempre disponible
Aunque las cosas han mejorado en los ltimos aos, una de las piezas ms volubles de software
en una mquina Linux tiende a ser
la interfaz grfica. Siempre parece ser el primero que hay que ir, y cuando el servidor se detiene
el arranque y que necesita una
entorno de rescate, es poco probable que una interfaz grfica estar disponible para usted.
Un terminal, sin embargo, es la forma nativa de hablar con Linux (y la mayora de los otros
sistemas operativos tipo UNIX) y, como tal,
Es la nica herramienta de que siempre estar a su disposicin en una forma u otra. Saber cmo
utilizar el terminal le permitir
a salir de raspaduras y hacer frente a las situaciones que debe tocn por completo si no se senta
a gusto con la
lnea de comando.
Convencido todava?
Con suerte, estos aspectos ms destacados han al menos convencido de que podra haber algo a
la lnea de comandos despus de todo.
Si usted no est totalmente convencido, eso est bien; es difcil de conseguir realmente una idea
de los beneficios hasta que haya pasado algn realidad
tiempo de experimentar por s mismo. En la siguiente seccin, vamos a cubrir cmo realmente
se consigue con una lnea de comandos,
explicar lo que la materia que usted est buscando en los medios, y cubrir algunos comandos
bsicos para empezar en su viaje.
www.it-ebooks.info
pgina 71
Captulo 3 encontrar una posicin cmoda
58
en su mayor parte, usted no tendr que preocuparse por las diferencias entre el two.You van a
utilizar casi siempre
un terminal virtual que es o bien una ventana de terminal dentro de la GUI de Linux o de la
conexin a travs SSh.the slo es real
diferencia entre un terminal y una terminal virtual es que un terminal de un nico dispositivo
fsico tal como una serie
puerto o sentado en la pantalla conectada directamente al ordenador (sin GUI) .a terminal
virtual tiene un dispositivo
asignado a l, pero no hay ningn dispositivo fsico correspondiente. de hecho, en Linux se crea
un nuevo dispositivo y
asignado a cada nueva terminal virtual.
Hemos planteado la distincin aqu porque alguna documentacin (hablando en trminos

generales, la documentacin de edad) podra


se refieren especficamente a uno o los das other.these, sin embargo, la mayor parte de su
tiempo se gastar en una terminal virtual, y
usted no tendr que preocuparse de la diferencia.
tres terminales
Hay tres formas principales para llegar a la lnea de comandos. El primero es sentarse
fsicamente delante de la mquina y el uso
lo que se refiere a menudo como la consola, la segunda es abrir una terminal virtual dentro de la
interfaz grfica de usuario, y el tercero es para
conectarse a travs de la red mediante SSH.
Consola
A pesar de que la consola es simplemente otro terminal, que es un trmino que ha ganado un
estado un tanto mtica sobre el
aos. Cuando se trabaja en la consola, que est trabajando directamente en la mquina, ya que
es, literalmente, un teclado
y el monitor conectado directamente a l.
Lo que sola ser muy comn que los administradores restringir ciertos usuarios (como el usuario
root, lo veremos ms adelante) a
ser capaz de conectarse slo cuando se sienta directamente en frente de la mquina. Debido a
que el equipo era probable en un servidor bloqueado
habitacin, esto proporciona un nivel adicional de seguridad.
La mayora de las distribuciones no vienen con este tipo de seguridad habilitada, y ahora que el
acceso remoto a travs de la red
es la norma (y, a veces un administrador ni siquiera tiene acceso fsico o la mquina est en el
otro lado de
planeta), esta caracterstica es mucho menos til.
Sin embargo, si usted est sentado en frente de su Pi, puede acceder a la consola presionando las
teclas Ctrl y Alt y
a continuacin, pulsando F1 a F6. F7 por defecto es donde vive la interfaz grfica de usuario,
as que una vez que haya terminado con la consola,
puede dar la vuelta de nuevo a su interfaz grfica de usuario.
Cuando se necesita para hacer esto? Bueno, si no se puede conectar a su Pi travs de la red y
tiene problemas
con la interfaz grfica de usuario, la consola ser su nuevo mejor amigo. En trminos generales,
no va a utilizar la consola muy a menudo
porque por lo general hay formas ms convenientes para obtener el mismo efecto (nos cubrimos
siguiente). Sin embargo, al establecer
el sistema o si usted ha decidido no utilizar la interfaz grfica, la consola ser su nica opcin
real para
accede a la mquina local.
Conseguir una lnea de comandos a travs de los otros dos mtodos es ms fcil y ms flexible,
ya que tan a menudo al menos una
de esas opciones estarn disponibles para usted.
terminal o terminal virtual?
4
www.it-ebooks.info
pgina 72
Captulo 3 encontrar una posicin cmoda
59
La apertura de una terminal virtual en la interfaz grfica de usuario
Raspbian utiliza el entorno de escritorio ligero (LXDE) . Como su nombre indica, se centra en
ser ligero,
que es justo lo que quiera, cuando el equipo se encuentra de lleno en la categora de peso pluma!
El terminal nativo para LXDE se llama LXTerminal, y afortunadamente para nosotros no slo

viene preinstalado, sino tambin


caractersticas en el escritorio Raspbian, como se muestra en la Figura 3-3 .
Figura 3-3. Finding LXTermianl
Nos tomamos la libertad de hacer doble clic en el icono, y se puede ver que tenemos lo que slo
puede ser descrito como una
terminal de trabajo. Por supuesto, no hay realmente no hay mucho que ver en este caso porque
un terminal es, por definicin, bastante
sencillo. Es probable que encuentre por s mismo utilizando el terminal un poco justo si usted
est planeando para sentarse delante del Pi y el uso
como un ordenador ms tradicional. Si usted est pensando ms sobre el trabajo a distancia,
entonces usted necesita para leer el siguiente
seccin, que es bastante honestidad mucho ms interesante.
Conexin a travs de SSH
SSH es una gran manera de conectarse de forma segura a su Pi travs de la red (vase el
recuadro "Qu hay de especial en SSH?").
Se le da todas las ventajas de un terminal virtual, pero se puede acceder a l desde cualquier
mquina en la red. Potencialmente
esto significa que se puede conectar a su Pi en casa desde su PC de trabajo y violn sobre ella
con total seguridad.
Nos encontramos con que SSH es de lejos la forma ms comn en que interactan con los
servidores en general, y porque mucha gente va
utilizar el Pi como un dispositivo sin cabeza (es decir, sin teclado o un ratn conectado a l, tal
vez ni siquiera un monitor), pensamos SSH
ser el candidato principal para usted tambin.
Hay dos partes de la ecuacin de SSH. Es necesario un servidor SSH y necesitar un cliente
SSH. Por suerte,
ambos son de libre acceso y fcil de configurar.
www.it-ebooks.info
pgina 73
Captulo 3 encontrar una posicin cmoda
60
SSH es el de facto estndar para acceder a cualquier mquina Unix-como de forma remota.
incluso est apoyado por muchos
dispositivos habilitados para red, como impresoras y switches.the razn de gama alta por qu es
tan popular es porque
encripta todos los datos entre el ordenador y el servidor. si alguien est escuchando su conexin,
todo lo
se obtiene es basura. sino que tambin le permite autenticar que el servidor es el servidor que
piensa que es.
antes de que tuviramos SSH, todo el mundo se utiliza telnet, que es un protocolo muy sencillo
y no tiene ningn tipo de
encryption.this significaba que si alguien poda ver su trfico (creo mquinas pblicas o puntos
de acceso WiFi), se
sera posible simplemente leer la contrasea de la red en text.telnet claro tambin tena ninguna
manera de confirmar
la identidad de la mquina que estaba conectado, lo que significaba que no poda estar seguro de
que usted no estaba
proporcionando accidentalmente su nombre de usuario y contrasea a otra persona.
todava es posible instalar un servidor telnet en linux, pero esto es altamente discouraged.there
realmente hay una buena razn
preferir telnet a travs de SSH, por lo que siempre debe usar SSH cuando se trabaja en el
servidor de forma remota.
Configuracin de un servidor SSH en el Pi
ste es en realidad muy sencilla, puesto que a menos que especficamente se desactiv cuando

instal Raspbian, la
servidor SSH ya estar en marcha (Raspbian permite por defecto). De hecho, todo lo que
realmente se necesita en esta etapa es la IP
direccin de su Pi.
Una de las cosas buenas de que cubre el terminal virtual del Pi primera es que ahora podemos
utilizar eso para averiguar qu
nuestra direccin IP es. El Pi se aprovecha de protocolo de configuracin dinmica de host
(DHCP), lo que significa que en el
gran mayora de las redes ser capaz de resolver una direccin IP para s mismo. Esto no slo
nos ahorra tiempo sino que tambin significa
usted no tiene que averiguar cmo elegir una direccin apropiada y luego configurarlo. Las
maravillas de la moderna
tecnologa!
Para averiguar la direccin, estamos usar el comando sudo ifconfig. Este comando (abreviatura
de configuracin de la interfaz )
le mostrar la configuracin de las interfaces de red. La Figura 3-4 muestra cmo se ve en
nuestra Pi.
Figura 3-4. Ifconfig se ejecuta en el Pi
Lo que tiene de especial SSh?
www.it-ebooks.info
pgina 74
Captulo 3 encontrar una posicin cmoda
61
Aqu se puede ver que tenemos dos interfaces de red. El dispositivo de bucle local (o lo que sus
amigos) es un Portal
interfaz que las aplicaciones de red pueden utilizar para hablar el uno al otro en la misma
mquina. Debido a que no existe ningn hardware
involucrados, es ms eficaz utilizar la interfaz lo, as como que sea siempre disponible y
configurado de la misma manera.
Bajo Linux, la mayora de los servicios del sistema (como la impresin e incluso la interfaz
grfica de usuario) funcionan como aplicaciones cliente / servidor y
hacen un amplio uso de esta interfaz.
Ahora, sin embargo, no estamos interesados en todo lo que el dispositivo lo; estamos mucho
ms interesados en la red
interfaz que conecta el Pi a nuestra red fsica. eth0 (abreviatura de dispositivo Ethernet nmero
0; ordenadores tienden
para empezar a contar desde cero) representa nuestra conexin con el mundo real. En esta etapa,
no vamos a aburrir con lo que todo el
significa la informacin, y en realidad no es algo que se mira sobre una base regular. La razn
ms comn para
ejecutando ifconfig es averiguar la direccin IP y que es, por supuesto, por qu estamos aqu.
En la Figura 3-4 se puede ver la
lnea siguiente:
inet addr: 10.2.42.132 Bcast: 10.2.42.255 Mscara: 255.255.255.0
Estamos realmente slo est interesado en la direccin IP o inet, que en este caso es
10.2.42.132. Armado con esta pieza de
informacin, que debe ser capaz de conectarse a la Pi desde cualquier lugar de la red.
Clasificando un cliente SSH
Estamos haciendo la suposicin de que usted est conectndose desde un PC con Windows o
desde un Mac. Si est utilizando una
diferentes sistemas operativos, no se preocupe: es probable que haya un cliente adecuado para
su descarga. Todava se puede seguir
junto con los otros dos tutoriales independientemente de cliente que utilice (o en qu
plataforma), el proceso general es

lo mismo.
Masilla para Windows
Putty es ms o menos el estndar que todos los dems clientes SSH se comparan contra y por
buenas razones.
No slo es lleno de caractersticas, sino que tambin pasa a ser gratuita. Puede descargar Putty
desde esta direccin:
http://www.chiark.greenend.org.uk/sgtatham/putty/download.html .
Debido a que es un poco largo para la tipificacin, se puede obtener un resultado similar
mediante la bsqueda en Google de "Descarga de masilla." Una vez
se llega a la pgina de descarga (vase la Figura 3-5 ), seleccione el primer enlace en la pgina:
putty.exe.
www.it-ebooks.info
pgina 75
Captulo 3 encontrar una posicin cmoda
62
Putty es una herramienta independiente, por lo que puede funcionar tan pronto como usted ha
descargado; usted no tiene que instalar nada
en su mquina. Esto es en general bastante til porque significa que puede pegarla en una
memoria USB y llevarlo alrededor
con usted, y usted puede ejecutarlo en otras mquinas sin necesidad de tener privilegios de
administrador. Si se mantiene perder de vista
Masilla (es sorprendente lo fcil que es hacer), es posible que desee descargar la versin
"instalador", que instalarlo en
su mquina y configurar el men Inicio y el escritorio los iconos de acceso directo para usted.
Ahora que tenemos la masilla, es el momento de disparar hacia arriba. Haga doble clic en el
icono, y es probable que vea algo que
se parece mucho a la Figura 3-6 .
Figura 3-6. Ventanas a alterarse
Figura 3-5. Descarga de masilla
www.it-ebooks.info
Pgina 76
Captulo 3 encontrar una posicin cmoda
63
Windows est simplemente un aviso de que el programa no ha sido firmado digitalmente. Usted
probablemente ha llegado a travs de este uno
antes, pero cuando se va a instalar algn software que aumenten la seguridad, la ltima cosa que
quieres hacer es instalar algo
desagradable en su lugar. En este caso, la versin oficial de la masilla no est firmado, y puede
ignorar este error. Si va a
utilizar una gran cantidad de masilla, probablemente debera desactive la casilla "Preguntar
siempre antes de abrir este archivo". Confe en nosotros, si no lo hace ahora,
va despus de la hora dcima o undcima que lo ejecute.
Despus de haber convencido de Windows que se retiren, ver una caja de conexin que se
parece a la Figura 3-7 .
Figura 3-7. Puesta en marcha de la masilla
Los ajustes predeterminados estn muy bien para la conexin a su Pi; slo tiene que
proporcionar la direccin IP que has descubierto
ms temprano. Perforar esto en el cuadro Nombre de host (o direccin IP) y haga clic en Abrir.
Debido a que ser la primera vez que este
en particular equipo se ha conectado a su Pi, ver una advertencia parecida a la de la Figura 3-8
.
www.it-ebooks.info

Pgina 77
Captulo 3 encontrar una posicin cmoda
64
No se preocupe; esto es parte del sistema de seguridad SSH. Se le permite saber que no ha visto
este servidor en particular
antes (bueno, no tendra, verdad?) y que est mostrando la clave para su confirmacin. No
conozco a nadie que tiene
memorizado la huella digital de SSH (aunque recordando los cuatro y los ltimos cuatro
primeros dgitos va un largo camino para hacer
Asegrese de que tiene el derecho); y en todo caso, nos estaban esperando para ver esta
advertencia. Una vez que la masilla se ha acordado de la
clave, comprobar que en contra de la direccin IP y el nombre de host cada vez que se conecta
en el futuro. Si el servidor remoto cada vez
enva de vuelta una huella digital diferente, Masilla le advertir de que podra ser un problema.
Ms a menudo que no, esto ocurre
cuando vuelve a generar o comprar un nuevo servidor, para que sepa por qu la clave ha
cambiado. Si ve una advertencia y no se puede pensar
de una buena razn para ello, pensar muy cuidadosamente antes de iniciar sesin en esa
mquina. En este caso particular, se conoce la clave
ser nuevo, por lo que simplemente puede seleccionar S.
Ahora usted estar de nuevo a una pantalla en negro un poco familiarizado con algn texto.
Hasta el momento, slo ser la siguiente:
iniciar sesin como:
Porque no hemos llegado en torno a la creacin de cuentas de usuario diferente que va a iniciar
la sesin como el usuario 'pi'
por lo que slo entran PI y pulse Intro. Hasta aqu todo bien. Ahora solo falta que le
proporcione la contrasea que estableci cuando se
se ha instalado la inicial. Sabemos que los ha cambiado la contrasea como hemos sugerido
(que hizo, verdad?), Pero en caso de que
no lo hizo, la contrasea por defecto es de frambuesa . Perforar la contrasea, pulse Intro y, por
fin, debera ver el
smbolo del sistema:
Raspberry Pi pi @ $
Si usted no tiene un Mac (o no est particularmente interesado en el uso de SSH desde una), ir
por delante a la siguiente seccin:
el smbolo del sistema.
Figura 3-8. La advertencia inicial de masilla
www.it-ebooks.info
Pgina 78
Captulo 3 encontrar una posicin cmoda
sesenta y cinco
esta nota corresponde a la "obvia-hasta-probado-de lo contrario" category.When se trabaja con
terminales remotos,
es preocupante fcil desorientarse y empezar a ejecutar comandos en la mquina equivocada. si
usted est tratando de
reinicie el pi en su escritorio, usted no desea reiniciar accidentalmente algo distinto, como un
servidor de la empresa (que
Nunca se sabe dnde estn sus nuevas habilidades en Linux le llevar!).
SSH en el Mac
Si ests usando un Mac en lugar de un PC, usted no ser capaz de utilizar masilla. Eso no es un
problema, ya que gracias a su UNIX
races, el Mac viene con un buen cliente SSH incorporado. Todo lo que tiene que hacer es abrir
una ventana de terminal y ejecutar el SSH
mando.

En primer lugar, obtener terminal en funcionamiento. Lo puede encontrar en el directorio


Utilidades dentro de Aplicaciones. Tambin se puede encontrar
mediante el uso de Spotlight (la lupa en la parte superior derecha de la barra de men y
escribiendo en la terminal .
Usted encontrar que no es demasiado diferente de la terminal que estaba utilizando en el Pi, y
hay una buena razn para
ese. Como se mencion anteriormente, el Mac se basa realmente en UNIX, al igual que Linux
(y por lo tanto Raspbian) es. Aunque el
Mac hace un buen trabajo de mantener su lado UNIX bien escondido (puede usar un Mac
durante aos y nunca venir a travs de ella) que,
puede ser que desee para cavar en l un poco ms si encuentra Linux y la lnea de comandos a
su gusto.
Ahora que la terminal est abierta, conectarlo a su Pi. Vamos a usar el comando ssh; porque no
hay GUI,
tiene que especificar las opciones relevantes en la lnea de comandos. Basado en el ejemplo
anterior, el terminal debe buscar
como en la Figura 3-9 .
Figura 3-9. Conexin a la Pi desde un Mac
Mirar antes de saltar
www.it-ebooks.info
Pgina 79
Captulo 3 encontrar una posicin cmoda
66
Para ahorrar espacio, la Figura 3-9 muestra todo el proceso en lugar de slo una ventana de
terminal vaca. El bit estamos
interesa en este momento es en la parte superior:
$ Ssh pi@10.2.42.132
El comando es ssh, pero hemos proporcionado alguna informacin adicional: la direccin IP del
usuario y que queremos
conectar. Usted puede leer las opciones como "pi de usuario en el servidor 10.2.32.132." Un
poco como una direccin de correo electrnico, es un buen
manera sucinta para mostrar que queremos conectar como y donde queremos conectar. Usted
debe, por supuesto, sustituir el
direccin IP con la de su Pi.
El primer bloque de texto es algo que se ver siempre que se conecte a una nueva mquina:
La autenticidad de acogida '10 .2.42.132 (10.2.42.132) 'no puede ser establecida.
RSA huella de la clave es 31: a4: 39: ser: 64: a6: 99: 45: BC: 5b: D1: c1: 2f: 71: 94: b5.
Seguro que desea continuar conexin (s / no)? s
Advertencia: se ha aadido de forma permanente '10 .2.42.132 '(RSA) a la lista de equipos
conocidos.
contrasea pi@10.2.42.132's
Esta es slo la forma en ssh de un aviso de que no se puede determinar si se va a conectar al
servidor que
piensa que se est conectando y te muestra la clave de que el servidor utiliza para identificarse a
s mismo. En este caso, puede ignorar
la advertencia y decir que s. Si quieres saber un poco ms sobre qu significa todo esto, lo
cubrimos brevemente en la "masilla
para la seccin de Windows ". Despus de introducir su contrasea (frambuesa es el valor por
defecto) que debe terminar en la siguiente
rpido:
Raspberry Pi pi @ $
Ahora que tiene su lnea de comandos, podrs ver lo que realmente significa.
Bienvenido a la lnea de comandos
Cualquiera que sea la ruta que toma para llegar a un terminal, el resultado final ser en ltima

instancia, siempre ser el mismo: que va a terminar sentado en


un smbolo del sistema (o simplemente un smbolo) que se ver algo como esto:
Raspberry Pi pi @ $
En realidad, hay un poco de informacin aqu, pero qu significa todo esto? Probablemente
puede imaginar mayor parte de l hacia fuera
de lo que hemos estado haciendo hasta ahora en el libro, pero est completo, as es como se
rompe.
La primera parte (pi en el ejemplo) es el nombre de usuario. Esto no es especialmente til (o
sobrecogedoras) cuando se tiene
slo un nico Pi y un solo usuario. Es, sin embargo, bastante til cuando se acaban de tener que
manejar muchos usuarios o cuando
Tiene una variedad de cuentas de diferentes mquinas. Aqu es donde la segunda parte entra en
juego (en el Raspberry Pi
ejemplo), ya que le dice el nombre de host de la mquina en la que est conectado. En conjunto,
esto nos permite saber lo que somos
son y dnde estamos. Una vez ms, no es terriblemente til con un IP, pero esta informacin
ser muy til algn da.
Precaucin

Hemos destacado esta en otro lugar, pero es tan importante que vamos a decir que usted tiene
ms again.When
de un terminal abierto, todo es demasiado fcil de ejecutar un comando en el servidor
equivocado. A veces terminas corriendo ms
de un comando antes de darse cuenta de su error. a menudo no se haga dao, pero si
accidentalmente se reinicia una crtica
servidor en el trabajo cuando en realidad quera decir que reiniciar el pi, vas derecho a la parte
superior de la venganza de su departamento de TI
lista de pendientes.
www.it-ebooks.info
pgina 80
Captulo 3 encontrar una posicin cmoda
67
El siguiente punto en el smbolo (o la tilde) en realidad nos dice qu directorio estamos
actualmente. La tilde es una
caso especial, ya que se refiere a la zona de inicio del usuario actual. Usted puede pensar en l
como una forma abreviada, porque realmente
eso es todo lo que es. Cualquier vez que se refieren a su directorio (que en este caso es / home /
pi), podemos simplemente reemplazarlo con
la tilde. Tiempo para un ejemplo rpido:
Raspberry Pi pi @ $ pwd
/ Home / pi
Raspberry Pi pi @ $ cd
Raspberry Pi pi @ $ pwd
/ Home / pi
Raspberry Pi pi @ $
Aqu hemos utilizado la pwd (corto para imprimir directorio de trabajo ) de comandos, que
imprime la ruta completa del directorio
Actualmente estamos en. En nuestro ejemplo, se imprime / home / pi porque eso es el directorio
inicial del usuario pi. A continuacin, utiliza
el cd (abreviatura de cambio de directorio ) comando para ir al directorio. Utilizamos pwd de
nuevo y pudimos verificar que
despus de cambiar el directorio estbamos de regreso al punto de partida. Vamos a explicar
estos comandos ms a fondo en
el siguiente captulo, pero no es esta cosa de lnea de comandos al menos un poco interesante?

Cuando se hace referencia a la expresin en general, se refieren a ella como directorio principal
. As que si usted se sent en el smbolo de nuestra
ejemplo y alguien le pregunt qu directorio en el que se encontraban, se dira que estuviera en
su directorio de inicio o si
querido ser explcita se dira que estabas en el directorio principal del usuario pi. Si usted quiere
conseguir realmente especfica
incluso se podra mencionar el nombre de host tambin. No dira que est en el directorio tilde o
"lnea ondulada".
Sin embargo, cuando se le est dando a alguien un camino para entrar, se podra decir tilde . Por
ejemplo, si desea que el usuario
para ir a / test /, usted dice "tipo de espacio de cd barra de ensayo barra tilde y presione
ENTRAR." Esto se debe a que en este tilde
caso se refiere a algo especfico que est utilizando como una conveniencia para llegar a un
lugar en vez de realmente contar
alguien lo que es ese lugar. Tambin ayuda a evitar la confusin con rutas relativas, pero de
nuevo, eso es algo para el
Siguiente captulo.
Nota

Hemos escuchado tilde pronunciado como tanto labrada y como hasta-duh , por lo que
deberamos esperar or a ambos en el
salvaje. Curiosamente, sin embargo, puede encontrarse con que la que ms se utiliza, la gente
podra tener problemas para entender que, y
esto se aplica incluso a los administradores experimentados. no es porque ests pronunciando
mal; es slo que no s
que la "lnea ondulada a la izquierda de la tecla 1" se llama en realidad tilde . si usted se
encuentra en esa situacin, refirindose a ella como
"La lnea ondulada" parece ser una apuesta bastante segura.
La ltima parte de la lnea de comandos que muestra cul es su nivel de acceso es. sistemas
Linux son bastante bsicas cuando
se trata de privilegios del sistema. Por lo general, se puede resumir esto: usted es ya sea el
usuario root o no lo eres. Ahora,
hay excepciones a esta regla y ser un miembro de ciertos grupos pueden permitirle hacer ciertas
cosas que seran
normalmente requieren acceso de root. Dicho esto, esta es realmente la excepcin y no la regla.
Si es root, entonces usted puede hacer
prcticamente todo lo que quieras sin obstculo. Si usted es cualquier otro usuario, espera
encontrar sus habilidades drsticamente
acortado. Esto no es tan cierto hoy como lo era antes, porque hay herramientas como sudo que
permiten a un administrador
conceder la capacidad de ejecutar ciertos comandos con privilegios de root sin que el usuario
tenga acceso a la cuenta root. De
Por supuesto, en ltima instancia, sudo ejecuta como root y que slo se decide si se ejecutar el
comando que le pidi que, por lo que todava
obedece a la regla de todo o nada.
Desde la perspectiva de la indicacin, si usted es un usuario normal, se obtiene una muestra de
dlar como un smbolo. Estamos sesin como
el usuario pi (que obviamente no es el usuario root), por lo que tambin tienen el $. Si nos
conectado como root, que sera una
usuarios privilegiados, por lo que obtendra el smbolo de hash (o el signo de nmero si no es
del Reino Unido). Aparecer una solicitud de raz miradas
Me gusta esto:
root @ # Raspberry Pi
www.it-ebooks.info

pgina 81
Captulo 3 encontrar una posicin cmoda
68
El smbolo de hash es una seal (y una advertencia) que se est ejecutando con privilegios
elevados y que se debe hacer
por lo tanto, tener mucho cuidado con lo que escribe. El indicador tambin muestra el nombre
de usuario como root, lo que proporciona una
indicacin aadido. Sin embargo, estas sutiles toques son fciles de perder (las personas no
tienden a estudiar el control antes de cada
de comandos), por lo que siempre comprobar quin y dnde se encuentra antes de pulsar la tecla
Intro.
Eso es realmente todo lo que hay a la solicitud. La mayora de los proyectiles le permiten
personalizar para mostrar informacin diferente, y
de vez en cuando algunos administradores de hacer cambiar esta situacin. En nuestra
experiencia, la mayora de las personas no se molestan, y rara vez sienten la
tenga que cambiar nosotros mismos. La razn por la que estamos trayendo hasta aqu es porque
si alguna vez conectarse a otro Linux
mquina, y el smbolo es radicalmente diferente, que no es un motivo de preocupacin. El
terminal funciona exactamente de la misma manera
excepto el indicador se ha personalizado.
diferentes conchas
De acuerdo, tal vez demasiado simplificada cosas cuando nos dijo que todos los terminales
funcionan igual. En verdad, hay algunos menores
diferencias, sobre todo en qu caractersticas son compatibles, pero ms a menudo que no, no se
dar cuenta. De hecho, lo que probablemente ser
atrapar a cabo es cuando la mquina remota est utilizando un shell diferente. Un shell es un
programa como cualquier otro, pero en lugar de
siendo una herramienta para navegar por Internet o leer el correo electrnico, que proporciona
una lnea de comandos para interactuar con la operacin
sistema. Funciona como una envoltura alrededor del ncleo y que es como obtuvo su nombre: al
ser la capa alrededor del
kernel al igual que un cacahuete.
Hasta ahora, hemos estado haciendo uso de la BASH o Bourne Again Shell. Es por Shell
mucho, el ms popular en uso hoy en da
y est disponible en todas las distribuciones de Linux. Tambin es habitual por omisin, por lo
que usted nunca tendr que preocuparse demasiado
mucho acerca de qu cuerpo de su sistema est funcionando.
La razn por la que estamos tocando el tema aqu es porque, como todo lo dems en el mundo
del cdigo abierto, las opiniones varan
en lo que hace la mejor concha. Algunos toman un enfoque escueto y slo admite las funciones
ms bsicas, mientras
cscaras como BASH vienen con bateras incluidas y tiene otras caractersticas que usted puede
sacudir un palillo en. A pesar de BASH
popularidad, es concebible que en algn momento de su carrera ilustre Linux, se puedan
encontrar algo ms,
y prevenido vale.
No vamos a pasar ms tiempo buscando en los diferentes conchas porque honestamente que
probablemente
Nunca tendr que preocuparse por ello. Incluso si una mquina es el uso de un shell diferente, es
probable que pueda empezar a BASH para reemplazarlo
(La mayora de los sistemas tienen instalado BASH, incluso si se obtiene un shell diferente al
iniciar la sesin). Debido a que los comandos del sistema son
el mismo independientemente de qu shell usar, incluso si usted no puede conseguir para
golpear probablemente encontrar que usted puede hacer todo
que lo hara. De hecho, la mayora de las conchas son intercambiables en su mayor parte, y es

probable que incluso si se


el uso de otra lnea de comandos, es probable que ni siquiera lo saben!
Resumen
En este captulo se introduce en el terminal y su rico (si no exactamente fascinante) historia.
Luego discutimos cmo el
Terminal todava se utiliza hoy en da y cmo se ha adaptado para satisfacer nuestras
necesidades modernas. Seguidamente, examinamos los tres principales
formas en que se puede llegar a una terminal en su Pi: la consola, un terminal virtual, y ms de
la red a travs de SSH. Luego, nosotros
dio una descripcin rpida de la lnea de comandos y tocado algunos comandos interesantes
para destacar un punto
(Que absolutamente prometemos ser explicado cuando se enciende la pgina), y nos envuelto
el captulo dando
que una mano a mano sobre los diferentes conchas que hay y cmo se puede (pero
probablemente no lo har) tropezar.
Prximamente en el siguiente captulo es todo lo que necesita saber para navegar alegremente
alrededor de su Pi, crear archivos, modificar
archivos, borrar archivos, y mucho ms. Aqu es donde empezamos a estar realmente serio
acerca de la lnea de comandos y, donde
empezar a recoger algunas de manos reales en habilidades.
www.it-ebooks.info
pgina 82
69
Captulo 4
Los File-caminos para el xito
En este captulo se da un vistazo a lo que es un sistema de archivos y cmo los diferentes
sistemas operativos tratan de darles sentido. Nosotros
explicar la diferencia entre sistemas de archivos separados de la raz y sistemas de ficheros raz
unificadas, y por qu saber esto desde el principio
podra ahorrar una gran cantidad de dolor de cabeza.
a continuacin, pasamos a buscar en el sistema de archivos presentado a usted en su Pi.
Exploramos la disposicin estndar y
explicar lo que sucede donde y lo que realmente hace. Tambin vamos a mostrar algunos
comandos simples que ponen de relieve algunos
beneficios del enfoque de UNIX "todo-es-un-archivo" para el diseo del sistema.
A continuacin le mostraremos cmo moverse por el sistema, y usted aprender acerca de rutas
completas y relativas.
Le mostraremos cmo crear directorios y archivos (y luego copiar, mover y eliminar ellos), y
vamos a explorar Linux
permisos de archivo y le mostrar cmo Linux decide quin puede hacer qu para sus archivos.
Tambin vamos a tocar en usuarios y grupos,
y le mostrar cmo configurar la propiedad y los permisos de archivos en sus propios archivos.
entonces vamos a redondear el nmero de captulo que muestra cmo crear el equivalente de
Linux de accesos directos.
Qu es un sistema de archivo?
En realidad planeado para comenzar esta seccin con una definicin de diccionario de lo que es
un sistema de archivo, seguido por nuestra
interpretacin. Desafortunadamente, la mayora de las definiciones que encontramos
bsicamente dijo "un sistema de archivo es un sistema para la presentacin,"
vamos a saltar esa parte e ir directamente a nuestra propia definicin. Se sugiere, sin embargo,
que a pesar de un sistema de archivo es fcil
para hablar, es mucho ms difcil de definir. Creemos que un sistema de archivo es la siguiente:
Una forma de clasificar y categorizar los datos que hace que encontrar algo ms fcil
Esta definicin abarca todo, desde tener un simple bandeja de entrada (por lo menos saben

donde el documento es, incluso


si no se puede poner la mano en ello de inmediato); a la manera de ver los contactos en su
telfono (que es un alfabtico
Sistema all mismo); todo el camino a algunos de los sistemas ms exticos tales como el
Sistema Decimal Dewey, usado para
categorizar el contenido de no ficcin en su biblioteca local.
En realidad, las bibliotecas son un caso de uso interesante para los sistemas de archivo, porque
la mayora de ellos tienen al menos dos que va
al mismo tiempo. En general, las bibliotecas tienden a organizar el trabajo de ficcin por el
apellido (nombre de pila y despus) de la
autor, mientras que la seccin de no ficcin se ordena en base a los nmeros Decimal Dewey.
Mediante el uso de dos sistemas a la vez,
que resuelven un problema fundamental. El almacenamiento de los libros por el nombre del
autor es grande si usted tiene un autor favorito y quiere
para encontrar ms libros. Cuando se trata de no ficcin, sin embargo, es probable que desee ver
una seleccin de libros en una
determinado tema, sin un autor en particular en mente. Si esos libros fueron ordenados por el
nombre del autor, lo que probablemente nunca se
ser capaz de encontrar nada.
Algunas bibliotecas van un paso ms all clasificando los libros de ficcin en primer lugar por
gnero (dicen de ciencia ficcin o fantasa) y luego
dentro de esa categora que ordenar por nombre del autor. Esto tiene algunas ventajas con buena
pinta. Todava se puede ir directamente a su
autor favorito, ya que sabr el gnero, pero tambin se puede navegar por los libros similares
con el mismo gnero. Si tu
estn buscando la mejor alternativa en el gnero de la fantasa, slo tiene que estar en esa
seccin y hojear.
Hasta aqu todo bien. Sistemas de archivo facilitan la bsqueda de las cosas ms fciles, y
podemos ver que es importante utilizar la correcta
sistema de archivo para la tarea; de lo contrario, probablemente estara mejor con ningn
sistema de archivo en absoluto.
www.it-ebooks.info
Pgina 83
Captulo 4 los File-caminos para el xito
70
Pero, qu tiene esto que ver con los ordenadores? Bueno, una de las tareas ms importantes
para cualquier equipo es procesar
informacin, lo que significa que tiene que ser capaz de almacenar y recuperar informacin
fcilmente. viejos sistemas informticos hicieron
utilizar el sistema alfabtico y funcion muy bien, pero tan pronto como hubo una acumulacin
de una serie de archivos, que comenz
a ser muy complicado; y la bsqueda de informacin se convirti en un reto.
Esta cuestin fue tratada por tener la capacidad de crear un directorio (a menudo llamado
carpeta en estos das), en la que
se puede poner archivos relacionados. Esto ayud mucho, pero el mismo viejo problema
comenz a reaparecer en las personas. S, se podra
tener un directorio para las cuentas y otro para las declaraciones de impuestos, pero lo que si
usted fuera una empresa de contabilidad y que tena un montn de
cuentas y un montn de declaraciones de impuestos? Pronto que habas vuelto al punto de
partida sea debido a que tena un pequeo nmero de
directorios con grandes cantidades de archivos o un gran nmero de directorios con slo uno o
dos archivos en ellas.
Por la misma poca, el trmino sistema de archivo (utilizado principalmente para sistemas
basados en papel) se convirti en acortada

al sistema de ficheros , que se utiliza casi exclusivamente para referirse a la forma en que una
computadora almacena los datos en un disco. Debido a que este es el
plazo se encontrar con ms frecuencia, vamos a pasar a utilizar el sistema de ficheros plazo, as
de ahora en adelante.
El ltimo cambio en la estructura del sistema de archivos que sigue siendo familiar para el da
de hoy era permitir que los directorios contienen a otra
directorios. Esto permitira que le permite tener una gran flexibilidad para almacenar contenido
en las formas ms apropiadas. Como
Siempre hay ms de una manera de organizar un conjunto dado de archivos, pero por lo general
el sistema nos ha servido bien y
con la moderna tecnologa de bsqueda, para encontrar lo que estamos buscando es ms fcil
que nunca.
Ms de un sistema de archivos
Aqu es donde llegamos a un poco de un inconveniente con este enfoque. Un sistema de
archivos se sienta encima de una cierta forma de almacenamiento. Eso puede ser una
disco duro, una memoria USB, un DVD, o cualquier nmero de medios de almacenamiento.
Cada dispositivo es realmente independiente de cualquier otro.
Esto tiene sentido porque se puede tomar un lpiz de memoria USB de su ordenador porttil y
luego utilizarlo en su mquina de escritorio. Claramente
no existe un vnculo entre el sistema de archivos en la memoria USB y su computadora porttil,
porque de lo contrario no lo hara su escritorio
tener toda la informacin que necesitara para encontrar los archivos.
Cada sistema de ficheros tiene un directorio raz , que es el directorio principal de un
dispositivo y contiene todos los dems archivos y
directorios. Al igual que la raz de un rbol, todos los archivos y directorios se ramifican desde
esta ubicacin central. Esto plantea un bit
de un problema, sin embargo. Si cada dispositivo tiene su propio directorio raz del sistema de
archivos y, cmo presentar fcilmente esta estructura
para el usuario final? Resulta que hay dos enfoques para resolver este problema. El primero es
races separadas; el
segundo es un sistema de archivos unificada.
Las races separadas
Este enfoque fue adoptado por Microsoft todo el camino de vuelta en los das de MS-DOS y
todava hoy con nosotros. los
enfoque es muy simple. Cada dispositivo tiene su propia entrada de la raz y el usuario puede
entonces utilizar esta entrada para localizar el dispositivo de
su inters y luego pueden simplemente navegar por el sistema de archivos como de costumbre
para buscar el archivo. En Windows, se asigna cada raz
su propia letra. Por razones histricas, el disco del sistema en Windows se denomina C: , que a
menudo se escuchar a la gente
se refieren como la unidad C . Las unidades de disquete se asignan A: y B: (PCs con discos
duros tienden a tener dos unidades de disquete) y
porque pocas personas tenan ms de un disco duro, la unidad de CD-ROM tendido a ser
asignado a D :.
Este sistema es muy fcil de usar, y nunca hay ninguna confusin acerca de dnde un archivo en
particular es porque se puede
decir simplemente mirando a la letra de unidad. Sin embargo, hay un par de problemas con este
diseo:
En primer lugar, ya que los dispositivos de raz estn asignados a las cartas, y slo hay 26 letras
en el alfabeto,

est limitado a 26 dispositivos. Apenas un problema para los usuarios domsticos, incluso hoy,
pero de nuevo cuando
empresas utilizaban grandes ordenadores centrales, que podran tener cientos de estos
dispositivos.

La segunda cuestin es que el usuario tiene que ser consciente de la ubicacin fsica del archivo,
que puede

en realidad aadir complejidad porque ata la ubicacin del archivo en el dispositivo fsico que el
de archivo est activada. Si se aade un disco ms grande para el sistema, y los archivos se
traslad a la nueva ubicacin,
su dispositivo raz cambiara. Cualquier persona (o software) que depende de la ubicacin de un
archivo
tendra que ser actualizada, y que nunca es divertido.
www.it-ebooks.info
pgina 84
Captulo 4 los File-caminos para el xito
71
En resumen, aunque el sistema empleado por Windows es simple y eficaz, puede convertirse en
un procedimiento administrativo
dolor de cabeza en sistemas muy grandes y distribuidas. En estos das hay un montn de
maneras de evitar que, y nuevas tcnicas
han surgido para ocultar esta estructura por debajo de la superficie, tales como el Sistema de
archivos distribuido de Microsoft (DFS) para
recursos compartidos de red y bibliotecas para agrupar contenidos en un solo lugar en el
escritorio tales como documentos y msica. Por lo que
Realmente no es un gran problema para los sistemas Windows hoy en da. Sin embargo, en la
poca UNIX reinaba, estas tecnologas
no estaban disponibles, y se fueron con el otro enfoque: un sistema de archivos unificada.
Sistema de archivos unificada
Linux, al estar basado en UNIX, tiene un sistema de archivos unificada. Eso significa que, a
diferencia de Windows, que tiene mltiples races
dispositivos, un sistema Linux tiene un solo y siempre est montado en /, que es jerga Unix para
el directorio raz.
Si slo hay un directorio raz, entonces, cmo manejar Linux dispositivos adicionales, todos
los cuales sabemos contienen su
propios sistemas de archivos?
La solucin es tomar el directorio raz del nuevo dispositivo y luego adjuntarlo en un directorio
existente en el rbol.
Esto se conoce como el montaje de un sistema de ficheros , lo que permite a Linux tiene un
nmero casi ilimitado de dispositivos porque
se puede unir en cualquier parte del rbol existente. Esto significa que se puede montar un
dispositivo y luego montar otra
dispositivo en un directorio dentro del primer dispositivo. Desde el punto de vista del usuario,
pueden moverse a travs de todos estos diferentes
directorios como si fueran todos en un dispositivo grande. La estructura fsica (que es todos los
discos y los datos en bruto que contienen)
est completamente oculto a los usuarios finales. No tienen forma de saber que han cruzado
desde un dispositivo a otro.
Esto resuelve los asuntos que se trataron con el enfoque de la raz por separado en que el
sistema de archivos unificada es consistente
independientemente de lo que es el mecanismo subyacente. De hecho, se puede montar recursos
compartidos de archivos de red e incluso virtuales
sistemas de ficheros en el rbol. Por supuesto, los beneficios del enfoque de raz separada ahora
se han convertido en el lado negativo de la
enfoque unificado. Ya no es fcil ver por dnde van las cosas, y esto puede volver a hacer las
cosas ms confusas.
Al igual que Windows, Linux han evolucionado con el tiempo para que estos problemas no son
tan pronunciadas como lo haran

de otro modo. Sin embargo, estos beneficios se observan generalmente en la interfaz grfica de
usuario y tienden a ser mucho menos pronunciado cuando se utiliza el
lnea de comando.
El Mac tiene que ser diferente
Como una comparacin interesante, OS X en el Mac hace uso de ambos enfoques. Debajo de
las sbanas, OS X es un basados en UNIX
sistema y por lo que tiene un sistema de archivos unificada. Sin embargo, a menos que vaya a la
lnea de comandos (y la mayora de los usuarios de Mac
no), que nunca se ver evidencia de esto. Cuando conecta un dispositivo USB al Mac, se
montar en una forma similar a como
Linux, pero va a mostrar al usuario como si fuera su propio dispositivo raz en un enfoque
similar al de Windows. Sin embargo, el Mac
no asigna una letra de unidad, slo se establece un nombre nico.
Ponerlo todo junto
Es cierto que es un poco de teora y que probablemente se est preguntando dnde todos los
comandos de la diversin que se prometan
para mostrarte. Tambin podra preguntarse por qu slo se aburren con todo eso, y cuando (o
nunca) dicha informacin
podra ser til. La razn por la que hemos puesto nfasis en esta teora en la delantera se debe a
que cuando comenzamos con Linux, un montn
de las cosas que nos cogi a cabo fueron las ideas preconcebidas del uso de otros sistemas
operativos. Cuando uno de nosotros primero instalado
Hace unos 15 aos de Linux, se tard varias horas de toma de posesin antes de que l
descubri lo que "se necesita una raz / dispositivo" significaba.
Esto no es slo una cosa de Linux, una escarceos con la familia de sistemas operativos BSD y
su forma alternativa de manejo
discos nos caus para limpiar el disco equivocado porque estbamos pensando en Linux y BSD
no.
As que espero que esta ltima seccin se va a salvar de algo del dolor que pasamos cuando
empezamos a salir.
No es necesario memorizar toda la teora, pero si se llega lejos de esta seccin con un
reconocimiento de que a pesar
muchas similitudes, Linux no es Windows o un Mac, entonces usted va a estar por delante del
juego.
www.it-ebooks.info
pgina 85
Captulo 4 los File-caminos para el xito
72
Todo como un archivo
Ahora normalmente cuando hablamos de este tema, comenzamos hablando de particiones del
disco duro porque la mayora de la gente est
familiarizados con ellos, y hay un buen mapeo fcil entre la forma en Linux y los presenta el
dispositivo fsico.
Debido a que el Pi tcnicamente no tiene un disco duro (que tira de algunos hilos para hacer la
mirada de tarjetas SD y sentir como uno),
este ejemplo no es fcil realmente disponible en el Pi. Lo que pasa es que es demasiado bueno
un ejemplo para dejarla pasar, as que vamos a
seguir con el clsico. As que sin ms prembulos, aqu estn los archivos que describen el disco
que estaba apoyada en uno de nuestros servidores:
/ Dev / sda
/ Dev / sda1
/ Dev / sda2
/ Dev / sdb
/ Dev / sdb1

Como se puede ver, todos estos archivos viven en el directorio / dev, que es donde Linux
mantiene todos los archivos de dispositivo. hay
un poco ms que decir sobre esto, pero vamos a volver a ella un poco ms tarde porque, confa
en nosotros, ser mucho ms sentido
si lo cubrimos dura. As que por ahora, vamos a ignorar el directorio y se centran en nuestra
coleccin de archivos. Se dar cuenta de que en este
ejemplo, todos los archivos se inicia con el prefijo sd porque todos son "discos SCSI" y
comparten el mismo controlador. Para las mquinas
que tienen discos basadas en IDE, el prefijo es hd para el disco duro .
As que ahora sabemos que tenemos algunos discos basados en SCSI (discos SATA tambin
aparecen como SCSI), pero qu ms podemos decir
de esos archivos? Bueno, usted notar que tenemos SDA y tenemos sdb. El primer disco SCSI
en el sistema se asigna a
SDA, y la segunda se asigna a sdb. No es de sorprender que el tercer disco va a terminar siendo
asignado al SDC. Porque nosotros
no ve un SDC en nuestro ejemplo, podemos suponer que slo hay dos discos en este sistema.
Ahora realmente estamos llegando a alguna parte. Hay dos discos SCSI en nuestro sistema, y
slo tenemos una cosa ms
para discutir: los nmeros pegados en el final de los nombres. En este caso, el nmero se refiere
al nmero de particiones en la
manejar. La primera particin es 1, y la segunda particin es 2. Niza y simple, sin sorpresas,
estamos seguros. Con este
informacin adicional, que no slo especificar el disco, sino tambin qu particin en ese disco.
Esto, por supuesto, una peticin de principio de por qu usted debe cuidar. Seguramente debe
haber una manera ms fcil de averiguar
qu discos estn unidos al sistema? As estaramos en lo cierto, pero no est buscando en este
para descubrir lo que est conectado
al sistema. En su lugar, estamos viendo cmo podemos especificar un dispositivo en particular
que se quiere acceder. Esto es porque
todo en Linux es un archivo, por lo que incluso los dispositivos fsicos estn representados de
esa manera. Cuando queremos acceder a un disco duro
o queremos acceder a una particin particular, lo hacemos mediante el acceso al archivo
correspondiente. No slo los dispositivos fsicos siguen
Esta regla; Los directorios son archivos tambin. En el uso del da a da, usted no tiene que
pensar en esto, pero es un muy potente
caracterstica. Al tratar todo como un archivo, Linux proporciona una forma estndar para todos
los programas para hablar con todas las cosas. esto en gran medida
simplifica el desarrollo y nos permite hacer algunas cosas impresionantes, como la redireccin
de la entrada y la salida o el uso de la
salida de un programa como la entrada para otro. Cubrimos esto con ms detalle en el captulo
5.
Algunos ejemplos del mundo real son tiles aqu. Cuando se desea realizar cambios en la tabla
de particiones en un disco duro,
se utiliza la herramienta fdisk. La herramienta fdisk necesitar saber qu disco que desea
trabajar. Suponiendo que desea
particionar su segundo disco, el comando sera el siguiente:
$ Fdisk / dev / sdb
Debido a que estamos particionar la unidad, queremos hacer referencia a todo el dispositivo, y /
dev / sdb nos permite hacer eso. Pero vamos a
decimos que hemos hecho nuestra particin, y tenemos una gran particin que queremos
formatear para Linux para su uso. El comando
por eso es mkfs.ext4 (en distribuciones modernas de Linux), y como antes, vas a tener que
decirle lo que el comando
que desea dar formato. En este caso, queremos que la primera particin en nuestro segundo
disco para el comando sera el siguiente:

$ Mkfs.ext4 / dev / sdb1


Una vez ms, esto tiene sentido porque nos estamos refiriendo a una particin especfica en un
dispositivo especfico. No hay grandes saltos de fe
aqu, pero ahora podemos compartir un secreto con usted. El comando mkfs.ext4 no le importa
lo que el nombre de archivo
www.it-ebooks.info
pgina 86
Captulo 4 los File-caminos para el xito
73
que le des. Si usted se olvid de poner el 1 en el extremo, habra felizmente formateado todo el
dispositivo. Este es un caso de
"Todo como un archivo" en el trabajo porque todo es un archivo, y los archivos se accede a
todos de la misma manera. Nuestras herramientas simplemente
leer y escribir en archivos; No conocen ni se interesan por lo que se le estn escribiendo!
Este concepto lleva un poco ms de esfuerzo para comprender realmente. Debajo de las
sbanas, Linux gestiona todos estos diferentes
dispositivos para nosotros, cada uno con sus propios requisitos y controladores especficos. Para
simplificar las cosas para los desarrolladores de aplicaciones
(Por no hablar de los usuarios), Linux oculta toda esta complejidad y en su lugar presenta cada
dispositivo como un archivo especfico. Esta
nos lleva muy bien volver al directorio / dev (le dijimos que llegara hacia arriba). Los archivos
de ese directorio son especiales ya que
que en realidad no existen, al menos no como archivos fsicos que se almacenan en cualquier
lugar. Linux crea un sistema de ficheros virtual que se
a continuacin, se rellena con los archivos de los dispositivos que estn disponibles en un
equipo determinado. Debido a que nuestro Pi no tiene ninguna SATA
o discos SCSI, que no encontrar ningn archivo / dev / SD del Pi.
Disposicin del sistema de archivos
Veamos cmo el sistema de archivos se presenta en su Pi. Usted encontrar que la estructura es
muy similar a lo que iba a encontrar
en cualquier sistema Linux, por lo que no slo esta seccin ayuda a controlar su Pi, sino que
tambin ser capaz de navegar servidores
as como.
/ (Directorio raz)
Este es el directorio raz (que no debe confundirse con el directorio personal del usuario root)
que representa la parte superior de la
jerarqua de archivos. Todo va a alguna parte dentro o debajo de este directorio, no hay
excepciones. Como hemos comentado anteriormente en el
captulo, Linux tiene una jerarqua unificada, y aqu es donde todo comienza.
/raz
Este es el directorio inicial para el usuario root y gasta una gran cantidad de su tiempo de ser
confundido con la raz
directorio (/). Se puede obtener ms confuso porque si se encuentra en el directorio raz y
alguien le pide que "entrar en el
directorio raz ", que uno es lo que realmente quieren decir? A menudo se puede decir
fcilmente a partir del contexto, pero si no, no tenga miedo
pedir una aclaracin; usted se sorprendera de la frecuencia viene ste para arriba.
/ etc
/ Etc es sin duda uno de los directorios ms importantes en su sistema. Contiene la mayor parte
de los archivos de configuracin para
no slo su sistema, sino tambin las aplicaciones que es posible que haya instalados (como el
servidor web Apache). Muchos
los nuevos usuarios de Linux tienen cuidado de copia de seguridad de sus aplicaciones, pero a
menudo se olvidan de las configuraciones almacenadas en / etc.

Al final de la da, la aplicacin por lo general se puede sustituir con bastante facilidad, pero
conseguir que config derecha desde cero
puede ser un verdadero dolor de cabeza. Este es un directorio que desea tener mucho cuidado.
/ proc
/ Proc es un sistema de ficheros virtual que utiliza el kernel para facilitar el acceso de las
herramientas de espacio de usuario (es decir, el software que se ejecuta
fuera del ncleo). Todo lo que necesitas saber sobre el estado del sistema o procesos en
ejecucin se puede encontrar
en / proc. Dos ejemplos comunes son la configuracin de la CPU (almacenada en / proc /
cpuinfo) y el uso de memoria (almacenado en
/ Proc / meminfo). La mayor parte de esta informacin es de slo lectura, lo cual tiene sentido
porque es slo una representacin virtual.
Sin embargo, algunos archivos no permiten la comunicacin para ir en ambos sentidos y que
potencialmente puede utilizarlo para ajustar ncleo y
la configuracin del sistema, mientras que la mquina est funcionando.
www.it-ebooks.info
Pgina 87
Captulo 4 los File-caminos para el xito
74
/ var
/ Var es generalmente donde encontrar los archivos creados por las aplicaciones y el sistema
mismo. Por ejemplo, la mayora
aplicaciones almacenar sus registros en / var / log /, y muchos van a almacenar los archivos de
bloqueo en / var / / ejecutar. Los archivos de bloqueo no tienen
cualquier contenido significativo; una aplicacin simplemente los usa para averiguar si ya se
est ejecutando por lo que no se puede
accidentalmente tener dos copias que se ejecutan a la vez. En Raspbian, el servidor web Apache
usa / var / www / para almacenar una
archivos del sitio web. En otras distribuciones, este no es el caso, este tipo de archivos tendieron
a localizarse en el directorio / srv /.
Dicho esto, las aplicaciones ms maduros todava pueden estar en / var, incluso en las
distribuciones modernas.
/bota
Tradicionalmente, el directorio / boot en realidad viva en su propia pequea particin del
primer disco duro. En ese momento, la
mayora de las computadoras no fueron capaces de arrancar desde una sola particin grande, por
lo que era muy comn ver a estos dividieron a cabo.
En las mquinas modernas (aunque el Pi todava lo requiere), esto ya no es un problema, por lo
que este directorio se incluye a menudo
en el directorio raz directamente. Como su nombre indica, el mismo contiene los archivos de
claves necesarias para arrancar un sistema, incluyendo el
gestor de arranque y el kernel de Linux.
/ Bin y / sbin
Estas direcciones de las tiendas y los programas de usuario administrativos, respectivamente.
Cuando intenta ejecutar un programa desde el
lnea de comandos, hay lugares especficos que el sistema buscar la aplicacin. Esta lista de
ubicaciones es conocida
como la ruta de acceso . Por lo general, un usuario normal slo tiene / bin en su camino, por lo
que efectivamente no puede ver las aplicaciones en / sbin.
Hay algunas aplicaciones que el usuario pueda acceder a pesar de que se usan generalmente slo
por los administradores, pero
el usuario tiene que saber dnde estn. Esto por lo general no representa un problema, y usted
nunca tendr que ir a buscar
por nada.

/ dev
Ya hemos tocado este directorio en el "Todo como un archivo" seccin. Contiene un archivo
para cada dispositivo o
subdispositivo en el sistema actual y proporciona una manera para que las herramientas del
sistema (y, por supuesto, los usuarios) para acceder fcilmente a la
hardware en una mquina en particular. Adems de los dispositivos de disco discutidos
anteriormente, tambin existen dispositivos para tarjetas grficas,
tarjetas de sonido, terminales virtuales, y mucho ms.
Nota

Usted no encontrar tarjetas de red en el


/ dev
directorio porque estn considerados un especial case.to encontrar
informacin sobre las interfaces de red, es necesario utilizar el
sudo ifconfig -a
command.this aparecer una lista de toda la red de
dispositivos que Linux conoce. Para obtener ms informacin, echa un vistazo a los captulos 3
y 9.
/casa
Tradicionalmente, todos los directorios principales de los usuarios se almacenan en / home y
esto fue a menudo su propia particin, disco,
o recurso compartido de red. La idea era mantener los datos del usuario separada de los datos y
las aplicaciones del sistema. La mayora basado en UNIX
sistemas todava siguen esta regla, pero hay ocasiones en las que se encuentran algunos
directorios de inicio viven en otros lugares
(Es decir, el directorio personal del usuario root). El Mac, por ejemplo, almacena los directorios
de inicio en / Usuarios, y algunas empresas
pondr a diferentes usuarios en diferentes ubicaciones en base a sus necesidades. Aunque /
home contiene generalmente slo el hogar
directorios, no hay requisito de que los directorios de inicio en realidad residen aqu.
www.it-ebooks.info
pgina 88
Captulo 4 los File-caminos para el xito
75
/ lib
Este directorio contiene los archivos de bibliotecas que son necesarios para diversas
aplicaciones. Bibliotecas permiten la funcionalidad de
empaquetarn y luego compartidos por otras aplicaciones. Un buen ejemplo podra ser un motor
de base de datos que permite
las aplicaciones acceder a una base de datos. Para que estas aplicaciones pueden encontrar
dichas bibliotecas, tienen que ser instalados en una
ubicacin y con un nombre de archivo conocido conocido. Es raro que se necesitara para
hurgar en este directorio, pero si lo hace,
hay que tener cuidado porque el romper cosas aqu podra afectar a la estabilidad de su sistema.
/ Lost + found
Mencionamos ste est completo, pero en realidad no es parte de la estructura del sistema de
ficheros per se . Ms bien es donde los archivos
obtener colocado cuando el sistema de archivos pierde el rastro de ellos. Por ejemplo, si un
disco se daara, lo que se necesita para ejecutar
una reparacin de disco. Algunos archivos pueden ser recuperados, pero por diversas razones,
puede ser imposible determinar dnde ese archivo
vino de. Si eso sucede, Linux va a colocar esas almas perdidas en este directorio. Nunca hemos
tenido motivos para mirar en este
directorio, y lo ms probable es que usted nunca tendr que volver a buscar all tampoco.

/ mnt
Corto para el montaje, el directorio / mnt era tradicionalmente donde desea montar sistemas de
ficheros adicionales. Si queras
para conectar un recurso compartido de red o un disco duro externo, debe crear un directorio en
/ mnt y montar all. Flexible
discos y CD-ROMs tambin tienen que ser montado antes de su uso y tambin se montan
generalmente aqu como / mnt / floppy y
/ Mnt / cdrom, respectivamente. Sin embargo, en los ltimos aos, este directorio ha cado sobre
todo en el camino porque ms
la gente tiene medios extrables de almacenamiento en lugar de siempre adjunta (vase la
seccin siguiente en / media).
/medios de comunicacin
Este directorio es relativamente nuevo en Linux y se aadi a hacer una clara distincin entre
los dispositivos externos montados
(Tales como aquellos en / mnt) y medios extrables, como memorias USB, cmaras y
reproductores de medios. Estos son por lo general
maneja automticamente bajo Linux, y por lo general no se agregar o quitar cualquier cosa en
este directorio manualmente.
/ usr
Aqu es donde la mayor parte del software en la mquina termina y lo que a menudo es el
directorio ms grande en el servidor (por lo menos
si no cuentas reas principales de los usuarios). Aunque es til saber dnde vive el software en
su mquina, porque
todo se maneja de forma automtica para usted, todo lo que aqu debe "slo trabajo".
/optar
Este directorio es un aprendiz de todo. En algunos sistemas, que est lleno de aplicaciones; en
otros, sigue siendo
completamente vacio. Por lo general se utiliza para software de terceros y aplicaciones. Por
ejemplo, la base de datos Oracle
servidor se instala en / opt / por defecto. Probablemente no va a encontrar muchos motivos para
utilizar este directorio, pero tenga cuidado si lo hace
porque es fcil olvidar las cosas que estn sentados en / opt / cuando se trata de realizar copias
de seguridad y as sucesivamente.
/ srv
Otro recin llegado, el directorio / srv / es el lugar designado para el almacenamiento de datos
para los servicios que atienden a los archivos.
Aunque este directorio parece estar presente, algunas aplicaciones todava no hacen uso de ella,
ya sea por costumbre o simplemente
www.it-ebooks.info
pgina 89
Captulo 4 los File-caminos para el xito
76
porque todo el mundo se utiliza para que los contenidos fueran a otro lugar. Si usted est
buscando cosas que solan estar en / var /,
esto es probablemente un buen lugar para buscar siguiente.
/ sys
Este directorio contiene informacin del sistema, ya diferencia de / proc / (que es slo en la
memoria), el contenido de este
directorio se escriben y se almacena en el disco. No parecen tener una gran cantidad de uso, y
que ni siquiera han tenido que buscar
Dentro de este directorio. Sin embargo, tiene que ser til slo una vez que usted est contento de
que estaba all.
/ tmp
Este directorio es bloc de notas de la computadora, y todo tipo de aplicaciones crear archivos en

este directorio. Esta usado


siempre almacenamiento temporal de archivos se utiliza (tal como durante el procesamiento).
Este directorio se vaca de forma predeterminada en un reinicio,
pero aun as puede llegar llegar a ser muy grande. En teora, se supone que todas las
aplicaciones para el tratamiento / tmp / as transitoria; es decir,
nunca deben esperar un archivo para estar all despus de un reinicio.
Envolviendolo
Que resume bastante bien las reas clave en el sistema de ficheros de Linux. Sin duda, hay otros
pequeos recovecos que
Usted puede venir a travs como usted mira alrededor de su sistema, pero probablemente ser
un subconjunto de ellos. Recuerda
que a pesar de esta estructura es seguido por la mayora de los sistemas, la mayora no significa
necesariamente todo-y usted puede venir
a travs de algunas diferencias o donde directorios se utilizan en otras formas.
Ponerlo a trabajar
Hemos cubierto una gran cantidad de informacin hasta ahora en este captulo. Hemos visto
cmo los sistemas de ficheros de trabajo y
cmo los sistemas UNIX y Linux (en particular) han adoptado un enfoque unificado. Nos
fijamos en "todo como un archivo"
y demostramos cmo estos archivos y sistemas de archivos especiales encajan en el gran
esquema de las cosas. Nos envuelto todo eso
con una visin general de lo que sucede en qu parte del sistema de archivos y lo que hacen. Lo
que no hemos hecho todava es en realidad
se utiliza el sistema de archivos.
Hasta ahora, hemos sido ms o menos "manos libres", pero eso es todo lo que va a cambiar en
esta seccin. Vamos a empezar por mostrar
cmo crear directorios y se mueven en el sistema de archivos. Una vez que le hemos dado el
poder de crear, a continuacin, vamos a
le dar el poder para destruir, y sers capaz de eliminar archivos y directorios a voluntad (no
siempre es una buena idea). Bien
envuelva esta seccin con una visin rpida de los permisos de archivos de Linux y cmo leer y
ajustarlos. Empecemos!
Dnde estamos? El uso de las personas con discapacidad
Lo primero que tenemos que mostrar que es cmo averiguar dnde se encuentra en el sistema.
La forma ms fcil de obtener su
rodamientos es buscar en el smbolo del sistema. Hablamos de esto en el captulo anterior, como
un repaso rpido, esto es lo
el smbolo del sistema, mientras que parece que estamos sentados en nuestro directorio de
inicio:
Raspberry Pi pi @: $
www.it-ebooks.info
Pgina 90
Captulo 4 los File-caminos para el xito
77
La tilde (la lnea ondulada) es una abreviacin para el directorio personal del usuario actual.
Hemos puesto de relieve esta caracterstica
Ya cuando se introdujo por primera vez, as que no vamos a pasar por eso de nuevo, pero lo que
si queremos saber qu directorio estamos
estn realmente en? Lo que necesitamos es el comando pwd. Hemos tocado en esta herramienta
til en el ltimo captulo, as, pero en
caso de que no, aqu est de nuevo:
Raspberry Pi pi @: $ pwd
/ Home / pi
Raspberry Pi pi @ $

Esta herramienta es muy til para decirnos dnde estamos, pero no nos dice nada acerca de lo
que est en la misma ubicacin
con nosotros. Es como estar con los ojos vendados y se les dijo que est de pie en la cocina; que
es un gran comienzo, pero todava ests con eficacia
ciego. Por supuesto que le gustara saber quin y lo que est en la habitacin con usted; por eso,
es necesario el comando ls. Esta
comando tiene un gran nmero de opciones, sin embargo, y por lo que slo cubrir los ms
comunes, los que
usamos todos los das. En realidad slo se puede recordar como recetas, ya que tendr a menudo
slo tiene que pasar las mismas opciones
una y otra vez (o al menos lo hacemos).
Qu hay aqu con nosotros? usando ls
Ahora vamos a ver lo que hay aqu con nosotros:
Raspberry Pi pi @: $ ls
python_games de escritorio
Raspberry Pi pi @: $
Aunque no podemos mostrar fcilmente en el libro, de escritorio y python_games sean de un
color azul profundo. esto le dice
nosotros son directorios. En la actualidad, no tenemos ningn archivo en este directorio, o
nosotros? En realidad lo que hacemos, pero para entonces
se consideran los archivos ocultos. Bajo Linux, cualquier archivo que comienza con un punto
(punto) se considera oculto. hay
nada especial acerca de los archivos; son varios archivos de configuracin o temporales que
varias aplicaciones han creado. Nosotros
en general, no quieren que estos archivos desordenados en nuestra pantalla, por lo que ls y
amigos no mostrarlos. Podemos, sin embargo, la fuerza
ls nos muestran los archivos con la opcin -a como tal (aunque lo ms probable es ver
resultados ligeramente diferentes en su Pi):
Raspberry Pi pi @: $ ls -a
. .cache
.. .config
.dbus .bash_history
escritorio .bash_logout
python_games .bashrc
.dbus .ssh
Raspberry Pi pi @: $
Creacin de archivos para reproducirlos con: El uso del tacto
Por ahora, vamos a dejar el indicador -a solo y crear nuestros propios archivos con los que
jugar. Debido a que no hemos cubierto cmo crear
y sin embargo, editar archivos de texto (te mostrar cmo hacerlo en el captulo 6), le
presentaremos a otra pequea herramienta llamada
toque. En Linux, los archivos tienen dos marcas de tiempo:
La fecha y hora de creacin

La ltima marca de tiempo modificado

www.it-ebooks.info
Pgina 91
Captulo 4 los File-caminos para el xito
78
Estas marcas de tiempo le permiten ver cuando se cre un archivo y ltima vez que se
actualizan. Esto es til desde
un punto de vista de administracin porque se puede ver qu archivos estn siendo utilizados
activamente, pero diversas herramientas (como

scripts de copia de seguridad) utilizan esta marca de tiempo de averiguar si un archivo ha


cambiado desde que se agoten los miraron. A veces
es til ser capaz de actualizar que marca de tiempo sin cambiar el contenido del archivo, y aqu
es donde tctil
entra en accin. Toca el archivo que actualiza la marca de tiempo, pero si no existe actualmente
en el archivo, toque la crear
t. En otras palabras, es una gran herramienta para la creacin de archivos vacos. Por lo tanto,
vamos a empezar por la creacin de un par de archivos originalmente nombrados:
Raspberry Pi pi @: $ toque de frambuesa
Raspberry Pi pi @: $ toque pi
Raspberry Pi pi @: $ ls
pi escritorio python_games frambuesa
Raspberry Pi pi @: $
Y eso es todo lo que hay que hacer. Como se puede ver en las ls que le siguieron, ahora tenemos
dos archivos adicionales. Esta vez
que son de color gris, que nos dice que son archivos normales. Coloreando las entradas para
nosotros, ls hace que sea mucho ms fcil
para ver lo que estamos haciendo. Por ejemplo, cualquier archivo que es ejecutable ser de color
verde, pero va a volver a presentar
Permisos ms adelante en este captulo.
Hasta ahora slo tenemos dos archivos, pero si tuviera 10 o 20, que comenzar a ser un poco
concurrido aqu. La manera de manejar
esto es, por supuesto, crear directorios para almacenar nuestros archivos (y potencialmente otros
directorios), y eso es lo que haremos
veremos en la prxima.
Nota

Directorios y carpetas son bsicamente la misma cosa. Originalmente llamados directorios ,


Microsoft empez a referirse a
como carpetas , que sentan que era un Linux mejor description.although utilizado para utilizar
el trmino directorios , ya que tiene
convertido en ms de un sistema operativo de escritorio con la gente que se mueve desde
Windows, la carpeta se ha convertido en la terminologa
cada vez ms comn.
En algn lugar de guardar nuestros archivos: Usando mkdir
Para crear un directorio, se utiliza el mkdir (o hacemos directorio ) de comandos. Como era de
esperar, se crear un nuevo directorio.
Sin embargo, si hay un archivo con el mismo nombre, o si el directorio ya existe, recibir un
mensaje de error. Vamos
crear un directorio llamado pifun para almacenar nuestros archivos:
Raspberry Pi pi @: $ mkdir pifun
Raspberry Pi pi @: $ mkdir pifun
mkdir: no se puede crear el directorio 'pifun': File exists
Raspberry Pi pi @: $
Como se puede ver, tratando de crear el directorio dos veces causar un error. No se distraiga
por el Archivo existe;
En realidad, esto podra hacer referencia a un directorio o un archivo. Otra de ls rpidas, y
vamos a ver que las cosas se estn moviendo a lo largo de
bastante bien:
Raspberry Pi pi @: $ ls
pifun pi escritorio python_games frambuesa
Raspberry Pi pi @: $
www.it-ebooks.info
pgina 92

Captulo 4 los File-caminos para el xito


79
Haciendo uso de un nuevo Directorio: Uso del comando mv
As que ahora que tenemos nuestro directorio, vamos a poner en orden el desorden que hemos
estado haciendo. Porque queremos mover los archivos a
nuestro nuevo directorio (en lugar de crear una copia de ellos), tendremos que utilizar el mv (
movimiento de comandos). Este comando
es un poco ms complicado que los que hemos tratado antes, ya que toma dos argumentos (es
decir, las cosas que
quiere que el comando para actuar en) en lugar de uno. Esto tiene sentido, sin embargo, porque
no slo necesitamos para contar lo mv
queremos avanzar pero tambin necesitamos que le indiquen dnde queremos que se mueva el
archivo. Al igual que con la mayora de los comandos de archivos con
Linux, el primer argumento es la fuente, y el segundo argumento es el destino. Vamos a pasar
esos archivos ahora:
Raspberry Pi pi @: $ mv pifun pi
Raspberry Pi pi @: $ mv pifun frambuesa
Raspberry Pi pi @: $ ls
python_games pifun escritorio
Raspberry Pi pi @: $
Hasta aqu todo bien. Ahora queremos asegurarnos de que nuestros archivos llegaron en una
sola pieza. Hay dos maneras de hacerlo.
Podramos entrar en el directorio pifun con cd y luego ejecutar el comando ls o, como
alternativa, podramos simplemente dar
ls la ruta de acceso al directorio que queremos estudiar. Ya hemos usado el primer enfoque, as
que vamos a tratar de darle la
segundo enfoque intentarlo:
Raspberry Pi pi @: $ ls pifun
frambuesa pi
Raspberry Pi pi @: $
Un poco de Clonacin: Cmo utilizar el comando cp
Es cierto que esto no es muy emocionante, pero como administrador de nuevo cuo, usted
tendr que pasar una gran cantidad de archivos de tiempo en movimiento
alrededor y comprobar dnde estn las cosas. Hasta ahora, usted ha aprendido cmo mover un
archivo, pero lo que si lo que desea es copiar
un archivo en su lugar? Al hacer una copia de seguridad o conseguir una seleccin de archivos
listos para enviar a un amigo, que desea realmente
mantener a los originales. Para ello, se utiliza el comando cp (abreviatura de copia ). Vamos a
pasar a nuestro nuevo directorio y copia
uno de nuestros archivos:
Raspberry Pi pi @: $ cd pifun
[Pi @ Raspberry Pi pifun] $ cp pi pi2
[pi @ Raspberry Pi pifun] $ ls
pi pi2 frambuesa
[Pi @ Raspberry Pi pifun] $
Eso funcion bien, ahora tenemos pi y PI2, justo lo que esperbamos. Vamos a intentarlo otra
vez lo mismo, slo que esta vez vamos a
copiar un directorio:
[Pi @ Raspberry Pi pifun] $ mkdir moarpi
[Pi @ Raspberry Pi pifun] $ cp moarpi moarpi2
cp: ommiting directorio 'moarpi'
[Pi @ Raspberry Pi pifun] $
Esta vez no fue bastante de acuerdo al plan. La razn de nuestro intento de copia no se deba a
que por defecto ser cp
Slo copiar archivos individuales. No va a copiar directorios completos. A pesar de que los

directorios se tratan tcnicamente como archivos, el


forma en que los usamos a travs de varios comandos imita una carpeta en el mundo real. El
razonamiento detrs de esto es que cuando se copia
un directorio, se copia todo dentro de ella, incluyendo todos sus archivos y directorios. Esto
podra ser una gran cantidad de datos y podra
www.it-ebooks.info
Pgina 93
Captulo 4 los File-caminos para el xito
80
ocupan mucho espacio, as como una gran cantidad de tiempo para completar. nos obliga a ser
explcito acerca de nuestras intenciones (que pronto
se convierte en una segunda naturaleza) significa que cuando nos referimos a copiar un solo
archivo, pero accidentalmente escoger un directorio, obtendremos
detenido antes de cualquier copia se lleva a cabo.
Eso es todo muy bien, pero lo que si realmente quera copiar ese directorio? La primera vez que
miramos el cp
comando, mencionamos tareas como realizar copias de seguridad, y (seamos honestos) usted es
mucho ms probable que desee hacer una copia
un directorio de una lista de archivos especficos. Podemos obtener el comportamiento que
estamos buscando contando la CP que queremos
copiar de forma recursiva . Esto luego copiar el directorio y cualquier cosa dentro de ese
directorio para el destino. Especificamos este
utilizando el indicador -r, as:
[Pi @ Raspberry Pi pifun] $ cp -r moarpi moarpi2
[pi @ Raspberry Pi pifun] $ ls
moarpi pi moarpi2 pi2 frambuesa
[Pi @ Raspberry Pi pifun] $
A diferencia del comando de copia, cuando se mueve un directorio, no hay ninguna necesidad
de especificar que desea hacerlo
recursiva porque mover un directorio sin su contenido no hara un montn de sentido.
El poder de destruir: Uso del comando rm
Hasta ahora, hemos demostrado cmo crear archivos y directorios, y cmo copiar y mover ellos
sobre. Ahora vamos
para mostrar cmo destruir esos archivos con el comando de retiro o rm. No hace falta decir que
el comando rm
es uno de los ms peligrosos en su arsenal. Se puede muy fcilmente destruir un servidor
completo si no tiene cuidado, y nos
conocer a las personas que lo han hecho precisamente eso accidentalmente.
Para un cambio de ritmo, vamos a ver cmo podemos eliminar un directorio vaco. Antes de que
veamos cmo hacerlo con rm,
podemos utilizar el comando rmdir para esto (que es corto para remove directory ). Ahora la
captura con este comando es
que va a eliminar slo los directorios que estn completamente vacos. Si hay incluso un solo
archivo que contiene, este comando fallar.
Esto hace que sea muy seguro de usar, pero no todo lo que prctico, ya que generalmente
cuando se elimina un directorio, tambin quiere
eliminar todo su contenido. Vamos a matar dos pjaros de un tiro:
[Pi @ pifun Raspberry Pi] $ rmdir moarpi2
[Pi @ Raspberry Pi pifun] $ rm moarpi
rm: no se puede eliminar "moarpi ': Es un directorio
[Pi @ Raspberry Pi pifun] $
Podramos borrar moarpi2 con rmdir porque el directorio estaba vaco, pero cuando tratamos
con el comando rm,
se neg a cooperar. Esto se debe a que el comando rm fue escrito con un razonamiento similar

al comando cp.
Debido a la eliminacin de un directorio es mucho ms peligrosa que una simple copia, esto es
probablemente una buena cosa. Nosotros podemos usar
el mismo indicador -r para contar rm para eliminar de forma recursiva:
[Pi @ Raspberry Pi pifun] $ rm -r moarpi
[Pi @ Raspberry Pi pifun] $
xito! Ahora, a veces cuando se intenta esto, sobre todo en un directorio grande con una gran
cantidad de archivos y subdirectorios,
usted puede terminar con un montn de problemas que hacen que rm darse por vencido. Por
ejemplo, algunos archivos pueden ser protegidos contra escritura. Usted puede
eliminar los errores mediante el uso de la bandera -f, lo que significa fuerza y es similar a
decir, "Al diablo con los torpedos! A toda velocidad
por delante! "Eso suena como una gran idea hasta que se detiene a pensar lo que sucedera si se
ejecut este comando (que se
debe no hacer):
[Pi @ pifun Raspberry Pi] $ rm-rf /
www.it-ebooks.info
pgina 94
Captulo 4 los File-caminos para el xito
81
Si accidentalmente se ejecuta ese comando, rm se proceder a eliminar absolutamente todo en
su sistema. Si tu
sucede que tiene un disco duro USB conectado o que haya montado algunas partes de la red,
que est en un verdadero problema, porque
rm no se limitar a los discos internos; se arrastrar a travs de todo el rbol de eliminar todo a
su paso.
Esta es una de las razones por las que debe utilizar una cuenta de usuario normal para las tareas
del da a da. Su propio usuario no lo har
tiene privilegios suficientes para eliminar cualquier crtica al sistema, pero an as, hay muchas
posibilidades de que pueda todava
daar todo su contenido multimedia adjuntos. Tienes que ser muy, muy cuidadoso cuando se
utiliza el comando rm y que le
mejor doble y triple comprobarlo ya que Linux asumir que usted sabe lo que est haciendo y no
va a pedir
confirmacin!
El comando rm tambin puede eliminar los archivos simplemente proporcionando la ruta de
acceso al archivo. No es necesario utilizar el indicador -r
Para esta operacin, por lo que simplemente puede hacer esto:
[Pi @ Raspberry Pi pifun] $ rm pi2
[pi @ Raspberry Pi pifun] $ ls
frambuesa pi
[Pi @ Raspberry Pi pifun] $
Y que en pocas palabras es la forma de moverse y manipular el sistema de archivos.
Rutas completas y relativas
En Linux, hay dos formas de especificar una ruta de acceso a un archivo o directorio:
Puede dar una ruta de acceso completa que comienza con una barra diagonal

Se puede dar una ruta relativa que se inicia con un nombre de archivo, nombre de directorio, un
punto o dos puntos

Por extrao que esto pueda parecer, ambos son slo formas de proporcionar un lugar especfico
para sus programas.
Un camino se considera completo cuando se parte de un punto de referencia fijo (es decir, el
directorio raz). Independientemente

de dnde se encuentra en un sistema, una ruta de acceso completa siempre apuntar a la misma
ubicacin. Es como el viejo campanario en
el centro de la ciudad; si se le da direcciones cualquier persona que utilice ste como punto de
referencia, tiene un anclaje comn que
tanto usted como su amigo sabe cmo llegar.
Por otro lado, una ruta relativa depende de su ubicacin actual a tener sentido. Puede especificar
las rutas
utilizando ./ para significar el directorio actual o ../ que significa el directorio padre (el siguiente
desde la ubicacin actual).
Si usted tuvo una trayectoria que se parece a ../../test.txt, esto slo funcionara desde unos pocos
lugares especficos (donde est el archivo
dos niveles por encima de su directorio actual). Sin embargo, es agradable y corto, adems de
ser fcil de escribir. Por supuesto, la
mismo archivo (si hubiese sido creado en su directorio personal) sera accesible con
/home/pi/test.txt, que a diferencia
la ruta relativa, se puede utilizar desde cualquier lugar en el sistema de archivos con bastante
facilidad. Las rutas relativas pueden ser complicado cuando
eres varios niveles de profundidad y no est seguro de dnde se encuentra, pero lo hace saber la
ruta completa del archivo que desea. Si tu
estn en / home / pi / Documentos / Trabajo / Projects_2012 / Hojas de clculo / y desea acceder
a test.txt, usted podra
o bien usar la ruta completa o utilizar alternativamente ../../../../text.txt. Como se puede ver, en
este caso, es la ruta relativa
ms confusa que la ruta completa.
Cundo se debe utilizar uno o el otro? Debe utilizar la opcin que es la ms conveniente o hace
que el
ms sentido para la tarea. A veces es ms rpido o ms fcil de utilizar una ruta de acceso
completa. En otras ocasiones, son enterrados
abajo en el rbol, y escribir rutas de acceso completas sera tedioso en el mejor y totalmente
confuso en el peor.
Usuarios y Grupos
Slo vamos a tocar en los fundamentos de los usuarios y los grupos aqu para que sepa lo
suficiente para entender el archivo
seccin de permisos que est llegando hasta la prxima. Los usuarios y grupos son clave para la
forma en Linux asegura sus archivos, y se le
necesita saber acerca de ellos antes de pasar a la siguiente seccin.
www.it-ebooks.info
pgina 95
Captulo 4 los File-caminos para el xito
82
En la forma de pensar de UNIX, todas las personas tienen sus propios nombres de usuario. Un
nombre de usuario identifica a una persona en particular o
entidad (por ejemplo, un servidor web podra tener su propio nombre de usuario) en un sistema
particular. Hasta ahora, hemos pasado la mayor parte de nuestra
tiempo que el usuario pi, pero hemos visto tambin que podemos llegar a ser el usuario root. Su
nombre de usuario es la clave que utiliza para Linux
Puede identificar como usted.
Los grupos son igualmente sencilla. Cada usuario pertenece a un grupo primario, pero en
realidad puede ser un miembro de
cualquier nmero de grupos en el sistema. En un sistema universitario, nombre de usuario de un
estudiante podra tener su propio grupo privado
(Prctica estndar en los sistemas Red Hat y Debian en estos das) pero tambin podran
pertenecer a un grupo de estudiantes y un
grupo de investigacion. Tambin podran pertenecer a un grupo especfico de su departamento.

Los grupos son tiles para los administradores


porque podemos agrupar una seleccin de usuarios juntos y tratarlos como una nica entidad.
Esto hace las cosas como archivo
permisos mucho ms fcil de manejar.
Cuando se crea un nuevo usuario en su Pi, se crear automticamente un grupo con el mismo
nombre. En algunas
sistemas, los usuarios de forma predeterminada unirse a un grupo de usuarios, pero como se
ver en la siguiente seccin, esto podra conducir a accidentalmente
las personas que dan acceso a los archivos que no deberan tener. Debido a que un grupo
privado es por definicin privada, nadie ms lo har
ser un miembro, y nadie puede acceder a sus archivos slo porque resultan ser en el mismo
grupo que t. Esto es
por qu en los sistemas modernos que se suele ver que el propietario y el grupo de un archivo
de pasar a ser el mismo.
Permisos de archivo
Los permisos de archivo le permiten determinar que usted quiere ser capaz de acceder a sus
archivos y qu es exactamente lo que estn
permitido que ver con ellos. Hay tres permisos diferentes que se pueden establecer. La primera
es si o no a alguien
puede leer el archivo. La segunda es si pueden escribir en el archivo. Y tercero es si pueden
ejecutarlo (es decir, ejecute
se siente una aplicacin).
Por supuesto, slo ser capaz de establecer estos permisos en un archivo no es especialmente
flexible. Es posible que desee dar
el acceso a slo un cierto grupo de personas y restringir todos los dems. Aqu es donde los
usuarios y grupos que entran en juego.
En Linux, hay tres funciones que un usuario determinado pueda haber cado en:

Usuario : Se refiere al propietario del archivo

Grupo : Se refiere al grupo al que pertenece el archivo

Mundial : Tambin a menudo referido como otro


Cada funcin tiene su propia combinacin de permisos; es decir, se puede definir si cualquiera
de esas tres funciones pueden
leer, escribir o ejecutar archivos. Vamos a mostrar cmo hacer eso, pero antes de hacer eso,
tenemos que mostrar
cmo ver qu permisos se encuentran actualmente en vigor y por lo que ahora es un buen
momento para mostrar cmo utilizar el -lh
opcin para el comando ls. Vamos a tratar de ejecutarlo ahora:
[Pi @ pifun Raspberry Pi] $ ls -lh
-rw-r - r-- pi pi 1 0 7 Oct 16:29 pi
-rw-r - r-- pi pi 1 0 7 Oct 16:58 pi2
-rw-r - r-- pi pi 1 0 7 Oct 16:29 frambuesa
[Pi @ Raspberry Pi pifun] $
El argumento -lh especifica que queremos ls nos muestran una lista de archivos (-l) y que
deseamos tamao de los archivos estn en
formato legible por humanos (-h). Sin el indicador legible por humanos, ls nos mostrar todos
los tamaos en bytes, que cuando
que est tratando con archivos de gran tamao no es muy fcil de leer. En realidad no importa
en este ejemplo porque son nuestros archivos
vaco, de todos modos.
Hay dos cosas que estamos realmente interesados en la medida de lo permisos de archivo se
van. La primera describe la
permisos vigentes en la actualidad, y la segunda nos muestra qu usuario y grupo propietario del

archivo. Vamos a romper hacia abajo para


el archivo de frambuesa:
-rw-r - r-- pi pi 1 0 7 Oct 16:29 frambuesa
www.it-ebooks.info
pgina 96
Captulo 4 los File-caminos para el xito
83
La parte permisos de archivo es:
-rw-r - r-Hay diez posibles ranuras en esa lista. Si un permiso especial no est presente, ls mostrarn un
guin. Sin embargo, una
archivo normal siempre tiene un guin en la primera ranura. Si se referencia a un directorio, la
primera ranura sera aviso destacado
que no es un archivo. Esta ranura tambin puede ser un l si el archivo es un enlace (o el acceso
directo) y le mostraremos cmo utilizar estos en el
siguiente seccin. Por ahora podemos pasar por alto la primera ranura y se centran en los nueve
ranuras finales.
Los nueve restantes se agrupan de tres en tres para darnos tres grupos. Estos corresponden a
usuarios, grupos y
papeles mundo, respectivamente. Cada uno de tres ranuras en cada grupo representa un permiso
especfico: leer, escribir y ejecutar.
Donde se establece el permiso, ver una carta, pero cuando el permiso no est activo, obtendr
el guin. Si nuestro
archivo de frambuesa se haba puesto todos los permisos, que se vera as:
-rwxrwxrwx
Vamos a dividir que fuera un poco, as que es un poco ms fcil de leer:
- Rwx rwx rwx
As que si nos fijamos en los tres primeros permisos, podemos ver que el propietario ha de leer,
escribir y ejecutar permisos.
Tambin podemos ver que el grupo y el mundo tambin tienen permisos completos. Para
interpretar el significado de estos permisos, sin embargo,
que realmente necesitamos saber quin posee realmente el archivo. Vamos a echar un vistazo a
la parte de la lnea que muestra que posee el archivo:
pi pi
Bueno, eso no era demasiado doloroso. Recuerde que en mquinas modernas de Linux, los
usuarios tienen sus propios grupos privados
que llevan el nombre de usuario. Eso es lo que estamos viendo aqu. La primera pi se refiere al
propietario, que es, por supuesto, el pi
usuario. De forma predeterminada, cuando se crea un archivo, la propiedad del grupo se
establece en grupo por defecto del usuario. En este caso, que lo hara
nuestro grupo privado que tambin se llama pi (el segundo pi). As que busque en nuestra
entrada del archivo original:
-rw-r - r-- pi pi 1 0 7 Oct 16:29 frambuesa
Podemos leer esto como "El usuario ha pi leer y escribir privilegios. El grupo tiene privilegios
de lectura y el mundo tambin tiene
privilegios de lectura. "Linux aplica estos permisos en un orden especfico sobre la base de lo
que eres.
1.
Si su nombre de usuario coincide con el propietario del archivo, se aplicarn los permisos de
usuario cuando se
tratar de acceder a l.
2.
Si usted no es el dueo, pero usted est en el mismo grupo que el fichero, Linux se aplicar el
grupo

permisos a usted.
3.
Si eres ni el propietario, o en el mismo grupo, Linux aplicar los permisos de la
papel mundial.
En nuestro ejemplo, sin embargo, los permisos para el mundo y el grupo son idnticos, por lo
que si usted no es el propietario, obtendr
el mismo nivel de acceso. Sin embargo slo el propietario puede realmente guardar los cambios
en el archivo. Hay una excepcin a esta
descartar, sin embargo: el usuario root. El usuario root es efectivamente inmune a los permisos
de archivos y puede cambiar los permisos y
presentar la propiedad de cualquier archivo en el sistema, independientemente de que en
realidad es el dueo.
El permiso de ejecucin permite ejecutar un archivo como un programa. Esta es una
caracterstica de seguridad para que pueda efectivamente
detener la ejecucin de personas comandos que usted no quiere que ellos. Sin embargo, hay que
tener cuidado porque si los usuarios pueden
leer el archivo, no hay nada que les impida copiarlo en su propio archivo y hacer que el archivo
ejecutable.
www.it-ebooks.info
pgina 97
Captulo 4 los File-caminos para el xito
84
El bit de ejecucin tiene otro propsito cuando se trata de directorios. Obviamente, no se puede
ejecutar un directorio para
en cambio este indicador significa que se permite que el usuario (o grupo o entorno) para
navegar por el directorio de ms que pueden hacer un ls en l.
Tal vez no sean capaces de acceder a cualquier cosa en el directorio, pero todava pueden tener
un vistazo y ver lo que est escondido en
ah. Si usted le da a los usuarios permiso para leer un directorio pero no a ejecutar, que ser
capaz de leer un archivo que contiene, pero
no sera capaz de navegar por ella. Tendran que saber el nombre del archivo con antelacin.
Esto tambin se aplica para acceder a archivos en
aplicaciones GUI, pero puede ser molesto a escribir en una ruta especfica porque la mayora de
las aplicaciones esperan que explora
el archivo que desea.
Eso es realmente todo lo que hay que hacer. Hay una funcin llamada "atributos de archivo
ampliados", pero no vamos a cubrir los
en este libro. Ellos proporcionan una gran cantidad ms flexibilidad que el modelo estndar,
pero son igualmente ms complicado.
Si ests acostumbrado a la forma en que Windows maneja los permisos, encontrar que los
atributos de archivo extendidos son un poco ms en lnea
con lo que estamos acostumbrados.
Fijar permisos del archivo
En primer lugar vamos a ver cmo podemos establecer permisos de archivo (vase la Tabla 4-1
).
Tabla 4-1. Los parmetros posibles para el comando chmod
Parte de permiso de configuracin
Los argumentos posibles
Papel
u - usuario
g - grupo
O - Otras / mundo
a - todo
Cmo aplicar

+ - Aadir
- - retirar
= - Establecer explcitamente
Lo que hay que aplicar
r - lectura
w - escribir
x - ejecutar
Vamos a utilizar el comando chmod, que cambia los permisos de archivo. Puede especificar
permisos como una
combinacin de los valores anteriores. Estas se pueden combinar de tres maneras diferentes.
Aadir permisos

Tome permisos de distancia

permisos explcitamente establecidos

La diferencia es que los dos primeros dejar a todos los dems permisos intacto despus de que
han hecho su cosa. Si tu
establecer explcitamente permisos, sern revocados los permisos especificados.
Vamos a empezar a cabo mediante la eliminacin de todos los permisos de todo el mundo para
nuestro archivo PI:
[Pi @ Raspberry Pi pifun] $ chmod a = pi
[Pi @ pifun Raspberry Pi] $ ls -lh
---------- 1 0 pi pi pi 03:52 Oct 8
[Pi @ Raspberry Pi pifun] $
www.it-ebooks.info
pgina 98
Captulo 4 los File-caminos para el xito
85
Todos los permisos de archivos se han quitado del archivo, pero cmo funciona el comando en
realidad el trabajo? Los permisos son
especificado con tres partes (correspondientes a las tres filas de la Tabla 4-1 ):
Quien desea que el cambio se aplique a

Cmo desea que el cambio aplicado

Lo que se quiere que el cambio sea

En este caso, se aplicaron los cambios en una, que es bsicamente la abreviatura de Ugo (se
aplica a todos los cambios).
Se utiliz el signo de igualdad, lo que significa que queremos establecer explcitamente los
permisos y luego en realidad no suministramos
los permisos. Si un permiso est ausente, se supone que no debe establecer, por lo que en
nuestro ejemplo, de suministrar cualquier
permisos, que todos ellos efectivamente revocadas, independientemente de lo que eran antes.
Ya que es nuestro archivo, queremos dar a nosotros mismos permisos completos. Es cierto que
el bit de ejecucin no sirve de mucho
en este caso (lo encontrar muy valiosa cuando se inicia secuencias de comandos vase el
captulo 7), pero nos va a dar a nosotros mismos
de todas formas. Podemos hacer eso con este comando:
[Pi @ Raspberry Pi pifun] $ chmod u + rwx pi
[Pi @ pifun Raspberry Pi] $ ls -lh
-rwx ------ 1 0 pi pi pi 03:52 Oct 8
[Pi @ Raspberry Pi pifun] $

Vamos a escoger este comando aparte. Especificamos que queramos cambiar slo los permisos
del usuario, que
quera aadir ellas (no importaba en este caso debido a que haba quitado todos los permisos de
antemano para un signo de igual
signo habra hecho el mismo trabajo) y que queramos leer, escribir y ejecutar privilegios. Para
terminar este ejemplo,
vamos a restaurar el acceso de lectura a los roles de grupo y del mundo:
[Pi @ Raspberry Pi pifun] $ chmod go + r pi
[Pi @ pifun Raspberry Pi] $ ls -lh
-rwxr - r-- 1 0 pi pi pi 03:52 Oct 8
[Pi @ Raspberry Pi pifun] $
Simplemente para la correccin, demos un paso a travs de este ltimo ejemplo. Queremos
aplicar los permisos para el grupo y
otros papeles, que quieren aadir los permisos a lo que ya est ah, y nosotros queremos
conceder privilegios de lectura. Y eso es
prcticamente todo para establecer los permisos de archivo. Hay, sin embargo un estilo
alternativo que utiliza nmeros en lugar de letras
para especificar los permisos que desea establecer. Para obtener el mismo efecto que lo que ya
tenemos (es decir, que no tiene ningn
efecto), se utilizara la siguiente:
[Pi @ Raspberry Pi pifun] $ chmod 744 pi
[Pi @ pifun Raspberry Pi] $ ls -lh
-rwxr - r-- 1 0 pi pi pi 03:52 Oct 8
[Pi @ Raspberry Pi pifun] $
En este sistema, cada permiso tiene su propio valor:
Lee es 4

Escribir es 2

Ejecutar es 1

Para establecer los permisos, se suman los nmeros para obtener el total para cada conjunto de
permisos (usuario, grupo, mundo).
Por ejemplo, para establecer todos los permisos que le gustara aadir 4 y 2 y de 1 a 7. Para
obtener lectura, slo tendra que hacer ms 4 0 0 adems,
que por supuesto da usted 4. poner a todos juntos para el usuario, el grupo y el mundo
obtenemos 744. Esta sintaxis es la
la sintaxis original utilizado en la mayora de los sistemas UNIX. El uso de las letras es una idea
relativamente nueva, pero al final del da se
www.it-ebooks.info
pgina 99
Captulo 4 los File-caminos para el xito
86
tanto lograr los mismos resultados. El principal beneficio de la nueva sintaxis es que es mucho
ms claro y ms fcil de recoger.
En lo personal, se tiende a utilizar el estilo de nmero, pero eso es slo porque nos hemos
estado haciendo durante tanto tiempo y que se ha convertido
una segunda naturaleza para nosotros. Usted debe sentirse libre de usar cualquier sistema que se
siente el ms cmodo.
As que ahora se puede manipular permisos como un gur, pero todava se echa en falta la
segunda parte del rompecabezas; nosotros
No se han mostrado cmo cambiar la propiedad del archivo. Esto es en realidad mucho menos
comn de lo que parece; lejos
menos comunes que ajustar el permiso de archivo de vez en cuando, eso es seguro. Tambin

hay otra pequea arruga. A normales


usuario (cualquiera que no sea root) no se puede cambiar realmente el usuario propietario del
archivo porque si asigna accidentalmente la
presentar a otro usuario por accidente, usted no tiene ninguna manera de conseguir realmente
que el archivo de nuevo. Por supuesto, siendo que todo lo sabe y
que todo lo ve, el usuario root puede cambiar la propiedad de cualquier archivo en el sistema.
Podemos simular "rootness" mediante el uso de sudo. Como se discuti anteriormente, este
comando pequeos actos como un filtro de tipo. Eso
Siempre se ejecuta como root, independientemente de quien lo ejecuta, y ejecuta comandos
como root en su nombre. Para evitar cualquier
travesuras, sudo comprobarn el usuario y el comando que estn tratando de correr en contra de
una lista aprobada. Si ests en
esa lista (y el usuario pi es), que puede ejecutar todo tipo de magia sin toda raz tcnicamente
convertirse a s mismo.
Para usar sudo, todo lo que tenemos que hacer es agregar un prefijo de comando que queremos
ejecutar con el comando sudo. so es bonito
mucho l. La primera vez que ejecute sudo, se le pedir una contrasea. Esta es la contrasea de
su usuario en particular, no el
contrasea para el usuario root. El objetivo es que se puede demostrar que eres el usuario pi, y
luego sudo verificaremos lo
se permite al usuario hacer pi. Esto significa que si usted tiene una gran cantidad de usuarios en
el equipo, y que desea que lo hagan
algunos ms poderosos comandos pero no quieren darles acceso root, puede configurar sudo
para permitir que se ejecutan
un comando especfico sin tener que entregar las llaves de la mansin.
Vamos a empezar por tratar de dar el archivo al usuario root con el chown (o cambio de
propiedad) de comandos:
[Pi @ Raspberry Pi pifun] $ chown root pi
chown: cambiar la propiedad de 'pi': Operacin no permitida
[Pi @ Raspberry Pi pifun] $
La operacin no es permitida manera de decirnos a obtener rellenos de Linux. Como se
mencion anteriormente, slo el usuario root es
permitido para cambiar el propietario de un archivo. Para conseguir esto, necesitaremos
privilegios de root, por lo que vamos a poner sudo a trabajar para nosotros y correr
de nuevo el comando:
[Pi @ Raspberry Pi pifun] $ sudo chown root pi
[Pi @ pifun Raspberry Pi] $ ls -lh
-rwxr - r-- 1 root pi 0 8 Oct 03:52 pi
[Pi @ Raspberry Pi pifun] $
xito! Hemos sido capaces de cambiar el propietario al usuario root. Esto funciona con
cualquier usuario vlido y cualquier archivo o
directorio que desea cambiar. Hay otro comando llamado chgrp que no se sorprender saber
le permite cambiar el grupo posee un archivo en particular. Ahora hay un poco de un problema
con este comando tambin.
Aunque los usuarios normales se les permite cambiar el grupo, que slo se les permite cambiar
a un grupo de los cuales son
un miembro. Si el usuario slo es un miembro de su grupo privado, entonces usted no ser
capaz de hacer un montn con este
ordenar a cualquiera.
Una vez ms, es la raz y sudo al rescate. Debido a que root puede hacer lo que quiera, se puede
cambiar el grupo
en consecuencia. Si llega el caso, lo que parece un montn, como nuestra ltima orden:
[Pi @ Raspberry Pi pifun] $ sudo chgrp raz pi
[Pi @ pifun Raspberry Pi] $ ls -lh
-rwxr - r-- 1 root root 0 8 Oct 03:52 pi

[Pi @ Raspberry Pi pifun] $


Y ah vamos en el archivo ahora pertenece al grupo raz y el usuario root. Cuando usted tiene
que cambiar el archivo
la propiedad, que es mucho ms comn que tenga que cambiar tanto el usuario como el grupo al
que pertenece el archivo. Es relativamente
rara para cambiar slo el grupo (no podemos recordar la ltima vez que utiliz el comando
chgrp). El comando chown
www.it-ebooks.info
pgina 100
Captulo 4 los File-caminos para el xito
87
proporciona un acceso directo que nos permite establecer tanto un nuevo propietario y un nuevo
grupo al mismo tiempo. Vamos a usar este atajo
Ahora para volver la propiedad del archivo a nuestro usuario pi. Nos obstante, deber usar sudo,
por supuesto:
[Pi @ Raspberry Pi pifun] $ sudo chown pi pi pi
[Pi @ pifun Raspberry Pi] $ ls -lh
-rwxr - r-- 1 0 pi pi pi 03:52 Oct 8
[Pi @ Raspberry Pi pifun] $
Con el acceso directo, que acaba de especificar el usuario y el grupo separado por dos puntos.
Una ltima cosa que necesitamos
cubrir con estos comandos es que slo operan especficamente en el archivo que proporciona. Si
proporciona un directorio
en lugar de un archivo, fijar los permisos en el directorio, pero esos cambios no se filtrar a
travs de todo
Los archivos. A veces eso es lo que quiere, pero ms a menudo desea que los cambios se
propaguen. A diferencia de la cp y rm
comandos que utilizan -r, estos dos comandos utilizan -R (utilizan la letra mayscula en lugar
de la letra minscula).
Tenga cuidado cuando se utiliza esto porque a menudo presentar permisos se establecen con
precisin, y si el vals a travs obliterante
con su nueva versin, no hay manera de deshacer el dao. Como siempre, vuelva a comprobar
lo que has escrito antes
pulsa la tecla enter.
Los accesos directos y enlaces
Linux le permite crear enlaces (o accesos directos) utilizando el comando ln (corto para el
enlace). Hay dos tipos de enlaces:
UN

vnculo de software es como lo que puede llegar en un sistema Windows despus de usar el
acceso directo Crear
caracterstica. Se crea un archivo que es slo un puntero a la ubicacin real del archivo en otra
ubicacin en el disco.
Se crea un vnculo de software que especifica -s cuando se utiliza el comando ln.
los

vnculo fsico es ms interesante. Cuando se utiliza un enlace duro que efectivamente haya
creado dos
nombres para el mismo archivo. Eso podra sonar como la semntica, y con la mayora de las
aplicaciones modernas
ser capaz de seguir un enlace suave, rara vez hay una necesidad de usar un vnculo fsico. Los
enlaces duros son tambin
restringido a un nico sistema de archivos que tiene que apoyarlos (la mayora de los sistemas
de ficheros de Linux). los

beneficio principal de un enlace duro es que el vnculo fsico es completamente indistinguible


de la
archivo original; no son ms que dos nombres que apuntan en la misma ubicacin. Usted no
necesita
especifique nada para crear un vnculo fsico como ln lo har de forma predeterminada.
Nota

para evitar confusiones y para permitir enlaces funcionen entre sistemas de ficheros, se debe
utilizar un enlace simblico.
Vamos a hacer un ejemplo rpido para mostrar esto en accin:
[Pi @ Raspberry Pi pifun] $ ln pi pi1
[Pi @ Raspberry Pi pifun] $ ln -s pi2 pi
[Pi @ pifun Raspberry Pi] $ ls -lh
-rw-rw-r-- 2 miggyx miggyx 0 8 Oct 08:14 pi
-rw-rw-r-- 2 miggyx miggyx 0 8 Oct 08:14 pi1
lrwxrwxrwx 1 miggyx miggyx 3 Oct 8 pi2 08:33 -> pi
[Pi @ Raspberry Pi pifun] $
Vamos a echar un vistazo a lo que tenemos aqu. pi y pi1 son idnticos en todos los sentidos,
pero eso no es realmente una sorpresa
porque aparte del nombre, son el mismo archivo. Observe que el nmero despus de los
permisos de archivo bloquear ahora
muestra 2 para pi y pi1. Esto nos dice que en la actualidad hay dos nombres de archivo que
sealan en un archivo en particular. Tampoco
una gran sorpresa porque somos los que crearon la segunda entrada.
www.it-ebooks.info
pgina 101
Captulo 4 los File-caminos para el xito
88
Mucho ms interesante es PI2, que hemos creado con un enlace blando. En primer lugar,
podemos ver que los permisos de archivo
todos se han fijado. Este no es un problema porque cuando Linux sigue el enlace suave para el
archivo real, es el archivo real de
permisos que se utilizan para definir quin puede acceder al archivo. El vnculo de software en
realidad slo seala la ubicacin. Nosotros
Tambin se puede ver que el nombre del archivo en s es un poco diferente. Se muestra el
nombre de archivo que originalmente le damos el enlace suave, pero
Tambin se muestra el archivo que apunta el enlace suaves al. En este caso, el archivo pasa a
estar en el mismo directorio, pero podra hacerlo
con la misma facilidad haber sido en cualquier parte del sistema.
Eso es realmente todo lo que hay que hacer para crear enlaces. Pueden ser tiles cuando se
quiere hacer un directorio o archivo
parecen estar en una nueva ubicacin. Por ejemplo, un programa podra escribir en un directorio
de datos, y que desea mover ese
directorio en un disco ms grande. No hay problema; se puede mover en el disco ms grande y
luego crear un enlace simblico al directorio con el
mismo nombre. La aplicacin probablemente no se dar cuenta. Esto realmente le puede ahorrar
muchos dolores de cabeza, especialmente cuando
el tiempo es algo de una prima. (Y seamos honestos: cuando no es as?)
Resumen
En este captulo se le ha dado la primicia sobre todas las cosas del sistema de ficheros. Hemos
visto la historia y nos mostraron por qu
nuestros sistemas de archivos se ven como lo hacen. a continuacin, hemos tocado la forma en
que se mantienen unidos y cmo el sistema de ficheros Linux es
estructurado. Ponemos de que al buen uso y se puso al tanto de todos los elementos bsicos para

crear, copiar, mover, y


borrar sus archivos.
Discutimos los permisos de archivos y la forma en que se hacen cumplir, y cmo podemos
configurar para que coincidan con nuestras necesidades. Nosotros tambin
mirado la forma ms tradicional de la configuracin de permisos de archivo (en caso de que
alguna vez se necesita). A continuacin, le mostramos cmo
Linux aplica estos permisos y cmo se puede cambiar qu usuario y grupo es propietario de un
archivo especfico. rodeamos
todo lo que fuera por discutir cmo se puede crear vnculos y las diferencias entre las dos
variedades blandas y duras.
En el siguiente captulo, vamos a quedar expuesto a todos los comandos ms comunes que
puede encontrar en su Pi.
Estos son los comandos que se convertirn en parte de su caja de herramientas que se le
sumerge regularmente en. De hecho, utilizamos todos estos
comandos en nuestro trabajo diario. Por lo tanto, en adelante el Captulo 5!
www.it-ebooks.info
Pgina 102
89
Captulo 5
Comandos esenciales
Ahora tiene esta maravillosa nueva Pi Frambuesa de que ha instalado y configurado para
aceptar y ejecutar una versin de
Raspbian Linux. Ya han sido registrados y cmodamente puede moverse dentro del sistema.
Puede hacer lo bsico en
su Pi, pero ahora siente que est listo para asumir ms.
Bueno, eso es lo que se dedica a este captulo: que la enseanza de toda una serie de comandos
de modo que usted puede potenciar
como usuario de Linux. Estos comandos cubrir toda una serie de funciones que van desde
convertirse en el
raz de superusuario, el examen de espacio en disco, procesos de terminacin, y configurar el
espacio de usuario y el seguimiento
Variables de entorno. Todas estas tareas son las ms comunes para el administrador de sistemas
y pueden tener un gran impacto en
la forma de funcionamiento del sistema. As que sin ms prembulos, vamos a empezar.
Convertirse en el jefe
Root es una palabra que describe la base de un rbol, algo de lo que crece en todo el resto. En
Linux y UNIX, el trmino
se utiliza para denotar el punto de inicio de un sistema de archivos (como vimos en el captulo
4) y para denotar el maestro administrativa
usuario en el sistema (cubierto brevemente en el captulo 3). Para llevar a cabo cualquier
sistema o funcin administrativa, tiene que ser
identificado como root con el fin de tener permiso para cambiar la funcionalidad bsica. Debido
a esto, siendo raz es mucho
una espada de doble filo: un poder ilimitado para cambiar su sistema y poder ilimitado para
romper la funcionalidad del sistema.
Probablemente una de las cosas ms verdaderas que puedo decir de trabajar en un entorno Linux
es que con el tiempo va a emitir una
comando como root que romper algo (si no todo) y esto le causa un sin fin de problemas o
incluso pueden
requerir la reinstalacin del sistema operativo. Por esta razn (y razones relacionadas con la
seguridad) de su cuenta que un usuario
En realidad nunca iniciar sesin en el shell como usuario root.
Para resolver este problema, utilizamos sudo, lo que hemos visto un poco de en los captulos 3 y
4. Como se sabe, esta herramienta es una

envoltura para cualquier orden de shell que se pueda imaginar. Esto significa que si el prefijo de
un comando con sudo (por ejemplo, ls sudo) ,
ya no se encuentre ejecutando este comando como su propio usuario, sino ms bien como el
sper usuario root. Esto hace que
trabajando como superusuario un poco ms compleja, pero tambin mucho menos arriesgado.
De hecho, muchas distribuciones de Linux ya no
establecer una contrasea, sino ms bien asignar un nuevo usuario el poder de sudo en la
creacin. Esto significa que toda la administracin
debe hacerse a travs de un usuario habilitado con el comando sudo para emitir todas las
funciones de administracin necesarias.
De manera que se puede ejecutar como root, sudo solicita la contrasea del usuario con el fin de
validar que usted es quien dice
usted es, no slo alguien con acceso que dejaron su teclado sin usar. Adems de pedir a todos
los usuarios por su
contraseas, sudo tambin tiene un archivo de direccin que gobierna qu usuarios y grupos
tienen acceso al comando sudo y
incluso la capacidad de limitar los programas que se pueden ejecutar a travs de sudo. Hay un
comando especial, visudo, para editar
este archivo de direccin (llamado el archivo sudoers) que debe ejecutarse como root (as como
prefijo con sudo):
$ Sudo visudo
Este cdigo de incendios hasta un caso especial de uno de los editores de texto del sistema
(normalmente vi o nano) con el archivo sudoers
ya cargado para ser editado. Para una runthrough rpido de cmo usar vi y nano, por favor
revise el Captulo 6.
www.it-ebooks.info
Pgina 103
Captulo 5 Comandos esenciales
90
Dentro del archivo sudoers hay una serie de cosas que controlan cmo funciona el entorno de
sudo, incluyendo un CAMINO
variable (que vamos a cubrir ms adelante). Lo importante, sin embargo, es la lnea en la
seccin que se ve USERAUTH
Me gusta esto:
root ALL = (ALL: ALL) ALL
Esta lnea indica que el usuario root en todos los hosts puede tener acceso a todos los comandos
de todos los dems hosts (un anfitrin es un servidor de la
red). Esto es un poco confuso, pero bsicamente otorga acceso completo a cualquier usuario que
pueda identificarse como root. Ahi esta
Tambin otra lnea:
% Sudo ALL = (ALL: ALL) ALL
Esta lnea dice que los miembros del grupo sudo tambin pueden hacer las mismas cosas que el
usuario root: acceso a todos
los hosts de la red de todos los comandos que se pueden ejecutar en todos los hosts de la red.
Usted se dar cuenta de que el principal%
se utiliza para significar que se trata de un nombre de grupo. El formato bsico de una de estas
lneas es la siguiente:
<Usuario> <de qu mquinas> = (<En qu mquinas>: <qu comandos>) <opciones de
comandos y comandos>
Esta sintaxis es un poco confuso al principio, as que vamos a echar un vistazo a la creacin de
un conjunto particular de permisos para el usuario pi
como ejemplo. En primer lugar vamos a necesitar para crear un nuevo conjunto bsico de
permisos de usuario que se ver igual que los usuarios root,
pero en su lugar se referir a nuestro usuario pi. Esta lnea se ver as:

pi = TODO TODO
TODAS
He quitado el <en el que los ejrcitos: el que ordena> seccin y lo reemplaz por uno todos los
genricos para hacer
las cosas un poco ms fcil de entender. Ahora digamos que queremos que el usuario no pi que
se le solicite una contrasea. Para hacer esto,
aadimos una NOPASSWD: antes de la final TODO lo que representa comandos. Esto nos da
una nueva lnea:
pi = TODO TODO
NOPASSWD: ALL
Si se agrega esto ahora, puede ejecutar todos los comandos como usuario pi sin necesidad de
proporcionar incluso una contrasea. Esto es
un comando muy peligroso, as que vamos a modificar ligeramente para que sea slo el
comando visudo que se puede ejecutar.
Para ello, se sustituye la ltima TODOS los comandos con el comando que deseamos utilizar,
que en este caso es visudo. Pero
no podemos simplemente escribir visudo, tenemos que proporcionar toda la ruta de la
aplicacin, que es / usr / sbin / visudo. Por lo tanto,
obtener la siguiente:
pi = TODO TODO
NOPASSWD: / usr / sbin / visudo
Ahora que debera estar recibiendo la idea de lo que puede hacer dentro del archivo sudoers
para controlar cmo el comando sudo
se accede. Puede tener varias entradas que rigen la forma en que estos comandos se pueden
ejecutar, por quin y bajo qu
condiciones. Tambin hay una gran cantidad de funcionalidades para la adicin de los alias, que
puede ser de grandes combinaciones de
comandos, hosts o usuarios. Gran parte de la sintaxis de estos comandos est disponible en el
manual para sudoers.
Finalmente, una ltima orden para que usted pueda tener en cuenta es el comando su, que es la
abreviatura de cambio de usuario. Esta
comando hace exactamente lo que implica e interruptores que el usuario se encuentre, y si no es
root se le pedir que
introduzca la contrasea del usuario que desea cambiar. Uno de los tramposos niftiest para
ganar acceso root es combinar
www.it-ebooks.info
pgina 104
Captulo 5 Comandos esenciales
91
sudo y su para cambiar al usuario root, slo con la contrasea del usuario actual en lugar de que
el usuario de la raz.
Este comando es la forma en que muchas personas obtienen alrededor de la limitacin "no
conoce la contrasea de root" colocado por muchos
distribuciones de Linux:
$ Sudo su El signo menos indica que se desea obtener una entrada para el medio ambiente, y porque no
hay otros argumentos son
proporcionado, se intentar acceder al sistema como superusuario. Tambin puede usar esto
para cambiar de usuario aadiendo el nombre de usuario para una
de usuario dado con anterioridad a la menos. Tambin puede utilizar el comando sudo con la
opcin -i para obtener un shell interactivo que
alcanzar la misma cosa:
$ Sudo -i
RTFM

Uno de mis refranes favoritos del mundo de la tecnologa es RTFM , que es la abreviatura de
manual Lee The Flaming . Aunque no tengo
encontr que pedir a la gente para la asistencia es buena, siempre es reconfortante saber que hay
un manual se puede leer,
y Linux no es una excepcin. La mayora de las aplicaciones vienen con un manual de
documentos que se pueden acceder usando el hombre
mando! Este comando toma lo que desea obtener la pgina del manual de como primer
argumento. Por lo tanto, si desea
para mirar la pgina del manual para el comando sudoers con el fin de tener una mejor idea de
cmo escribir el archivo sudoers,
tendra que escribir esto:
sudoers $ man
Y entonces aparecera la pgina del manual. Navegacin por una pgina del manual se realiza
de la misma manera que uno navegar por una
documento abierto con menos (que es un comando vamos a cubrir ms adelante en este
captulo), lo que la navegacin se realiza con
las flechas y con la pgina arriba y pgina abajo llaves. Tambin puede buscar una cadena
pulsando / y luego escribir lo
que desea buscar. La clave n le ayudar a navegar a travs del archivo. Por lo tanto, si alguna
vez se encuentra en necesidad
de algo ms de informacin acerca de un comando, recuerde leer The Flaming pgina de
manual!
Monitoreo de recursos del sistema
Una de las principales cosas que tendr que hacer un administrador de sistemas es supervisar el
uso de los recursos en su sistema.
Mientras que algunos de estos comandos pueden ser de menor utilidad para el usuario medio Pi,
hay algunos momentos en los que poder
ver lo que su sistema est haciendo ser muy til.
El primer comando del sistema para tener en cuenta es la parte superior, que es un comando
para mostrar el uso actual de
recursos dentro de su sistema y visualizacin de los procesos que estn consumiendo qu nivel
de recursos. los
la parte superior de comandos es increblemente poderosa y muestra una gran cantidad de
informacin acerca de su uso de recursos de los sistemas.
La salida de la parte superior normalmente se ve como en la Figura 5-1 .
o
www.it-ebooks.info
pgina 105
Captulo 5 Comandos esenciales
92
La salida del comando superior es enorme y si usted mira, todos los valores no se actualizan con
regularidad. Vamonos
sobre la lnea de salida superior por la lnea para que pueda entender lo que est viendo.
El tiempo de actividad y la carga media
La primera lnea proporciona informacin sobre el tiempo actual y el tiempo de actividad del
sistema. A continuacin, se muestra el nmero de
los usuarios del sistema y, finalmente, la carga media. Carga media es una de las cosas ms
difciles de comprender; es un
"Meta" variables porque se refiere a lo que est sucediendo dentro de su sistema con respecto a
la capacidad del sistema para llevar a cabo.
Figura 5-1. Arriba en la accin!
www.it-ebooks.info
pgina 106

Captulo 5 Comandos esenciales


93
Contiene 3 valores que dan el promedio de los minutos actuales, los ltimos 5 minutos y los
ltimos 15 minutos. Carga
promedio representa el promedio de uso del clculo real y la demanda de recursos de
computacin del sistema.
Probablemente la mejor manera de pensar en promedio de carga que he odo es como una
autopista. Normalmente, el valor de porcentaje de CPU
Uso representa la cantidad de los actuales recursos de computacin disponibles se estn
utilizando. Esto es similar a la medicin de
la cantidad de trfico se encuentra actualmente en la autopista. El promedio de carga compara
tanto la cantidad de cmputo est siendo
la demanda utilizando y el que no es para uso de la CPU. Esto es como el examen tanto de la
autopista y sus rampas de entrada. los
diferencia entre los dos llega al mirarlo desde la perspectiva de un "almuerzo muy transitada",
lo que significa que hay
un montn de coches en la autopista, pero slo porque "se trata de un almuerzo muy transitada,"
todo el mundo puede llegar a la autopista y usarlo,
nadie se ha quedado atascado esperando en la rampa, y el trfico est fluyendo muy bien.
Esta es la razn promedio de carga es un potente mtrica tales; que le permite ver la demanda de
la informtica de su sistema
de energa en tiempo real, de modo que se puede ver cuando una solicitud comienza a pico y por
lo tanto puede actuar a la menor demanda.
Vaya, eso es mucho en una sola lnea!
Tareas
La segunda lnea de la salida superior se muestran las tareas que el sistema est efectuando en
ese momento:
El nmero total de procesos

El nmero de procesos que se ejecutan de forma activa

El nmero de procesos que estn durmiendo en el fondo

El nmero de procesos detenidos

El nmero de procesos zombi

La mayor parte de estos procesos son de uso general para ser consciente de lo que est
sucediendo dentro de su sistema. pero zombi
procesos pueden ser un verdadero problema. Estos procesos son procesos que hayan terminado
de ejecutarse, pero siguen siendo residentes en
memoria de sistema a menudo porque tienen que enviar un valor de retorno al proceso que dio
lugar a ellos, pero an no se han de hacer
por lo tanto, debe esperar y no como los muertos vivos antes de que puedan enviar su mensaje
final y salida hacia la otra vida.
Tener un proceso zombi larga ejecucin puede indicar un problema con la aplicacin que se
utiliza para desovar, lo cual
se llama su padre. Si ves procesos zombi en su sistema echar un vistazo para ver qu proceso
dio lugar a ellas y
comprobar sobre su estado de ejecucin y archivos de registro (archivos de registro se emiten
desde las aplicaciones que se escriben en el disco, por lo que como el
administrador de sistemas puede ver lo que estn haciendo), ya que esto puede ser indicativo de
un problema ms grande.
Porcentaje de uso de CPU
La tercera lnea de la orden superior es el valor del porcentaje de uso de CPU. Esto demuestra

en trminos de porcentaje de cmo


gran parte de su recurso de cmputo actual se asigna a qu dominio de su sistema. Los valores
son los siguientes:

nosotros (para aplicaciones de usuario)

sy (para aplicaciones de sistemas)

ni (para los procesos que se han "prioridad alterada por nice" con el fin de darles mayor o menor
prioridad de la CPU)

id (que representa inactivo)

wa (para los procesos que estn en espera de E / S de finalizacin)

hola (para procesos en espera de interrupciones de hardware)

Si (para los procesos en espera de interrupciones de software)

st (que indica tiempo robado por un hipervisor un hipervisor es un software que se ejecuta
la plataforma de virtualizacin como Xen o VMware ESX)
www.it-ebooks.info
pgina 107
Captulo 5 Comandos esenciales
94
De estos valores, la que normalmente tendr el recurso ms clculo asignado a ella es id, que
representa clculo libre disponible que puede ser utilizado en otro lugar. Al ver los valores altos
de wa, hola, si, o ST no son nunca
buenas seales, ya que sugieren que el sistema est a la espera de una determinada pieza de
hardware o de otra funcin para terminar
tratamiento. Si estos nmeros se mantienen altos, usted debe buscar en la investigacin de la
causa que procesa ellos y ver si
tener cualquier problema de hardware.
Uso de memoria
Las lneas 4 y 5 representan el uso de memoria de su sistema. La lnea 4 es para el uso de
memoria real, y la lnea 5 es para el
el uso de espacio de intercambio. Ambas lneas se mostrar el utilizado, y la memoria total, libre
en su espacio dado. Este valor final
representa los tampones y valor almacenado en cach. Estos dos son relacionados entre s y son
la causa de mucha preocupacin para los usuarios nuevos
a Linux. Este Hass que ver con la forma en que se asigna la memoria RAM. Linux a veces
puede tomar hasta toda la memoria RAM y el lugar disponible
en un tampn, lo que significa que es tomada por los tampones, pero todava se puede utilizar
ms adelante para sus aplicaciones. Linux
el tratamiento de esta memoria RAM de ser utilizado, pero est all sentado en las memorias
intermedias de espera. El valor tampones puede ser un poco difcil de
entender; esto lleva a otro comando que muestra cmo se utilizan estos recursos (Voy a cubrir la
prxima).
La tabla de procesos
Despus de la quinta lnea hay una gran seccin que contiene una tabla de procesos, que
enumera todos los procesos en ejecucin y, en
actualizaciones en tiempo casi real, los procesos que estn consumiendo la cantidad de los
cuales los recursos. A continuacin se muestra una serie
de diferentes columnas y las piezas de informacin que representan:


PID : nmero de identificacin de los procesos "

USUARIO : El usuario que posee el proceso de

PR : La prioridad del proceso

NI : El valor agradable para el proceso de

VIRT : La cantidad de memoria virtual que consume el proceso

RES : El tamao de la memoria virtual residente real

SHR : La cantidad de memoria compartida del proceso est utilizando

S : El estado del proceso (por ejemplo, dormir, correr, zombi)

% CPU : el porcentaje de CPU consumido

% MEM : El porcentaje de RAM consumida

TIEMPO + : El tiempo de CPU total de la tarea se ha utilizado desde que comenz

COMANDO : El nombre real del comando


superior tambin tiene una serie de acciones de pulsacin de teclas que pueden manipular el
orden en el que aparecen estos procesos;
se puede comprobar a cabo en la pgina del manual de la parte superior.
As que la parte superior es un comando fantstica para mostrar todos los pormenores de la
utilizacin de recursos del sistema y uno de los mejores
herramientas para sumergirse en la naturaleza exacta de lo que su sistema est haciendo dentro
de s mismo.
www.it-ebooks.info
pgina 108
Captulo 5 Comandos esenciales
95
El uso gratuito para ver la asignacin de memoria
Como se mencion anteriormente, hay una manera ms fcil que usar la parte superior para ver
lo que su asignacin de memoria es como. El comando
para hacer esto es el comando libre, que se puede invocar con la unidad que desea que se
muestre en (-k para kilobytes,
-m para megabytes, -g para gigabytes, y as sucesivamente). Para nuestros propsitos.
megabytes es mejor, as invocar la siguiente manera:
$ Libre -m
El resultado debe parecerse a la figura 5-2 .
Figura 5-2. Libre como en el libre
Figura 5-3. Disco libre, ay!
A partir de esto, se puede ver los tampones y +/- lnea de cach que cambian los valores usados
y libres. Esto es genial
manera de cuestionar cualquier momento el sistema muestra los picos de memoria de hasta el
100%, ya que slo puede haber un montn de buffers y cach
en accin. A partir de estas dos utilidades que debera ser capaz de obtener una gran
comprensin de exactamente lo que est sucediendo dentro de su
sistema y cmo se utilizan sus recursos.
Uso del disco

Ahora que hemos visto la CPU y uso de memoria RAM, que son bastante dinmica, es el
momento de echar un vistazo a algo de
una naturaleza ms esttica, utilizacin del disco. En la mayora de los sistemas operativos de
forma rpida y fcilmente puede ver cunto de la
espacio de almacenamiento disponible est en uso, y Linux no es una excepcin. El comando
para mostrar el uso actual de la totalidad
los discos del sistema es df, que es la abreviatura de disco libre y se puede utilizar en la lnea de
comandos sin argumentos para mostrar
todo lo que necesitas. Si lo hace, su salida ser similar a la Figura 5-3 .
La Figura 5-3 muestra libre en disco en la accin y muestra que los principales rootfs montados
en / es bsicamente el 100% lleno-ay.
Se puede ver el nmero de bloques de 1 k siendo utilizados por el sistema, pero los valores no
se destacan muy fcilmente. Tambin lo hars
tenga en cuenta que hay un error de permiso denegado en la parte superior.
www.it-ebooks.info
pgina 109
Captulo 5 Comandos esenciales
96
Afortunadamente, existen soluciones para estas dos cuestiones. En primer lugar se va a ejecutar
este comando con sudo para que tenga la raz
el acceso a todo el sistema. El segundo consiste en aadir el argumento -h. Este argumento es
bastante universal en ser uno de
dos cosas: o bien -h para ayuda o para -h humana , es decir, unidades de lectura humana. As
que ejecuta este comando:
$ Sudo df -h
La salida debe ser mucho ms comprensible para el ser humano medio (vase la Figura 5-4 ).
Figura 5-4. Df para los seres humanos
Como se puede ver, la bandera legible por humanos ha cambiado los valores de tamao y de
segunda mano a un legible por humanos
nmero con una pequea bandera en la unidad final que denota. Experimentando con banderas
de visualizacin es una gran manera de ayudarle
sentido de algunos de los datos complejos que salen de los comandos de Linux. Normalmente se
encuentra una seccin de gran
detallando (en demasiada profundidad) todas las banderas de un comando en su pgina de
manual.
As, hemos visto la utilizacin del disco completo del sistema, pero digamos que queremos
encontrar la utilizacin detallada de todos
los archivos en una carpeta. Hay otro comando que podemos utilizar para hacer precisamente
esto: du, que es la abreviatura de uso del disco y que se usa
para resumir el uso del disco de cada archivo, de forma recursiva para los directorios. Si ejecuta
du, que le dir lo que el estimado
uso de cada archivo dentro de esta carpeta es y la de cada subcarpeta y cada artculo dentro de
ella y sus subcarpetas, y as sucesivamente.
du Tambin se aprovechar de la -h para la bandera humana que estaba en df. As que si lo
ejecutamos, obtenemos una salida como esta:
$ Du -h
./.cache/dconf 4.0K
12K ./.cache/menus
./.cache/midori/web 576K
4.0K ./.cache/midori/thumbnails
24K ./.cache/midori/icons
608K ./.cache/midori
4.0K ./.cache/openbox/sessions
./.cache/openbox 12K

./.cache 640K
./.dbus/session-bus 12K
./.dbus 16K
./.tor 5.0M
./.ssh 12K
1.8M ./python_games
8.0K ./.dillo
./.vnc 20K
4.0K ./.gvfs
./.gnupg 124K
www.it-ebooks.info
pgina 110
Captulo 5 Comandos esenciales
97
8.0K ./.fltk/fltk.org
./.fltk 12K
48K ./Desktop
8.0K ./.config/lxpanel/LXDE/panels
16K ./.config/lxpanel/LXDE
./.config/lxpanel 20K
8.0K ./.config/pcmanfm/LXDE
./.config/pcmanfm 12K
8.0K ./.config/lxterminal
./.config/midori 28K
./.config/enchant 4.0K
./.config/openbox 28K
./.config 104K
./.fontconfig 76K
./.netsurf 16K
./.local/share/gvfs-metadata 40K
./.local/share/webkit/icondatabase 36K
./.local/share/webkit 40K
./.local/share 88K
92K ./.local
9.0M.
Wow, eso es una gran salida para un comando tan simple. Se muestra la utilizacin de cada
carpeta dentro de la actual
carpeta, y justo en la parte inferior se muestra el uso total. Aqu es donde podemos disfrutar de
otra bandera en
Para acortar la salida: la bandera -s que es sinnimo de resumen . Hacer esto slo imprimir la
asignacin total para este
directorio y todo dentro de ella, en lugar de todo lo que acabamos de ver. As que adelante y
ejecutar el comando; tu
resultado debe ser mucho ms ordenado:
$ Du -sh
9.0M.
Eso est mucho mejor. Usted se dar cuenta de que la salida est utilizando la. valor para indicar
el directorio actual, porque du
trabajar en el directorio de trabajo actual, si no dijo dnde ms buscar. Se puede especificar un
directorio para utilizar simplemente
la adicin de uno hasta el final. El siguiente ejemplo se ver en / var / log, que es donde se
guardan todos los registros del sistema, por lo que necesitar
para ejecutar este comando como root con sudo ya que algunos de estos archivos de registro
estn protegidos:

$ Sudo du-SH / var / log


9,8 m / var / log
Y ah lo tienes! Con estas dos utilidades, se puede encontrar el uso de disco actual de su
sistema e incluso
averiguar qu partes del sistema estn consumiendo la mayor parte del espacio.
Gestin de procesos
Probablemente una de las tareas ms importantes cuando se trabaja dentro de un entorno Linux
es saber cmo manejar
Procesos corriendo. Despus de todo, un ordenador es slo un sistema de procesamiento, y si no
se puede gestionar lo que est procesando, cmo
Puede usted realmente hacer un buen uso de su mquina? El primer comando que debe ser
consciente de es el comando ps.
El comando ps es la abreviatura de los procesos de captura y se puede utilizar para enumerar
todos los procesos actuales que se estn a cargo de su
usuario; cuando se invoca, debe obtener una salida como la que se muestra en la Figura 5-5 .
www.it-ebooks.info
Pgina 111
Captulo 5 Comandos esenciales
98
S, es un poco aburrida en este momento, ya que slo estoy corriendo dos procesos: la
aplicacin que se est ejecutando Bash mi
shell de usuario y la copia de los ps. Dado que esta es una instantnea, la aplicacin siempre se
captura en s. Esto es til si quiero
para controlar los procesos ejecutados por mi usuario actual, pero si he de hacer algo ms, que
tendr que aadir algunos argumentos a mi ps
mando. El argumento para mostrar todos los procesos del sistema en la sintaxis estndar es ef,
as que adelante y de ejecucin que
y ver cmo los cambios de salida (ver Figura 5-6 ).
Wow, eso es una gran cantidad de la produccin, tanto que se sali de la parte superior de la
pantalla! Siempre hay un gran nmero de
procesos que se ejecutan en el sistema al ejecutar ps-ef ya que esta lista todos los procesos de
los sistemas de fondo, junto con
todos los procesos de usuario. Si usted quiere ver en una lista, simplemente puede aadir a |
menos hasta el final de su comando, el cual
te dejar ir arriba y abajo y manipular la lista (voy a explicar lo que el comando less en realidad
hace un poco ms tarde
en este captulo):
$ Ps -ef | Menos
Figura 5-5. Los procesos actuales
Figura 5-6. Ps-ef
www.it-ebooks.info
pgina 112
Captulo 5 Comandos esenciales
99
PS es muy parecido a la parte superior, pero requiere menos recursos y tiene algunas otras
ventajas que vamos a cubrir ms adelante en este
captulo. Por ahora, slo debe estar al tanto de lo que cada una de las columnas en ps significa:

UID : Representa el usuario que posee este proceso

PID : Representa el nmero PID del proceso

PPID : Representa el nmero PID del proceso que ha creado este uno


C : Representa utilizacin de la CPU de este proceso

STIME : Representa la hora de inicio de este proceso

TTY : Representa la terminal de control de este proceso

TIEMPO : El tiempo de CPU acumulado consumida por este proceso

CMD : El argumento de lnea de comandos de este proceso


Por lo tanto se le puede decir: "Bueno fina. Usted ha recibido todos los procesos en el sistema,
pero qu se puede hacer con ellas
? Ahora "Aqu es donde la magia de ps entra; que hace que sea muy fcil para nosotros para
recoger el PID de un proceso particular.
El nmero PID es muy importante, ya que es un nmero nico para cada proceso y es la forma
en que las referencias del sistema
procesos. Esto ser muy til en nuestra siguiente orden: matar.
Matar a un Proceso
kill se usa para hacer exactamente lo que su nombre implica: matar a los procesos. Pero tambin
proporciona una serie de otras funciones tiles
a travs del mecanismo a travs del cual mata procesos. En Linux y UNIX, una seal es un
mensaje del sistema de bajo nivel que es
pasado a una aplicacin desde el sistema operativo. Las seales no tienen ninguna funcin real
ms all de ser una seal, y es
hasta la aplicacin de responder a ella de la manera correcta. Esto no es cierto para todas las
seales, ya que algunos no se pueden manejar
dentro de la aplicacin, pero es cierto para la mayora. La funcin del comando kill es para
enviar seales a las aplicaciones.
Hay 64 seales de que la versin de la matanza en Raspbian puede enviar a una aplicacin.
Enumerarlas todas, expedir el presente
mando:
$ Kill -l
No voy a enumerar todas las funciones de las seales, pero usted tendr que estar al tanto de
estos, las seales ms comunes:

Seal 1 (SIGHUP) : Abreviatura de colgar . Le dice a la aplicacin de colgar su conexin


actual.
Normalmente se utiliza para hacer una aplicacin reinicializar s.

Seal 3 (SIGQUIT) : Las seales que esta aplicacin debe cerrar con gracia en s hacia abajo y
dejar de fumar.

Seal 6 (SIGABRT) : Indica que el programa est siendo abortada; es cerrar inmediatamente.

Seal 9 (SIGKILL) : Las seales de la fuerza "desconectar" en una aplicacin.


Estas seales son los ms comunes a medida que se utilizan para realizar paradas de aplicacin,
con nueve siendo el ms
predominante. El formato del comando kill es la siguiente:
matar - <seal> <PID>
As que para matar un proceso con la fuerza ms alta, ejecute lo siguiente:
$ Kill -9 <PID>
www.it-ebooks.info
pgina 113
Captulo 5 Comandos esenciales

100
Este es el punto donde los PID fuera del comando ps entran en juego. Esos nmeros de PID son
los que
se va a colocar en matar el fin de dirigir las seales de matanza.
La lectura de la informacin en / proc
Dado que estamos jugando con los PID, que es probablemente bueno volver a examinar el
sistema de archivos / proc, discuti por primera vez en el Captulo 4. Este es
parte del sistema operativo en el que vive toda la informacin del proceso. Si utiliza ls / proc,
ver una serie de archivos y un conjunto
de numeracin directorios. Estos directorios corresponden a cada uno de los PIDs de proceso. Si
nos fijamos en una de estas
directorios, debera ver una gran cantidad de archivos que se relacionan con un proceso dado.
Aunque nunca se debe modificar cualquiera de estos
de cualquier manera, hay algunos archivos dentro de estos directorios que son muy tiles.
Probablemente el ms utilizado es un archivo de todo el sistema que contiene informacin sobre
todos los procesadores del sistema.
Este es el archivo / proc / cpuinfo. Puede imprimir los contenidos de un archivo a la pantalla
utilizando el comando cat, el cual
es la abreviatura de concatenar y normalmente se utiliza para obtener el contenido de un
archivo en una memoria intermedia (en nuestro caso, es la consola
pantalla). Vaya por delante y emitir la siguiente:
$ Cat / proc / cpuinfo
El resultado debe tener este aspecto:
Procesador: compatible con ARMv6 rev procesador 7 (v6l)
BogoMIPS: 697.95
Caractersticas: swp la mitad del pulgar fastmult VFP EDSP TLS java
implementador CPU: 0x41
arquitectura de CPU: 7
variante CPU: 0x0
parte de la CPU: 0xb76
revisin CPU: 7
Hardware: BCM2708
Revisin: 0003
De serie: 000000007a8a46ba
Esta es la informacin interna de Linux en el procesador de la Frambuesa Pi. Si alguna vez tiene
dudas sobre algunas de las
los detalles de su procesador, este es el lugar para buscar.
Adems de cpuinfo, hay otro archivo / proc que se puede aprovechar el sistema al diagnosticar
informacin de configuracin. Es el archivo / proc / <pid> / cmdline. Este archivo lista completa
el argumento de lnea de comandos utilizada para
invocar un proceso. Si tiene que poner las manos sobre los comandos que se utilizan aqu, la
ejecucin de gato contra este fichero es la mejor
manera de hacerlo.
Comandos de archivos
Como se mencion anteriormente, se puede utilizar el comando cat para dar salida a los
contenidos de un archivo. Hay un nmero de otros
herramientas que puede utilizar para trabajar con los contenidos de los archivos dentro de su
sistema. El primero es el que se ha mencionado anteriormente: la
menos de comandos. Es un comando para mostrar el contenido de un archivo a la pantalla de
manera que se pueden mover alrededor y
buscado como si se tratara de un editor de texto. Este es un gran dominio para trabajar con
archivos de registro o de la salida de los comandos largos
tales como ps. menos le permite mover arriba y abajo el archivo con las teclas de flecha o con la
pgina y av pg.
Tambin puede buscar mediante bsquedas de palabras simples escribiendo / y luego entre en la

cadena de bsqueda. menor ser despus resalte


las copias que se encuentren de sus expresiones, y que pueden pestaa entre ellos con la tecla n
para ir hacia abajo y la tecla N para subir.
Adems de ser capaz de buscar dentro de un archivo de cosas, menos tiene la posibilidad de ver
el archivo y constantemente
mostrar cualquier contenido nuevo en la ltima lnea. Esto es ideal para ver los archivos de
registro de crecimiento como se puede recoger nuevas lneas
www.it-ebooks.info
Pgina 114
Captulo 5 Comandos esenciales
101
sin necesidad de volver a abrir el archivo, para obtener menos para realizar esta funcin, basta
con pulsar la tecla F. Junto con esto, se
Tambin puede navegar automticamente al final de un archivo pulsando la tecla G. Este
proceso tambin se agarra nuevas lneas que
Se han aadido al archivo y lo muestra. Tambin puede utilizar la minscula g para navegar a
un nmero de lnea especfico, por lo
si desea ir a la primera lnea, presionara 1g. Por ltimo, menos es capaz de responder a todos
sus argumentos de lnea de comandos
dentro de s mismo. Esto es til para permitir que los nmeros de lnea ya que simplemente
puede dar menos el comando -N <Intro> y lo har
muestran nmeros prximos a cada lnea.
Despus de menos, uno de los comandos que proporcionan una cantidad sorprendente de la
flexibilidad es el comando find, que se utiliza
para buscar archivos. Esto se hace mediante el examen de todos los archivos en el directorio
dado y todos sus subdirectorios. hallazgo es til
por s solo, pero extraordinaria cuando se combina con otros comandos como se ver ms
adelante. Tambin cuenta con una memoria cach de salud
Opciones que son intercambiables y se pueden combinar. Voy a cubrir algunas que he
encontrado muy til aqu:
El primero es

-L, Que dice seguir enlaces simblicos, que encuentran no hace por defecto.
En segundo lugar est

-maxdepth <nmero>, que representa el nmero de directorios de profundidad este comando


buscar a travs. Slo el nico? Slo este y todos sus subdirectorios?
En tercer lugar est

-newer <archivo>, que muestra todo lo que se ha cambiado ms recientemente que


un archivo determinado.
En cuarto lugar est

-empty y que, como su nombre lo indica, busca los archivos vacos.


En quinto lugar es

-atime <nmero>, donde el nmero representa el nmero de das que han pasado
desde que se accede a un archivo.
El sexto es

-name <nombre de archivo>, que busca archivos con el nombre exactamente igual que el
nombre se ha pasado.
El ltimo es

exec <comando>, que indica a encontrar para ejecutar una orden dada en cada uno de los
archivos y
es donde el poder real del descubrimiento que sale. Puede utilizar este comando para buscar
archivos especificados
y luego ejecutar comandos en ellos. De esta manera, utilizando hallazgo es una fantstica
manera de ejecutar
una limpieza de archivos no deseados de edad avanzada, por ejemplo. Tambin me aconsejo
que cuando se utiliza encontrar en este
de manera que primero debe probar y probar a fondo debido a un golpe de tecla incorrecta
podra significar
la fatalidad de su sistema o sus datos.
La combinacin de estos comandos, se puede lograr algo que se parece a esto:
$ Find / mnt / Volume1 -empty -nombre fooBar -exec rm
Este comando encontrar todos los archivos vacos dentro de / mnt / Volume1 que estn vacos
y nombrado fooBar y luego retire
ellos! Hay tanto poder en el comando find que se puede aprovechar en la administracin de su
Pi.
Otro comando que tiene un importante uso limitado, si es el comando de archivo. El comando
de archivo se utiliza para ir
a travs de los contenidos de un archivo dado y determinar qu "tipo" de archivo se trata. Kind
es un poco de un trmino inexacto aqu porque
archivo slo conoce un nmero moderado de diferentes tipos de archivos. Sin embargo, es
increblemente til cuando se desea conocer
una respuesta a esta pregunta: "Puedo con seguridad abrir ese archivo en un editor de texto, o
se trata de una aplicacin binaria?" Este particular
comando que puede ahorrar muchos dolores de cabeza. Tambin puede utilizar el archivo para
determinar qu formato de archivo es una aplicacin
por escrito, lo cual es una gran ayuda cuando se necesita extraer de un archivo, pero no saben
qu tipo! Como ejemplo,
si se ejecuta contra un archivo ejecutable binario como / bin / bash, debera ver lo siguiente:
$ Archivo / bin / bash
/ bin / bash: ELF 32-bits LSB, ejecutables (libs usos compartidos) ARM, versin 1 (SYSV),
vinculada de forma dinmica,
para
GNU
/
Linux
2.6.26,
BUILDID
[SHA1]
=
0xe370a0be978f49569f115c9f41bc54688be9fe32, despoj
El cdigo de muestra que el archivo es un ELF 32-bits LSB ejecutable compilado para un
sistema de brazo, por lo que el archivo debe estar
compatible con tu Pi. Esta es una buena manera de diagnosticar cualquier problema que pueda
tener con aplicaciones descargadas de
Internet, ya que pueden ser compilados para x86!
www.it-ebooks.info
pgina 115
Captulo 5 Comandos esenciales
102
El ltimo comando de archivo que tengo para ti en esta seccin es uno de esos comandos que
muchas personas odian y muchos
ms amor: grep . grep es la abreviatura de Generalizado analizador de expresiones y es mejor
conocido como un comparador de patrn.
Al igual que menos y encontrar, grep es til por s misma y til cuando se combina con otros
comandos. Puedes usar
grep para buscar un archivo dado por las lneas que contienen una cadena de texto dada. El
formato bsico de grep es la siguiente:
grep <patrn> <archivo>
Ambos estos valores tomarn el formato de carcter comodn, por lo que se pueden utilizar grep

para buscar a travs de todos los archivos en un todo


directorio para una cadena. A modo de ejemplo, vamos a buscar la palabra encontrar en la
carpeta /etc./init.d:
$ Grep encontrar /etc./init.d/*
La salida sera la siguiente:
/etc./init.d/checkfs.sh:# Incluir / usr / bin en el camino para encontrar on_ac_power si / usr / es
en la raz
/etc./init.d/checkroot.sh:# Incluir / usr / bin en el camino para encontrar on_ac_power si / usr /
es en la raz
/etc./init.d/kbd: LIST_CONSOLES = 'cd /etc./init; encontrar 'TTY * .conf' -nombre -printf '% f'
| sed -e 's / [^ 0-9] // g' '
/etc./init.d/kbd: # finalmente encontrar un asociado SFM
/etc./init.d/nfs-common:# demonio particularily pesada, por lo que automticamente le permiten
si encontramos una
/etc./exports
Ahora /etc./init.d/rc:# averiguar cul es el actual y el nivel de ejecucin lo anterior son.
/etc./init.d/sudo: find / var / lib tctil / sudo -exec -t 198501010000 '{}' \;
grep tambin tiene algunas opciones de lnea de comandos maravillosas, incluyendo -i, que hace
que la bsqueda que ignore.
grep tambin tiene la opcin -v. que convierte una bsqueda en su cabeza y devuelve todo lo
que no coincide con la bsqueda dada
cuerda! Esto debe darle una idea de lo poderosa que puede ser una herramienta grep cuando se
desea encontrar una pieza dada de
la informacin y por lo tanto por qu es una parte impresionante para el arsenal de un
administrador de sistemas de comandos.
La combinacin de los comandos
Ahora llegamos a la parte divertida! La capacidad de combinar comandos para que pueda
utilizar la salida de un comando y
darle a un segundo mandato para trabajar con ellos. Tambin hay una serie de comandos que
voy a detallar aqu, ya que son
fantstica cuando se combina con otros. Pero primero es necesario entender cmo combinar
comandos y por suerte
es una cosa bastante fcil de lograr. Para combinar comandos, usamos el smbolo de
canalizacin (|).
S, es as de simple. Digamos que queramos grep algunas cosas, pero queramos la salida de
una manera ms manejable.
simplemente escribiramos el grep, aadir un tubo, y luego aadir un menor. De esta manera
usted se encontrar dentro de menos
mirando a la salida para su grep! Aqu es donde realmente comienza la diversin. Quieres
buscar todos los nombres de archivo en un determinado
directorio? Utilice ls para listar los archivos y canalizar la salida a grep para buscar. En este
caso, ni siquiera es necesario incluir
un nombre de archivo con el grep que la tubera proporcionar grep con lo que se conoce como
un tampn que grep tratar el mismo que
presentar contenidos! As que el comando es la siguiente:
$ ls <directorio> | grep <cadena de bsqueda>
Combinar ps y grep
Ahora, si usted quiere jugar ms con las cosas, se puede combinar con grep ps-ef! De esta
manera, se puede buscar una
aplicacin especfica; por ejemplo, para buscar la aplicacin sshd SSH, se correra el siguiente:
$ Ps -ef | grep sshd
www.it-ebooks.info
pgina 116
Captulo 5 Comandos esenciales

103
Esto generar el siguiente resultado:
raz 1,722 1 0 19:24? 00:00:00 / usr / sbin / sshd
1956 1722 0 raz 19:43? 00:00:00 sshd: pi [PRIV]
pi 1963 1956 0 19:43? 00:00:01 sshd: pi @ pts / 0
pi 2030 1964 0 20:33 pts / 0 00:00:00 grep -color = sshd automtico
Aadir un grep Inversa
Ah! Hay un problema! Nos pareca haber cogido nuestra propia grep en el comando. Pero eso
no es problema que puede
simplemente tubera una vez ms a grep y hacer un -v para grep, que nos devolver todas las
lneas sin grep. Esto nos da la
mando:
$ Ps -ef | grep sshd | grep -v grep
Esto da una salida de este:
raz 1,722 1 0 19:24? 00:00:00 / usr / sbin / sshd
1956 1722 0 raz 19:43? 00:00:00 sshd: pi [PRIV]
pi 1963 1956 0 19:43? 00:00:01 sshd: pi @ pts / 0
Cortar los resultados
Mucho mejor! Ahora puede comenzar a ver lo que podemos lograr con el tubo, pero estoy muy
lejos de hacerlo con las cosas
puede utilizar esto para! Vamos a introducir el siguiente comando: awk. awk es una herramienta
para hacer la extraccin de datos a partir de una lnea de texto.
De esta manera, se puede tirar todo tipo de informacin de los comandos que se est ejecutando.
De forma predeterminada, awk tirar
cada elemento por divisin en el espacio en blanco , que es cualquier pestaa o el espacio entre
caracteres. Puede establecer el carcter
para dividir contra el uso de la -F <delimitador> argumento. Una vez que has dicho awk cmo
romper su texto, tendr que
salida de la misma. awk tiene una sintaxis todo para la salida de los comandos, y es una forma
de arte increblemente compleja.
Sin embargo, para la mayora de sus necesidades, slo tiene que imprimir el campo correcto va
a hacer. Todas las salidas estn envueltos en awk rizado
llaves {} y, y que normalmente tendr que envolverlos en comillas simples por lo que la lnea
de comandos ignorar cualquier espacio.
Esto significa que la sintaxis bsica es el siguiente:
$ Awk '{<comando>}'
El comando ms til para cualquiera que trabaje con awk tiene que ser el comando de
impresin, ya que se utiliza para
visualizar las variables delimitadas. Cada una de estas variables se trata como el nmero que
est en la secuencia, por lo que $ 1 para la primera,
$ 2 para la segunda, y as sucesivamente. El uso de este podemos combinar el awk con nuestra
ps-ef de antes de imprimir el segundo
espacio campo delimitado, el PID! Esto nos da el siguiente comando:
$ Ps -ef | grep ssh | grep -v grep | awk '{print $ 2}'
Wow, estos comandos estn recibiendo mucho ! Pero examine la salida de este comando:
1722
1956
1963
Aha! La rpida entre los que se dar cuenta de lo que viene a continuacin! Podemos tubera
esta para matar! De esta manera, podemos utilizar una
ps, grep y awk para agarrar los PID de los procesos que coinciden con un patrn determinado y
luego pasarlas a matar!
www.it-ebooks.info
pgina 117

Captulo 5 Comandos esenciales


104
xargs para trabajar con cada resultado
Esta es una de esas piezas de magia que nunca pasa de moda; Sin embargo, no podemos pasar
una lista de los PID directamente a matar porque
queremos que pasaron uno a la vez. Para ello, tenemos que tomar ventaja de otro comando,
xargs, que trabaja
de la misma manera que el -exec hace en hallazgo. Se le permite tratar cada lnea de salida de
los comandos antes de que
un argumento individual para otro comando. Para utilizar xargs, simplemente tenemos los
envuelven el comando de la misma
sudo manera lo hace. As que si queramos pasar cada uno de los PID a travs de xargs kill, nos
basta con ejecutar el siguiente
y que habra que:
$ Ps -ef | grep ssh | grep -v grep | awk '{print $ 2}' | xargs kill -1
En este caso, yo no ser matanza de mi proceso de sshd como yo no quiero reiniciar mi Pi. Sin
embargo, usted debe conseguir la idea
de cmo se puede comenzar a tomar la salida de un comando y pasndolo a travs de otro
comando para ejecutar ms
ejecuciones sobre estos comandos.
En realidad, hay una serie de otros comandos que vienen en muy prctico cuando se hace este
tipo de "Shellfu ". La primera es inodoro, que es corto para el recuento de palabras . De forma
predeterminada, wc le dar el salto de lnea, palabra, y recuentos de bytes para una
dado bloque de texto o un archivo, pero tambin tiene algunos grandes argumentos, como -l,
que le dar el nmero de lneas; -w,
que le dar el nmero de caracteres; o -m, que le dar el nmero de palabras.
Lo siguiente es una especie, que ordena cada lnea de la salida en orden. A menudo se ve una
especie se combina con uniq, que es la abreviatura de
nica . Con estos dos, se puede canalizar una salida para ordenar luego a Uniq, y usted tendr
slo los valores nicos en su
salida dada!
La ltima cosa a tener en cuenta cuando se trabaja con un nmero de comandos es el operador
de salida>. este operador
es de la misma familia que el tubo, pero en lugar de ser utilizados para dirigir su salida del
comando a otro comando, es
se utiliza para dirigir su salida a un archivo. Esta es una gran manera de ahorrar la salida de
comandos en un archivo para que pueda revisarlo
tarde o porque alguien se puede usar como argumentos a favor de otro comando. A estas alturas,
que debera estar recibiendo la impresin de que la
shell es increblemente potente y se puede hacer todo tipo de manipulaciones complicadas
mediante la combinacin de comandos con el tubo!
Entorno de usuario
Vamos a tomar un pequeo descanso de comandos que examinan y echar un vistazo a algunas
de las cosas que componen el
entorno en el que se trabaja. Su entorno se pone en marcha cada vez que se conecte, y cada vez
es la misma. Esta
se debe a una serie de archivos y comandos que proporcionan directrices sobre cmo el entorno
de shell sencilla debe ser hecho
y cmo se va a funcionar. Uno de los archivos clave que participan en la realizacin de estas
tareas es el control de los sistemas maestro
/etc./profile guin medio ambiente. Este archivo proporciona la base de las variables de shell y
el medio ambiente que son el
la base de la sesin de cada usuario.
El archivo de perfil establece una serie de variables, incluyendo la variable PATH. Esta variable

es una de las variables clave de


establecer cmo funciona el entorno de shell. As que vamos a tener una mirada en ella en
profundidad.
El camino es uno de los (si no la mayora) de las variables importantes de todo su entorno.
Representa los sistemas
ruta de bsqueda que significa bsicamente donde se buscar aplicaciones. A modo de ejemplo,
estoy seguro de que a estas alturas ya est
consciente de que todos los comandos que han ejecutado son slo palabras introducidas en la
cscara, pero en realidad son los nombres de totalmente
aplicaciones funcionales que se encuentran dentro del sistema operativo. El PATH contiene una
lista de carpetas que el shell buscar
a travs y ejecutar cualquier comando desde dentro de forma automtica. Esto significa que no
siempre est en busca de la
trayectoria exacta de un comando; slo puede funcionar cuando sea necesario por su nombre. El
problema aqu es que no se puede estar seguro
donde el programa se ejecuta desde, o si tiene varias versiones, que uno se est ejecutando. Hay
un comando
que resuelve este problema: el comando which. Se da salida a la ruta de la aplicacin que el
shell las usara para
ejecutar un comando determinado. Por ejemplo, vamos a encontrar la ruta de la aplicacin ssh,
escribimos lo que ssh y obtenemos lo siguiente:
$ Ssh el cual
/ Usr / bin / ssh
www.it-ebooks.info
pgina 118
Captulo 5 Comandos esenciales
105
S, es as de fcil. El camino es utilizado por un nmero de programas para encontrar la
informacin que necesitan. Tu camino
variable se establece inicialmente dentro de /etc./profile pero esto puede ser modificado. Pero
antes de salir y empezar a jugar con el
variable de la ruta que debemos averiguar lo que est establecido actualmente demasiado. Hay
dos maneras de hacer esto, primero es usar el eco
comando para imprimir la variable. eco interpretar lo que das y luego imprimir en la lnea de
comandos, por lo que si
ejecutar echo $ PATH el eco de salida de comandos voluntad el contenido de la variable PATH,
as:
$ Echo $ PATH
/ Usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / local / games: /
usr / juegos
Est bien, eso es lo que la variable PATH es. La ruta es una lista de carpetas separadas por dos
puntos. Esto nos lleva a la segunda
forma de ver la variable PATH: el comando muestra env todas las variables de entorno
establecidas actualmente. Esto es un
comando increblemente til para comprobar el estado actual del entorno del sistema en
conjunto. Correr env debe dar
que una salida como esta:
$ env
TERM = xterm
SHELL = / bin / bash
XDG_SESSION_COOKIE = eb95d80869be1ad62af36ec5502c41a1-1349772229.8975571575821964
SSH_CLIENT = 10.0.0.104 3643 22
SSH_TTY = / dev / pts / 0

USUARIO = pi
LS_COLORS = rs = 0: di = 01; 34: ln = 01; 36: mh = 00: pi = 40; 33: so = 01; 35: do = 01; 35:
bd = 40; 33; 01: cd = 40; 33; 01: o = 40;
31; 01: SU = 37; 41: sg = 30; 43: CA = 30; 41: TW = 30; 42: ow = 34; 42: st = 37; 44: ex = 01;
32:. * Alquitrn = 01; 31: * TGZ = 01; 31:. *.
arj = 01; 31:. * Taz = 01; 31: * lzh = 01; 31:. * lzma = 01; 31:. * TLZ = 01; 31:. * txz = 01; 31:.
*. zip = . 01; 31: * z = 01; 31: *.
Z = 01; 31:. * Dz = 01; 31: * gz = 01; 31:. * LZ = 01; 31:. * Xz = 01; 31:. * Bz2 = 01; 31:.. * Bz
= . 01; 31: * tbz = 01; 31: *.
tbz2 = 01; 31: * tz = 01; 31:. * deb = 01; 31:. *. rpm = 01; 31: * tarro = 01; 31:. * guerra = 01;
31:.. * oreja = 01; 31:. * SAR = 01; 31: *.
rar = 01; 31:. * as = 01; 31: * zoolgico = 01; 31:. * cpio = 01; 31:. * 7z = 01; 31:. * rz = 01;
31:. *. jpg = 01; 35: jpeg * = 01; 35:. *.
gif = 01; 35:. * bmp = 01; 35:. * PBM = 01; 35:. * PGM = 01; 35: * ppm = 01; 35:. * tga = 01;
35:.. * xbm = 01; 35: * xpm = 01; 35:. *.
tif = 01; 35:. * TIFF = 01; 35: * png = 01; 35:. * SVG = 01; 35:. * svgz = 01; 35:. * MNG = 01;
35:.. * PCX = 01; 35:. * mov = 01; 35: *.
mpg = 01; 35: * MPEG = 01; 35:. * m2v = 01; 35:. * MKV = 01; 35:. * WebM = 01; 35:.. *
OGM = 01; 35:. * mp4 = 01; 35: * m4v = 01; 35:. *.
mp4v = 01; 35: * VOB = 01; 35:. * qt = 01; 35:. * nuv = 01; 35:. *. wmv = 01; 35: * ASF = 01;
35:. *. rm = 01; 35:. * rmvb = 01; 35: *.
FLC = 01; 35:. * avi = 01; 35: * Fli = 01; 35:. * FLV = 01; 35:. * gl = 01; 35:. * dl = 01; 35:.. *
xcf = 01; 35: * xwd = 01; 35:. *.
YUV = 01; 35:. * cgm = 01; 35: * fem = 01; 35:. * AXV = 01; 35:. * ANX = 01; 35:. * ogv =
01; 35:.. * OGX = . 01; 35: * aac = 00; 36: *.
au = 00; 36: * FLAC = 00; 36:. * mediados = 00; 36:.. * midi = 00; 36: * MKA = 00; 36:. * mp3
= 00; 36:.. * MPC = 00; 36:. * ogg = 00; 36: *.
RA = 00; 36: wav * = 00; 36:. * axa = 00; 36:. * Oga = 00; 36:.. * SPX = 00; 36: * xspf = 00;
36.:
ALL_PROXY = Calcetines: // localhost: 9050
CORREO = / var / mail / pi
PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / local /
games: / usr / juegos
PWD = / home / pi
LANG = en_US.UTF-8
SHLVL = 1
HOME = / home / pi
LOGNAME = pi
SSH_CONNECTION = 10.0.0.104 3643 10.0.0.56 22
_ = / Usr / bin / env
Hay una gran cantidad de variables aqu que cubren una variedad de cosas, incluyendo la
cscara que estamos utilizando (SHELL), las variables
que rige los colores que aparecen cuando ejecutamos ls (LS_COLORS), el camino, mi
ubicacin actual (PWD), mi casa
directorio (HOME), y mi nombre de usuario (USER), adems de la PATH. Todas estas piezas
de informacin pueden ser increblemente
til cuando se trata de diagnosticar problemas con la ejecucin de comandos.
www.it-ebooks.info
Pgina 119
Captulo 5 Comandos esenciales
106
Ahora que hemos sido capaces de ver la variable PATH, debemos mirar a modificarlo. Para
modificar una variable,
tenemos que utilizar el comando de exportacin con el fin de asignarle a nuestro entorno. La

sintaxis para el establecimiento de un simple


variable es la siguiente:
$ VARIABLE exportacin = "algo"
Si ejecuta este y ejecute env de nuevo, debera ver este nuevo espectculo variable hasta dentro
de su salida de este modo:
VARIABLE = ALGO
Si tuviramos que hacer esto para nuestra variable PATH, nos ajustamos a lo que nos
propusimos a, que no es lo que queremos.
Tambin podramos simplemente reescribir todo el camino, pero eso es bastante ardua para un
cambio sencillo. La forma ms fcil de anexar
algo que la variable PATH es incluir la variable PATH dentro de la asignacin. Vamos a
trabajar con un ejemplo: digamos
queremos incluir el directorio / opt en nuestro camino. Nos gustara comenzar con export PATH
= y luego nos gustara
utilizar la variable PATH actual (cosa que se utilice para mostrar con eco), por lo que
escribimos "$ PATH". Para el $ PATH que lo hara
aadir dos puntos como separador y el nuevo directorio / opt, lo que nos da este comando:
$ Export PATH = "$ PATH: / opt"
Cuando se ejecuta, esto va a cambiar el valor de PATH a esto:
/ Usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / local / games: /
usr / juegos: / opt
Increble; el directorio / opt se aade al final. Esto nos lleva a un punto clave; CAMINO tiene
un orden, de izquierda a derecha. Aquellos
en el lado izquierdo de la variable PATH se utilizar antes de los de la derecha. En nuestro
ejemplo, / opt sera el ltimo lugar
que la bsqueda de cualquier archivo dado.
Ahora que comprende el entorno de usuario y cmo funciona PATH, usted debe aprender
acerca de un archivo especial
dentro de su directorio de usuario. Este es el archivo de anulacin de perfiles ficticia local. En
su directorio principal hay una serie
archivos ocultos de que terminan con RC. Estos archivos se ejecutan normalmente por su
concha o el que sea de aplicacin a partir de su
ejecucin para cargar sus preferencias personales. El archivo para el estndar de Linux de Bash
es el archivo .bashrc. Esta
archivo es responsable de algunas de las variables de entorno que vimos antes; tambin es la
razn por la que algunos de sus
comandos tienen color. Por ejemplo, el comando ls, que normalmente se encuentra en / bin / ls
(se puede comprobar con
que ls). Si se va a ejecutar este lugar de ls normales, no se veran los colores! Se aadieron estos
colores
especialmente por el archivo .bashrc usando el comando alias.
alias, como su nombre lo indica, se utiliza para crear un alias de un comando o un grupo de
comandos bajo un solo comando shell,
Al igual que un programa. En el caso de su archivo .bashrc, se ha alias el comando ls para
ejecutar este:
$ Ls -color = auto
Esto adems significa que cada vez que se emite un comando ls, va a agregar automticamente
el argumento de color
a ls. La forma en que el .bashrc logra esto es mediante la adicin de esta lnea:
alias ls = 'ls -color = auto'
La gran cosa acerca de los archivos como .bashrc es que estn diseado para ser fcil
modificado, despus de todo, son de su localidad
las variables del sistema. De esta manera, su medio ambiente local se hace a partir de los valores
del sistema de base dadas por /etc./profile
y los valores adicionales dan en .bashrc.

www.it-ebooks.info
Pgina 120
Captulo 5 Comandos esenciales
107
El comando cron
El ltimo comando es probablemente una de las herramientas ms poderosas y tiles en un kit
de herramientas del administrador de sistemas: la
comando cron. cron es una aplicacin de calendario que ejecuta comandos en un momento dado
sobre la base de reglas que se le pasan por
un archivo de direccin. cron tiene un archivo de direccin por usuario llamado crontab, que se
comprobar cada minuto para ver si otro
comando debe ser ejecutado. Para ver su crontab actual, slo tendra que debe ejecutarse el
siguiente:
$ Crontab -l
Por desgracia, no tiene uno, para empezar, as que todo lo que se obtiene de este comando es la
siguiente:
sin crontab para pi
No temas, porque ahora vamos a pasar los fundamentos de la creacin de un archivo crontab
tiempo. El comando para entrar en el
editor especial crontab es el siguiente:
$ Crontab -e
Esto abrir una copia del editor estndar de su sistema y crear un archivo inicial con un buen
bloque de comentarios que
describen cmo se presenta una entrada crontab. Se ofrece el siguiente ejemplo:
0 5 * * 1 alquitrn -zcf /var/backups/home.tgz / home /
Este comando llevar a cabo un alquitrn y postal de los directorios de inicio de todos los
usuarios todos los lunes a las 5 am Recordemos que
tar crea un nico archivo de todos los documentos, y la cremallera se comprimir el archivo-el
resultado final es una sola
archivo comprimido que contiene todos los archivos. Los cinco nmeros en el inicio de la lnea
gobiernan la temporizacin; estos nmeros
representan las siguientes cosas, en el siguiente orden:
Minuto de hora

Hora del da (en formato de 24 horas)

Dia del mes

Mes del ao

Da de la semana (Sun, 0 a sbado, 6)

Como se puede ver en el ejemplo, este comando se ejecuta en el cero- minuto de la quinta hora
de cualquier da de la
mes, en cualquier mes del ao, siempre y cuando ese da es un lunes. Con esta combinacin,
puede configurar cualquier nmero de
temporizacin de puestos de trabajo con el fin de realizar sistemas de funciones administrativas.
La mejor parte es que se puede usar todos los comandos
hemos discutido anteriormente para realizar estas tareas para usted! Quieres matar a un proceso
en un momento determinado? Escribe el tiempo cron
en cuenta cuando se desea que las cosas muertas y luego usar PS, grep, awk, xargs, y el
comando kill que trabajaron hasta
ms temprano! Con la combinacin de cron y todos los comandos que cubrimos anteriormente,
no hay lmite a las tareas que puede hacer!

Resumen
Enhorabuena, ahora debera estar bien en su camino a ser un administrador de sistemas de pleno
derecho. Usted tiene a su
disposicin ms de dos docenas de comandos individuales y la posibilidad de combinarlas de
nuevas maneras de realizar casi
cualquier tarea que su corazn desea. Adems, ahora debera tener las herramientas para
automatizar la ejecucin de estos comandos
usando cron editando el archivo crontab. Todas estas herramientas forman la base de cmo un
administrador de sistemas administrar una
sistema Linux, ya que proporcionan la flexibilidad para escribir comandos slidos y se les
ejecuta automticamente.
www.it-ebooks.info
pgina 121
109
Captulo 6
Edicin de archivos en la lnea de comandos
Lo creas o no, una de las cosas que va a terminar pasando la mayor parte de su tiempo que hace
en Linux est editando archivos de texto. Ellos
obtener absolutamente por todas partes, y los encontrar utilizado para el contenido, cdigo
fuente de las aplicaciones, archivos de configuracin,
y scripts de inicio. La razn es que a pesar de su naturaleza algo bsico y aburrido, que son muy
tiles para almacenar
informacin legible por humanos. Cuando se combina esto con la facilidad de uso, usted sabe
que est en un ganador. Linux no hace
tener un registro como Windows, y es muy raro que las aplicaciones no utilizan archivos de
texto para su configuracin.
Incluso Sendmail, que tiene un archivo de configuracin histricamente mal (tan mal, de hecho,
tiene que escribir un archivo de configuracin para otra
aplicacin que va a continuacin, crear el archivo de configuracin de Sendmail para usted),
almacena su archivo de configuracin como texto simple y llano.
En este captulo se ofrece una breve visin general de los archivos de texto y cmo se utiliza
hoy en da. a continuacin, vamos a introducir los dos
editores que vamos a cubrir en este captulo (nano y vim) y luego vamos a entrar en la
verdadera carne del captulo y espectculo
cmo hacer las cosas en realidad.
Qu es un archivo de texto?
Cuando una computadora almacena los datos en el disco, se pueden almacenar los datos en uno
de dos formatos: como un archivo de texto o como un archivo binario. Asi que
porque los ordenadores para almacenar todo como datos binarios (aquellos buenos viejos 1s y
0s), lo que hace exactamente un archivo de texto diferente
a partir de un archivo binario? Despus de todo, seguramente el archivo de texto debe tambin
ser almacenado en un formato binario. Si estaba pensando a lo largo de los
lneas, que son del todo correcto. No es tanto cmo se almacenan los datos en s, pero ms que
ver con la forma en que los datos se pueden leer.
La mejor manera de apreciar la diferencia es pensar en la pgina que est leyendo en este
momento. La razn por la que
puede entender lo que estoy escribiendo es porque hemos acordado implcitamente a utilizar el
Ingls para comunicarse. El contenido de
esta pgina tiene una estructura que ambos entendemos. Empezamos frases con letras
maysculas; utilizamos puntuacion para mostrar
cuando terminan las oraciones o cundo parar para respirar un poco. En resumen, tenemos todo
un protocolo complicado hasta ahora, pero funciona
porque los dos somos capaces de leer y escribir Ingls. Podemos entender tanto la estructura
(cmo los datos se

ser ledo y escrito), as como los semntica (lo que las palabras significan en realidad). Por lo
tanto, qu pasa con la siguiente frase?
Goedemorgen. Azada Het gaat?
De inmediato podemos decir que no es Ingls; Despus de todo, si lo fuera, que sera capaz de
entenderlo. A menos que usted
pasar a hablar holands (no lo hacemos, pero nuestro buen amigo lo hace), es probable que no
sabra qu idioma fue escrito
en. A pesar de que el contenido no tiene sentido, la estructura en s lo hace. Podemos ver que
tenemos dos frases: una es una
declaracin y el otro es una pregunta. En este caso particular, podemos adivinar lo que quiere
decir la primera palabra. Si lo pronunciamos
como lo haramos Ingls, suena muy similar a los buenos das (que es en realidad lo que la
palabra se traduce a). A partir de ese,
que es fcil adivinar que la pregunta es "Cmo ests?"
La razn por la que podemos hacer eso es porque a pesar de que no entendemos el contenido,
holands e Ingls proporcin
una estructura o formato comn. Compartimos un alfabeto (aunque holandesa tiene algunos
personajes que no disponga la
Ingls) y de puntuacin (puntos y aparte, comas y signos de interrogacin). Ahora que no podra
obtener la pronunciacin correcta
(Que es, despus de todo, una lengua extranjera), pero debido a que comparten una estructura
comn, al menos puede manejar el contenido, incluso
si no podemos entenderlo.
Vamos a dar un paso ms all con la figura 6-1 .
www.it-ebooks.info
pgina 122
Captulo 6 Edicin de archivos en la lnea de comandos
110
Al menos para el lector medio de este libro, la Figura 6-1 ser ininteligible. En realidad es la
misma de dos
frases que aparecieron en nuestro ejemplo holands, pero esta vez por escrito en chino con
caracteres simplificados. A
los no iniciados, no hay manera de saber a partir de esta coleccin de personajes de cmo deben
ser pronunciadas. De hecho,
dependiendo del dialecto hablado, estos personajes podran ser pronunciadas de muchas
maneras diferentes. Esto es porque
cada carcter representa una idea ms que un sonido, y una vez que reconocen la idea, ya sabe
qu palabra
decir. Es por esto que en China es posible que dos personas que no pueden hablar el mismo
lenguaje para comunicarse
perfectamente bien mediante la lectura y la escritura de caracteres.
Entonces, por qu hemos SideTrack a los idiomas extranjeros? Bueno, archivos de texto son
como leer y escribir Ingls o el holands.
Si el contenido tiene sentido o no depende de si el lector puede hablar Ingls o el holands. Esto
es similar
a dos aplicaciones y sus archivos de configuracin. Si le das a un archivo de configuracin del
servidor web Apache para la direccin de correo Sendmail
servidor, se escupir de nuevo en su cara (Sendmail no habla Apache), pero se puede abrir y leer
en el archivo.
Chino, por otro lado, es nuestro ejemplo de un formato binario. Es muy extraa para la mayora
de los altavoces occidentales
(Aunque podra decirse que es mucho ms eficiente, elegante y sofisticado que la escritura
fontica usado en Europa Occidental
lenguas). A menos que sepa chino, no se puede entender el contenido o la estructura implcita.

En trminos de computacin,
lo que tienes es una masa de datos en bruto que slo tiene sentido para la aplicacin que lo
escribi.
Ahora usted podra pensar que el almacenamiento de datos en un formato arbitrario no es gran
cosa. Despus de todo, la aplicacin que
escribi que es la aplicacin que va a leerlo, y siempre y cuando se entienda el archivo, sin duda
eso es suficiente. Bueno, s y no.
Qu ocurre si el programa se rompe? Qu pasa si usted necesita leer el archivo en otro
equipo? Tal vez el vendedor tiene
proporcionado algunas herramientas especiales para hacer precisamente eso, sino que se
encuentra en la misma el problema: se necesitan herramientas especiales.
No as para los archivos de texto; que se pueden abrir en cualquier editor de texto, y no se
requieren herramientas especiales. Debido a la gran
mayora de las aplicaciones de Linux todos los archivos de texto uso (no podemos pensar en
ninguna de la parte superior de la cabeza que no lo hacen), todo lo que
necesita leer o realizar cambios en un archivo de configuracin es su editor de texto favorito, y
Linux tiene una impresionante variedad de
editores para elegir. De este modo se puede familiarizarse con una sola herramienta y luego usar
esa herramienta para reconfigurar todas sus
aplicaciones, escribir cdigo fuente cuando ests haciendo secuencias de comandos, e incluso
utilizarlo para escribir libros (que es precisamente lo
que estamos haciendo en este momento).
los contendientes
Por lo que el editor de texto es su navaja suiza Linux y algo que nunca quiere salir de casa sin
l. Por supuesto, slo
como navajas suizas, hay muchos diferentes editores de texto para elegir, y algunos tienen ms
caractersticas que otros.
A veces quieres un editor de texto bsico que solo permite abrir los archivos, editar un texto, y
luego guardar los resultados. Otro
veces es posible que desee hacer una bsqueda compleja y reemplazar o eliminar hasta el final
de la lnea. Por supuesto, usted puede bastante
utilizar simplemente uno de los editores ms con caractersticas completas para todas sus tareas;
Despus de todo, usted no tiene que utilizar las funciones si no lo hace
Los necesito. Dicho esto, ha sido nuestra experiencia que las personas son generalmente
familiarizados con al menos dos editores de texto: uno
bsica y uno con todas las funciones. En este libro, eso significa nano y vim, respectivamente.
Figura 6-1. Algunos texto chino
www.it-ebooks.info
pgina 123
Captulo 6 Edicin de archivos en la lnea de comandos
111
El primer editor de texto que vamos a cubrir es nano. Es un editor de texto ligero y fcil de usar
y que tiende a ser
instalado en la mayora de los sistemas. Algunas versiones posteriores de nano tienen ms
caractersticas (tales como el resaltado de sintaxis al escribir
cdigo fuente), pero todos con eficacia ven y funcionan de la misma manera. Si puede utilizar
nano en su Pi, podrs utilizarlo
igualmente bien en cualquier plataforma.
El editor nano fue escrito para ser una gota en el reemplazo para el editor de texto pico que
utiliza para enviar con
Pino, un cliente de correo electrnico basado en texto. Pico todava se puede encontrar en los
sistemas ms antiguos (por lo general mucho ms), y es probable que si
no puede encontrar nano, es posible que an sea capaz de encontrar el pico. Debido a que es una
gota en el reemplazo, los mismos comandos y bsica

caractersticas utilizadas en nano tambin estarn disponibles en el pico. En total, esto le da la


cobertura de la mayora de otras plataformas UNIX
as como Linux.
punto clave de venta de nano es su facilidad de uso, pero tiene una serie de caractersticas tiles.
Se accede a estos caractersticas
de los mens, y mientras nano tiene ms que suficientes caractersticas para simplemente
editando un archivo de configuracin, a veces es necesario
algo con un poco ms de potencia. Aqu es donde el editor vim entra. Se puede hacer todas las
cosas que nano puede hacer,
pero puede hacer mucho ms por lo que es prcticamente donde termina la comparacin. Vim
permite lo siguiente: Sintaxis
resaltado, diferentes combinaciones de colores, cortar y pegar, eliminar bloques de texto, trozos
de sangra del texto, abrir varios archivos
y mostrar ambos al mismo tiempo, y mucho ms.
Ahora usted puede estar pensando que si vim es este gran, es posible que se ahorrar muchos
dolores de cabeza por simplemente
aprender a usar editor de texto que ms que cualquier otro. Como nano, vim disponible en casi
todas partes en algunos
u otra forma, y tiene las mismas caractersticas bsicas y acepta los mismos comandos. La razn
por la que estamos cubriendo nano es
que puede estar en funcionamiento, literalmente, en tan slo unos segundos. Sus caractersticas
son fciles de explicar, y conseguir que hacer
lo que quiere es realmente fcil. Aunque los usuarios de vim pueden estar en desacuerdo, en
nuestra experiencia, vim no se cumple exactamente cualquier servidumbres
de uso de premios. Dicho esto, si realmente no quiere aprender dos editores y sentir que lo que
queremos es aprender vim, eso es
bien, no va a realmente ser falta de nada; eso puede tardar un poco ms para conseguir
productiva.
Comenzando con nano
Estamos empezando a cabo con nano por la sencilla razn de que es muy fcil de usar y no
ocupa mucho explicar. T
puede hacer, literalmente, todo lo que necesita en nano, y mientras que usted puede ser capaz de
hacerlo ms rpido en otro editor,
nano le ayudar a conseguir el trabajo hecho muy bien.
Nano se puede ejecutar mediante el comando nano. De acuerdo, no hay sorpresas, pero el
funcionamiento de nano por s mismo no es todo lo que
til. Despus de todo, usted tiene un editor de texto ahora y quiere hacer algo de edicin. A
menos que hacer algunas notas, nadie
simplemente escribe el texto sin querer guardarlo despus. Al abrir nano, es probable que desee
abrir un particular,
presentar para su edicin. Ese archivo puede o no existir, pero es probable que saber qu es lo
que quiere para llamarlo cuando se trata de
pulsando el botn de guardar. En aras de esta introduccin, vamos a abrir nano y decirle que
queremos editar
test.txt. Podemos hacer eso con esto:
$ Test.txt nano
Si todo va bien, usted debe obtener algo como la Figura 6-2 .
www.it-ebooks.info
pgina 124
Captulo 6 Edicin de archivos en la lnea de comandos
112
Hemos conectado a nuestro Pi utilizando SSH, sino porque nano es una aplicacin basada en el
terminal, que tendr el mismo aspecto
independientemente de la forma en que lo ejecute. Un aspecto interesante de este tipo de

aplicaciones de terminal es que son sensibles


para el tamao de su terminal es. Un terminal fijo (como la consola fsica) tiene un tamao de
pantalla de ajuste. Cuando se conecta a travs de
SSH o utilizar un terminal virtual, se puede ajustar el tamao de la pantalla y esto causar nano
para cambiar el tamao junto con l. Esta
hace que sea muy flexible y puede adaptarse a sus necesidades, independientemente de la forma
o el tamao de su pantalla.
Entonces, qu significa todo esto?
la pantalla del nano puede ser un poco confuso al principio (especialmente el bit en la parte
inferior), pero la mayor parte del tiempo en realidad no se
estar prestando atencin a otra cosa que no sea su texto. De hecho, todas las otras cosas se
desvanece en el fondo. por
ejemplo, en la parte superior izquierda de la pantalla se puede ver que nos estamos quedando
"GNU nano 2.0.9." Hasta que no lleg a escribir este
libro, no tenamos idea de qu versin de nano estbamos corriendo y honestamente, hasta que
tuvimos que describirla aqu, si
alguien nos haba pedido que elabore el diseo nano de la memoria, habramos tenido un tiempo
bastante difcil hacerlo. En realidad,
no habra sido capaz de hacerlo en absoluto!
Hay otras dos piezas de informacin que se puede extraer de la barra de ttulo de nano. Justo en
el medio es
el nombre del archivo actual que se est editando. En nuestro caso, es test.txt. No es
exactamente temblar la tierra, pero es bastante
comn a estar trabajando en varias ventanas a la vez, y ser capaz de obtener rpidamente los
cojinetes puede venir muy bien.
La tercera pieza de informacin til es si el archivo ha sido modificado; es decir, hay alguna
que no son salvos
cambios? Esto puede ser muy til cuando se desea comprobar si se ha guardado su ltimo
trabajo. Tambin es til para
simplemente refrescar la memoria y recordarle que debe guardar su trabajo. Para ver el aspecto
que tiene, slo tiene que pulsar la barra espaciadora
para hacer un cambio, y ver que aparece "Modificado" en la parte superior derecha de la
pantalla (ver Figura 6-3 ).
Figura 6-2. Nano se acaban de abrir con un nuevo archivo
www.it-ebooks.info
pgina 125
Captulo 6 Edicin de archivos en la lnea de comandos
113
Eso es ms o menos por la barra de ttulo. En la parte inferior de la pantalla en realidad hay dos
secciones. La primera de ellas es
la lnea de estado, que muestra informacin importante (en este momento, se le indica que se
trata de un nuevo archivo), y el segundo
una es la barra de acceso directo o un men. No vamos a decir mucho ms sobre la lnea de
estado, ya que es ms o menos autoexplicativo. Nada de importancia que lo que necesita saber, nano ser puesto ah. De inters
mucho mayor (y en
de hecho la clave para usar nano) es la barra de acceso directo. Vamos a echar un vistazo ms
de cerca en la Figura 6-4 .
Figura 6-3. Archivo modificado en nano
Figura 6-4. La barra de accesos directos
Cuando has estado trabajando en Windows o en Mac, probablemente ha llegado al punto en
lugar de
usando el ratn para copiar y pegar cosas en su lugar utiliza las combinaciones de teclado. En
Windows, lo hara

utilizar las teclas Ctrl y C, y en el Mac sera la tecla Comando y C. Cuando se utiliza ms de
una clave de
concierto con otro, se termina con una combinacin de teclas. Nano trabaja de una manera muy
similar, pero en lugar de slo la copia
y pegar, todas sus funciones importantes son impulsados con combinaciones de teclas. Debido a
que sera algo difcil de
recordar todas las posibles opciones disponibles (aunque pronto se cometieron los que va a
utilizar de forma frecuente
a su memoria a largo plazo), nano los muestra en la barra de acceso directo. En realidad, slo se
muestra la ms comn
comandos, pero nunca hemos necesario para alejarse de ellos.
Para hacer uso de cualquier comando, es necesario utilizar la combinacin de teclas correcta.
Usted puede encontrar lo que necesita combo
mirando a la barra de accesos directos. Una forma abreviada de escribir tecla de control es
utilizar el smbolo quilates (^). Mirando a la
barra de acceso directo, se puede ver que si desea obtener ayuda, es necesario utilizar ^ G; en
otras palabras, mantenga pulsada la tecla Control
y pulse la tecla G.
Guardar el archivo
Cmo guardar un archivo de texto en blanco es bastante aburrida, y es difcil saber si se ha
realizado correctamente si todo lo que tiene es un carcter de espacio. Fueron
a ir a por un viejo favorito aqu y pinchar "Mara tena un corderito".
A diferencia de algunos editores (ms notablemente vim, que te encontrars ms adelante), nano
no tiene el concepto de
diferentes modos. Es decir, cuando se teclea en nano, se interpreta como texto para poner en el
archivo. Vim, por otra
parte, se encuentra en modo de comando, y si usted acaba de empezar a escribir, obtendr
algunos resultados interesantes. Como se podra esperar,
presione ENTRAR despus de cada lnea que se necesita para el comienzo de la siguiente lnea.
Despus de escribir la cancin infantil, que
debe obtener algo como la Figura 6-5 .
www.it-ebooks.info
pgina 126
Captulo 6 Edicin de archivos en la lnea de comandos
114
Nosotros se contrajo la ventana nano abajo un poco para que no tomamos vastas cantidades de
papel con un espacio en blanco en blanco.
Tambin acta como un buen ejemplo de por qu es posible que desee cambiar el tamao de
una ventana y cmo se ve cuando en realidad lo hace.
En este caso, todo se ve muy bien, aunque es cierto que para escribir cualquier cosa de un plazo
razonable, que haba necesidad
algo un poco ms grande que esto.
Usted puede haber notado que la lnea de estado parece haber desaparecido. Esto es porque el
archivo deja de ser un nuevo
presentar una vez que cualquier contenido se ha aadido a la misma. Nuestra advertencia
modificado an est en la esquina superior derecha embargo. Sus
el momento de deshacerse de eso y llegar a Mara con seguridad en el disco.
En cuanto a la barra de acceso directo se puede ver las opciones que tenemos disponibles para
su uso. Los ms comunes se utilizarn
son writeout (que en realidad slo significa Guardar archivo ) y Salir. Salir en realidad funciona
como writeout porque si intenta salir
nano con cambios sin guardar, se le preguntar si desea guardar los cambios.
Vamos a empezar con el comando writeout. Mantenga presionada la tecla Control y pulse la
tecla O. Nano debera verse

como en la Figura 6-6 .


Figura 6-5. Maria tena un pequeo cordero, estilo nano
Figura 6-6. El uso del comando writeout
Hicimos dos cambios aqu:
La lnea de estado ha hecho una reaparicin. Esta vez es pedir informacin, o por lo menos que
quiere

nosotros confirmamos. Ahora que es el momento de guardar el archivo, nano nos est pidiendo
que confirmar lo que el nombre
debiera ser. Debido a que pasamos un nombre cuando comenz originalmente nano, este es el
nombre que
nano proporcionar de forma predeterminada. Si pulsamos la tecla Intro ahora, se guardar el
archivo; pero antes de que
hacer eso, vamos a echar un vistazo a la barra de acceso directo.
La barra de acceso directo ha cambiado a un nuevo conjunto de opciones debido a que la barra
de acceso directo es

En realidad contextual; es decir, se le mostrar los aspectos ms relevantes en funcin de lo que


sea que ests
haciendo en el momento. Estas opciones slo son tiles (o incluso disponible) al guardar un
archivo, por lo que este
es cuando se llega a ver ellos. En realidad nunca hemos tenido que utilizar cualquiera de estas
opciones, aparte de
Cancelar (cuando de repente decide que el ahorro no es lo que quiere hacer en absoluto).
www.it-ebooks.info
pgina 127
Captulo 6 Edicin de archivos en la lnea de comandos
115
Bueno, volvamos a guardar el archivo. Si lo desea, puede cambiar el nombre que el archivo se
guarda como, nano y no lo har
Slo guardarlo con su nuevo nombre, sino tambin continuar utilizando ese nombre cuando
vuelva a la edicin, que es el
mismo archivo y que debera recibir un mensaje como el que se muestra en la Figura 6-7 .
Figura 6-7. El archivo ha sido escrito en el disco
Figura 6-8. Salir antes de guardar
Se puede ver que la barra de acceso directo ha vuelto a su aspecto habitual y tenemos un nuevo
mensaje en nuestra lnea de estado.
Usted tambin se ha visto que el estado de modificacin se ha desvanecido. Hasta aqu todo
bien.
Veamos rpidamente a lo que ocurre si se intenta salir de nano mientras tiene un archivo editado
(ver Figura 6-8 ):
Todo lo que hicimos aqu fue agregar una firma en el fichero (aunque hay que reconocer que
probablemente no era Mara, que lo escribi) y
luego trat de salir de nano mediante el uso de control y X. Esta vez la lnea de estado nos da
una advertencia de miedo, y la barra de accesos directos
nos da un nmero algo menor de opciones. Podemos decir que s, en cuyo caso nano guardar
los cambios antes de que
salidas; o podemos decir que no, en cuyo caso nano todava terminar, pero vamos a perder
todos los cambios que hemos hecho desde la ltima vez
que guarda el archivo. Tambin podemos pensar mejor de salir y cambiar de opinin. En este
caso, podemos utilizar ms el control de C
cancelar nuestra solicitud de salida, que se acaba de llevarnos de vuelta a nano.
Desplazarse por las nano
Se puede mover alrededor de su texto slo mediante el uso de las teclas de cursor, ya que

probablemente est acostumbrado a la palabra de su


procesador de eleccin. De hecho la nica razn por la que mencionamos aqu es debido a que
algunos editores no utilizan esas llaves en absoluto
porque se toman las manos demasiado lejos de la fila central (es decir, son lentos de usar, ya
que tiene que mover su
manos una larga distancia para llegar a ellos). As que en lugar de explicar las teclas del cursor,
le mostraremos las dos caractersticas que utilizamos
las ms importantes en nano, que son a la vez casualmente relacionado con la bsqueda de las
cosas.
www.it-ebooks.info
pgina 128
Captulo 6 Edicin de archivos en la lnea de comandos
116
La primera cosa que probablemente tendr que usar la funcin de bsqueda es que est un tanto
extrao nombre "donde est" bajo
nano. Podemos emitir esa orden pulsando las teclas Control y W para llegar al siguiente paso,
como se muestra en la Figura 6-9 .
Figura 6-9. Busca de un poco de texto
Figura 6-10. Nano encontraron a Mara
Una vez ms tenemos algunas nuevas opciones disponibles para nosotros. La tarea ms comn,
sin embargo, es simplemente encontrar una palabra.
As que vamos a la bsqueda para Mara y ver lo que sucede (ver Figura 6-10 ).
Despus de pulsar la tecla Intro, nano tratar de encontrar el texto que ha buscado. En nuestro
ejemplo, ya estbamos en la
el final del archivo; es por eso que se puede ver "Buscar envuelta" en la barra de estado-nano
llegado al final del archivo y
envuelto alrededor de continuar la bsqueda desde el principio. Esta es una caracterstica muy
til!
A menudo habr ms de una ocurrencia de la palabra que ests buscando. Si desea que la
segunda Mara ,
repite su bsqueda. Esto se puede hacer con slo pulsar Control y W e inmediatamente despus
de pulsar la tecla Intro.
Nano recuerda lo que ha buscado por ltima vez, y si no se proporciona una nueva palabra,
simplemente buscar de nuevo con
la palabra de edad. Esto significa que puede fcilmente desplazarse por el documento para
encontrar la entrada especfica que usted est buscando.
La ltima caracterstica que vamos a cubrir es una forma un poco ms especfico de bsqueda.
Supongamos que en lugar de buscar
una palabra, usted quiere ir a un nmero de lnea especfico. En la edicin de texto del da a da,
esto no es algo que en verdad
hacer todo lo que a menudo. Sin embargo, cuando se inicia la escritura de guiones y generan
errores, por lo general, dirn qu
la lnea se produjo en dicho error. Para los programas cortos que a menudo no importa, pero si
usted est construyendo algo bastante pica,
usted querr ser capaz de llegar a la lnea rpidamente. Esto es cierto incluso en los programas
de duracin media, porque si usted tiene una
particularmente delicado problema, usted tiene que mantener volver a visitar una pieza
especfica de cdigo y luego no quieren tener
utilizar las teclas de cursor para encontrarlo cada vez.
Para ir a un nmero de lnea especfico, lo que necesita para iniciar la bsqueda como lo haca
antes mediante el uso de control ms W; sino
que escribir cualquier texto, a continuacin, debe hacer al control junto con T. Esto va a cambiar
la lnea de estado como se muestra en la figura 6-11 .
www.it-ebooks.info

pgina 129
Captulo 6 Edicin de archivos en la lnea de comandos
117
Todo lo que tiene que hacer aqu es introducir el nmero de lnea que desea acceder y presione
Intro. Tambin puede ver que
hay algunas otras opciones tiles aqu que le permiten ir al principio del archivo y el final del
archivo, respectivamente.
Tambin puede pulsar el mando y T para volver a la bsqueda de texto, o puede presionar el
mando y C y cancelar la
buscar.
Ajustar hacia arriba nano
Eso es todo lo que vamos a cubrir por nano pero como se puede ver, incluso la limitada cantidad
de funcionalidad que hemos cubierto tiene
ya que dada la posibilidad de editar archivos de configuracin o incluso componer su propio
libro. Nano es ideal para este tipo
de tareas en las que no quiere distracciones y lo que desea es hacer el trabajo. Si llega el caso,
una buena parte de este
libro fue escrito en nano, por lo que slo sirve para demostrar que esta herramienta no es
ciertamente slo un juguete! Dicho esto, vamos a pasar
Ahora que mirar lo que el editor vim puede ofrecer en su lugar.
Introduccin a vim
Vim es un poco ms avanzado que el nano. Considerando nano fue especficamente diseado
para ser simple, vim est diseado para ser una
con todas las funciones ambiente para hacer todo tipo de tareas. Incluso se puede integrar otras
aplicaciones (como la cscara y
control de cdigo fuente) directamente con vim, por lo que puede hacer una enorme cantidad de
trabajo sin tener que abandonar su editor de texto.
La desventaja de este poder en bruto es que usted tiene que aprender a usarlo. A diferencia de
nano, que es bsicamente listo para
utilizar de inmediato, vim tiene el concepto de modos. En trminos generales, ya sea que ests
en los modos normales o de insercin, y
ellos son los que nos centraremos en esta seccin.
Sin embargo, s queremos sealar que a pesar de que usamos vim sobre una base regular, no
somos lo que llamaran
expertos vim. Sabemos cmo utilizar la funcionalidad que nos ayuda con nuestro trabajo, pero
hay muchas caractersticas que nos
no utilice ni siquiera conocen. Debido a que esta es slo una cartilla en vim, no creemos que
esto es un problema, pero si usted piensa
vim es la herramienta para usted, hay una gran cantidad de libros dedicados exclusivamente a
vim, as como numerosos tutoriales en vdeo sobre algunos
de sus caractersticas ms avanzadas y potentes.
En lugar de tener que escribir otro poema, vamos a dar un bis Mara y traerla de vuelta a los
escenarios con
empuje. Primero, sin embargo, tenemos que instalarlo:
$ Sudo apt-get install vim
Ahora que tenemos vim, vamos a ver en eso bis:
$ Vim test.txt
Huelga decir que, a partir vim es tan sencillo como iniciar nano, pero tiene un aspecto un poco
diferente una vez que se tiene
comenzado (vase la figura 6-12 ).
Figura 6-11. Ir a un nmero de lnea especfico
www.it-ebooks.info
pgina 130

Captulo 6 Edicin de archivos en la lnea de comandos


118
Atrs han quedado los encabezados agradables, lneas de estado y las barras de acceso directo.
En la tierra de vim, como Linux mismo, estamos a la espera
sabemos lo que estamos haciendo. En la parte inferior izquierda de la pantalla, se puede ver el
nombre del fichero que estamos editando. Al lado de eso
es 6L, lo que nos dice cuntas lneas estn en el archivo, seguido de 115C que nos dice el
nmero de caracteres. Sobre el
otro lado de la pantalla tenemos otra informacin til: 1,1, lo que nos dice la lnea que estamos
actualmente en
y la columna que estamos. En la actualidad se nos dice que estamos en la lnea 1 y en la primera
columna. Eso tiene sentido
debido a que slo acaba de abrir el archivo; si nos fijamos en el cursor, por supuesto que hemos
sentado en la parte superior de la primera M.
Nota

dependiendo de la versin de vim y cmo est configurado, por lo general se le llevar a la


ubicacin que estaba en
cuando se detuvo la ltima edicin que file.This es realmente til en la programacin, ya que le
pone inmediatamente a donde
est la accin.
Tambin puede ver varias lneas de tildes () debajo de la ltima lnea en el archivo. Ellos estn
aqu para recordarnos que
aunque la pantalla es un cierto tamao no hay contenido por debajo de Mara. Esto es
especialmente til cuando se hace ciertos tipos
de programacin y quiere asegurarse de que no hay espacio adicional. No deja de ser una pista
visual y no conseguir
En tu camino.
Los modos de vim
Vim viene a travs como un poco peculiar debido a que (a diferencia de los procesadores de
texto y editores de texto ms bsicas) con vim
no se puede empezar a escribir de inmediato porque vim tiene diferentes modos o
personalidades. Al empezar vim, es en
modo de comando. A diferencia de nano, en el que usted da comandos mediante el uso de
combinaciones de teclas, vim tiene una amplia gama de comandos
que son las letras simples o dobles. Se podra pensar que esto sera terriblemente confuso y, as,
estaramos en lo cierto. Una vez
conoce las pulsaciones de teclas mgicas para hacer vim hacer su hacer una oferta, usted amar
esta forma de controlar su editor de texto. Hasta
entonces, sin embargo, lo ms probable es que lo lleve a la distraccin.
As que vamos a salir del modo de comando y caer en algo ms cmodo. Podemos replicar un
nano-esque
medio ambiente en vim pulsando la tecla i. Esto nos llevar a cabo del modo de comando y nos
coloque en el modo de insercin. T
puede decir cuando se est en este modo porque se ve --INSERT-- en la esquina inferior
izquierda, como se muestra en la Figura 6-13 .
Figura 6-12. Puesta en marcha de vim
www.it-ebooks.info
pgina 131
Captulo 6 Edicin de archivos en la lnea de comandos
119
En este punto se puede mover alrededor de su archivo de texto tal como lo hizo con nano. Las
teclas del cursor funciona como se espera y
puede agregar y eliminar texto como lo hizo en virtud de nano. Las diferencias comienzan

cuando se quiere hacer algo que no sea


la escritura de texto, sin embargo. Cmo se puede guardar los cambios?
Guardar los cambios
Para guardar los cambios en vim lo primero que hay que hacer es salir del modo de insercin
presionando la tecla de escape (ESC).
Al hacerlo, volver al modo normal, en el que se puede emitir comandos y, por consiguiente
guardar el documento. Primero,
sin embargo, vamos a cambiar el firmante decir John lugar. Esto nos dar el cambio tan
necesario para el documento. A
en realidad guardar el documento usamos este comando:
:w
El comando es realmente dos puntos seguidos por una w minscula. Vim entre maysculas y
minsculas, por lo que si se trat de hacer: W, se
sera un mensaje de error de que no es un comando vlido, como se muestra en la figura 6-14 .
Figura 6-13. Vim en modo de insercin
Figura 6-14. Vaya, W no es un comando
No hay necesidad de pnico; simplemente a intentar el mandato y se le multa, como se muestra
en la figura 6-15 .
www.it-ebooks.info
Pgina 132
Captulo 6 Edicin de archivos en la lnea de comandos
120
Si desea cambiar el nombre del archivo mientras estaba ahorrando, slo tiene que escribir el
nombre del archivo que desea utilizar
despus del comando de esta forma:
: W test2.txt
Esto luego guardar los cambios en el nuevo nombre de archivo y continuar luego de editar el
nuevo archivo.
Los caminos para salir de vim
Esto nos deja con slo una caracterstica ms te introduzca en el mismo nivel bsico que tenas
con nano (vamos a cubrir
buscando en un momento). Una vez que ha hecho toda su edicin y que ha guardado sus
archivos, usted querr salir.
El comando para esto es la siguiente:
:q
Mientras usted no ha realizado ningn cambio, vim saldr inmediatamente, y se le de vuelta a la
lnea de comandos.
Sin embargo, si se hubiera hecho algunos cambios y se intenta hacer esto, se le coge de nuevo la
ira de vim, como se muestra
en la figura 6-16 .
Figura 6-15. : W trabajos como un encanto
Figura 6-16. Para salir sin guardar que necesita un reemplazo
www.it-ebooks.info
pgina 133
Captulo 6 Edicin de archivos en la lnea de comandos
121
Afortunadamente, vim ya nos ha dicho cmo solucionar el problema, pero bsicamente si usted
quiere dejar de fumar sin tener su
Se guardaron los cambios, se tendr que indicar explcitamente vim eso es lo que quieres hacer:
: Q!
Y eso es todo lo que hay que salir de vim!
Buscando en vim
En esta seccin vamos a cubrir slo los conceptos bsicos y le mostrar cmo hacer el mismo

tipo de bsquedas que usted hizo en el nano. En


realidad, vim tiene muy avanzadas capacidades de bsqueda (que puede utilizar expresiones
regulares para un comienzo; vase el siguiente
barra lateral), pero aunque es posible llegar a depender de estas caractersticas a medida que se
vuelven ms avanzados en su uso,
todava se encontrar probablemente que usted pasa la mayor parte de su tiempo haciendo las
cosas simples.
Para buscar una palabra en vim, todo lo que tiene que hacer es el prefijo con una barra
inclinada. Para probar esto, mientras que en
modo de comando (pulse la tecla Escape dos veces para asegurarse de que usted est en el modo
correcto) tipo:
/Mara
Esto se debe entonces buscar todas las instancias de Mara y destacarlos para usted, como se
muestra en la Figura 6-17 .
Figura 6-17. Vim encontraron a Mara
Se puede ver el "fondo buscar golpear, continuando en la parte superior" del mensaje, lo que
equivale a la nano Buscar "
Envuelto "mensaje. Una cosa a tener en cuenta con vim es que debido a que utiliza expresiones
regulares para buscar, que es
Tambin es sensible a maysculas por defecto. Eso significa que si la bsqueda de Mara en
lugar de Mara , espera recibir una queja como
se muestra en la figura 6-18 .
www.it-ebooks.info
pgina 134
Captulo 6 Edicin de archivos en la lnea de comandos
122
Una ventaja que tiene VIM bsquedas sobre nano se repite. Para pasar al siguiente resultado de
la bsqueda, todo lo que tiene que hacer
es presionar la tecla n. En nuestro ejemplo el texto anterior, si la bsqueda de Mara con / Mara
y luego sigue pulsando la tecla n,
ver ciclo de Vim a travs de los resultados de bsqueda para usted. En realidad no podemos
demostrar que el efecto en la impresin, pero es
una distraccin agradable durante unos segundos si usted prefiere no estar haciendo otra cosa. Si
desea buscar en el frente
direccin (es decir, hacia la parte superior del archivo en lugar de la parte inferior), slo tiene
que utilizar una N mayscula en su lugar.
Figura 6-18. Vim no puede encontrar mary
expresiones regulares
expresiones regulares en las manos adecuadas son como divisiones magic.they a travs de tareas
de procesamiento de textos complejos como
una motosierra caliente a travs de butter.they caliente tambin se utilizan con frecuencia para
dar a los administradores de sistemas mojar la cama
pesadillas y para asustar a los nios pequeos. expresiones regulares son muy poderosas una
vez que sepa cmo usarlos,
pero chico hace que el poder venir con un costo! Sea como fuere, un conocimiento bsico de las
expresiones regulares ser
muy til para usted, y se puede utilizar directamente en vim para buscar, reemplazar, y otro tipo
de manipulacin
tu texto.
No tenemos suficiente espacio para entrar en expresiones regulares aqu (a menudo referido
como expresiones regulares ), pero hay algunas
fantsticos recursos disponibles en Internet para empezar, por no hablar de los libros completos
sobre el tema.
un gran punto de partida es la web de Jan Goyvaerts ':

www.regular-expressions.info/
. No slo es este sitio lleno de
tiles e informacin til (que es muy a menudo nuestro primer puerto de escala), pero Jan
tambin ha escrito algunas muy potente
software.We compr RegexBuddy hace muchos aos y sigue siendo nuestro primer puerto de
escala cuando estamos tratando de depurar
algunas expresiones regulares complicado. si quieres una herramienta sencilla para poner a
prueba sus expresiones regulares, echa un vistazo
http://rubular.com/
, Lo que hace el anlisis sintctico de expresiones regulares en tiempo real rub.
Mover a un nmero de lnea especfico
Lo ltimo que vimos en nano se mova a un nmero de lnea especfico. Esto es en realidad
mucho ms fcil en vim, probablemente
porque es algo que los programadores tienen que hacer todo el tiempo. Para saltar a un nmero
de lnea especfico, todo lo que tiene que hacer
es colocar el nmero de lnea despus de los dos puntos. Por ejemplo, para saltar al 5

lnea de todo lo que tena que hacer es lo siguiente:


:5
www.it-ebooks.info
pgina 135
Captulo 6 Edicin de archivos en la lnea de comandos
123
Una vez que pulsa la tecla Intro, se le llevar directamente a la quinta lnea. Al igual que antes,
esta caracterstica no es particularmente til
para la edicin normal, pero es muy til cuando se est jugando por ah con un programa que
simplemente se niega a trabajar el
manera usted sabe que debe!
Movindose en vim
A pesar de que ya te hemos mostrado cmo moverse por su archivo de texto, no hemos sido
aprovechar el poder de vim.
Vim proporciona comandos adicionales que se nos permiten navegar a travs del texto con
mayor rapidez.
En el modo de comando, todava se puede mover alrededor de su texto usando las teclas del
cursor, lo cual es conveniente. En efecto,
usted puede hacer lo mismo usando otros dos comandos: la h y las teclas l. La clave h mover el
cursor un
el carcter y la tecla l mover el cursor un carcter hacia adelante. Es cierto que no es muy
emocionante, pero podemos
Ahora introducir el b & w comandos. Ellos funcionan igual que los comandos anteriores, pero
en lugar de simplemente dando un paso atrs
un carcter, que saltar al principio de las palabras. De pronto, eso es ms til porque ahora si
usted tiene una larga lista de
texto, en lugar de presionar y mantener presionada la tecla del cursor durante largos periodos de
tiempo (tentador, sin embargo, no es as?),
puede acelerar enormemente el proceso por el salto de una palabra a la vez.
Podemos llevar esto un paso ms all, sin embargo. Si desea acceder al principio de una lnea,
puede pulsar el 0 (cero)
llave. Para llegar a la final de la lnea, slo tiene que utilizar $ (en nuestro caso, eso significa
que mantiene pulsada la tecla Shift y presionando la
4 Tecla). Esto es sorprendentemente til, ya que habr un montn de veces cuando se quiere
llegar al principio o
Al final de la lnea, y ahora puede hacerlo con una sola pulsacin de tecla.
Tabla 6-1 hace que sea un poco ms claro.

As que lo que tenemos ahora es una manera progresiva para desplazar el cursor de un extremo
de la lnea a la otra. No ms
tenemos que jugar alrededor con las teclas ENTER o la tecla de retroceso, o quedarse dormido
esperando el cursor a travs del nido
pantalla. Eso es slo el principio, sin embargo, debido a que estas teclas se pueden utilizar para
mucho ms que trasladar alrededor de su
archivo; Tambin se pueden utilizar para especificar el alcance de los comandos que se
alimentan de vim.
Eliminacin en vim
En el modo de comando, para borrar un solo carcter todo lo que tiene que hacer es pulsar la
tecla x. Esto eliminar cualquier letra
pas a estar bajo el cursor en ese momento. Esto a veces es til en s misma (por lo general
cuando pellizcar un error tipogrfico),
pero en realidad no se le ofrece grandes ventajas sobre dejndose caer en el modo de insercin.
La clave d, sin embargo, proporciona una
muy potente comando de eliminacin que ahora se puede combinar con sus conocimientos
recin adquiridos de mover el cursor
hacer algunas cosas bastante impresionantes.
Tabla 6-1. Los accesos directos de navegacin comunes en vim
Movimiento
Pulse la tecla
Inicio de lnea
0
Una palabra hacia atrs
segundo
Volver una letra
MARIDO
Remitir una carta
l
Transmitir una palabra
w
Fin de la lnea
ps
www.it-ebooks.info
pgina 136
Captulo 6 Edicin de archivos en la lnea de comandos
124
El primer comando de eliminacin que vamos a intentar es dd. Vamos a empezar a cabo
mediante la supresin de la primera lnea en nuestro archivo. Asegurarse
todos estamos en el lugar correcto, usamos el siguiente comando para volver a la primera lnea:
:1
Ahora vamos a borrar la lnea actual escribiendo lo siguiente:
dd
Su poema debera ser ahora algo ms corta y parecerse a la figura 6-19 .
Figura 6-20. La eliminacin de tres lneas en una sola vez
Figura 6-19. La eliminacin de la primera lnea
Ahora que hemos arruinado nuestra poema, ahora sera un buen momento para introducir otra
caracterstica muy til en vim:
el comando "deshacer". Para deshacer el cambio que acaba de hacer, slo tiene que pulsar la
tecla u, y Mara ser restaurado a su
gloria antigua. Esto no slo evita que los ataques de pnico cuando el borrado accidental de la
lnea equivocada, pero tambin significa
podemos eliminar partes de esta lnea de muchas maneras fascinantes.
Si usted tiene ms de una lnea que desea eliminar, se puede decir vim cuntas veces desea que

se ejecute una
en particular comando anteponiendo el comando con un nmero. Por ejemplo, si queremos
eliminar tres lneas
de nuestro poema, podramos hacer esto:
3DD
Esto es equivalente a presionar las claves d seis veces y le da el feliz resultado se muestra en la
figura 6-20 .
www.it-ebooks.info
pgina 137
Captulo 6 Edicin de archivos en la lnea de comandos
125
Se puede ver en la esquina inferior izquierda que ahora hay "menos lneas 3" tal y como lo
esperado. Restauremos Mara con
la tecla T y probar algo diferente. Con nuestro cursor al comienzo de la primera lnea, intente
ejecutar este comando:
dw
Este comando combina el comando de borrado con comandos de movimiento que ya hemos
visto anteriormente. En este caso,
combinado con w. lo que significa "una palabra a la derecha." Se puede ver el efecto de ese
comando en la figura 6-21 .
Figura 6-21. Eliminacin de una sola palabra
Figura 6-22. La eliminacin de dos palabras a la vez
En lugar de mover el cursor, se han seleccionado de manera efectiva el texto que queramos
eliminar. En este caso, D
empezar a borrar desde la ubicacin actual del cursor, hasta la primera letra de la palabra
siguiente. Podramos haber logrado este
efecto con bastante facilidad, simplemente pulsando los x tecla varias veces, pero utilizando dw
es claramente ms rpido y ms preciso. Vamos
llevar esto al siguiente nivel y combinamos lo que sabemos. Sabemos que podemos hacer vim
ejecutar un mltiplo de comandos
tiempos anteponiendo el comando con un nmero. Tambin sabemos que podemos combinar
con el comando d w eliminar
una palabra completa. Vamos a revivir Mara (otra pulsacin de la tecla T) y probar este nuevo
comando mejorado (los resultados de
los cuales se muestran en la figura 6-22 ):
2dw
Bueno, no es tan interesante? Hemos sido capaces de combinar una seria de comandos para
expresar alguna razonablemente
tareas complicadas. Puede, por supuesto, combinarlos de ninguna manera. Por ejemplo, si desea
eliminar todo a la
final de la lnea, se puede utilizar d $. Si desea borrar todo, desde el inicio de la lnea, puede
utilizar d0. Es ser capaz
combinar comandos de esta manera que hace que vim una herramienta tan poderosa para
trabajar con texto. Aunque estas caractersticas
son de bastante limitado utilizado cuando se trabaja con la prosa Ingls, cuando se empieza a
trabajar con lenguajes de programacin, que
llegar a ser muy til de hecho.
www.it-ebooks.info
pgina 138
Captulo 6 Edicin de archivos en la lnea de comandos
126
Varios pequeos comandos
Antes de pasar a ver algunas de las caractersticas de modo visual de Vim, vamos a dar una

visin muy rpida


de algunos otros comandos simples que sern tiles. El i entra en el modo de insercin, pero a
veces se quiera
escribir inmediatamente por encima o por debajo de la lnea actual. Usted puede conseguir este
efecto mediante el uso de O y O respectivamente. estos sern
tanto insertar una nueva lnea y luego cambiar al modo de insercin. A veces no es necesario
realmente editar el contenido de un archivo;
slo tiene que cambiar una sola letra. Esto podra ser debido a un error tipogrfico o tal vez lo
que desea es incrementar un nmero.
Usted puede hacer esto con la tecla r. Esta tecla le permite reemplazar el carcter bajo el cursor
con cualquier otro carcter.
Simplemente pulse el botn r y escriba el carcter que desea sustituir. Sencillo pero muy eficaz!
Modo visual
modo visual no es algo que utilizamos muy a menudo, pero nos puede ahorrar una enorme
cantidad de tiempo y esfuerzo. Este modo
le permite seleccionar o resaltar los bloques de texto para su posterior procesamiento. Esto es
similar a resaltar el texto con el ratn
en un procesador de textos. Hay dos formas en las que pueden entrar en el modo visual del
modo de comando: pulsando la tecla V
o la tecla v. Si utiliza la mayscula V, usted ser capaz de seleccionar un bloque de texto basado
en las lneas. Con la minscula v,
se gana precisin adicional ya que puede elegir sobre la base de las letras individuales en vez de
lneas enteras. El resultado global es el mismo,
y la opcin que elija depende slo de cul sera el ms conveniente para usted.
Entonces, qu se puede hacer con el modo visual? As que realmente no hace nada por s
misma; slo se ofrece
una manera fcil para que le diga qu texto vim el siguiente comando se debe aplicar a. De
acuerdo con nuestra anterior
ejemplos, vamos a seleccionar un fragmento del poema de Mara, como se muestra en la figura
6-23 . (No es necesario para resaltar el texto exacto que
tenemos, pero tratamos de conseguir un trozo bastante aleatoria.)
Figura 6-23. Resaltado de texto en modo visual
Como se puede ver en el punto culminante, se utiliz la opcin v minscula ya que queramos
resaltar dentro de un particular,
palabra. No hay ninguna razn real de que, aparte de un sentido de lo dramtico, lo que
fcilmente podra haber sido un montn de lneas
seleccionado con V. Ahora vamos a aplicar nuestra consola favorito: el comando de borrado.
Pulsando d, se encuentra que la
Selecciona el texto desaparece mgicamente. En este caso, no es necesario para proporcionar
informacin adicional a VIM para decirle qu
eliminar, porque, en efecto, que ya ha dicho que al resaltar el texto en el primer lugar.
Sangrado del texto
Por supuesto, se pueden hacer otras cosas interesantes, aparte de borrar texto (aunque se elimine
el texto es divertido). Por ejemplo, si
desea sangrar las dos primeras lneas del poema, se pueden destacar las dos primeras lneas con
V y luego usar el mayor de lo
y menos de signos (> y <, respectivamente), segn proceda. No podemos mostrar cmo se vera
en la impresin (sinceramente
mover enormes trozos de texto de nuevo adelante y hacia atrs es sorprendentemente
teraputico), pero podemos mostrar el resultado final de este
comando, como se muestra en la figura 6-24 .
www.it-ebooks.info
pgina 139
Captulo 6 Edicin de archivos en la lnea de comandos

127
Hay una caracterstica ms terriblemente til que no hemos cubierto hasta ahora de que
funciona muy bien con el modo visual:
copiar y pegar.
Copiar y Pegar estilo de vim
Copiar y pegar en un terminal es algo as como un asunto dudoso. La razn de ello es una
aplicacin que se ejecuta en el
Terminal efectivamente vive en su propio mundo. Si copia el texto de la terminal en su
computadora porttil, por ejemplo, que
texto se copia en el portapapeles de su ordenador porttil. La aplicacin remota (en este caso,
vim) no tiene ni idea de que lo hiciste.
Del mismo modo, si pega el contenido a vim desde su ordenador porttil, vim simplemente
recibirlo como un conjunto de pulsaciones de teclas, no tendr
un indicio de que se trataba de un portapapeles. En trminos generales, esto est bien. Si lo que
desea es pasar un poco de texto sobre, usando
el portapapeles de esta manera es probablemente muy bien.
Hay ocasiones en que esto no hace lo que quiere. Por ejemplo, si usted tiene una pantalla
dividida y tiene dos
archivos de lado a lado y que desea seleccionar el primer prrafo de la izquierda, que ahora
estn un poco atascado. El terminal slo demuestra
que una representacin de lo que hay en el servidor; es slo una pantalla y, como tal, el terminal
no tiene ninguna comprensin real de
lo que se est mostrando. Si intenta copiar y pegar el lado izquierdo, se encuentra el lado
derecho viene adelante para el paseo. Eso es
lejos de ser ideal (por no mencionar muy irritante).
Es posible que desee vim para hacer algo con el texto. Si lo que desea es pegarlo una vez, no es
gran cosa, pero lo que si
desea pegar exactamente 10.004 veces? Vim no puede ayudarle porque no tiene ningn
concepto de su portapapeles local. usted lo va a hacer
encuentran que cuando estos problemas no surgen, van a estar bastante nicho y se puede trabajar
alrededor de ellos. Sin embargo, es probable que
realmente te irrita debido a que va a pensar "si tan slo pudiera simplemente copiar este texto!",
mientras que sentarse all tratando de evitar
el problema.
Lo que necesitamos entonces es un bloc de notas en algn lugar remoto para la aplicacin
remota para almacenar datos para su procesamiento.
No hay un estndar para esto, pero muchas aplicaciones basadas en terminales ofrecen una
solucin; para vim, es el cortar y pegar sobre
caracterstica. Dar un tirn a algn contenido, es necesario utilizar la tecla y, que tiene los
mismos modificadores que utiliza el comando d, por lo
puedes felizmente copiar una lnea completa con aa (recordemos que la carta simplemente se
duplica) y una sola palabra con YW.
Tambin como el comando de eliminar, tambin podemos utilizar esto con el modo visual.
En primer lugar, basta con resaltar el texto que desea copiar. Para simplificar, vamos a por las
dos primeras lneas de nuevo. Una vez
que haya resaltado que con la tecla V, pulse la tecla y para dar un tirn en el portapapeles. La
fase uno es completa; ahora todo
que tenemos que hacer es volver a pegarla en nuestro archivo. Hay dos formas de usar el
comando de pegar con: P o p.
Al igual que con los comandos de V y V, las versiones en maysculas y minsculas suelen estar
relacionados de alguna manera. En este caso, la
tecla P inserta el contenido antes de la lnea actual, mientras que la tecla p inserta despus. No
dude en para mover el cursor a
cualquier lugar en el archivo antes de ir a una de esas llaves. El efecto es realmente lo que se
espera, y vim acaba de pegar

contenido. Puede, por supuesto, combinar estos comandos con los prefijos numricos para
repetir el nmero de veces
se inserta algo. La figura 6-25 muestra lo que sucede si al final 40p.
Figura 6-24. Sangra texto resaltado
www.it-ebooks.info
pgina 140
Captulo 6 Edicin de archivos en la lnea de comandos
128
Aunque no se sabe todava, en realidad se aprendi a cortar, as como el texto de la copia. Cada
vez que se utiliza la tecla D,
Eliminar el texto del archivo, pero una copia se coloca en el portapapeles. Si selecciona una
lnea y elimina con dd, puede
restaurarla con P. Tenga en cuenta que si utiliza la tecla p en cambio, que realmente va a ser la
insercin de la lnea original despus de la
la lnea que est actualmente en la causa que haya eliminado la lnea. Si desea restaurarlo a su
ubicacin original, debe utilizar
la tecla P para pegar antes de la lnea actual.
Resumen
Este captulo analiz lo que separa a un archivo de texto de un archivo binario y qu archivos de
texto son la lengua franca cuando se
viene a la configuracin del software. Hemos cubierto dos de los editores de texto clave que es
probable que venir a travs de sus viajes,
y les hemos dado una buena base en los dos. Ciertamente, no hemos sido capaces de demostrar
que todo lo que es
es posible, pero ahora usted debe estar en una buena posicin para explorar y probar cosas
nuevas a s mismo.
En el siguiente captulo, vamos a cubrir al intrprete de comandos y mostrar algunas de las
cosas ms importantes que un sistema de
administrador tiene que saber.
Figura 6-25. Pegar misa
www.it-ebooks.info
pgina 141
129
Captulo 7
Administracin de su Pi
As que ahora usted tiene este mgico Pi, instalado Raspbian, iniciado la sesin y tiene su Pi la
manera que le guste, e incluso tienen unos pocos
cosas en mente que ver con ello. A pesar de que son cada vez familiarizados con Linux, el
problema es que cada vez que Pi es
apagado o pierde el poder, tiene que ir hacia l, conectarse y fsicamente creado las cosas antes
de poder utilizarlo de nuevo.
Bueno, no ms!
Este captulo trata sobre la administracin de sistemas y algunas de las funciones bsicas de
aplicacin que le permitir
gestionar la forma de funcionamiento del sistema en el arranque. Para ayudar, nosotros tambin
le dar un curso acelerado de codificacin con el BASH
idioma para que pueda crear secuencias de comandos de inicio de su cuenta para iniciar
aplicaciones (vamos a cubrir lo que es una secuencia de comandos es,
tambin). Por ltimo, vamos a cubrir algo de seguridad bsica para su sistema, incluyendo la
gestin de usuarios, para que pueda cambiar su
contrasea y aadir nuevos usuarios al sistema.
Acceso a la remota Pi
Probablemente una de las cosas ms difciles para acostumbrarse a la hora de trabajar en un

entorno Linux cuando viene de un equipo con Windows


o un entorno de OSX est trabajando en la cscara. Para empezar, no es bastante, pero lo ms
importante seres humanos son criaturas
que estn muy usado para manipular las cosas para lograr un resultado. Esto significa que un
entorno basado en GUI es
mucho ms intuitivo al principio. Al venir de un entorno Windows, lo que puedo decir con
certeza que la lnea de comandos
es un gran entorno de este tipo para trabajar. La cantidad que se puede hacer con unas cuantas
pulsaciones de teclado hbiles, en comparacin con el teclado
y el trabajo ratn, hacer clic, arrastrar, y la realizacin de acciones de contexto es increble. Ser
capaz de trabajar dentro de un sistema
slo a partir de la lnea de comandos es un gran activo de hecho. Pero hay que familiarizarse
con l, y la nica manera de hacerlo
esta es la prctica!
Por qu estoy hablando de la lnea de comandos cuando tenemos que hablar acerca de la
administracin Pi? Dado que la mayora de Linux
gestin se logra a travs de la lnea de comandos, con la mayora, si no todas las funciones del
sistema que desee utilizar
que est disponible desde la lnea de comandos. Por otra parte, es mucho ms fcil y menos
intensivos en recursos para acceder al sistema
a travs de la lnea de comandos de lo que es para acceder a ella a travs de la interfaz grfica de
usuario. Para acceder a su sistema de forma remota a travs de la lnea de comandos,
slo tendr que utilizar Secure Shell (SSH o, para abreviar), que viste por primera vez en el
captulo 3. Tambin es necesario asegurarse de que su
acceso a la red del sistema est disponible en el arranque tambin. Estas dos funciones sirven
los fundamentos de ser capaz de gestionar
el sistema desde cualquier lugar, ya que ha permitido a la red y luego se puede utilizar SSH para
conectarse a su sistema. Entonces vamos
examinar estas dos funciones un poco ms de cerca para que pueda entender cmo asegurar que
siempre se puede acceder a su Pi
para su gestin.
Redes
Si usted es como la mayora de la gente y tener un router para proporcionar mltiples
dispositivos en el sistema con acceso a la red, se quiere
probablemente ser consciente de que su router proporciona automticamente las direcciones IP
de la red para todos sus dispositivos. No hacer esto
a travs de cualquier tipo de magia, sino ms bien a travs de un protocolo especial llamado
DHCP, lo que significa control de dinmica de host
Protocolo. El propsito de DHCP es asignar automticamente una direccin IP a una mquina,
lo que significa que no hay necesidad
www.it-ebooks.info
Pgina 142
Captulo 7 Administracin del pi
130
para asignar manualmente una. DHCP se invoca automticamente por el servicio de red cuando
est configurado para hacerlo.
Cubrimos cmo configurar una red con mucho ms detalle en el captulo 9 Wipi.
Sin embargo, si por alguna razn es necesario invocar manualmente DHCP para asignar una
direccin IP y conseguir que
conectado a la red, es necesario utilizar el comando dhclient. Usted tendr que ejecutar como
root, ya que los necesitar para
ver con la mayora de estos comandos, porque va a cambiar la funcionalidad del sistema central.
Si usted acaba de ejecutar dhclient como es,
va a tratar de obtener una nueva direccin IP para cada interfaz en el sistema, lo cual puede no

ser deseable. En realidad se puede


especificar una interfaz especfica para la dhclient para trabajar con simplemente agregando que
como primer argumento del comando
(Es decir, eth0 dhclient).
DNS
Probablemente una de las cosas ms importantes a tener en cuenta al trabajar con sus sistemas
de redes es el DNS,
que es la abreviatura de Sistema de nombres de dominio. DNS es la forma en que cada sistema
de la Internet es capaz de convertir las URL
(p.ej, www.apress.com ) En una direccin IP (por ejemplo, 173.203.147.183). DNS en su
mquina Linux funciona mediante el conocimiento
donde debe dirigir sus consultas. Este aspecto se rige por la /etc./resolv.conf archivo, que
contiene un servidor de nombres
Directiva que le dice al sistema en el que se encuentra el servidor de nombres que debe realizar
la bsqueda. Normalmente este es el router, pero
puede ser un servidor DNS de Internet, tales como el de Google 8.8.8.8. Estos aparecern en
resolv.conf como esto:
10.0.0.1 servidor de nombres
SSH
SSH es una forma que puede obtener de forma remota una conexin segura y cifrada a su
cscara del Pi, sin necesidad de
fsicamente hacer nada para ella. Cada vez instalado SSH en funcionamiento, junto con los
comandos bsicos para acceder al sistema, se
cubierto en el Captulo 3, as que no voy a entrar en tanto detalle y tendr lugar a bucear
profundamente en la funcin de SSH. SSH
es proporcionado por el demonio sshd que se ejecuta en el arranque de su Pi. Puede iniciar y
detener este comando en el mismo
forma en que lo hace el sistema, que consiste en utilizar la secuencia de comandos de inicio de
sshd. Todos los scripts del sistema init normalmente se encuentran en /etc./
init.d / y estn normalmente se ejecuta como root. Para usarlos, agregue la accin que desea
tomar (iniciar, detener y reiniciar) a la
primer argumento del guin. As que para reiniciar SSH, ejecute /etc./init.d/ssh reinicio.
Adems, estos scripts son las
el sistema utiliza para ejecutar programas o comandos en el arranque. As que vamos a echar un
vistazo a cmo podemos aprovechar esto para escribir su
propios scripts de inicio.
BASH: Codificacin bsica
Adems de "Hey se puede arreglar mi computadora?", La pregunta de computacin ms
comunes que me preguntan es "Me enseas cmo
para escribir esta aplicacin en C ?. "No pasa un mes sin que alguien estoy trabajando con, un
amigo o un pariente viene
y me pide que les ensee a escribir software. Normalmente, piden un rpido resumen de cmo
escribir aplicaciones
en C. Esta no es una pregunta razonable en su mayor parte, pero a menudo cuando les pregunto
lo que quieren hacer,
querer hacer algo sencillo. Y mientras que volvera a defender el aprendizaje C, hay una manera
mucho ms simple para ellos
para introducirse en el maravilloso mundo de diseo de software, sin asumir la tarea de aprender
C (que por lo
que son normalmente despus de una gran cantidad de exceso).
Ese es el objetivo de esta parte del captulo. Nuestro objetivo es presentarle a la codificacin, a
las estructuras lgicas bsicas, y para
algunos de los principios bsicos de diseo de software para que pueda hacer el trabajo. Esto lo
lograremos mediante la introduccin de
se ponga en bash. Mientras que muchas personas se burlan, BASH es una manera perfecta para

introducir los fundamentos bsicos de lo


programacin est a punto. Bash es tambin uno de los idiomas ms utilizados para el software
en el mundo, porque la mayora
aplicaciones en sistemas Linux tendrn un cierto nivel de software de BASH realizar algn tipo
de funciones de intermediacin
en algn punto de la ruta.
www.it-ebooks.info
pgina 143
Captulo 7 Administracin del pi
131
Qu es BASH?
Como se explica en el Captulo 3, BASH es la abreviatura de Bourne Again Shell y es el
entorno de shell por defecto para la mayora de Linux
y UNIX. Cuando se registre en su sistema a travs de la lnea de comandos y se presentan con el
indicador,
este mensaje se proporciona a usted por el shell bash. La cscara se llevar a rdenes e
instrucciones y procesarlos
para llevar a cabo las funciones del sistema. La mayora de los comandos que normalmente
problema cuando se trabaja con o administrar su
sistema a travs de la lnea de comandos son los de invocar otras aplicaciones para que pueda
generar la salida.
Aunque esto parece una manera muy obvia y simple de hacer las cosas, sino que tambin es una
fantstica manera de demostrar
el precepto bsico de cmo funciona una aplicacin de software. Se toma una entrada dada,
realizar algn tipo de computacin
sobre ella, una respuesta (llamada la salida se genera). Este proceso es, de hecho, el proceso
bsico de tantas funciones
de la vida y el trabajo que muchas personas dan por sentado. Este es el modelo bsico de
entrada, clculo, de salida que formar la
modelo bsico de cmo vamos a entender cmo las funciones de programacin.
As que de vuelta a la primera pregunta: cul es BASH? Bash es una concha, y una concha es
un mtodo para la toma de insumos y
computar contra ellos para generar una salida. BASH tiene una serie de herramientas que le
permiten utilizar la misma lgica bsica
construcciones de los lenguajes de casi toda la programacin. Esta es la forma BASH funciona
como un lenguaje de programacin, as como una
concha se puede escribir un nmero de estas operaciones lgicas y comandos y luego usarlos
para formar un clculo.
Ahora usted tiene una comprensin rudimentaria de lo que es BASH, lo que es una cscara, lo
que el objetivo general de cualquier equipo
programa es, y cmo todas estas funciones estn disponibles para realizar la accin bsica de
entrada, clculo, y la salida. Ahora
que tiene una visin muy amplia de lo que queremos lograr, podemos usar este conocimiento
como el punto de partida para
aprender cmo escribir un programa con BASH.
A partir de BASH
As que ya saben lo que es y lo que BASH una cscara es y cmo funciona la lgica
rudimentaria de un programa que es a menudo
considerado por muchos como la cabeza y los hombros por encima del resto. De hecho, varios
entrevistadores comentaron que mientras
sus empleadores tenan un riguroso interrogatorio de los ingenieros de software potenciales que
podran abrazar todo lo que tenemos
cubierta, se quejaron de que muchos empleados y graduados no podan formar la lgica de un
programa bsico en una pieza

de papel. Se fueron hacia adelante para proponer una prueba de codificacin, una prueba muy
sencilla que cualquier ingeniero de software debe ser capaz de
solucionar rpidamente. Esta prueba, que se llama la prueba de FizzBuzz , se basa en el juego
del mismo nombre para nios. Lo bsico
principio es que debe contar del 1 al 100 y decir Fizz para cada nmero que es mltiplo de 3,
debe decir zumbido
para cada nmero que es un mltiplo de 5 y, finalmente, se debe decir FizzBuzz para cada
nmero que es un mltiplo de 3, tanto
y 5. Suena simple; eso es porque lo es. Despus de todo, la mayor parte de codificacin es la
simple construccin de pequeos bloques de la lgica y adjuntando
a otros bloques de la lgica; triturar junto montones y montones de poca entrada, calcular, y
nodos de salida para formar una ms grande
sistema informtico que realiza un clculo, y el proceso de entrada y salida mucho ms grande.
Con este fin, vamos a empezar por escribir nuestra propia solucin al problema FizzBuzz en
BASH para que todo puede pasar
El software bsico test de ingeniero de competencia! Est bien; vamos a la programacin en
BASH. El intrprete BASH
proporciona comandos que tienen la misma funcin que los elementos lgicos programticos
comunes. Estas se pueden combinar
con comandos shell normales para formar programas completos. Por lo tanto, vamos a empezar
a escribir (cubrimos los editores de texto en el captulo 6, por lo
puede utilizar cualquiera que desee). Todo lo que necesita es ser capaz de editar un archivo y
ejecutarlo en la lnea de comandos despus. Ir
por delante y abrir su editor de texto favorito y escribir lo siguiente:
#! / Bin / bash
Esta es la primera cosa que cualquiera que desee escribir un programa en BASH debe escribir.
Esto se llama el tinglado ,
y es un smbolo especial que cuando se coloca en la primera lnea de cualquier archivo significa
que es la ruta a la secuencia de interpretacin
motor que se van a utilizar. En este caso, vamos a utilizar el intrprete de BASH que se
encuentra en / bin / bash en su Pi
y en casi cualquier otro sistema operativo Linux y UNIX. Esto le dice a la shell smbolo del
sistema fuera de ese
cuando se ejecuta este programa, se debe utilizar el intrprete / bin / bash para ejecutarlo.
Siempre debe incluir algunos
forma de tinglado en el inicio de su programa dado para cualquier lenguaje interpretado.
www.it-ebooks.info
pgina 144
Captulo 7 Administracin del pi
132
Interpretado frente Compilado
Esto me lleva muy bien con el siguiente punto del orden: interpretado vs. lenguajes compilados.
A estos efectos, no lo har
necesita tener un profundo conocimiento de los lenguajes compilados, pero siempre es bueno
saber que existen y estar al tanto
de algunas de las diferencias entre un lenguaje interpretado y un lenguaje compilado. As,
mientras que los dos conjuntos de idiomas
le permite escribir sus propios programas para el ordenador ejecute, que avanzan sobre esto en
formas fundamentalmente diferentes.
Los lenguajes interpretados (a veces llamados lenguajes de scripting ) escriban una serie de
comandos de programacin
que son alimentados a un motor de interpretacin (tal como se indica por el shebang, por
ejemplo) que extrapolar su computacional
es decir, y desempear las funciones que el programa destinado. Este es el lpiz y el papel

equivalente de una receta para


un pastel, por el que usted anote el mtodo exacto de cmo hacer el pastel, y el intrprete lo
cocina para usted y
salidas delicioso pastel sabroso.
Nota

esta naturaleza receta es tambin muy parecido a un guin para una obra de teatro en la que todo
el tiempo que tiene el guin y lo pueda leer,
llevar a cabo las mismas acciones cada momento a pura es la razn por lenguajes interpretados
son a menudo conocidos como lenguajes de script: su
salida final es una coleccin de texto que se puede utilizar para crear la salida de programacin
de la misma manera cada vez.
Lenguajes compilados adoptan un enfoque diferente. Tambin tienen una receta (llamado
cdigo fuente ), pero en lugar de la
Receta de funcionamiento, que ser llevado a una pieza especializada de software llamado
compilador que se llevar a la receta y crear
un paquete ejecutable (llamado binario ) de la misma. Este paquete binario est escrito en la
mquina del propio equipo
idioma, para cuando se ejecuta realiza todas las acciones en s. Este es el equivalente a escribir
los planes para un especializado
torta de decisiones del sistema y luego instalarlo en su sistema y que tiene que hacer el pastel.
En ambos casos se obtiene la torta, pero
el interpretada puede tardar un poco ms para que desde el momento en que dices ir. La otra
cara de esto es que la creacin
la maquinaria especializada torta de decisiones toma mucho ms esfuerzo. Ahora usted debe
entender por qu dije idiomas
como C eran excesivos para los pequeos problemas-C es un lenguaje compilado.
La produccin en BASH
Vuelta a la aplicacin: si se va a guardar y ejecutar su programa, que no hace nada para usted.
As que la primera orden
de negocios debe ser algo para que su salida del programa. Esto se consigue con la declaracin
de eco, que
Tambin est disponible desde su comando shell smbolo; se utiliza para hacer eco de la salida
del sistema un conjunto dado de texto. Entonces vamos
aadir una salida a su secuencia de comandos para hacer que diga hola a todo el mundo ah
fuera en el gran mundo. Modificar la secuencia de comandos por lo que
Se ve como esto:
#! / Bin / bash
echo "Hello World!"
Ahora seguir adelante y ejecutar la secuencia de comandos; Para ello, tendr que cambiar los
permisos de archivo del guin para que pueda
para ser ejecutado. Mi script se llama fizzbuzz.sh, por lo que los comandos necesarios para
hacerlo ejecutable y luego ejecutarlo
son estos:
$ Chmod + x fizzbuzz.sh
$ ./fizzbuzz.sh
Este cdigo generar el siguiente resultado:
Hola Mundo!
www.it-ebooks.info
pgina 145
Captulo 7 Administracin del pi
133
Felicitaciones! Usted acaba de escribir el programa ms sencillo del mundo, el programa Hola
Mundo , que es el

programas mayora de los estudiantes de ingeniera de software primeras se dan para crear.
Muestra cmo empezar la construccin de una pequea pieza
de software y lleva a cabo la tarea fundamental de cualquier programa de software: se genera
una salida. En este caso, la cadena era
que nos dio una entrada de "Por favor salida 'Hello World!'" y el sistema computa eso y luego
nos dio el deseado
Salida: Hello World! Envolv Hello World! en un par de comillas. (Esto se hace para que la
lnea de Hola
Mundo! se trata como una cadena de caracteres en lugar de otros comandos a ejecutar.) Todas
las lenguas tienen que hacer el
distincin entre lo que es un pedazo de datos y lo que es una verdadera pieza de la lgica
programtica. Las comillas en
este ejemplo muestran que todo dentro de ellos se considera que es una cadena de texto.
Usted puede preguntar, "Y qu si quiero dar salida a una comilla? Supongamos que quiero de
salida "Hello World!" como eso
entre comillas ". Bueno, no es un problema, tenemos todo cubierto! Todos los sistemas tienen el
concepto de lo que se llama una
escapar . Un escape es un carcter especial que le dice al intrprete o compilador de hacer caso
omiso de las propiedades especiales de la siguiente
carcter y simplemente tratan como parte de una cadena dada. En la mayora de los sistemas, el
carcter de escape es una barra invertida (\). As que si nos
querido hacer de nuestro mundo Hola! tener entre comillas, nos modificarlo para que sea la
siguiente:
#! / Bin / bash
echo "\" Hello World! \ ""
Esto demuestra que queremos escapar de los pares de comillas interiores, por lo que si llevamos
a cabo, hay que ver la
siguiendo:
$ ./fizzbuzz.sh
"Hola Mundo!"
Fantstico! Incluso puede escapar de un escape si desea imprimir una barra invertida como la
salida de algo en
tu codigo. Recuerde que este software como que est escribiendo porque se trata de una de las
personas errores ms comunes
hacer-tener caracteres sin escape en su cdigo, lo que hace que el resto de su software para tener
problemas, porque
las cadenas estn mezclados.
Nota

probablemente el personaje ms comnmente es escapado


\norte
, Que es la abreviatura de nueva lnea .Este se puede utilizar para la produccin
texto en la siguiente lnea.
Como acotacin al margen, aqu es donde los editores de texto que tienen resaltado de sintaxis
vienen en un reino de su propia porque
son de gran ayuda en la visualizacin de los caracteres que forman parte de una cadena y cules
no. Vim tiene resaltado de sintaxis,
al igual que nano (pero no a travs de SSH); Por desgracia, el editor Leafpad interfaz grfica de
usuario por defecto no lo hace, pero hay una serie de
editores por ah que hacer que simplemente tienen que encontrar uno que ms le convenga.
Tambin tienen otras funciones, como soporte
a juego y juego cors, pero no nos van a ayudar mucho en esta etapa.
Resumen
Qu hemos aprendido hasta ahora? Hemos cubierto cmo empezar una aplicacin BASH
usando el tinglado para que podamos elegir

el intrprete adecuado. Usted aprendi cmo imprimir bsico de salida a la pantalla, y tambin
cmo utilizar el carcter de escape
dentro de una cadena. Esto nos lleva muy bien con el siguiente punto en nuestra lista: variables.
Variables
Las variables son una representacin abstracta de una determinada pieza de datos. Llegar de
nuevo? Una variable es una manera de que un ordenador
puede almacenar una pieza dada en la informacin de manera que pueda ser recuperada de
nuevo. Esta es la forma que la mayor parte de informacin dentro de
un programa es almacenado y manipulado porque la mayora de los programas no funcionan
como nuestro simple Hola Mundo! Toman
www.it-ebooks.info
pgina 146
Captulo 7 Administracin del pi
134
diversas formas de informacin y convertirla en otra informacin. As que salen de nuestro
primer ejemplo y volver a
el problema de escribir una aplicacin FizzBuzz. Tenemos que empezar contando del 1 al 100.
Podramos simplemente escribir cada uno de los nmeros, uno por lnea, y luego realizar los
clculos FizzBuzz en cada uno,
pero eso no es realmente una manera buena y lgica de ir sobre la escritura de este programa.
Lo que necesitamos es una variable abstracta
que puede contener el "nmero"; entonces podemos ejecutar las pruebas en contra de este
FizzBuzz "nmero" y luego nos limitaremos
aumentar el "nmero" por uno y aclarar y repetir hasta que el nmero 100 ha sido probado.
Entonces hemos terminado!
As que ahora usted debe tener una cierta comprensin de lo que es una variable. Es una manera
que podemos representar cualquier sola
pieza de informacin. No tiene que tener una pieza especfica de informacin, ya que la variable
es slo eso variables
en naturaleza? Sin embargo, hay algunas limitaciones de variables a considerar. En primer
lugar, hay muchos tipos diferentes de
las variables definidas en el resto del mundo de la programacin, tales como booleano, entero,
entero doble precisin, entero largo,
carcter, cadena, entero punto, vector, matriz, y as sucesivamente flotante. Para BASH, slo
hay unos pocos tipos de variables, pero
debemos ser conscientes de los ms importantes de los otros tipos de variables, ya que puede
entrar en juego con otro
lenguajes de programacin:
En primer lugar es el

nmero entero , que es una variable numrica que se disea para representar slo un nmero
(Y en la mayora de los casos, slo un nmero entero). Este tipo se define para permitir el uso
fcil de
funciones numricas matemticas y otras tales como suma, resta, multiplicacin y
pronto.
En segundo lugar est el

cadena , que es un tipo de datos escritos y representa una larga corriente de escrito
caracteres. Las cadenas son normalmente relacionados con la entrada del usuario y de salida, ya
que son demasiado
engorroso para trabajar con el interior de una aplicacin debido a la naturaleza altamente
variante de lo que puede
ser incluido en una cadena de texto.
En tercer lugar est la


matriz , que es un tipo especial de variable porque es un metavariable y es bsicamente una
soporte para un nmero de otras variables. Los subvariables dentro de una matriz se denominan
elementos y
se hace referencia mediante la adicin de un par de soportes cuadrados hasta el final de la
variable de matriz y un nmero
que corresponde al elemento de la matriz en cuestin. Las matrices no empiezan a 1; En su
lugar, comienzan
a 0 porque 0 es, lgicamente, el primer nmero de la secuencia de conteo. As que si desea
recuperar el
el cuarto elemento de una matriz que sera la adicin de [3] hasta el final de la variable de
matriz.
As que ahora que sabes lo que es una variable, podemos empezar a formar nuestra lgica bsica
del programa para resolver el FizzBuzz
problema.
Operacin lgica: si
Ahora tenemos tanto la capacidad de producir algo y para almacenar algo, que cubre las
primeras y ltimas porciones de
lo que uno tiene que hacer con una entrada y salida de programa de ordenador. Lo que tenemos
que hacer ahora es llevar a cabo en realidad algunos
clculos sobre nuestras variables de manera que podemos tener nuestro programa haga algo
significativo. Aqu es donde rompemos
en las operaciones lgicas. En la programacin hay dos operaciones lgicas bsicas que se
necesita para convertirse en ntima
con. Estas dos operaciones lgicas forman la base de la mayor parte de la programacin que se
va a hacer en cualquier lugar. Hacen esto
ya que permiten a las personas para llevar a cabo las pruebas y tomar acciones divergentes,
dependiendo del resultado de la prueba.
La primera de estas afirmaciones es la sentencia if. Una sentencia if lleva a cabo tal y como su
nombre lo indica, si algo
Es cierto, se realiza una accin. Es la naturaleza de la prueba de una sentencia if que se ofrece
con todo su poder porque cuando
combinado con el uso de variables podemos probar casi cualquier cosa que queramos. As que
mirar el ejemplo FizzBuzz, nos
Sabemos que tenemos nuestra inicial "nmero" variable que represente los nmeros de contar
entre 1 y 100. Necesitaremos
para llevar a cabo pruebas en "nmero" para ver si es divisible por 3, divisible por 5, o
divisibles por 3 y 5. Si coincide con una de
estas condiciones, tenemos que muestre la palabra correcta.
As que ahora es necesario entender cmo una sentencia if est escrito en un programa. En bash,
la sintaxis bsica es la siguiente:
si [<PRUEBA>]; entonces
HACER ALGO
fi
www.it-ebooks.info
pgina 147
Captulo 7 Administracin del pi
135
Lo anterior es una fiesta sencilla sentencia if y realmente no es tan complejo. Usted notar que
junto con el
si, y la prueba y hacer algo, hay tambin una ficcin. La fi denota el final de las cosas que se
van a realizar, como
se puede realizar varias acciones dentro de una sentencia if. Por lo tanto, ahora tenemos nuestra
sentencia if, por lo que necesitamos para que haga

cosas. As que vamos a echar un vistazo rpido a algunas operaciones matemticas.


Nota

recuerde dejar un espacio en cada lado del corchete abierto, un espacio antes del corchete de
cierre,
y un espacio despus del punto y coma; de lo contrario, obtendr un error de sintaxis.
Aritmtica base de pruebas
Sabemos que tenemos que tener una prueba para la igualdad, por lo que cmo puede alguien
confirmar si un nmero dado es divisible por
otro nmero dado? La respuesta simple es comprobar que cuando se divide por un nmero
dado, el resultado es un "todo"
nmero sin ningn tipo de "resto". Esto es, de hecho, como un concepto difcil de programar
como suena. Mientras que la multiplicacin,
suma, resta, divisin e incluso dar respuestas finitas que pueden ser probados en, comprobando
si algo
es divisible por otro nmero, se necesita una operacin diferente. Afortunadamente, hay un
matemtico especializado
operacin diseada slo para este problema: el mdulo . El mdulo devuelve el resto de una
divisin de cualquiera de dos
nmeros y se denota por el smbolo%. Por lo que el mdulo que da resultados como estos:
12% 3 = 0
12% 5 2 =
Y de repente nuestra prueba ha aparecido: si el nmero de mdulo 3 es igual a 0 que Fizz de
salida, si el nmero 5 es el mdulo
igual a 0, que zumbido de salida, y si el nmero de mdulo 3 y 5 es igual a 0, que FizzBuzz de
salida. Por lo tanto, si combinamos todos
estos, obtenemos lo siguiente:
si [% 3 = 0]; entonces
echo "Fizz"
fi
si [Nmero 5% = 0]; entonces
echo "zumbido"
fi
si [% 3 = 0]; entonces
si [Nmero 5% = 0]; entonces
echo "FizzBuzz"
fi
fi
Est bien, es un intento de buen aspecto, pero hay una serie de problemas que se relacionan con
cosas de BASH todava
que cubrir con el fin de hacer esto en BASH ejecutable vlido.
Vamos a empezar con las variables simples. En BASH, hay dos modos que operan en las
variables. La primera es la asignacin
el modo , que se produce cuando estamos creando una nueva variable y dndole un valor. En
estos casos, las variables de trabajo
al igual que el nmero anterior, por lo que podramos crear nuestra variable como nmero 1 de
esta manera:
Nmero 1 =
www.it-ebooks.info
pgina 148
Captulo 7 Administracin del pi
136
Esto est muy bien y se parece a nuestro ejemplo, pero cuando queremos utilizar el valor actual
de la variable nmero, necesitamos

acceder a la variable, que se realiza en el modo de eliminacin de referencias . En BASH, esto


significa agregar un signo de dlar ($) al frente de
todas las variables para las que quieran utilizar el valor.
En resumen, hay dos modos para una variable: uno para la carga de la variable (llamada
asignacin ) y uno para tirar
los valores fuera de la variable (llamada eliminacin de referencias ). En el primer modo,
utilizamos la variable como es; en el segundo, se utiliza una
$ Delante de la variable. De acuerdo, no es un problema. Vamos a actualizar el cdigo:
si [$% 3 = 0]; entonces
echo "Fizz"
fi
si [$ 5% nmero = 0]; entonces
echo "zumbido"
fi
si [$% 3 = 0]; entonces
si [$ 5% nmero = 0]; entonces
echo "FizzBuzz"
fi
fi
As que nuestro cdigo se ve un poco mejor, pero puede haber notado el siguiente problema que
se produjo cuando asignamos una
nmero el valor de 1. El uso del signo igual (=) se utiliza para asignar valores a las variables,
por lo que en este contexto que parece
estamos tratando de asignar la variable 5 con el nmero 0, lo que provocar todo tipo de
problemas con la prueba en el caso.
La mayora de los lenguajes de manejar esto con un par de signos de igual (==) para denotar una
prueba para la igualdad, pero en BASH hay una serie
de los operadores aritmticos de pruebas especiales que se nos da a probar esto:

-eq por la igualdad

-n para no igual

-gt durante ms de

-lt por menos que

-ge para mayor que o igual a

-l por menos de o igual a


Podemos tomar ventaja de estos operadores en nuestro cdigo para hacer la comparacin del
resultado de nuestro mdulo y 0. Por lo tanto
hacer estos cambios en su cdigo de nuevo y usted debe tener lo siguiente:
si [$ 3% -eq 0 nmero]; entonces
echo "Fizz"
fi
si [$ 5% -eq 0 nmero]; entonces
echo "zumbido"
fi
si [$ 3% -eq 0 nmero]; entonces
si [$ 5% -eq 0 nmero]; entonces
echo "FizzBuzz"
fi
fi
www.it-ebooks.info

pgina 149
Captulo 7 Administracin del pi
137
Por ltimo, cuando se hace una operacin aritmtica (como mdulo), necesitamos decirle
BASH que esto se entiende como
una operacin aritmtica. Para ello, utilizamos un $ y un par de parntesis alrededor de la
aritmtica de bits real de lo que la
funcionamiento del 5% 3 significa que necesitamos $ ((5% 4)), y podemos hacer el cambio:
si [$ (($% 3)) -eq 0]; entonces
echo "Fizz"
fi
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "zumbido"
fi
si [$ (($% 3)) -eq 0]; entonces
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "FizzBuzz"
fi
fi
Ahi tienes; usted ha escrito tres pruebas sencillas para la aplicacin FizzBuzz; y se utiliza si las
declaraciones, una
variables, la copia, y el operador especial de la aritmtica. Eso es un montn de cdigo, por lo
que vamos a probarlo y asegurarse de que lo que tenemos
tiene ahora funciona!
Podemos hacer esta prueba sencilla mediante la creacin de la variable nmero con un valor
nico por ahora. Vamos a asignar a 15, de modo que
puede garantizar una cierta salida. Con la variable nmero aadi, la secuencia de comandos
debe tener este aspecto:
#! / Bin / bash
Nmero = 15
si [$ (($% 3)) -eq 0]; entonces
echo "Fizz"
fi
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "zumbido"
fi
si [$ (($% 3)) -eq 0]; entonces
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "FizzBuzz"
fi
fi
Cuando se ejecuta, la salida ser la siguiente:
$ ./fizzbuzz.sh
Efervescencia
Zumbido
FizzBuzz
Solucin de problemas
Oh querido. Esa salida es un problema. Dijimos las tres palabras a la vez, no slo el FizzBuzz
cuando el nmero era
divisibles por 3 y 5. Nos acaba de fallar! Argh! De acuerdo, tome algunas respiraciones
profundas; este no es el fin del mundo. De hecho,
que es un buen momento para introducir una nueva caracterstica. La sentencia if hace algo
cuando la prueba es cierto, pero tambin hay
www.it-ebooks.info

pgina 150
Captulo 7 Administracin del pi
138
otra parte podemos aadir: la cosa. La otra cosa es la otra cara del caso, y la lgica pasa de esta
manera: si el test es verdadero,
hacer algo, otra cosa hacer una cosa diferente. Podemos utilizar una combinacin de estos dos
para llevar a cabo nuestras pruebas para FizzBuzz. los
sintaxis de una si, declaracin dems es como sigue:
si [TEST]; entonces
HACER ALGO
ms
HACER UNA COSA DIFERENTE
fi
La sintaxis es casi idntica a la original en caso de declaracin, por lo que es fcil de hacer
algunos cambios para que su caso
declaraciones en su caso, las declaraciones ms. Pero ahora nos encontramos con el problema
mucho ms grande, y uno que es la causa de la mayora
Problemas con la programacin de las personas; es el flujo orden lgico. Tenemos que crear una
secuencia de pruebas para que podamos
determinar si algo es divisible por 3, divisible por 5, o divisible por ambos; y realizar una accin
completamente diferente en
cada caso. Este tipo de pensamiento es lo que hace que la programacin tan difcil para tantas
personas, y no hay ningn truco para que:
simplemente tiene que trabajar hacia fuera. As que vamos a tener un ir a trabajar juntos ste
hacia fuera.
Si encontramos algo que es divisible por 3 o 5, y algo de salida antes de comprobar si es
divisible por
tanto, nos encontramos con la posibilidad de dar salida a una efervescencia, un zumbido, y un
FizzBuzz, que no es lo que queremos. As que vamos a empezar
con una prueba para ambos:
si [$ (($% 3)) -eq 0]; entonces
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "FizzBuzz"
fi
fi
Bien, ahora tenemos FizzBuzz, pero lo que si la respuesta es divisible por 3 pero no por 5 (que
es el caso de Fizz)? Entonces
slo podemos emitir la efervescencia. Por lo tanto, si aadimos una persona a la divisible por 5
pruebas, se le garantiza un nmero que es
divisible por 3 y no por 5. Esto significa que evitamos el problema cuando la produccin tanto
Fizz y FizzBuzz a la vez. Nosotros podemos usar
la nueva declaracin de los dems aqu para lograr esto, as que cuando aadimos el otro a la
divisible por 5 prueba, obtenemos lo siguiente:
si [$ (($% 3)) -eq 0]; entonces
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "FizzBuzz"
ms
echo "Fizz"
fi
fi
Fantstico. Ahora solo nos queda una caja izquierda: cuando un nmero no es divisible por 3,
pero es divisible por 5. Podemos hacer
esta prueba en otro comunicado de la persona divisible por 3 pruebas. Al hacer esto, como parte
de una declaracin ms y la adicin de una

segundo divisible por 5 pruebas, podemos asegurar que un nmero no es divisible por 3 ya
cuando la produccin cuando se es divisible
por 5. Esto significa que evitar encontrarse con el problema de antes, por lo que aadir en esta
prueba y su cdigo se convierte en la siguiente:
si [$ (($% 3)) -eq 0]; entonces
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "FizzBuzz"
ms
echo "Fizz"
fi
ms
www.it-ebooks.info
pgina 151
Captulo 7 Administracin del pi
139
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "zumbido"
fi
fi
Y eso debera hacerlo! Nosotros mismos hemos una nueva serie de pruebas para correr. Vaya
por delante y reemplazar la antigua declaracin de
la secuencia de comandos y ejecutar esta nueva:
$ ./fizzbuzz.sh
FizzBuzz
Perfecto! Ese es el resultado correcto para 15! Se puede cambiar el valor del nmero y ejecutar
un par de veces ms para poner a prueba,
pero esta prueba debe estar bien porque hemos pensado a travs de nuestra programacin.
Ahora tenemos que tener la
nmeros del 1 al 100 contados. Para ello, utilizaremos la segunda operacin lgica!
Operacin lgica: Loop
Un bucle es un tipo especial de operacin lgica que funciona en su ncleo como una sentencia
if, pero en lugar de ejecutar el
cdigo si un enunciado es verdadero, pondr en funcionamiento la declaracin una y otra vez,
siempre que la afirmacin es cierta. As es como
seremos capaces de aumentar el valor del nmero 1 por una y otra vez a contar hasta 100. Un
bucle en BASH utiliza el
siguiente sintaxis:
mientras que [TEST]; hacer
HACER ALGO
hecho
Un bucle es muy similar a una sentencia if por diseo. Ambos estn probando que alguna
condicin es verdadera y tanto A continuacin,
ejecutar una seccin de cdigo. La diferencia es que una sentencia if se ejecutar slo una vez y
un bucle while se ejecutar
hasta que algo ya no es cierto. Esto hace que sea el primer y mayor advertencia sobre bucles: Si
se olvida de tener una
dejando condicin para su bucle, entonces no tendr nunca salir de l. Esto se llama un bucle
infinito , en el que el programa de
se quedan atascados, no hacer nada, y correr para siempre. Hay algunas situaciones en las que
esto es deseable, pero no muchos. por suerte para
nosotros tenemos la combinacin de teclas Ctrl + C que enviar una seal a cualquier programa
que se estn ejecutando por terminado y podemos usar
la misma se ajuste a cabo programas de sus bucles infinitos.
Usted podra estar pensando, "Oh, as que por eso por lo que muchos programas se atascan!"

Esto es 100% cierto. A veces, los casos que


es posible que no haya considerado surgir, y su programa puede terminar corriendo en un bucle
infinito, por lo considrese
prevenido.
Para nuestro programa FizzBuzz, queremos contar los nmeros del 1 al 100, por lo que
podemos hacer una prueba sencilla de nmeros menores
o igual a 100. As que para todas las situaciones en las que nuestro nmero es inferior o igual a
100, que se ejecutar el bucle. Asi que
vamos a seguir adelante y escribir el bucle alrededor de nuestro bloque existente de pruebas.
Cuando haya terminado, que debe ser similar al siguiente. No lo hagas
ejecutarlo sin embargo, porque no tenemos manera de aumentar el nmero de 1 a 100 (lo que
significa que pondremos un bucle infinito
porque nunca podemos llegar a 100 y salir del bucle).
#! / Bin / bash
Nmero 1 =
mientras que [nmero -le $ 100]; hacer
si [$ (($% 3)) -eq 0]; entonces
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "FizzBuzz"
ms
echo "Fizz"
fi
www.it-ebooks.info
pgina 152
Captulo 7 Administracin del pi
140
ms
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "zumbido"
fi
fi
hecho
De acuerdo, tenemos nuestro bloque de cdigo, ahora tenemos que aadir el nmero cada vez
mayor. Simplemente tenemos que aumentar el valor
de nmero en 1 cada vez que pasa por el bucle. Pero tambin queremos realizar todos los
clculos antes de cambiar el
nmero. Podemos hacer esto mediante el uso de la operacin de las operaciones aritmticas y la
asignacin que ya tenemos. Y podemos
aadir este bloque a la parte inferior del cdigo antes de la declaracin de hecho:
Nmero = $ (($ nmero 1))
Una vez que haya hecho este cambio, ejecute la secuencia de comandos! Se ejecutar y le dar
una salida como esta:
Efervescencia
Zumbido
Efervescencia
Efervescencia
Zumbido
Efervescencia
FizzBuzz
...
Esto es muy bueno, y parece que funcion, pero hay que seguir adelante e imprimir el valor
actual de nmero para cada
de ida y vuelta del bucle. Podramos salida el valor al comienzo antes de que Fizz o zumbido o
FizzBuzz, pero eso significa que

tendrn nmeros en cada lnea. Mejor si podemos integrarlo en nuestros estados de eco. Para
ello, slo tiene que aadir
$ Variable de nmero dentro de la cadena de texto para imprimir. Vi anteriormente que las
comillas significan todo es
tratado como una cadena de texto, pero hay un marcador que lo reemplaza: el operador $ seal.
Este operador se utiliza para
hacer su vida ms fcil cuando se desea imprimir los datos de una variable en un bloque de
texto.
Tambin hay que aadir una sentencia else final, que se har cargo de la produccin de todos
los "otros" nmeros. Tratar
y trabajar por ti mismo; a continuacin, comprobar en contra de este cdigo:
#! / Bin / bash
Nmero 1 =
mientras que [nmero -le $ 100]; hacer
si [$ (($% 3)) -eq 0]; entonces
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "nmero $ - FizzBuzz"
ms
echo "nmero $ - Fizz"
fi
ms
si [$ (($ nmero 5%)) -eq 0]; entonces
echo "nmero $ - Buzz"
ms
nmero $ eco
fi
fi
Nmero = $ (($ nmero 1))
hecho
Y ah lo tienes! Una solucin FizzBuzz de trabajo. Felicitaciones!
www.it-ebooks.info
pgina 153
Captulo 7 Administracin del pi
141
Solucin de problemas
Tiene problemas con su cdigo puede ser un poco de una pesadilla. Probablemente la mejor
herramienta a su disposicin es el eco
mando. Puede dar salida a cualquier cosa que desee, por lo que si no est seguro de donde su
aplicacin es dentro de su cdigo, escribir
un eco a la materia de produccin y compruebe. No ests entrando en la horquilla? Salida de
las variables que intervienen en el
probar y comparar con la mano. No s por qu la sentencia if no funcion? Aadir una cosa, la
salida del caso de prueba completa, y ver
si fue correctamente. El uso de estas salidas para rastrear dnde se encuentra en su cdigo es la
mejor manera de hacer el diagnstico.
De lo contrario, prestar atencin a los errores; la mayora debe proporcionar un nmero de lnea
y le dir (en una manera de hablar)
lo que est mal con lo que la lnea. Si tiene alguna duda, no dude en Google en todo, porque es
casi seguro que alguien,
en algn lugar ha tenido el mismo error antes y pidi una solucin.
BASH prctico: un guin de inicio
Debe tener en cuenta a estas alturas que la mayora de las aplicaciones de Linux son iniciados
por un guin especial llamado un guin de inicio. Estas
scripts no son mgicas; son simplemente los scripts en bash que tienen un valor determinado y

llevan a cabo una serie de acciones basadas


en lo que se les dice que hacer, al igual que cualquier buen programa hace. Los guiones de
inicio tienen una pequea cantidad de especial
informacin en ellos, pero nada de esto es en realidad la lgica del programa.
Vamos a travs de una juntos y examinar exactamente cmo uno de estos scripts de inicio de
obras. A continuacin se presenta el init
guin de XBMC, que se ver ms adelante en este libro:
#! / bin / bash
### COMENZAR INIT INFO
# Proporciona: XBMC
# Required-Start: $ todo
# Requerido-Stop: $ todo
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Descripcin corta: Inicio XBMC
# Descripcin: Inicio XBMC
### END INIT INFO
DAEMON = / usr / bin / xinit
DAEMON_OPTS = "/ usr / lib / XBMC / xbmc.bin"
NAME = XBMC
DESC = XBMC
RUN_AS = root
PID_FILE = / var / run / xbmc.pid
prueba -x $ DAEMON || exit 0
set -e
case "$ 1" en
comienzo)
echo "Desde $ DESC"
start-stop-daemon --start -c $ RUN_AS --background --pidfile $ PID_FILE --make-pidfile -exec
DAEMON $ - $ DAEMON_OPTS
;;
detener)
echo "Parar $ DESC"
start-stop-daemon --stop --pidfile $ PID_FILE
;;
www.it-ebooks.info
pgina 154
Captulo 7 Administracin del pi
142
reinicie | force-reload)
echo "El reinicio $ DESC"
start-stop-daemon --stop --pidfile $ PID_FILE
sueo 5
start-stop-daemon --start -c $ RUN_AS --background --pidfile $ PID_FILE --make-pidfile -exec
DAEMON $ - $ DAEMON_OPTS
;;
*)
echo "Uso: /etc./init.d/$NAME{start|stop|restart|force-reload}"> & 2
la salida 1
;;
esac
exit 0

La primera cosa que se nota es que hay una gran cantidad de lneas que comienzan con #. Estas
lneas son comentarios; porque es
el smbolo de comentario en BASH, cualquier lnea que comienza con un # no se ejecutar
como parte de la aplicacin. Las lneas superiores
de INIT INFO son de hecho muy importante para un guin de inicio. Estos son comentarios
especiales que se pueden procesar para mostrar
cmo la aplicacin controlada por la secuencia de comandos se va a ejecutar. Los bloques
tienen el siguiente aspecto:
### COMENZAR INIT INFO
# Proporciona: XBMC
# Required-Start: $ todo
# Requerido-Stop: $ todo
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Descripcin corta: Inicio XBMC
# Descripcin: Inicio XBMC
### END INIT INFO
Estos bloques proporcionan unos pocos bits de descripcin y dicen los que la aplicacin que
proporcionan una funcin; en esto
caso, la solicitud prevista es XBMC. Tambin mencionan qu aplicaciones son necesarias para
estar en ejecucin antes de que este
aplicacin puede iniciar o detener. El smbolo $ todo significa que esta aplicacin se inici el
pasado, de manera que se garantiza
que todas las otras aplicaciones en las que puede depender se inicien antes de ella.
Probablemente el conjunto ms importante de los operadores
son predeterminado-Start-Stop y el defecto. Estos operadores se correlacionan con el del
sistema Linux niveles de ejecucin , que rigen la
las diversas etapas del proceso de arranque del sistema Linux.
La especificacin de Linux se definen los siguientes niveles de ejecucin:

Nivel 0 : Alto; cerrar y apagar

Nivel 1 : modo de usuario nico; Slo funcionalidad bsica del sistema (utilizado para las
reparaciones)

Los niveles 2% 3 : Multi usuario; aade la creacin de redes y la funcionalidad de mltiples


usuarios

Nivel 4 : Definido por el usuario

Nivel 5 : estado de funcionamiento normal del sistema

Nivel 6 : Reinicio
Los nmeros cerca de los interruptores de inicio y parada se correlacionan con estos niveles, por
lo que XBMC comenzar en los niveles de ejecucin 2-5 y
se apagar en los niveles 0, 1 y 6.
www.it-ebooks.info
pgina 155
Captulo 7 Administracin del pi
143
Recoger y combinar con la declaracin de caso
Una vez que toda la inicializacin se realiza y el guin ha establecido algunas variables
iniciales, realiza algunas pruebas rpidas y luego
mueve a la declaracin del caso. Una declaracin de caso es muy parecido a una serie de

sentencias if se ejecuta contra el mismo


variable. La medida en que se toma una variable y determinado para cada uno de una serie de
valores dados para dicha variable, se realiza una
funcin. En la mayora de los scripts de inicio, esto se utiliza para confirmar la accin que se
trata de realizar.
La declaracin de caso en este script de inicio est trabajando en el $ 1 Magnitud especial. Esta
variable representa el primero
Lo pasado al script desde la lnea de comandos; por lo que al intentar iniciar la aplicacin
XBMC, se ejecutar
con este:
inicio /etc./init.d/xbmc
Esto le da a la variable $ 1, el valor de inicio. La declaracin de caso ofrece una serie de
diferentes opciones de la
valor potencial de la declaracin de caso:

empezar: por s misma.

parada: explica por s sola.

reinicie | force-reload: Los valores de reinicio o fuerza-recarga, que realizan la parada


aplicacin y luego la aplicacin de inicio en un solo proceso. Se utiliza entre ellos | El tubo ()
para denotar una operacin OR, lo que significa que si alguno de los valores aqu partido,
tratamos este
como si hubiera sido un partido.

*: Algo ms.
Despus de cada valor caso, hay un pequeo bloque de cdigo que se ejecuta en ese caso,
seguido de un par de punto y coma.
Estos puntos y comas son como una ficcin y se utilizan para indicar el final de un bloque de
cdigo de declaracin de caso.
Aplicacin dentro de la aplicacin: Bifurcando
Una vez dentro de la declaracin de caso, se puede ver que cada lnea llevar a cabo alguna
accin con el start-stop-daemon.
Pero esto no es una variable o nada especial; se trata de otro programa. La parte ms poderosa
de BASH es el bit que no tenemos
llegado a todava. BASH tiene la capacidad de ejecutar cualquier proceso de lnea de comandos
desde dentro de sus programas slo mediante el uso
sus nombres. Debido Bash es el shell que la mayora del resto de las veces usamos, en realidad
esto tiene mucho sentido.
La ltima funcin de un guin de inicio: se utilizar el start-stop-daemon para crear un nuevo
proceso para usted. Esta accin
se llama que se bifurcan , ya que estn bifurcan algo fuera de la aplicacin en ejecucin. La
start-stop-daemon
es una pequea aplicacin que se utiliza para bifurcar fuera de los procesos y se encargar de su
ejecucin para usted. Los corrales de secuencia de comandos de inicio
los argumentos para ello, se resuelve lo que requiere una accin a realizar, y luego dice startstop-daemon, que la accin
necesita ser tomada en contra de qu aplicacin.
Ahora que usted est armado con este conocimiento, usted debera ser capaz de escribir sus
propios guiones de inicio simples para empezar
y detener cualquier proceso que desee, proporcionando el comentario del bloque de partida para
describir cmo el guin debe ser cargado,
que tiene una declaracin de caso a determinar qu accin tomar, y finalmente ejecutar el
proceso de arranque-parada-demonio para
poner en marcha y gestionar su aplicacin!

Actualizar los archivos Ejecutar


Ahora usted tiene un guin totalmente funcional listo para funcionar. Es necesario utilizar
chmod para establecer el indicador ejecutable en el archivo y entonces
puede probar con los comandos de inicio y parada. Lo hace segn lo previsto-fantstico! Ahora
tenemos que aadir que en el sistema de
la lgica de arranque. Histricamente, esto implicaba que une el archivo de una manera especial
en los varios niveles de ejecucin. Sin embargo, esto ha sido
hecho ms fcil con la aplicacin update-rc.d. La aplicacin update-rc.d se aprovecha de los
especiales
comentar cabeceras hemos aadido a nuestros scripts BASH con el fin de saber qu niveles de
ejecucin deben tener los accesos directos.
r
www.it-ebooks.info
pgina 156
Captulo 7 Administracin del pi
144
Todo lo que tenemos que hacer para aadir el script de inicio de la secuencia de inicio es emitir
el comando update-rc.d con el
el nombre del script de inicio que queremos, que es XBMC en el ejemplo. Entonces tenemos
que aadir el argumento para decir que estamos
debe utilizar los valores por defecto de los comentarios en el guin; el argumento era de esperar
por defecto. Esto nos da la
XBMC comando por defecto de update-rc.d, que debern ser ejecutados como root. Cuando se
ejecuta, las salidas deben estar
como sigue:
$ Sudo update-rc.d defecto XBMC
update-rc.d: el uso de la secuenciacin de arranque basado en la dependencia
Y eso es; si se reinicia, la aplicacin debe ejecutar en el arranque!
La creacin del guin de inicio Propia
Hemos explicado cmo los scripts de inicio se cre; Ahora podemos crear uno. El proceso es
relativamente sencillo, ya que
slo tendr que volver a crear la estructura y la entrada de nuestro propio cdigo en el lugar
correcto para llevar a cabo las funciones que necesitamos.
Puede tener estos scripts de inicio hacen literalmente lo que quiera, pero para este ejemplo que
va a crear un archivo con
el comando touch y luego eliminarlo con rm cuando haya terminado. El comando tctil se
utiliza para simplemente crear un archivo
en el disco sin nada en l; si se ejecuta en un archivo existente, que va a cambiar la fecha de
ltima modificacin del archivo. como se ha mencionado
antes, usted puede tener sus programas gestionados por start-stop-daemon o simplemente puede
realizar funciones del sistema,
como voy a hacer en mi ejemplo.
Como se recordar, la primera cosa que necesitamos en este guin es el tinglado, que es el punto
de partida para toda BASH
scripts y es por lo tanto el mejor lugar para empezar.
#! / bin / bash
Ahora que tenemos nuestro tinglado, recordar la secuencia de comandos de inicio se trabaj con
XBMC anterior: la primera cosa en la que el guin es
el mdulo de comentarios de apertura que nos da detalles acerca de los cuales los niveles de init
se ejecutarn este script, y as sucesivamente. As que vamos a aadir
que el prximo. Debe rellenar todos sus propios detalles aqu. Mi script se llama touchfile.sh y
proporcionar al tacto
servicio de archivo. Mi bloque de apertura de la escritura se ver as:
### COMENZAR INIT INFO

# Proporciona: touchfile
# Required-Start: $ todo
# Requerido-Stop: $ todo
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Corto Descripcin: Ejecutar TouchFile
# Descripcin: Ejecutar TouchFile
### END INIT INFO
Ahora que he definido el bloque de comentario, puedo definir mi variables. Ellos sern las
variables que cubrirn
lo que hace mi solicitud. Cualquier cosa que se pueda imaginar necesidad con el fin de iniciar
este que se puede configurar debe
se define como una variable. En el caso de mi mando touchfile tengo que hemos definido como
una variable es el lo
nombre de mi touchfile. Recuerde que este es su cdigo, y por lo tanto se puede definir,
literalmente, cualquier cosa que desee como una
variable. Mi variable es la siguiente:
TOUCHFILE = "/ var / tmp / touch.file"
www.it-ebooks.info
pgina 157
Captulo 7 Administracin del pi
145
Ahora que se define mi touchfile, tengo que aadir la declaracin de caso para cubrir las
acciones disponibles. En este caso,
Quiero tener las siguientes acciones:

Inicio: Toque el archivo

Stop: Eliminar el archivo afectado

Reiniciar: Quitar y volver a tocar el archivo

Actualizar: toque el archivo

Caso por defecto: Dile a la gente acerca de cmo utilizar este archivo
Esto significa que se abrir cuatro estados de casos dentro de mi caso. Definir las declaraciones
de casos (cdigo sans a
realizar acciones) como por ejemplo:
case "$ 1" en
comienzo)
;;
detener)
;;
reiniciar)
;;
recargar)
;;
*)
;;
esac
exit 0
Ahora que tenemos las entradas de casos, slo tenemos que hacer que hagan algo. He
mencionado anteriormente lo que quiero
hacer en cada uno de los casos, por lo que vamos a escribir los comandos en cada bloque y

combinarlos en el guin que tenemos


ya. Esto nos dar la siguiente secuencia de comandos:
#! / Bin / bash
### COMENZAR INIT INFO
# Proporciona: touchfile
# Required-Start: $ todo
# Requerido-Stop: $ todo
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Corto Descripcin: Ejecutar TouchFile
# Descripcin: Ejecutar TouchFile
### END INIT INFO
TOUCHFILE = "/ var / tmp / touch.file"
case "$ 1" en
comienzo)
echo "Creando $ TOUCHFILE"
toque $ TOUCHFILE
;;
detener)
echo "Extraccin $ TOUCHFILE"
rm $ TOUCHFILE
;;
www.it-ebooks.info
pgina 158
Captulo 7 Administracin del pi
146
reiniciar)
echo "Recreando $ TOUCHFILE"
rm $ TOUCHFILE
toque $ TOUCHFILE
;;
recargar)
echo "retoque $ TOUCHFILE"
toque $ TOUCHFILE
;;
*)
echo "Uso: touchfile.sh <start | stop | restart | recargar>"
;;
esac
exit 0
Y eso es. El cdigo es un script de inicio simple, que acepta la marcha, paro, reiniciar y volver a
cargar
comandos y salidas de lo que est haciendo y realiza acciones en base a qu argumentos que se
le proporcionen. Esto puede ser
colocado en /etc./init.d y se puede configurar para ser ejecutable con chmod + x. Una vez que
hayan terminado, se puede probar el script
para asegurarse de que funciona. Por ltimo, puede utilizar update-rc.d para agregar esto a su
proceso de arranque del sistema como lo hicimos anteriormente.
Es de esta manera que usted puede escribir sus propios scripts de inicio para ejecutar
aplicaciones a medida que disea.
Seguridad y Gestin de usuarios
La seguridad es una de las zonas ms olvidadas de la administracin de sistemas. Debido a que
es percibido como un arte negro para muchos,
que a menudo se descuida.

Las Reglas de Seguridad Raspbian


Hay algunas maneras muy sencillas de hacer que su sistema seguro; slo tienes que seguir
algunas reglas:
No se conecte como root, pero si usted debe, cerrar la sesin cuando haya terminado.

Utilizar

sudo siempre que sea posible para tareas de administracin.


Elija una contrasea no trivial, una que es lo suficientemente largo y lo suficientemente
compleja que no puede ser

fcilmente adivinado o trabajado a mano sin tomar mucho tiempo.


Cambiar su contrasea con regularidad.

Revisar sus registros del sistema regular, especficamente

/var/log/auth.log porque contiene todos los usuarios


autenticaciones a su sistema.
Si usted no necesita una aplicacin ejecutndose, no lo ejecute.

Exponer tan poco de su sistema a Internet como sea posible.

Restringir los permisos de archivos siempre que sea posible.

La mayora de estas reglas se parece como sentido comn y eso es porque lo son. Sin embargo,
la mayora de las personas parecen caer en
la trampa de pensar que no van a ser atacadas e ignoran la mayor parte de este consejo. Ahora
que ya conoce estas reglas,
probablemente est diciendo: "Voy a cambiar mi contrasea si tan slo se me muestran cmo!"
Cambio de la contrasea del
lnea de comandos Linux es relativamente fcil: slo tiene que utilizar el comando passwd y se
le pedir que introduzca una nueva
contrasea (dos veces, por lo que no se puede escribir mal por accidente la primera vez).
www.it-ebooks.info
pgina 159
Captulo 7 Administracin del pi
147
Tambin puede cambiar la contrasea de otros usuarios como raz. Para ello, slo tiene que
aadir el nombre del usuario
cuyo nombre va a cambiar como primer argumento del comando. Esto es muy til cuando la
configuracin de nuevo
detalles del usuario o restablecer contraseas.
Aadiendo un usuario nuevo
Debido a que no se ha de emplear la raz en todo momento, es importante ser capaz de crear
nuevos usuarios y entender cmo
la creacin del usuario se lleva a cabo. En los sistemas operativos Linux, los usuarios se rigen
por la /etc./passwd archivo. Usted puede tener una
mira por s mismo y ver una serie de lneas como sta:
root: x: 0: 0: root: / root: / bin / bash
daemon: x: 1: 1: demonio: / usr / sbin: / bin / sh
Estas lneas muestran al usuario, X para la contrasea, nmero de identificacin del usuario,
nmero de ID de grupo del usuario, el grupo del usuario
identificador, el camino del directorio personal del usuario, y el shell del usuario. Estos son los
fundamentos de lo que se necesita para un usuario

para funcionar dentro del entorno Linux.


Mientras que este archivo tiene un campo de contrasea, ya no es utilizado y normalmente
contiene un marcador de posicin (en este caso, X). los
las contraseas se almacenan en el archivo de sombra, /etc./shadow. El archivo de sombra se
separ de manera que slo poda acceder a la raz
datos de la contrasea y todos los datos de usuario ms comunes podran ser ledos por otras
aplicaciones del sistema ms genricos.
Ahora que usted entiende cmo almacena Linux usuarios, aadir uno nuevo llamado frambuesa.
Para agregar este usuario, utilizaremos
el comando useradd y algunos argumentos. Hay otro comando, adduser, que realiza adiciones
de usuario,
pero en lugar de ser alimentado con argumentos que se le pedir para ms detalles. adduser es
un gran comando para utilizar en una
pellizco cuando se le olvida un argumento necesario para useradd.
En primer lugar queremos especificar el directorio inicial del usuario, que se realiza con la
opcin -d y la ruta completa de la
directorio que desea utilizar. La mayora de los directorios principales de los usuarios son /
home / <nombre de usuario>, y vamos a hacer esto para frambuesa.
Actualmente, / home / frambuesa no existe, pero antes de salir corriendo a la agrega, podemos
usar la bandera -m para decirle a useradd
hacerlo por nosotros! Esto nos da el siguiente comando:
$ Sudo useradd -d / home / frambuesa -m frambuesa
Podramos ir un paso ms all e incluso especificar el grupo con -g <grupo> para establecer el
grupo principal del usuario.
O incluso especificar el shell que el usuario podra utilizar con -s <ruta> cscara o, finalmente,
una contrasea con -p <contrasea>.
Una vez ejecutado el comando, se puede ir e inspeccionar los cambios de /etc./passwd, donde se
debe ver
algo como esto en la parte inferior de su archivo:
frambuesa: x: 1001: 1001 :: / home / frambuesa: / bin / sh
Eso es; Ahora ha agregado con xito un nuevo usuario! Si no se ha especificado una contrasea,
puede utilizar los ficheros de contraseas
cubrimos comando anterior para cambiar la contrasea de su nuevo usuario y luego ya est listo
para ir. Sin embargo, digamos que usted
se olvid de establecer la ruta de concha con -s anterior y quiere cambiar eso por lo que
empezar con / bin / bash en lugar de / bin / sh.
Bueno, en primer lugar se podra editar el archivo passwd para cambiar el shell o puede utilizar
el comando usermod. El comando usermod
funciona exactamente el mismo que el comando useradd, justo abajo de los argumentos;
simplemente ajusta los valores. As que corre
el seguimiento:
$ Sudo usermod -s / bin / bash frambuesa
Podemos esperar que el archivo de sombra para ser transformados y, s lo es:
frambuesa: x: 1001: 1001 :: / home / frambuesa: / bin / bash
Fantstico! Con estas herramientas, usted debera ser capaz de crear nuevas cuentas de usuario
para permitir que las personas tengan acceso a su Pi.
www.it-ebooks.info
pgina 160
Captulo 7 Administracin del pi
148
Resumen
En este captulo se cubri toda una serie de cosas. Introdujimos SSH, DHCP y DNS. Hemos
cubierto algunos de los conceptos bsicos de
cmo funcionan estos sistemas y cmo demonios se ponen en marcha a travs de scripts de

inicio. Entonces nos sumergimos profundamente en el aprendizaje BASH


de manera que podemos escribir nuestros propios scripts de inicio. Por ltimo, hemos abordado
algunas de seguridad comn hacer y no hacer; despus se encendi
para cubrir cmo los conceptos bsicos de los sistemas Linux gestionar usuarios y sus
contraseas. Incluso fuimos tan lejos como para crear un todo
nuevo usuario listo para su uso.
Estas habilidades deben permitirle gestionar el arranque y la puesta en red de su Pi y debera
haber dado una
introduccin en el maravilloso mundo de desarrollo de software!
www.it-ebooks.info
pgina 161
149
Captulo 8
Una lmpara de tu propio
Una de las principales cosas que muchas personas que vienen a Linux quieren saber es cmo
establecer a s mismos mediante la creacin de
un pequeo sitio web propio. Y muchos tienen dificultades para encontrar un lugar para
empezar. Qu sistema operativo, qu aplicaciones, lo
hardware, y cmo exactamente para hacer todo esto? Todas estas son preguntas legtimas, ya
que hay muchas facetas en la mayor
entorno Linux que es muy fcil perderse.
Nuestro objetivo es proporcionar a los primeros peldaos en su camino a ser capaz de navegar
en el entorno Linux.
Uno de los pilares clave en este camino es que le muestre cmo instalar, configurar y mantener
un servidor web.
A pesar de que usted ser capaz de conectar este servidor a Internet, en estos ejemplos que slo
cubrir la utilizacin de su Pi como
servidor de red local (en otras palabras, para el funcionamiento de una intranet). Adems,
tambin existe el reto adicional de aprendizaje
cmo hacer una pgina web interactiva bsica. Si bien esto puede parecer mucho a asumir, y
otros dedicado libros enteros y
vive a la bsqueda de la solucin ptima absoluta este problema, nuestro objetivo para cubrirlo
para la Frambuesa Pi en un captulo.
Con este fin vamos a utilizar una lmpara. No, no es uno de esos dispositivos de luminiscencia
dormitorio, sino un Linux, Apache,
sistema de MySQL y PHP diseado para hacer la entrega de contenido web fcil. Esta es una de
las maneras ms fciles de crear
su propio servidor web y hay una serie de variaciones en la lmpara original, que incluyen, pero
no se limitan
a, los siguientes:
WAMP (Windows, Apache, MySQL, PHP)

MAMP (Mac OS, Apache, MySQL, PHP)

Sal de reemplazo con Python o Perl

Reemplazo M con MariaDB

Por lo tanto, como se puede deducir de la cantidad de la mezcla, a juego, y la mejora de que la
gente ha hecho, se trata de una
gran manera de conseguir un potente servidor web y hasta ir. Lo mejor de todo, es fcil de
configurar y se puede ejecutar en casi
cualquier hardware.
Uno de los usos potenciales ms regularmente citado del Pi es permitir que la capacidad de

construir, ejecutar y mantener una


sitio web. Qu mejor manera de inspirar a una generacin de jvenes desarrolladores que
ensearles cmo hacer su propio
sitios web con un mnimo de costo!
Primeros pasos
Ahora es el momento de ser realistas sobre lo que podemos lograr aqu. Dentro de este captulo,
que le proporcionar los conocimientos necesarios para establecer
una pila sitio web y le mostrar cmo integrar las funciones de una base de datos MySQL en un
sitio web utilizando PHP para
dinmicamente generar contenido del sitio web. Sin embargo, hay algunas cosas que no vamos
a ser capaces de hacer por usted aqu:
Instalar y configurar un servidor DNS o nombres de dominio

Avanzada SQL y administracin de bases de datos

La cobertura completa de los mtodos de desarrollo HTML y HTML

www.it-ebooks.info
pgina 162
Captulo 8 Una lmpara de su propia
150
La cobertura completa de desarrollo de PHP y mtodos de desarrollo de PHP

JavaScript

CSS

Hay una serie de recursos que se pueden aprovechar para obtener ayuda con estas otras reas,
incluyendo otra
grandes e importantes textos de Apress. Todava tenemos nuestro trabajo por nosotros, as que
vamos a empezar.
L es para Linux
Hay slo unos pocos requisitos previos para la creacin de una pila LAMP. Necesitaras
Tener el sistema operativo Raspbian (la

L de LAMP) instalado y configurado


Haga que la divisin de memoria ajustado a 240/16 (pista

sudo Raspi-config)
Estar familiarizado con el trabajo dentro del sistema operativo Raspbian usando la lnea de
comandos

Tener un conocimiento bsico de cmo escribir software sencillo

Haga que su Pi conectado a una red e Internet (cmo podemos servir contenido si

no lo son?)
Slo hay algunas otras salvedades de frambuesa LAMP. Vamos a hacer todo esto desde una
shell. Dado que la
sitio web se puede ver desde fuera del Pi, no hay necesidad de utilizar los recursos adicionales
para ejecutar el GUI. Ahora que ya
sabemos lo que necesitamos para seguir adelante, vamos a hacerlo.
Una es para Apache
Probablemente la parte ms importante de cualquier servidor web es la aplicacin de servidor

web. Un servidor Web es una aplicacin que


se llevar a solicitudes de un sitio web y luego devolver el contenido de la pgina web
solicitada. La mayora de servidores web tambin pueden proporcionar una
gran nmero de otras funciones que pueden ayudar a mejorar su capacidad para proporcionar
contenido web a los usuarios finales. Para nuestro
LAMP, vamos a utilizar el servidor web Apache.
Apache es considerado por muchos como servidor web estreno del mundo. Fue lanzado por
primera vez en 1995 y se ha convertido
conocida por jugar un papel en el crecimiento de la World Wide Web, proporcionando un
servidor web sencillo, potente y gratis
a las masas.
Como refuerzo de este hecho, se estima que Apache proporciona entre un estimado de 54 a 58
por ciento de la
sitios web del mundo.
Hay dos historias que se cuentan acerca de cmo Apache lleg a ser nombrado:
La primera es que fue nombrado para que sea "Un servidor web irregular" cuando se desarroll
por primera vez todos aquellos

hace aos que.


El segundo (y mucho mejor desde una perspectiva de la narracin) es que Apache se dice que es

llamado as por las tribus apaches de Amrica.


Ser nombrado por una tribu ni siquiera es un nombre inapropiado ya que acta como una tribu
es una de las caractersticas clave de Apache. Apache
La primera tarea es cuando comienza a crear su propia pequea tribu de los "trabajadores" que
tienen la tarea de servir a la real de su
el contenido del sitio web. Ahora que tiene una comprensin ms clara de lo que hace Apache,
se convierte en el primer paso para conseguir
Apache instalado, en funcionamiento.
Para nuestras instalaciones, nos basaremos (como siempre) en la herramienta apt-get siempre
fiel:
$ Sudo apt-get install apache2
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
www.it-ebooks.info
pgina 163
Captulo 8 Una lmpara de su propia
151
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
apache2-mpm-worker apache2-utils-bin apache2.2 libapr1 apache2.2 comn
libaprutil1 libaprutil1-DBD-sqlite3 libaprutil1-ldap ssl-cert
Paquetes sugeridos:
apache2-doc apache2-suexec apache2-suexec-aduana-openssl lista negra
Se instalarn los siguientes paquetes NUEVOS:
apache2 apache2-mpm-worker apache2-utils apache2.2-bin-apache2.2 comn
libapr1 libaprutil1 libaprutil1-sqlite3-dbd libaprutil1-ldap ssl-cert
0 actualizados, 10 se instalarn, 0 para eliminar y 71 no actualizados.
Necesidad de conseguir 1.348 kB de archivos.
Despus de esta operacin, se utilizarn 4.990 KB de espacio de disco adicional.
Desea continuar [S / n]?
Ahora que ha instalado Apache, deberamos ir y validar que es todo en marcha y funcionando.
Hay algunas maneras
Podemos hacer esto. En primer lugar, ejecute lo siguiente:

$ Ps -ef | grep apache


raz 2,306 1 0 Sep17? 00:00:09 / usr / sbin / apache2 -k inicio
www-data 2309 2306 0 Sep17? 00:00:00 / usr / sbin / apache2 -k inicio
www-data 2311 2306 0 Sep17? 00:00:00 / usr / sbin / apache2 -k inicio
www-data 2315 2306 0 Sep17? 00:00:00 / usr / sbin / apache2 -k inicio
A partir de esta salida, se puede ver que Apache es de hecho en marcha y funcionando. A partir
de este punto, hay otros pocos
cosas importantes a tener en cuenta. El primer proceso que aparece con la siguiente lnea es
diferente de los dems:
raz 2,306 1 0 Sep17? 00:00:09 / usr / sbin / apache2 -k inicio
Este es el jefe de la tribu Apache se mencion anteriormente. Es propiedad de raz (como se
indica en la primera columna),
y su identificador de proceso (PID) es 2306. Los otros tres son propiedad de un usuario llamado
www-data, que es un usuario especficamente para
Apache. Mientras que cada trabajador tiene un PID diferente, todos ellos tienen un (ID de
proceso principal) PPID de 2306, lo que significa que la
proceso jefe apache les hizo (que su PID 2306).
Ahora para la segunda y mediante la prueba mucho ms divertido; En esta prueba, vamos a
conseguir realmente Apache para mostrar su inicio por defecto
pgina web! Para ello, puede iniciar sesin en la interfaz grfica de usuario o puede obtener la
direccin IP del sistema usando ifconfig . Su salida
debe parecerse a la siguiente con las direcciones IP correspondientes destacado:
$ ifconfig
eth0 Link encap: Ethernet HWaddr b8: 27: eb: 8a: 46: ba
inet addr: 10.0.0.20 Bcast: 10.0.0.255 Mscara: 255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1
paquetes RX: 213812 Errores: 0 Eliminado: 0: 0 los sobrantes de captura de fotogramas: 0
TX paquetes: 5119: 0 errores cayeron: 0 excesos: 0 portadora: 0
colisiones: 0 txqueuelen: 1000
bytes RX: 19226371 (18,3 MiB) TX bytes: 495394 (483,7 KiB)
lo Link encap: bucle de retorno local
inet addr: 127.0.0.1 Mscara: 255.0.0.0
UP LOOPBACK RUNNING MTU: 16436 Mtrica: 1
paquetes RX: 8 Errores: 0 Eliminado: 0: 0 los sobrantes de captura de fotogramas: 0
paquetes TX: 8 Errores: 0 Eliminado: 0: 0 sobrecostos de transporte: 0
colisiones: 0 txqueuelen: 0
bytes RX: 1104 (1.0 KiB) bytes TX: 1104 (1.0 KiB)
www.it-ebooks.info
Pgina 164
Captulo 8 Una lmpara de su propia
152
Asumiendo que su sistema es (como la ma) unido a una red, puede utilizar la primera direccin
IP (10.0.0.20). Esta
direccin en el bloque de eth0 representa su puerto de red. La direccin en el bloque lo es la
direccin de bucle de retorno, que se utiliza
para la auto-referencia interna y siempre es 127.0.0.1.
La siguiente prueba es acceder a la pgina web por defecto de Apache; y para ello, basta con
introducir uno de los
Las direcciones IP en un navegador (suponiendo que est en la misma red que el Pi, por
supuesto!). Si desea probar
utilizando el navegador de a bordo del Pi, eso es completamente bien, tambin, y se puede elegir
entre cualquiera de las direcciones (o 10.0.0.20
127.0.0.1). Entonces, Qu esperas? Abra una ventana del navegador y echar un vistazo a la
pgina web por defecto, como se muestra

En la Figura 8-1 .
Figura 8-1. Funciona!
Como usted debe ser consciente por ahora, funciona! Esta es la pgina web por defecto para el
servidor web Apache y como se sugiere
sin embargo, no se aade ningn contenido, vamos a llegar a eso ms adelante. Por ahora,
vamos a echar un vistazo a la forma en que una pgina por defecto es
generado, ya que esto le dar una idea de cmo funciona realmente Apache.
Configuracin de Apache
Conseguir su cabeza alrededor de la configuracin de Apache es, para ser franco, un poco de
una pesadilla. Si eres juego, seguir adelante y tener
vea en / etc / apache2 para una idea de lo que quiero decir. Hay una serie de carpetas all con
diferentes significados
y cmo esos cambios se interrelacionan carpetas cmo funciona la instancia del servidor
Apache. Afortunadamente, sin embargo, una vez que se
entender donde se necesita hacer cambios, todo se vuelve mucho ms fcil.
El primer archivo de la nota en la configuracin de Apache es el archivo apache2.conf. Este es
el archivo de configuracin de gobierno que dice
donde cada una de las otras piezas separadas se encuentran, y cmo la aplicacin debe cargar
ellos. Los segundos cosas a
tener en cuenta son los mods-disponible y carpetas mods-enabled. Si usted tiene un vistazo al
archivo mods-disponible, se le
ver que hay un gran nmero de archivos .load y .conf. Estos archivos representan en Apache
debe cargar un mdulo
y de la informacin de configuracin de este mdulo necesita, respectivamente.
El siguiente es mods-enabled, una mirada inicial sobre esta carpeta le hace que parezca como
mods-available . Sin embargo, si
ejecutar un ls -l en este directorio, podrs ver esto:
$ Ls -l / etc / apache2 / mods-enabled /
Total 0
lrwxrwxrwx 1 root root 28 de Sep 17 de alias.conf 21:44 -> ../mods-available/alias.conf
lrwxrwxrwx 1 root root 28 de Sep 17 de alias.load 21:44 -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 Sep 17 de auth_basic.load 21:44 -> ../modsavailable/auth_basic.load
lrwxrwxrwx 1 root root 33 Sep 17 de authn_file.load 21:44 -> ../mods-available/authn_file.load
...
Esto demuestra que, de hecho, cada uno de los archivos de mods-enabled es en realidad un
enlace a un archivo en mods-available! Este es el
primero complejidad de la configuracin de Apache, mientras que hay un nmero de mdulos
disponibles en cualquier momento dado slo una
www.it-ebooks.info
pgina 165
Captulo 8 Una lmpara de su propia
153
Algunas de estas ONG carga realmente. El uso de enlaces simblicos como esto significa que
slo una copia de la configuracin necesita
ser cuidado y mantenido en un momento dado. Y ms al punto, se harn los cambios realizados
en uno de los dos.
Si nos fijamos en el interior de las carpetas habilitados para sitios sites-available y, ver el
mismo diseo, sin que antes
podra ser menor nmero de sitios. Esto nos lleva al verdadero objeto de nuestra bsqueda: el
primer sitio predeterminado que est disponible en el
sistema de Apache. Pues abre tanto / etc / apache2 / sites-available / default o / etc / sitesenabled / apache2 /
000-default, ya que no importa; Ellos son la misma cosa! As que, ahora que ests dentro, se

pasa de todo en lo
significa la config. Muchos de ellos ser importante para usted ms adelante si desea agregar
sitios web adicionales o modificar la forma
Se muestran los sitios web.
<VirtualHost *: 80>
ServerAdmin webmaster @ localhost
DocumentRoot / var / www
<Directory />
Opciones FollowSymLinks
Ninguno AllowOverride
</ Directory>
<Directorio / var / www />
ndices de opciones FollowSymLinks MultiViews
Ninguno AllowOverride
Orden allow, deny
Dejar de todas las
</ Directory>
ScriptAlias / cgi-bin / / usr / lib / cgi-bin /
<Directory "/ usr / lib / cgi-bin">
Ninguno AllowOverride
Opciones + ExecCGI -MultiViews + SymLinksIfOwnerMatch
Orden allow, deny
Dejar de todas las
</ Directory>
ErrorLog $ {} APACHE_LOG_DIR /error.log
# Los valores posibles son: depuracin, informacin, notificacin, warn, error, crit,
# Alert, emerg.
LOGLEVEL advertir
CustomLog $ {} APACHE_LOG_DIR /access.log combinado
</ VirtualHost>
La primera lnea es probablemente uno de los ms importantes; especifica que este servidor web
est disponible para cualquier entrante
direccin en el puerto 80. Cambio de esto significa que puede ejecutar varios servidores web en
el mismo sitio mediante el uso de diferentes puertos de
hacer referencia a cada uno.
Nota

Se puede especificar un puerto para conectar a casi cualquier aplicacin agregando


: <Nmero de puerto>
al final
de la direccin URL.
Siguiendo la direccin de host virtual, el siguiente paso es relevante el DocumentRoot. Esto es
fundamental, ya que dice donde
Apache se carga todo el contenido del servidor web. Esto significa que todo lo que est en la
carpeta / var / www se convertir
www.it-ebooks.info
pgina 166
Captulo 8 Una lmpara de su propia
154
disponible a travs del sitio web bsico en el puerto 80. Por ejemplo, si usted entra en la carpeta
/ var / www, ver un archivo: index.html.
Si examina este archivo, ver algn contenido muy familiar:
<Html> <body> <h1> As funciona! </ H1>
<P> Esta es la pgina web por defecto para este servidor. </ P>

<P> El software de servidor web est funcionando, pero sin contenido se ha aadido, sin
embargo. </ P>
</ Body> </ html>
S, ese es el contenido del sitio web que se utiliza para generar la pgina de inicio de base que
Apache est mostrando actualmente. Yo intento
creo que de esta manera: el servidor web est proporcionando acceso a esa carpeta (y todas las
subcarpetas y documentos dentro de ella).
Como prueba de esto, trate de ejecutar el siguiente comando como root:
$ Echo "Hello World"> / var / www / foo
Nota

Se puede obtener mediante la ejecucin de la raz


sudo su .
Una vez que se ha ejecutado satisfactoriamente este comando, dirija su navegador a http: //
<direccin IP> / foo y se
debe ver hola mundo est representada all. Usted puede preguntarse por qu no necesitamos
usar index.html en la primera
solicitud a nuestro sitio web (es decir, el uso http://10.0.0.2/index.html ). Esto se debe a que los
archivos denominados "ndice" son los especiales.
Son la pgina por defecto aparecer si no existe otro tipo de contenido est disponible.
Las siguientes partes de la configuracin que debe tener en cuenta son las secciones directorio
config. Estos son una lista de
directorios que pueden proporcionar reglas especiales en cuanto a cmo se accede a ellos e
incluso que se puede acceder a ellos. En este caso,
hay dos directorios que Apache tiene opciones de configuracin para: el directorio / root y / var
/ www. Mientras que hay
hay una serie de cosas muy interesantes que se pueden hacer con los valores de directorio, no
hay mucho que ver con la necesidad de
ellos aqu. Para obtener ms informacin, debe dirigirse a la pgina web Apache y leer a travs
de la mucho ms detallada
documentacin disponible all.
Despus de que los datos del directorio viene ScriptAlias, que regula cmo se accede a los
scripts CGI por la aplicacin.
El ScriptAlias es un directorio especial en el que estos programas CGI viven y se ejecutan
desde. Como PHP es un scripting
sistema muy semejante BASH (cubierto en el Captulo 7), es posible que esto tiene una
influencia directa, pero no es el caso. PHP es
a cargo de un mdulo de interpretacin especial (modphp) ms que por un solo programa CGI.
El valor de directorio por debajo de los ScriptAlias se relaciona con ella. La elasticidad rpida
de distancia se encuentra que tanto la referencia / usr / lib /
cgi-bin /. Este directorio contiene la directiva + ExecCGI. Una vez ms, esto se relaciona con la
forma en guiones y cosas tales como PHP son
ejecutado. Por ltimo, el archivo de configuracin llega a su fin con unas pocas lneas de
configuracin muy tiles. Estos valores son el archivo de registro
directrices para el servidor Apache; dicen en los archivos de registro se irn y qu archivos se
van a escribir en. Ambos registros de acceso
(Para que pueda espiar a todo el que lo visita) y los registros de errores mucho ms estndar se
cubre aqu. el Loglevel
Directiva en el medio en el que rige los registros de nivel con respecto a la ejecucin del
servidor debe ser de salida, y en este momento
se fija en WARN, que es sensible.
Teniendo en cuenta que es probable que necesite para tomar ventaja de estos registros ms
adelante cuando se trabaja con PHP, usted debe
familiarizarse con ellos ahora. Pero primero vamos a hacer un pequeo cambio en el registro

que haremos Apache incorporar.


Vamos a cambiar el nivel de registro que notar, as que adelante y cambiarlo a continuacin,
guardar el archivo que acaba de editar. Una vez que el archivo tiene
ha cambiado, tenemos que decirle a Apache esto por lo que volver a cargar la configuracin. A
diferencia de hacer un cambio en el contenido de su sitio web,
tenemos que informar de los cambios de configuracin de Apache. Afortunadamente, Apache
hace fcil mediante la inclusin de una funcin de recarga que
podemos establecer a tal efecto. Vaya por delante y emitir la siguiente:
$ Sudo /etc/init.d/apache2 recarga
[....] Recarga de configuracin del servidor web: apache2apache2: no se pudo determinar con
fiabilidad el servidor de totalmente
Nombre de dominio completo, usando 127.0.1.1 para ServerName
. De acuerdo
www.it-ebooks.info
pgina 167
Captulo 8 Una lmpara de su propia
155
Esto ha dicho Apache para recargar su configuracin y ponerse en marcha de nuevo. Ahora
echa un vistazo a los archivos de registro para ver los cambios que
hecho. El directorio de registro de Apache es / var / log / apache2, y el archivo que nos interesa
es la error.log. Una vez que est
mirar dentro, debera ver algo como esto:
[Mar Sep 18 de 2012 22:46:56] [Aviso] SIGUSR1 recibido. Haciendo reinicio sencillo
apache2: no se pudo determinar con fiabilidad el nombre de dominio completo del servidor,
utilizando para 127.0.1.1
Nombre del servidor
[Mar Sep 18 de 2012 22:46:56] [Aviso] / 2.2.22 (Debian) configurados en Apache - la
reanudacin de las operaciones normales
Esto dice que mi instancia de Apache se le dio una seal y se lleva a cabo un reinicio sencillo;
entonces se reanud la normalidad
operacin dentro de la misma segunda. Esta es la configuracin de recarga se realiz hace un
momento. Tambin podemos ver el
registro de acceso y ver a nosotros mismos acceder a los contenidos de la web server, adelante y
abrir el archivo access.log en / var /
log / apache2 y echar un vistazo. Debera ver algo como esto:
10.0.0.104 - - [18 / Sep / 2012: 20: 31: 17 +1000] "GET / HTTP / 1.1" 200 482 "-" "Mozilla /
5.0 (Windows NT
6.1; WOW64) AppleWebKit / 537.10 (KHTML, like Gecko) Chrome / 23.0.1262.0 Safari /
537.10 "
10.0.0.104 - - [18 / Sep / 2012: 22: 21: 22 +1000] "GET /favicon.ico HTTP / 1.1" 404 498 "-"
"Mozilla / 5.0
(Windows NT 6.1; WOW64) AppleWebKit / 537.10 (KHTML, like Gecko) Chrome /
23.0.1262.0 Safari / 537.10 "
10.0.0.104 - - [18 / Sep / 2012: 22: 28: 36 +1000] "GET / foo HTTP / 1.1" 200 274 "-" "Mozilla
/ 5.0 (Windows NT
6.1; WOW64) AppleWebKit / 537.10 (KHTML, like Gecko) Chrome / 23.0.1262.0 Safari /
537.10 "
Estas lneas muestran que una persona en IP 10.0.0.104 hizo una peticin GET de la / del
servidor web, que es la
/ Var / carpeta www y el archivo index.html dentro (porque el ndice es el archivo por defecto).
Tambin muestra a alguien acceder
el archivo foo dentro de este directorio. Los dos estaban conmigo acceso al sitio Web de forma
secuencial. Tambin se dar cuenta de que
hay una peticin en el medio, que es para un favicon.ico . Esto representa mi navegador tratando

de solicitar la
icono de los favoritos de este sitio web; no hay uno, por desgracia.
Solucin de problemas
En su mayor parte, la creacin de un servidor Apache es una brisa. Es slo cuando usted
comienza a hacer un montn de cambios que se
podra tener problemas. Sin embargo, si se hizo encontrarse se produzcan problemas, pruebe lo
siguiente. Comprobar que se puede ver
el proceso de Apache que se ejecuta con ps-ef. Si Apache no se est ejecutando, tratar de
iniciarlo. Si esto no funciona, trate de examinar el error
archivo de registro, ya que contendr informacin sobre los errores que Apache ha sufrido. La
mayora de las entradas en el registro de errores son
explica por s misma. Sin embargo, si usted se encuentra en una prdida, dirjase a la pgina
web Apache, donde hay una gran
cantidad de ayuda disponible all para aquellos que lo necesitan.
M es para MySQL
Ahora que tiene su servidor web y correr, que probablemente se estar preguntando, "veo que
usted puede hacer un sitio web
con slo escribir el contenido en un servidor web y ste se mostrar. Lo ms programas que
podra necesitar? "Y
es verdad; en este momento, se podra escribir una pgina web en base HyperText Markup
Language (HTML) y hacer con ella.
El problema con la escritura en HTML solo es que el HTML es esttica, lo que significa que
cada vez que desea cambiar lo
Se muestra, es necesario abrir y editar el archivo para cambiar lo que se dice. Esto no va a hacer
por muy buenas
gestin cuando se quiere mostrar cosas diferentes para diferentes personas. Usted tendra que
estar sentado manualmente
all y la edicin de un montn de cosas, eso es intil.
Aqu es donde empezamos a ver la potencia de la pila LAMP completa. Tenemos Apache para
servir contenido, PHP se encargar
la parte dinmica, y la base de datos MySQL en realidad contendrn los diversos fragmentos
diferentes de informacin que desea
mostrar. Es slo cuando se tiene todos estos componentes en y trabajando juntos que se empieza
a ver el verdadero poder
de un sistema LAMP.
www.it-ebooks.info
pgina 168
Captulo 8 Una lmpara de su propia
156
Instalacin de MySQL
Una base de datos (DB) es un sistema para la fcil almacenamiento y recuperacin de datos. Se
toman grandes volmenes de entrada y luego
estructurar los datos para que la informacin puede ser fcilmente recuperada con una consulta.
Todas las bases de datos SQL se denominan as por la
Structured Query Language, que se utilizan para procesar las solicitudes de recuperacin de
informacin. MySQL es el mundo de la mayora
un gran despliegue de bases de datos de cdigo abierto. Es lo que se llama un sistema de base
de datos relacional que se utiliza porque es fcil
configurar y trabajar con, por lo tanto su amplia adopcin. Para instalar MySQL, volveremos a
pasar a nuestro viejo amigo apt-get; esta
tiempo, vamos a instalar el paquete mysql-server. Ejecutar lo siguiente:
$ Sudo apt-get install mysql-server
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio

Leyendo informacin de estado ... Hecho


Se instalarn los siguientes paquetes extras:
herencia-mailx libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl
libmysqlclient16 libnet-daemon-perl perl libplrpc-mysql-client-5.5
mysql-common mysql-server-5.5 mysql-server-core-5.5
Paquetes sugeridos:
libipc-sharedcache-perl-libterm readkey-perl TinyCA
Se instalarn los siguientes paquetes NUEVOS:
herencia-mailx libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl
libmysqlclient16 libnet-daemon-perl perl libplrpc-mysql-client-5.5
mysql-common mysql-server mysql-server-5.5 mysql-server-core-5.5
0 actualizados, 13 se instalarn, 0 para eliminar y 84 no actualizados.
Necesidad de conseguir 9.770 kB de archivos.
Despus de esta operacin, se utilizarn 91,5 MB de espacio de disco adicional.
Desea continuar [S / n]?
Una vez que la instalacin real de MySQL ha terminado, se le pedir que proporcione una
contrasea de root para su base de datos; este es el
dominar contrasea de administrador de base de datos. Asegrese de que lo recuerde; Lo
necesitars ms tarde. Ahora que la instalacin
ha terminado, confirme que el proceso ha comenzado con esto:
$ Ps -ef | grep mysql
La salida debera mostrar algunas cosas diferentes, incluyendo el demonio de MySQL, que se
destaca aqu:
root 5254 1 0 20:23? 00:00:00 / bin / sh / usr / bin / mysqld_safe
mysql 5592 5254 3 20:23? 00:00:03 / usr / sbin / mysqld --basedir = / usr --datadir = / var /
lib / mysql --plugin-dir = / usr / lib / mysql / plug-in user = mysql --pid-file = / var / run /
mysqld / mysqld.pid
--socket = / var / run / mysqld / mysqld.sock --port = 3306
5593 5254 0 raz 20:23? 00:00:00 logger -p -t mysqld daemon.error
Esa es una gran comando de proceso, pero s muestra que MySQL est en funcionamiento.
Podemos repasar el MySQL
config, pero por suerte el sistema funcionar para todas nuestras necesidades bsicas sin la
necesidad de modificar la configuracin. Dado
que, vamos a empezar a trabajar en algunos aspectos bsicos tanto a los datos de insercin y
recuperarlo.
lenguaje de consulta estructurado
Structured Query Language (SQL) es un lenguaje para introducir y recuperar informacin de
una base de datos SQL.
En SQL, hay una serie de diferentes consultas que se pueden hacer, que van desde lo simple a lo
extremadamente complejo. Dado
que hay (como con todo) una serie de otros recursos que pasan mucho ms tiempo y entrar en
muchos ms detalles
www.it-ebooks.info
pgina 169
Captulo 8 Una lmpara de su propia
157
acerca de la sintaxis y el origen y cualquiera que sea, que no cubriremos los que estn aqu.
Adems, para nuestros propsitos slo debe haber cinco
tipos de consultas que necesitan:
Los comandos bsicos de administracin

Insertar datos nuevos

encontrar datos


Actualizar datos

Borrar datos

Aunque suena muy simple, es muy fcil perderse en la sintaxis si desea hacer algo ms
complejo. Si ese es el caso, y que desean hacer algo un poco ms complejo que lo que hemos
tratado aqu
por favor, dirjase a la pgina web de MySQL, ya que tienen la documentacin completa sobre
la forma precisa para llevar a cabo cada consulta
y lo que el gran nmero de opciones de cada comando implica. Si quieres algo un poco ms
centrado en la Web
el desarrollo con todas las sutilezas Apress, echar un vistazo a partir de PHP y MySQL 5 , por
Jason W. Gilmore.
De todos modos, la colocacin suficiente producto; vamos a empezar con las cosas bsicas de
administracin y crea una base de datos. los
sintaxis de ste es muy simple:
crear la base de datos <nombre de la base de datos>
Para ejecutar comandos en su instancia de MySQL, que necesita para conectarse a l y entrar en
el shell mysql. Este es el
mandar a hacer esto:
mysql -p -uroot
Entonces el salto en la cscara, proporcionar la contrasea de root y ejecutar pi crear la base de
datos; que debe generar
el siguiente resultado:
mysql> pi crear la base de datos;
Query OK, 1 fila afectada (0.00 seg)
Est bien, impresionante. Tenemos una base de datos llamada pi. En un sistema de base de
datos SQL, una base de datos es el nivel ms alto
construir. Debajo de eso es una tabla , que es el objeto que contiene los datos (una base de datos
contiene varias tablas). Cada
de estos elementos de datos en una tabla que se llama una fila . As que nuestro siguiente paso
es la creacin de una mesa; el problema es que necesitamos para dar
nuestra mesa un poco de estructura. Hay que decir que el tipo de datos que debe contener y
cmo vamos a exponer que los datos, que
significa que necesitamos un proyecto. El ms obvio por ahora es un simple lista de tareas
pendientes, por lo que vamos a hacer uno de esos.
Nota

todos los comandos de MySQL final con un punto y coma (;). Significa que este es el final de
un statement.this se hace como
se puede poner en lneas para un comando en varias lneas para que sea ms fcil de seguir.
Creacin de tablas
Slo hacindose a un lado rpidamente, me he separado de la metodologa de planificacin del
proyecto normal, un poco aqu para que podamos
ejecutar a travs de una base de datos de configuracin bsica juntos. Al llevar a cabo un gran
proyecto, que es mucho mejor para planificar el futuro y totalmente
entender lo que se va a poner una base de datos mucho antes de que los datos son cada vez
aadido a la misma.
www.it-ebooks.info
pgina 170
Captulo 8 Una lmpara de su propia
158
Por lo tanto, para nuestra lista de tareas pendientes, queremos mantener la siguiente informacin

para cada "cosa que hacer":


Descripcin

Persona que realiza la tarea (propietario)

Fecha que se realiza el da (fecha)

Ubicacin

Importancia

Quin impuesto la tarea (creador)

Est bien, as que con esta informacin, tenemos nuestra estructura de la tabla en bruto; por lo
que ahora vamos a seguir adelante y crearlo. La sintaxis
para una creacin de la tabla es la siguiente:
crear la tabla <nombre de tabla> (
<Nombre de columna> <tipo de columna>,
<Nombre de columna> <tipo de columna>,
...
<Nombre de columna> <tipo de columna>
);
Esa es la sintaxis bsica, pero hay una ltima cosa que necesitamos para asegurarnos de que
tenemos al crear nuestra mesa: una
llave. Teniendo en cuenta que tenemos que asegurarnos de que estamos obteniendo el valor de
vuelta cada vez, necesitamos tener algo nico
sobre cada pieza individual de datos. Muchas de estas tareas podra terminar casi idntica, con
exclusin de uno o dos de menor importancia
variaciones. Por esta razn, vamos a necesitar lo que se llama una clave principal , que es un
identificador nico para cada fila. En
este caso, lo mejor es slo para usar un simple recuento que ir automticamente para cada fila
aadimos. Ahora sabemos lo que
querer; vamos a la carne hacia fuera en la sintaxis de delante y ver lo que tenemos.
crear todolist mesa (
idnumber <tipo de columna>,
Descripcin <tipo de columna>,
propietario <tipo de columna>,
fecha <tipo colunm>,
ubicacin <tipo de columna>,
importancia <tipo de columna>,
creador <tipo de columna
);
Bueno, mirando mejor, pero todava no tienen esos tipos de columna <>, ni tenemos nada que
decir que
nuestra idnumber es la clave principal, o debera actualizarse automticamente para cada nueva
fila. Esto nos lleva muy bien a lo
los tipos de columna estn a punto. MySQL necesita saber qu tipo de valores de cada uno de
nuestros elementos de datos habr por lo que
se sabe cmo almacenarlos y qu tipo de consultas que pueden estar involucrados en. Hay por lo
menos 30 datos diferentes
tipos de MySQL, que puede realizar todo tipo de operaciones, pero para nuestros propsitos
simples slo hay tres que necesitamos
que son de inters: uno es texto o una cadena de texto que se conoce como un VARCHAR y se
le da un nmero mximo de
caracteres, el segundo es un nmero entero o conocido como un INT, y el ltimo es un valor de

fecha que se conoce como una fecha .


Dado que ahora sabemos que algunos tipos de datos, podemos establecer a cabo en nuestro
mandato de creacin de tabla. Seguir adelante y hacerlo
que ahora y recordar que las cadenas de texto (VARCHAR ) deben recibir un nmero mximo
de caracteres:
crear todolist mesa (
idnumber INT,
Descripcin VARCHAR (200),
www.it-ebooks.info
pgina 171
Captulo 8 Una lmpara de su propia
159
propietario VARCHAR (40),
Fecha Fecha,
VARCHAR ubicacin (40),
importancia VARCHAR (10),
VARCHAR creador (40)
);
Eso se ve mucho mejor y probablemente ejecutar, pero recuerda que queramos tener ese
nmero sea nuestro
identificador nico y actualizarse de forma automtica para que nos hacen la vida ms fcil. La
sintaxis de la idnumber siendo
incrementa automticamente (actualizado para que sea 1) es AUTO_INCREMENT PRIMARY
KEY NOT NULL . Esto nos da una final
el mando de esta:
crear todolist mesa (
idnumber INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
Descripcin VARCHAR (200),
propietario VARCHAR (40),
Fecha Fecha,
VARCHAR ubicacin (40),
importancia VARCHAR (10),
VARCHAR creador (40)
);
Por lo tanto, seguir adelante y ejecutarlo:
ERROR 1046 (3D000): No se ha seleccionado la base de datos
Oh, chillidos. Tenemos que decirle a MySQL base de datos de la que estamos utilizando, y por
lo tanto la base de datos en las que esta tabla
residir. Para cambiar la base de datos que estamos utilizando, tenemos que utilizar el comando
USE. Para cambiar a la utilizacin de la base de datos Pi
simplemente ejecutamos pi USO; y MySQL nos dir que la base de datos ha cambiado. Si ha
olvidado su base de datos
nombre, puede utilizar el comando show para ver las cosas, VER bases de datos; le mostrar
todas las bases de datos del sistema.
Ahora seguir adelante y ejecutar la creacin de la tabla de nuevo. Esta vez usted debe ver esto:
Query OK, 0 filas afectadas (0.91 seg)
Fantstica, tenemos una mesa. Vamos a echar un vistazo y ver si podemos verlo. Ejecute el
comando show, pero esta vez por
mesas. Debera ver la siguiente salida, que enumera todas las tablas de la base de datos dentro
de Pi:
mysql> SHOW TABLES;
+ -------------- +
| Tables_in_pi |
+ -------------- +

| todolist |
+ -------------- +
1 row in set (0.00 sec)
www.it-ebooks.info
pgina 172
Captulo 8 Una lmpara de su propia
160
Yahoo! Ahora, digamos por ejemplo que usted ha olvidado qu es exactamente la mesa parece;
tendr que MySQL
describen cmo la mesa se compone. Puede utilizar el comando DESCRIBE para hacer
precisamente esto, as que vamos a tratar de describir nuestro nuevo
todolist mesa para que podamos ver cmo MySQL entiende.
mysql> DESCRIBE todolist;
------------- -------------- + + + + ------ ----- ------- + - + ---------------- +
| campo | Tipo | Null | clave | Por Defecto | extra |
------------- -------------- + + + + ------ ----- ------- + - + ---------------- +
| idnumber | int (11) | NO | PRI | NULL | aUTO_INCREMENT |
| Descripcin | varchar (200) | SI | | NULL | |
| propietario | varchar (40) | SI | | NULL | |
| fecha | fecha | SI | | NULL | |
| ubicacin | varchar (40) | SI | | NULL | |
| importancia | varchar (10) | SI | | NULL | |
| creador | varchar (40) | SI | | NULL | |
------------- -------------- + + + + ------ ----- ------- + - + ---------------- +
7 rows in set (0.00 sec)
Increble; incluso se puede ver que nuestro idnumber es la clave del PRI y tiene todo incremento
automtico en el extremo!
Todo ha registrado correctamente. Hemos creado con xito una base de datos y una mesa. Nos
hemos dado a nuestra estructura
mesa. Ahora es el momento de poner a buen uso, pero antes de empezar a jugar con los datos
hay una ltima comando de administracin Quiero
para cubrir: la creacin de un usuario distinto de root. De esta manera, no tiene que utilizar
constantemente el usuario root, lo que reducir
el riesgo potencial de seguridad. La sintaxis de este comando (llamada GRANT) es la siguiente:
GRANT ALL ON <DATABSE> <table> A '<nombre de usuario>' @ '<ubicacin del usuario>'
IDENTIFICADAS POR '<contrasea>.';
Por lo tanto, digamos que queremos otorgar al usuario pi por defecto en nuestro sistema de
acceso a nuestra mesa todolist con la contrasea
frambuesa . El comando se convertir en esto:
GRANT ALL ON pi.todolist A 'pi' @ 'localhost' IDENTIFICADAS POR 'frambuesa';
Ejecutar este comando y salga de la cscara de MySQL escribiendo quit . Ahora intenta iniciar
una nueva sesin con su nombre de usuario nuevo
y contrasea. Recuerde, la sintaxis para esto:
$ Mysql -u <nombre de usuario> -p
Nota

Se necesitan comillas al poner en cualquier texto en los datos de MySQL, que no es algo que
MySQL
Ya "entiende" (es decir, nombres de tabla y nombres de columna).
Insercin de datos
Ahora est conectado de nuevo como el usuario pi, vamos a empezar el aprendizaje de algunos
comandos reales para insertar datos en MySQL. El primero
comando para la cubierta es una para la insercin de datos. Cmo podemos esperar que
funcionara con los datos de MySQL si no hay datos

disponible! La orden para la insercin de datos es el comando INSERT bien llamado. La


sintaxis bsica para INSERT es la siguiente:
INSERT INTO <TABLE> (<CAMPO1>, <CAMPO2> ... <CampoX>) VALUES ( '<VAL1>
"," <VAL2>', ... '<VALX>');
www.it-ebooks.info
pgina 173
Captulo 8 Una lmpara de su propia
161
As que, ahora que sabemos cmo se supone que un inserto para mirar, vamos a seguir adelante
y hacer una en la base de datos. Vamos
insertar un par de tareas en nuestra lista de tareas pendientes. La primera de ellas ser la
redaccin de este captulo. As que el comando ser este
(despus de asegurar hemos escrito pi USO ) :
INSERT INTO todolist (descripcin, propietario, fecha, ubicacin, importancia, creador)
VALUES ( 'Finalizar lmpara
Captulo ',' David ',' 22/09/2012 ',' Australia ',' ALTA ',' David ');
Query OK, 1 fila afectada (0.43 seg)
Eso funciono. Vamos a aadir otra, slo por si acaso. Hagamos Peter hacer algo ahora:
INSERT INTO todolist (descripcin, propietario, fecha, ubicacin, importancia, creador)
VALUES ( 'GUI Finalizar
Captulo ',' Peter ',' 22/09/2012 ',' Hong Kong ',' ALTA ',' David ');
Query OK, 1 fila afectada (0.48 seg)
Ahora que tenemos un par de registros para jugar. Pero cmo hemos determinado que son
correctos? Cmo podemos comprobar
que los idnumbers se incrementan, ya que ni siquiera las aadiremos a nuestra instruccin de
insercin? Para que vamos a
que tenga que emitir una consulta a la base de datos SQL!
Consultar una base de datos
A diferencia de la mayora de los otros estados, una consulta de datos no se realiza con un
comando QUERY. Esto se debe a la totalidad de la
comandos que han estado ejecutando se consideran a s mismos consultas. El comando para la
recuperacin de datos es
llama un SELECT y su sintaxis es la siguiente:
SELECT <Fields1>, <Campo2> ... <CampoX> FROM <TABLENAME> donde <informacin
de consulta>
S, ya s que la sintaxis es un poco extrao, pero una vez que lo llenamos de obtendr ms de
una idea de por qu es la forma en que
es. Para empezar vamos a agarrar todo. Normalmente pones nombres de campo que se desea
obtener, lo que limita la cantidad
del exceso de datos que se estn transmitiendo, pero en este caso se puede utilizar el comodn *
especial. Por lo tanto para consultar todo, desde nuestra
todolist mesa, que se ejecutar la siguiente:
mysql> SELECT * FROM todolist;
+--------+-------------------+-----+----------+---------+----------+-------+
| idnumber | Descripcin | propietario | fecha | ubicacin | importancia | creador |
+--------+-------------------+-----+----------+---------+----------+-------+
| 1 | Finalizar LAMPARA Captulo | David | 09/22/2012 | australia | ALTA | David |
| 2 | Finalizar GUI Captulo | Peter | 09/22/2012 | Hong Kong | ALTA | David |
+--------+-------------------+-----+----------+---------+----------+-------+
2 rows in set (0.00 sec)
Usted se dar cuenta de que lo haba dejado el dnde, esto se hace, ya que no hay limitacin real
de lo que queremos, queremos
todo. Despus de esto, se puede ver que todo lo dems es que entramos en el formato que nos
dio y lo ms importante la

nmeros de identificacin estn incrementando! Esto valida todo lo que hemos insertado antes.
Ahora que comprende el
sintaxis bsica que puede hacer algunas consultas ligeramente ms avanzados. Digamos que yo
quiero averiguar quin tiene la culpa de la asignacin
yo (David) una tarea. La informacin relevante en este caso es el creador ya que eso es todo lo
que queremos, a quin culpar. Esta voluntad
darnos la primera mitad de una consulta:
creador SELECT todolist
www.it-ebooks.info
pgina 174
Captulo 8 Una lmpara de su propia
162
Ahora la siguiente parte que necesitamos es la parte en la que se especifica que el propietario
debe ser David. La sintaxis para esto es
una muy simple donde el propietario = "David" que nos da la consulta final:
creador SELECT todolist donde el propietario = "David";
+ --------- +
| creador |
+ --------- +
| David |
+ --------- +
1 row in set (0.00 sec)
Hermosa. Ahora s que slo tengo yo la culpa de este desastre. En la misma lnea, vamos a
probar otra. yo quiero
conocer la descripcin y la prioridad de todas las tareas que vencen a partir de hoy (que, en este
ejemplo, es el 20 de
Septiembre). As que de nuevo empezamos a construir nuestra consulta. Queremos que la
descripcin y los campos de importancia en esta ocasin, por lo que en ellos
ir. Tambin queremos una mayor fecha de 09/20/2012. Afortunadamente, MySQL entiende
datos de fecha, por lo que todos tenemos que hacer es
darle nuestra fecha y el smbolo mayor que, lo que es>. Esto le dar la consulta:
mysql> SELECT descripcin, importancia desde DONDE todolist fecha> "09/20/2012";
+ --------------------- + ------------ +
| Descripcin | importancia |
+ --------------------- + ------------ +
| Finalizar LAMPARA Captulo | ALTA |
| Finalizar GUI Captulo | ALTA |
+ --------------------- + ------------ +
2 rows in set (0.01 sec)
Hay una ltima parte sencilla de una consulta SELECT que probablemente ser relevante ms
adelante. Esta es la instruccin ORDER BY
que se pueden aadir al final de una consulta. Participa en nuestra ltima por ejemplo; digamos
que queremos que ellos ordenados por el orden en
que se aadieron (por idnumber). Esto har que nuestra consulta en esto:
mysql> SELECT descripcin, importancia, idnumber DE DONDE todolist fecha> "20/09/2012"
ORDER BY
nmero de identificacin;
+ --------------------- + ------------ + ---------- +
| Descripcin | importancia | idnumber |
+ --------------------- + ------------ + ---------- +
| Finalizar LAMPARA Captulo | ALTA | 1 |
| Finalizar GUI Captulo | ALTA | 2 |
+ --------------------- + ------------ + ---------- +
2 rows in set (0.00 sec)

Y ah est, ordenadas. Bueno, por lo que no podemos ver, ya que es en orden ascendente y se ha
mostrado previamente como
tal. Para invertir (o fuerza) una orden, podemos aadir un ASC o DESC al final de la
instruccin, as que vamos a tratar de que con la
misma consulta que antes y ver el cambio:
mysql> SELECT descripcin, importancia, idnumber DE DONDE todolist fecha> "20/09/2012"
ORDER BY
idnumber DESC;
+ --------------------- + ------------ + ---------- +
| Descripcin | importancia | idnumber |
+ --------------------- + ------------ + ---------- +
| Finalizar GUI Captulo | ALTA | 2 |
| Finalizar LAMPARA Captulo | ALTA | 1 |
+ --------------------- + ------------ + ---------- +
2 rows in set (0.00 sec)
www.it-ebooks.info
pgina 175
Captulo 8 Una lmpara de su propia
163
Eso es mejor; se puede ver el cambio en el orden ahora! Tener las cosas volvieron a fin es
grande ya que esto significa que el
sistema de base de datos est haciendo la clase para ti, algo que est programado para hacer
muy fcilmente. Si tuviramos que intento
para escribir este tipo, es probable que nos llevar mucho ms tiempo que la base de datos para
llevar a cabo. Ahora hemos cubierto nuestra segunda
comando bsico, y podemos insertar y recuperar datos. El siguiente comando vamos a ver en
uno para actualizar nuestros datos.
La actualizacin de una base de datos
Ahora que estamos ms all de la ligera torpeza del comando SELECT para consulta, nos
encontramos de nuevo en el nombre-como-que-media
territorio con el comando UPDATE. Una actualizacin es algo as como un hbrido de ambos el
inserto y las consultas de seleccin,
y con razn, dado que tanto necesitamos encontrar algo y luego actualizar ese algo. La sintaxis
bsica de una
UPDATE es la siguiente:
ACTUALIZACIN <nombre de tabla> SET <columna nombre1> = "<valor1>", <columna
nombre2> = "<valor2>" ... <columna NAMEX> =
"<ValueX>" donde <Informacin de consulta>
Vamos a trabajar nuestro camino a travs de un ejemplo. Digamos que necesito una prrroga de
este captulo porque soy
manera de trabajo demasiado duro y desea tomarlo con calma por una noche. Esto significa que
va a querer aumentar mi fecha lmite al 23
en lugar de los 22. As que sabemos lo que queremos poner al da, lo que nos da este comando:
Update todolist SET = "09/23/2012" WHERE
Ahora slo necesitamos una consulta; no podemos elegir algo el da 22, ya que hay dos cosas
que utilizan esa fecha; lo mismo
con la gravedad y creador. Podramos utilizar propietario o descripcin o idnumber. En este
caso, yo elegira nmero de identificacin, como
hemos establecido esto como la clave principal y el identificador de este modo totalmente nico.
Esto hace que nuestra consulta UPDATE en
mysql> ACTUALIZACIN todolist fecha SET = "09/23/2012" DONDE idnumber = 1;
Query OK, 1 fila afectada, 1 de advertencia (0.48 seg)
Filas encontrados: 1 Cambiado: 1 Advertencias: 0
Usted se dar cuenta de que no aad comillas en el nmero 1 en el extremo. Esto es porque

trata de MySQL
nmeros como INT diferente a nmeros como un VARCHAR; mientras que esto parece
semntica. es una distincin importante como
operaciones matemticas no pueden ser llevadas a cabo contra un VARCHAR, pero pueden
estar en contra de un INT. MySQL no tiene
se muestra la salida real de los datos; para ver que tendremos que emitir otra seleccin, as que
vamos a seguir adelante y examinar la
cambio:
mysql> SELECT * FROM todolist DONDE idnumber = 1;
+--------+-------------------+-----+----------+---------+----------+-------+
| idnumber | Descripcin | propietario | fecha | ubicacin | importancia | creador |
+--------+-------------------+-----+----------+---------+----------+-------+
| 1 | Finalizar LAMPARA Captulo | David | 09/23/2012 | australia | ALTA | David |
+--------+-------------------+-----+----------+---------+----------+-------+
1 row in set (0.00 sec)
Y ah lo tienes; Slo me he dado la noche libre. Pero debido a esto, Peter y yo ambos tienen que
trabajar
ms duro en los captulos que hemos restantes. Esto significa que tendremos que establecer la
importancia de nuestros dos captulos
hasta alturas! La primera parte es simple:
ACTUALIZACIN todolist SET importancia = "ALTO" WHERE
www.it-ebooks.info
pgina 176
Captulo 8 Una lmpara de su propia
164
Aqu es donde podemos mirar a cambiar la forma en que hacemos las preguntas de nuevo.
Queremos hacer todo? Y configurar todo
Miembros con ms mediante la eliminacin de la DONDE? Vamos a buscar elevadas,
convirtindolo en ALTO, lo que hace que nuestra pregunta final:
mysql> SET DE ACTUALIZACIN todolist importancia = "ALTO" DONDE importancia =
"ALTO";
Query OK, 2 filas afectadas (0.49 seg)
Filas encontrados: 2 modificados: 2 Advertencias: 0
Una vez ms no hay salida, por lo que debe recuperar los datos de nuevo:
mysql> SELECT * FROM todolist;
+--------+-------------------+-----+----------+---------+----------+-------+
| idnumber | Descripcin | propietario | fecha | ubicacin | importancia | creador |
+--------+-------------------+-----+----------+---------+----------+-------+
| 1 | Finalizar LAMPARA Captulo | David | 09/23/2012 | australia | ALTA | David |
| 2 | Finalizar GUI Captulo | Peter | 09/22/2012 | Hong Kong | ALTA | David |
+--------+-------------------+-----+----------+---------+----------+-------+
2 rows in set (0.00 sec)
Hemos sido capaces de actualizar esos dos valores altos a mayor. Ahora para la ltima tarea
pendiente: eliminar.
borrado de datos
Queremos ser capaces de eliminar las tareas a medida que se acaban. La sintaxis de un comando
DELETE se construye casi
exactamente igual que un comando SELECT:
DELETE FROM <nombre de tabla> WHERE <informacin de consulta>;
Aqu est un ejemplo final. Digamos que mi razn de una noche fuera no era que estaba
cansado; que era porque yo estaba acabada
con este captulo temprano! Woohoo! As que vamos a construir la eliminacin. Una vez ms
vamos a ir por el idnumber para estar seguro. El comando
ser la siguiente:

mysql> CANCELACIN de todolist DONDE idnumber = 1;


Query OK, 1 fila afectada (0,42 seg)
Al igual que con UPDATE, no hay informacin devuelta ms all del corto de salida diciendo
que hemos suprimido una fila.
Vamos a emitir un SELECT de nuevo y ver lo que ha cambiado:
mysql> SELECT * FROM todolist;
+--------+------------------+-----+----------+---------+----------+-------+
| idnumber | Descripcin | propietario | fecha | ubicacin | importancia | creador |
+--------+------------------+-----+----------+---------+----------+-------+
| 2 | Finalizar GUI Captulo | Peter | 09/22/2012 | Hong Kong | ALTA | David |
+--------+------------------+-----+----------+---------+----------+-------+
1 row in set (0.01 sec)
Slo el captulo de Peter restos, y l tiene que trabajar ms duro ya que est en alto. De acuerdo,
vamos a ser especie-una ltima
mando. ste se deshace de una mesa; se llama el comando DROP y es muy simple:
DROP TABLE <nombre de tabla>;
www.it-ebooks.info
pgina 177
Captulo 8 Una lmpara de su propia
165
Dejemos nuestra mesa todolist ya hemos terminado con estos ejemplos MySQL y no queremos
que tomar
hasta la habitacin:
mysql> todolist DROP TABLE;
Query OK, 0 filas afectadas (0.49 seg)
Bien, ahora slo hemos dejado nuestra base de datos de PI. Si se desea borrar dicho, slo hay
que sustituir el vector del mundo
con la palabra base de datos en el comando DROP. Tu decides; estaremos reutilizando ste ms
tarde. Por ahora, vamos a la cabeza a
la ltima parte de nuestro stack LAMP: PHP.
P es para PHP
PHP es un sistema para que le permite aadir funciones dinmicas en su pgina web.
Originalmente, se hicieron todas las pginas web
desde HTML solo, lo que no permite una gran flexibilidad en base a los insumos y acciones.
HTML solo una muestra esttica
la pgina de contenido que necesita ser modificado para mostrar algo diferente. Para resolver
este problema inicial, el Comn
Interfaz de Pasarela (CGI) fue desarrollado. Esto proporciona una forma para que los servidores
web para tomar los pedidos que les permitan
contenido de regresar.
Originalmente, la mayora de los CGI eran aplicaciones completas que la produccin de
diversas piezas de HTML en funcin de su aportacin,
y porciones enteras de estas aplicaciones se dedicaron a dar salida a grandes porciones de la
misma HTML y otra vez.
Aqu es donde el desarrollo de PHP entr. PHP fue diseado para ser un lenguaje en el que se
podra aadir fragmentos
de cdigo dinmico real en el HTML esttico y listo: se formara una pgina web dinmica.
Desde su creacin, PHP se ha generalizado con las figuras de instalacin de 20 millones que se
cita. Este xito es
en gran parte debido a la facilidad con la que PHP puede ser usado como un CGI en
comparacin con el formulario de solicitud original de CGI.
Ahora que tiene una comprensin de lo que es PHP, vamos a instalarlo en el Raspberry Pi.
Como siempre, vamos a confiar en el
servicios de apt-get para descargar e instalar PHP para nosotros. El comando a ejecutar es la

siguiente:
$ Sudo apt-get install php5
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
apache2-mpm-prefork libapache2-mod-php5 libonig2 libqdbm14 php5 php5-cli-comn
Paquetes sugeridos:
php-pear
Los siguientes paquetes sern eliminados:
apache2-mpm-worker
Se instalarn los siguientes paquetes NUEVOS:
apache2-mpm-prefork libapache2-mod-php5 php5 php5 libonig2 libqdbm14-cli php5-common
0 actualizados, 7 se instalarn, 1 para eliminar y 84 no actualizados.
Necesidad de conseguir 5.707 kB de archivos.
Despus de esta operacin, se utilizarn 16,3 MB de espacio de disco adicional.
Desea continuar [S / n]?
Note que PHP est haciendo una modificacin de nuestra instalacin de Apache. Esto es para
reemplazar el miembro de la tribu Apache
mdulos con los que se prefieren para la utilizacin de PHP. Una vez que el PHP ha terminado
de instalar, queremos seguir adelante y
prueba que se est trabajando. No es una simple pgina PHP que podemos escribir, que
mostrar todos los ajustes de instalacin y
confirmar que PHP est en funcionamiento. Para probar esta primera pgina, necesitamos
reemplazar index.html en / var / www con una nueva
index.php que tiene la siguiente lnea en su interior:
<? Php phpinfo (); ?>
www.it-ebooks.info
pgina 178
Captulo 8 Una lmpara de su propia
166
Una vez que haya eliminado index.php index.html y agregado, dirija su navegador a su servidor
Apache. Figura 8-2
ser su recompensa.
Figura 8-2. PHP pginas de informacin
Esta es la pgina de informacin de PHP, que describe toda la configuracin actual de la
instancia de PHP recin instalado.
Puesto que estamos viendo el mismo, sino que tambin demuestra que el intrprete PHP est
funcionando correctamente. Tambin muestra que tiene index.php
sido recogido como pgina inicial por Apache. El cdigo que hemos aadido para generar esta
era la siguiente:
<? Php phpinfo (); ?>
Este es un gran ejemplo de cdigo PHP; primero tenemos los marcadores de apertura que
muestran que esto es PHP y para ser
interpretado como tal ( <? php y?> para cerrar) y tenemos una sola llamada de funcin dentro de
phpinfo (); que muestra todos
nuestros datos.
Una funcin es una referencia a una pieza predefinido de cdigo que corremos invocando el
nombre de la funcin. funciones
terminar siempre con un par de parntesis, que puede contener datos (variables que sern
pasados a la funcin de
utilizar all). Adems de las funciones, PHP utiliza matrices, al igual que las matrices que viste
en el captulo 7. En resumen, las matrices son
variables que contienen un nmero de valores en lugar de uno. Una matriz puede ser

manipulado como toda una matriz o por cada uno de


sus elementos individuales. Para acceder a los elementos de la matriz, es necesario agregar un
par de corchetes al final de la matriz
variables e introduzca el nmero del elemento al que desea acceder. Estos nmeros de los
elementos empiezan desde 0 como el primer
elemento y el incremento.
Las otras cosas importantes que uno necesita saber para PHP son los siguientes:
Todas las declaraciones de PHP terminan con un punto y coma

Todas las variables de PHP comienzan con una

$ Signo (recordemos las variables de BASH en el captulo 7; variables de PHP


se utilizan para la misma cosa)
Todas las variables de matriz PHP comienzan con una

@ firmar
Todo el cdigo interno de la funcin de PHP estn rodeados con llaves

{Y}
www.it-ebooks.info
pgina 179
Captulo 8 Una lmpara de su propia
167
A continuacin tenemos que echar un vistazo a travs de la pgina de Informacin de PHJP;
empezar por la bsqueda de MySQL. Oh, cielos, no hay
hablar de ella. PHP tendr que entender cmo comunicarse con MySQL con el fin de que
seamos capaces de mostrar
contenido de la base de datos en nuestra pgina web. Afortunadamente, apt-get viene al rescate
de nuevo. Esta vez, tenemos que instalar el
php5-mysql paquete:
$ Sudo apt-get install php5-mysql
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
libmysqlclient18
Se instalarn los siguientes paquetes NUEVOS:
libmysqlclient18 php5-mysql
0 actualizados, 2 se instalarn, 0 para eliminar y 84 no actualizados.
Se necesita descargar 711 kB de archivos.
Despus de esta operacin, se utilizarn 3.547 KB de espacio de disco adicional.
Desea continuar [S / n]?
Una vez ms, se ver que esta instalacin agrega una nueva biblioteca cliente de MySQL para
las comunicaciones y el nuevo PHP
intercalacin de MySQL. Tambin se reiniciar automticamente el servidor Web Apache y
cambiar la configuracin de PHP varios
archivos para usted. Una vez ms, abrir y dirigir el navegador a la pgina Web Apache y la
bsqueda de MySQL, y hay
nosotros vamos! (Ver Figura 8-3 .)
Figura 8-3. PHP informacin de configuracin de MySQL
F
www.it-ebooks.info
pgina 180

Captulo 8 Una lmpara de su propia


168
Hemos confirmado lo siguiente:
Tenemos un sistema de trabajo PHP

Apache puede hacer que el PHP

MySQL y PHP saben cmo comunicarse

Esto significa que hemos logrado simplemente crear una configuracin de lmpara de trabajo!
Ahora vamos a ponerlo a trabajar.
Aplicacin Simple Web
Ahora que hemos construido nuestra nueva pila LAMP y est en marcha y funcionando en su
Pi, es el momento de hacer un buen uso de ella. Bueno
utilizar puede ser, literalmente, cualquier cosa que desee ya que ahora tiene un servidor web de
su propia que se puede escribir aplicaciones web
en. Para muchos de ustedes, sin embargo, esto puede parecer una tarea de enormes
proporciones, ya que no est familiarizado con PHP o incluso HTML. No temis;
como Linux en general, esto parece desalentador al principio y hay complejidades, pero nada
insalvable y nada
que no se puede superar con un poco de ayuda. Siempre he encontrado que la mejor manera de
aprender es hacerlo realmente, lo que significa
podemos emprender un proyecto conjunto, que ilustrar cmo se puede utilizar la nueva pila
LAMP para crear una red
solicitud.
Con el fin de construir una aplicacin web, tenemos que entender HTML y PHP. Una ltima
cosa: esta ser una
escueto pgina web y puede parecer un poco spero. Hay tantas maneras de mejorar el aspecto
visual de su web
pgina, pero hay libros enteros dedicados a este, que cubrir una mayor cantidad de contenido y
las interacciones. Asi que
Con esto en mente, vamos a echar un vistazo a la comprensin de HTML.
HTML
Hyper Text Markup Language (HTML) es el lenguaje que hace de Internet. HTML proporciona
la base para todos
contenido de la aplicacin Web de transmisin, que se compone de una serie de etiquetas y se
envan como un documento HTML a su
navegador. Su navegador utiliza estas etiquetas para montar su versin de su pgina web. Esto
significa que el contenido web puede
ser muy pequeas y pueden ser vistos por cualquier sistema que tenga la capacidad de
decodificar las etiquetas HTML. La desventaja aqu es que
diferentes software puede mostrar sitios web con ligeras diferencias en ellos.
etiquetas HTML son palabras rodeadas por corchetes angulares. Estas etiquetas estn escritos en
lo que se llama un lenguaje de marcas.
etiquetas HTML vienen en dos variedades, por s solos o en parejas, con pares siendo el ms
comn. Aqu hay dos
conjuntos de etiquetas HTML

<Html> </ html>: Una abierta y una etiqueta HTML cerrar (estas etiquetas dicen su navegador
donde el HTML
Pgina de salida y llegada)

<Hr />: Una etiqueta hr por su propia cuenta (<hr /> dibujar una lnea a travs de su pgina
web, ya que significa
regla de cabeza)

Las barras en la parte delantera de la segunda etiqueta HTML muestran que este es el final de
esta etiqueta. La barra al final de la
etiqueta hr muestra que est destinado a ser por s mismo. Echar un vistazo a un sitio web muy
bsico:
<html>
<head>
<Title> Pi Marca - Todo List </ title>
</ Head>
<body>
<H1> Pi Todo List </ h1>
</ Body>
</ html>
www.it-ebooks.info
pgina 181
Captulo 8 Una lmpara de su propia
169
Si coloca esto en index.php en su Pi, abra su navegador debera ver una pgina blanca bsica
con el
frase Pi List Todo en gran texto negro. Adicionalmente hasta la parte superior de su navegador
debe decir lo mismo. Este sitio web
est, total generada por las etiquetas HTML que acaba de introducir. Vamos a repasar estos
como una explicacin de cmo funciona el sitio web:
En primer lugar, ver que todo el contenido se envuelve dentro de un par de etiquetas HTML,
que dicen que todos

el contenido dentro de ellos es HTML.


En el siguiente nivel se encuentran el

etiquetas de la cabeza y el cuerpo, que representan el siguiente nivel de las etiquetas, el


encabezamiento
la informacin de la pgina y el cuerpo real de la pgina.
los

etiquetas de ttulo se utilizan para ajustar la barra de ttulo en la parte superior de la pgina.
Y dentro del cuerpo es un par de

etiquetas h1 que son el gran bloque de texto. El H1 es la abreviatura de


cabecera 1 , que representa el mayor tamao de las etiquetas de cabecera. Hay una casi
ilimitada
nmero de etiquetas HX se pueden utilizar; siempre y cuando se definen, la mayora de los
navegadores de slo ir tan lejos como
h4 h5 o sin uno se definen por separado.
As que ahora hemos cubierto cinco etiquetas HTML bsicas, pero hay muchos, muchos ms.
Para una referencia de un anfitrin de la
etiquetas HTML comunes, algunos ejemplos y tutoriales grandes, la cabeza hacia
wc3schools.com o echar un vistazo a "Comienzo
HTML con CSS y XHTML ", de Craig Cook y David Schultz.
Aqu estn algunas ms etiquetas HTML y cmo se utilizan:

<P>: etiqueta de prrafo, que se utiliza para crear un texto en un bloque prrafo

<br>: etiqueta de salto, utiliza para insertar una pausa en la pgina

<Hr>: la regla horizontal, crea una lnea horizontal a travs de la pantalla


etiqueta de hipervnculo, un vnculo a otra pgina: <a>

<Img>: Etiqueta de imagen, para aadir imgenes a una pgina


etiquetas de tabla

<Table>: etiqueta de nivel superior de una mesa

<Th>: Elemento de las tablas fila con el encabezamiento

<Tr>: fila de la tabla

<Td>: la clula de una tabla en una fila


etiquetas de formulario

<Form>: elemento de nivel superior de un formulario

<Input>: Elemento de entrada de un formulario


Estas son algunas de las etiquetas HTML bsicas que utilizaremos en nuestro proyecto de
creacin de salida y la unidad de entrada a la lista de tareas pendientes.
Adems de las etiquetas primas, hay una serie de diferentes opciones que se pueden utilizar para
modificar diferentes aspectos de cmo
Se muestran estos elementos; por desgracia, se necesitaran ms que el resto de este libro para
cubrir cada elemento, por lo
tendremos que hablar de ellos que se van presentando. Ahora que usted est familiarizado con
lo que HTML puede hacer y lo que algunos de
estas etiquetas se parecen, podemos pasar a tratar de aadir un poco de PHP en la mezcla aqu.
Pero primero, vamos a echar un vistazo a realidad
el diseo de nuestra pgina.
A partir de nuestra pgina
El concepto bsico de nuestra pgina ser un sitio web en dos partes; primero ser una pgina
que contiene una lista de tareas pendientes, enlistando
todos los elementos de la base de datos. A continuacin se incluye un formulario para la
presentacin de nuevos elementos a la base de datos por la
www.it-ebooks.info
pgina 182
Captulo 8 Una lmpara de su propia
170
fondo. Tambin vamos a aadir una casilla de verificacin que permite eliminar los elementos
que ya no necesita. Ahora que tenemos
el diseo bsico, hay algunas decisiones funcionales que deben ser realizados en relacin con la
forma en la tramitacin de la pgina
debe ocurrir. Puesto que el diseo y la salida se mantendr constante con slo algunas de
proceso para conectar a la base de datos
para cargar los elementos o eliminar elementos, podemos simplemente seguir adelante y tener
una pgina, que se tratar de realizar cualquier
de las acciones que necesita (las adiciones y supresiones antes de mostrar la pgina.
Ahora podemos empezar a escribir realmente la pgina impresa. Para empezar, aadir todo el
contenido de la pgina y obtener la salida
yendo. Sin embargo, primero tenemos que haber establecido nuestra base de datos por lo que
tenemos datos para mostrar. Ya hemos creado el Pi
base de datos y que tienen la estructura de lista de la tabla de tareas de antes, as que vamos a

utilizarlos. La sentencia de creacin de esta tabla


era la siguiente:
crear todolist mesa (
idnumber INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
Descripcin VARCHAR (200),
propietario VARCHAR (40),
Fecha Fecha,
VARCHAR ubicacin (40),
importancia VARCHAR (10),
VARCHAR creador (40)
);
Ahora que tenemos un conjunto de datos para trabajar con y un diseo para nuestros datos,
podemos empezar a aadir elementos de visualizacin. Ya que
nuestros datos es tabular, podemos utilizar los elementos de la tabla para que aparezca. Esto
har que la organizacin de los datos mucho ms fcil. Por lo tanto, nos
tenemos nuestro diseo bsico de la pgina anterior; al lado debemos configurar nuestra
conexin de datos. Una conexin de MySQL PHP usa
la interfaz mysqli. As, para establecer una conexin con la base de datos hay que crear una
nueva mysqli que tiene los detalles
de nuestra base de datos y conexin:
<? php
$ Mysqli = new mysqli ( 'localhost', 'pi', 'frambuesa', 'pi');
if ($ mysqli-> connect_error) {
die ( 'Conexin de error ('. $ mysqli-> connect_errno. ')'
. $ Mysqli-> connect_error);
}
$ Mysqli-> close ();
?>
Lo anterior es un pequeo segmento de cdigo PHP, lo que hace lo siguiente:
Crea un nuevo

objeto mysqli para conectarse al sistema, que est disponible en la mquina local
utilizando el pi nombre de usuario y contrasea de frambuesa.
Comprueba que la conexin a la base de datos fue exitosa; y si no, muestra un error

mensaje.
Cierra la conexin, ya que no queremos dejar abierta una conexin potencialmente existe sin
usar.

Ahora que tenemos este bloque de cdigo para la conectividad de base de datos, agregar esto al
bloque original de cdigo en index.php:
<html>
<head>
<Title> Pi Marca - Todo List </ title>
</ Head>
<body>
www.it-ebooks.info
pgina 183
Captulo 8 Una lmpara de su propia
171
<H1> Pi Todo List </ h1>
<? php
$ Mysqli = new mysqli ( 'localhost', 'pi', 'frambuesa', 'pi');
if ($ mysqli-> connect_error) {

die ( 'Conexin de error ('. $ mysqli-> connect_errno. ')'


. $ Mysqli-> connect_error);
}
$ Mysqli-> close ();
?>
</ Body>
</ html>
Visualizar el contenido de bases de datos
Ahora tenemos esa pieza original de HTML desde antes, con la adicin de un pequeo objeto de
conexin mysqli. Esta
no har mucho menos que haya un error porque nada ms se mostrar. Ahora es el momento de
aadir otro bloque de
cdigo para mostrar la lista de tareas pendientes. Esto adoptar dos formas: el bloque de mesa y
la cabeza de la tabla. Entonces tendremos que mostrar
todo dentro de la tabla de MySQL. Viendo que significa la creacin de un bucle que mostrar el
contenido de cada fila,
y colocndola dentro del conjunto correcto de las etiquetas HTML. Vamos a empezar con el
diseo bsico tabla HTML:
<Table>
<Tr>
<Th> Descripcin </ th>
<Th> Propietario </ th>
<Th> Fecha de vencimiento </ th>
<Th> Localizacin </ th>
<Th> Importancia </ th>
<Th> Creador </ th>
</ tr>
...
</ Table>
Este cdigo establece la tabla y su primera fila, los cuales estn etiquetados como tales
conceptos cabecera de la tabla. Ahora aadir el
PHP para mostrar todo el contenido de la tabla de MySQL:
<? php
$ Resultado = $ mysqli-> query ( "SELECT * FROM todolist");
while ($ fila = $ result-> FETCH_ASSOC ()) {
print "<tr>";
. Print "<td>" $ fila [ "Descripcin"] "</ td>.";
. Print "<td>" $ fila [ "propietario"] "</ td>.";
. Print "<td>" $ fila [ "fecha"] "</ td>.";
. Print "<td>" $ fila [ "localizacin"] "</ td>.";
. Print "<td>" $ fila [ "importancia"] "</ td>.";
. Print "<td>" $ fila [ "creador"] "</ td>.";
print "</ tr>";
}
?>
www.it-ebooks.info
pgina 184
Captulo 8 Una lmpara de su propia
172
La seccin PHP realiza esta muy bien. En primer lugar, se crea una nueva variable, $ resultado,
que contiene la salida de
ejecutar una consulta en mysqli. La consulta es, por supuesto, SELECT * FROM todolist. Cada
lnea del resultado es entonces
pas una a una en el bucle while por la resultante $> FETCH_ASSOC call () y se asigna a la

variable de fila. por


cada fila que sale, que imprime el valor de la fila para cada campo que solicitamos. Se puede
ver la semejanza entre
la seccin de salida del PHP y el HTML puro. Esto es deliberado ya que queremos que la salida
del PHP para casarse hasta
con la cabecera de la tabla.
Ahora hay que aadir esto de vuelta al bloque de cdigo original, pero al hacer lo que tenemos
que hacer un cambio ms,
que es para mover el mysqli- $> close (); a la parte inferior del nuevo bloque, justo antes del
cierre de la serie de sesiones de PHP.
Este movimiento tiene que ocurrir porque de lo contrario habremos cerrado la conexin de base
de datos antes de que tengamos realidad
tirado los datos de la base de datos.
...
<body>
<H1> Pi Todo List </ h1>
<? php
$ Mysqli = new mysqli ( 'localhost', 'pi', 'frambuesa', 'pi');
if ($ mysqli-> connect_error) {
die ( 'Conexin de error ('. $ mysqli-> connect_errno. ')'
. $ Mysqli-> connect_error);
}
?>
<Table>
<Tr>
<Th> Descripcin </ th>
<Th> Propietario </ th>
<Th> Fecha de vencimiento </ th>
<Th> Localizacin </ th>
<Th> Importancia </ th>
<Th> Creador </ th>
</ tr>
<? php
$ Resultado = $ mysqli-> query ( "SELECT * FROM todolist");
while ($ fila = $ result-> FETCH_ASSOC ()) {
print "<tr>";
. Print "<td>" $ fila [ "Descripcin"] "</ td>.";
. Print "<td>" $ fila [ "propietario"] "</ td>.";
. Print "<td>" $ fila [ "fecha"] "</ td>.";
. Print "<td>" $ fila [ "localizacin"] "</ td>.";
. Print "<td>" $ fila [ "importancia"] "</ td>.";
. Print "<td>" $ fila [ "creador"] "</ td>.";
print "</ tr>";
}
$ Mysqli-> close ();
?>
</ Table>
</ Body>
</ html>
www.it-ebooks.info
pgina 185
Captulo 8 Una lmpara de su propia
173
Sitio web insercin de datos

Este cdigo HTML est ahora trabajando en concierto con el PHP para generar una pgina llena
de contenido. El HTML esttica proporciona una
marco y luego tenemos dos piezas de PHP: una sola pieza para establecer una conexin y un
segundo para tirar de los resultados
fuera de la tabla de la lista de tareas pendientes y aadirlos a la pgina. Ahora que tenemos el
trabajo de visualizacin bsica, tenemos que aadir una
formar a entregarnos un formulario para enviar contenido nuevo. Esta forma bsica debe tener
un flujo de entrada para cada una de las
los elementos que van a insertar en la tabla. Tambin necesitaremos un elemento ms, uno
oculto especial que contar nuestra
procesador de qu tipo de cosas que tiene que ver con los datos. En este caso, me gusta usar una
variable llamada "accin" y asignar
segn sea necesario. El elemento final vamos a necesitar es una presentacin uno, lo que nos
permite empujar los datos al servidor para que sea
procesada. Adems de todos estos elementos, hay que darle la forma de una variable de accin y
mtodo, que dice cmo
que se puede recurrir CGI en nuestro servidor web y qu mtodo se debe utilizar. Este bloque
cuando se pone en conjunto se ve as:
...
</ Table>
<Form action = mtodo de "index.php" = "POST">
<Input type = "hidden" name = "accin" value = "insert" />
Descripcin: <input name = "description" /> <br/>
Pertenece a: <input name = "propietario" /> <br/>
Fecha: <input name = "fecha" /> <br/>
Localizacin: <input name = "localizacin" /> <br/>
Importancia: <input name = "importancia" /> <br/>
Creador: <input name = "creador" /> <br/>
<Input type = "submit" />
</ Form>
</ Body>
</ html>
Este bloque de cdigo se puede aadir por debajo de la mesa e incluso separada con una
etiqueta <hr />, lo que significa que usted
tendr una tabla de contenido de la pantalla y una seccin debajo de l que le dar la posibilidad
de aadir nuevos contenidos. cuando se ponen
juntos e instalado en el servidor web, el contenido que se genera se parecer a la Figura 8-4 .
Figura 8-4. Aplicacin Lista de tareas con la insercin de la mesa
www.it-ebooks.info
pgina 186
Captulo 8 Una lmpara de su propia
174
Si pulsa el botn de enviar, se terminan de vuelta en la pgina, pero se puede ver que la pgina
es
hace referencia en la URL. Este es el bloque de accin de enviar el comando CGI para
funcionar en esta pgina. As que ahora vamos a necesitar
aadir un poco de procesamiento de CGI en nuestro PHP con el fin de procesar estos datos.
Recordamos que hemos creado un mtodo de post anterior, que es uno de los dos mtodos que
podemos utilizar para pasar los datos de
nuestra pgina en el sistema CGI para ser procesada. El otro mtodo es GET, y la diferencia
entre los dos es
limitado ya que ambos pasan datos bsicamente de la misma manera. Para todos los efectos
prcticos, la nica diferencia es que GET
mostrar los datos de contenido en la direccin de la tela, mientras que POST mantenerlo

oculto. Esto se puede comprobar a cabo para


a s mismo cambiando el POST a GET y luego pulsando el botn de envo. Su URL ser similar
http://10.0.0.20/index.php?action=insert&description=&owner=&date=&location=&importance
=&creator =.
En realidad, hay una gran cantidad de datos transmitidos que necesitarn ser procesados.
Afortunadamente, PHP
tiene mtodos para hacer esto mucho ms fcil; que tiene variables especiales que se rellenan
automticamente con los datos
de las solicitudes CGI. Hay tres variables especiales que puede acceder (como lo hicimos con
las variables Assoc SQL):
_POST, _GET, Y _REQUEST.
Para procesar nuestra CGI, que tenemos que hacer bastantes cosas. En primer lugar, comprobar
si la variable medida se establece y contiene los datos;
que lo har cuando presionamos el botn de enviar como hemos establecido que para insertar (y
ms tarde tener una accin de quitar). Una vez que nosotros
han asegurado que se establece la accin, podemos comprobar lo que se establece en. Una vez
que sabemos que las acciones que estamos realizando, podemos
simplemente separarse del resto de la salida y luego realizar las acciones requeridas en la base
de datos. Por ltimo, si lo hacemos
esto antes de la carga principal de la pgina, que en realidad va a tener la ltima versin de los
datos que se muestran de forma automtica!
Nuestra CGI debe empezar a buscar la siguiente manera:
if (isset ($ _ [ "accin"]) SOLICITUD) {
cambiar ($ _ REQUEST [ "accin"]) {
caso "insertar":
$ Sql = "INSERT INTO todolist (descripcin, propietario, fecha, ubicacin, importancia,
creador)
VALORES (";
$ = $ SQL SQL " '" $ _ REQUEST [ "Descripcin"]. ".'".;
$ = $ SQL SQL " '" $ _ REQUEST [ "propietario"]. ".'".;
$ = $ SQL SQL " '" $ _ REQUEST [ "fecha"]. ".'".;
$ = $ SQL SQL " '" $ _ REQUEST [ "localizacin"]. ".'".;
$ = $ SQL SQL " '" $ _ REQUEST [ "importancia"]. ".'".;
$ = $ SQL SQL " '" $ _ REQUEST [ "creador"].. "'".;
$ = $ SQL SQL ");".;
if ($ mysqli-> query ($ SQL) === FALSO) {
printf ( "Error - No se puede insertar datos en la tabla" $ mysqli-> error.);
}
descanso;
caso "eliminar":
imprimir "Borrar la funcin an no se ha aadido!";
descanso;
}
}
www.it-ebooks.info
pgina 187
Captulo 8 Una lmpara de su propia
175
Lo primero es ver si la variable accin especificada en el campo oculto dentro del formulario se
establece. Si esto es,
podemos estar seguros de que de forma fiable una accin necesita ser realizado. A continuacin,
si se establece una accin, vamos a un conmutador (o caso)
declaracin de averiguar qu funcin estamos llevando a cabo. He aadido un caso tanto para
insertar y eliminar, pero la elimino

funcin es simplemente la impresin de que lo aadiremos ms tarde. Adems, cmo podemos


acceder a l sin un mtodo para enviar y
un campo de accin en una forma?
Insercin de la Base de Datos
En el caso de insercin, simplemente hay que crear y la acumulacin del comando SQL. El
comando que estamos tratando de construir es
exactamente como los insertos de SQL anteriores. En primer lugar, present el contenido
esttico: el marco de la instruccin INSERT, la tabla
nombre, y qu campos Vamos a escribir en. Entonces he empezado a agregar la variable por
variable para esa declaracin.
Se puede ver que las adiciones tienen un montn de cosas divertidas que les rodea, ya que cada
una de estas variables tendr que haber
rodeado por comillas simples y tienen una coma en el extremo. Cada uno de estos pequeos
fragmentos de texto es necesario que haya
tratada como tal, lo que significa envolvindolos en un par de comillas dobles, as:
$ = $ SQL SQL " '" $ _ REQUEST [ "Descripcin"]. ".'".;
Esto asigna la variable de SQL el valor del valor actual de SQL (SQL dada por $ = $ SQL ) y
luego se agrega a l (marcado
por el perodo) una comilla simple (dado por " '") y el valor de la solicitud de descripcin de la
variable, a continuacin, una comilla simple, y
a continuacin, una coma. S que parece mucho trabajo, pero hemos sido capaces de sacar de
cada una de las variables que necesitamos y que tienen
toda la instruccin SQL en una pequea variable.
Precaucin

Tambin es importante sealar en este punto que las variables secure.those anterior no debe ser
considerada bastante posible
literalmente, puede ser cualquier cosa y hay funciones especiales que se pueden utilizar para
llevar a cabo un poco de cordura la comprobacin de los values.The
funcin recomendada para realizar una buena seleccin de estas comprobaciones de validez es
la
mysqli_real_escape_string
.
Una vez que hemos creado la variable de SQL, es necesario insertarlo simplemente invocar la
funcin de consulta mysqli nuevo.
En este ejemplo, Tambin he aadido una comprobacin para ver que la ejecucin de la
consulta fall. Y eso es; este bloque de cdigo
procesar la insercin CGI en nuestra base de datos de nuestra PHP. Todo lo que queda es
insertar el bloque correctamente en el
lugar correcto en nuestro cdigo. He elegido a adjuntar la presente al primer bloque de PHP
hemos aadido en lugar de darle su propio.
Esto significa que el flujo de la pgina se convierte primero en sealar a la cabecera de la
pgina, a continuacin, para crear la conexin de base de datos
y llevar a cabo cualquier accin CGI, a continuacin, para mostrar el contenido real de nuestra
lista de tareas y, a continuacin, para mostrar la forma final.
Una vez que el cdigo est en, puede probar que funciona mediante la colocacin de valores en
el formulario y pulsar el botn Enviar. Esto debe ir
adelante y aadir una fila adicional que se mostrar en la tabla, como se muestra en la Figura 85.
www.it-ebooks.info
pgina 188
Captulo 8 Una lmpara de su propia
176
Eliminar entradas

Ahora que la funcionalidad complemento est trabajando, tenemos que crear una funcionalidad
de eliminacin. Al igual que con todas las cosas en la vida, hay
un nmero de maneras de acercarse a ella puede. Lo ms fcil es simplemente agregar un
formulario y la opcin de borrar para cada fila individual,
lo que significa que si se quiere eliminar, es necesario emitir una a la vez. La segunda opcin es
tener una serie de
casillas de verificacin que se eliminarn todos los elementos pasaban. Soy un fan de la segunda
opcin, ya que da mucha ms flexibilidad con
las eliminaciones.
Tenemos que hacer dos cambios para que este proceso funcione. El primer cambio es agregar
una forma alrededor de la mesa que
ser la forma de borrar, un campo oculto con la accin de borrar, un botn de envo a
continuacin el formulario y las casillas de verificacin de
cada elemento. Para aadir las casillas de verificacin, sino que tambin tendr que aadir un
elemento vaco al inicio de la fila de encabezado de la tabla.
Figura 8-6 es lo que su pgina debe ser similar a las casillas de verificacin aadidos y botn de
envo.
Figura 8-5. Todo el trabajo y nada de juego ...
www.it-ebooks.info
pgina 189
Captulo 8 Una lmpara de su propia
177
La seccin de cdigo para la generacin de contenido del formulario se mostrar lo siguiente.
Se puede ver que hay otra forma
envolver la tabla que tiene el mismo mtodo y la accin. El siguiente es el nuevo valor de
entrada oculto que sita la accin
eliminar, lo que nos permite acceder a la seccin correcta en nuestra declaracin de caso.
Probablemente el cambio ms importante es
la adicin de la pareja td vaca y la entrada adicional casilla de verificacin tipo de. Esta casilla
de verificacin es probablemente el ms
complejo conjunto de elementos que hemos agregado que contiene el tipo de casilla de
verificacin, el valor que est especialmente configurado para ser
accesible como una matriz que se realiza mediante la adicin de los corchetes antes y despus.
El elemento final es el valor, el cual
Me he puesto para el valor de la casilla de verificacin. Esto significa que cuando entramos en
modo CGI, tomaremos el valor de la matriz de
casillas de verificacin y contendr una lista de los valores IDNumber para los elementos que
desea eliminar.
Aqu es un breve resumen de todos los cambios que hemos hecho a la forma de aadir las
casillas de verificacin:
...
<H1> Pi Todo List </ h1>
<Form action = mtodo de "index.php" = "POST">
<Input type = "hidden" name = "accin" value = "eliminar" />
<Table>
<Tr>
<Td> </ td>
...
</ tr>
<? Php
$ Resultado = $ mysqli-> query ( "SELECT * FROM todolist");
while ($ fila = $ result-> FETCH_ASSOC ()) {
print "<tr>";
print "<td> <input type =" checkbox "name = 'casillas de verificacin []' value = '" $ fila [

"idnumber"]. "." /> </ td> ";


. Print "<td>" $ fila [ "Descripcin"] "</ td>.";
. Print "<td>" $ fila [ "propietario"] "</ td>.";
. Print "<td>" $ fila [ "fecha"] "</ td>.";
. Print "<td>" $ fila [ "localizacin"] "</ td>.";
Figura 8-6. Ahora, con casillas de verificacin adicionales
www.it-ebooks.info
pgina 190
Captulo 8 Una lmpara de su propia
178
. Print "<td>" $ fila [ "importancia"] "</ td>.";
. Print "<td>" $ fila [ "creador"] "</ td>.";
print "</ tr>";
}
$ Mysqli-> close ();
?>
</ Table>
<Input type = "submit" />
</ Form>
...
Eliminar los datos de DB
Tenemos un cambio final para hacer, que es la adicin al tratamiento de eliminacin de la
sentencia case. Podemos utilizar una
una lgica similar a la instruccin de insercin, mediante el cual se crea una variable de SQL y,
a continuacin aadimos el iterativa Quitar para la
idnumbers uno tras otro. En este caso, tendremos que tener un bucle que se ejecutar a travs de
cada elemento de la
_REQUEST [ 'Casillas'] variable que podemos obtener de la funcin de conteo que se ejecuta en
la variable. Esto nos da una
completo para bucle como sigue:
for ($ i = 0; i <$ count ($ _ REQUEST [ 'casillas']); $ i ++) {
Una vez que estamos dentro del bucle, simplemente tenemos que sacar el $ i-simo elemento de
la _REQUEST [ 'casillas'] array
cada vez que en el bucle. Adems, tendremos que aadir una o hasta el final de cada uno de
ellos de modo que vamos a eliminar cada uno de
los elementos de idnumber; usamos o porque queremos que se elimine la variable si el
idnumber es el primer nmero,
segundo nmero, o el tercero, y as sucesivamente.
Sin embargo, vamos a tener un problema con el o: lo aadiremos a la final del ltimo elemento
que no queremos. Nosotros
tendr que utilizar la funcin de rtrim recorte el o desde el extremo. La funcin rtrim ser
recortar un valor dado de
la parte derecha de una cadena, lo que nos dar el SQL que queremos. Por ltimo, se realiza la
misma accin consulta como en el inserto
y volver a comprobar para ver si hay un error. Esto nos dar un bloque de cdigo como el
siguiente:
$ Sql = "BORRADO DE DONDE todolist";
for ($ i = 0; i <$ count ($ _ REQUEST [ 'casillas']); $ i ++) {
$ = $ SQL SQL. "Idnumber =". $ _REQUEST [ 'casillas'] [$ i]. "O";
}
$ Sql = rtrim ($ SQL, "o");
if ($ mysqli-> query ($ SQL) == false) {
printf ( ". Error No se puede eliminar el valor" $ mysqli-> error);
}

Figura 8-7 es el resultado final. He utilizado la eliminacin para quitar la entrada original por lo
que estamos justo a la izquierda con el uno.
Recuerde que todos los ejemplos de este libro estn disponibles en lnea a travs de la pgina
web Apress. Si no est seguro acerca de cmo
todo este cdigo se ensambla, descargue una copia y echar un vistazo!
www.it-ebooks.info
pgina 191
Captulo 8 Una lmpara de su propia
179
Solucin de problemas
Ahora vamos a repasar algunas formas de solucionar algunos problemas. En primer lugar, trate
de hacer cada cambio de cdigo en secuencia y luego
recargar la pgina. Puede utilizar el comando ver cdigo fuente para ver el cdigo HTML
completo que se est generando por el PHP y
ver si los valores se muestran correctamente. Si no puede llegar tan lejos, tener una mirada en el
registro de errores, (el de
de vuelta al comienzo, cuando hemos configurado Apache). Este archivo incluir una lista de
todos los errores de PHP que se producen. Echar un vistazo a
asegurarse de que sus comillas son abiertas y cerradas correctamente y no han dejado ninguna
colgando. Compruebe que
tener un punto y coma en el extremo de cada uno de sus estados de cuenta (siempre me olvido
de ste). Compruebe que sus parntesis, cuadrado
soportes, y los soportes de crculo se abren y cierran correctamente sin que se solapen.
Gran parte de la materia en PHP y desarrollo de pginas web es prueba y error. Debe comprobar
que cada sentencia o bloque
de cdigo que se agrega funciones y genera como se espera. Puede utilizar una instruccin de
impresin para las variables de salida como
que se generan para ver qu es exactamente lo que est haciendo, lo cual es una gran manera de
diagnosticar cualquier problema con su SQL
declaraciones. Por ltimo, recuerde que usted tiene acceso a todo el sistema, seguir adelante y
prueba de la insercin de los valores en su
SQL y eliminarlos segn sea necesario; utilizar el sistema para trabajar en lo que est haciendo
y lo que causa los problemas.
Donde desde aqu?
Hemos hecho todo este desarrollo y tenemos un funcional lista de tareas que se pueden utilizar
para visualizar, aadir y eliminar
los ajustes efectuados. Hemos utilizado una variedad de diferentes herramientas de
programacin para hacer las cosas, pero hay un montn de cosas que podemos hacer
de aqu. Estos son algunos de los cambios que usted podra hacer a su lista de tareas pendientes:
Aadir

isset (); cheques a cada uno de los valores de insercin para comprobar que en realidad se est
insertando
valores, no slo los espacios en blanco.
Envolver cada uno de los valores insertados con la

mysqli_real_escape_string funcin. Esta voluntad


aumentar la seguridad de la lista de cosas por hacer, ya que impide que las personas que
escriben valores "desagradables" en
la aplicacin que va a ejecutar consultas SQL separadas.
Figura 8-7. Bajando la carga de trabajo
www.it-ebooks.info
pgina 192

Captulo 8 Una lmpara de su propia


180
Cambiar el

opcin del valor de cada uno de los elementos de presentar, para que digan lo que estamos
utilizando
ellos por: insercin o eliminacin.
Crear una tabla alrededor de los elementos de formulario para insertar y dar a cada una de las
etiquetas e inserte

campos de su propia fila y propia celda. Envolvindolos en una tabla hace que la pantalla
mucho ms
uniforme.
Empezar a buscar en CSS, ya que puede hacer una gran diferencia en la apariencia de su lista de
tareas pendientes.

Twitters "arranque" es un buen punto de partida.


Resumen
As que hemos recorrido un largo camino desde que empezamos. Hemos hecho mucho. Hemos
instalado y configurado Apache, MySQL,
y PHP. Usted ha aprendido cmo crear sentencias SQL simples para crear y eliminar bases de
datos y tablas y luego
aprendido cmo insertar y eliminar datos de estas tablas. Por ltimo, usted ha aprendido cmo
se visualiza el contenido de la web de
un servidor web Apache. A continuacin, se combinaron todos y fuimos a travs de algn PHP
y HTML para generar toda una aplicacin
que proporciona acceso a una tabla de base de datos de la lista de tareas pendientes.
Esta ha sido una tarea monumental porque no slo hemos ido e instalado tres diferentes
aplicaciones y crearon una pila de aplicaciones interconectadas sino que tambin han ido ms de
tres idiomas para crear una
aplicacin en la parte superior de la pila de aplicacin.
Enhorabuena-trabajo bien hecho!
www.it-ebooks.info
pgina 193
181
Captulo 9
Wipi: Wireless Computing
Una de las mayores ventajas de la Frambuesa Pi es que es pequeo y puede caber en casi
cualquier pequeo rincn o grieta
usted se preocupa de pensar. Esto es por lo que se promociona constantemente como una gran
opcin para las personas a utilizar en el diseo, lo que puede
ser colocado en cualquier lugar y, con los perifricos adecuados, se puede hacer casi cualquier
tarea. Adems, su baja potencia
consumo significa que hay menos de una barrera para su uso en estas situaciones, ya que no
necesita una gran cantidad
de fontanera elctrica a "slo trabajo". Lo cual quiere decir que Frambuesa Pi es una mquina
muy pequea que proporciona una
explosin monumental de su inversin!
Sin embargo, esto no deja de tener algunas condiciones (ver Figura 9-1 )! Toda esa potencia no
sirve para nada sin una pequea
suministro de electricidad externa. Mientras que 5 voltios no es mucho, lo necesita para entrar
de alguna manera mgica su Frambuesa Pi a
enciende las luces. Adems de requerir energa, el Pi es casi intil por s solo ya que hay poco
que puede hacer con

Pi en 5 voltios sola ms all de hacer el LED de encendido enciende y se apaga. Es necesario


adjuntar dispositivos para hacer que el Pi til.
Para utilizar el Pi como un ordenador casero simple que necesita lo siguiente (como mnimo):
HDMI o cable compuesto para vdeo

cable Ethernet para acceso a Internet y de la red

Un teclado para introducir datos con

Una tarjeta SD para proporcionar almacenamiento

Figura 9-1. Constreido Pi


www.it-ebooks.info
pgina 194
Captulo 9 Wipi: Computacin inalmbrica
182
De repente, ves lo que quiero llegar; la Raspberry Pi, el pequeo super mquina sin ataduras es
en realidad bastante
atado. Atado con las necesidades de capacidad de uso humano y la interactividad, estas
limitaciones significan la ejecucin de un
gran nmero de cables a su Pi slo para obtener algo de la funcionalidad bsica de ella. Como es
fcil adivinar, todo
no se pierde! Hay un nmero de maneras en que puede separarse de su Pi y hacer que sea
mucho ms mvil y se da mucha
una mayor flexibilidad en lo que puede hacer con l. Ese es el propsito de este captulo: para
ofrecerle las herramientas y algunos
fondo para eliminar los cables que limitan su Frambuesa Pi.
Preparacin para Wipi
Adems de tener su tarjeta SD cargada con una copia de Raspbian, tendr que asegurarse de que
su versin de
Raspbian se ha mejorado debido a la revisin de septiembre incluye mejoras significativas en la
forma de acceso Wi-Fi est
administrado. Para llegar hasta este sistema, primero tiene que ejecutar algunos comandos
rpidos:
$ Sudo apt-get update
$ Sudo apt-get upgrade
Estos dos comandos primera instancia a su apt-get para actualizar saber qu versiones del
software estn
a su disposicin para su uso. El segundo le dir apt-get para comparar y luego instalar cada
versin actualizada de todos
Actualmente el software instalado en el sistema. Como se puede imaginar, la ejecucin de estos
comandos de forma regular es una muy
buena idea, ya que le permite mantener su sistema funcionando la versin ms reciente del
software.
La eliminacin de restricciones sencilla
Antes de empezar cortando los cables se quiera o no, es necesario comprender lo que quiere
lograr con su pi. Esta
colocar automticamente una serie de limitaciones en lo que quiere hacer con l. No puedo
presuponer lo que quiere
que ver con su pi porque hay realmente muchas opciones. As que dado esto, lo voy a intentar y
facilitados en el presente
formas individuales que se puede cortar el cable (no literalmente) y el forzado su Pi. Usted
tambin puede ser capaz de hacer uso de
su recin descubierta por cable de corte habilidades con algunos de los contenidos en los

captulos posteriores para mejorar los diseos o para hacer


ellos mejor se adaptan a su fin.
Extraccin de dispositivos de entrada Humanos
Comenzar con el colgante ms fcil y ms bajo de frutas: el monitor, el teclado y los cables de
audio. S que suena divertido
decir que cortar tres perifricos a la vez es ms fcil, pero que realmente estn cortando algo
muy diferente de
la ecuacin: usted. Por el momento, el conjunto de conexiones ms fcil de cortar es el de los
dispositivos de interaccin humana. Gran parte de este
libro est, de hecho, dirigido a que le da las habilidades para trabajar con su pi sin la ayuda de
un monitor, un teclado, o
altavoces. Esto no quiere decir que no puede ir sin jams; siempre se puede enchufar de nuevo
en que sea necesario para diagnosticar cualquier
Realmente temas crticos, pero se puede empezar por la eliminacin de ellos y la gestin de su
Pi forma remota. El uso de SSH es clave aqu
porque se puede usar SSH para conectarse de forma remota a su Pi travs de su conexin a la
red. Una vez que se haya conectado
su Pi, tiene acceso de lnea de comandos completa para llevar a cabo cualquier tarea que
necesita. Tambin existe la ventaja aadida de que
se puede ir y cambiar la distribucin de la memoria dentro de su Pi usando sudo Raspi-config y
establecer el memory_split
valor a 240/16, que pone la mayor parte de la memoria en la memoria RAM libre para su
sistema de usar y tan poco como sea posible en el
Su pantalla grfica, que normalmente no se est utilizando.
Antes de asumir que esto significa que no hay uso de monitor y el teclado siempre, parar. Todas
las cosas que quiere hacer con
su pi debe ser probado y configurado en un entorno de trabajo con el teclado, monitor, ratn, y
as sucesivamente, todos
disponible para su uso. Una vez que tenga su sistema a un estado en el que funciona sin su
interferencia, puede encender
y apagar sin necesidad de saltar de nuevo en y gestionar cada vez que usted sabe que debe ser
capaz de eliminar todos los recursos humanos
dispositivos de interfaz. Este es un gran comienzo para cualquier persona: ser capaz de eliminar
todos los cables y la interfaz con el sistema
remota. Esto tambin significa que se puede hacer otras cosas, como manejar su Frambuesa Pi a
travs del telfono o desde una
www.it-ebooks.info
pgina 195
Captulo 9 Wipi: Computacin inalmbrica
183
sistema en el trabajo a travs de Internet. Una vez que se tiene la sensacin de saltar a travs de
Internet para administrar el equipo,
Te garantizo que preguntarse cmo lo hizo sin que antes.
Adicin de una interfaz grfica de usuario remoto
Muy bien, mientras yo dispuesto a admitir que hay algunos verdaderos beneficios de trabajar
dentro de una consola remota de slo
medio ambiente, hay algunas personas que simplemente no puede conseguir su cabeza alrededor
de ella. Y hay una serie de casos en los
no es prctico por cualquier razn. En estas situaciones, lo mejor es utilizar una herramienta
llamada Virtual Network Computing
(VNC) para darle la capacidad de interactuar con el escritorio del Pi desde otra mquina.
Para ello, tendr que instalar un servidor VNC en su Pi y se necesita un cliente en su mquina.
Ah
son numerosas soluciones diferentes VNC por ah, y siempre y cuando obedezcan el protocolo

VNC, que debe ser todo


compatible. Para su Pi, que va a utilizar tightvnc porque pretende ser eficiente y "rgidas".
Puede descargar el
clientes para los sistemas Windows y Linux en www.tightvnc.com . Pero antes de ir saltando a
clientes, empezar por
la instalacin del servidor de la Pi. Ejecute el siguiente comando:
$ Sudo apt-get install tightvncserver
Este comando instalar tightvnc con la herramienta de gestin de paquetes; El resultado debe
ser similar a
el seguimiento:
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
xfonts-base xfonts codificaciones xfonts-utils-utils x11-xserver
Paquetes sugeridos:
tightvnc java-nquel Cairo-5c xorg-docs-core
Se instalarn los siguientes paquetes NUEVOS:
tightvncserver x11-xserver-utils xfonts-base xfonts codificaciones xfonts-utils
0 actualizados, 5 se instalarn, 0 para eliminar y 91 no actualizados.
Necesidad de conseguir 7.824 kB de archivos.
Despus de esta operacin, se utilizarn 11,7 MB de espacio de disco adicional.
Desea continuar [S / n]?
Una vez que tenga instalado Tight VNC Server, es necesario alimentar el equipo y ponerlo en
marcha corriendo para que pueda conectarse. Entonces ve
adelante y ejecutar este comando:
$ tightvncserver
A continuacin se le pedir un par de contraseas: una es la contrasea de VNC real que le
permite utilizar el
ratn y teclado para manipular la pantalla; la segunda es la opcin "Slo vista" contrasea que
le permite
ver lo que est en la pantalla, pero no interacta. Esto es lo que debe esperar para ver despus de
ejecutar:
Va a requerir una contrasea para acceder a sus escritorios.
Contrasea:
Advertencia: contrasea truncado a la longitud de 8.
Verificar:
Le gustara que introduzca una contrasea de slo lectura (s / n)? norte
Nuevo escritorio 'X' es Raspberry Pi: 1
Creacin predeterminado /home/pi/.vnc/xstartup script de inicio
El inicio de aplicaciones se especifica en /home/pi/.vnc/xstartup
El archivo de registro es /home/pi/.vnc/raspberrypi:1.log
www.it-ebooks.info
pgina 196
Captulo 9 Wipi: Computacin inalmbrica
184
Ahora todo lo que tiene que hacer es seguir adelante y conectar con el cliente tightvnc en la
mquina que desea explorar
de. Vaya por delante y el fuego de cliente. Estoy trabajando en un entorno Windows, y usted
debera ver una pantalla como
En la Figura 9-2 .
En la Figura 9-2 , Se puede ver que he entrado en la direccin IP y de mi Raspberry Pi: 1.
Normalmente un solo dos puntos despus de
una direccin IP designa un nmero de puerto, pero en este caso designa un nmero de pantalla.

Si vas hacia atrs sobre la salida


desde el inicio de VNC apretado, se puede ver que se dice que cre un nuevo ordenador de
sobremesa de la Raspberry Pi: 1, que es lo que tengo
conectado a. Ahora pulse la tecla CONNECT y la pluma, no es la rosa frambuesa preciosa que
aparece en la pantalla y que son
capaz de moverse en el entorno de Frambuesa Pi.
Si se va a reiniciar, sin embargo, que sera sin un servidor VNC de nuevo, y funcionando
tightvncserver preguntars
que las credenciales de nuevo. Esta no es la mejor manera de hacer esto, as que en vez que se
ejecute el siguiente comando si
desee reiniciar el servidor:
$ Vncserver: 1 -geometry 1920x1080 -depth 24
Este comando le dice a ejecutar un servidor VNC en la pantalla: 1 con las dimensiones de 1920
x 1080, que es el mximo
resolucin de su Pi (1080p de alta definicin) y establecer la profundidad de color de 24 bits.
Puede disminuir estos valores si es necesario
ser para adaptarse a las dimensiones de la pantalla del cliente o para reducir la cantidad de
recursos utilizados por el Pi en la organizacin de un VNC
conexin. Adems de esto, es posible que desee ejecutar el servidor VNC en el arranque por lo
que no es necesario SSH para establecer una
conexin de vdeo. Despus de todo, eso es redundante! La forma ms sencilla es aadir el
comando al servidor VNC
/etc/rc.local como todo en este fichero es ejecutado durante el proceso de arranque.
De manera predeterminada, el archivo rc.local se ver as:
#! / Bin / sh -e
#
# rc.local
#
# Este script se ejecuta al final de cada nivel de ejecucin multiusuario.
Figura 9-2. Cliente TightVNC
www.it-ebooks.info
pgina 197
Captulo 9 Wipi: Computacin inalmbrica
185
# Asegrese de que el guin te "exit 0" en caso de xito o de cualquier otra
# Valor en caso de error.
#
# Para activar o desactivar esta secuencia de comandos slo cambia la ejecucin
bits de #.
#
# Por defecto este script no hace nada.
# Imprime la direccin IP
_IP = $ (-I Nombre de host) || cierto
if [ "$ _IP"]; entonces
printf "Mi direccin IP es% s \ n" "$ _IP"
fi
exit 0
A continuacin, puede aadir la siguiente lnea al iniciar tightvnc justo antes de la salida 0:
vncserver: 1 -geometry 1920x1080 -depth 24
Si quieres un proceso de arranque adecuado, se puede usar algo como la siguiente secuencia de
comandos que el archivo
/etc/init.d/tightvnc:
### COMENZAR INIT INFO
# Proporciona: tightvnc

# Required-Start: $ remote_fs $ syslog


# Requerido-Stop: $ remote_fs $ syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Descripcin corta: Inicio Tight VNC servidor en el arranque
# Descripcin: Iniciar apretado servidor VNC en el arranque.
### END INIT INFO
#! / Bin / sh
# /etc/init.d/tightvnc
USUARIO = pi
HOME = / home / pi
De inicio de usuario de exportacin
case "$ 1" en
comienzo)
echo "A partir Tight VNC Server"
/ Usr / bin / vncserver: 1 -geometry 1920x1080 -depth 24
;;
detener)
echo "Detener servidor VNC apretado"
/ Usr / bin / vncserver -kill: 1
;;
www.it-ebooks.info
pgina 198
Captulo 9 Wipi: Computacin inalmbrica
186
*)
echo "Uso: /etc/init.d/tightvnc {start | stop}"
la salida 1
;;
esac
exit 0
Una vez creado este archivo, necesita ejecutar el siguiente comando para permitir que el script
se ejecutar:
$ Sudo chmod + x /etc/init.d/tightvnc
A continuacin, puede iniciar y detener el script con /etc/init.d/tightvnc . Tenga en cuenta que la
primera vez que se ejecuta este script
usted tendr que introducir una contrasea VNC nuevo como este script se ejecuta como root,
en lugar de que el usuario Pi . Por ltimo, se puede
establecer la secuencia de comandos para arrancar automticamente con esto:
$ Sudo update-rc.d defecto tightvnc:
update-rc.d: el uso de la secuenciacin de arranque basado en la dependencia
Ahora que ha instalado y configurado VNC en su Pi y ha sido capaz de eliminar la dependencia
de los humanos
dispositivos de entrada para trabajar con el pi, que pueden pasar a la siguiente zona.
Es cierto Wipi con WiFi
A partir de su trabajo anterior con VNC y SSH, se han dado cuenta de que en la eliminacin de
los dispositivos de entrada humanos, que
han aumentado la dependencia de la conexin de red. Esta dependencia se presenta en forma de
la gestin
porque no se puede interactuar directamente a travs del teclado y el monitor ms; es necesario
tener otro mtodo de acceso: la
conexin de red Ethernet. Por supuesto, esto sigue siendo un alambre, por lo que puede as
mantener los dispositivos de entrada, verdad? Hay un
solucin muy obvia aqu-Fi, pero para disgusto de muchos, la Frambuesa Pi no viene con Wi-Fi

en el
propia placa. Tendr que salir y comprar un adaptador inalmbrico para su PI Si desea usar uno.
Est bien, bastante simple, que usted dice, y fuera de que el pop a la tienda de hardware del
equipo local para recoger una red inalmbrica
adaptador. Miras a tu alrededor y urgh. Hay tantos adaptadores inalmbricos disponibles!
Entonces, cul de las docenas disponibles
es mejor para el pi? Todos ellos incluso trabajar con el pi? Mientras que la mayora de la gente
intuitivamente ir a recoger el
ms barato que se ajuste en su configuracin con WiFi en casa, esto no es lo correcto a hacer
aqu, ya que hay otros
factores en juego.
En primer lugar, todos los dispositivos USB requieren energa, y, como usted bien sabe, la
Frambuesa Pi se ejecuta en 5 voltios de potencia. Esta
significa que usted tendr que obtener un dispositivo inalmbrico que funcione con una menor
cantidad de energa (si pasa demasiado dibujar en
el USB del Pi se puede estrellarlo), o tendr que invertir en un dispositivo USB con
alimentacin que se conecta a una fuente de alimentacin externa
fuente (no es bueno para sus propsitos, pero voy a cubrir esta tarde, porque hay otros usos para
ellos). As que hay que tener
consciente de la energa; tambin hay que tener en cuenta la compatibilidad como algunos del
extranjero adaptadores inalmbricos no pueden tener
apoyo dentro de los sistemas Linux. He incluido algunos datos de la comunidad de Frambuesa
Pi sobre sus experiencias con
varios adaptadores inalmbricos para complementar la ma.
Como se puede ver en la Figura 9-3 , he optado por usar un adaptador inalmbrico D-Link
DWA-131 comprado a mi local de tecnologa
almacenar. El resto de este ejemplo va a cubrir algunos de los elementos bsicos de su Pi para
comunicarse con su local inalmbrica
red utilizando el DWA-131.
www.it-ebooks.info
pgina 199
Captulo 9 Wipi: Computacin inalmbrica
187
Nota

Su pi puede reiniciarse cuando se conecta el adaptador inalmbrico, as que guarda cualquier


trabajo de antemano.
Esto no quiere decir que usted necesita para utilizar este adaptador en particular solo; la
configuracin de la mayora de los adaptadores inalmbricos para trabajar con
su pi debe ser el mismo proceso una vez que han logrado conseguir que se registra
correctamente. As que sin ms prembulos, iniciar
y conecte el adaptador inalmbrico y ponerse a trabajar. El estado actual de la junta se muestra
en la Figura 9-4 .
Como se puede ver, he todava consigui mi cable Ethernet conectado por ahora. Yo te mostrar
cmo configurar inalmbrica
su Pi tanto desde la lnea de comandos y la interfaz grfica de usuario. Antes de saltar
directamente a la configuracin, lo que necesita saber
exactamente lo que est trabajando, por lo que saltar a la cscara y ejecuta el comando lsusb,
que es igual que el LS
mando, pero para los dispositivos USB.
$ lsusb
Dispositivo de autobs 001 001: Identificacin 1d6b: 0002 Linux Foundation 2.0 root hub
Dispositivo de autobs 001 002: ID 0424: 9512 Standard Microsystems Corp.
Figura 9-3. DWA-131 adaptador N nano inalmbrica 802.11n de D-Link

Figura 9-4. Tres abajo, dos a ir!


www.it-ebooks.info
pgina 200
Captulo 9 Wipi: Computacin inalmbrica
188
Dispositivo de autobs 001 003: ID 0424: EC00 Standard Microsystems Corp.
Dispositivo de autobs 001 004: ID 07d1: 3303 de D-Link DWA-131 802.11n N Adaptador
Nano Sistema Inalmbrico (rev.A1)
[Realtek RTL8192SU]
Perfecto! Se puede ver en este comando que mi adaptador inalmbrico ha sido reconocido por
el sistema y
debe ser capaz de funcionar-fantstico. Si no es as, no temas; simplemente tendr que instalar
el controlador para su especial
tarjeta de red. Una pequea cantidad de investigacin de Google y usted debera ser capaz de
encontrar el chipset de la tarjeta WiFi. los
chipset se refiere al pequeo chip de silicio en el interior del adaptador inalmbrico que "corre"
el adaptador inalmbrico. El chipset es a menudo
fabricado por una compaa totalmente diferente de aquel cuya placa aparece en el dispositivo,
y es el conjunto de chips
con la que se necesita para interactuar y por lo tanto lo que determina qu controladores necesita
encontrar. Una vez que haya encontrado
el chipset, una bsqueda rpida en esto debe sealar lo que los paquetes de controlador tendr
que instalar. Una vez que tengas
instalado sus paquetes de controladores y se puede ver su adaptador inalmbrico en lsusb, puede
pasar al siguiente paso.
Puesto que usted ha instalado el dispositivo y registrado, usted debe comprobar que el
dispositivo se ha registrado correctamente como una
dispositivo de red. Cuando se trabaja con Linux, la herramienta ms comn para la gestin de la
red es ifconfig. As que adelante
y ejecutar ifconfig y examine la salida:
$ ifconfig
eth0 Link encap: Ethernet HWaddr b8: 27: eb: 8a: 46: ba
inet addr: 10.0.0.20 Bcast: 10.0.0.255 Mscara: 255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1
paquetes RX: 6558: 0 errores cayeron: 0: 0 marco excesos: 0
paquetes TX 268: Errores: 0 Eliminado: 0: 0 sobrecostos de transporte: 0
colisiones: 0 txqueuelen: 1000
bytes RX: 374403 (365,6 KiB) TX bytes: 28129 (27,4 KiB)
lo Link encap: bucle de retorno local
inet addr: 127.0.0.1 Mscara: 255.0.0.0
UP LOOPBACK RUNNING MTU: 16436 Mtrica: 1
paquetes RX: 0 Errores: 0 Eliminado: 0: 0 los sobrantes de captura de fotogramas: 0
paquetes TX: 0 Errores: 0 Eliminado: 0: 0 sobrecostos de transporte: 0
colisiones: 0 txqueuelen: 0
bytes RX: 0 (0.0 B) TX bytes: 0 (0.0 B)
wlan0 Link encap: Ethernet HWaddr 90: 94: e4: 51: 81: 7a
UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1
paquetes RX: 0 Errores: 0 Eliminado: 0: 0 los sobrantes de captura de fotogramas: 0
paquetes TX: 0 Errores: 0 Eliminado: 0: 0 sobrecostos de transporte: 0
colisiones: 0 txqueuelen: 1000
bytes RX: 0 (0.0 B) TX bytes: 0 (0.0 B)
La configuracin anterior en realidad muestra informacin para tres dispositivos en lugar de
slo el adaptador inalmbrico
(Dos de los cuales se vio en el captulo 3):

Se muestra la primera

dispositivo eth0 que es el dispositivo Ethernet fsica.


El siguiente es el

Lo adaptador; recordar que se trata de dispositivo de auto-referencia interna del sistema que se
utiliza
cuando se quiere abordar el trfico hacia dentro del Pi (o cualquier otro sistema) a partir de s
mismo.
Finalmente usted tiene

wlan0, que es el dispositivo inalmbrico. Usted debe ser capaz de notar unos pocos
diferencias entre los dispositivos eth0 y lo y la WLAN dispositivo que no tiene una IP
abordar (denotado por addr inet) o una mscara. Estas son las cosas que se necesitan para
configurar conseguirlo
hablar con su red inalmbrica, junto con los detalles de su SSID inalmbrico y redes
las medidas de seguridad. Por lo que ser su prximo paso.
www.it-ebooks.info
pgina 201
Captulo 9 Wipi: Computacin inalmbrica
189
Si el adaptador no se present, pero se registr en el lsusb, reiniciar el sistema y realizar la
misma solucin de problemas
pasos. El sistema puede ser capaz de reconocer el dispositivo, pero ser incapaz de interactuar
con correctamente. Instalacin de un controlador
paquete para su sistema ser probablemente la solucin aqu.
Para empezar, hacer esto fcil y hacer la configuracin a travs de la interfaz grfica de usuario,
que, irnicamente, implica la instalacin de algo
a travs de la lnea de comandos. Vaya por delante y el fuego de apt-get para instalar wpa-gui.
WPA GUI es una aplicacin que tiene poco
ha agregado a Raspbian para hacer la instalacin y la configuracin de dispositivos inalmbricos
mucho, mucho ms simple. Es tan
reciente, de hecho, que este captulo necesitaba ser reescrito para incluirlo porque la versin de
Raspbian de que se utiliz
durante la primera ronda de la escritura, no lo incluyeron! Si no est seguro acerca de si usted
tiene la versin correcta,
usted debe ejecutar este comando, porque no hay ningn dao en hacerlo. El comando para
instalar esta aplicacin
es el siguiente:
$ Sudo apt-get install wpagui
Si usted tiene la versin ms reciente de Raspbian, que incluye wpagui, ver la siguiente salida
que indica que
el paquete ya est instalado:
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
wpagui ya es la versin ms reciente.
0 actualizados, 0 se instalarn, 0 para eliminar y 0 no actualizados.
Si no ha instalado el paquete, su instalacin ser algo como esto:
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
libaudio2 liblcms1 libmng1 libqt4-SVG libqtcore4 libqtgui4 men

Paquetes sugeridos:
nas liblcms-utils-Qt4 qtconfig men-l10n
Se instalarn los siguientes paquetes NUEVOS:
libaudio2 liblcms1 libmng1 libqt4-SVG libqtcore4 libqtgui4 wpagui men
0 actualizados, 8 se instalarn, 0 para eliminar y 96 no actualizados.
Necesidad de conseguir 8.921 kB de archivos.
Despus de esta operacin, se utilizarn 22,6 MB de espacio de disco adicional.
Desea continuar [S / n]?
Fantstico! Ahora que ha instalado wpagui, usted debera ser capaz de hacer un buen uso de
ella a travs de la interfaz de usuario.
Pero antes de saltar, seguir adelante y reiniciar el Pi, ya que han hecho un cambio importante en
cmo gestiona el Pi
las conexiones de red y quiere asegurarse de que es a prueba de bombas antes de continuar.
Arrancado de acuerdo? Tu puedes correr
ifconfig y la salida tiene el mismo aspecto, muy bien.
Ahora puede comenzar a configurar el adaptador inalmbrico. Vamos a empezar con la GUI y
luego ver cmo hacerlo sobre el
lnea de comando.
Nota

Si nota que su pi desaceleracin o en su defecto para conectarse a Wi-Fi, puede ser el teclado
absorbiendo demasiada energa.
trate de extraerlo y el uso de VNC o SSH para configurar su red inalmbrica.
www.it-ebooks.info
pgina 202
Captulo 9 Wipi: Computacin inalmbrica
190
Configuracin WiFi GUI
Identifquese para la interfaz grfica de usuario y debe haber un icono de nueva llamada WiFi
de configuracin, como se muestra en la Figura 9-5 .
Haga doble clic en este icono para abrir la aplicacin y que debe ser presentado con la ventana
wpagui, como se muestra
en la Figura 9-6 .
Figura 9-5. WiFi icono Config
Figura 9-6. Ventana wpa_gui
www.it-ebooks.info
pgina 203
Captulo 9 Wipi: Computacin inalmbrica
191
Desde dentro de la ventana wpagui, pulse el botn Scan. Se llevar unos momentos, pero otra
ventana pop
hacia arriba, como se muestra en la Figura 9-7 .
Esta ventana debe ser familiar para todos. Esta es la ventana para seleccionar la red inalmbrica.
Encuentra tu
en particular la red y haga doble clic en l para abrir la ventana de configuracin (ver Figura 9-8
).
Figura 9-7. Analiza ventana de resultados
www.it-ebooks.info
pgina 204
Captulo 9 Wipi: Computacin inalmbrica
192
Estoy asumiendo que usted debe tener sus datos disponibles para configurar su configuracin.

La mayor parte es intuitiva,


pero hay algunas cosas que hay que tener en cuenta:
SSID es el "nombre" dado a su red inalmbrica, por lo que necesita para escribir este nombre.

Lo siguiente es la autenticacin, que especifica el tipo de autenticacin que est utilizando:


WEP,

WPA, WPA2, y as sucesivamente.


El siguiente es cifrado, que selecciona el modo de cifrado que se va a utilizar.

La ltima es PSK, siglas de clave previamente compartida. Esta es la contrasea de Wi-Fi.

Ahora cambie a la pestaa de seguridad inalmbrica y configurar cualquier mtodo de


autenticacin, mtodo de cifrado y
contrasea que est utilizando para su WiFi. Esta informacin est normalmente en el interior
del sistema de configuracin del enrutador, pero puede
Tambin puede escribir en el propio router o en el manual del router. Ahora haga clic en
Agregar. La configuracin inalmbrica se deben guardar
en el sistema y que va a recoger estos y comenzar a intentar conectar con el adaptador; despus
de unos momentos, se
debe esperar ver algo parecido a la Figura 9-9 .
Figura 9-8. Detalles sobre la red
y
www.it-ebooks.info
pgina 205
Captulo 9 Wipi: Computacin inalmbrica
193
Si no ves esto, tener una mirada en el mensaje del ratn sobre ella debe darle una idea de lo que
va mal
con su conexin. Compruebe que la configuracin es correcta y que usted ha escogido el
mtodo de seguridad apropiado. Si en
duda, abrir la configuracin de su router para una doble comprobacin. Por ltimo, se puede
volver a entrar en la consola y emisin ifconfig
de nuevo para comprobar la configuracin del adaptador inalmbrico!
wlan0 Link encap: Ethernet HWaddr 90: 94: e4: 51: 81: 7a
inet addr: 10.0.0.59 Bcast: 10.0.0.255 Mscara: 255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1
paquetes RX: 772 Errores: 0 Eliminado: 10 sobrecostos: 0: 0 frame
paquetes TX: 35 Errores: 0 Eliminado: 0: 0 sobrecostos de transporte: 0
colisiones: 0 txqueuelen: 1000
bytes RX: 100749 (98,3 KiB) TX bytes: 4254 (4.1 KiB)
Eso se ve mucho ms parecido a lo que se espera; que tiene una direccin IP, mscara, y as
sucesivamente. Tambin muestra que ha sido
enviar y recibir paquetes (estos son los nmeros de paquetes RX y TX) sin error. La prueba
final es hacer ping a esa IP
abordan desde una segunda mquina, y eso es todo. Ahora puede seguir adelante y retire el
cable Ethernet. Como prueba final, vaya
adelante y reiniciar; usted debera ser capaz de hacer ping a su sistema en la direccin IP wlan0
despus del reinicio, lo que demuestra que se
han mantenido con xito los detalles del adaptador inalmbrica almacenadas despus de un
reinicio. Ahora usted puede seguir adelante y eliminar que el prximo
Cable y reiniciar el sistema como usted quiere asegurarse de que su sistema est utilizando el
adaptador inalmbrico por defecto.
Figura 9-9. Wi-Fi conectado!

www.it-ebooks.info
pgina 206
Captulo 9 Wipi: Computacin inalmbrica
194
La gestin de Wi-Fi desde la lnea de comandos
Para aquellos de ustedes que realmente no desea utilizar la interfaz grfica de usuario o que se
consideran puristas a la verdadera tradicin de Linux
de utilizar slo la lnea de comandos para administrar sus sistemas, esta es la parte para usted!
Para ello, se le modificando el
NetworkManager configuracin. La forma bsica del sistema de NetworkManager decide cmo
debe gestionar su
dispositivos Ethernet es doble:
Se comprueba si el

bandera gestionado en /etc/NetworkManager/NetworkManager.conf se establece.


Se hace cargo de la gestin de todo lo configurado dentro

/ etc / network / interfaces; estas


configuracin dicen cmo este dispositivo debe gestionarse.
Usted no quiere que el sistema de NetworkManager para saltar y hacerse cargo de la
configuracin de arriba, por lo que necesita
asegrese de que no va a. Este ser un problema slo si ha instalado la interfaz grfica anterior,
o si NetworkManager vino
junto con su imagen Raspbian, pero es mejor que ser a fondo. As que adelante y comprobar /
etc / NetworkManager /
NetworkManager.conf y asegrese de que la bandera administrado se establece en false. El
archivo debe ser similar a:
[principal]
plugins = ifupdown, archivo de claves
[Ifupdown]
logrado = false
Una vez hecho esto, seguir adelante y reiniciar el Pi; usted quiere asegurarse de que el Pi trata
correctamente y todos
conexiones Ethernet existentes estn trabajando despus de este primer reinicio. Ahora es
necesario agregar la configuracin en
/ Etc / network / interfaces de modo que sabe cmo manejar el dispositivo y conectarse a su
WiFi. As que adelante y
abrir / etc / network / interfaces . Usted ver que el archivo est ya parcialmente llena con las
siguientes lneas:
Lo automtica
del iface lo inet loopback
del iface eth0 inet dhcp
Tambin puede ver las siguientes lneas en su archivo, dependiendo de si el sistema ya ha hecho
algunas
configuracin inalmbrica o no.
allow-hotplug wlan0
iface del manual de wlan0 inet
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface de inet predeterminado DHCP
Estas lneas corresponden a los dispositivos de bucle de retorno y eth0, respectivamente, y
proporcionan algunos detalles simples acerca
su gestin; es en este caso, el bucle de retorno es un dispositivo de bucle de retorno gestionado
de forma automtica, y el dispositivo eth0 es
dada una direccin IP a travs de DHCP. Tambin puede haber alguna configuracin existente

para su dispositivo wlan0; si es que existen, se


debe comentar a cabo mediante la adicin de un # al frente de ellos o eliminarlos del archivo.
Ahora necesita
aadir una nueva configuracin para el dispositivo inalmbrico wlan0, as que adelante y aadir
lo siguiente a su configuracin por debajo de la
contenido existente:
wlan0 automtico
del iface wlan0 inet dhcp
WPA-SSID <Su WiFi SSID>
WPA-PSK <La contrasea de Wi-Fi>
www.it-ebooks.info
pgina 207
Captulo 9 Wipi: Computacin inalmbrica
195
Este bloque dice que va a tener un dispositivo gestionado de forma automtica wlan0, que
obtiene su informacin de conexin
a travs de DHCP. Tambin pasa que el SSID y PSK. Esta configuracin funcionar tanto para
WPA y WPA2 seguridad de la red
implementaciones. Una vez que haya terminado, es hora de poner a prueba su nuevo
dispositivo, as que adelante y ejecutar el siguiente, lo cual
se iniciar la interfaz. Puede tomar unos momentos, pero su salida debe ser similar a la ma:
$ Sudo ifdown wlan0
$ Sudo ifup wlan0
Internet Client Systems Consortium DHCP 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
Todos los derechos reservados.
Para informacin, visite https://www.isc.org/software/dhcp/
Escucha en LPF / wlan0 / 90: 94: e4: 51: 81: 7a
Enviando el LPF / wlan0 / 90: 94: e4: 51: 81: 7a
Enviando el zcalo / repliegue
DHCPDISCOVER en wlan0 al puerto 255.255.255.255 67 intervalo de 8
DHCPDISCOVER en wlan0 al puerto 255.255.255.255 intervalo de 15 67
DHCPDISCOVER en wlan0 al puerto 255.255.255.255 67 intervalo de 9
DHCPREQUEST en wlan0 al puerto 255.255.255.255 67
DHCPOFFER de 10.0.0.1
DHCPACK de 10.0.0.1
unido a 10.0.0.59 - 444671 renovacin en segundos.
Todo esto muestra que el dispositivo se ha conectado a la red inalmbrica y se le ha dado una
direccin IP a travs de DHCP,
que es exactamente lo que le dijo que lo haga! Ahora supongamos que usted no desea utilizar
DHCP, sino que ms bien dar a su Wi-Fi
adaptador una direccin IP esttica. Usted slo tendr que cambiar la lnea del iface para leer
esttica en lugar de DHCP y luego aadir
detalles de su direccin IP, mscara de subred y la puerta de enlace. Su configuracin se ver as
en su lugar:
wlan0 automtico
del iface wlan0 inet static
abordar 10.0.0.57
mscara de red 255.255.255.0
puerta de enlace 10.0.0.1
WPA-SSID <Su WiFi SSID>
WPA-PSK <La contrasea de Wi-Fi>
Ahora que ha configurado correctamente inalmbrica en su sistema, puede seguir adelante y
reiniciar el Pi para comprobar

que el adaptador inalmbrico aparece automticamente. Si no, volver atrs y asegrese de que
configura wlan0 automtico y que
permitido que el administrado = falsa bandera en el archivo de configuracin NetworkManager.
Si eso no funciona, repasar sus opciones de configuracin de Wi-Fi SSID y contrasea. Puede
confirmar si
No se puede iniciar el adaptador inalmbrico con ifup wlan0; si hay problemas de conexin y
obtener una direccin IP
el sistema debe mostrar aqu que le da la oportunidad de trabajar en lo que va mal. Por ltimo, si
usted simplemente no puede conseguirlo
para funcionar, intente eliminar cualquier otros dispositivos USB conectados; pueden extraer
energa valiosa lejos de su adaptador WiFi.
Una ltima cosa en la lnea de comandos que puede ayudarle es la serie IW de comandos:
Tu puedes correr

iwlist con la opcin de escaneo para obtener un anlisis de la informacin sobre las
inmediaciones
puntos de acceso inalmbricos.
O puede utilizar

iwconfig para obtener detalles de la configuracin de su adaptador inalmbrico.


www.it-ebooks.info
pgina 208
Captulo 9 Wipi: Computacin inalmbrica
196
Reduce a una
Felicitaciones, usted est en su camino a una Frambuesa Pi totalmente inalmbrico! Usted ha
eliminado con xito la necesidad de una
Cable Ethernet y ahora puede acceder a su Pi forma inalmbrica. Ahora debera estar abajo a un
solo cable! (Ver Figura 9-10 ).
Figura 9-11. Wipi por fin!
Figura 9-10. ltima cable de pie
La eliminacin de la necesidad de poder
Hay muy poco lo que puede hacer para el acceso directo a la necesidad de proporcionar a su
Frambuesa Pi con el poder; lo necesita, y hay
slo un nmero finito de soluciones a este problema. Con mucho, la ms fcil y conveniente es
conseguir una gran batera USB.
Estos estn disponibles en casi todas partes en estos das para cargar cualquiera de los muchos
dispositivos comnmente llevan en
la ida. La solucin simple aqu es para adjuntar el Pi a una de estas bateras para su uso porque
este tipo de batera debe
garantizar el correcto nivel de potencia de salida a su pi-ya que estn diseados para alimentar
dispositivos USB. Lo importante
cosa cuando se mira en bateras para la alimentacin del Pi es tener la certeza de que pueden
proporcionar la plena 1 amplificador de poder, ya que algunos USB
bateras estn bien para la carga pero no se esconden ms de energa suficiente para alimentar
un Pi. La figura 9-11 muestra la final Wipi.
www.it-ebooks.info
pgina 209
Captulo 9 Wipi: Computacin inalmbrica
197
Hay unos cuantos hacks por ah con una combinacin de bateras recargables y los paneles
solares, que ir
mucho ms para usted, pero son mucho ms all del alcance de este libro.

Adaptadores USB con alimentacin


Hice mencin anteriormente que si pasa demasiado empate en su USB de Pi, puede bloquearse,
ya que slo ha conseguido una limitada
fuente de alimentacin propia. La solucin es conseguir sus manos en un concentrador USB con
alimentacin. Estos centros funcionan normalmente
tener una conexin y un nmero de conexiones en y tambin tendr una conexin de red con el
que suministrar
poder. El principio con estos es que la gente rara vez utilizan el volumen de transmisin de
datos completa de un USB, pero a menudo se ejecute
sin energa, por lo que tener una forma de complementar la potencia de un dispositivo USB con
una fuente de alimentacin de red es una buena manera de
dar a la gente una mayor flexibilidad con sus dispositivos. Si usted encuentra que cuando se
conecta el dispositivo a su Pi se apaga,
es una apuesta justa que se necesita algo como uno de ellos para ayudar a repartir la carga de
potencia (ver Figura 9-12 ).
Figura 9-12. Desarrollado concentrador USB en la accin
Resumen
Despus de todo ese trabajo, usted debe haber visto una gran recompensa. Ahora debe saber
cmo configurar su pi hacer
se inalmbrico. Usted debe ser capaz de configurar y conectarse a su Pi a travs de un cliente
VNC, adems de la SSH normales
conexiones. Usted ha aprendido cmo configurar el Raspberry Pi para tomar un adaptador
inalmbrico y se puede adjuntar a su
red inalmbrica existente. Por ltimo, usted debe ser consciente de algunas de las limitaciones
de su Pi con respecto al poder
el consumo y cmo se puede resolver estos problemas.
www.it-ebooks.info
pgina 210
199
Captulo 10
La frambuesa SPI
Todo el mundo quiere ser James Bond. O por lo menos s que hacer. Parece que meterse en
todo tipo de situaciones; luego saca de repente
un gadget til para salvar el da. La Raspberry Pi es, como hemos demostrado, sumamente
verstil para una pequea pieza tales
de hardware. Esto hace que sea la herramienta perfecta para un agente secreto, ya que con slo
un poco de energa que puede proporcionar una
solucin tecnolgica de pleno derecho a una fraccin del gasto de contratar a John Cleese (la
verdad del Pi no es tan
gracioso). Por lo tanto, con esto en mente, podemos ahora ponemos nuestra trajes de etiqueta y
ponerse a trabajar agente secreto.
Todos los buenos agentes secretos saben que tiene que ser capaz de detectar y recibir alertas de
intrusos en su escondite secreto.
As que esto hace que sea el momento perfecto para que usted se presenta a la frambuesa SPI!
La frambuesa SPI es una cmara espa combinacin
y el sistema de alerta, la solucin perfecta para la deteccin de intrusos cobardes en su santuario
interior! O para monitorizar
sus mascotas a travs de Internet. El concepto bsico es que estaremos configurando nuestra
Raspberry Pi. As que sin ms
prembulos, vamos a empezar.
Materiales necesitados
stos son los materiales necesarios para este proyecto (que tambin se muestra en la Figura 101 ):
Figura 10-1. El kit de frambuesa SPI

www.it-ebooks.info
pgina 211
Captulo 10 el spi de frambuesa
200
1x Frambuesa Pi

1x cable USB Micro (para la alimentacin)

1x cable de Ethernet

1x cmara web USB

1x tarjeta SD

En este punto, debe tener en cuenta que no todas las cmaras son compatibles con el Raspberry
Pi. Este documento fue
creado con una cmara web Logitech C525. Afortunadamente, la comunidad Pi mantiene una
lista de hardware compatible, lo cual
est disponible en http://elinux.org/RPi_VerifiedPeripherals#USB_Webcams . Si tiene alguna
duda, por favor verifica all para
ver lo que los perifricos trabajarn con su pi.
Presetup
Nada especial aqu; simplemente conectar el micro USB para la alimentacin, conecte el
Ethernet para acceso a la red, para unir el SD
almacenamiento, y asegrese de que deja la cmara sin ataduras, lo haremos ms adelante. El
resto de este proceso que asume
estn familiarizados con lo siguiente:
Instalacin del sistema operativo Raspbian

El conocimiento de cmo trabajar dentro de un entorno Linux Raspbian

Si no est familiarizado con cualquiera de estos dos, eso es perfectamente bien. Eso es lo que
este libro es porque despus de todo, as que por favor
volver a leer el Captulo 1 para cmo empezar con Raspbian y la Parte 2 de este libro para
familiarizarse con
trabajar en un entorno Linux Raspbian.
Empezando
As, sin ms prembulos, vamos a empezar. Vaya por delante y la carga hasta Raspbian y
conectar el Pi a la red.
Ir a travs de los procedimientos de configuracin Raspbian y asegrese de activar SSH, ya que
necesitar para mando a distancia en adelante.
(No vemos James Bond lleva alrededor de un teclado, cable HDMI, y un monitor, verdad?)
Una vez que se configura,
seguir adelante y SSH en su Pi (cubierto en el Captulo 3).
Bien, una vez que haya entrado en el sistema, seguir adelante y emitir la orden dmesg y echar
un vistazo a la salida.
dmesg
El comando dmesg es una herramienta llamada un mensaje de controlador que muestra una
salida conectado de todos los mensajes en el kernel,
que incluye mensajes de los dispositivos y los controladores que estn conectados a su sistema.
dmesg es infinitamente til en
La determinacin de qu dispositivos estn conectados, y dnde y cmo deben interactuar con
ellos. Tambin enumera conductor y
los mensajes del ncleo que son increblemente til en el diagnstico de problemas de bajo

nivel. Por lo tanto, vamos a echar un vistazo a la relevante


la seccin de la salida.
Nota

Menos
es ms. si encuentra que la salida de un comando se ejecuta sobre la parte superior de la pantalla
y no se puede ver
es ms, vuelva a emitir el comando y luego conectarla con
Menos (
es decir,
dmesg | Menos
) .Este Debera permitirle navegar por el
la salida de casi cualquier comando utilizando las teclas de flecha y la barra espaciadora para
avanzar una pgina.
www.it-ebooks.info
pgina 212
Captulo 10 el spi de frambuesa
201
[1.998581] A la espera de dispositivo raz / dev / mmcblk0p2 ...
[2.071268] mmc0: nueva tarjeta SD de alta velocidad a la direccin de 7d37
[2.079917] mmcblk0: mmc0: 7d37 SD02G 1.83 GiB
[2.088723] mmcblk0: p2 p1
[2.132278] EXT4-fs (mmcblk0p2): sistema de archivos montado con el modo ordenado de
datos. Opta: (null)
[2.145275] VFS: raz montado (sistema de ficheros ext4) en el dispositivo 179: 2.
[2.155272] Liberacin de memoria init: 200K
[2.187333] usb 1-1: nuevo nmero de dispositivo USB de alta velocidad de 2 usando dwc_otg
[2.418045] usb 1-1: Nuevo dispositivo USB que se encuentra, idVendor = 0424, idProduct =
9512
[2.427750] usb 1-1: Nuevas cadenas de dispositivos USB: Fabricante = 0, Producto = 0,
SerialNumber = 0
[2.438708] concentrador 1-1: 1.0: concentrador USB encontr
[2.445041] concentrador 1-1: 1,0: 3 puertos detectados
[2.727674] USB 1-1.1: nuevo nmero de dispositivo USB de alta velocidad 3 usando dwc_otg
[2.837920] USB 1-1.1: Nuevo dispositivo USB que se encuentra, idVendor = 0424, idProduct =
EC00
[2.857413] USB 1-1.1: Nuevas cadenas de dispositivos USB: Fabricante = 0, Producto = 0,
SerialNumber = 0
[2.878968] v1.0.4 smsc95xx
[2.942985] smsc95xx 1-1.1: 1.0: eth0: Registrarse 'smsc95xx' de la USB-1.1-bcm2708_usb,
smsc95xx
USB 2.0 Ethernet, b8: 27: eb: 8a: 46: ba
[11.006171] EXT4-FS (mmcblk0p2): vuelve a montar. Opta: (null)
[11.426960] ### snd_bcm2835_alsa_probe c05c88e0 ############### sondeo de bcm2835
ALSA
dispositivo (0) :( 1) ###############
[11.442869] La creacin de la tarjeta ...
[11.448268] Creacin de dispositivo / chips ..
[11.454771] Agregar controles ..
[11.460340] tarjeta de registro ....
[11.475463] bcm2835 TARJETA ALSA creado!
[11.487786] ### BCM2835 ALSA init controlador ### OK
[18.493739] smsc95xx 1-1.1: 1.0: eth0: enlazar, 100 Mbps, full-duplex, LPA 0x45E1
[24.672322] Adicin de intercambio 102396k en / var / swap. Prioridad: -1 grados: 1 a travs

de: 102396k SS
Como se puede ver, la salida de dmesg es un poco muy desagradable y difcil de entender.
Mucha de la informacin se basa
en la comprensin de unos principios bsicos de cmo funciona el sistema de dmesg. La
primera es que los valores numricos dentro de la plaza
corchetes [y]. Este valor es un valor de temporizador que registra la cantidad de tiempo que ha
pasado desde el lanzamiento del sistema.
Esta es una buena manera de seguir la secuencia de los acontecimientos en su sistema y para
decirle a los recientes de los ocurridos en el
el pasado.
El siguiente es el contenido en s. La mayora de estas lneas son intiles para el diagnstico por
s solo, pero juntos forman un muy
foto interesante de lo que ha ocurrido exactamente en mi Pi. Vamos a empezar con la primera
lnea:
esperando en el dispositivo raz / dev / mmcblk0p2
Las primeras lneas son obvias: el sistema est esperando algo, pero lo que es / dev /
mmcblk0p2? Bueno, la primera
sorteo es el / dev; aqu es donde el sistema operativo Linux se enumeran todos sus dispositivos,
de forma que sabemos / dev / mmcblk0p2 es un dispositivo. En segundo lugar est
la mmcblk0p2, que se parece a una cadena de basura, pero es en realidad una serie de
abreviaturas.

MMC significa MultiMediaCard (el estndar de dispositivo flash)

BLK significa un dispositivo de almacenamiento de bloques

0 significa que el primer dispositivo lgico de este tipo

p2 significa particin dos del dispositivo


As que estamos a la espera de la tarjeta SD. La segunda, tercera y cuarta lneas son lo que
estamos esperando: la tarjeta SD para
registrarse como se puede ver que en realidad se registra como cada uno de los subdispositivos
hemos mencionado, a fin de no menos! Despus de eso, la
www.it-ebooks.info
pgina 213
Captulo 10 el spi de frambuesa
202
siguientes dos lneas son el dispositivo de montaje del sistema de archivos en este dispositivo
tan legible. Continuando hacia abajo, se puede ver la
de registro de dispositivos USB del Pi (lneas 8-15), su puerto Ethernet (lneas 16, 17 y 26) y,
finalmente, un Linux Advanced
Arquitectura de dispositivos de sonido (ALSA), que es el puerto de audio (lneas 19-25).
Ahora que usted entiende por qu no acaba de fijar la cmara para empezar, que quera ver la
salida de dmesg.
Dado que usted sabe qu buscar, ahora seguir adelante y conectar la cmara web y ejecutar
dmesg nuevo. Echar un vistazo a la
nuevas lneas que han aparecido. Todos ellos deben estar relacionados con su cmara web
recin conectados! Aqu est la salida de m
adjuntando la mina:
[8168.793423] USB 1-1,2: nuevo nmero de dispositivo USB de alta velocidad de 4 utilizando
dwc_otg
[8169.147691] USB 1-1,2: Nuevo dispositivo USB que se encuentra, idVendor = 046d, 081d =
idProduct
[8169.147736] USB 1-1,2: Nuevas cadenas de dispositivos USB: Fabricante = 0, Producto = 0,

1 = SerialNumber
[8169.147758] USB 1-1,2: SerialNumber: 8627F4C0
[8169.314171] Linux interfaz de captura de vdeo: v2.00
[8169.336482] uvcvideo: Encontrado UVC 1,00 dispositivo <sin nombre> (046d: 081d)
[8169.402071]
Entrada:
Cmara
UVC
(046d:
081d)
como
/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/
1-1,2: 1.2 / input / input0
[8169.402280] usbcore: la inscripcin de nueva uvcvideo controlador de interfaz
[8169.402299] controlador USB Video Class (1.1.1)
[8169.460903] usbcore: la inscripcin de nueva interfaz de controlador snd-usb-audio
Por lo tanto, qu se puede decir de estas lneas? Para empezar, se puede ver una gran diferencia
en el momento de este particular,
entrada en el registro dmesg, que representa el retardo de la puesta en marcha hasta que he
conectado mi dispositivo. A continuacin, se le reconocen
que las cuatro primeras lneas representan los puertos USB recogiendo un nuevo dispositivo
conectado; de hecho, la primera lnea de referencia a la
mdulo utiliza para hacer esto dwc_otg (abreviatura de DesignWare Ncleos-On The Go). La
lnea 5 muestra que se trata de una captura de vdeo
interfaz, y la lnea 6 muestra que el mdulo uvcvideo encontr un dispositivo USB Video Class
(UVC) que identifica y
registros. Por ltimo, tambin podemos ver que el micrfono de la cmara web tambin se ha
registrado en la ltima lnea como
snd-usb-audio del dispositivo. De esto podemos ver que mi cmara se ha unido y se ha
registrado con un controlador
en el sistema operativo.
Ahora que el dispositivo ha sido registrado, necesitamos una manera de hacer referencia a l
para que pueda ser utilizada por una aplicacin. T
se dar cuenta de que la salida de dmesg en realidad no especifica qu dispositivo aadimos, por
lo que vamos a echar un vistazo y ver si no podemos
coincida con la otra manera. Vamos a empezar haciendo una lista de los contenidos de / dev
(resultados mostrados en la Figura 10-2 ).
$ ls / dev /
Figura 10-2. Contenido del directorio / dev
www.it-ebooks.info
pgina 214
Captulo 10 el spi de frambuesa
203
Es decir unos pocos dispositivos. Podemos eliminar rpidamente algunos de buenas a primeras:
todos los dispositivos tty porque son teletipo
dispositivos, todos los dispositivos de memoria RAM, ya que de la RAM del Pi, todos los
dispositivos de bucle, ya que son los conectores traseros de bucle,
todos los dispositivos memblck porque se refieren a la tarjeta SD, y todos los dispositivos de
control de versiones, ya que son las consolas virtuales.
Todava hay unos pocos, pero lo mejor es buscar video0. Estamos en busca de una cmara web,
verdad? Se registr como captura de vdeo
dispositivo no lo hizo? Bueno, por lo que pensamos que es correcto, pero cmo podemos
saber?
udev, ms especficamente la funcin de administracin de udev, es el administrador de
dispositivos para el ncleo de Linux. rige
cmo y donde los dispositivos registran a s mismos de modo que se puede acceder como parte
del sistema operativo por las aplicaciones. en Debian
(Y por lo tanto Raspbian), el funcionamiento interno de udev se puede acceder con el comando
udevadm, as que vamos a seguir adelante y
usarlo. Ejecutar lo siguiente:

$ Udevadm informacin -q -n todos / dev / video0


P: /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.2/video4linux/video0
N: video0
S: v4l / by-id / USB-046d_081d_8627F4C0-video-index0
S: v4l / by-path / plataforma de bcm2708_usb-USB-0: 1,2: 1,2-video-index0
E: devlinks = / dev / v4l / by-id / USB-046d_081d_8627F4C0-video-index0 / dev / v4l / by-path
/ plataforma de bcm2708_
USB-USB-0: 1,2: 1,2-video-index0
E: DEVNAME = / dev / video0
E: DEVPATH = / devices / platform / bcm2708_usb / usb1 / 1-1 / 1-1,2 / 1-1,2: 1.2 /
Video4Linux / video0
E: ID_BUS = USB
E: ID_MODEL = 081d
E: ID_MODEL_ENC = 081d
E: ID_MODEL_ID = 081d
E: = ID_PATH plataforma bcm2708_usb-USB-0: 1.2: 1.2
E: = ID_PATH_TAG plataforma bcm2708_usb-USB-0_1_2_1_2
E: ID_REVISION = 0010
E: ID_SERIAL = 046d_081d_8627F4C0
E: ID_SERIAL_SHORT = 8627F4C0
E: = ID_TYPE de vdeo
E: ID_USB_DRIVER = uvcvideo
E: = ID_USB_INTERFACES: 010100: 010200: 0e0100: 0e0200:
E: ID_USB_INTERFACE_NUM = 02
E: = ID_V4L_CAPABILITIES: Captura:
E: = ID_V4L_PRODUCT cmara UVC (046d: 081d)
E: ID_V4L_VERSION = 2
E: ID_VENDOR = 046d
E: ID_VENDOR_ENC = 046d
E: ID_VENDOR_ID = 046d
E: MAYORES = 81
E: MENOR = 0
E: SUBSISTEMA = Video4Linux
E: = TAGS: udev-acl:
E: UDEV_LOG = 3
E: USEC_INITIALIZED = 8168852755
Wow, bien, eso es un gran bloque de salida de miedo buscando. Como estoy seguro de que has
adivinado por ahora, slo preguntamos al udev
sistema que nos d una consulta de informacin para toda la informacin relevante para el
dispositivo con el nombre / dev / video0, que tiene bien y verdaderamente.
Sin embargo, antes de la hiperventilacin se establece, en realidad echar un vistazo a las
primeras lneas. La primera lnea debe saltar
tan familiar: es el identificador de dispositivo que vimos en dmesg de cuando estaba conectada
la cmara web! De hecho, la mayor parte del
la informacin aqu es todos los datos que se hace referencia en alguna parte del bloque de
dmesg. Muy bien, as teniendo en cuenta que podemos hacer coincidir
el dispositivo de dmesg al dispositivo aqu en nuestro sistema, es seguro decir que la cmara
web USB adjuntamos est disponible en
el sistema de ficheros como / dev / video0.
www.it-ebooks.info
pgina 215
Captulo 10 el spi de frambuesa
204
Solucin de problemas

Si, a diferencia de la mina, la webcam tuvo problemas al registrarse en el kernel en dmesg, es


posible que tenga que instalar un controlador.
Usted debe verificar con el fabricante y en lnea para ver si hay un conductor que est
disponible para su webcam.
Si es as, instale el controlador y luego tratar de volver a colocar la cmara web para ver si se
puede registrar. Incluso puede que tenga suerte, y
el controlador de dispositivo tendr la lista del ncleo, donde la cmara se ha registrado en / dev
en dmesg-como lo hizo con mi tarjeta SD
en el ejemplo anterior.
Adems, si usted no tiene un dispositivo como / dev / video0 en la lista, usted debe comprobar
para ver si alguna de las
otros dispositivos coinciden con la salida que se refiere a su dispositivo desde dmesg. Mientras
que Linux trata de ser sensible en cmo el
/ Dev sistema de archivos se presenta, los fabricantes e ingenieros de software pueden hacer
cosas divertidas para tratar de destacarse, con el
que lleva a que uno se sienta all gritando acerca de cmo no se puede encontrar un dispositivo.
As que sea paciente y echar un vistazo alrededor y
utilizar el proceso de eliminacin para tratar de averiguar dnde se ha conectado el dispositivo.
El objetivo aqu es asegurar
que sepa qu archivo / dev hace referencia a su cmara web.
Captura de movimiento
De acuerdo, sistema configurado, el registro. Webcam adjunto, comprobar. Ahora vamos a
hacer todo esto en realidad hacer algo! Para ello el
webcam captura, vamos a utilizar la captura de movimiento Linux irnicamente llamado
movimiento . As que vamos a seguir adelante e instalarlo.
Ejecute el siguiente comando para dirigir apt-get para descargar e instalar el paquete de
movimiento:
$ Sudo apt-get install movimiento
El resultado debe ser similar al siguiente:
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
ffmpeg libav-herramientas libavcodec53 libavdevice53 libavfilter2 libavformat53 libavutil51
libdc1394-22 libdirac-You
libjack-jackd2-0 libmp3lame0 libpostproc52 libpq5 libraw1394-11 libschroedinger-1.0-0
libspeex1 libswscale2 libtheora0 libva1
libvpx1 libx264-123 libxvidcore4
Paquetes sugeridos:
jackd2 libraw1394-doc speex mysql-cliente-cliente PostgreSQL
Se instalarn los siguientes paquetes NUEVOS:
ffmpeg libav-herramientas libavcodec53 libavdevice53 libavfilter2 libavformat53 libavutil51
libdirac-encoder0 libdc1394-22 libgsm1
libjack-jackd2-0 libmp3lame0 libpostproc52 libpq5 libraw1394-11 libschroedinger-1.0-0
libspeex1 libswscale2 libtheora0 libva1
libvpx1 libx264-123 libxvidcore4 movimiento
0 actualizados, 24 se instalarn, 0 para eliminar y 71 no actualizados.
Necesidad de conseguir 8.365 kB de archivos.
Despus de esta operacin, se utilizarn 17,6 MB de espacio de disco adicional.
Desea continuar [S / n]? y
Yo no s ustedes, pero yo soy demasiado excitado para molestarse con toda la instalacin y
configuracin; Vamos a encender el movimiento
y ver lo que hace! Ponerlo en marcha con esto:
-s $ motion
www.it-ebooks.info

pgina 216
Captulo 10 el spi de frambuesa
205
La luz en la cmara sigue y accin! Empezar saludando y moverse, ya que desea captar con
usted!
[1] Los cambios: 3374 - Nivel de ruido: 15
[1] Los cambios: 3198 - Nivel de ruido: 15
[1] Los cambios: 3011 - Nivel de ruido: 15
[1] Los cambios: 2922 - Nivel de ruido: 15
[1] Los cambios: 2555 - Nivel de ruido: 15
[1] Los cambios: 2390 - Nivel de ruido: 15
[1] Los cambios: 2491 - Nivel de ruido: 15
[1] Los cambios: 2874 - Nivel de ruido: 15
[1] Los cambios: 2817 - Nivel de ruido: 15
[1] Los cambios: 3238 - Nivel de ruido: 15
[1] Los cambios: 3093 - Nivel de ruido: 15
[1] movimiento detectado - 1 a partir de eventos
[1] del archivo de tipo 1 guardado en: ./01-20120910203217-05.jpg
[1] Los cambios: 2912 - Nivel de ruido: 15
[1] del archivo de tipo 1 guardado en: ./01-20120910203217-06.jpg
[1] Los cambios: 2480 - Nivel de ruido: 15
[1] del archivo de tipo 1 guardado en: ./01-20120910203217-07.jpg
Hay que ir, se puede ver que la captura de los cambios en la imagen y registrar cualquier cambio
en el nivel de ruido a medida que
movimiento. Y, por ltimo, sea la captura de las imgenes! Si se puede tomar un momento para
escribir el archivo de la imagen, dependiendo de su SD
velocidad tan tarjeta sea paciente. Impresionante, funciona como un encanto, a anular de la
aplicacin que puede seguir adelante y pulse
Ctrl + C. Si lo desea, puede seguir adelante y conectarse con la consola a echar un vistazo a
alguna de las imgenes que ha capturado. Inspeccin de la
la salida es generalmente una buena idea porque el controlador de cmara web puede necesitar
un ajuste fino o no puede generar una salida vlida.
Si no desea salir de un cable y HDMI, puede copiar estas imgenes con herramientas como el
SCP. Desde un equipo Windows
mquina, puede utilizar una herramienta como WinSCP para copiar todos los archivos fuera. Si
va a copiar a un sistema Mac o Linux, slo
necesitar copiar los archivos al emitir el comando siguiente:
$ Scp <ip frambuesa del pi>: / home / pi / * jpg..
Nota

por favor recuerde el perodo en el extremo de la


SCP
mando es importante porque es el destino
identificador para el comando.
Este comando le dice a copiar desde el servidor de la Frambuesa Pi identificado por IP en el
directorio / home / pi del
Inicio gua del usuario pi y el primer lugar que ser cuando se conecte (Le dije que estaba
excitado, no?) y el partido
cualquier archivo que termina en .jpg. El perodo final en el extremo es el destino: en un perodo
de Linux es una referencia a la actual
directorio, de modo que es donde estamos copiando.
OK, ahora que hemos tenido diversin con las imgenes, vamos a ir al grano. El objetivo de la
frambuesa SPI es
hacer que funcione sin intervencin; esto significa que tendremos que tener la funcin de

aplicacin de movimiento sin nosotros


diciendo que lo haga. Raspbian ha manejado la mayor parte de esto para nosotros ya, pero
todava hay algunas pequeas cosas que tenemos que hacer.
Nota

tendr que editar estos archivos como raz, a fin de recordar para iniciar su editor de texto con
sudo
.
En primer lugar, abrir y editar el archivo / etc / default / movimiento y cambiar la lnea de
start_motion_daemon = sin ser start_
motion_daemon = s; este archivo determina si el demonio se iniciar cuando emitimos
comando de arranque del demonio,
www.it-ebooks.info
pgina 217
Captulo 10 el spi de frambuesa
206
y hacer que se ejecute en el comando es exactamente lo que queremos. Ahora abordamos la
configuracin, as que adelante y abrirlo. El archivo est
/etc/motion/motion.conf, por lo que abrirlo. Lo primero que se nota es que el modo demonio se
establece en off, as que adelante
y establecer que para el movimiento, porque queremos que se inicie como un demonio, lo que
significa que se ejecutar en segundo plano. Siguiente
que hay que comprobar es la lnea videodevice y asegrese de que el dispositivo est incluido
coincide con los dispositivos que confirmamos anteriormente (por
la mayora de nosotros, eso debera ser / dev / video0).
Despus de esto, empezamos de entrar en los detalles prcticos de la situacin. En primer lugar
podemos modificar la altura, anchura,
y la tasa de fotogramas. Los valores predeterminados son para capturar dos imgenes por
segundo a una resolucin de 320 x 240. Esto crea un archivo acerca
12 Kb de tamao, se puede comprobar mediante el examen de los archivos que generamos
anteriormente durante nuestra prueba de la captura de movimiento.
Puede aumentar este como mejor le parezca; slo recuerda que no exceda la mxima resolucin
disponible de la webcam
y tambin que cada archivo aumentar de tamao a medida que aumenta la resolucin.
El siguiente es el umbral. El valor de umbral es la cantidad de cambio que debe ocurrir de modo
que una imagen ser
capturado. Puede dejar este valor por ahora, pero recuerda que ms adelante porque es posible
que desee realizar la captura ms o
menos sensitivo.
El siguiente es ffmpeg_cap_new, que determina si o no desea capturar un archivo de vdeo. Me
he vuelto ste
apagado, pero se puede mantener en si desea generar archivos de vdeo de su captura de
movimiento. Estos archivos se generan como .swf
Ahora archivos (piensan YouTube), pero se puede cambiar editando la variable
ffmpeg_video_codec.
Por ltimo, se puede cambiar el target_dir, que dice donde salida de los archivos de imagen
cuando se ejecuta como una
demonio. ste es importante, ya que se necesita saber dnde se encuentra para copiar los
archivos. Adems, es
importante ser consciente de que el directorio / tmp es slo eso, un espacio temporal. Este
espacio temporal se vaca cada
hora de que su sistema operativo se reinicie.
Este tipo de funcionalidad es perfecta para lo que nos proponemos, porque no quieren tener que
lidiar con los archivos adicionales que

permanecer en el disco hasta que limpiar hacia fuera; simplemente reiniciar el SPI frambuesa y
listo de nuevo. Sin embargo, hay
casos en los que podemos desear que estos archivos se guardan ms all de un reinicio del
sistema, pero ms en ellos ms tarde.
Por ltimo, guardar todos los cambios y salir para que podamos probar la nueva configuracin!
Aparece mi config aqu para su referencia:
demonio en
process_id_file /var/run/motion/motion.pid
setup_mode fuera
videodevice / dev / video0
v4l2_palette 8
de entrada 8
0 norma
frecuencia 0
gire 0
anchura 320
240 de altura
2 imgenes por segundo
minimum_frame_time 0
netcam_tolerant_check fuera
auto_brightness fuera
brillo 0
contraste 0
0 saturacin
hue 0
roundrobin_frames 1
roundrobin_skip 1
switchfilter fuera
umbral de 1500
threshold_tune fuera
noise_level 32
noise_tune en
despeckle EedDl
www.it-ebooks.info
pgina 218
Captulo 10 el spi de frambuesa
207
smart_mask_speed 0
lightswitch 0
minimum_motion_frames 1
pre_capture 0
post_capture 0
brecha de 60
max_mpeg_time 0
output_all fuera
output_normal en
output_motion fuera
calidad 75
ppm fuera
ffmpeg_cap_new fuera
ffmpeg_cap_motion fuera
ffmpeg_timelapse 0
ffmpeg_timelapse_mode diaria
ffmpeg_bps 500000

ffmpeg_variable_bitrate 0
swf ffmpeg_video_codec
ffmpeg_deinterlace fuera
snapshot_interval 0
localice fuera
text_right% Y-% m-% d \ n% T% q
text_changes fuera
text_event% Y% m% d% H% M% S
target_dir / tmp / movimiento
snapshot_filename% v-% Y% m% d% H% M% S-instantnea
jpeg_filename% v-% Y% m% d% H% M% S% q
movie_filename% v-% Y% m% d% H% M% S
timelapse_filename% Y% m% d-Timelapse
webcam_port 8081
webcam_quality 50
webcam_motion fuera
webcam_maxrate 1
webcam_localhost en
webcam_limit 0
control_port 8080
control_localhost en
control_html_output en
track_type 0
track_auto fuera
track_motorx 0
track_motory 0
track_maxx 0
track_maxy 0
track_iomojo_id 0
track_step_angle_x 10
track_step_angle_y 10
track_move_wait 10
track_speed 255
track_stepsize 40
www.it-ebooks.info
pgina 219
Captulo 10 el spi de frambuesa
208
Esta prueba ser igual que el anterior; simplemente queremos iniciar el movimiento y
comprobar que se ejecutar y captura
imgenes. Esta vez, sin embargo, que desea utilizar el archivo de configuracin y el Linux
rdenes de marcha, ya que nos permite
emular un encendido de nuestra frambuesa SPI. As que adelante y ejecutar sudo
/etc/init.d/motion iniciar este debe comenzar
movimiento. Debe ver a su luz de la cmara se enciende y si se mueve alrededor, usted debe
comenzar a ver capturas de imgenes
aparecer casi inmediatamente en / tmp / movimiento (o donde usted ha sealado target_dir).
Tambin puede comprobar que el proceso de
se est ejecutando escribiendo lo siguiente para comprobar si hay un proceso de movimiento en
ejecucin:
$ Ps -ef | movimiento grep
Solucin de problemas
Sigue sin funcionar? Repasa la seccin sobre la conexin de la cmara web, desenchfelo,
vuelva a conectarlo, y comprobar la

salida de dmesg. Validar que la salida se ve en dmesg coincide con lo que se obtiene a partir de
udev en examinar el dispositivo
usted ha dicho es la cmara web. El paquete de movimiento se instala correctamente? examine
la salida de apt-get para ver que
hizo; si no, pruebe a instalar de nuevo o intente lo siguiente:
$ Apt-get instalar movimiento --reinstall
Se ejecuta el movimiento cuando se ejecuta en la lnea de comandos con -s movimiento? Si no,
examinar los mensajes en el
pantalla, lo que le ayudar a entender lo que ha ido mal.
Si todo lo que no, ir por encima de su archivo de configuracin de movimiento. Usted
accidentalmente errores de fijar una de las variables? Hizo
se olvida de establecer el valor en / etc / default / mocin para s? Es el movimiento demonio
que se ejecuta, pero no se puede ver las imgenes
aparecer en el directorio de salida dada? Si no es as, consulte el archivo / var / log / messages,
que es un repositorio de mensajes
de demonios que son iniciados por el sistema, incluyendo el movimiento. La salida en pantalla
antes de que se debera estar ahora en
Este archivo.
alertar a usted mismo
Hasta el momento, hemos adjuntado una cmara web, configuramos la cmara web, software de
deteccin de movimiento instalado y configurado para que se
inicie automticamente junto con su Frambuesa SPI. Ahora tenemos un sistema de monitoreo en
toda regla que se puede utilizar para
espiar a sus enemigos y mantenerle notificado acerca de los intrusos entren en su santuario
interior. Bueno, casi. Ahora necesita
crear un sistema que le permitir enviar mensajes a s mismo para que pueda ser alertado
cuando entren intrusos.
Para ello, vamos a tomar ventaja de uno de los sistemas de mensajera ms antiguos y ms
eficiente que se haya desarrollado:
correo electrnico. Nosotros, sin embargo, a ir tan lejos como para configurar nuestro propio
servidor de correo y de dominio; eso es una gran tarea y bien
fuera del alcance de lo que vamos a hacer en este captulo. En su lugar, ser el objetivo de
configurar un cliente de correo ligero
para reenviar mensajes a un servicio de correo electrnico en la que puede ser enviada a usted
en cualquier gadget espa mano que utiliza para
recibir correo. Ahora que conoce el plan, vamos a empezar.
Instalacin ssmtp
La aplicacin que va a utilizar para enviar nuestro correo al servidor de correo se llama ssmtp.
Ssmtp es un correo muy simplificado
agente de transferencia (MTA) que se utiliza cuando un administrador del sistema tiene que ser
capaz de enviar correo desde un servidor, pero no lo hace
deber ser configurado como un dominio de correo de pleno derecho. La ventaja en este caso
debera ser obvio: un significativamente menos intensivo
proceso de configuracin y mucho menos gastos generales, todo lo cual debe gritar Frambuesa
Pi a usted.
Con todo esto en mente, vamos a empezar. Para empezar, la emisin de la orden de descargar e
instalar la aplicacin ssmtp
e instalarlo:
$ Sudo apt-get install ssmtp
www.it-ebooks.info
pgina 220
Captulo 10 el spi de frambuesa
209
El resultado debe ser como la ma:

$ Sudo apt-get install ssmtp


Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
libgnutls-openssl27
Se instalarn los siguientes paquetes NUEVOS:
ssmtp libgnutls-openssl27
0 actualizados, 2 se instalarn, 0 para eliminar y 71 no actualizados.
Se necesita descargar 272 kB de archivos.
Despus de esta operacin, se utilizarn 279 kB de espacio de disco adicional.
Desea continuar [S / n]?
Una vez que hemos instalado ssmtp tenemos que configurarlo. El archivo de configuracin es
ssmtp /etc/ssmtp/ssmtp.conf.
Abrirlo con su editor de texto favorito y empezar.
Lo primero que tenemos que configurar el correo es donde est destinado a ir. La mayora de la
gente que lee este libro se
tener algn lugar diferente y especfica que quieren que su correo a ir. A pesar de todos los
buenos espas quieren ser lo ms eficiente
es posible, puedo tratar slo con lo que est delante de m, as que va a configurar esto para la
opcin ms genrica y gratuita
al alcance de todos: Gmail.
As que tenemos que configurar el correo en donde se va a enviar; en ssmtp, esto se rige por el
valor mailhub. Este valor
es el nombre DNS del servidor de correo para el dominio vamos a utilizar para enviar correo
saliente. Este nombre es tradicionalmente
correo. <sudominio>. <cualquier> , pero para nosotros ser smtp.gmail.com:587, que es el
servidor SMTP de Google.
Despus de haber establecido el servidor de Gmail, es posible que haya notado que incluimos a:
587 en el extremo. La estudiosa entre vosotros
reconocer esto como un nmero de puerto. El an ms estudiosa sera consciente de que 587
no es el puerto predeterminado para SMTP
(Que es el puerto 25). Es el puerto dedicado para Transport Layer Security (TLS) e-mail,
(correo electrnico seguro a travs de SSL). Esto significa
tenemos que aadir otro par de opciones para asegurar que tenemos las comunicaciones
cifradas:
UseTLS = S
UseSTARTTLS = S
La siguiente opcin es para configurar la opcin de nombre de host, que es el nombre de host
que aparece por la frambuesa SPI. Adelante
y la lista de un nombre de host para el SPI si tiene un dominio. Si no es as, slo le dan algo as
como raspberry.spi . La siguiente opcin
debe ser FromLineOverride = s, lo que nos permite establecer el campo "de" en un correo
electrnico si as lo desea.
Finalmente, los ltimos conjuntos de opciones estn relacionadas con la autenticacin. Hay tres
opciones que necesita para configurar aqu.
Los dos primeros son los ms evidentes: nombre de usuario y contrasea. As que adelante y
aadir AuthUser=username@gmail.com
y AuthPass = contrasea. El tercero, que es un poco ms tortuoso, es la opcin AuthMethod,
que se utiliza para especificar
el mtodo de autenticacin se utilizar para permitir que los usuarios se registren con el
servidor. El mtodo que va a utilizar para
Google es el mtodo de INICIO DE SESIN. Aunque otros servidores de correo pueden no
exigirn que se especifica, con Google que deberamos
establecer AuthMethod = INICIO DE SESIN.

Eso es; su configuracin ahora debe ser algo como esto:


= raz
Mailhub = smtp.gmail.com: 587
UseTLS = S
UseSTARTTLS = S
Nombre de host = raspberry.spi
FromLineOverride = yes
AuthUser=username@gmail.com
AuthPass = contrasea
AuthMethod = LOGIN
www.it-ebooks.info
pgina 221
Captulo 10 el spi de frambuesa
210
Nota

debera ser evidente, pero siempre debe tener una contrasea de root seguro.
Un cambio final para hacer es asegurar estos datos para que nadie excepto los que tenemos la
intencin puede leer el archivo. Esta
es muy importante porque usted ha puesto su contrasea de Gmail preciosa en el archivo! La
solucin es cambiar
permisos para que nadie ms que los posibles usuarios puedan leerlo. Ejecutar lo siguiente:
$ Sudo chmod 640 /etc/ssmtp/ssmtp.conf
Esto cambiar el archivo de modo que el nico usuario que puede acceder a l es la raz, y los
nicos usuarios que pueden son miembros de
el grupo de correo.
Una vez ssmtp est configurado, todo lo que tiene que hacer es lo invocan para enviar el correo
electrnico y reciba para enviar el capturado ...
Espere. Hay algo ms que necesitamos; necesitamos una forma de invocar ssmtp de manera que
podemos decir que para enviar el archivo a nuestro
e-mail y nos alertar a los intrusos. Y necesitamos una herramienta que puede hacer todo esto
desde la lnea de comandos. La mejor herramienta aqu
uno llamado Mutt.
Instalacin y uso de mutt
La herramienta Mutt es un cliente de correo electrnico basado en texto con el fantstico lema
de "Todo el correo chupan clientes. ste es un asco menos ".
(No es obvio por qu lo estamos usando?) La otra ventaja de mutt sobre otros clientes de
correo es que es feliz de enviar
adjuntos de los archivos en el sistema de archivos, lo cual es clave para lo que tenemos que
hacer que el SPI enva imgenes de nuestros intrusos.
Ahora se sabe que es perro callejero que estamos instalando, seguir adelante e instalarlo
mediante el uso de lo siguiente:
$ Sudo apt-get install mutt
El resultado debe tener este aspecto:
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
Se instalarn los siguientes paquetes extras:
libgpgme11 libpth20 libtokyocabinet9
Paquetes sugeridos:
gpgsm gnupg2 urlview mixmaster
Se instalarn los siguientes paquetes NUEVOS:
libgpgme11 libpth20 libtokyocabinet9 mutt
0 actualizados, 4 se instalarn, 0 para eliminar y 71 no actualizados.

Necesidad de conseguir 1.985 kB de archivos.


Despus de esta operacin, se utilizarn 7.181 KB de espacio de disco adicional.
Mutt hizo instalar de acuerdo? Bueno. Como he mencionado anteriormente, mutt est diseado
para ser pequeo, simple y fcil de usar y
configurar-nobles objetivos. Con esto en mente, el proceso de configuracin de Mutt es muy
simple: slo tenemos que indicar a Mutt
el uso de la MTA (que es ssmtp). Para ello, es necesario crear un archivo que va a vivir
escondidos en la casa de los usuarios de Pi '
directorio. El archivo es .muttrc, que contendr una sola lnea:
configurar Sendmail = "/ usr / sbin / ssmtp" "
En lugar de utilizar un editor de texto que vamos a utilizar una "trampa" para hacer esto. Ejecute
el siguiente comando:
$ Echo "configurar sendmail = \" / usr / sbin / ssmtp \ ""> /.muttrc
Eso es.
www.it-ebooks.info
pgina 222
Captulo 10 el spi de frambuesa
211
Nota

las barras invertidas antes de las comillas son escapes.


Puede ir a buscar en el directorio personal del usuario root para el .muttrc archivo y comprobar
el contenido. S, es
all y exactamente como se esperaba. El archivo .muttrc es un archivo de configuracin
utilizado por Mutt para cargar importantes opciones de configuracin
automticamente en el arranque. Muchas aplicaciones utilizan diferentes archivos ocultos que
terminan en rc, por lo que si se preguntan cmo una
aplicacin es el almacenamiento de ciertas opciones de configuracin, echar un vistazo en su
directorio personal para los archivos a partir de un perodo
y terminando en rc.
Probando el Sistema de Alerta
Ahora que hemos instalado y configurado ssmtp y mutt, tenemos que ponerlos a prueba en
combinacin. La forma de usar
Mutt es, curiosamente, para ejecutar el comando mutt. La sintaxis es bastante simple, por lo que
enviamos un correo electrnico desde la
lnea de comando. Ejecute el siguiente comando:
$ Echo "el rpido zorro marrn salta sobre el perro perezoso" | sudo -s mutt "[INTRUSO
ALERTA] Prueba de
sistema intruso "<su correo electrnico> @ gmail.com
S que es un mandato largo, pero no se preocupen porque voy a explicarlo en un momento.
Vaya por delante y comprobar su
correo electrnico; usted debe tener uno all desde la raz de usuario tal como se muestra en la
Figura 10-3 !
Figura 10-3. E-mail de la Rasperry SPI
www.it-ebooks.info
pgina 223
Captulo 10 el spi de frambuesa
212
Ahora voy a explicar la sintaxis y cmo vamos a utilizar esto para enviar mensajes de alerta
desde el SPI. El mensaje anterior
puede ser dividido en unos pocos segmentos mucho ms pequeas. La sintaxis bsica que
utilizo es la siguiente:
echo <contenido de correo> | mutt -s <asunto> <destinatario>

Usted puede preguntarse sobre el uso de eco. Es necesario para generar el valor que se pasa
como la produccin y
a continuacin, el tubo de haber dirigirla hacia mutt, en lugar de proporcionar como un
argumento.
Nota

puede incluir frases enteras con espacios en un comando shell encerrando toda la cosa en la cita
marks.you incluso puede escapar cotizaciones dentro de un comando para crear citas dentro de
las citas!
Debemos tambin ser capaz de enviar archivos adjuntos con nuestro correo electrnico. Mutt
nos ha tratado aqu, ya que proporciona la
capacidad de adjuntar archivos a su correo electrnico saliente. La razn por la que decidi
utilizar mutt para crear la frambuesa es SPI
porque no slo es fcil de configurar, pero tambin proporciona la capacidad de enviar archivos
adjuntos.
La sintaxis para enviar un archivo adjunto con la direccin de correo que acabamos de enviar es
el siguiente:
echo <contenido de correo> | mutt -s <asunto> -a <nombre de archivo> - <destinatario>
S, es tan fcil como eso! El -a significa adjuntos, y el - se utiliza para separar los archivos
adjuntos de los destinatarios.
Solucin de problemas
Todo funcionaba como se esperaba? Si no es as, intente configurar tanto ssmtp y mutt desde
cero. Cuando se enva un
e-mail, lo hace de salida de un error con respecto a datos de acceso? Si es as, vuelva a verificar
su nombre de usuario y contrasea. Es una
de error en cuanto al tipo de inicio de sesin sin apoyo? Si es as comprobar la configuracin de
TLS y el ajuste AuthMethod. Usted escribe su
servidor de correo de forma incorrecta? Son sus espacios en blanco? Es decir espacios o
tabuladores al final de cualquiera de las entradas. Cuando t
las modificaciones de permisos hicieron que los mueva demasiado de modo que ahora ya no se
puede leer el archivo?
Tambin es posible que se produzca un error si se intenta y enviar un correo electrnico que el
usuario pi, sin sudo porque el usuario es pi
no es un miembro del grupo de correo electrnico en su sistema. Si desea permitir que el
usuario pi o cualquier otro usuario para el caso, se
hay que aadirlos usando gpasswd, la sintaxis es la siguiente:
$ Gpasswd -a <nombre de usuario> electrnico
De acuerdo, entonces todo se solucion? Puede capturar la presencia de intrusos. Puede alertar a
s mismo de la frambuesa SPI. T
puede enviar las imgenes capturadas de los intrusos a s mismo de su SPI. Entonces, qu
queda? La automatizacin de todo.
Uniendo fuerzas
Hasta ahora hemos hecho lo siguiente:
Se adjunta una cmara web a la frambuesa SPI

Instalacin y configuracin de la aplicacin de monitorizacin para utilizar la webcam

Se utiliza la cmara web y controlar la aplicacin para funcionar como un sensor de movimiento
y capturar imgenes

Instalado y configurado como un MTA ssmtp

www.it-ebooks.info
pgina 224

Captulo 10 el spi de frambuesa


213
Instalado y configurado

mutt aplicacin de correo para utilizar ssmtp


Enviado por correo electrnico desde la lnea de comandos para nosotros mismos utilizando
ssmtp y

chucho
El problema que queda es que hemos hecho la mayor parte de esta con la intervencin humana.
Necesitamos una solucin que
permite la captura de imgenes para activar automticamente un correo electrnico que se
establece en nosotros, con la imagen adjunta. A pesar de que
Estoy seguro de que alguien ha ideado una solucin de software para este problema, no hay
ninguna razn por la que no podemos escribir una
solucin de nosotros mismos!
Entendiendo el problema
El primer paso en cualquier problema de diseo de software, no importa lo pequeo que un
trabajo, es entender cules son las necesidades exactas de la
solucin de software son. As que vamos a empezar haciendo una lista de nuestros objetivos:
Captura de una nueva imagen debe dar lugar a la solucin

Un e-mail debe ser enviado con cualquier imagen capturada nuevo (s)

Debe funcionar de forma automtica sin necesidad de ser iniciado manualmente

De acuerdo, eso parece la solucin que necesitamos. Sin embargo, hay algunas otras cosas que
tener los dos principales
requisitos pone en juego. Estos requisitos adicionales son los siguientes:
Slo nuevas imgenes deben ser enviadas

Slo las imgenes capturadas por el movimiento deben ser enviados

La aplicacin siempre debe estar en ejecucin y no necesita ser iniciado manualmente, al igual

movimiento
De acuerdo, eso parece un poco mejor; ahora estamos bastante firme sobre qu es exactamente
nuestra solucin de software debe hacer. Pero que
acerca de cmo debe hacerlo? Tal vez deberamos ser un poco ms especfico sobre cmo la
aplicacin vamos a escribir lograr
su objetivo.
Algunas cosas que debemos tener en cuenta al desarrollar la aplicacin incluyen los siguientes:
Debemos enviar el momento en que se captur la imagen

Debemos revisar y enviar regularmente, pero teniendo en cuenta que el correo electrnico tiene
un retraso, un cheque semiregular

debera ser suficiente


Bien, ahora estamos cocinando. Los que estn buscando como algunos buenos requisitos para
recordar la hora de construir nuestra
solicitud. Estbamos especfico en lo que queramos y acerca de cmo debemos lograrlo. Ahora
que sabemos exactamente lo
que queremos en nuestra aplicacin, podemos pasar a la siguiente etapa.
Tomando decisiones
El siguiente paso despus de la elaboracin de lo que queremos lograr es que tomar algunas

decisiones sobre cmo debe lograrse.


As, la primera decisin: cmo debemos escribir esto? Bueno, mucho de lo que queremos
lograr aqu es la manipulacin de la concha
comandos. Queremos listar los archivos de imagen y luego usar esos archivos de imagen dentro
de otro comando shell para enviar
la alerta por correo electrnico. Adems, ha aprendido golpe al principio de este libro, por lo
que lo hace un ajuste perfecto para lo que queremos
desarrollar.
www.it-ebooks.info
pgina 225
Captulo 10 el spi de frambuesa
214
Est bien, sabemos lo que el lenguaje que vamos a trabajar. A continuacin, cmo vamos a
empezar a ste? Veo dos opciones aqu y
tanto informar a la direccin que tomamos:
Una de ellas es tener la aplicacin ejecutada desde el script de inicio para

porque el movimiento
quieren que corren juntos. Esto significa que podemos asegurar que ambos estn ejecutando en
el
mismo tiempo y que la secuencia de comandos tendra que ser siempre en ejecucin y a
continuacin, comprobar peridicamente.
La segunda opcin es tener la secuencia de comandos se ejecuta automticamente con
regularidad. Esto significa que

No tendra que iniciar y mantener la secuencia de comandos se ejecuta de forma permanente.


Tambin significa que si el
sucede lo peor y el guin muere, no es necesario para hacer frente a eso y reiniciar el sistema, ya
que se
se inicia automticamente de nuevo. Lo que significa es que tenemos que tener algo que va a
ejecutar
la secuencia de comandos en un temporizador, pero que puede ser manejado por el demonio
cron.
Por lo tanto, tenemos dos opciones para decidir a partir, pero vamos a poner fuera de esa
decisin por un momento, porque no es otra cosa
tenemos que mirar al principio.
Qu vamos a hacer con las imgenes? Tenemos dos opciones ms:
En primer lugar es para eliminar cada imagen despus de lo enviamos. Esto es bueno porque
significa que podemos ahorrar en

el espacio a medida que limpiar despus de nosotros mismos.


La segunda opcin es hacer un seguimiento de todas las imgenes que tenemos y enviar slo los
nuevos.

Esto significa mantener una pista de atletismo de los cuales las imgenes que tenemos en stock
para que podamos determinar
cules envan.
As que, ahora que usted entiende las opciones, es hora de tomar decisiones. Yo s que es difcil
decidir, por lo que me dej
que sea ms fcil para usted. En lugar de cuatro guiones posibles, vamos a reducir a dos:
Una secuencia de comandos que se ejecuta desde

cron y encontrar imgenes, enviarlas y retire


ellos

Un script que va a comenzar con el

demonio de movimiento y har un seguimiento de todos los archivos, mantenga una ejecucin
contar y luego reconocer cuando hay una nueva imagen.
Bien, ahora que tenemos dos diseos de trabajo, vamos a la cabeza a la siguiente etapa.
Solucin Proyectos
"Espere; usted tiene dos soluciones, y que en realidad no elegir uno. . Usted escama gigante ", le
oigo decir eso y es cierto;
No lo hice. Porque tenamos dos maneras muy diferentes para lograr nuestro objetivo nico que
senta que sera mejor para cubrir tanto, dar
que las opciones, y compartir una cierta direccin. Por lo tanto, vamos a empezar por mirar los
puntos en comn entre los dos; primero,
ambos tendrn que tener una referencia para la carpeta donde los archivos capturados de
movimiento van a ir. Podramos seguir
esto en una variable y simplemente editarlo cuando cambiamos la carpeta de salida, pero que es
mucho esfuerzo para ir a, el cambio de dos
archivos enteros. Esa no es la forma en Linux. As que vamos a cargarlo desde el archivo de
configuracin de movimiento y puede hacer con ella. Significa
que necesitamos dos variables: una variable que contendr el archivo de configuracin de
movimiento y el segundo que vamos a crear
dinmicamente para contener la ubicacin del archivo. La variable que contendr el nombre del
archivo es bastante simple con
MOTIONCONF = / etc / movimiento / motion.conf.
Nota

todo lo siguiente se hace como usuario root (se puede


sudo su
para obtener una shell de root) ya que es el usuario root
que permita hacer surgir
movimiento
.
www.it-ebooks.info
pgina 226
Captulo 10 el spi de frambuesa
215
El siguiente paso es tirar de la variable de salida, y la mejor manera de hacerlo es con una
combinacin de dos rdenes: uno
es grep, que se encuentra toda la informacin en un archivo que contiene un patrn particular,
en este caso, cualquier lnea que contenga
target_dir la lnea, pero tambin tenemos que garantizar que evitamos los comentarios, por lo
que necesitamos para tomar las lneas que comienzan con
target_dir. Esto se logra mediante la simple adicin de un smbolo adicional para que grep
puede saber que estamos buscando un valor
que comienza con nuestro valor deseado. Esto nos da una orden de grep "^ target_dir" $
MOTIONCONF. Si ejecuta esta
comando que ver el siguiente resultado:
raz @raspberrypi $ grep "^ target_dir" $ MOTIONCONF
target_dir / tmp / movimiento
Ahora el siguiente problema con nuestro comando levanta su cabeza: hay que deshacerse de la
parte target_dir por lo que slo
tener el lugar que estamos buscando. Para eliminar la primera parte, tenemos que utilizar el
comando awk, que se dividir la propuesta
datos a los valores de espacio en blanco de forma predeterminada. Esto es perfecto y luego slo
tiene que imprimir el segundo valor que resulta. Asi que

la construccin de este a nuestro sistema, obtenemos lo siguiente:


root @ Raspberry Pi $ grep "^ target_dir" $ MOTIONCONF | awk '{print $ 2}'
/ Tmp / movimiento
Ahora todo lo que queda es para empujar el resultado en una variable, lo cual se logra con el
smbolo de back-garrapata, que nos da
un resultado final de este:
MOTIONDIR = 'grep "^ target_dir" $ MOTIONCONF | awk '{print $ 2}' '
Ahora, una cosa que no puede haber considerado: si no se crea este directorio, el movimiento lo
crear cuando se
capta su primera imagen, pero que puede tomar horas. ahora que lo necesitamos, as que vamos
a seguir adelante y hacer una comprobacin para ver si
existe y si no, lo crea. La comprobacin para ver si existe un directorio es si [-d < nombre del
directorio >]. Tambin necesitamos
aadir una nota para ver si el directorio no existe, as que adelante y aadir un signo de
exclamacin antes de la -d, lo que significa
no . Por ltimo, mezclar esto con un mkdir y usted debe tener la siguiente sentencia if:
Si [ ! -d $ MOTIONDIR]; entonces
mkdir $ MOTIONDIR
fi
Adems de hacer el directorio, es necesario asegurarse de que es propiedad del usuario correcto.
El demonio de movimiento
est a cargo de la raz, pero esta propiedad se pasa al movimiento, por lo que necesita para
aadir un chown a este comando, lo que da
este valor:
Si [ ! -d $ MOTIONDIR]; entonces
mkdir $ MOTIONDIR
movimiento chown $ MOTIONDIR
fi
Bien, ahora tenemos el directorio donde se encuentran los archivos, y tenemos que escribir algo
de cdigo para comprobarlo
y contar el nmero de archivos. Normalmente, se podra pensar "dulce, vamos a utilizar ls para
listar los archivos en el directorio."
Pero esto no va a ayudar en caso de que no existen archivos porque ls nos darn un error. Para
ello, tenemos que utilizar la
encontrar comandos. Para encontrar todos los archivos .jpg desarrolladas dentro de ese
directorio, tenemos que aadir un par de argumentos para encontrar el
siguiendo:

-maxdepth 1 dice no ir dentro de los subdirectorios necesarios para buscar

-type f para decir que slo para buscar archivos


www.it-ebooks.info
pgina 227
Captulo 10 el spi de frambuesa
216
Tambin me envolv el comando en un par de parntesis, lo que significa que el archivo est
destinado a ser tratada como una
formacin. Esto nos da el siguiente comando:
ListFiles = ( 'encontrar $ MOTIONDIR -maxdepth 1 -type f')
Ahora, en caso de que haya archivos que no sean imgenes, hay que aadir en un grep para
extraer slo los archivos .jpg. Un simple grep
para cualquier cosa que termina en .jpg (usando el operador $) debera ser suficiente. Esto nos
dar la siguiente:
ListFiles = ( 'encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg')

Ahora necesitamos obtener el recuento de archivos en la lista con el comando wc -l. Esto
mostrar una lista de todos los archivos en un directorio
y si la tubera que a WC con el argumento -l, obtenemos el nmero de archivos de una carpeta
determinada. Esto nos da nuestra
lnea siguiente:
Numfiles = "encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg | wc -l '
Hay una pieza final comn de cdigo que ser comn a ambas secuencias de comandos que
podemos trabajar hasta ahora: el chucho
lnea de gestor de correo que enviar el archivo de imagen y un mensaje. La original que
enviamos era bueno, pero he modificado ligeramente
aqu para incluir un nombre de variable para el archivo adjunto que es el imageFile variables .
Tambin he aadido un nuevo -F / root /.
muttrc opcin, lo que obliga a Mutt para utilizar el archivo muttrc raz creamos. La nueva lnea
de correo es la siguiente:
echo -e "Atencin, se detect \ nun intruso en la" fecha "\ n Por favor ver la imagen adjunta para
detalles" |
mutt -F /root/.muttrc -s "[INTURDER ALERTA] Intruso detectado" -a $ imageFile you@gmail.com
Como se puede ver, es un poco de un bocado. He aadido un poco de texto bonito cuerpo que
va a salir de la siguiente manera:
Advertencia,
Un intruso se detect a Dom Dic 15 de 2012 22:50:32 EST
Por favor, vea la imagen adjunta para detalles
Usted puede preguntarse cmo llegu a esas nuevas lneas de all, y la forma en que fue capaz
de conseguir una fecha y hora muy agradable
de salida en la direccin de correo. La fecha y la hora vienen del comando date cscara, que he
encerrado en respaldo a las garrapatas
nos dar la salida. Tambin he aadido algunas ns \, que son referencias a los saltos de lnea,
pero slo cuando se le da eco de la -e
argumento para indicarle que debe interpretar los valores de escape especiales. Ahora que
tenemos un bloque de cdigo para poder trabajar, vamos a empezar con
nmero de secuencia de comandos 1, el cron ejecuta una sola ejecucin de la escritura.
Guin 1
Para empezar, vamos a repasar lo que tenemos hasta ahora; podemos obtener el nmero de
archivos en el directorio de trabajo correcto. El siguiente
luego paso es comprobar si ese nmero muestra que de hecho hay archivos para trabajar, lo que
quiere decir> 0. Este
significa que tenemos la siguiente sentencia if:
si [$ numfiles -gt 0]; entonces
Con nuestra sentencia if en su lugar, deberamos ahora sabemos si hay algn archivo que
necesitamos para enviar con urgencia. Ahora
slo tenemos que recorrer la lista y enviar cada uno como un e-mail y luego eliminarlo. Para
iterar a travs de cualquier cosa,
necesitar utilizar un bucle; en este caso, vamos a utilizar un bucle for. Este bucle dividir cada
imagen fuera de la lista como su propio
variables, lo que nos permite tomar medidas en cada uno despus de otro. El bucle se ver como
la siguiente, donde es imageFile
la imagen actual de la lista; esta imagen cambia a la siguiente en la lista cada vez que el bucle
comienza de nuevo. los
para el bucle se terminan cuando no hay ms imgenes para procesar de la lista.
para imageFile en $ ListFiles
www.it-ebooks.info
pgina 228
Captulo 10 el spi de frambuesa

217
Nota

Recuerda
chmod + x
la secuencia de comandos para que pueda ser ejecutado!
Est bien, eso es todo. Tenemos todos nuestros bloques de cdigo, as que vamos a montar. El
guin final debera ser algo como esto:
#! / bin / bash
MOTIONCONF = / etc / movimiento / motion.conf
MOTIONDIR = 'grep sudo "^ target_dir" $ MOTIONCONF | awk '{print $ 2}' '
Si [ ! -d $ MOTIONDIR]; entonces
mkdir $ MOTIONDIR
movimiento chown $ MOTIONDIR
fi
ListFiles = ( 'encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg')
Numfiles = "encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg | wc -l '
si [$ numfiles -gt 0]; entonces
para imageFile en $ ListFiles
hacer
echo -e "Atencin, se detect \ nun intruso en la" fecha "\ n Por favor ver la imagen adjunta
para detalles" \
| mutt -s "[INTURDER ALERTA] Intruso detectado" \
-F /root/.muttrc \
-a $ imageFile - <su correo electrnico>
rm $ imageFile
hecho
fi
Guin 2
Debido a que hemos terminado de debatir guin 1, vamos a trabajar en el guin de 2. Este es un
poco ms compleja. La primera cosa
tenemos que hacer es aadir un contador que nos dir la cantidad de imgenes que hemos
tratado ya. Inicialmente, podemos establecer este
a 0. As que vamos a inicializar esta variable con LASTCOUNT = $ numfiles. A continuacin
hay que crear un bucle simple que se mantenga el
aplicacin que se ejecuta siempre; Esto es, de hecho, el tipo ms fcil de bucle y es simplemente
mientras que la verdadera (para ms informacin sobre los bucles while,
vase el captulo 7).
Ahora dentro del bucle necesitamos actualizar LASTCOUNT y numfiles, por lo que los
comandos se ejecutan de nuevo para actualizar
sus valores. Necesitamos comparar para ver si hemos tenido nada nuevo aadido (es decir, que
es mayor que numfiles
LASTCOUNT). Si es as, tenemos que leer fuera de los ltimos archivos y enviarlos.
Normalmente, esto suena como el lugar para un caso
declaracin, pero en este caso vamos a utilizar un bucle while porque queremos hacer las cosas,
mientras que es mayor que LASTCOUNT
Numfiles, por lo que nuestro interior segundo bucle while es la siguiente:
mientras que [$ LASTCOUNT -lt $ numfiles]
Ahora simplemente tenemos que actualizar; primero tenemos que conseguir cada imagen un
nombre de archivo nuevo. Por suerte, se encuentran en
orden porque el paquete de movimiento de los nombra de forma secuencial. Esto significa que
simplemente hay que tirar de la parte superior X
para compensar la diferencia. Esto significa que necesitaremos un valor iterador de modo que
podemos contar cada una de la parte superior X a medida que avanzamos. Asi que
crear un iterador se pone a 0 fuera del segundo bucle, pero dentro de la primera, por lo que es

restablecido por cada ronda.


www.it-ebooks.info
pgina 229
Captulo 10 el spi de frambuesa
218
Ahora que tenemos este iterador, podemos usarlo con los ListFiles de lograr cada uno de los
nmeros. Porque estamos
el tratamiento de ListFiles como una matriz, slo tenemos que utilizar el iterador para acceder a
ese elemento de la matriz. Tenemos que envolver el
toda salida de matriz dentro de un par de llaves, porque esto llevar a cabo la matriz eliminacin
de referencias y nos dar la
valor de salida:
ImageFile = $ {ListFiles [$ ITERATOR]}
Por ltimo, hay que incrementar LASTCOUNT y ITERATOR por lo que pueden contar de cada
imagen como la procesamos.
Esto se realiza con la siguiente:
LASTCOUNT = 'expr $ LASTCOUNT + 1' y ITERATOR = 'expr $ ITERATOR + 1'
Las golosinas funcin expr valores como expresiones matemticas y devuelve su resultado, que
es perfecto cuando
queremos incrementar un valor de 1.
Por lo tanto, ahora hay que montar cada uno de estos elementos de cdigo. Cuando se ponen
juntos, deben tener este aspecto:
#! / bin / bash
MOTIONCONF = / etc / movimiento / motion.conf
MOTIONDIR = 'grep sudo "^ target_dir" $ MOTIONCONF | awk '{print $ 2}' '
Si [ ! -d $ MOTIONDIR]; entonces
mkdir $ MOTIONDIR
movimiento chown $ MOTIONDIR
fi
ListFiles = "encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg '
Numfiles = "encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg | wc -l '
LASTCOUNT = 0
mientras que la verdadera
hacer
ListFiles = ( 'encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg')
Numfiles = "encontrar $ MOTIONDIR -maxdepth 1 -type f | grep $ jpg | wc -l '
ITERATOR = 0
mientras que [$ LASTCOUNT -lt $ numfiles];
hacer
ImageFile = $ {ListFiles [$ ITERATOR]}
echo -e "Atencin, se detect \ nun intruso en la" fecha "\ n Por favor ver la imagen
adjunto para ms detalles "\
| mutt -F /root/.muttrc \
-s "[INTURDER ALERTA] Intruso detectado" \
-a $ imageFile - <su correo electrnico> LASTCOUNT = 'expr $ LASTCOUNT + 1' = 'expr
ITERATOR
$ ITERATOR + 1 'hecho del sueo 1
hecho
Pruebas
Por lo tanto, vamos a tomar este guin estupendo para dar una vuelta. Asegrese de que el
movimiento est en marcha y ejecutar la secuencia de comandos.
Nota

para cancelar la ejecucin del script, pulse Ctrl + C para detener execution.this es la nica

manera de detener la escritura 2.


No se debe esperar para ver cualquier salida, por lo que simplemente ver la bandeja de entrada
de correo electrnico (vase la figura 10-4 ).
www.it-ebooks.info
pgina 230
Captulo 10 el spi de frambuesa
219
Como se puede ver, funciona. De hecho, funciona bastante bien; Tengo 18 e-mails no ledos
desde el sistema de deteccin de intrusos.
Perfecto! Ahora que hemos probado que la secuencia de comandos funcionar en el envo de
mensajes de correo electrnico de nuevas imgenes del movimiento, nos
necesitar configurar la secuencia de comandos para que se inicie automticamente el requisito
de que un ltimo permanece insatisfecha. Mirando
de nuevo, decidimos que bamos a iniciar cada uno de los dos guiones de diferentes maneras: 1
guin se aadira a cron y
guin 2 se aadira a la secuencia de comandos de inicio de movimiento, de modo que se
ejecutara con movimiento!
Para la escritura 1, las cosas son bastante simples. cron evaluar automticamente si se debe
ejecutar algo una vez por minuto, por lo
todo lo que necesitamos hacer es tener una tarea programada que se ejecutar en todo momento.
As como root (ya que queremos ejecutar este como root), abrir el
cron con crontab -e y escriba lo siguiente:
* * * * * /root/script1.sh
Eso es; que no hemos aadido guin 1 para iniciar y ejecutar desde una entrada crontab cada
minuto. De manera que cada minuto que
comprobar para ver si hay algn archivo en / tmp / movimiento, enviarlos a nosotros y luego
borrarlos, que cumple con todos
nuestras necesidades.
mtodo de puesta en marcha de la segunda secuencia de comandos requiere la modificacin de
la secuencia de comandos de lanzamiento para /etc/init.d/motion movimiento,
as que adelante y abrir hasta que se va a editar como root. El formato bsico de cualquiera de
estas secuencias de comandos de inicio es tener un gran caso
declaracin de que los procesos de la accin indicada es para llevar a cabo ser que arranque,
parada, reinicio, o cualquier otro nmero de requerido
casos. A fin de buscar la lnea de inicio, que es la accin que queremos mejorar. Dentro de esto,
podemos ver que hay una
nmero de controles anidados y los preliminares; queremos que nuestro script slo debe
iniciarse despus del movimiento, que se invoca por
el inicio - parada - comando demonio.
As que adelante y aadir un enlace a su secuencia de comandos despus de eso; a continuacin,
aadir una y en el extremo. El signo dice "ejecutar este script
y luego dejarlo ir en el fondo. "Si no hacemos esto, el script de inicio asumir que su prxima
funcin es esperar
ese guin a extremo, que no lo har! Su seccin de inicio actualizada final debera tener este
aspecto:
comienzo)
si check_daemon_enabled; entonces
Si ! [-d / Var / run / animacin]; entonces
Figura 10-4. Una bandeja de entrada llena!
www.it-ebooks.info
pgina 231
Captulo 10 el spi de frambuesa
220

mkdir / var / run / movimiento


fi
chown movimiento: movimiento / var / run / movimiento
log_daemon_msg "Desde $ DESC" "$ NOMBRE"
Si start-stop-daemon movimiento --chuid --start --oknodo --exec $ DAEMON -b; entonces
y /root/script2.sh
log_end_msg 0
ms
log_end_msg 1
RET = 1
fi
fi
;;
Una vez que haya terminado de editar, ir y reinicie el Pi; a continuacin, volver a conectarse y
ejecutar una comprobacin para ver si el guin es
corriendo! Es? Fantstico, ahora tiene un sistema totalmente automatizado frambuesa SPI de
su propio!
$ Ps -ef | guin grep
raz 2,058 1 0 11:23 pts / 0 00:00:00 / bin / bash /home/pi/script2.sh
Solucin de problemas
Como estoy seguro de que est consciente por ahora, hay tantas cosas que pueden salir mal
cuando se hace el desarrollo de software. Asi que
hay un montn de espacio para la solucin de problemas. y eso hace que mi le da consejos sobre
dnde buscar un poco ms difcil.
Dicho esto, hay una serie de cosas que puede hacer para facilitar el diagnstico.
Hay una razn por la que empec fuera de secuencias de comandos escribiendo a cabo cada
pequea seccin de cdigo y luego agregarlo. Esto es
una versin de lo que se llama la prueba de aislamiento , lo que implica hacer todo lo que pueda
para aislar una seccin particular de
Cdigo que se ejecuta con entradas accesibles y luego evaluar las salidas para ver que funcionen
como se pretende.
Como se puede imaginar, haciendo de este bloque por bloque significa que puede probar cada
poco de una aplicacin a medida que crece.
El siguiente paso es aprovechar el comando echo para emitir un valor de trabajo o en un lugar
en el cdigo.
Se puede ver lo que una aplicacin est trabajando con y donde dentro del cdigo que se est
ejecutando, lo que le permite recoger en
valores inesperados y donde el software est fallando.
Por ltimo, si todo lo dems falla, cambiar la cscara de #! / Bin / bash #! / Bin / -x golpe . La
adicin del -x pondr su
instancia de golpe en el modo de depuracin y se dar salida a todas las variables, cada
manipulacin, y todos los cambios que
pasa a travs de. Si bien puede haber un montn de salida de esto es la forma ideal para ver lo
que est pasando dentro de una problemtica
solicitud.
A dnde ir desde aqu
Guau. Hemos recorrido un largo camino desde que empezamos. Tenemos:
Se adjunta una cmara web para nuestra frambuesa SPI

Instalacin y configuracin de la aplicacin de monitorizacin para utilizar la webcam

Se utiliza la cmara web y controlar la aplicacin para funcionar como un sensor de movimiento
y capturar imgenes

Instalado y configurado como un MTA ssmtp


Instalado y configurado

mutt aplicacin de correo para utilizar ssmtp


www.it-ebooks.info
pgina 232
Captulo 10 el spi de frambuesa
221
Figura 10-5. Tal vez debera haber invertido en un Stetson!
Enviar un e-mail desde la lnea de comandos para nosotros mismos utilizando ssmtp y

chucho
Escrito dos guiones para que conteste automticamente los nuevos archivos de imagen y luego
enviarlas por correo electrnico a

nosotros mismos utilizando todos los anteriores


Este es un gran logro, pero ahora qu? Como espas, todos ustedes saben cmo adaptabilidad
es la clave del xito.
Lo que hemos pasado por aqu debe ser una gua de cmo se puede aprovechar el software
como el movimiento, y ssmtp
chucho. Ahora debera tambin estar familiarizado con el uso de dmesg y cmo localizar los
dispositivos recin cargadas e integrarlos
en su sistema. Por ltimo, debera ver cmo se puede utilizar scripts escritos en bash para llenar
un vaco en su pila de aplicaciones
y resolver problemas complejos. Entonces, qu se puede hacer desde aqu?
Usted puede agregar un adaptador inalmbrico, por lo que no necesita ser cableados en, dndole
una inalmbrica

Frambuesa SPI que puede esconderse en la ms inocua de los lugares.


Puede agregar un paquete de bateras USB para eliminar la necesidad de acceso a una toma de
corriente.

Puede cambiar el directorio que los archivos se almacenan en fuera de

/ Tmp. De esta manera, usted puede tener su


persistieron las imgenes en el disco, donde se puede revisar en una fecha posterior.
O puede ir Bond completa. Me he tomado mi inspiracin ms lejos, modificado el software para

capturar vdeo completo, y desactivado la captura de imgenes. He cambiado la ubicacin de


almacenamiento para estar lejos
desde / tmp y he adjuntado un paquete de bateras USB. Luego aade un poco de cinta adhesiva
para sujetar todo esto
juntos y monta la cmara dentro de un sombrero (vase la figura 10-5 ).
Resumen
Usted debe ser capaz de entender la salida de dmesg y saber cmo funciona udev. Tambin debe
ser capaz de configurar
la aplicacin de movimiento, la aplicacin ssmtp, y la aplicacin mutt. Por ltimo, usted debe
ser capaz de enviar e-mail con
diferentes destinatarios, el texto del cuerpo, temas, y los archivos adjuntos.
www.it-ebooks.info
pgina 233
223
Captulo 11

Pi Media Center
Las cosas bellas sobre un Frambuesa Pi son que es tan flexible un dispositivo y sus usos
potenciales son casi ilimitadas.
Usted puede hacer casi cualquier cosa con Pi, y tiene una serie de puertos de entrada perifricos
que se pueden utilizar con gran efecto.
Tambin debe tener en cuenta que, si bien su Pi puede mostrar a travs de un estndar de
HDMI, la potencia del dispositivo
no termina all. Se puede mostrar en una completa resolucin de 1920 x 1080, comnmente
llamado 1080P, que es el nivel de referencia
para la alta definicin. Su diminuto Raspberry Pi es capaz de mostrar vdeo a resolucin
completa de alta definicin, y
gracias a la intercalacin de sonido HDMI tambin puede reproducir audio en el mismo canal
que el vdeo. Ese es el objetivo de
Este captulo; vamos a aprovechar las capacidades de reproduccin de medios de comunicacin
del Pi para crear dos variedades diferentes de
centro de medios Pi. Se trata de un centro de reproduccin de vdeo que se puede utilizar para
reproducir vdeos en la red. Se puede sentarse unido a
el televisor y le permitir aprovechar el Internet para el vdeo. El segundo es un dispositivo de
reproduccin inalmbrica que le permite
remotamente transmitir su coleccin de msica y reproducir a travs de una red.
Video con XBMC
Como se mencion anteriormente, una gran ventaja de Frambuesa Pi es que se puede reproducir
en alta definicin completa, pero necesitamos un
manera de tomar ventaja de esto, que es donde entra en XBMC.
XBMC (que es la abreviatura de XBox Media Center ) fue diseado originalmente como un
centro de medios para el original (grasa)
XBox. La gente le gusta el proyecto tanto que posteriormente ha sido portado a casi todos los
sistemas operativos
bajo el sol, incluyendo pero no limitado a Windows, Android, OS X, y el IOS. Incluso hay una
en toda regla, stand-alone
versin llamada XMBCbuntu que es un puerto de Ubuntu que se ha instalado XBMC,
preconfigurado y listo para salir de la
caja. Dado su amplio uso, la naturaleza de cdigo abierto y fcil de trabajo con la naturaleza, se
ha portado en forma de horquilla y muchas veces
con su progenie, incluyendo MediaPortal, Plex, Voddlern, y Boxee. Esto viene a demostrar lo
popular centro de medios
sistemas son; Como ejemplo adicional, Boxee hace un pequeo dispositivo llamado el Boxee
Box que cuesta hacia arriba de $ 200 dlares. Qu
estamos creando es una herramienta que es tan poderosa y slo cuesta $ 35 el precio del Pi. As
que ahora que todo excitan
acerca de la brillante y brillante futuro centro de medios de comunicacin, es el momento de
tomar ventaja de ello.
Ha alcanzado el final del libro, as que es hora de romper la artillera pesada y hacer un Linux
adecuada instalacin de la
fuente de la aplicacin. Aunque la mayora de las aplicaciones vienen envasados a travs de aptget, hay algunos que no lo hacen y necesitan
para ser compilado. Instalacin de la fuente XBMC es un proceso algo complicada y es muy
lento. Tenemos
elegido para compilar desde el cdigo fuente, porque no slo le ayuda a travs de una de las
formas ms complejas de conseguir
una aplicacin que se ejecuta en Linux, pero tambin significa que nuestra instalacin de
XBMC est optimizado para nuestro sistema, ya
hemos construido en nuestro propio sistema. Histricamente, la compilacin de la fuente se
considera que es un proceso arduo,
pero a medida que el nmero de personas que utilizan Linux ha crecido tambin ha crecido la

necesidad de herramientas sencillas de usar la instalacin y el aumento


de los sistemas de instalacin binarios precompilados como apt-get. Pero como con todo,
todava hay momentos en los que el uso de
un prebuild nunca es tan bueno como lo hace desde cero, y como el tiempo que ha ido en,
herramientas para la recopilacin y han crecido
llegar a ser mucho ms accesible. Es tambin ms fcil de hacer cuando alguien le gua a travs
del proceso, lo cual es lo
este libro se trata.
www.it-ebooks.info
pgina 234
Captulo 11 pi Media Center
224
Entonces empecemos. En primer lugar, he caminado lejos de la acumulacin primaria de
Raspbian para utilizar uno de los poco corte
bajar versiones de Raspbian llamada Piscis que est disponible desde Raspbian en
www.raspbian.org/PiscesImages . yo soy
el uso de Piscis, ya que ha sido cortado y no incluye tanta sobrecarga, lo que significa ms
energa para
hacer lo que queremos: las pelculas que ponen! Descargar e instalar esta imagen en una tarjeta
SD (necesitar una con 4 GB de
espacio) y a continuacin, arranque y obtener el sistema operativo adjunto a Internet para que
pueda trabajar con l. El usuario por defecto es raspbian
y la contrasea tambin es raspbian, que es tambin la contrasea de root.
raSpMC
hay una manera mucho ms sencilla de obtener XBMC a trabajar en su pi: utilizando una
versin de pre-compilados de raspbian llamada
raspMC.You puede descargar un instalador raspMC y empuje la imagen en una tarjeta SD tal
como lo hizo con
raspbian.You puede descargar esta imagen desde
http://www.raspbmc.com/download/
.Este instalacin es muy
simple y tomar entre 15-25 minutes.You simplemente conectar el pi a su red, encenderlo, y
fuera de la
instalador va. se descargar todo lo que necesita de la internet y luego fijado up.This es con
mucho el
forma ms fcil de conseguir XBMC se ejecutan en su pi. Para aquellos de ustedes que tomar el
camino de la utilizacin de raspMC, puede saltar al
la seccin "Inicio y utilizacin XBMC" de este captulo.
Nota

Si
ifconfig
Se echa en falta, instale el
net-tools
empaquetar utilizando
apt-get
. Vase el Captulo 3 para ms informacin sobre
apt-get
.
Una vez que ests dentro del sistema operativo, es el momento de emitir algunos comandos y
comienza a recibir instalar XBMC.
Este es un proceso muy largo: el compilador es mucho ms lento que usando apt-get, porque
todo el software instalado por
apt-get se ha precompilado, cortando de esta manera a cabo algunos pasos. La compilacin en

este caso toma cerca de 12 horas -s horas, medio da.


Me parece que lo mejor es dejar la compilacin final a ejecutar durante la noche por lo que no
se vern tentados a sentarse all durante horas y verlo.
El proceso lleva mucho tiempo debido a la naturaleza del procesador ARM y la velocidad a la
que puede
trabajo. Esto significa que la compilacin lleva ms tiempo, pero podemos hacer tanto trabajo
en un nivel ms bajo de energa.
Configuracin para Construir
Vamos a empezar con la construccin. El primer paso es asegurarse de que podemos desviar la
mayor cantidad de energa y la memoria a la compilacin
como sea posible. En el ncleo de Raspbian que hizo esto con el comando rapsi-config, pero
Piscis no tiene ese control
la escritura, por lo que tiene que cambiar manualmente mediante la sustitucin del archivo
start.elf con una diferente que cambiar la forma
se asignan los recursos del sistema. Ejecutar este comando:
$ Sudo cp /boot/arm224_start.elf /boot/start.elf
Esto copiar la versin que asigna 224 MB a la RAM del sistema y 32 MB a grficos en el
sistema que se utilizar.
Ahora tenemos que hacer este cambio de configuracin registrada en el sistema y luego reiniciar
el sistema para que los cambios pueden
en vigor mediante la emisin de los dos comandos siguientes:
$ Sudo update-RPI
reinicio $ sudo
Una vez que el sistema se haya reiniciado, y usted est de nuevo en marcha, es mejor si se
actualiza el sistema operativo para asegurarse de que es
ejecutar las ltimas versiones de software. Para ello, vamos a aprovechar apt-get dicindole que
se actualice con la ltima
www.it-ebooks.info
pgina 235
Captulo 11 pi Media Center
225
versin de su configuracin a travs de Internet y luego actualizar todos los paquetes
disponibles en su sistema. Para ello, emita
los siguientes comandos:
$ Sudo apt-get update
$ Sudo apt-get upgrade
Esta ejecucin se llevar un poco de tiempo porque tiene que descargar, descomprimir, y
reemplazar un gran nmero de
Componentes del sistema. As que esta en funcionamiento y luego ir a tomar un caf; se debe
hacer cuando regrese, y
se puede pasar a la siguiente etapa.
Nota

Algunos de estos paquetes se hayan instalado previamente en su system.we ellos incluyen ya


que podran no ser
instalada para todo el mundo.
El siguiente paso es instalar los paquetes que nos d la capacidad de compilar; que incluyen las
herramientas esenciales de construccin,
herramientas de configuracin automtica, comprimir y descomprimir herramientas, y as
sucesivamente. Para instalar estas herramientas, ejecute el comando siguiente:
$ Sudo apt-get install build-essential autoconf ccache gawk gperf mesa-utils postal de
descompresin
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio

Leyendo informacin de estado ... Hecho


build-essential ya es la versin ms reciente.
Los siguientes paquetes se instalan automticamente y ya no son necesarios:
libcdio-cdda0 libcdio-paranoia0 libcdio10 libcelt0-0 libdb4.8 librpmio2
Use 'apt-get autoremove' para eliminarlos.
Se instalarn los siguientes paquetes extras:
autotools-dev automake libglew1.7 libsigsegv2
Paquetes sugeridos:
autoconf2.13 autoconf-archive-estndares de GNU autoconf-doc libtool gettext distcc gawk-doc
Glew-utils
Se instalarn los siguientes paquetes NUEVOS:
autoconf automake autotools-dev ccache gawk gperf libglew1.7 libsigsegv2 mesa-utils
Se actualizarn los siguientes paquetes:
zip descomprimir
2 actualizado, 9 se instalarn, 0 para eliminar y 187 no actualizados.
Necesidad de conseguir 2.647 kB / 3.174 kB de archivos.
Despus de esta operacin, se utilizarn 7.143 KB de espacio de disco adicional.
Desea continuar [S / n]?
Una vez que haya instalado estos paquetes bsicos, pasar a la tarea mucho ms grande de
instalar. Ahora tenemos que instalar una
nmero de paquetes que se van a instalar las bibliotecas de vdeo y un decodificador y libreras
grficas especializadas. Adems de todo
estos, se tendrn que instalar algunos paquetes para que pueda conectarse de forma remota a la
XBMC. Este comando
es muy larga, as que recomiendo descargar el cdigo fuente de la pgina web Apress. Hay un
script dentro de
ese paquete que va a ejecutar estos comandos para usted. El comando para instalar este
gigantesco nmero de paquetes
es como sigue:
$ Sudo apt-get install autotools-dev-dev comerr dpkg-dev libalsaplayer-dev \
libapt-pkg-dev-dev libasound2 libass-dev libatk1.0-dev \
libavahi-cliente-dev libavahi-common-dev libavcodec-dev libavformat-dev \
libavutil-dev-dev libbison libbluray-dev libboost1.49-dev \
www.it-ebooks.info
pgina 236
Captulo 11 pi Media Center
226
libbz2-dev libc6-dev-dev libcaca libcairo2-dev \ libc-dev-bin
libcdio-dev-dev libclalsadrv libcrypto ++ - dev libcups2-dev-libcurl3 gnutls-dev \
libdbus-1-dev-libdbus simplista-1-dev-dev libdirectfb libdrm-dev libegl1-mesa-dev \
libelf-dev-dev libenca libept-dev-dev libevent libexpat1-dev libflac-dev \
libfontconfig1-dev-dev libfreetype6 libfribidi-dev libgconf2-dev \
libgcrypt11-dev-libgdk pixbuf2.0-dev libgl1-mesa-dev libgles2-mesa-dev \
libglew-dev-dev libglewmx libglib2.0-dev libglu1-mesa-dev \
libgnutls-dev libgnome-llavero-dev libgpg-error-dev-dev libgtk2.0 libhal-dev \
libhunspell-dev-dev Libice libicu-dev-dev libidn11 libiso9660-dev \
libjasper-dev-dev libjbig libjconv-dev-dev libjpeg8 libkrb5-dev \
libldap2-dev-dev libltdl liblzo2-dev-dev libmad0 libmicrohttpd-dev \
libmodplug-dev-dev libmp3lame libmpeg2-4-dev libmysqlclient-dev \
libncurses5-dev-dev libnspr4 libnss3-dev-dev libogg libopenal-dev \
libp11-kit-dev-dev libpam0g libpango1.0-dev libpcre ++ - dev libpcre3-dev \
libpixman-1-dev-dev libpng12 libprotobuf-dev-libpthread stubs0-dev \
libpulse-dev-dev librtmp libsamplerate0-dev \
libsdl-image1.2-dev-dev libsdl1.2 libslang2-dev \

libsm-dev-dev libsmbclient libspeex-dev \


libsqlite3-dev-dev libssh libssh2-1-dev-dev libssl libstdc ++ 6-4,6-dev \
libtagcoll2-dev-dev libtasn1-3 libtiff4-dev-dev libtinfo libtinyxml-dev \
libts-dev-dev libudev libv8-dev-dev libva libvdpau-dev \
libvorbis-dev-dev libvpx libwebp-dev libwibble-dev \
libx11-dev-libx11 xcb-dev-dev libxapian libxau-dev \
libxcb-glx0-dev-libxcb render0-dev-libxcb shm0-dev \
libxcb1-dev-dev libxcomposite libxcursor-dev libxdamage-dev \
libxdmcp-dev-dev libxfixes libXext-dev-dev libXft libXi-dev \
libXinerama libxml2-dev-dev-dev libXmu libxrandr-dev \
libxrender-dev-dev libxslt1 libxss-dev libXt-dev \
libXtst-dev-dev libxxf86vm libyajl-dev LibZIP-dev linux-libc-dev \
lzma-dev mesa-common-dev python-dev-dev python2.7 x11proto-compuesta-dev \
x11proto-core-dev-x11proto daos x11proto-dev-DRI2-dev-x11proto correcciones-dev \
x11proto-gl-dev x11proto-input-dev x11proto-kb-dev-x11proto randr-dev \
x11proto-registro-dev x11proto-render-dev-x11proto scrnsaver-dev \
x11proto-xext-dev-x11proto XF86VidMode-dev xtrans-dev-x11proto Xinerama-dev \
zlib1g-dev
Esta lista de paquetes tiene una serie de barras en el extremo; que son los saltos de lnea que
dicen que el comando actual
debe ser ejecutados y que habr otra lnea de comandos siguiente. Los saltos de lnea son muy
tiles cuando se
necesita para romper los comandos largos sobre un gran nmero de lneas, como he hecho aqu.
Este comando tomar un tiempo
para funcionar porque hay un gran nmero de paquetes para ser descargado e instalado. As que
ejecutar este comando, vaya
cocinar la cena, y luego volver.
Una vez que haya instalado todos estos paquetes, tiene que copiar algunos archivos especiales
en su sitio y crear otros
que estn vinculados en la ubicacin correcta para que puedan ser utilizados. Una vez ms, van
a ser incluidos dentro de la secuencia de comandos que tenemos
creado para ayudar a facilitar la ejecucin de estos comandos.
El primero de ellos es copiar el VideCoreIV incluye archivos de firmware Frambuesa Pi en / usr
/ include. Esta
directorio es un directorio especfico del que se buscar el compilador para las bibliotecas y los
archivos que se van a incluir dentro de
una generacin. Para copiar todos estos archivos en el lugar correcto, ejecute los siguientes
comandos:
$ Sudo cp -R / opt / vc / include / * / usr / include
cp $ sudo / opt / vc / include / interfaz / VCO / pthreads / * / usr / include / interfaz / VCO
www.it-ebooks.info
pgina 237
Captulo 11 pi Media Center
227
Ahora, adems de copiar estos archivos en su lugar, hay un nmero hay que articular
correctamente en la derecha
ubicacin, de modo que se puede leer. Mientras que en el ltimo paso copiamos incluir archivos
que son predominantemente cdigo fuente, esta
tiempo que necesitamos para vincular en porciones precompilados del firmware en el lugar
correcto para ser ledo por el compilador en
tiempo de compilacin. En lugar de copiar, estamos vinculando porque estamos felices de usar
los archivos en su ubicacin actual y
ahorrar en un poco de espacio. Ejecute el siguiente:
$ Sudo ln -fs /opt/vc/lib/libEGL.so /usr/lib/libEGL.so

$ Sudo ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so


$ Sudo ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1
$ Sudo ln -fs /opt/vc/lib/libEGL_static.a /usr/lib/libEGL_static.a
$ Sudo ln -fs /opt/vc/lib/libEGL_static.a /usr/lib/arm-linux-gnueabihf/libEGL_static.a
$ Sudo ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/libGLESv2.so
$ Sudo ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so
$ Sudo ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2
$ Sudo ln -fs /opt/vc/lib/libGLESv2_static.a /usr/lib/libGLESv2_static.a
$ Sudo ln -fs /opt/vc/lib/libGLESv2_static.a /usr/lib/arm-linux-gnueabihf/libGLESv2_static.a
$ Sudo ln -fs /opt/vc/lib/libbcm_host.so /usr/lib/libbcm_host.so
$ Sudo ln -fs /opt/vc/lib/libbcm_host.so /usr/lib/arm-linux-gnueabihf/libbcm_host.so
$ Sudo ln -fs /opt/vc/lib/libvchiq_arm.a /usr/lib/libvchiq_arm.a
$ Sudo ln -fs /opt/vc/lib/libvchiq_arm.a /usr/lib/arm-linux-gnueabihf/libvchiq_arm.a
$ Sudo ln -fs /opt/vc/lib/libvchiq_arm.so /usr/lib/libvchiq_arm.so
$ Sudo ln -fs /opt/vc/lib/libvchiq_arm.so /usr/lib/arm-linux-gnueabihf/libvchiq_arm.so
$ Sudo ln -fs /opt/vc/lib/libvcos.a /usr/lib/libvcos.a
$ Sudo ln -fs /opt/vc/lib/libvcos.a /usr/lib/arm-linux-gnueabihf/libvcos.a
$ Sudo ln -fs /opt/vc/lib/libvcos.so /usr/lib/libvcos.so
$ Sudo ln -fs /opt/vc/lib/libvcos.so /usr/lib/arm-linux-gnueabihf/libvcos.so
Nota

Se encontr que estos enlaces pueden ser eliminadas por otros procesos y, a veces reiniciando;
si lo hacen, es necesario
para volver a crearlos.
Ahora que ha vinculado todos los archivos en el lugar correcto, seguir adelante y obtener el
cdigo fuente. Cambiar el
directorio en el directorio de inicio con esto:
$ cd
Si no puede introducir una tilde (), puede intentar volver a configurar la disposicin del teclado
Pi con dpkg-reconfigure
teclado de configuracin y luego reiniciar el Pi. Tambin se puede simplemente usar cd sin
argumentos, ya que tambin lo har
le llevar a su directorio personal. La tilde es slo un smbolo para hacer referencia el directorio
personal del usuario actual.
Ahora que ha cambiado en su directorio principal, es el momento de descargar el cdigo fuente
para que pueda trabajar
con l y compilar todo correctamente. Afortunadamente, una herramienta moderna que ha
aparecido hace hacer el cdigo fuente
descargas mucho ms fcil: Git, que lleva el nombre de Linus Torvalds de la fama del ncleo
Linux. Git se utiliza para el cdigo fuente
control de la gestin y la versin; todos los usuarios pueden descargar la versin actual fuente
de un conjunto de cdigo fuente y
presentar modificaciones al repositorio central.
Nota

esto significa que siempre debemos descargar la ltima versin, pero puede ser que consiga una
construccin menos estable si algo es
mal con la versin actual de Git. La mayora de los desarrolladores se esfuerzan por mantener
sus repositorios Git en buen estado de funcionamiento, pero es
algo a tener en cuenta.
www.it-ebooks.info
pgina 238
Captulo 11 pi Media Center
228

Todo lo que queremos hacer en este momento es descargar el cdigo fuente en su directorio
principal para trabajar con l. Para ello, utilice
el comando git y decirle que para clonar el repositorio de cdigo fuente en el sistema. Tambin
hemos aadido la --depth 1
al comando para decir que slo queremos clonar el ms reciente 1 revisin del cdigo fuente (la
ltima absoluta
versin del cdigo) y evitar una gran cantidad de cdigo histrica adicional y no deseado.
Comience su clon ejecutando el siguiente:
$ Git clone --depth 1 git: //github.com/xbmc/xbmc-rbp.git
Clonacin en 'XBMC-RBP' ...
remoto: Contar objetos: 35172, hecho.
remota: La compresin de objetos: 100% (22895/22895), hecho.
remota: Total 35172 (delta 15265), reutilizados 27885 (delta 10698)
objetos que reciben: 100% (35172/35172), 158.26 MiB | 385 KiB / s, por hacer.
La resolucin de los deltas: 100% (15265/15265), hecho.
Ahora que hemos clonado el cdigo fuente de XBMC, tenemos que empezar a construir la
aplicacin. Esta es la parte que
tendr el ms largo con diferencia. Cambie el directorio al directorio del XBMC-RBP recin
creado porque hay unos cuantos ltima
pasos que necesitan tomar.
Cambiar archivos con sed y expresiones regulares
Antes de seguir adelante y dar inicio a la construccin de nuestra aplicacin XBMC, tenemos
que hacer algunos ajustes menores
el cdigo fuente para que se compila en la forma exacta que queremos que lo haga. En lugar de
hacer estos cambios por parte,
utilizar una herramienta llamada Sed (abreviatura de corriente del Editor ). Hace justo como su
nombre lo indica: se necesita un flujo de texto y luego
realiza ediciones en ese texto. La parte difcil de Sed es que hace uso de un lenguaje altamente
especializado llamado regulares
expresiones , que se utilizan para llevar a cabo el equivalente de una funcin de bsqueda y
reemplazo.
Las expresiones regulares evolucionaron a partir de la necesidad de validar un conjunto dado de
datos para ver si se ajusta a una norma determinada
y editar cuando se encuentra el ejemplo dado. Mientras que un hallazgo simple y reemplazar es
suficiente para la mayora de la gente cuando se edita
texto, cmo se realiza una bsqueda y reemplazo cuando se desea editar nicas palabras que
comienzan con T como la tercera letra en una
dado frase? Probablemente uno de los casos ms sencillos para una expresin regular es el
correo electrnico. Desea confirmar que un determinado
cadena es una direccin de correo vlida: un correo electrnico contendr un nombre de usuario
(de quin es), un dominio (de donde provenga, por ejemplo, Hotmail o
Gmail), y habr una en (@) smbolo en el medio. Est bien, podemos hacer eso con slo un
comodn como *. As que algo
que se parece a * @ * ser un e-mail, verdad? Bueno, la * que utilizamos para denotar algo va
a recoger cualquier cosa. Incluso
espacios, nmeros, smbolos extraos, y as sucesivamente. As que necesitamos una manera de
recoger algo que se compone de una serie de
caracteres vlidos de correo electrnico (letras, nmeros, tiempo, subraya) y luego @, y
finalmente un dominio vlido. Esto ser
una coleccin de cartas, seguido de un punto y entonces tal vez otro conjunto (o unas pocas
series) de las letras. Al describir esto es
agotador, es por ello que tenemos un lenguaje especializado para la realizacin de ellos.
Ahora que usted entiende lo que estamos tratando de lograr, ejecute los dos comandos
siguientes para modificar el archivo
herramientas / RBP / setup-sdk.sh. Estos comandos sed hacen uso de la opcin -i, que se

encarga de editar el archivo dado:


$ Sed -i 's / USE_BUILDROOT = 1 / USE_BUILDROOT = 0 /' herramientas / RBP / setupsdk.sh
-i $ sed 's / cadena de herramientas = \ / usr \ / local \ / bcm-gcc / cadena de herramientas = \ /
usr /' herramientas / RBP / setup-sdk.sh
Estos comandos cambian la variable USE_BUILDROOT desde un valor de 1 a un valor de 0
dondequiera que se encuentre dentro de
ese archivo y la sustitucin de cualquier instancia de la frase cadena de herramientas = / usr / /
bcm-gcc local con cadena de herramientas = / usr. Una vez t
han editado el archivo de herramientas / RBP / setup-sdk.sh, debe ejecutar con el comando
siguiente:
$ sudo sh herramientas / RBP / setup-sdk.sh
www.it-ebooks.info
pgina 239
Captulo 11 pi Media Center
229
El comando generar un makefile, pero no mostrar ninguna imagen en pantalla. Una vez que se
termin la hora de editar
el recin creado herramientas / RBP / depende / XBMC / Makefile. Todo lo que necesita hacer a
continuacin, se ejecuta una ltima sed en el archivo para agregar
un # al inicio de cualquier instancia de cd $ (FUENTE); $ (Configurar):
-i $ sed 's / cd $ (FUENTE); $ (Configurar) / # cd $ (FUENTE); $ (Configurar) / '
herramientas / RBP / depende / XBMC / Makefile
Lo que hemos hecho es cambiar la forma en que nuestro sistema compilar el software XBMC
y hacer que use algunos de nuestro sistema
bibliotecas en lugar de utilizar los que se pueden encontrar dentro del cdigo fuente de XBMC.
Ahora que se ha creado el Makefile, es hora de compilar!
La compilacin de cdigo fuente
La mayora de las compilaciones utilizan una lgica muy simple: se ejecuta el comando
./configure para generar un archivo de configuracin
que sabe acerca de la composicin de su sistema. Esto genera un archivo que se llama un
makefile . Este archivo est en un poco
lenguaje especializado que describe la forma en que se debe realizar una compilacin de una
coleccin. No es una secuencia de comandos
que ejecuta el cdigo en s mismo; es una coleccin de direcciones que sern utilizados por la
aplicacin maquillaje.
Desafortunadamente, esta compilacin es ligeramente ms avanzada. Tenemos que hacer que
nuestras herramientas de configuracin para que coincida con el
configuracin que estamos tratando de hacer antes de correr la configuracin y la compilacin.
Esto tomar un poco de tiempo para ejecutar, por lo
poner en marcha e ir a otra taza de t.
El comando a ejecutar es la siguiente:
$ Make -C herramientas / RBP / depende / XBMC /
Este comando se ejecutar la marca dentro del directorio de herramientas / RBP / depende /
XBMC /, lo que generar la config
archivo. La salida de este es muy largo, pero cuando se hace correctamente, debera ver algo
como esto en su
ventana de la consola:
ejemplos / Makefile.am: instalar './depcomp'
Makefile.am: instalar './INSTALL'
autoreconf: directorio Dejando 'lib / libdvd / libdvdnav'
Por favor, (re) ejecutar configure ...
#discos compactos ../../../../; ./configure --prefix = / opt / XBMC-bcm / XBMC-bin --build =
i686-linux --host = brazo-

bcm2708-linux-gnueabi --enable-GLEs --disable-SDL --disable-x11---disable xrandr --disableOpenMAX


--disable-unidad ptica --disable-dvdcss --disable-joystick --disable-debug --disable-crystalhd
--disable-vtbdecoder --disable-VAAPI --disable-VDPAU --disable-pulso --disable-projectM
--with-plataforma = frambuesa pi---disable-optimizaciones --enable-RPI-CEC-api
#discos compactos ../../../../; hacer -j 1
#discos compactos ../../../../; make install
hacer: Dejar directorio '/ home / raspbian / XBMC-RBP / herramientas / RBP / depende /
XBMC'
Ahora que la compilacin de la utilidad de configuracin ha ido a travs de su tiempo para
realizar la configuracin. Esta
comando de configuracin es muy larga y otra vez, se encuentra el cdigo que llevar a cabo
esto para usted en el cdigo fuente Apress
repositorio, el comando de configuracin es la siguiente:
$ ./configure --prefix = / Usr --build = arm-linux-gnueabihf --host = arm-linux-gnueabihf \
--localstatedir = / var / lib --con-plataforma = frambuesa-pi --disable-gl-enable GLEs \
--disable-x11 --disable-sdl --enable-ccache --enable-optimizaciones \
--enable-external-bibliotecas --disable-goom --disable-hal-pulso --disable \
--disable-VAAPI --disable-VDPAU --disable-xrandr --disable-Airplay \
www.it-ebooks.info
pgina 240
Captulo 11 pi Media Center
230
--disable-alsa --enable-avahi --disable-libbluray --disable-dvdcss \
--disable-debug --disable-joystick --enable-mediados --disable-NFS --disable-perfilado \
--disable-ProjectM --enable-RSXs --enable-RTMP --disable-VAAPI \
--disable-vdadecoder --disable-externa-ffmpeg --disable-unidad ptica
Especificar un nmero de argumentos para el comando de configuracin que especifica dnde
esta instalacin debe
ir (--prefix = / usr), cuya arquitectura para construir (--build = arm-linux-gnueabihf), donde para
mantener su funcionamiento
archivos (--localstatedir = / var / lib), y de la plataforma (--with-plataforma = frambuesa-pi),
junto con su conjunto
gran cantidad de desactivar las opciones de correo electrnico y eliminar caractersticas tales
como las unidades de CD y joysticks y permitir cosas como
optimizaciones y Avahi automatizados de deteccin de perifricos. En ltima instancia, cuando
el comando ha finalizado la ejecucin,
la salida de la pantalla debe tener este aspecto:
Configuracin XBMC:
Depuracin: No
Profiling: No
Optimizacin: S
Sin CROSSCOMP .:
ARCH objetivo: el brazo
CPU de destino: ARM1176JZF-s
OpenGLES: S
ALSA: No
DBUS: S
VDPAU: No
VAAPI: No
CrystalHD: No
VDADecoder: No
VTBDecoder: No
OpenMAX: No

Joystick: No
XRandR: No
GOOM: No
RSXs: S
ProjectM: No
Tocado de la piel: No se
X11: No
Bluray: No
TexturePacker: S
MID Soporte: S
ccache: S
ALSA Soporte: No
PulseAudio: No
HAL Soporte: No
DVDCSS: No
Avahi: S
No libre: S
ASAP Codec: No
MySQL: S
Servidor web: S
apoyo libRTMP: S
apoyo libsmbclient: S
www.it-ebooks.info
pgina 241
Captulo 11 pi Media Center
231
libnfs soporte al cliente: No se
apoyo libafpclient: No
AirPlay apoyo: No se
AirTunes apoyan: No
Unidad ptica: No
apoyo libudev: S
soporte libusb: No
apoyo libcec: No
apoyo libmp3lame: S
apoyo libvorbisenc: S
apoyo libcap: No
FFmpeg externa: No
prefijo: / usr
Esta configuracin especifica todas las banderas que pedimos en nuestra instalacin, que est
diseado para obtener lo mejor de
el Pi de frambuesa. As pues, ahora hemos hecho todo lo configure en la compilacin real. El
propio comando altamente
decepcionante para lo que va a hacer: decirle al sistema para pasar las prximas 12 horas la
generacin de cdigo para nuestro sistema. Todos estos
otros trabajos que toman un poco de tiempo no es nada en comparacin con la duracin de esta
compilacin tendr una duracin de. As silla de montar, y ejecutar este
simple comando de cuatro letras de la marca:
$ make
No se alarme si ve lneas como las siguientes:
/tmp/ccGvUe1g.s:507: Advertencia: swp {b} es obsoleto el uso de esta arquitectura
La nica cosa que va a parar la compilacin es un error crtico o el xito. Estas advertencias
estn relacionados con algunas de las
funciones que se utilizan en el XBMC compilar ser un poco mayor para nuestra Pi. Cuando la

compilacin ha tenido xito, se


debe esperar para ver esto:
XBMC construido con xito
Esto demuestra que el xito que hemos construir XBMC y podemos hacer el ltimo paso de este
proceso, que es la instalacin de nuestra
software recin compilado. El sistema de construccin de hecho se har cargo de la instalacin,
tambin. Para instalar, simplemente ejecute hacer
instalar, que copia todos los binarios recin compilados en el lugar correcto en su sistema
operativo. Tendr que preceden a este
con sudo porque la ubicacin estamos copiando tambin (/ usr) es una ubicacin del sistema, y
slo la raz se da acceso de escritura. Tu
salida debera tener este aspecto:
$ Sudo make install
Copia de XBMC binario a /usr/lib/xbmc/xbmc.bin
Puede ejecutar XBMC con el comando 'XBMC'
Copia de archivos de apoyo y legales ...
Hecho!
archivos de sistema de copia a / usr / share / XBMC
Y hemos terminado! Si bien era largo y requiere un poco de trabajo, para empezar, el proceso
real de la compilacin
es relativamente libre de dolor, ya sabes, ms all del dolor de la espera. As que ahora que el
XBMC se instala, cmo la usamos?
Solucin de problemas
Antes de saltar y correr por delante de XBMC, debemos echar un vistazo a algunos de los
problemas que podra haber topado. La mayora de
estos pasos deben cuidar de s mismos, porque esta configuracin es genrica y la intencin de
trabajar en cualquier Pi porque
www.it-ebooks.info
pgina 242
Captulo 11 pi Media Center
232
todos comparten el mismo hardware. Si alguna vez tiene dudas, eliminar el directorio XBMCRBP y empezar de nuevo. Asegrese de que usted
ejecutar las copias y la vinculacin en su totalidad. He descubierto que cuando se hace el clon
de git, las cosas a veces pueden quedar atrapados y
no moverse.
Cuando este es el caso, lo mejor es dejar el trabajo actual con Ctrl + C, eliminar el directorio,
reinicie, y empezar de nuevo.
Tambin era mejor quitar los perifricos del sistema durante la compilacin e instalar etapas
porque tener demasiado
muchos dispositivos perifricos causaron problemas de carga en mi sistema. Adems, debe
asegurarse de que su salida para
comandos como partido configure como las dadas estas banderas pueden jugar un papel mucho
ms grande al compilar y
ahorrar un dolor de cabeza desagradable y otro trabajo de compilacin de 12 horas. Por ltimo,
asegrese de que todas sus apt-es atropellado y completa
xito debido a que estos paquetes estn obligados a proporcionar las bibliotecas que su Pi va a
utilizar en la construccin de XBMC.
Inicio y utilizacin XBMC
Ahora que hemos pasado por ese proceso de compilacin mega, es el momento de poner en
marcha XBMC y ponerse en marcha! En primer lugar, sin embargo,
tenemos que restablecer las opciones que nos propusimos anteriormente, la direccin de una
mayor cantidad de memoria en la RAM del sistema. Tendremos que ir
al dispositivo de grficos porque queremos hacer un trabajo serio con pantalla XBMC. Ejecute

el siguiente comando
para cambiar el sistema de arranque Pi:
$ Sudo cp /boot/arm128_start.elf /boot/start.elf
Volver atrs y comprobar que los archivos vinculados mencionados anteriormente son
correctos. Ahora tambin podemos hacer algunos cambios en el
archivo /boot/config.txt porque gobierna cmo funciona el hardware de bajo nivel del Pi. El
cambio ms sencillo de hacer es
agregue la lnea disable_overscan = 1 ya que eliminar la necesidad de hacer el proceso de
sobrebarrido ya que el procesamiento de sobrebarrido
har que la cantidad de vdeo que reproducir ms grande, lo que consume ms recursos. Una
vez que haya hecho esto
cambios, emita los siguientes comandos para reconfigurar y reiniciar el Pi por ltima vez:
$ Sudo update-RPI
reinicio $ sudo
Ahora que ha cambiado la configuracin de nuevo a 50/50 asignacin de recursos, iniciar
XBMC conectndose como root y
emitiendo el siguiente comando:
$ /usr/lib/xbmc/xbmc.bin
Su pantalla se congela por un momento, y la figura 11-1 le dar la bienvenida.
Figura 11-1. Pantalla de arranque XBMC
www.it-ebooks.info
pgina 243
Captulo 11 pi Media Center
233
Debe llegar al men de XBMC, que se parece a la figura 11-2 .
Desde dentro del men principal, hay opciones para seleccionar diferentes tipos de
reproduccin, y XBMC es un totalmente grfica
sistema que se presentar con opciones y ubicaciones para obtener archivos desde cuando se
encuentra en su interior. Siempre y cuando su
los medios de comunicacin son accesibles en una red, XBMC debe ser capaz de acceder a l y
jugar de nuevo! Ahora sobre el tema de la reproduccin,
es probable que estar sentado all pensando, "Se me qued con este teclado para toda mi
reproduccin?" La respuesta es una
rotundo no ! Hay dos soluciones:
Comprar un mando a distancia USB y adjuntarlo a su Pi.

El segundo es mucho ms disimulados: utilizar su telfono inteligente!

La mayora de los telfonos inteligentes tienen la capacidad de descargar una aplicacin de


control remoto XBMC que simplemente necesita
ser emparejado con su sistema XBMC para funcionar. Para ello, es necesario para que dos
opciones dentro de XBMC para que pueda
para recibir el mando a distancia. Entrar en el men de ajustes y luego en los servicios, y
cambiar las opciones de control remoto
"Permitir programas en otros sistemas para el control de XBMC." Una vez que haya permitido
el control remoto, es necesario entrar en
Servidor web y configurar "Permitir el control de XBMC a travs de HTTP"; Tambin debera
seguir adelante y establecer un nombre de usuario y contrasea
de manera que slo las personas con la contrasea pueden controlar su instancia XMBC, no
cualquiera en la red con una
XBMC aplicacin!
Una vez que ha permitido a estas opciones de control remoto, es simplemente una cuestin de
descargar la aplicacin
de su tienda de aplicaciones favoritas, y luego poner las opciones dentro de la aplicacin. Slo

es necesario para dar la


aplicacin de la direccin local de su Pi, que se puede ver a travs del men de informacin del
sistema Sistema, establece que el puerto 8080,
y proporcionar un nombre de instancia para el XBMC y el nombre de usuario / contrasea,
como se muestra en la Figura 11-3 .
Figura 11-2. Men principal XBMC
www.it-ebooks.info
pgina 244
Captulo 11 pi Media Center
234
Una vez que haya dado todos los detalles, el telfono debe convertirse en un mando a distancia
para la instancia de XBMC! Completar
con toda una serie de botones de direccin y controles de reproduccin, como se muestra en la
Figura 11-4 .
Figura 11-3. Aplicacin remota XBMC
Figura 11-4. Remoto XBMC en accin!
www.it-ebooks.info
pgina 245
Captulo 11 pi Media Center
235
XBMC en el arranque
Aunque hemos empezado XBMC con la mano hasta el momento, la mayora de la gente desea
que se produzca automticamente porque cul es la
punto de un centro de medios de comunicacin que hay que enchufar un teclado en cada vez
que desee para ponerlo en marcha?
El siguiente es un script de inicio sencilla que le permitir ejecutar XBMC usando un script de
inicio. Crear en el presente
presentar /etc/init.d/xbmc (como todos los otros archivos largos, que se puede encontrar en el
repositorio Apress para este libro):
#! / Bin / sh
### COMENZAR INIT INFO
# Proporciona: XBMC
# Required-Start: $ todo
# Requerido-Stop: $ todo
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Descripcin corta: Inicio XBMC
# Descripcin: Inicio XBMC
### END INIT INFO
DAEMON = / usr / bin / xinit
DAEMON_OPTS = "/ usr / lib / XBMC / xbmc.bin"
NAME = XBMC
DESC = XBMC
RUN_AS = root
PID_FILE = / var / run / xbmc.pid
prueba -x $ DAEMON || exit 0
set -e
case "$ 1" en
comienzo)
echo "Desde $ DESC"
start-stop-daemon --start -c $ RUN_AS --background --pidfile $ PID_FILE --make-pidfile
--exec $ DAEMON - $ DAEMON_OPTS
;;

detener)
echo "Parar $ DESC"
start-stop-daemon --stop --pidfile $ PID_FILE
;;
reinicie | force-reload)
echo "El reinicio $ DESC"
start-stop-daemon --stop --pidfile $ PID_FILE
sueo 5
start-stop-daemon --start -c $ RUN_AS --background --pidfile $ PID_FILE --make-pidfile
--exec $ DAEMON - $ DAEMON_OPTS
;;
*)
echo "Uso: /etc/init.d/$NAME{start|stop|restart|force-reload}"> & 2
la salida 1
;;
esac
exit 0
www.it-ebooks.info
pgina 246
Captulo 11 pi Media Center
236
Una vez creado este archivo, ejecute los siguientes comandos para que sea ejecutable y lo han
cargado en el Pi de
proceso de arranque:
$ Sudo chmod + x /etc/init.d/xbmc
$ Sudo update-rc.d defecto XBMC
Ahora seguir adelante y reiniciar el sistema; que le llevar automticamente en XBMC!
Felicitaciones; en este punto,
usted debe tener una instancia de XBMC funcional, equipado con el trabajo a distancia telfono
inteligente!
Solucin de problemas
Debido a que se ha compilado desde el cdigo fuente con xito, no debera haber ningn
problema con conseguir su instancia hasta XBMC
y viniendo. El primero que hay que comprobar es que la compilacin de hecho lo hizo
totalmente completa y tambin lo hizo la instalacin. Ellos son los
dos culpables ms probables. Si inicia la instancia de XBMC, es posible que vea las
advertencias como las siguientes:
libEGL advertencia: DRI2: xcb_connect fall
Si lo hace, usted tiene que volver a ejecutar la copia anterior y los comandos de enlace. Esta
cuestin se refiere a no poder cargar
los archivos de la biblioteca.
Ciclo de Msica con Airplay
Las personas a menudo quieren usar el Raspberry Pi como un sistema de transmisin de msica,
lo que significa que est conectado a un conjunto de
altavoces y pueden ser controlados a distancia y tiene msica transmite a la misma desde un
sistema de control central. Existen
ya un gran nmero de sistemas que hay para hacer este tipo de reproduccin, pero para nosotros
es el plan para aprovechar
el protocolo AirPlay Apple. Puede seguir trabajando en esto en Piscis o puede volver a la
Raspbian originales. Esta
instalacin funcionar de la misma manera en ambos dispositivos.
Esta configuracin es mucho ms fcil hacer que la actualizacin de vdeo; todava tenemos que
hacer un poco de compilacin para que las cosas funcionen,
pero no tendr que ejecutar un ./configure porque hay muchas menos piezas mviles. Adems,

queremos tener la
capacidad de reproducir el audio a un dispositivo determinado, por lo que necesita para
asegurarse de tener los altavoces conectados.
Lo primero que hay que hacer es instalar los paquetes siguientes precursores:
$ Sudo apt-get install build-essential libssl-dev libcrypt-openssl-RSA-perl libao-dev
Libio-socket-inet6-perl libwww-perl avahi-utils-paquete de configuracin de alsa-utils
Leyendo lista de paquetes ... Hecho
rbol de dependencias del edificio
Leyendo informacin de estado ... Hecho
build-essential ya es la versin ms reciente.
Libio-socket-inet6-perl ya est la versin ms reciente.
Libio-socket-inet6-perl listo para instalarse manualmente.
libssl-dev ya est la versin ms reciente.
libwww-perl ya est la versin ms reciente.
libwww-perl ajustado a instalarse manualmente.
pkg-config ya es la versin ms reciente.
conjunto pkg-config para instalar manualmente.
Los siguientes paquetes se instalan automticamente y ya no son necesarios:
libcdio-cdda0 libcdio-paranoia0 libcdio10 libcelt0-0 libdb4.8 librpmio2
Use 'apt-get autoremove' para eliminarlos.
www.it-ebooks.info
pgina 247
Captulo 11 pi Media Center
237
Se instalarn los siguientes paquetes extras:
alsa-base avahi-daemon-Libao comn libao4 libavahi-core7 libcrypt-openssl-bignum-perl
libdaemon0 libnss-mdns
Paquetes sugeridos:
avahi-autoipd OSS-compat alsa-oss libaudio2 libesd0 libesd-alsa0
Se instalarn los siguientes paquetes NUEVOS:
alsa-base alsa-utils avahi-daemon avahi-utils libao-dev-libao comn libao4 libavahi-core7
libcrypt-openssl-bignum-perl libcrypt-openssl-RSA-perl libdaemon0
libnss-mdns
0 actualizados, 12 se instalarn, 0 para eliminar y 139 no actualizados.
Necesidad de conseguir 1.699 kB de archivos.
Despus de esta operacin, se utilizarn 3.702 KB de espacio de disco adicional.
Desea continuar [S / n]?
Una vez que haya instalado todos estos paquetes, carga el mdulo de sonido en el sistema para
tomar ventaja de ella. Cargar
un mdulo, utilice el comando modprobe. En este caso, cargue el mdulo snd_bcm2835, que es
el sonido de Broadcom
adaptador en el Pi. Emitir este comando:
$ Sudo modprobe snd_bcm2835
El comando se ejecutar, pero no genera ninguna salida para decirnos que el estado de la
ejecucin o casi
Algo ms. Tenemos que comprobar y ver si el mdulo ha sido cargado. Al igual que el
comando ls para
directorios y lsusb para la inclusin de dispositivos USB, hay un comando lsmod para listar los
mdulos que estn actualmente
instalado en su sistema. Emitir el comando lsmod y comprobar que se puede ver el mdulo
cargado snd_bcm2835
dentro de su sistema (como el mo):
$ lsmod
Tamao del mdulo Utilizado por

snd_bcm2835 21485 0
snd_pcm 82208 1 snd_bcm2835
snd_page_alloc 5383 1 snd_pcm
snd_seq 59808 0
snd_seq_device 6920 1 snd_seq
snd_timer 21905 2 snd_seq, snd_pcm
SND 57668 5 snd_timer, snd_seq_device, snd_seq, snd_pcm, snd_bcm2835
ipv6 290227 34
r8712u 182646 0
spi_bcm2708 4815 0
i2c_bcm2708 3818 0
Debido a que va a cargar el mdulo de sonido por primera vez, tambin debe seleccionar el
dispositivo de audio est siendo
usado (porque no se utiliza ninguno antes). Para cambiar el dispositivo, utilice el comando
amixer de la siguiente manera:
$ Sudo amixer cset numid = 3 1
numid = 3, del iface = MEZCLADOR, name = 'PCM Reproduccin de ruta'
; type = INTEGER, acceso = rw ------, los valores = 1, min = 0, max = 3, paso = 0
: Valores = 1
Cambiamos el valor numid = 3, que es la ruta de reproduccin PCM, que es igual a 1, que es el
valor de la 3.5
Jack. Se puede cambiar el 1 en el extremo de un 2, lo que significa que usted debe utilizar el
canal de audio incorporado de HDMI a la
enviar el sonido.
www.it-ebooks.info
pgina 248
Captulo 11 pi Media Center
238
Ahora que el hardware est resuelto, es el momento de tomar el cuidado del software mediante
la descarga del software shairport
desde su repositorio en Internet. Con mucho, la forma ms fcil de hacer esto es mediante el uso
de la wget (abreviatura de Web GET ) de comandos
descargar todos los contenidos disponibles en una determinada URL. De esta manera, podemos
descargar un paquete de software todo
a travs de Internet con un simple URL. Ejecutar lo siguiente:
$ wget https://github.com/albertz/shairport/zipball/master
--2012-09-30 18: 13: 36-- https://github.com/albertz/shairport/zipball/master
La resolucin de github.com ( github.com ) ... 207.97.227.239
Conexin a github.com ( github.com ) | 207.97.227.239 |: 443 ... conectado.
solicitud HTTP enviada, esperando respuesta ... 302 encontrados
Ubicacin: https://nodeload.github.com/albertz/shairport/zipball/master [siguientes]
--2012-09-30 18: 13: 42-- https://nodeload.github.com/albertz/shairport/zipball/master
La resolucin de nodeload.github.com ( nodeload.github.com ) ... 207.97.227.252
Conexin a nodeload.github.com ( nodeload.github.com ) | 207.97.227.252 |: 443 ... conectado.
Solicitud HTTP enviada, esperando respuesta ... 200 OK
Longitud: 46413 (45K) [application / zip]
Guardar en: "maestro"
100% [=============================================== ===>] 46413 60.1K /
s en 0.8s
2012-09-30 18:13:50 (60,1 KB / s) - "maestro" salvado [46413/46413]
Ahora que hemos descargado el software shairport necesitamos trabajar con l. El archivo se
llama maestro, por lo que dej de
sobrehilarlos hacia arriba y nombrar correctamente. Slo tiene que utilizar el comando de
desplazamiento para cambiar el nombre del archivo. Una vez que ha movido el archivo,

descomprimirlo con el comando de descompresin y cd en el directorio de shairport-b58f156


Albertz de nueva creacin:
$ Mv albertz-shairport-b58f156.zip maestro
$ Descomprimir albertz-shairport-b58f156.zip
$ Cd Albertz-shairport-b58f156
Ahora lo que necesita para construir la aplicacin, por lo que ejecutar el comando make.
Afortunadamente esta aplicacin es mucho ms simple que
el XBMC uno y por lo tanto no necesitan ser preconfigurado.
$ make
cc O2 -Wall -c alac.c -o alac.o
cc O2 -Wall -DHAIRTUNES_STANDALONE hairtunes.c alac.o -o hairtunes -lm -lpthread lssl
-lcrypto -Lao
cc O2 -Wall -c socketlib.c -o socketlib.o
cc O2 -Wall -c shairport.c -o shairport.o
cc O2 -Wall -c hairtunes.c -o hairtunes.o
cc O2 -Wall socketlib.o shairport.o alac.o hairtunes.o -o shairport -lm -lpthread -lssl
-lcrypto -Lao
Una vez finalizada la compilacin, es el momento para poner a prueba; shairport est a cargo de
la ejecucin del archivo shairport.pl. As ejecutar
como tal:
$ ./shairport.pl
No se puede encontrar Net / SDP.pm en @INC (@INC contiene: / usr / lib / perl5 / site_perl /
usr / share / perl5 / site_perl
/ Usr / lib / perl5 / vendor_perl / usr / share / perl5 / vendor_perl / usr / lib / perl5 / core_perl /
usr / share / perl5 /
core_perl.) en la lnea 45 ./shairport.pl.
Lo sentimos! Hay un error relacionado con un mdulo de cdigo en particular no estar
disponible para el sistema Perl que se
necesita para llevar a cabo la instalacin. En este caso, es el mdulo Net / SDP que hay que
instalar.
www.it-ebooks.info
pgina 249
Captulo 11 pi Media Center
239
Por desgracia, apt-get no puede fijar ste, as que hay que conseguir que funcione mediante la
descarga del mdulo de la
biblioteca Perl CPAN (que se parece mucho a un repositorio apt-get gigante del software Perl
que los desarrolladores pueden pedir prestado y
usar) y luego instalarlo. El volver a utilizar wget para descargar el archivo desde Internet.
Emita el siguiente comando:
$ wget http://search.cpan.org/CPAN/authors/id/N/NJ/NJH/Net-SDP-0.07.tar.gz
--2012-09-30 19: 01: 11-- http://search.cpan.org/CPAN/authors/id/N/NJ/NJH/Net-SDP0.07.tar.gz
La resolucin de search.cpan.org ( search.cpan.org ) ... 199.15.176.161
Conexin a search.cpan.org ( search.cpan.org ) | 199.15.176.161 |: 80 ... conectados.
solicitud HTTP enviada, esperando respuesta ... 302 encontrados
Ubicacin:
http://mirror.westfield.com.au/cpan/authors/id/N/NJ/NJH/Net-SDP-0.07.tar.gz
[siguientes]
--2012-09-30 19: 01: 11-- http://mirror.westfield.com.au/cpan/authors/id/N/NJ/NJH/Net-SDP0.07.tar.gz
La resolucin de mirror.westfield.com.au ( mirror.westfield.com.au ) ... 203.42.62.21
Conexin a mirror.westfield.com.au ( mirror.westfield.com.au ) | 203.42.62.21 |: 80 ...
conectado.

Solicitud HTTP enviada, esperando respuesta ... 200 OK


Longitud: 20679 (20K) [application / x-gzip]
Guardar en: 'Net-SDP-0.07.tar.gz'
100%
[===============================================
============================>] 20679
--.- K / s en 0.05s
2012-09-30 19:01:12 (382 KB / s) - 'Net-SDP-0.07.tar.gz' salvado [20679/20679]
Una vez descargado el archivo, es necesario extraerlo con el comando tar. Emitir un comando
tar para desempaquetar el
presentar los argumentos -zxvf para descomprimir y extraiga este fichero tar. A continuacin,
cambie a la recin creada Red-SDP-0,07
directorio:
$ Tar -zxvf Net-SDP-0.07.tar.gz
$ Cd Net-SDP-0,07
Ahora que el paquete est aqu, slo tiene que emitir comandos al sistema de Perl construir aqu.
El primero es
ejecutar el script Build.PL para generar el fichero de construccin:
$ Perl Build.PL
Creado MYMETA.yml y MYMETA.json
Creacin de nuevo guin 'Build' de 'Net-SDP' versin '0.07'
Una vez creado el archivo de creacin, lo que necesita para funcionar con esto:
$ ./build
Edificio Net-SDP
Y una vez finalizada la construccin, ejecutar las pruebas incorporadas para asegurar que no hay
problemas con el comando de prueba
a la escritura de la estructura:
prueba $ ./build
t / 00use.t ....... ok
t / 10generate.t .. ok
t / 10parse.t ..... ok
t / 20repeat.t .... ok
t / 30asstring.t .. ok
Todas las pruebas de xito.
Archivos = 5, Pruebas = 69, 5 seg wallclock (0.97 usr 0,05 sys + 3.40 cusr 0.29 = 4.71 SCOOR
CPU)
Resultado: Pase
www.it-ebooks.info
pgina 250
Captulo 11 pi Media Center
240
Por ltimo, es necesario instalar los mdulos, por lo que el comando de instalacin para la
escritura de la estructura (es posible que necesite
presione Enter despus de que el comando para obtener la instalacin a fin y pantalla):
$ Sudo ./build instalar
[Sudo] contrasea para raspbian:
Edificio Net-SDP
Instalacin /usr/local/man/man1/sdp2rat.1p
Instalacin /usr/local/share/perl/5.14.2/Net/SDP.pm
Instalacin /usr/local/share/perl/5.14.2/Net/SDP/Time.pm
Instalacin /usr/local/share/perl/5.14.2/Net/SDP/Media.pm
Instalacin /usr/local/man/man3/Net::SDP::Media.3pm
Instalacin /usr/local/man/man3/Net::SDP::Time.3pm
Instalacin /usr/local/man/man3/Net::SDP.3pm
Instalacin / / / bin / usr sdp2rat locales

Una vez que se termine la compilacin, es una simple cuestin de ejecutar el script shairport.pl
de nuevo, y esta vez se debe trabajar!
La salida debe tener este aspecto:
$ Cd ..
$ ./shairport.pl
Establecido bajo el nombre '891BEA3BF8A1 @ ShairPort 2113 en piscis'
Ahora tiene que establecer la conectividad con la aplicacin y la prueba de que se puede enviar
la msica a la misma. Abrir
iTunes y luego cambiar el destino de salida en la esquina inferior derecha de iTunes (ver Figura
11-5 ). Debera ver
un nombre shairport all. Seleccionarlo y pulse Play en su cancin favorita y listo: la
transmisin de msica!
Figura 11-5. ShairPort habilitado
www.it-ebooks.info
pgina 251
Captulo 11 pi Media Center
241
Solucin de problemas
Al igual que con XBMC, este proceso es bastante sencillo ya que el Raspberry Pi tiene una
plataforma de hardware fijo, y sin todo
estas variables no es como mucho de qu preocuparse, las cosas deben trabajar solo.
Si usted encuentra que no emiten ningn sonido de los altavoces cuando estn unidos,
compruebe que ha emitido correctamente
tanto el modprobe y el amixer comandos porque ambos son necesarios para realizar la funcin
de audio.
Aparte de este problema, la mayora de los comandos debera funcionar. Si no, usted debe
borrar cualquier contenido descargado y
comenzar de nuevo.
Aeropuerto de arranque
Al igual que con el uso de la instancia XBMC, la mayora de la gente no quiere tener shairport
comenz con su sistema sin necesidad
realizar un registro manual en su pi e iniciar la aplicacin. Esto es fcil para nosotros porque el
shairport instalar tiene todos los archivos
necesaria para hacer esto liado con ella! Para realizar esto, primero instalar el sistema shairport:
ejecutar sudo make install, y su
salida debera tener este aspecto:
$ Sudo make install
instalar -D -m 0755 hairtunes / usr / local / bin / hairtunes
instalar -D -m 0755 shairport.pl /usr/local/bin/shairport.pl
instalar -D -m 0755 shairport / usr / local / bin / shairport
Una vez que la instalacin haya finalizado, puede copiar el guin de inicio prevista en la
ubicacin correcta:
$ Sudo cp shairport.init.sample /etc/init.d/shairport
Ahora que el archivo se copia, es necesario hacer una pequea modificacin: aadir el comando
modprobe de
antes-modprobe snd_bcm2835 - en el archivo /etc/init.d/shairport justo antes de que inicie la
aplicacin shairport.
La seccin de inicio debe tener este aspecto:
comienzo() {
echo -n "A partir shairport:"
modprobe snd_bcm2835
start-stop-daemon --start --quiet --pidfile "$ PIDFILE" \
--exec "Daemon" -B $ --oknodo - $ DAEMON_ARGS
log_end_msg $?

}
Los ltimos comandos que necesitamos para funcionar son los siguientes:
$ Sudo chmod + x /etc./init.d/shairport
$ Sudo update-rc.d defecto shairport
Estos comandos hacen que el nuevo script de inicio se puede escribir y actualizar la secuencia
de arranque para incluir el nuevo
guiones shairport! Reinicie el Pi y shairport debe estar en funcionamiento para que al arrancar!
Felicitaciones.
www.it-ebooks.info
pgina 252
Captulo 11 pi Media Center
242
Resumen
En este captulo integral, que ha instalado un curso completo de aplicaciones de precursores y
aprendido cmo descargar
cdigo fuente, configurarlo, y compilar de ella. Este es un buen montn de trabajo y la
compilacin XBMC tom en exceso de
12 horas!
Tambin ha creado e instalado scripts de inicio para obtener estos nuevos sistemas de
reproduccin de los medios de comunicacin se ejecuten en el Pi en el arranque,
evitando la necesidad de intervenir manualmente.
Por ltimo, gracias a la conexin de la instancia XBMC a la aplicacin de control remoto para
telfonos inteligentes. Esta ha sido una
increble cantidad de trabajo para un captulo, tan bien hecho!
www.it-ebooks.info
pgina 253
243
n Un
Avanzada Linux Sound Architecture (ALSA) dispositivo, 202
Salida en antena
amixer de comandos, 237
de arranque, 241
sistema de control central, 236
Creacin de un script, 239- 240
comando lsmod, 237
Net-SDP-directorio de 0,07, 239
ejecutar, 238
envases precursores, 236
ShairPort permitir, 240
solucin de problemas, 241
wget, 238- 239
apache
herramienta apt-get, 150
ventana del navegador, 152
configuracin, 152- 155
salida, 151
corriendo, 151
cuentos, 150
solucin de problemas, 155
servidor web, 150
nB
INTENTO
codificacin bsica

FizzBuzz prueba, 131


metas, 130
sentido, 131
editor de texto, 131
guin de inicio
bloques, 142
declaracin del caso, 143
creacin, 144- 145
bifurcan, 143
sistema Linux, 142
archivos de funcionamiento, 143
XBMC, 141- 142
interpretado frente compilado, 132
operacin lgica
si, 134
Bucle infinito, 139
lazo, 139- 140
salida, 132- 133
resumen, 133
gestin de la seguridad y de usuario
nuevo usuario aadir, 147
en normas de seguridad, Raspbian 146
aritmtica basada en las pruebas
ventaja, 136
operacin aritmtica, 137
el modo de asignacin, 135
el modo de eliminacin de referencias, 136
mdulo, 135
de salida, 137
operadores de prueba, 136
variable, 136
solucin de problemas, 137, 139, 141
variables, 133- 134
nC
combinar comandos
buffer, 102
ambiente, 104
grep inversa, 103
CAMINO, 105- 106
ps y grep, 102
resultados, 103
xargs, 104
Comandos. Vase tambin la vigilancia de los recursos del sistema
poco confuso, 90
sistema de archivos, 89
ndice
www.it-ebooks.info
pgina 254
ndice
244
Distribuciones de Linux, 91
RTFM, 91
comando sudo, 89
sistema / funcin administrativa, 89

Common Gateway Interface (CGI), 165


Lenguajes compilados, 132
Terminales de ordenador. Ver tambin tres terminales
lnea de comando, 66- 67
conchas, 68
TeleVideo 925, 53
hasta-duh, 67
Equipo de Ye Olde, 54- 58
siempre disponible, 57
convencido, 57
terminal tonto, 54
rpido, 57
Interfaces grficas de usuario, 55
problema clave, 54
ligero, 57
terminales modernos, 55- 56
poder, 57
simple, 56
TUI, 55
terminal virtual, 58
nD
comando dmesg
abreviaturas, 201
/ dev, 202
salida de los logs, 200- 201
salida, 202
solucin de problemas, 204
funcin de administracin de udev, 203
Mensajes para el conductor. Ver comando dmesg
Protocolo de configuracin dinmica de host (DHCP), 60
nE
Edicin de archivos de texto
formato arbitrario, 110
formato de datos binarios, 109
texto chino, 110
contendientes, 110- 111
idiomas extranjeros, 110
comando nano
cambios, 114
archivo de disco, 115
archivo editado, 115
almacenamiento de archivos, 113- 114
nmero de lnea, 117
Mara, 116
media, 112- 113
moverse, 115- 116
nuevo archivo, 112
barra de accesos directos, 113
estilo, 114
editor de texto, 111
terminando, 117
writeout de comandos, 114
resumen, 109
semntica, 109
declaracin, 109

estructura, 109
empuje
encanto, 120
copiar y pegar el estilo, 127
delete, 124- 125
mensaje de error, 119
tecla de escape (ESC), 119
caractersticas, 117
salir, 120
texto sangrado, 126
modo de insercin, 118
instalar, 117
pegar la masa, 128
pequeas rdenes diversos, 126
moverse, 123
atajos de navegacin, 123
expresiones regulares, 122
guardar cambios, 119
bsqueda, 121- 122
nmero de lnea especfico, 122- 123
sencillo, 117- 118
tildes, 118
modo visual, 126
nF
Archivo de comandos. Vase tambin Comandos
combinar comandos
buffer, 102
medio ambiente, 104
grep inversa, 103
PATH, 105- 106
ps y grep, 102
resultados, 103
xargs, 104
argumentos de lnea de comandos, 101
Comando cron, 107
generalizada analizador de expresiones regulares, 102
clase, 101
uso, 101
Paths de archivos
comando, 72
conjunto de discos, 72
permisos de archivo
comando chmod, 84
bit de ejecucin, 84
Comandos ( cont. )
www.it-ebooks.info
pgina 255
ndice
245
Linux, 83
comando ls, 82
pi, 83
Archivo de frambuesa, 82- 83
papeles, 82

conjunto, 84- 87
sistema de llenado
todos juntos, 71
definicin, 69
directorio, 70
sistema de archivos, 70
bibliotecas, 69
Mac diferentes, 71
basado en el papel del sistema, 70
races separadas, 70- 71
sistema de archivos unificado, 71
disco duro, 72
diseos
/ Bin y / sbin, 74
/bota, 74
/ Dev, 74
/ Etc., 73
/casa, 74
/ Lib, 75
/ Lost + encontrado, 75
/medios de comunicacin, 75
/ Mnt, 75
/ opt, 75
/ proc, 73
/raz, 73
/ directorio raz, 73
/ srv, 75
/ sys, 76
/ tmp, 76
/ usr, 75
/ var, 74
envoltura, 76
Linux, 73
discos basados en SCSI, 72
accesos directos y enlaces, 87- 88
usuarios y grupos, 81- 82
trabajando
directorios, 78
comando cp, 79- 80
directorio de archivos, 81
comando mv, 79
comando rm, 80
mkdir, 78
visin de conjunto, 76
pwd, 76
toque, 77- 78
uso de, 77
Sistema de llenado
todos juntos, 71
definicin, 69
directorio, 70
sistema de archivos, 70
bibliotecas, 69
Mac diferente, 71
races separadas, 70- 71

sistema de archivos unificada, 71


nG
Interfaz grfica de usuario (GUI), 55
nH
Hyper Text Markup Language (HTML). Vase tambin MySQL
etiquetas, 168- 169
sitios web, 168- 169
n I, J, K
Entornos de desarrollo integrado (IDE), 48
Los lenguajes interpretados, 132
guin de inicio
bloques, 142
declaracin de caso, 143
creacin, 144- 145
bifurcan, 143
sistema Linux, 142
archivos de ejecucin, 143
XBMC, 141- 142
nL
LMPARA
Un soporte para Apache
herramienta apt-get, 150
ventana del navegador, 152
configuracin, 152
de salida, 151
correr, 151
historias, 150
solucin de problemas, 155
Servidor web, 150
L soporte para Linux, 150
P soporte para PHP, 165
CGI, 165
mando, 165
funciones dinmicas, 165
funciones, 166
las pginas de informacin, 166
informacin de configuracin de MySQL, 167
php5-mysql paquete, 167
puntos, 166
Aplicacin web
concepto bsico, 169
la conexin y la base de datos, 170
www.it-ebooks.info
pgina 256
ndice
246
sentencia de creacin, 170
contenido de la base de datos, 171- 172
DB-eliminar los datos, 178- 179
HTML, 168- 169
index.php, 170
inserte caso, 175- 176
visin de conjunto, 168
cdigo PHP, 170

eliminar las entradas, 176- 178


lista de quehaceres, 179
solucin de problemas, 179
insercin de datos web, 173- 174
contenido del sitio web, 149
Los diseos, los paths de archivos
/ bin y / sbin, 74
/ boot, 74
/ dev, 74
/ etc., 73
/ home, 74
/ lib, 75
/ lost + found, 75
/ media, 75
/ mnt, 75
/optar, 75
/ Proc, 73
/ root, 73
/ Directorio raz, 73
/ Srv, 75
/ sys, 76
/ Tmp, 76
/ Usr, 75
/ Var, 74
envoltorio, 76
Peso ligero entorno de escritorio (LXDE), 59
Ligera X11 Desktop Environment (LXDE)
significado, 32
Pi, 32
barra lateral derecha de tareas, 33- 34
apagado / reinicio, 34
iniciar el concepto de men, 34- 45
accesorios, 36- 43
y abajo izquierda, 33
Educacin, 43- 45
Internet, 46- 47
sistema operativo, 34
las preferencias, 50- 52
men de programacin, 47- 49
orden de marcha, 35
herramientas del sistema, 49- 50
ventana, 35
X-servidor, 31
Linux. Ver tambin la lmpara
definicin, 9
caracteristicas, 9
histroy, 9
fuente abierta, 9
Raspbian, 10
nM
agente de transferencia de correo (MTA), 208
Media Center. Ver tambin Airplay
XBox Media Center
pantalla de arranque, 232, 235-236
men principal, 233

sistema operativo, 224


sistema de arranque Pi, 232
Piscis, 224
programa en ejecucin, 234
RaspMC, 224
expresiones regulares y sed,
228- 229
aplicacin remota, 234
configuracin y construccin, 224- 228
soluciones, 233
cdigo fuente, 229- 231
solucin de problemas, 232, 236
XMBCbuntu, 223
MySQL
HTML, 155
instalacin, 156
lenguaje de consulta estructurado
(SQL)
BORRAR, 164
insertar datos, 160- 161
pi, 157
SELECT, 161- 162
sintaxis, 157
creacin de la tabla, 157- 158, 160
tipos, 157
UPDATE, 163- 164
n N, O, P, Q
comando nano
cambios, 114
archivo de disco, 115
archivo editado, 115
almacenamiento de archivos, 113- 114
nmero de lnea, 117
Mara, 116
decir, 112- 113
moverse, 115- 116
archivo nuevo, 112
barra de accesos directos, 113
estilo, 114
editor de texto, 111
terminando, 117
Writeout comando, 114
Lmpara ( cont. )
www.it-ebooks.info
pgina 257
ndice
247
nP
Los sistemas basados en papel. Ver sistema de archivo
PHP
CGI, 165
comando, 165
funciones dinmicas, 165
php5-mysql paquete, 167

funciones, 166
las pginas de informacin, 166
MySQL informacin de configuracin, 167
puntos, 166
Pi. Vase tambin el centro de los medios de comunicacin
Cargador-l, 17- 18
sistema de archivos, 19
primer arranque, 18- 19
teclado, 19- 23
configuracin, 21- 22
personalizacin, 21, 23
Genrico 105 llave (Intl) PC, 19
diseo, 20- 21
Servidor X, 23
LED, 18
lugar
elegir, 24
defecto, 24- 25
smbolos, 24
asignacin de memoria
divisin de memoria, 28
memory_split opcin, 27
mini ordenador de escritorio, 27
proceso de reinicio
escritorio, 29- 30
ventana de salida, 28
acceso remoto
lnea de comandos, 129
DNS, 130
entorno Linux, 129
la creacin de redes, 130
SSH, 130
Tarjeta SD, 18
Determinar / Cambiar contrasea, 23- 24
zona horaria
pas Ciudad, 26- 27
regiones, 26
Televisor / monitor, 18
nR
Raspberry Pi. Ver tambin Pi, Raspbian, Linux
tamao medio-ratn, 3
sobre, 1- 2
ingredientes
BIOS, 8
capaces pantalla con HDMI, 5
plomo HDMI, 5
teclado y ratn, 7
listas, 3
cargado Pi, 8
micro cable USB, 4
Lector de mltiples, 7
Lector de tarjetas SD, 6- 7
Tarjeta SD, 5- 6
adaptador de corriente USB, 4
imagen, 2

Frambuesa SPI
sistema que altera
ventaja, 208
herramienta mutt, 210- 211
ssmtp, 208, 210
pruebas, 211- 212
solucin de problemas, 212
solucin de diseo, 214- 215
comando dmesg
abreviaturas, 201
/ Dev, 202
salida de los logs, 200- 201
de salida, 202
solucin de problemas, 204
funcin de administracin de udev, 203
la toma de decisiones, 213- 214
materiales necesitados, 199
movimiento, 204- 206, 208
cmara, 205
mando, 205
ffmpeg_cap_new, 206
abra y edite el archivo, 205
de salida, 204
paquete, 204
proceso, 208
referencia, 206, 208
target_dir, 206
umbral, 206
solucin de problemas, 208
presetup, 200
problemas
metas, 213
requisitos, 213
Guin 1, 216
Guin 2, 217
hasta el momento, 212- 213
apilar y resolver problemas complejos, 221
puesta en marcha, 220
Stetson, 221
pruebas
cron, 219
bandeja de entrada-salida, 218
mtodo de puesta en marcha de la escritura, 219
actualizaciones, 219
solucin de problemas, 220
www.it-ebooks.info
pgina 258
ndice
248
Raspbian
Image Writer, 11- 13
accin de tiro, 13
versin binaria, 11
imagen de disco, 11- 12

mensaje de error, 12
Mac
escritura de la imagen, 14- 17
terminales, 14
significado, 10
Lea el manual de Flaming (RTFM), 91
Las expresiones regulares, 228- 229
nS
Lenguajes de script. Ver lenguajes interpretados
Secure Shell (SSH)
-cliente a resolver, 61- 66
Mac, 65- 66
masilla, 61- 64
de facto estndar, 60
servidor para Pi
ifconfig, 60- 61
de configuracin de interfaz, 60
Direccin IP, 60
Enviar correo a nuestro servidor de correo (ssmtp),
208- 210
Fuente cdigo. Ver lenguajes compilados
Iniciar el concepto de men, LXDE
accesorios
Referencia Debian, 36- 37
Administrador de archivos, 37- 38
Visor de imgenes, 38- 39
Leafpad, 40
LXTerminal, 41
men, 36
Raz Terminal, 41- 43
Xarchiver, 43
Educacin
men, 43- 44
Rasguo, 44
Chirrido, 45- 46
Men de Internet, 46- 47
sistema operativo, 34
preferencias
personalizar apariencia, 51- 52
escritorio, 50- 51
men de programacin
IDE, 48
IDLE, 49
Python, 48
ventana, 47- 48
ejecutar comandos, 35- 36
herramientas del sistema
men, 49
El uso de RAM, 50
Lista de tareas encargado, 49- 50
ventana, 35
Editor de flujo (SED), 228
Structured Query Language (SQL)
BORRAR, 164
insertar datos, 160- 161

Pi, 157
SELECCIONAR, 161- 162
sintaxis, 157
creacin de la tabla, 157- 158, 160
tipos, 157
ACTUALIZAR, 163- 164
monitoreo de los recursos del sistema
Porcentaje de utilizacin de la CPU, 93
uso del disco, 95- 97
libre para ver la asignacin de memoria, 95
los procesos de gestin, 97- 100
los procesos actuales, 97
en / proc, 100
matar a los procesos, 99
ps-ef, 98
ps significa, 99
uso de memoria, 94
salida, 91- 92
tabla de procesos, 94
Tareas, 93
el tiempo de actividad y el promedio de carga, 93
n T, U
Terminales, 53. Vase tambin terminales de ordenador
aritmtica basada en las pruebas
ventaja, 136
operacin aritmtica, 137
el modo de asignacin, 135
el modo de eliminacin de referencias, 136
mdulo, 135
salida, 137
operadores de prueba, 136
variables, 136
Interfaz de usuario basada en texto (UIS), 55
Tres terminales
consola, 58
LXDE, 59
SSH
cliente, 61- 66
estndar de facto, 60
ecuacin, 59
servidor para Pi, 60- 61
terminal virtual, 59
www.it-ebooks.info
pgina 259
ndice
249
nV
Vdeo, 223
Empuje
encanto, 120
copiar y pegar estilo, 127
delete, 124- 125
mensaje de error, 119
tecla de escape (ESC), 119

caracteristicas, 117
saliendo, 120
sangra de texto, 126
el modo de insercin, 118
instalar, 117
pegar la masa, 128
pequeas rdenes diversos, 126
moverse, 123
atajos de navegacin, 123
expresiones regulares, 122
guardar los cambios, 119
buscar, 121- 122
nmero de lnea especfico, 122- 123
sencillo, 117- 118
tildes, 118
modo visual, 126
Virtual Network Computing (VNC)
ejecucin, 183
instalar, 183
salida, 183
Cliente TightVNC, 184
vncserver, 184, 186
Terminal virtual, 58
nW
Wifi
lnea de comando, 194- 195
configuracin
conciente de, 192
conectar, 192
icono, 190
ifconfig, 193
detalles de la red, 191- 192
ventana de resultados del anlisis, 191
wpagui ventana, 190
D-Link DWA- 131, 186
Cable Ethernet, 196
instalacin, 189
comando lsusb, 187
salida, 188
resumen, 186
configuracin, 187
Dispositivos USB, 186
Adaptador inalambrico, 188
wpa-gui, 189
Computacin inalmbrica (IPIM). Vase tambin WiFi
comandos, 182
El uso de Pi, 181- 182
potencia de salida, 197
eliminacin simple contraint, 182- 184, 186
dispositivos de entrada humanos, 182
interfaz grfica de usuario remoto, 183- 184, 186
Adaptadores USB, 197
nX
XBox Media Center (XBMC)
pantalla de arranque, 232, 235-236

la acumulacin de configuracin, 224- 228


men principal, 233
sistema operativo, 224
Sistema de arranque Pi, 232
Piscis, 224
programa en ejecucin, 234
RaspMC, 224
aplicacin remota, 234
expresiones regulares y de sed, 228- 229
soluciones, 233
cdigo fuente, 229- 231
solucin de problemas, 232, 236
XMBCbuntu, 223
X-servidor, 31
n Y, Z
equipo de Ye Olde
siempre disponible, 57
convencidos, 57
terminal tonto, 54
rpido, 57
interfaces grficas de usuario, 55
El problema clave, 54
ligero, 57
terminales modernos, 55- 56
tuberas, 57
poder, 57
sencillo, 56
TUI, 55
terminal virtual, 58
www.it-ebooks.info
pgina 260
Aprender Frambuesa Pi
con Linux
Peter Membrey
David Hows
www.it-ebooks.info
pgina 261
Aprender Frambuesa Pi con Linux
Derechos de autor 2013 por Peter Membrey y David Hows
Esta obra est sujeta a derechos de autor. Todos los derechos estn reservados por el editor, si la
totalidad o parte del material
se refiere, en concreto los derechos de traduccin, reimpresin y la reutilizacin de las
ilustraciones, la recitacin, radiodifusin,
reproduccin en microfilms o en cualquier otra forma fsica, y transmisin o la informacin de
almacenamiento y recuperacin,
la adaptacin electrnico, software informtico, o mediante una metodologa similar o no
conocido actualmente o desarrollado en el futuro.
Estn exentas de esta reserva legal son breves extractos en relacin con los exmenes o anlisis
acadmico o materiales
suministrado especficamente con el fin de ser introducido y ejecutado en un sistema
informtico, para uso exclusivo por el
comprador de la obra. Se permite la duplicacin de esta publicacin o parte de las mismas slo
en virtud de las disposiciones de la

Ley de Derechos de Autor de la ubicacin del Editor, en su versin actual, y el permiso para su
uso siempre deben ser obtenidos a partir
Saltador. Permisos de uso se pueden obtener a travs Rightslink al Copyright Clearance Center.
violacines son
sujetos a enjuiciamiento en virtud de la respectiva Ley de Propiedad Intelectual.
ISBN-13 (PBK): 978-1-4302-4821-7
ISBN-13 (electrnico): 978-1-4302-4822-4
Los nombres comerciales, logotipos y las imgenes pueden aparecer en este libro. En lugar de
usar un smbolo de marca con cada
ocurrencia de un nombre de marca registrada, logotipo o imagen que usamos los nombres,
logotipos, imgenes y solamente de forma editorial
y en beneficio del propietario de la marca, sin intencin alguna de infraccin de la marca.
La utilizacin de esta publicacin de nombres comerciales, marcas registradas, marcas de
servicio y trminos similares, incluso si no se identifican
como tal, no debe ser tomado como una expresin de opinin en cuanto a si son o no estn
sujetos a derechos de propiedad.
Mientras que el asesoramiento y la informacin en este libro se cree que son verdadera y exacta
a la fecha de publicacin, ni
los autores ni los editores ni el editor puede aceptar ninguna responsabilidad legal por cualquier
error u omisin que pueda
hacerse. El editor no ofrece ninguna garanta, expresa o implcita, con respecto al material
contenido en este documento.
Presidente y editor: Paul Manning
El plomo Editor: Michelle Lowman
Editor del desarrollo: Mateo Moodie
Crtico tcnica: Stewart Watkiss
Consejo Editorial: Steve Anglin, Mark Beckner, Ewan de Buckingham, Gary Cornell, Louise
Corrigan, Morgan Ertel,
Jonathan Gennick, Jonathan Hassell, Robert Hutchinson, Michelle Lowman, James Markham,
Mateo
Moodie, Jeff Olson, Jeffrey pimienta, Douglas Pundick, Ben Renow-Clarke, Dominic
Shakeshaft, Gwenan
Spearing, Matt Wade, Tom Welsh
Coordinar Editor: Jill Balzano
Copy Editor: Nancy Sixsmith
Compositor: SPI Global
Indexador: SPI Global
Artista: SPI Global
Cover Designer: Anna Ishchenko
Distribuido a la industria del libro en todo el mundo por Springer Science + Business Media
Nueva York, 233 Spring Street, 6th Floor,
Nueva York, NY 10013. Tel: 1-800-Springer, fax (201) 348 a 4505, e-mail ordersny@springer-sbm.com , o visita
www.springeronline.com . Apress Media, LLC es una LLC de California y el nico miembro
(propietario) es Springer Science +
Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc es una corporacin de
Delaware.
Para obtener informacin sobre las traducciones, enve un correo electrnico rights@apress.com
O visite www.apress.com .
Apress y amigos de los libros ED se pueden comprar a granel para uso acadmico, corporativo o
de promocin. libro electronico
versiones y licencias tambin estn disponibles para la mayora de los ttulos. Para obtener ms
informacin, hacer referencia a nuestra especial a granel Ventas-libro electrnico
Licencias de la pgina web en www.apress.com/bulk-sales .
Cualquier cdigo fuente u otros materiales suplementarios que se hace referencia por el autor en

este texto est a disposicin de los lectores


en www.apress.com . Para obtener informacin detallada acerca de cmo localizar el cdigo
fuente de su libro, vaya a
www.apress.com/source-code/ .
www.it-ebooks.info
pgina 262
A mis padres, Peter y Bev, por todo su apoyo.
- David Hows
Para mi esposa Sarah, hijo Kaydyn, y mis amigos cercanos Jacqui Koo y Mark Stephens,
que en conjunto hacer que mi mundo gire.
- Peter Membrey
www.it-ebooks.info
pgina 263
vii
Contenido
Sobre los autores xv
Sobre el revisor tcnico xvii
Agradecimientos xix
Introduccin xxi
Captulo 1: Su primer bocado de Frambuesa Pi

1
Su recin horneado Pi llega 1
Lista de ingredientes 3
Micro USB llevar 4
Adaptador de corriente USB 4
HDMI El plomo 5
HDMI pantalla con capacidad de 5
Dakota del Sur tarjeta 5
Lector de tarjetas SD 6
Teclado y ratn USB 7
Menos mal, ya est! 7
No cunda el pnico! 8
Linux 8
Qu es Linux? 9
descargan Raspbian 10
Conseguir Raspbian en la tarjeta SD 10
El uso de Image Writer en Windows 11
Usando dd en el Mac 14
primero de arranque 17
www.it-ebooks.info
pgina 264
Contenido
viii
Configuracin del Pi 18
La ampliacin del sistema de archivos 19
Configuracin del teclado 20
Cambiando el Contrasea 23
Configuracin de la configuracin regional 24
Cambiar la zona horaria 26
La asignacin de memoria 27
Al final! Sus Configurado! 28

resumen 30
Captulo 2: El examinar el paisaje

31
Bienvenido a LXDE 31
Qu tenemos aqu? 32
El men de inicio e inferior izquierda de la barra de tareas 33
Y en el lado derecho ... 33
El comienzo men 34
Accesorios 36
educacin 43
Internet 46
programacin 47
Sistema Herramientas 49
preferencias 50
resumen 52
Captulo 3: El conseguir cmodo

53
Ye Olde ordenador 54
Saludar al terminal no inteligente 54
Modern Terminals 55
Por qu nos todava se preocupan por estas cosas? 56
Tres terminales 58
consola 58
La apertura de una terminal virtual en la interfaz grfica de usuario 59
Conexin a travs de SSH 59
www.it-ebooks.info
pgina 265
Contenido
ix
Bienvenido a la lnea de comandos 66
Diferentes depsitos 68
resumen 68
Captulo 4: El archivo-caminos para el xito

69
Qu es un sistema de archivo? 69
Ms de un sistema de archivos 70
Las races separadas 70
Sistema de archivos unificada 71
El Mac tiene que ser diferente 71
Ponerlo todo junto 71
Todo como un archivo 72
Disposicin del sistema de archivos 73
/ (Directorio raz) 73
/ root 73
/ etc 73
/ proc 73
/ var 74
/ boot 74
/ Bin y / sbin 74
/ dev 74
/ home 74

/ lib 75
/ lost + found 75
/ mnt 75
/ media 75
/ usr 75
/ opt 75
/ srv 75
sys / 76
/ tmp 76
Envolvindolo hasta 76
www.it-ebooks.info
pgina 266
Contenido
x
La puesta en funcionamiento 76
Dnde estamos? Utilizando pwd 76
Qu hay aqu con nosotros? Utilizando LS 77
Creacin de archivos para reproducirlos con: El uso tctil 77
En algn lugar de guardar nuestros archivos: Usando mkdir 78
Haciendo uso de un nuevo Directorio: Uso del comando mv 79
Un poco de Clonacin: Cmo utilizar el comando cp 79
El poder de destruir: Uso del comando rm 80
Rutas completas y relativas 81
Usuarios y grupos 81
Archivo permisos 82
Configuracin de los permisos de archivos 84
Los accesos directos y enlaces 87
resumen 88
Captulo 5: Comandos Esenciales

89
Convertirse en el jefe 89
RTFM 91
Monitoreo de recursos del sistema 91
El tiempo de actividad y la carga media 92
tareas 93
Porcentaje de uso de CPU 93
Memoria uso 94
Proceso Tabla 94
El uso gratuito para ver Asignacin de memoria 95
Disco uso 95
Gestin de procesos 97
Archivo comandos 100
La combinacin de Comandos 102
Usuario Medio Ambiente 104
El comando cron 107
resumen 107
www.it-ebooks.info
pgina 267
Contenido
xi
Captulo 6: Edicin de archivos en la lnea de comandos

109
Qu es un archivo de texto? 109
los contendientes 110
Comenzando con nano 111
Entonces, qu significa todo esto? 112
Guardar el archivo 113
Desplazarse por las nano 115
Ajustar hacia arriba nano 117
Introduccin a vim 117
Los modos de vim 118
Guardar los cambios 119
Los caminos para salir de vim 120
Buscando en vim 121
El cambio a una lnea especfica Nmero 122
Movindose en vim 123
Eliminacin en vim 123
Varios pequeos Comandos 126
Visual modo 126
Sangrado de texto 126
resumen 128
Captulo 7: Administracin del Pi

129
Acceso a la remota Pi 129
establecimiento de una red 129
DNS 130
SSH 130
BASH: Codificacin bsica 130
Qu es BASH? 131
a partir de BASH 131
Interpretado frente Compilado 132
La produccin en BASH 132
www.it-ebooks.info
pgina 268
Contenido
xii
recapitulacin 133
Variables 133
Operacin lgica: si 134
Based Test aritmtica 135
Solucin de problemas 137
Operacin lgica: Loop 139
Solucin de problemas 141
BASH prctico: un guin de inicio 141
Recoger y combinar con el caso Declaracin 143
Aplicacin dentro de la aplicacin: bifurcar 143
Actualizar los archivos de ejecucin 143
Creacin de sus propias secuencias de comandos de inicio 144
Seguridad y Gestin de Usuario 146
Las Reglas de Raspbian Seguridad 146
Aadiendo un usuario nuevo 147
resumen 148
Captulo 8: Una lmpara de su propia

149
primero Los pasos 149
L es para Linux 150
Una es para Apache 150
Apache Configuracin 152
Solucin de problemas 155
M es para MySQL 155
Instalar MySQL 156
Structured Query Language 156
P es para PHP 165
Simple Web App 168
HTML 168
A partir Nuestra Pgina 169
Visualizar el contenido de bases de datos 171
www.it-ebooks.info
pgina 269
Contenido
xiii
Sitio Web de datos La insercin 173
Insercin de la base de datos 175
retirar entradas 176
Eliminar los datos de DB 178
Solucin de problemas 179
Desde aqu hasta? 179
resumen 180
Captulo 9: Wipi: Computacin inalmbrica

181
Preparacin para Wipi 182
La eliminacin de restricciones simple 182
Extraccin de dispositivos de entrada Humanos 182
Adicin de una interfaz grfica de usuario remoto 183
Es cierto Wipi con WiFi 186
Interfaz grfica de usuario de configuracin Wi-Fi 190
La gestin de Wi-Fi desde la lnea de comandos 194
Hasta un 196
La eliminacin de la necesidad de energa 196
Desarrollado adaptadores USB 197
resumen 197
Captulo 10: La frambuesa SPI

199
materiales necesaria 199
Presetup 200
Consiguiendo iniciado 200
dmesg 200
Solucin de problemas 204
Movimiento capturar 204
Solucin de problemas 208
Alertar a s mismo 208
Instalacin ssmtp 208
Instalacin y uso de mutt 210
www.it-ebooks.info

pgina 270
Contenido
xiv
Probando el Sistema de Alerta 211
Solucin de problemas 212
Uniendo fuerzas 212
Entendiendo el problema 213
Toma de decisiones 213
El diseo de soluciones 214
Guin 1 216
Guin 2 217
Las pruebas 218
Solucin de problemas 220
Dnde ir desde aqu 220
resumen 221
Captulo 11: Pi Media Center

223
Video con XBMC 223
Configuracin para construir 224
Cambiar archivos con SED y las expresiones regulares 228
La compilacin del cdigo fuente 229
Solucin de problemas 231
Inicio y utilizacin XBMC 232
XBMC en el arranque 235
Solucin de problemas 236
Ciclo de Msica con Airplay 236
Solucin de problemas 241
Aeropuerto de arranque 241
resumen 242
ndice 243
www.it-ebooks.info
pgina 271
xv
Sobre los autores
Peter Membrey es un Chartered TI profesional con casi 15 aos de experiencia
el uso de Linux y de cdigo abierto solutiuons para resolver problemas en el mundo real. Un
RHCE desde la edad de 17 aos, tambin ha tenido el honor de trabajar para Red Hat y
escrito varios libros que cubren soluciones de cdigo abierto. l tiene una maestra en
TI (Seguridad de la Informacin) de la Universidad de Liverpool y es actualmente un doctorado
candidato de la Universidad Politcnica de Hong Kong, donde sus intereses de investigacin
incluir el cloud computing, la ciencia y la seguridad de datos grande. l vive en Hong Kong con
su maravillosa esposa Sara y su hijo Kaydyn. Su cantons sigue una regresin.
David cmos se gradu con honores de la Universidad de Nueva Gales del Sur Woolongong en
Australia. Se inici en la computacin tratar de conducir ms rendimiento de su
PC de la familia sin tener que gastar una fortuna. Esto condujo a una carrera en TI donde David
tiene
trabajado como administrador de sistemas, ingeniero de rendimiento, desarrollo de software,
Soluciones Arquitecto e Ingeniero de base de datos. David ha intentado en vano durante muchos
aos
para jugar bien al ftbol y su taza de caf lee "del queja del vago."
www.it-ebooks.info
pgina 272

xvii
Sobre el revisor tcnico
Stewart Watkiss se gradu de la Universidad de Hull, Reino Unido, con un ttulo de Maestro
en ingeniera electrnica. Ha sido un fan de Linux desde primera instalarlo en una
ordenador de casa durante la dcada de 1990, en la poca de Linux se ha instalado con disquete
discos. Mientras trabajaba como administrador de sistemas Linux, se le concedi avanzada
Certificacin Linux (LPIC 2) en 2006, y cre el sitio web para ayudar a PenguinTutor
otras personas que trabajan hacia la certificacin Linux ( http://www.penguintutor.com ).
Despus de ordenar su primer Frambuesa Pi en el da del lanzamiento, que ya ha conseguido
tres ms, que se utiliza como sustituto idneo para nios, un centro de medios de comunicacin,
para trabajar
en proyectos electrnicos caseros, y enseando a sus dos hijos acerca de las computadoras.
www.it-ebooks.info
pgina 273
xix
Sin lugar a dudas, los verdaderos hroes de este libro son la Fundacin Raspberry Pi y la
comunidad Frambuesa Pi
porque sin que ninguno de ellos, no estaramos aqu. La Fundacin Pi frambuesa, el grupo que
nos compr el Pi,
es una organizacin benfica sin fines de lucro con el objetivo declarado del Pi fue para
revitalizar el espritu desarrollo de los aos 80 y al
proporcionar una plataforma asequible para las generaciones de jvenes para entrar en el
maravilloso mundo de la informtica de una forma realmente
de manera significativa. Se ha hecho mucho para reducir la brecha digital y llevar la
computacin para el hombre comn, y para
esto se merece nuestro agradecimiento.
Si la Fundacin Raspberry Pi es el corazn, la comunidad Frambuesa Pi tiene que ser el alma.
Estas personas tienen
tratado de proporcionar las herramientas y el personal de apoyo necesario para empezar con la
Pi independientemente del nivel de habilidad. Ellos tienen
invirtiendo muchas horas (y dlares) por escrito, que se fijan, portar, la piratera, y cosas de
prueba para la Pi. Por favor sintase libre
para hacer una visita a ellos en http://www.raspberrypi.org/ y vemos lo que queremos decir.
Expresiones de gratitud
www.it-ebooks.info

You might also like