J OSÉ J AVIER M ONROY GUIA BASICA DE LINUX Distribución Ubuntu CAPÍTULO 1 ∏ INTRODUCCIÓN A LINUX Descubriremos en este curso uno de los sistemas operativos Linux más difundidos: Ubuntu. Aprenderemos las nociones básicas de este sistema operativo y también los comandos más habituales de la terminal. SECCIÓN 1 Linux y su historia IDEAS PRINCIPALES Linux es un sistema operativo, cuyo origen proviene de Unix. Linux tiene dos características muy peculiares lo diferencian del resto de sistemas que existen: ∏ • Linux proviene de Unix • Sistema Operativo libre • Linus Torvalds como su artífice. • Es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna empresa por el uso del mismo. • El sistema viene acompañado del código fuente. El sistema lo forman el núcleo del sistema (kernel) más un gran número de programas o bibliotecas que hacen posible trabajar con ellos. Muchos de estos programas y bibliotecas han sido posibles gracias al proyecto GNU, por esto mismo, muchos llaman a Linux, GNU/Linux, para resaltar que el sistema lo forman tanto el núcleo como gran parte del software producido por el proyecto GNU. Hablaremos posteriormente del GNU, GPL o (general public licence) y otros conceptos muy relacionados con Linux. Breve Historia de Linux En 1991, en Helsinki, Finlandia, comenzó un proyecto que más tarde llegó a ser el núcleo Linux, su artífice fue Linus Torvalds Esto fue al principio un emulador 2 está comenzando a estar listo. Me gustaría recibir cualquier comentario sobre las cosas que gustan/disgustan en minix, ya que mi SO (Sistema Operativo) se le parece un poco (la misma disposición física del sistema de archivos, debido a motivos prácticos, entre otras cosas)….. terminal, al cual Torvalds solía tener acceso en los grandes servidores UNIX de la universidad. Él escribió el programa expresamente para el hardware que usaba, e independiente de un sistema operativo, porque quiso usar las funciones de su nueva computadora personal con un procesador 386. Este es aún el estándar de hoy. El sistema operativo que él usó durante el desarrollo fue Minix, y el compilador inicial fue el GNU C compilador, que aún es la opción principal para compilar Linux hoy . …. Cualquier sugerencia es bienvenida, pero no prometeré que las pondré en práctica :-) Linus Benedict Torvalds Linus Torvalds había querido llamar su invención Freax, una unión de freak (anormal o raro), free (libre), y "X", una alusión a Unix. Pero en año y medio. Torvalds ya había considerado el nombre "Linux", pero al principio lo había descartado por ser demasiado egocéntrico. Recordemos que él mismo se llama Linus. Como afirma Torvalds en su libro "Solamente por diversión", él tarde o temprano comprendió que había escrito un núcleo de sistema operativo. El 25 de agosto de 1991, anunció este sistema en un envío a la red Usenet, en el grupo de noticias comp.os.minix.: Para dar a otra gente la capacidad de cooperar en el sistema o sugerir mejoras, los archivos fueron colocados en el servidor ftp (ftp.funet.fi) de la Universidad de Tecnología de Helsinki (Helsinki University of Technology) (HUT), en Hola a todos aquellos que usan Minix Estoy haciendo un sistema operativo (gratuito) (solamente una afición, no será grande ni profesional como el GNU) para clones 386(486) AT. Este ha estado gestándose desde abril, y 3 septiembre de 1991. Ari Lemmke, colega de Torvalds en la HUT, que en ese entonces responsable de los servidores, no estuvo de acuerdo con el nombre Freax, prefiriendo el nombre Linux. Él simplemente llamó los archivos colocados sobre el servidor "Linux" sin consultar a Torvalds. Más tarde, sin embargo, Torvalds accedió a usar el nombre "Linux": Después de la versión 0.03, Linux salto en la numeración hasta la 0.10, más y más programadores a lo largo y ancho de internet empezaron a trabajar en el proyecto y despues de sucesivas revisiones, Linus incremento el número de versión hasta la 0.95 (Marzo 1992), la primera capaz de ejecutar el sistema X-windows. La designación "Linux" al principio fue usada por Torvalds sólo para el núcleo. El núcleo fue, sin embargo, con frecuencia usado junto con otro software, especialmente con el del proyecto de GNU. Esta variante de GNU rápidamente se hizo la más popular, ya que no había ningún otro núcleo libre que funcionara en ese tiempo. Más de un año después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0.0 no llego hasta el 14 de marzo de 1994. El producto terminado es más a menudo denominado como "Linux", el más simple, y el verdadero nombre con el que se le conoce hoy en día. El 9 de Mayo 1996, Tux fue propuesto como mascota oficial de Linux. Linus nunca anuncio la versión 0.01 de Linux (agosto/ septiembre 1991), esta versión no era ni siquiera ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en lenguaje ensamblador y asumía que uno tenía acceso a un sistema Minix para su compilación. El 9 de junio de 1996 fue lanzada la serie 2.0.x, la 2.2.x no llegó hasta el 25 de enero de 1999 y la 2.4.x hasta el 4 de enero del 2001. El 17 de diciembre del 2003 fue lanzada la serie actual del núcleo, la 2.6.x y el desarrollo de Linux sigue avanzando día a día con la meta de perfeccionar y mejorar el sistema. El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, -version 0.02. Con esta versión se podía ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho más funcionaba. En este estado de desarrollo ni se pensaba en los términos soporte, documentación, distribución..... En el siguiente gráfico podéis ver una ilustración de las diferentes variantes de Unix desde el lanzamiento de la primera en la década de los 70 y la posición de Linux en esta 4 historia. Es interesante ver que el sistema Mac Os está en el mismo nivel Película 1.1 Introducción a linux Un breve recorrido por el origen de Linux 5 SECCIÓN 2 •Multiprocesador: Soporte para sistemas con más de un procesador está disponible para Intel, AMD y SPARC. ∏ Características de Linux Linux tiene una serie de características que le hacen ser uno de los mejores sistemas operativos existentes en el mercado. Totalmente equiparable a Windows o Mac Os. Podríamos describir sus características principales de la siguiente manera: •Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva. •Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. •Multiusuario: Varios usuarios pueden usar la misma maquina al mismo tiempo. •Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente. •Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386, 486. Pentium, Pentium Pro, Pentium II, Amiga y Atari, también existen versiones para su utilización en otras plataformas, como amd64, ARM,, PowerPC y SPARC. •Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Esto 6 tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. •Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo típicos de System V. •Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición en el sistema de archivos, con la posibilidad de añadir más áreas de intercambio sobre la marcha. •Tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud. •La memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y ésta puede a su vez ser reducida cuando se ejecuten grandes programas. •Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no es necesario ningún comando especial para usar la partición MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas cosas). •Librerías compartidas de carga dinámica (DLL's) y librerías estáticas. •Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM. •Todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. •TCP/IP, incluyendo ssh, ftp, telnet, NFS, etc. Fuente: Infosheet-Como •Soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente. •Consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinámicamente y puedes tener hasta 64. 7 SECCIÓN 3 En los últimos tiempos, ciertas casas de software comercial han empezado a distribuir sus productos para Linux y la presencia del mismo en empresas aumenta rápidamente por la excelente relación calidad-precio que se consigue con Linux. ∏ Ámbitos de uso de Linux Linux es un sistema operativo abierto destinado a cubrir las necesidades de cualquier usuario o aplicación ya que puede ser instalado en equipos con reducidos recursos. Las plataformas en las que en un principio se puede utilizar Linux son casi todas como ya hemos visto Pentium, Amiga, ARM, PowerPC , SPARC, etc. Linux es una excelente alternativa para reactivar equipo que de otra manera sólo serviría para tirarlo o regalarlo. La gran competencia de Linux son Windows y Mac os. La cantidad de servidores en Internet operados por sistemas Linux y Apache (más de 60% de los servidores en Internet operan con Linux, según expertos), nos dan una idea de lo que se puede lograr con un software gratuito. De hecho, muchas empresas tienen algún servidor Linux para generar una intranet, un servidor de archivos o impresoras. Pero la mejor manera de entender que empresas y organismos utilizan Linux y para qué es estudiar tres casos prácticos y sus motivos: 8 Cada X años, todo ese software con licencia hay que renovarlo e incluso muchas veces ese mismo software te obliga prácticamente a renovar el ordenador donde se ejecuta, porque ese software precisa una máquina mucho más potente (véase el paso de Win98 a Win XP, o el que ha sido aún peor el de Win XP a Win Vista, todo ello junto con sus office y aplicaciones incompatibles con los nuevos Windows, por lo que hay que comprar las nuevas versiones). Junta de Extremadura Sistema operativo: Linex Está claro que es un gasto, para algunos mínimo comparado con el dinero que manejan los gobiernos regionales, pero no deja de ser un gasto y lo que es peor, acumulativo con el tiempo que no significa una reinversión. (fuente original Junta de Extremadura). Motivo: Se dieron cuenta de una cosa: “¿Para qué pagar licencias de Microsoft y otras firmas? Tenemos GNU/Linux y todo el Open Source que nos puede salir gratis y nos puede ayudar a educar a los extremeños en la era tecnológica y de internet“. Y si se piensa detenidamente no es ninguna tontería. Hay que tener en cuenta que la administración pública usa muchos, muchos equipos informáticos. Cada ordenador con un Windows y una licencia por cada una de ellos, y esto se repite con cada aplicación de pago como pueden ser las indispensables herramientas ofimáticas (word, excel…). Es realmente mucho dinero, que en lugar de usarse en comprar Windows y Office se podría invertir en la educación, el estado de las carreteras, en subvenciones para jóvenes, en crear trabajo, etc. Michael Dell (el fundador de la empresa de ordenadores Dell se entiende) Sistema operativo: Ubuntu 7.04 (en su portátil personal) 9 Motivo: al usuario en una libertad de elección y mejora del producto[...] yo entiendo que si en su portátil, ese con el que tiene que trabajar y del que se tiene que fiar tiene Linux....es que algo de seguridad debe darle al hombre. [...] y por qué el código fuente es público y por lo tanto auditable, la seguridad de los programas libres puede ser asegurada mejormente [...] El parlamento Francés Sistema operativo: Ubuntu Motivo: [...] la interoperatividad y los estándares abiertos, condición del desarrollo económico europeo en materia de tecnologías de la información [...] [...] proponer a nuestros compañeros europeos adoptar el principio de la interoperatividad [...] de estándar abierto de documento de oficina "OpenDocument Format", (odf) en garantía de su perennidad, autoriza su utilización sin riesgo por los actores económicos y públicos y favorece el desarrollo de programas concurrentes respetando este formato, que deviene así mismo 10 SECCIÓN 4 había llegado a su trabajo. La historia es tan interesante que merece ser contada con más detalle: ∏ Linux, GNU y el software libre En el laboratorio donde trabajaba, habían recibido una impresora donada por una empresa externa. El dispositivo, que era utilizado en red por todos los trabajadores, parecía no funcionar a la perfección, dado que cada cierto tiempo el papel se atascaba. Como agravante, no se generaba ningún aviso que se enviase por red e informase a los usuarios de la situación. La pérdida de tiempo era constante, ya que en ocasiones, los trabajadores enviaban por red sus trabajos a imprimir y al ir a buscarlos se encontraban la impresora atascada y una cola enorme de trabajos pendientes. Richard Stallman decidió arreglar el problema, e implementar el envío de un aviso por red cuando la impresora se bloqueara. Para ello necesitaba tener acceso al código fuente de los controladores de la impresora. Pidió a la empresa propietaria de la impresora lo que necesitaba, comentando, sin pedir nada a cambio, qué era lo que pretendía realizar. La empresa se negó a entregarle el código fuente. En este momento se dio cuenta de los riesgos vinculados con el software propietario e inició en 1984 un movimiento para el desarrollo del software libre de derechos. Richard Matthew Stallman tuvo un problema bastante grande. Le era totalmente imposible obtener y modificar el código fuente del controlador de una nueva impresora que 11 variantes. (Véase también: Controversia por la denominación GNU/Linux). El software libre: licencia GPL y copyleft GNU que se pronunciaría en inglés algo parecido a ÑU, por este motivo su símbolo es este animal, significa GNU’s not unix. El concepto es un nuevo tipo de desarrollo, el software libre. Richard Stallman implementó una licencia específica. Esta licencia evita que cualquiera tras modificar unas pocas líneas de software libre, se apropie del código fuente y establezca un copyright. Se trata de la Licencia Pública General de GNU (GNU GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL. En 1991, Linus Torvalds empezó a escribir el núcleo Linux y decidió distribuirlo bajo la licencia GPL. Rápidamente, múltiples programadores se unieron a Linus en el desarrollo, colaborando a través de Internet y consiguiendo paulatinamente que Linux llegase a ser un núcleo compatible con UNIX. En 1992, el núcleo Linux fue combinado con el sistema GNU, resultando en un sistema operativo libre y completamente funcional. El Sistema Operativo formado por esta combinación es usualmente conocido como "GNU/ Linux" o como una "distribución Linux" y existen diversas 12 En el sitio web oficial de GNU hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no. Aproximadamente el 60% del software licenciado como software libre emplea una licencia GPL. serie de empresas que realizan software libre (por ejemplo MySQL); esta práctica no restringe ninguno de los derechos otorgados a los usuarios de la versión copyleft. También podría retirar todas las licencias de software libre anteriormente otorgadas, pero esto obligaría a una indemnización a los titulares de las licencias en uso. Como resumen, los fundamentos del software libre son los siguientes: • Libertad de ejecutar el software para cualquier uso, comercial o no, y por cualquier personal Película 1.2 Open Source, GNU, etc • La libertad de estudiar el funcionamiento del software y adaptarlo a nuestras necesidades • La libertad de distribuir copias, gratuitas o no • La libertad de mejorar el software Copyleft (copia permitida) en oposición a copyright (derechos de autor) Hay que hacer constar que el titular de los derechos de autor (copyright) de un software bajo licencia copyleft puede también realizar una versión modificada bajo su copyright original, y venderla bajo cualquier licencia que desee, además de distribuir la versión original como software libre. Esta técnica ha sido usada como un modelo de negocio por una Otros conceptos relacionados con Linux 13 SECCIÓN 5 Gambas es un programa que usa su propio lenguaje (lenguaje gambas), es similar al conocido ms visual basic. Puedes crear proyectos gráficos con ventanas o de terminal para trabajar desde consola. Se instala desde synaptic (debes tener internet, o el dvd de ubuntu). ∏ Redes y servicios de intranet e internet Para crear una programa basta con abrir un formulario desde la ventana proyecto. El formulario es la ventana que se abre al ejecutar el programa, donde van los botones, texto, etc. Si quieres agregas algunas herramientas desde la ventana herramienta, y también puedes agregar algo de código (ventana de modulo o clase). Programación 2.- Varios programas libres de tercera generación para programar en varios lenguajes, entre ellos C, C++, etc. Linux es un sistema operativo similar a Windows, aunque superior en muchísimos aspectos además de ser gratuito. En Linux Hay muchos programas para programadores libres y casi todos gratuitos Nos referiremos: • Anjuta: Se usa en escritorio gnome, lo instalas desde synaptic (lo buscas en la lista, dos click y listo). • Kdevelop: Este programa solo está disponible para el escritorio kde, se instala con solo dos click desde adept y puedes programar en muchos lenguajes. 1.- Gambas: Es un Programa libre, puede usarse en escritorio kde, o en escritorio gnome. Actualmente la manera más sencilla para programar es con la programación visual (Gambas, visual basic, etc.), considerada de cuarta generación porque con pocos conocimientos puedes crear programas. • Eclipse SDK: Es un Completísimo entorno de desarrollo integrado para Java y más. Eclipse es una potente y completa plataforma de programación, desarrollo y compilación de elementos tan variados como sitios web, programas en C++ o aplicaciones Java. 14 3. Consola como Internet. Con Linux, TCP/IP y una conexión a la red, puede comunicarse con usuarios y máquinas por toda Internet mediante correo electrónico, noticias (USENET news), transferencias de ficheros con FTP y mucho más. Actualmente hay muchos sistemas Linux conectados a Internet. Es parecido al ms-dos de microsoft, pero muy superior, todos los linux pueden trabajar desde consola o terminar. Linux trabaja con escritorios gráficos similares al de windows, entre ellos gnome y kde, puedes acceder a la consola (terminal) desde el escritorio gráfico. La mayoría de las redes TCP/IP usan Ethernet como tipo de red física de transporte. Linux da soporte a muchas tarjetas de red Ethernet e interfaces para ordenadores personales, incluyendo el adaptador Ethernet D-Link de bolsillo para ordenadores portátiles. Redes Pero dado que no todo el mundo tiene una conexión Ethernet en casa, Linux también proporciona SLIP (Serial Line Internet Protocol), el cual permite conectarse a Internet a través de un módem. Definiremos una red como un conjunto de nodos que son capaces de comunicarse entre sí, contando con los servicios de un número de nodos dedicados que conmutan datos entre participantes. Los nodos son a menudo ordenadores, pero no es necesario; cualquiera puede pensar también en terminales X o impresoras inteligentes como nodos. Para poder usar SLIP, necesitará tener acceso a un servidor de SLIP, una máquina conectada a la red que permite acceso de entrada por teléfono. Muchas empresas y universidades tienen servidores SLIP disponibles. De hecho, si su sistema Linux dispone de conexión Ethernet y de módem, puede configurarlo como servidor de SLIP para otros usuarios. Linux dispone de los dos principales protocolos de red para sistemas UNIX: • TCP/IP • UUCP. NFS (Network File System) permite fácilmente compartir ficheros con otras máquinas de la red. TCP/IP (Transmission Control Protocol/Internet Protocol) es un conjunto de protocolos de red que permite a sistemas de todo el mundo comunicarse en una única red conocida FTP (File Transfer Protocol) permite la transferencia de ficheros entre máquinas. 15 Linux proporciona la interface estándar de programación por "sockets", lo que virtualmente permite que cualquier programa que use TCP/IP pueda ser llevado a Linux. E-mail dentro de una Intranet: Probablemente la parte más usada de una Intranet es el uso del correo electrónico. Las Intranets empresariales pueden emplear diferentes programas e-mail, como: Mail Microsoft Mail o Lotus Notes, entre otros. Pero la arquitectura más común que sirve de base al uso del e-mail de las redes internas es el protocolo llamado Protocolo simple de Transferencia de Correo, o SMTP. El servidor Linux de X también soporta TCP/IP, permitiendo ver aplicaciones que están ejecutando en otros sistemas sobre su pantalla. Seguridad de las Intranet: Cualquier Intranet es vulnerable a los ataques de personas que tengan el propósito de destruir o robar datos empresariales. La naturaleza sin límites de Internet y los protocolos TCP/IP exponen a una empresa a este tipo de ataques. Las Intranets requieren varias medidas de seguridad, incluyendo las combinaciones de hardware y software que proporcionan el control del tráfico; la encriptación y las contraseñas para convalidar usuarios. El término genérico usado para denominar a una línea de defensa contra intrusos es firewall. Un firewall es una combinación de hardware / software que controla el tipo de servicios permitidos hacia o desde la Intranet. Servicios de internet e intranet ¿Cuál es la diferencia entre Internet e Intranet? En esencia, la localización de la Información y quién accede a ella: • Internet es público, global, abierto a cualquiera que tenga una conexión. • Las Intranet están restringidas a aquellas personas que están conectadas a la red privada de la empresa. Además de eso, ambas funcionan esencialmente de la misma manera, con la misma tecnología TCP/IP para regular el tráfico de datos. Del mismo modo, desde el punto de vista de las aplicaciones (e-mail, newsgroups y transferencia de archivos FTP, además del Web), no existe ninguna diferencia entre Internet e Intranet. Las tecnología Intranet, también permiten compartir información y conocimientos independientemente de la ubicación. Los grupos multidisciplinarios y multidepartamentales muy en boga, pueden aprovechar 16 grandemente los grupos de discusión virtuales y boletines informativos para preparar reuniones o mejorar la toma de decisiones. Con anchos de banda suficientes, es posible realizar video-conferencias con audio y video en tiempo real. En la Intranet de una empresa, el acceso a la información es muy similar al acceso a Internet. Ello supone que, si conocemos el proceso para Internet, será casi automático empezar a utilizar una intranet (con el ahorro en formación que eso supone para la empresa). Para casi cualquier empresa de hoy en día, y muy especialmente en un futuro muy cercano, la intranet va a ser un recurso indispensable. Dada la gran cantidad de datos que genera cualquier empresa, se están quedando obsoletos los actuales métodos. Una intranet puede resolver estos y otros problemas. Se puede describir el proceso de la siguiente manera: Todas las máquinas cliente (PCs locales conectados a una máquina Servidor de Web), utilizan un software especial, un browser (navegador; por ejemplo, Netscape Navigator o Internet Explorer), además de software especial para el correo electrónico, FTP y demás servicios. Una Intranet puede resolver, por ejemplo, el problema de la distribución de información para todos los empleados , así pues se pueden publicar manuales, planes de acción, procedimientos, material de formación, folletos de marketing y productos, listas de precios, información comercial, anuncios, promociones etc. Y son accesibles para el empleado o cliente de forma inmediata, y con un ahorro considerable respecto a los métodos clásicos, panfletos, circulares, notas informativas, etc. Además cualquier actualización de datos es inmediata y no supone ninguna carga para la empresa como los métodos tradicionales. 17 SECCIÓN 6 ∏ Distribuciones de Linux Esta es la mejor opción para principiantes, es uno de los sistemas que más se ha esforzado en llegar al usuario final. Es muy fácil de instalar. Posee además un centro de control muy amigable que permite configurar el sistema y agregar o quitar programar de manera sencilla. Cabe mencionar que requiere microprocesadores tipo Pentium o superior. La edición Download es totalmente libre. Una distribución no es otra cosa que el núcleo Linux con un conjunto de programas seleccionados, con herramientas e s p e c í fi c a s d e c o n fi g u r a c i ó n , e m p a q u e t a m i e n t o , documentación, etc. Algunas son comerciales, mientras que otras son totalmente gratuitas o de muy bajo costo. Hay muchísimas distribuciones alrededor del mundo, pero sólo unas pocas son usadas ampliamente. A continuación mostraremos las principales distribuciones de Linux, aunque hay muchas más, entre [ ] aparecerá el escritorio de utiliza: Centro de Control de Mandrakelinux SUSE Linux [KDE] Mandrake [KDE] 18 Fedora [GNOME]: Distribución que se caracteriza por contar con gran cantidad de software y documentación. Es bastante amigable y posee herramientas de configuración general llamadas YaST y YaST2 que están muy bien logradas. Hay que tener en cuenta que algunos comandos y ubicaciones de archivos son algo diferentes a otros sistemas linux. Se pueden hacer copias de los CDs de SUSE mientras se haga gratis. Fedora es en cierta manera la versión libre de la distribución RedHat. RedHat fue una de las primeras distribuciones de Linux que lograron un tipo de instalación más sencilla en los primeros años de Linux. La empresa RedHat es una de las más grandes dentro del mercado del software libre. Muchas distribuciones se basan en RedHat o en Fedora. Escritorio de Suse con varis aplicaciones abiertas Fedora es de libre distribución. 19 Knoppix [KDE]: MEPIS [KDE] Esta distribución (basada en Debian) desarrollada por el alemán Klaus Knopper ha causado sensación en los últimos años. ¿Por qué? Es una distribución también basada en Debian. Al igual que Knoppix funciona como Live CD, pero está preparada también para ser instalada en el disco rígido. Knoppix nos da la posibilidad de usar GNU/Linux sin siquiera tener que instalarlo en el disco rígido (Live CD). Arranca directamente desde CD y cuenta con una gran cantidad de aplicaciones. Además, existen en la actualidad muchísimas distribuciones derivadas de Knoppix que cubren distintas necesidades informáticas. Está pensada especialmente para usuarios sin experiencia. La desventaja que tiene es que cuenta con componentes privativos. Los CDs de MEPIS se pueden copiar ilimitadamente para propósitos no comerciales. Mepis Escritorio de Knoppix 20 Ubuntu Linux [GNOME] Es otra distribución basada en Debian. Tiene una instalación en modo texto aunque bastante automatizada. Película 1.3 Distribuciones de Linux Es una buena opción para comenzar. Ubuntu se puede distribuir libremente. Esta es la distribución que instalaremos para el curso Un breve recorrido por las mejores distribuciones de linux 21 CAPÍTULO 2 ∏ INSTALACIÓN DE LINUX UBUNTU Vamos a proceder a la instalación de nuestro sistema operativo Linux para ello lo primero que vamos a conseguir una distribución en nuestro caso Ubuntu para ello abriremos nuestro navegador y escribiremos descargar Ubuntu. SECCIÓN 1 Este archivo es un .iso Una vez descargado podremos grabar un cd de la iso e instalarlo desde el cd… ∏ Descarga e instalación de Virtualbox Pero en nuestro caso vamos a virtualizar e instalar Linux mediante un software de virtualización… Lo veremos en el próximo capítulo. D ESCARGA DE LA DISTRIBUCIÓN U BUNTU Desde la página de ubuntu.com descargaremos la última versión estable de esta distribución de Linux, en este caso será la 10.10 pero puede cambiar en el futuro. Lo más seguro es que tengamos un ordenador de 32-bits Posteriormente seleccionaremos desde donde queremos descargarlo en este caso España Spain y nos dice las formas que podemos seleccionar de cómo instalar o quemar el cd nosotros de todas maneras vamos a realizar una descarga web Clic en begin dowload nos dirá que la descarga ha empezado y una vez hecho esto se nos descargara un archivo 690megas. 23 D ESCARGA DE Elegimos nuestro sistema operativo y continuamos la descarga. Como vemos esta disponible para casi cualquier sistema operativo. Si eres usuario de Mac puedes instalarlo, en Windows también, etc. Para instalar Linux podemos hacerlo de dos maneras: Desde un cd / dvd e instalarlo directamente en el disco duro del ordenador; O bien, virtualizandolo. Una vez descargado lo instalamos. El proceso es sencillo y sin ningún tipo de complicación. Se recomienda dedicar por lo menos un giga de ram a las máquinas virtuales con un espacio en disco de 8 gigas…. VIRTUALBOX ¿Qué es virtualizar? Se trata de instalar un programa en nuestro sistema operativo que simula un ordenador nuevo sobre el que podemos instalar un sistema operativo diferente. Esto tiene una serie de ventajas. Y como asumo que la inmensa mayoría de los alumnos utilizan Windows y quizás unos pocos macOs, la idea de virtualizar es interesante. Existen muchos programas de virtualización: ■Virtual PC 2007 ■Parallels 4.0 ■VMware ■Oracle Virtualbox Utilizaremos el último. Se trata de Oracle virtual machine u Oracle Virtual box. Vamos a instalarlo, lo buscamos en Google. descargar oracle virtualbox. 24 I NSTALACIÓN DE VIRTUAL Pinchamos en nueva y aparece un asistente. Damos a siguiente y ponemos un nombre a nuestra máquina virtual: Linux-ubuntu. BOX DE ORACLE Automáticamente aparece el sistema operativo y la versión. Pero daros cuenta que también podemos instalar otros sistemas operativos como Windows, Solaris (una versión de UNIX), macos, etc. Iniciamos el programa haciendo doble clic en el icono correspondiente y esta imagen que aparece aquí es una analogía de lo que hace este programa. Es una caja virtual o virtual box sobre la que se pueden instalar diferentes sistemas operativos como Windows o Linux, o incluso Mac Os como os decía. Damos a siguiente y le asignamos una memoria ram. En este caso le asignamos bastante poco, 512 M, pero lo hacemos para asegurarnos que este curso funciona en casi cualquier equipo que tengáis. Con un giga de RAM funcionaria bastante mejor. Damos a siguiente y creamos un disco virtual nuevo. Vamos a preparar nuestra máquina virtual de Linux Ubuntu. 25 Y damos a terminar dos veces. Ya hemos creado nuestra máquina virtual. Película 2.1 Instalación de Oracle Virtual Maschine Volvemos a dar a siguiente. Le decimos que sea un disco duro de asignación dinámica, es decir que dinámicamente, si vamos instalando programas y otras cosas va aumentando de tamaño. La localización y el tamaño lo dejamos por defecto. Virtualización para probar linux sin tocar el sistema operativo original 26 SECCIÓN 2 asistente con una serie de pasos para instalar nuestro sistema operativo. Ya tenemos una máquina virtual creada. El siguiente paso es instalar el sistema operativo sobre esta máquina virtual. Damos a siguiente y tenemos que decir desde donde instalamos el sistema operativo. Lo podemos hacer desde un cd o dvd, es lo que aparece por defecto. Pero como me he bajado una iso de Ubuntu de internet voy a hacerlo desde la iso. ∏ Instalación de Linux Ubuntu La tengo aquí seleccionada. Clic en seleccionar y siguiente. Y por último clic en terminar. Damos a iniciar, veis que está apagada… Y aparece un 27 Arranca la máquina virtual. Esta ventana es un pequeño mensaje sobre la profundidad de color que no nos interesa ahora. Y ya estamos instalando Linux. Hacemos clic en instalar Ubuntu. Una vez definido el idioma que va ser español nos va preguntar sobre la hora aquí eligiéremos la franja horaria que más nos corresponda una vez echa esto veremos que podemos elegir la región en este caso elegimos la región de España y la zona horaria España Madrid y le daremos al botón adelante . Particionado del disco duro Lo primero que nos preguntará es por el lenguaje, seleccionaremos el español. Ahora nos sacara la pantalla la presentación de la instalación de Ubuntu donde podemos elegir: • probar Ubuntu sin alterar nuestra máquina, • instalar Ubuntu, • comprobar defectos en el disco, • analizar memoria o • arrancar desde el primer disco duro Luego veremos los requisitos recomendados para la instalación. Si disponemos de tiempo sería aconsejable descargarse también las actualizaciones y software de terceros como el Codex de decodificación mp3 Por otro lado tenemos la opción f1 que es la ayuda, f2 idioma, f3 teclado, f4 modos, f5 accesibilidad y f6 otras opciones 28 Nos da dos Tenemos dos posibilidades borrar y usar el disco entero o especificarlas manualmente si pinchamos en especificar manualmente las particiones pasaremos al proceso de definir nuestras particiones nosotros lo que haremos será crear nueva tabla de partición y de ahí nos preguntara si queremos particionar el disco completo o si especificaciones manualmente. Si pinchamos en especificar las particiones manualmente pasaremos al proceso un de crear nuestras particiones, nosotros creeremos nueva tabla de partición y de y nos dirá si hemos seleccionado partición al el disco completo si continúa creara una tabla de particiones nueva y se liberarán todas las particiones que existían previamente Posteriormente Luego nos preguntara por la particiones las particiones y es la forma de coma vamos a dividir nuestro disco duro virtual en Linux se van a elegir 2 tipos de particiones una primaria donde se van encontrar los datos y otra se llama partición de intercambio libre o partición swap que servirá de apoyo a la memoria que tenemos asignada a nuestra maquina el tamaño óptimo para este tipo de particiones es de 256 megas hasta igualar la memoria mar 1,5 veces asignada a la máquina virtual. 29 obsérvese que podrás deshacer esta operación más adelante si lo desea nosotros le daremos a continuar. transaccional dejaremos el transaccional, el punto de montaje le diremos que lo haga en el directorio raíz daremos aceptar y nos habrá creado una nueva partición donde será donde se encuentre el almacenamiento de nuestros datos este espacio libre que queda lo vamos a utilizar para las particiones tipo swap, daremos añadir partición diremos que será la partición lógica le daremos de un tamaño de 256 megas le diremos que la ubicación será al principio de esta partición y lo utilizaremos como partición sola o área de intercambio. Del montaje no nos dirán nada dado que es una partición de apoyo a la memoria Ram daremos aceptar. Y nos creará la nueva partición no se nos seguirá quedando espacio libre y a sin haremos los particiones más con el resto de memoria que nos queda por destinar en este caso ha añadiremos una nueva partición lógica del tamaño 256 megas como al principio y volveremos a elegir área de intercambio y nos la creara y haremos lo mismo con el resto de memoria que nos queda añadiremos partición nueva lógica del tamaño dos 279 al principio como zona de intercambio y daremos aceptar una vez hecho estos le diremos que adelante y nos creará y formatear a este disco para montar nuestro dispositivo linux que nos creará las distintas particiones necesarias. Estará analizando discos un rato y ahora nos dirán que nuestro espacio libre en este 4923 megas que señalaremos para formatear. Añadiremos y creamos un nuevo tipo de partición la primaria y la segundaria como tenemos 512 megas de memoria RAM vamos a utilizar 756 megas para la particiones swap lo que haremos sera restarselo a la cantidad total del disco y luego nos dirá dónde queremos ubicar nuestra partición al principio o al final nosotros les diremos que al principio, y como utilizar esta partición sistema de ficheros de ext3 extendido o sistema de ficheros ext4 30 Nota: El tamaño de las particiones dependerá de los recursos asignados a la máquina virtual… y deberemos escoger una contraseña para mantener una cuenta segura le pondremos la contraseña que quieran en este caso linux y la tendremos que repetir veremos el nombre del equipo y lo dejaremos como esta linux desktopt y veremos que podemos: Instalación Una vez terminada las particiones vamos a definir los usuarios existentes en nuestro equipo Linux para ello deberemos darle un nombre aquí le daremos el nombre que queráis en este ejemplo linux • iniciar automáticamente, • requerir mi contraseña para iniciar sesión , • 31 requerir mi contraseña para iniciar sesión y descifrar mi carpeta personal dejaremos requerir contraseña para iniciar sesión le daremos adelante y con esto crearemos un nuevo usuario llamado linux con su contraseña : terminado la instalación y con ello resetearemos nuestra máquina virtual. Película 2.2 Instalación de Ubuntu Una vez hecho esto comenzaremos con la instalación de paquetes como vemos nos muestra una página con las características de nuestra maquina Ubuntu le daremos instalar. Instalación de Linux Ubuntu en una máquina virtual Después comenzara la instalación de nuestra máquina virtual con nuestro sistema operativo Linux de la distribución Ubuntu y una vez instalado todos los paquetes habrá 32 CAPÍTULO 3 ∏ PRIMERA ENTRADA E INTÉRPRETE DE COMANDOS Linux es un sistema multiusuario, es decir, que diferentes usuarios pueden acceder al sistema de manera independiente. Volveremos a este tema más adelante cuando tratemos en detalle el tema de usuarios en Linux. En este caso vamos a introducir el usuario, Linux, y nos logeamos o registramos en el sistema. SECCIÓN 1 Logearnos significa registrarnos como un usuario. ∏ Un primer recorrido por Ubuntu En este caso somos el usuario Linux escribimos la contraseña y nos logeamos. Ya estamos dentro del sistema. U N PRIMER RECORRIDO POR L INUX U BUNTU Una vez logeados en el sistema, vamos a hacer un pequeño sobrevuelo sobre Linux. En la esquina superior izquierda tenemos el menú aplicaciones donde veremos las aplicaciones instaladas en el sistema divididas por categorías. Cuando iniciamos el sistema lo primero que tenemos que hacer es logearnos. 34 En accesorios podemos administrar los trabajos todavía pendientes de impresión, analizar el disco duro de una manera gráfica y precisa. todas maneras también Windows y macOs poseen aplicaciones parecida También está aquí un bloc de notas y por último la terminal que la trataremos con detalle posteriormente. También podemos buscar archivos. Tenemos una calculadora. En el apartado gráficos tenemos diferentes programas para trabajar con imágenes como el gestor de fotos shotwell, un módulo del openoffice para realizar dibujos y una utilidad para escanear. Un capturador de pantalla bastante práctico que te guarda una imagen de la pantalla capturada donde tú le digas. El programa es muy práctico para poder mostrar configuraciones de software Aquí también encontramos Un editor de textos llamado gedit del que hablaremos posteriormente en este curso. En Internet están diferentes utilidades de internet como: un navegador, por supuesto. Un programa de correo, un cliente de terminal server. Y también un cliente de redes sociales Gwibber, que te permite conectarte con redes sociales como Facebook, twiter etc. Tenemos un programa de mensajería instantánea como Messenger por último Encontramos un cliente bittorrent para descargarse peer to peer. Una aplicación muy interesante es un mapa de caracteres que nos permite escribir letras de otros alfabetos como en este el tifinagh que es un alfabeto antiguo bereber. Pero tenemos muchos más, es decir que podemos utilizar símbolos de otros alfabetos como el persa antiguo, ruso, árabe, etc. De 35 En el apartado juegos tenemos algunos juegos. No entraremos en ello por el momento. En sonido y video tenemos un editor de video Pitivi, un grabador de discos Brasero, un grabador de sonido, un reproductor de música Rhytmbox y por ultimo un reproductor de películas que acepta también las codificadas en divx y muchos otros formatos. Linux Ubuntu es un perfecto equipo multimedia… En el apartado oficina están algunas utilidades ofimáticas como el programa de correo Evolution, el open Office, con programas de hojas de cálculo y presentaciones. Por último también encontramos un diccionario online. Y el centro de software de Ubuntu del que hablaremos al final de este curso. En la pestaña lugares podremos acceder a diferentes sitios del disco duro. Recordemos que Linux es un sistema multiusuario y por tanto cada uno de los usuarios tiene una propia carpeta 36 personal que se encuentra en el subdirectorios como son: • escritorio, • documentos. • Música, • imágenes, • videos • descargas. home con una serie de no tenemos permisos de administrador para modificar archivos. Al final está equipo y red. La opción equipo nos permite navegar por todo el ordenador pero recordemos que todavía Por último en la pestaña sistema tenemos primero 37 preferencias del sistema. Donde podemos configurar todo nuestro equipo. Como veis hay multitud de opciones, configurar teclado, salvapantallas, ratón, etc... Película 3.1 Primer paso, logearse en el sistema En administración tenemos tareas administrativas desde por ejemplo crear usuarios y grupos o comprobar el sistema, otros controladores, etc Y al final tenemos opciones de ayuda como ayuda y soporte, acerca de gnome y acerca de ubuntu. En la parte superior derecha tenemos otra serie de iconos: las conexiones de red, el sonido, el correo, la fecha, etc Como podemos comprobar Linux es un sistema operativo muy completo y bastante parecido a otros como Windows o macos. Linux Ubuntu como sistema multiusuario 38 SECCIÓN 2 Shell en ingles significa concha y su significado es este. Es la concha que rodea al kernel que es el núcleo del sistema y nos permite acceder a él. ∏ El intérprete de comandos por defecto (bash) Vamos a tratar ahora del Shell, consola de comandos o terminal. La encontramos en Aplicaciones > Accesorios > Terminal. Esta consola, Shell o terminal se llama en Linux por defecto bash, nos permite interactuar con el sistema. Antes de nada me gustaría decir que esta terminal es muy potente, es decir que tenemos una serie de opciones en la parte superior que nos permite copiar y pegar comandos. Y también establecer un título de la consola. En el prompt, esta línea significa el subdirectorio en el que estoy y el usuario con el que estamos trabajando. 39 Ubuntu maneja el usuario administrador (root) de manera un poco diferente a la mayoría de distribuciones de linux, ya que tiene la cuenta de root desactivada por defecto. En Ubuntu se utiliza el programa "sudo" para permitir a los usuarios del grupo "admin" correr los comandos como root. Las herramientas gráficas de configuración también utilizan el aviso de tu contraseña usando un sistema similar. Esto tiene muchas ventajas: normal, introdúcela y presiona enter para ejecutar el comando. • No puedes hacer nada realmente malo a tu sistema a menos que utilices sudo cada vez. ¿Qué puedo hacer con la consola? Pues todo. Realmente todo el sistema de Linux se puede controlar con esto. Para ejecutar un terminal con permisos de superusuario (root) puedes hacer lo siguiente: sudo -i Esto le preguntará por su contraseña de usuario, introdúcela y estarás en el root prompt. • No tienes que recordar tu contraseña de root - sudo solo necesita la contraseña de tu propia cuenta. Película 3.2 la consola de linux • sudo recuerda por un límite de tiempo que has utilizado tu contraseña, asi que no tendrás que introducirla cada vez que la utilizas. Al principio, solo el usuario que has creado durante la instalación tendrá acceso a sudo. Para permitir a otros usuarios utilizar sudo, añádelos al grupo "admin", como veremos posteriormente.Utilizar sudo es fácil, para ejecutar un comando con privilegios de root, solo abre una terminal y escribe: sudo <comando> Reemplaza comando con el comando que desees utilizas. Sudo te preguntará entonces por tu contraseña de usuario Todo la potencia de linux reunida en un solo lugar 40 NIVEL DE EJECUCIÓN SECCIÓN 3 ∏ Niveles de ejecución El proceso de arranque para un sistema operativo GNU/ Linux, se desarrolla con base a la consecución de diversas fases o etapas, tales como búsqueda del MBR (sector de arranque), cargar del kernel y por ultimo iniciación de servicios. Este ultimo proceso es realizado por un programa llamado init, cuyo objetivo es dar inicio a un determinado nivel de ejecución (runlevel) sobre el cual trabajara la maquina o equipo. DESCRIPCIÓN 0 Nivel de ejecución conocido como halt se encarga de detener todos los procesos ac6vos en el sistema, con el obje6vo del correcto apagado del equipo. 1 Nivel de ejecución conocido como monousuario o single user, a razón de permi6r la sesión de un único usuario por defecto Inicia como usuarios root. Este nivel de ejecución es empleado para tareas de mantenimientos del sistema. 2 Nivel de ejecución mul6usuario, sin soporte para red. 3 Nivel de ejecución multiusuario, sin soporte para red. 4 Indefinido o sin uso. 5 Nivel de ejecución mul6usuario, con capacidad gráfica (X window). 6 Nivel de ejecución de reinicio del sistema. Cabe aclarar que cada uno de estos niveles de ejecución, dispone de un directorio específico. Dichos niveles de ejecución se pueden encontrar dentro del directorio /etc. Cada directorio perteneciente a los distintos niveles de ejecución posee distintos enlaces simbólicos a ficheros, utilizados para el inicio y parada de cada uno de los procesos a ejecutar o detener al ingresar a un nivel de ejecución. La creación de este tipo de enlace se realiza a partir de ficheros creados dentro del directorio /etc/init.d, es decir cada proceso o servicio a iniciar o detener dentro de un nivel de ejecución debe poseer su fichero correspondiente dentro de este directorio. Los niveles de ejecución o runlevels son distintos estados en los cuales puede iniciar un sistema operativo GNU/Linux. en la actualidad existen 7 niveles de ejecución sobre los que puede operar o trabajar un sistema operativo GNU/Linux. La siguiente tabla presenta cada nivel de ejecución y descripción del mismo: 41 CAPÍTULO 4 ∏ FICHEROS Y DIRECTORIOS Sistema de ficheros de Linux es muy parecido al de UNIX y MacOs, pero bastante diferente al de Windows. SECCIÓN 1 ∏ Estructura de ficheros y directorios Sistema de ficheros de Linux es muy parecido al de UNIX y bastante diferente al de Windows. Por ejemplo el directorio raíz de este árbol se representa por el carácter / que es típico de un UNIX. Mientras que en MS-DOS y Windows se indican con '\'. Dentro del árbol de directorios encontramos diferentes ficheros y carpetas. A continuación, se presenta un listado de los directorios más importantes de un sistema Linux ubuntu: • /bin: usado para almacenar comandos de usuario y el también en directorio /usr/bin almacena otros comandos de usuario. 43 • También encontramos /sbin: localización de muchos comandos del sistema. • Película 4.1 El sistema de ficheros de Linux /root: que es el directorio personal del usuario root. • /mnt: este directorio contiene los puntos de montaje para los sistemas de ficheros montados después del arranque del sistema • /boot: contiene el kernel y otros ficheros necesarios durante el arranque del sistema, dentro tenemos diferentes archivos el grub que va a ser nuestro gestor de arranque además del último kernel instalado que en este caso es el 2.6.31 • /lib: contiene muchas librerías usadas por los programas de /bin y /sbin. • /dev: almacena los ficheros de dispositivos. • /etc: contiene los ficheros de configuración del sistema. La estructura de ficheros y directorios en Ubuntu /home: localización habitual de los directorios home (personales) de los usuarios nosotros en este caso como hemos creado el usuario linux 44 SECCIÓN 2 El más sencillos es escribir el comando ls –-help y nos dara todas las opciones que posee ese comando. ∏ Comandos básicos Ya tenemos algunas nociones del Shell de Linux Ubuntu. Antes de nada un par de indicaciones al respecto Si nosotros ejecutamos el comando como por ejemplo ls que sirve para listar ficheros y directorios, y damos al enter nos mostrara el resultado de este comando por pantalla y luego nos devolverá el control a través del promt de sistema. Otras posibilidad es escribir man (de manual) y el comando en cuestión. Si intentamos ejecutar un comando que no es reconocido por el sistema obtendremos un mensaje de error, por ejemplo si escribo error nos mostraría un mensaje de error No se ha encontrado la orden ”error” quizás quiso decir… etc Ls Dada la gran cantidad de comandos existentes, cada uno con decenas de opciones, se hace imprescindible la existencia de un sistema de ayuda . Linux proporciona varios sistemas de asistencia al usuario. El comando 'ls' lista el contenido de un directorio, equivale al comando 'dir' del sistema operativo MS-DOS. El formato de su llamada es: ls mas las opciones modificadores que queremos añadir más la ruta . 45 Para ver todos los modificadores de ls teclearemos ls –help asi pedimos ayuda al sistema Vamos a ver los modificadores principales -a, --all : Muestra también los ficheros ocultos los que comienzan por -d mostrara las entradas de los directorios y no de sus contenidos y no sigue los enlaces. -F no ordena y activa o desactiva el color. -h, --human-readable : Muestra el tamaño de los ficheros de forma más clara para el usuario Pwd -l : Muestra información extendida tamaño, propietario, fecha de creación. -R Muestra los directorios de forma recursiva, es decir, va expandiendo el árbol de directorios hasta llegar a las hojas. -r que nos ordenara en inverso la clasificación de los archivos El comando "pwd" significa "print working directory", o sea, informe del directorio de trabajo. Es usado para mostrar el directorio donde el usuario se encuentra, ya que, por padrón el mismo no acostumbra ser mostrado en la línea del prompt. -s imprimirá el tamaño de cada archivo en bloques -S que ordena por tamaño de archivo De todas maneras si nosotros que remos lista el contenido de nuestro directorios /home/linux teclearemos ls y nos listara todo los archivos y directorios de la carpeta linux si lo hacemos con el modificador ls –l nos mostrara todos los archivos y directorios dentro de la carpeta linux en formato largo. El comando pwd muestra el directorio de trabajo actual. Si tecleamos pwd veremos el directorio en el que estamos, en este caso Home/Linux.Es necesario saber que podemos cambiar el directorio simplemente escribiendo cd y el nombre del directorio. Ahora estamos en home/Linux/casarural 46 Película 4.2 Comandos básicos Si escribimos ls veremos los directorios que están en casarural Si ahora tecleamos pwd podremos comprobar la ruta Un recorrido por los comandos fundamentales de linux utilizando la consola. Para subir un nivel simplemente escribimos cd espacio dos puntos. Veremos que estamos en el subdirectorio principal del usuario home/linux 47 SECCIÓN 3 ∏ Comandos para obtener información sobre el sistema Vamos a ver ahora una serie de comandos que tienen que ver con obtener información sobre el sistema: • Df: muestra la utilización del espacio de disco del sistema de archivos en todas las particiones. Normalmente se suele usar df con el modificador –h. Ahora para mostrar la información no utiliza el número de bloques sino megabytes y gigabytes. –h significa legible para los humanos. • Uname –a: La instrucción uname con la opción –a muestra en pantalla toda la información del sistema, incluyendo el nombre del equipo, el nombre del kernel, su versión, etc. Es muy útil para comprobar la versión del kernel que se está utilizando • Free: muestra la cantidad de memoria libre y la utilizada en el sistema. Por ejemplo free –m muestra la información utilizado megabytes. • Lsb_release –a: La instrucción lsb_release con la opción –a muestra la información sobre la versión de Linux que utilizamos. • Top: Este comando muestra la información del sistema Linux, los procesos que está ejecutando y los recursos del sistema. Incluyendo la utilización de la cpu, ram, la memoria de intercambio y el número total de tareas que se están ejectuando. Para salir pulsamos Q En este caso Ubuntu versión 10.10 48 SECCIÓN 4 Estamos situados en nuestro home. Escribimos mkdir y un nombre pruebas. Damos al enter. Imaginemos que queremos crear varios directorios seguidos ∏ Comandos para el manejo de ficheros mkdir pruebas1 pruebas2 pruebas3 Damos al enter, hacemos ls y veremos que hemos creado todos estos directorios que hemos dicho. cp El comando 'cp' copia ficheros y directorios. Su formato es mk cp [OPCIONES]... FUENTE DESTINO El comando 'mkdir' nos permite crear directorios. El formato del comando es: FUENTE: son los ficheros o directorios que se desean copiar. Cuando se copian múltiples ficheros, el destino debe ser obligatoriamente un directorio. Mkdir [OPCIONES] nombre de DIRECTORIO... El nombre de DIRECTORIO es uno o varios, es decir una lista separada por espacios con los directorios que queremos crear. La opción más importante del comando 'mkdir es: DESTINO: es el nombre del fichero destino al que se copia. Directorio es el nombre de la carpeta destino a la que se copia -p: Si el directorio padre del directorio que queremos crear no existe, también se crea. Las opciones más importantes del comando 'cp' son: -f, force: Sobrescribe los ficheros de destino sin avisar. Vamos a ver un ejemplo de la creación con el mkdir -i, interactive: Pregunta antes de sobrescribir los ficheros de destino. -R, recursive: Copia subdirectorios de forma recursiva. Ahora veamos un ejemplo 49 Vamos a ver un ejemplo de cómo funciona. Queremos borrar el archivo anterior que hemos copiado en la carpeta pruebas Vamos a esta carpeta escribiendo cd pruebas y una vez allí eliminamos el archivo escribiendo Escribo cp el nombre de un directorio o archivo que quiero copiar. En este caso es una imagen que se llama Linux.jpg y el directorio de destino. Pruebas Doy al enter y ya está copiado. rm touch 'rm' viene del inglés remove que significa eliminar o quitar. Se utiliza para eliminar uno o varios ficheros. El comando 'touch' se suele utilizar para modificar la fecha de creación de un archivo. Pero lo más normal es usarlo para crear archivos vacíos. Su formato es: El formato es rm [OPCIONES]... FICHERO... Las opciones más importantes del comando 'rm' son iguales que antes touch [OPCIONES]...nombre del fichero -f, --force No pide confirmación para borrar ficheros. Si lo utilizamos para crear ficheros vacíos, no hace falta utilizar ninguna otra opción. -i, --interactive Pide confirmación para borrar ficheros. Vamos a hacer un ejemplo muy sencillo -r, -R, --recursive Elimina el contenido de los directorios recursivamente, es decir, elimina un directorio y todo lo que tenga almacenado. Queremos llenar el directorio pruebas de 5 archivos de texto 1.txt 2.txt y asi hasta 5.txt Simplemente nos situamos en el directorio pruebas y escribimos 50 Damos al enter. Para comprobarlo escribimos ls. Y aquí están los archivos vacíos recién creados du Película 4.3 comando du El comando 'du' (disk usage) nos muestra el tamaño ocupado por cada fichero. Si se escribe un directorio en lugar de un fichero, mostrará recursivamente el tamaño de todos los ficheros que contiene. El formato es: du [OPCION]... [FICHERO]... Las opciones más habituales son: -h, --human-readable Imprime los tamaños de forma más legible para las personas. -s, --summarize Muestra el total para cada argumento. Vamos a hacer un ejemplo Estamos en la home y escribimos ls para listar nuestros archivos. Quiero saber el tamaño de la carpeta Imágenes Escribo: Avanzaremos un poco más en la lista de comandos de linux Du –h y el nombre de la carpeta Imágenes 51 CAPÍTULO 5 ∏ PROCESOS Linux es un sistema multitarea. Multitarea es sinónimo de multiproceso. Esto significa que, en un momento dado, se estarán ejecutando simultáneamente en la máquina varios procesos. SECCIÓN 1 y un tty que es terminal donde se está ejecutando el proceso, ∏ Gestión de procesos el time Tiempo de procesador consumido por el proceso y el Cmd que es el comando que se ha ejecutado: Aunque ps es el comando estándar en Linux para la visualización de procesos, existen otros programas que nos permiten realizar la misma tarea de forma más cómoda. Uno ya lo conocemos es el comando 'top'. Cada vez que se lanza un proceso, el sistema le asigna un número identificador único denominado PID. Es importante conocer el PID de un proceso para comunicarnos con él . Para obtener un listado de los procesos que se están ejecutando en el sistema usaremos el comando ps. Abrimos la terminal y escribimos ps. Si escribimos 'ps' sin parámetros nos mostrará un listado de los dos procesos que se están ejecutando en este caso la shell llamada bash Si nosotros tecleamos top veremos un histórico de todos procesos, con sus PID, el usuario que lo has ejecutado, la prioridad, el tanto porciento CPU utilizado., el tanto por Veremos que cada uno de ellos tiene un pid o process identificate o identificador de proceso 53 ciento de memoria utilizada el tiempo y el comando que se ha ejecutado, también nos da información sobre la memoria total, usada , libre y también da información sobre la memoria swap utilizada y la libre Película 5.2 Finalizar procesos Película 5.1 Los procesos Cómo matar (kill) procesos desde la consola Cómo listar los procesos que se están ejecutando 54 SECCIÓN 2 Vamos a verlo ∏ Comunicaciones con procesos Queremos matar la aplicación bash cuyo código pid es 18050. Para ello escribimos Kill -9 Que es el código numérico par indicar un SIGKILL y luego el código pid del proceso 18050 Normalmente los procesos funcionan sin problemas. No obstante puede que una aplicación se cuelgue y tengamos que comunicarnos con este proceso para finalizar la aplicación. El comando utilizado para enviar señales a un proceso se denomina 'kill'. El formato kill es Damos al enter. Y lógicamente la aplicación se cierra Esto es lo que hemos hecho. Hemos interrumpido una aplicación, el bash, con la consola de comandos kill -señal PID PID: ya sabemos lo que es, el código identificador del proceso al que deseamos enviar la señal. Si nosotros queremos matar o suspender o terminar ese proceso primero listaremos los procesos en marcha y veremos que tenemos el bash y el comando que acabamos de ejecutar. Nosotros vamos a matar la bash y escribiremos kill menos 9 y el pid de la bash que seria 1894 le daríamos al enter y matamos la bash y este cerraría el terminal y nos dejaría en el escritorio. Señal: es la señal que queremos enviar al proceso. Las señales se pueden identificar por su código numérico o por su cadena asociada. Si no se especifica ninguna señal, se enviará la señal SIGTERM cuyo código numérico es el 15. Habitualmente, para eliminar un proceso le enviaremos una señal SIGTERM y si no funciona, enviaremos una señal SIGKILL que su código numérico será 9. 55 SECCIÓN 3 El monitor de sistema Gnome viene incluido en la distribución de Ubuntu y se inicia desde la terminal escribiendo: ∏ Entornos gráficos para gestionar procesos Gnome-system-monitor Aparece la anterior ventana Si hacemos clic en la pestaña procesos podremos ver de una manera grafica los procesos que se estan ejecutando en nuestro equipo. Existen una amplia gama de herramientas gráficas de administración de procesos. Como vemos en la siguiente imagen se nos muestra los procesos que se estan ejecutando y su estado (durmiendo o activo). Recordemos que hay muchos procesos que no se ejecutan pero estan disponible para cuando lo necesitemos. Por ejemplo si debemos enviar un archivo por blutooth, en este momento se activara el servicio y podremos utilizarlo para nuestros intereses. Poder observar los procesos activos nos permite monitorizar el sistema y prevenir posibles problemas de hardware de manera eficaz y rápida. 56 Tenemos varias opciones pero la que nos interesa es la de matar proceso. Seleccionamos el proceso bash y lo matamos. Tambien podriamos detenerlo provisionalmente o continuarlo si es lo que nos interesa. Para detener un procesos lo seleccionamos y damos al boton derecho del raton. La aplicación que estamos viendo nos permite también tener una visión gráfica general del sistema. Si hacemos clic en la pestaña recursos podremos ver el historico de recursos consumidos y libres en la red, disco duro, CPU, etc. Una interfaz muy agradable parecida a la de los sistemas Macos 57 CAPÍTULO 6 ∏ EXPRESIONES REGULARES Y FILTROS En el sistema Operativo Unix y Linux cada comando o programa en ejecución está relacionado con tres flujos: flujo de entrada, de salida y flujo de error. SECCIÓN 1 aleatoria. Lógicamente, todos los archivos están organizados como un flujo continuo de bytes. Esta organización se extiende a las operaciones de entrada y salida y permite que puedan ser redireccionados; es decir, cambiar el dispositivo al que normalmente están ligados. ∏ Los flujos en Linux Podemos tener control de la entrada y la salida estándar en nuestro equipo. Esto permite que la ejecución de un comando no sea desplegada directamente en pantalla, sino que sirvan de entrada o de argumento a otro comando al ejecutarse, permitiendo la ejecución de varias órdenes en una sola línea de comando. En el sistema Operativo Unix y Linux cada comando o programa en ejecución está relacionado con tres flujos: flujo de entrada, de salida y flujo de error. Ha quedado claro que tenemos la entrada estándar, la salida estándar y la salida de error estándar. Cuando se inicia una sesión en la terminal se habilitan tres ficheros ó procesos correspondientes a los descriptores anteriores (stdin, stdout y stderr), los cuales son enumerados de la siguiente manera: • Standard input (stdin): Es el flujo desde el cual la mayoría de los programas de UNIX toman sus datos de entrada, por lo general la línea de comando. • Standard output(stdout): Es el flujo hacia el cual la mayoría de los programas envían sus resultados, normalmente es la pantalla. ● El proceso 0 es la entrada estándar (stdin) lo escrito por el teclado. ● El proceso 1 es la salida estándar (stdout) lo mostrado en la pantalla. • Standard error(stderr): Este flujo se utiliza para enviar información de depuración y errores, generalmente va hacia la pantalla. ● El proceso 2 es la salida de errores (stderr) mensajes de error visualizados en pantalla. En Unix, la implementación física y la organización lógica de un archivo son independientes; físicamente se accede a los archivos como bloques que están dispuestos en forma 59 son los SECCIÓN 2 La operación de redirección crea el nuevo archivo de destino. Si el archivo ya existe, su contenido será reemplazado por los datos de la salida estándar. ∏ Redireccionamiento Aunque el operador de redirección y el nombre de archivo se colocan detrás de la orden, la operación de redirección no se ejecuta después de la orden, sino antes; es decir, la orden que genera la salida es ejecutada sólo después de que el archivo de redirección haya sido creado. Adición de la salida estándar. También puede agregar la salida estándar a un archivo existente usando el operador de redirección >>. El redireccionamiento consiste en una capacidad que permite mover datos fácilmente hacia dentro/fuera de los archivos. Es posible redireccionar la salida estándar para que en lugar de verla por pantalla, quede guardada en un archivo; también se puede redireccionar la entrada estándar, desligándola del teclado para que la lectura de datos se efectúe desde un archivo en vez del teclado. En lugar de sobreescribir el archivo, los datos de la salida estándar se añaden al final del mismo. R EDIRECCIÓN DE LA SALIDA ESTÁNDAR Si se deseara desviar la salida estándar a un archivo en vez de la pantalla, se escribe el operador de redirección de salida (>) y el nombre de un archivo en la línea de comando. 60 REDIRECCIÓN EJECUCIÓN Comando > nombre archivo Redirecciona la salida a un archivo o dispositivo, creando el archivo si no existe y sobreescribiéndolo si ya existe Comando >> nombre archivo Redirecciona la salida estándar a un archivo o dispositivo, añadiendo la salida al final del archivo. R EDIRECCIÓN DE LA queremos añadir su contenido simplemente escribimos cat listado. ENTRADA ESTÁNDAR Muchos comandos necesitan recibir datos de la entrada de datos estándar. La entrada estándar recibe los datos de un dispositivo o de un archivo, por default la entrada de datos estándar es el teclado, los caracteres que son introducidos desde el teclado son colocados en la entrada estándar, que es entonces dirigida al comando de Linux. De manera similar a lo que sucede con la salida estándar, también se puede redirigir la entrada estándar, para recibirse desde un archivo en lugar desde el teclado. El operador para redirigir la entrada estándar es el <. REDIREC CIÓN EJECUCIÓN Comando < archivo Redirecciona la entrada desde un archivo o dispositivo hacia un comando. Vas a verlo en la práctica. Si deseamos almacenar en un fichero el listado de todos los ficheros de la carpeta imágenes. Nos situamos en ella mediante Cd Imágenes. Luego tecleamos ls -al > listado y hemos creado el archivo listado El comando ls -al permite listar el contenido del directorio en el cual me encuentro y redirecciona la salida almacenando la información en el archivo de nombre listado. Luego si 61 SECCIÓN 3 COMANDO ∏ Pipeline o tuberías A menudo nos encontraremos con la necesidad de enviar datos de un comando a otro y no a un archivo destino; es decir, necesitará enviar la salida estándar de un comando hacia la entrada estándar de otro. DESCRIPCIÓN $ ls –l | more ls -l lista el contenido del directorio actual, por pantallas. $ cat –n carta | more El comando cat -n numera las líneas del archivo carta, la salida generada se muestra por pantalla con el comando more. C OMANDO TEE Para formar una conexión como ésta en Unix lo que se conoce como canalización o entubamiento. Copia la entrada estándar en un archivo y la envía a la salida estandar. Generalmente se usa como un filtro y permite guardar la salida en un archivo al mismo tiempo que se envía a otro comando. Por ejemplo: El operador de entubamiento es el pipe (|). Este se escribe entre dos comandos para establecer la conexión entre ellos, la salida del primero se convierte en la entrada para el siguiente. sort original | tee salida El resultado de sort se observa en la pantalla al mismo tiempo que se envía al comando tee para que genere un archivo cuyo contenido es el resultado observado en la pantalla. Ejemplos: $sort archivo | cat –n | tee archivo-nuevo | lpr Guarda la salida de un archivo y lo imprima 62 SECCIÓN 4 El archivo origen que en este caso se llama Linux.jpg Y el archivo de destino que será Escritorio/mipinguino sin Ü para evitar problemas. Damos al enter y si nos damos cuenta aquí tenemos a mi pingüino ∏ Enlaces o accesos directos Si ya conocemos el concepto de enlace o acceso directo en Windows, en Linux, es muy parecido. Este se denomina un Enlaces duro: son enlaces a ficheros dentro de un mismo sistema de ficheros. No se permite a los usuarios crear enlaces a directorios. Básicamente, cuando enlazamos un fichero o directorio “a” con otro fichero o directorio “b”, cada acceso a “b” se convierte en un acceso “a”. Esta característica es interesante pues permite que podamos acceder a un mismo fichero destino desde varios puntos del árbol de directorios. Existen también los Enlaces simbólicos: son enlaces a directorios, o a ficheros en otros sistemas de ficheros. Se crean mediante la opción –s archivo La orden que se utiliza para crear un enlace es ln y su formato es: Vamos a hacer un ejercicio. Lo mismo que antes vamos a hacer un enlace simbólico a otro archivo que se llama gnu.png. Escribimos también Y luego el directorio de destino y el nombre del archivo ln [OPCIONES] ARCHIVO-ORIGEN ARCHIVOENLACE Vamos a hacer un ejemplo. Estamos en la carpeta personal que se llama Linux y en ella hay una imagen que se llama Linux.jpg. Bien quiero crear un acceso directo a esta imagen desde el escritorio. Vamos a la terminal y escribimos: Ln Ln –s gnu.png Escritorio/mitoro Y si lo comprobamos ya me ha creado otro tipo de enlace. 63 CAPÍTULO 7 ∏ EDITORES DE TEXTO Existen diferentes editores de texto para Linux. Uno de los más antiguos y simples es el vi. Para utilizarlo vamos a la consola y tecleamos vi No obstante se suele utilizar otro editor que lo encontramos en aplicaciones accesorios editor de textos y se trata del gedit. SECCIÓN 1 En el menú archivo puedo: ∏ Gedit Este editor de textos es como el block de notas de Windows y es muy sencillo. También podemos acceder desde la terminal escribiendo simplemente gedit. • Crear nuevos archivos • Abrir los antiguos. • Guardar • guardar como • editar archivos con cortar, copiar, etc En el menú ver consigo acceder a diferentes barras de herramientas y poner el editor a pantalla completa como vemos en la imagen. Tengo también herramientas para comprobar la ortografía. Si tengo varios documentos puedo guardar uno o todos de golpe. Y por último una ayuda sobre el programa. 65 Película 7.1 Editores Vi y Getedit Por otro lado estos iconos de arriba me permiten: • crear un nuevo documento • abrir los documentos últimos creados • guardarlos • imprimirlos Editores de texto simples de ubuntu E incluso ediciones básicas como deshacer, cortar, copiar, buscar, reemplazar. Y lo encontramos todo aquí . Un editor sencillo y muy práctico. 66 SECCIÓN 2 ofimático multiplataforma compatible con la mayoría de los formatos de ficheros. Se asemeja a grandes rasgos a otros paquetes ofimáticos del mercado, con entornos visuales prácticamente idénticos y poseen las mismas herramientas. ∏ OpenOffice Una de las grandes ventajas de Openoffice es que puede tanto leer como guardar en todos los formatos disponibles de otros paquetes ofimáticos del mercado. Gracias a esto, ficheros realizados con Openoffice, podrán ser abiertos en otras plataformas. Para utilizar cualquier aplicación de OpenOffice, presiona con el botón izquierdo del ratón sobre el panel Aplicaciones, situado normalmente en la parte superior izquierda de su escritorio. Posiciónate con el cursor del ratón sobre Oficina, sitúate sobre OpenOffice y seleccione el programa que desee utilizar, de entre los siguientes: Ya hemos visto las utilidades del programa editor de textos gedit. Pero si queremos realizar documentos de texto más complejos deberíamos utilizar otro programa que lo encontramos en aplicaciones > oficina > openoffice. • Procesador de textos: Programa de creación de documentos de textos, permitiendo tanto la edición como la maquetación del mismo. • Hojas de Cálculo: Se trata de un programa que intenta aprovechar las ventajas informáticas y matemáticas para manejar y realizar cálculos sobre datos con bastante eficacia si éstos han sido previamente organizados. • Presentaciones: Es un programa de presentaciones proyectadas a través de diapositivas (pantallas completas) que un orador o ponente puede utilizar para presentar imágenes y textos juntos en un formato atractivo e OpenOffice es una aplicación de libre distribución que está incluida en su instalación de Ubuntu. Es un paquete 67 interesante, aunque existe la posibilidad de incluir vídeos, animaciones, sonidos, etc. Como vemos es un procesador de textos totalmente comparable al Word de Microsoft. Vamos ahora a hacer un pequeño recorrido por este programa. Sobrepasaría los fines de este curso explicar el funcionamiento de cada una de las aplicaciones del paquete ofimático OpenOffice. Sin embargo, si podemos explicar someramente algunas pautas genéricas de uso en todas ellas: • Crear un documento nuevo: diríjase al menú superior izquierdo Archivo. Posiciónese sobre Nuevo y elija el documento que desee crear. • Abrir un documento que tenga guardado: diríjase al menú Archivo antes referido y presione Abrir. Se abrirá una ventana donde deberá localizar el documento que desee abrir y presionar Abrir. • Guardar un documento retocado en OpenOffice: diríjase al menú Archivo y seleccione Guardar como. Según el tipo de documento que haya creado podrá guardarlo en distintos tipos de formato. Elija la extensión que desea darle al fichero, introduzca un nombre para el archivo y pulse Guardar. En la parte superior hay una barra de menú con las opciones típicas: Archivos, opciones de edición igual que en gedit pero mucho más ampliadas. • Para imprimir un archivo de OpenOffice: sitúese en Archivo y presione Imprimir. Cambie las opciones de impresión si lo ve necesario, y pulse Aceptar para comenzar la impresión. Posibilidades de sacar diferentes barras de herramientas para trabajar con el documento. Insertar diferentes objetos, imágenes, etc. Al igual que insertar encabezado y pie de página. En formato podemos modificar el formato de carácter, párrafo, etc. Podemos crear tablas. 68 Tenemos también diferentes barras de herramientas, con múltiples opciones incluidas la corrección de la ortografía y gramática. Y por último ventana y una ayuda. Hay mucho más Cualquier palabra podemos modificarla en negrita cursiva y subrayada. Cambiar el tipo de letra, ampliar la fuente… Todo casi igual a Word situación, recortarla, ponerle un borde, jugar con el fondo. En resumidas cuentas, modificar esta imagen. Observad que aparece una barra de herramientas de imagen que nos permite modificarla y en cierta manera editarla. El open office es un programa de edición de textos muy potente y podemos hacer diferentes publicaciones con él casi profesionales. El proceso de insertar imágenes es muy sencillo. Nos vamos a open Office, al menú insertar y buscamos Imagen > a partir de un archivo Y en nuestros documentos buscamos una imagen y la insertamos. Por último podemos imprimir el trabajo o exportarlo a pdf para que no haya ningún problema de compatibilidad. Película 7.2 OpenOffice Esta imagen es movible. De tal manera que podemos hacer una maquetación compleja e incluso editar la imagen, su Editor de texto avanzado comparable a MS Word 69 CAPÍTULO 8 ∏ COMANDOS Avanzaremos en este capítulo en la utilización de comandos para controlar el sistema operativo así como la importancia de los permisos a la hora de trabajar con Ubuntu SECCIÓN 1 • others (otros): la última columna el resto de los usuarios del sistema, que no sean el usuario propietario ni pertenezcan al grupo. ∏ Teoría de los permisos En Linux cada fichero o directorio de nuestro sistema tiene asociados un usuario propietario, un grupo propietario y unos permisos. Generalmente, el usuario propietario será la persona que ha creado el fichero pero esto es alterable después de la creación. Si tecleamos en la terminal ls –l aparecerán estos permisos, propietarios y grupos. Existen tres tipos de permisos básicos que un usuario puede tener con respecto a un fichero o directorio. Existen tres grupos de personas diferentes: • 'read' (lectura) o r: Para ficheros, este permiso permite leer el contenido del mismo. Para directorios, el permiso permite listar el contenido del directorio. • owner (propietario): es el propietario del fichero o directorio, la primera columna • group (grupo): comprende los usuarios que están en el mismo grupo del fichero o directorio. 71 • 'write' (escritura) o w: Aplicado a ficheros, este permiso permite escribir contenido en el archivo. Para directorios, el permiso permite crear y borrar ficheros dentro del directorio. Para el propietario en la primera columna, luego el grupo al que pertenece el archivo y por ultimo todo el resto o los otros usuarios. • 'execute' ejecución o x : Aplicado a ficheros, el permiso permite ejecutar el programa almacenado en el archivo. Usado en directorios, este permiso permite acceder al contenido de los ficheros almacenados dentro del directorio. Película 8.1 Teoría de los permisos ¿Cómo interpretamos los permisos? Vemos que hay diferentes columnas aquí separadas por líneas. Son tres columnas. El primero campo indica Tipo de la entrada, • - el carácter guion Fichero normal • d Directorio • l Enlace simbólico • c Dispositivo de caracteres • b Dispositivo de bloques Los diferentes tipos de permisos en linux Los símbolos ya los he comentado • w escritura • x ejecución • r, lectura 72 SECCIÓN 2 1 = Permiso de Ejecución (Lectura = 0 + Escritura = 0 + Ejecución = 1) ∏ Lista de comandos más habituales relacionados con los permisos 2 = Permiso de Escritura (Lectura = 0 + Escritura = 2 + Ejecución = 0) 3 = Permiso de Escritura y Ejecución (Lectura = 0, Escritura = 2, Ejecución = 1) 4 = Permiso de Lectura (Lectura = 4 + Escritura = 0 + Ejecución = 0) 5 = Permiso de Lectura y Ejecución (Lectura = 4 + Escritura = 0 + Ejecución = 1) chmod 6 = Permiso de Lectura y Escritura (Lectura = 4 + Escritura = 2 + Ejecución = 0) chmod se aplica sobre ficheros o carpetas, en el caso de que sean carpetas podemos usar la opcion -R para dar permisos recursivamente a todas las carpetas y ficheros que contenga recursivamente. 7 = Permiso de Lectura, Escritura y Ejecución (Lectura = 4 + Escritura = 2 + Ejec. = 1) La del comando es chmod [opciones] XXX nombre_del_Fichero_o_carpeta donde en opciones podemos especificar por ejemplo cosas como -R, Los permisos en la forma simbólica tiene la siguiente sintaxis: XXX es el número de permisos tal y como especificamos a continuación: [ugoa][+-=][rwxugo] 0 = Ningún permiso (Lectura = 0 + Escritura = 0 + Ejecución = 0) u : propietario del archivo. Donde las letras del primer grupo indican de quienes los permisos deben ser alterados: 73 g : grupo a la que pertenece el archivo. En el ejemplo a seguir, será eliminado el permiso de escritura al usuario y a otros será dada solamente permiso de lectura sobre los archivos.zip del directorio corriente. o : otros a : todos (all) $ chmod u-w,go=r *.zip Los símbolos del segundo grupo indican de que manera los derechos deben ser alterados: El uso del comando chmod em forma octal es parecida con la forma simbólica. Las expresiones de permiso son sustituidas por valores octales representando los permisos deseados. Así, si deseamos atribuir los permisos 'rwxr-x---" a un archivo, debemos hacer r w x r - x - - - expresión simbólica 1 1 1 1 0 1 0 0 0 en valores binarios. + : los derechos indicados deben ser adicionados. - : los derechos indicados serán eliminados. = : Los derechos serán igualados al valor indicado. Las letras del tercer grupo indican que permisos deben ser alteradas: 7 5 0 en octal r : permiso de lectura. w : permiso de escritura. x : permiso de ejecución. u : utilizar los permisos ya atribuidas al propietario del archivo. g : utilizar los permisos ya atribuidas a grupo. o : utilizar los permisos ya atribuidas a otros. Chown Como primer ejemplo, será agregado los permisos de ejecución a usuario en el archivo: El comando chown es usado para mudar el dueño de archivos y directorios, que puede ser un nombre de acceso o la identificación de usuario (número asociado al nombre del usuario). Solamente el superusuario (root) puede hacer esta modificación. El formato del comando es mostrado a seguir: $ chmod u+x archivo 74 chown nuevo_propietario archivos Chgrp Como ejemplo, será alterado el dueño del archivo: El comando chgrp es usado para cambiar el grupo al que pertenece archivos y directorios. Solamente el propietario, el superusuario y aquellos usuarios que pertenecen al grupo "destino" pueden hacer esta modificación. # chown alumno2 archivo Es posible, después de alterar el dueño, también alterar su grupo. El ejemplo anterior quedaría de la siguiente manera: [root@maquina root]# chown alumno2.alumno2 archivo El formato del comando es mostrado a seguir: chown nuevo_propietario archivos. Como ejemplo, será modificado el grupo del archivo: # chgrp root archive De esta manera, además de alterar el archivo para el dueño alumno2, será alterado también para el grupo alumno2. umask El comando umask es usado para definir una máscara padrón de permisos para la creación de nuevos archivos y directorios. La sintaxis de este comando usa la notación octal, para definir los permisos al eliminar en los nuevos archivos y directorios, a partir de los permisos máximas. El formato del comando es mostrado a seguir: umask mascara_padron. Vea el ejemplo a seguir, donde se quiere definir la máscara padrón con los permisos "rw-r---w-": r w - r - - - x - permisos deseadas para los nuevos archivos - - x - w x r - x permisos a suprimir 0 0 1 0 1 1 1 0 1 permisos a suprimir en binario 1 3 5 mascara en octal $ umask 135 75 SECCIÓN 3 ∏ Comandos más avanzados Hay otra serie de comandos muy sencillos que son Ya conocemos los comandos más usuales del sistema. Por ejemplo: • Head • Ls que lista el nombre d los archivos, con los modificadores que ya conocemos • Tail • Sort • Cat que muestra el contenido de un archivo de texto • Rm que elimina un archivo. • cp que copia un archivo. • Mv que mueve un archivo. Otro que todavía no conocemos es hostname. El comando hostname muestra el nombre del sistema sobre el cual estamos trabajando. Se utiliza cuando no estamos muy seguros si hemos entrado en el sistema correcto. Que muestran rápidamente el contenido de un archivo. Por ejemplo ponemos head y el nombre de un archivo, por ejemplo migrupo. Aparecera el contenido de la cabecera del archivo… lo mismo con tail pero la cola o el final tail migrupo 76 Lpr Diff Uno de los grandes problemas de Linux era a la hora de imprimir por problemas de compatibilidad. Para imprimir tenemos el comando lpr seguido del nombre del fichero. si queremos comparar dos archivos tenemos un comando que es diff o diferencia compara dos archivos y muestra una lista con las diferencias, esta utilidad no cambia ningún archivo. Lpr o line printer o impresión en línea coloca uno o más archivos en la cola de impresión. Si escribimos el comando seguido de –u o formato de salida unificado. Si quiero imprimir la imagen de antes Linux escribiré lpr Linux.jpg. Primero muestra dos líneas que indican que archivos se están comparando y luego mostrara con un signo + y signo – las diferencias. Debido a que este comando no indica ninguna impresora particular se dirigirá a la impresora por defecto. Lo que ocurre ahora en pantalla es que no tengo ninguna impresora instalada en mi equipo. Vamos a probarlo, al dar ls hemos visto que teníamos dos archivos de previos ejercicios: grupolinux y migrupo. Voy a compararlo de la siguiente manera diff –u , Primer archivo grupo Linux y segundo archivo migrupo. En este caso al ser diferentes no muestra las analogías Para ver los trabajos de impresión escribiré lpq pero me vuelve a dar error por no tener una impresora definida. 77 Date Unix2dos Date significa fecha en ingles…. El comando muestra la fecha y la hora del sistema Y por último un comando muy interesante es unix2dos que convierte archivos de Linux a formato Windows. Por ejemplo los archivos de texto que hemos creado no pueden ser leidos fácilmente en un sistema Windows porque parecen en una sola línea. Para solucionarlo escribo dos2unix y luego el nombre del archivo grupolinux y lo convierte en una archivo legible por Windows. Si no lo tenéis instalado escribís Sudo apt-get install dos2unix Película 8.2 Más comandos avanzados La utilidad script muestra una entrada y salida del sistema. Otros comandos a descubrir..... 78 CAPÍTULO 9 ∏ ADMINISTRACIÓN DE USUARIOS Por defecto, Ubuntu tiene la cuenta de root parcialmente deshabilitada. No podemos logearnos como root para entrar en el sistema puesto que no tiene definida ninguna contraseña de acceso. Para poder logearnos como root la primera vez deberemos asignarle un password. SECCIÓN 1 Para poder logearnos como root la primera vez deberemos asignarle un password. ∏ Descripción de superusuario (root) Esto podemos hacerlo en la aplicación Sistema> Administración> Usuarios y Grupos. En GNU/Linux (y Unix en general) existe un superusuario llamado root. Este usuario tiene acceso total al sistema, pudiendo instalar, modificar y eliminar cualquier archivo o programa, trabajar con este usuario es potencialmente peligroso, por lo que solo en recomendable para gente experimentada, que sepa la que hace. Además, solo debería usarse para tareas de administración del sistema, nunca para realizar las actividades habituales de un usuario normal. Por defecto, Ubuntu tiene la cuenta de root parcialmente deshabilitada. No podemos logearnos como root para entrar en el sistema puesto que no tiene definida ninguna contraseña de acceso. 80 O desde la Terminal, Aplicaciones > Accesorios > Terminal Primero nos hacemos root sudo su Y después creamos la contraseña con sudo passwd Película 9.1 root Cuenta de superusuario 81 SECCIÓN 2 usuario. De esta forma se dificulta que aplicaciones maliciosas puedan dañar su sistema, y sirve como un recordatorio de que usted está a punto de realizar acciones administrativas que requieren que usted tenga cuidado. ∏ Diferencias entre su y sudo Cada vez que usted escribe su contraseña, el sistema recuerda que durante 15 minutos a fin de que usted no tiene que escribirla de nuevo. Es preferible utilizar una cuenta de usuario normal y utilizar el comando su para acceder a los privilegios de root de ser necesario. Si nos damos cuenta ahora estamos usuando un usuario normal (Linux). Si necesito acceder un programa como administrador por ejemplo escribo sudo y el nombre del programa. Notas: • Hay que notar que siempre que usemos sudo el sistema nos pedirá nuestra clave. • La contraseña se guarda por defecto durante 15 minutos. Después de ese tiempo, tendrás que volver a introducir tu contraseña. Independientemente del debate sobre las ventajas e inconvenientes de habilitar la cuenta root, lo cierto es que en Ubuntu, un usuario normal no necesita hacerlo. Se puede autorizar a los usuarios normales para que realicen tareas administrativas mediante el comando sudo. • Tu contraseña no se mostrará en la pantalla, ni siquiera con los clásicos asteriscos, sin embargo, la estas escribiendo. • Para ejecutar las utilidades de configuración gráfica con sudo, simplemente lanza las aplicaciones desde el menú. La primera cuenta de usuario que se crea en el sistema durante la instalación, por defecto, está capacitada para usar sudo y realizar las tareas administrativas necesarias. Además, Podemos restringir o permitir el acceso a sudo al resto de usuarios del sistema, con la utilidad de Usuarios y grupos que encontramos en el panel de administración. Cuando ejecute una aplicación que requiera privilegios administrativos, se le pedirá que introduzca su contraseña de • Para ejecutar un programa utilizando sudo que normalmente se ejecuta como usuario normal, como por ejemplo gedit presiona Alt+F2 y escribe gksudo gedit. • Si eres usuario de Kubuntu, utiliza kdesu en vez de gksudo. • Para utilizar sudo en la línea de comandos, escribe sudo antes del comando. 82 SECCIÓN 3 música por ejemplo, o evitar usar módems, unidades de CDROM etc. Doy a aceptar y estaría ya configurado. ∏ Administración de usuarios y grupos. F UNDAMENTOS Para administrar usuarios debemos irnos a sistema > Administración > usuarios y grupos. Todo esto se puede hacer también con la consola de comandos, con la terminal, pero vamos a hacerlo primero de manera visual que es más sencillo. De igual manera puedo también añadir un usuario. Le pongo un nombre, doy a aceptar. Le pongo un nombre y tendré que escribir una contraseña. Ya tengo un usuario y en ajustes avanzados puedo escribir la configuración de este usuario y los permisos que tiene. Observad que este usuario no es administrador total por eso tengo que escribir la contraseña de administrador, autentificarme… Crear un usuario no significa que está activo. Tenemos que activar su cuenta. Y ahora ya puedo ver los privilegios de usuario. Como veis hay ciertas cosas que puedo y no puedo hacer. Puedo evitar que se usen dispositivos de sonido para que no escuchen 83 En ajustes avanzados como decimos podemos definir qué permisos de usuarios queremos que tenga. Todo igual a lo que vimos anteriormente. Si activamos la cuenta nos pide que escribamos una nueva contraseña, es normal para que sea conocida únicamente por el usuario en cuestión o generarla de manera aleatoria como antes hemos hecho y de esta manera tenemos ya el usuario activado. 84 Si deseamos que nuestro usuario tenga permisos administrativos lo podemos hacer desde este pequeño panel de control. Pinchamos en cambiar, nos logeamos. Y aquí podemos definir que sea un usuario administrador. Daros cuenta que este usuario puede cambiar todo en el sistema incluyendo la instalación y actualización de software. Damos a aceptar y nuestro usuario será administrador a partir de ahora. Aquí lo podéis comprobar. Este que vemos es el panel de acceso al sistema y si hemos dejado inactivo durante un tiempo Linux, aparecerá. Para acceder escribimos la contraseña y ya está. Pero quiero que veáis antes dos cositas. Puedo cambiar de usuario en el botón correspondiente También puedo también dejar un mensaje. Por ejemplo si he pasado por aquí y no he visto a la persona que utiliza el ordenador puedo dejarle un mensaje. Escribo por ejemplo hola he pasado y no estabas. Llamame. Pepe. 1. Identificación y autenticación Guardo y cuando me logeo en el sistema aparecerá el mensaje. Desbloque el equipo y daros cuenta del mensaje del screen saver. Bien es una pequeña anécdota pero nos permite ver las posibilidades del logeo. Linux como casi todos los sistemas operativos es multiusuario es decir que puede tener diferentes usuarios en el mismo equipo. Recordemos que al instalar Linux hemos instalado un usuario que no tiene permisos totales. No obstante la contraseña de administrador la poseemos ya que hemos nosotros instalado el so en el equipo. 85 2. Concepto de usuarios 4. Las contraseñas Cuando instalas Ubuntu inicialmente, se crea una única cuenta de usuario. Es posible crear usuarios adicionales en tu sistema. Lo veremos posteriormente Las contraseñas debería seguir una ciertas normas de seguridad, se las llaman fortaleza de la contraseña: Tener más de una serie de caracteres, utilizar mayúsculas y minúsculas, números, algún carácter especial como la @, el -, etc. Si no queremos comernos mucho la cabeza con esto podemos generar una contraseña aleatoria que nos da cierta seguridad. Y ya está. Damos aceptar. 3. Concepto de los grupos Película 9.2 Introducción a usuarios ¿Qué son los grupos? Son como alias que nos permiten que una serie de usuarios accedan a una serie de recursos como documentos, hardware o software. ¿Cómo gestionamos los grupos? Pinchamos en este botón y vemos todos los grupos que están creados. Podemos eliminar un grupo. Podemos ver las propiedades de alguno de los grupos ya creados por defecto. Observad que el grupo admin tiene como usuario a Linux pero el nuevo creado pepe no está. Si marcamos a pepe formará parte del grupo admin con acceso a recursos y administración del sistema. Como cambiar de usuario y gestionar usuarios 86 G ESTIÓN DE USUARIOS . que contiene los padrones para la creación de nuevos usuarios en el sistema. Sintaxis: adduser [opciones] [usuario] Cuando un computador es utilizado por varias personas es mejor trabajar con ambientes personalizados, permitiendo que archivos y configuraciones de cada usuario sean protegidos de los demás. Usuario: Nombre del nuevo usuario que será agregado al sistema. Opciones: -disable-passwd La identificación de un usuario es hecha a través de una cuenta, que comprende todos los archivos, recursos e informaciones relacionadas a ella. No ejecuta el programa 'passwd' para escoger la contraseña y solamente permite el uso de la cuenta después que el usuario haya escogido una contraseña. --force-badname Desactiva a chequeo de contraseñas errado durante la adición del nuevo usuario. Por padrón el 'adduser' chequea si la seña puede ser fácilmente adivinada. 1. Creación de usuarios -uid [num] Adduser Crea un nuevo usuario con la identificación [num] en vez de buscar el próximo UID disponíble. Crea o agrega un usuario al sistema. Por padrón, cuando un nuevo usuario es adicionado, es creado un grupo con el mismo nombre del usuario. Será creado un directorio /home con el nombre del usuario (a no ser que el nuevo usuario creado sea un usuario del sistema) y este recibirá una identificación. La identificación del usuario (UID) escogida será la primera disponible en el sistema especificada de acuerdo con la faja de UIDS de usuarios permitidas en el archivo de configuración /etc/adduser.conf. Este es el archivo -gid [num] Hace con que el usuario sea parte del grupo [num] en vez de pertenecer a un nuevo grupo que será creado con su nombre. Esto es útil en caso que se desee permitir que grupos de usuarios puedan tener acceso a archivos comunes. --home [dir] 87 Passwd Usa el directorio [dir] para la creación del directorio /home del usuario en vez de usar el especificado en el archivo de configuración. Modifica la contraseña del usuario o grupo. Un usuario solamente puede alterar la contraseña de su cuenta, sin embargo el súper usuario (root) puede alterar la contraseña de cualquier cuenta de usuario. /etc/adduser.conf. --ingroup [nombre] Los dueños de grupos también pueden alterar la contraseña del grupo con este comando. Los datos de la cuenta del usuario como nombre, dirección, teléfono, también pueden ser alterados con este comando. Cuando se adiciona un nuevo usuario el sistema, coloca el usuario en el grupo [nombre] en vez de crear un nuevo grupo. --system Sintaxis: passwd [usuario/grupo] [opciones] Crea un usuario de sistema en vez de un usuario normal. Los datos del usuario son colocados en el archivo /etc/passwd después de su creación y los datos del grupo son colocados en el archivo Usuario/grupo: Nombre del usuario/grupo que tendrá su contraseña modificada. Opciones: /etc/group. -g Si es especificada, la contraseña del grupo será alterada. Solamente el root o el administrador del grupo pueden alterar su contraseña. La opción -r puede ser usada con esta para eliminar la contraseña del grupo. La opción -R puede ser usada para restringir el acceso del grupo para otros usuarios. OBSERVACIÓN: Caso este usando señas ocultas (shadow passwords), las contraseñas de los usuarios serán colocadas en el archivo /etc/shadow y sus contraseñas de los grupos en el archivo /etc/gshadow. Busque siempre combinar letras mayúsculas, minúsculas, y números al escoger sus contraseñas. No es recomendado escoger palabras normales para su contraseña pues pueden ser vulnerables a ataques de diccionarios de los cracker. Usted debe ser el dueño de la cuenta para poder modificar la Esto aumenta más la seguridad del sistema porque solamente el usuario root puede tener acceso a este archivo, al contrario del archivo /etc/passwd que posee los datos de usuarios y deben ser leídos por todos. 88 contraseña. El usuario root puede modificar/eliminar la contraseña de cualquier usuario. 3. Supresión de usuarios Para borrar un usuario existente 2. Modificación de usuarios Selecciona el usuario o usuarios que quieres borrar y pulsa el botón Borrar en la pestaña Usuarios, debido a la importancia de estos datos, se te pedirá confirmación para cada usuario que quieras borrar. Para modificar un usuario existente, selecciona el usuario que quieres modificar y pulsa el botón Propiedades. Aparecerá una ventana similar a la usada para añadir usuarios nuevos, con todos los datos del usuario, permitiéndote modificarlos. Por razones de seguridad, el directorio personal de los usuarios borrados no se borrará. 89 G ESTIÓN DE GRUPOS Solo si indicamos expresamente que eliminaremos los archivos, estos desaparecerán. Todos los usuarios que poseen una cuenta en el sistema pertenecen a uno o más grupos. Cada grupo puede ser compartido por diversos usuarios o ser exclusivo de apenas uno. Película 9.3 Creación de usuarios y grupos desde la terminal 1. Creación de grupos A d d g r o u p Agrega un nuevo grupo de usuario al sistema. Las opciones usadas son las mismas del comando adduser, substituyendo ' u s u a r i o ' p o r ' g r u p o ' . Sintaxis: addgroup [grupo] [opciones] Ejemplos prácticos de como gestionar usuarios y grupos desde el shell Para añadir un grupo nuevo desde una interfaz gráfica Pulsa el botón Añadir en el diálogo de grupos, aparecerá una ventana nueva pidiendo los datos del grupo nuevo. Para añadir un grupo nuevo, debes proporcionar al menos el nombre del grupo y el ID del grupo. Opcionalmente puedes especificar los usuarios que pertenecerán a este grupo. 90 2. Modificación de grupos 3. Supresión de grupos Para modificar un grupo existente Groupdel Selecciona el grupo que quieres modificar en el diálogo de grupos y pulse el botón Propiedades. A continuación a aparecerá una ventana con los datos del grupo permitiéndote modificarlos. Borra un grupo del sistema. Cuando es usado, este comando borra todos los datos del grupo especificado de los archivos de cuentas del sistema. 91 Sintaxis: groupdel [grupo] digitando groups o id). Otros nombres de usuarios pueden ser agregados al grupo audio bastando separar los nombres con coma. Tenga seguridad que no existen archivos/directorios creados con el grupo eliminado a través del comando find. Para borrar un grupo existente desde una interfaz gráfica No puedes eliminar el grupo primario de un usuario. Elimina el usuario primero. Agregando un nuevo grupo a un usuario. Para incluir un nuevo grupo a un usuario, y así permitir que ellos accesen a los archivos/directorios que pertenecen aquel grupo, debe estar como root y editar el archivo /etc/group. Este archivo posee el siguiente formato: Selecciona el grupo o grupos que quieres borrar en el diálogo de grupos y pulsa el botón Borrar en la solapa Grupos, debido a la importancia de estos datos, se te pedirá confirmación para cada grupo que quieras borrar. NombredelGrupo:seña:GID:usuarios Dónde: Nombre del Grupo. Es el nombre del grupo de usuarios. Seña: Contraseña para tener acceso al grupo. Caso este utilizando contraseñas ocultas para grupos, las contraseñas estarán en /etc/gshadow. GID Identificación numérica del grupo de usuario. Usuarios. Lista de usuarios que también hacen parte del grupo. Caso exista mas de un nombre de usuario, ellos deben estar separados por coma. De este modo para agregar el usuario "juan" al grupo audio para tener acceso a los dispositivos de sonido de Linux, agregue el nombre al final de la línea: "audio:x:100:juan". Listo, ahora solo basta digitar logout y entrar nuevamente con su nombre y contraseña, usted estará haciendo parte del grupo audio (verifique 92 Configuración avanzada Película 9.4 Gestión de usuarios y grupos desde una interfaz gráfica La creación de un usuario podría hacerse de manera totalmente manual ya que Linux se apoya en una serie de comandos que solo modifican ficheros planos ya existentes y que crean y vuelven a copiar ficheros y carpetas en el sitio correcto con los privilegios correctos. La creación de un usuario consiste en: El uso de entornos gráficos para facilitar la tarea de la creación y gestión de usuarios y grupos • Añadir una línea en /etc/passwd • Añadir una línea en /etc/shadow • Añadir una información si es preciso en /etc/group • Crear el directorio personal y actualizar su contenido en /etc/skel • Cambiar los permisos y el propietario del directorio personal • Cambiar la contraseña que irá cifrada Todo esto significa que hay una serie de archivos en la carpeta /etc/ que me gustaría analizar un poco con vosotros. 93 • Si está activo o no • El Shell • Su grupo o sus grupos secundarios • El lugar donde se sitúa el esqueleto de las cuentas, es decir, la estructura básica de un directorio de usuario. 1. /etc/default/useradd El primero es /etc/default/useradd. Vamos a editarlo y para ello vamos a buscar la carpeta default y vamos a buscar el archivo useradd . Este archivo contiene una serie de variables que definen las reglas por defecto que se deben aplicar en el momento de crear un usuario. Es decir: • Su grupo • La raíz del su directorio personal, es decir, donde se ubicará este 94 • La creación o no de un spool o bandeja de correo • Etc 2. /etc/passwd 3. /etc/default/login.defs Otro archivo importante es el etc/passwd. Vamos a buscarlo y para ello subimos un nivel. El último fichero a analizar es el /etc/login.defs. Vamos a buscarlo. Muchos comandos, como, por ejemplo login, useradd, groupadd, passwd, utilizan el fichero /etc/login.defs para definir algunos valores por defecto y la validez de los logins. Su contenido puede variar en función de las distribuciones. Suele contener: • Una regla de validez de las cuentas (caracteres autorizados, longitud, etc.) • Los UID mínimo y máximo durante la creación de un usuario • Los GID mínimo y máximo durante la creación de un grupo • Los comandos que hay que llamar para la creación / modificaciones / eliminaciones. El fichero /etc/passwd contiene algunas reglas utilizadas por el comando passwd para el cifrado de contraseñas. Es posible definir reglas de cifrado globales, pero también por tipo de fichero y pasar algunas opciones según el método. 95 • Las reglas por defecto para la validez de las contraseñas • La creación o no de un directorio personal • Etc. CAPÍTULO 10 ∏ GESTIÓN DE PAQUETES DE INSTALACIÓN La instalación de programas en Linux requiere que uno se logee como administrador. Podemos adquirir privilegios de administrador temporales con sudo y durante toda la sesión con sudo –i y luego escribiendo la contraseña Y ya tenemos este símbolo # Existen diferentes maneras de instalar programas en Linux: • Los paquetes rpm • Los paquetes debían • Y los archivos comprimidos. SECCIÓN 1 Ventajas de la utilización del RPM ∏ Gerenciamiento de paquetes RPM. Actualización de Software. Con el gerenciador de paquetes es posible actualizar componentes individuales del sistema, sin la necesidad de reinstalación total. Al tener una nueva versión de un determinado paquete basado en RPM, la actualización se da de manera rápida, inteligente y totalmente automatizada. Los archivos de configuración son mantenidos durante el proceso, para que no se pierda una personalización ya efectuada. El RPM posee una serie de implementaciones que facilitan el mantenimiento del sistema. La instalación, desinstalación o actualización de un programa que este en formato de un paquete RPM puede ser hechas a través de un único comando. Para desarrolladores, el RPM permite mantener fuentes y binarios y sus actualizaciones separadamente, empaquetandolos de forma configurable para los usuarios. El gerenciador mantiene una base de datos con los paquetes instalados y sus archivos, lo que permite ejecutar búsquedas complejas y verificaciones de manera ágil y segura. Durante las actualizaciones de los programas, administra, por ejemplo, archivos de configuración, manteniendo las configuraciones ya realizadas en el sistema. Posee cinco modos básicos de operación, excluyendo el modo de confección de paquetes: instalación, desinstalación, actualización, búsqueda y verificación. Búsquedas: El RPM hace búsquedas sobre los paquetes ya instalados y sus archivos. Es posible buscar que paquete pertenece un determinado archivo y cual es su origen. Los archivos RPM están en formato compactado y con un encabezado padrón conteniendo informaciones útiles sobre los paquetes. Verificación del Sistema: En caso de que algún archivo importante de algún paquete haya sido borrado, inicialmente se puede verificar si los paquetes presentan alguna anormalidad. En caso sea detectada alguna, será posible reinstalar el paquete, preservando las configuraciones y personalizaciones existentes. Códigos básicos: RPM posibilita la distribución de los archivos fuente, idénticos a los distribuidos por los autores de 97 los programas y las alteraciones separadamente. Es posible tener los archivos fuente y las actualizaciones que fueron aplicadas, pudiendo comparar las alteraciones efectuadas en los programas a cada nueva versión que sea disponibilizada. proceso de instalación fue desenvuelto para ser el más simple posible, sin embargo eventualmente puede ocurrir algún error, entre ellos: Paquetes ya instalados: si el paquete ya fue instalado anteriormente, será presentado el siguiente mensaje: foo package foo-1.0-1.i386.rpm is already installed Instalando/Actualizando RPM Caso se desee ignorar el error, se pode usar el parámetro -forcé en la línea de comando, haciendo con que el RPN ignore el error. Los paquetes RPM tienen nombres de archivos como el siguiente formato: foo-1.0-l.i386.rpm Donde: - Archivos con conflictos: si el archivo contiene un archivo ya instalado por otro paquete, será presentado el siguiente mensaje: foo /usr/bin/foo conflicts with file from bar-1.0-1 foo: nombre del archivo 1.0: versión 1: release error: foo-1.0-l.i386.rpm cannot be installed i386: plataforma Caso se desee ignorar este error, se puede usar el parámetro --replacefiles en la línea de comando. La instalación es hecha a través de una única línea de comando, como por ejemplo: Para actualizar un paquete utilice el comando: # rpm -Uvh foo-2.0-l.i386.rpm # rpm -ivh foo-1.0-1.i386.rpm foo #################################### foo #################################### Cualquier versión anterior del paquete será desinstalada y será hecha una nueva instalación guardando las configuraciones anteriores del programa a un posible uso en caso que el formato de los archivos de configuración no haya se puede observar, el RPM presenta el nombre del paquete (el cual no tiene necesariamente el mismo nombre del programa) y presenta una sucesión de caracteres # actuando como una regla de progreso en el proceso de instalación. El 98 sido alterado. Es sugerido usar la opción -U en el momento de la instalación, una vez que funcione perfectamente, mismo cuando no haya una versión anterior del paquete. Una vez que el RPM ejecute un proceso de actualización inteligente, presenta un mensaje del tipo: Película 10.1 Instalación de paquetes desde la consola de comandos saving /etc/foo.conf as/etc/foo.conf.rpmsave, lo que significa que los archivos de configuración existentes están salvos, sin embargo modificaciones en el programa pueden hacer ese archivo de configuración incompatible con el paquete (lo que no es común). En este caso las adecuaciones necesarias deben ser hechas por el usuario. Como el proceso de actualización es una combinación de procesos de desinstalación e instalación, algunos mensajes de error pueden surgir, como por ejemplo, al intentar actualizar un paquete con una versión anterior a la versión actual, será presentada el siguiente mensaje: Algunos ejemplos de cómo instalar programas desde la consola mediante comandos # rpm -Uvh foo-1.0-l.i386.rpm foo package foo-2.0-1 (which is newer) is already installed Para forzar la actualización, se debe usar el parámetro -oldpackage en la línea de comando 99 SECCIÓN 2 ∏ Paquetes dev y archivos .tar. gz y zip Paquetes dev Otra manera de instalar es mediante los paquetes debían que en este caso tienen extensión .dev para los paquetes binarios y .dfc para los paquetes fuente. archivos gzip El comando gzip es usado para la compactación/des compactación de archivos. El archivo original es substituido por un archivo compactado con la extensión .gz, manteniendo el dueño, permisos y fechas de modificación. La sintaxis en este caso seria: Dpkg –i (que es la opción de instalar) y el nombre del paquete.dev Caso que ningún archivo sea especificado, o si el nombre del archivo fuere "-", la entrada padrón será compactada en la salida padrón. El gzip solamente intentará compactar archivos normales; en particular, él ignorará links simbólicos. El formato básico de este comando es mostrado a continuación: 100 gzip [opciones] archivos Tar gunzip [opciones] archivos El comando tar es bastante antiguo, y significa Tape Archiving (tar también es "aglutinar" en inglés, el que sugiere el proceso de aglutinación). Con las opciones adecuadas, permite guardar diversos archivos y directorios en un único archivo. El formato básico de este comando es indicado a continuación: Como primer ejemplo, el archivo será compactado: $ gzip archivo En el siguiente ejemplo, el archivo será descompactado: $ gunzip archivo tar opciones archivo [archl arch2 ...] Así logramos descomprimir en un directorio temporal y desde allí los instalaremos … - Para abrir un archivo ".tar": $ tar tvf arch.tar archl arch2 arch3 - Para listar el contenido de un archivo ".tar": $ tar tvf arch.tar Para crear un archivo ".tar": $ tar cvf arch.tar archl arch2 arch3 Un procedimiento muy usado es la combinación de los comandos tar y gzip, a través de la opción z del comando tar. Así, para obtener un archivo comprimido corriente.tar.gz con todo el contenido del directorio corriente, basta ejecutar el siguiente comando: $ tar czvf corriente.tar.gz * 101 Como primer ejemplo, los archivos del directorio corriente serán compactados y empaquetados y colocados en el archivo: $ zip archivo* En el siguiente ejemplo, el archivo será descompactado y desempacotados: $ unzip archivo. Película 10.2 El gestor de paquetes synapti Zip EL comando zip es usado para la compactación y empaquetamiento de archivos. Él es análogo a la combinación de los comandos tar y compress y es compatible con el pkzip y Winzip. El programa es útil para empaquetamiento de una serie de archivos para distribución, para almacenamiento y para economizar espacio en disco temporalmente, compactando archivos y directorios sin uso. El formato básico de este comando aparece aquí: Instalación de programas desde Ubuntu zip [opciones] archivo_zip archivos 102 SECCIÓN 3 ∏ Instalación de paquetes en Ubuntu Comando Apt-get Linux Ubuntu tiene un comando especial que es Y empieza a instalarlo de una manera visual. Vemos aquí la barra de progreso de lo que se está descargado, del paquete en cuestión y el proceso total de la instalación aquí Apt-get y el nombre del paquete. Hemos preparado un ejercicio para ver este comando y el nombre del juego que esta en los directorios de software de Ubuntu es katomic. Comentar que el sistema se conecta con el repositorio de Ubuntu y descarga los paquetes de allí. El proceso de instalación dura más o menos tiempo y finaliza cuando llegamos al prompt del sistema. Como veis seguimos como administrador por el símbolo # y el programa ya esta instalado. Escribimos pues Apt-get install katomic Como veis lee una lista de paquetes de internet, crea el árbol y me dice si quiero instalarlo. Le digo que si… Como se trata de un juego nos iremos a aplicaciones, juegos. Y aquí tenemos la aplicación katomic que acabamos de instalar 103 Si quiero instalar algún tipo de programa lo selecciono. En algunos casos puedo obtener una captura de pantalla del programa pero no siempre, en este caso el enlace está roto. Gestor de descarga de ubuntu Existe una manera más fácil de instalar programas y la tenemos en sistema > administrador > Gestor de paquetes synaptic . Observad que hay un gestor de actualizaciones que veremos posteriormente. Ahora simplemente hago doble clic sobre el programa para marcarlo y ahora aplico los cambios y comenzara el proceso de instalación. En este caso si hago clic en mostrar archivos vemos lo que estamos descargando, es un archivo relativamente pequeño. En la parte de arriba están los archivos descargados y los que quedan por descargar, la tasa o velocidad y los minutos que quedan. Dependiendo del tamaño del programa será más o menos largo este proceso. El Gestor de paquetes synaptic lo que realmente hace es leer un repositorio en el que hay una serie de aplicaciones para Linux divididas en una serie de categorías donde puedo elegir lo que me interese. Y una vez que esta descargado todo comenzara el proceso de instalación propiamente dicho que podemos monitorizar mediante una consola que en realidad es la misma terminal que está ejecutando el proceso. Y ahora daros cuenta que estamos ya instalando el software propiamente dicho y en detalles esta la consola que os había comentado anteriormente con todo lo que está instalando y en que carpetas, como veis /usr/share/applications. Este proceso durara x tiempo y una vez terminado ya podremos utilizar este programa. Bien pero existe todavía otra manera de instalar programas y está directamente en aplicaciones > centro de software de Ubuntu. Lo que está instalado está marcado por una casilla verde. 104 Es algo muy parecido a lo anterior, no obstante, presenta un interfaz grafico mucho mas agradable dividido por categorías. También puedo ver el software instalado… Esperamos unos segundos y ya muestra que está instalado. Ahora podemos ir a juegos y si lo ejecutamos, veremos que comienza el programa que hemos instalado… Y si quiero instalar por ejemplo un juego pincho en la categoría de juegos, y elegimos uno, y damos a instalar… Tenemos que autentificarnos lógicamente, recordad que para instalar tenemos que ser administrador del sistema. Gestor de actualizaciones de ubuntu Por ultimo me gustaría ver con vosotros el gestor de actualizaciones de Ubuntu que no se trata tanto de un instalador de paquetes propiamente dicho sino un gestor de las actualizaciones del sistema. Y ahora comienza el progreso de la instalación. Vemos aquí lo que estamos descargando, lo que nos queda todavía. Y una vez descargados los paquetes comienza a instalarlos como ya hemos visto. 105 Si pincho en comprobar me aparecen todas las actualizaciones de Ubuntu que están disponibles. Realmente es muy parecido al gestor de actualizaciones de Windows. Película 10.3 El gestor de actualizaciones de Ubuntu Si veis me descargo primero un archivo de texto con una base de datos de las actualizaciones disponibles… luego aceptaría los cambios. Ahora simplemente digo instalar las actualizaciones pinchando en el botón con este nombre. Tengo que poner la contraseña de administrador y ahora se conectara con el servidor y se descarga en este caso megas… Luego los instalara en el sistema y tendremos nuestro Ubuntu totalmente actualizado.. La mejor manera de gestionar las actualizaciones de Ubuntu. 106 CAPÍTULO 11 ∏ ANEXOS Y BIBLIOGRAFÍA Lista de los comandos más utilizados en Linux Selección de libros sobre Linux y Ubuntu SECCIÓN 1 ∏ Comandos de linux más utilizados Ejecutables Comando Comando Comando cat [fichero] more [fichero] less [fichero] Acción Lista los archivos de un directorio concreto Muestra el contenido de un fichero Repite la cadena stat [fichero] Muestra el estado de un fichero tail [archivo] head [archivo] find [patron] whereis [programa] Comentarios lpr fichero ls -l = Añade información sobre los atributos lpq ls -a = Lista todos los archivos incluyendo los ocultos ls -R = Lista el contenido del directorio y todos sus subdirectorios recursivamente cat -n [fichero] = Muestra el contenido de un fichero numerando sus lineas lprm lprm n Muestra las ultimas lineas de un archivo Muestra las primeras lineas de un archivo Busca las coincidencias con el patrón dentro del directorio y sus subdirectorios Acción Comentarios Añade el fichero a la cola de impresion Muestra los documentos en la cola Cancela la impresion del documento actual lpr -#n fichero = Realiza "n" copias del fichero, donde n es un numero natural (1,2,3,4,5 ...) Cancela la impresion del trabajo n, siendo n un numero natural. -t = No imprimira cabeceras ni pies de pagina Muestra un fichero de forma tabulada como una página del man Similar a more, permite tanto avanzar como retroceder entre las páginas echo [cadena] Comentarios bash nombredeejecutable.sh = Otra forma de ejecutar un archivo ejecutable .sh ./nombredeejecutable.sh = Otra forma de ejecutar un archivo ejecutable .sh Impresión Ficheros y miscelánea ls Acción sh nombredeejecutable.sh Ejecuta un archivo ejecutable .sh pr +2 l70 -w 80 -h "Comandos" fichero -t echo -e [cadena] = Habilita la interpretación de caracteres de escape stat -f [fichero] = Muestra el estado del sistema de ficheros tail -n [n] [archivo] = Muestra las ultimas n lineas del archivo head [n] [archivo] = Muestra las n primeras lineas de un archivo find [ruta] [patron] = Busca las coincidencias con el patron dentro de la ruta find [patron] -print = Busca las coincidencias y muestra la ruta completa de estas. find -size [tam] = Busca aquellos archivos menores que el tamaño señalado man find = Muestra un listado las múltiples opciones y usos de find pr l70 -d comandos.txt | lpr l70 = Establece la longitud de la página de 70 lineas (66 por defecto) Formatea un archivo de texto para -w 80 = Establece el ancho de linea en 80 la impresion caracteres(72 por defecto). -h "Comandos" = Establece "Comandos" como cabecera de cada página. Una vez formateado el texto lo manda a la cola de impresion Formatos Comando Busca la ruta donde se encuentra el programa, su ayuda, etc. tidy fichero.html 108 Acción Analiza el codigo de un documento html Comentarios tidy -m fichero.html = Corrige modificando el codigo del fichero html tidy -m -asxml fichero.html = Convierte el fichero html a xml Gráficos Compresión y descompresión Comando Acción zip -r fichero.zip ficheros Comprime en formato .zip rar a -r0 fichero.rar ficheros Comprime los ficheros en formato .rar gzip -r ficheros Comprime ficheros a gz Comando Comentarios unzip -v archivo.zip = Muestra el contenido de un .zip sin descomprimirlo unrar e -r archivo.rar = Descomprime el fichero.rar en el directorio actual unrar x -r archivo.rar ruta_destino = Extrae el fichero.rar en la ruta especificada unrar v archivo.rar = Muestra el contenido del fichero.rar sin descomprimirlo gzip -d fichero.gz = Descomprime un fichero.gz gzip -c fichero.gz = Muestra el contenido de un fichero.gz sin descomprimirlo Comprime ficheros al formato bzip2 -d fichero.bz2 = Descomprime un fichero.bz2 bz2 tar -vcf archivo.tar / fichero1 /fichero2 ... Empaqueta ficheros o directorios en tar tar -zvcf archivo.tgz directorio tar -jvcf archivo.tbz2 directorio tar -vxf archivo.tar = Desempaqueta el archivo.tar tar -vtf archivo.tar = Muestra el contenido del archivo.tar sin descomprimirlo Empaqueta y comprime (tgz) tar -zvxf archivo.tgz = Desempaqueta y directorios o ficheros descomprime un archivo.tgz tar -zvtf archivo.tgz = Muestra el contenido de un tgz sin descomprimirlo ni desempaquetarlo Empaqueta y comprime (tbz2) tar -jvxf archivo.tbz2 = Desempaqueta y directorios o ficheros descomprime el archivo.tbz2 tar -jvtf archivo.tbz2 = Muestra el contenido sin desempaquetar ni descomprimir el .tbz2 Renombrado Comando Acción Comentarios *.zip indica el tipo de archivos a renombrar (llamado con * renombra todos). A-Z indica el patron a modificar. rename 'y/A-Z/a-z/' Cambia mayusculas por minisculas *.zip en todos los .zip. Comentarios glxinfo | grep "direct rendering" Informacion sobre OpenGl y glxinfo = Indica si esta activada la Glx aceleracion 3D Muestra los colores showrgb reconocidos por el sistema y su codigo RGB banner -w[n] texto = Hace el Muestra un cartel ascii con el banner con el tamaño indicado banner texto texto de forma vertical por n, siendo n un numero (Sin los corchetes) figlet texto Muestra un cartel ASCII con figlet -w[n] texto = Similar a el texto de forma horizontal banner pero en formato horizontal figlet -t texto = La salida se mostrara con su anchura maxima figlet -c texto = La salida se mostrara centrada xwd -root -screen > xwd > ventana.xwd Captura una ventana pantalla.xwd = Captura la pantalla gnome-screenshot --window = Captura la pantalla en el gnome-screenshot Captura la ventana en el escritorio gnome escritorio gnome Captura una ventana en import -window - ventana.jpg cualquier formato Muestra imagenes en formato xwud -in pantalla.xwd .xwd Muestra las propiedades de identify imagen.gif una imagen pdfimages fichero.pdf Extrae las imagenes de nombre_para_las_imágenes un .pdf Crea un catalogo pdf con las convert *.jpg catálogo.pdf imagenes Crea un indice grafico con las display "vid:*.jpg" miniaturas convert imágen_color.jpg -monochrome Convierte una imagen a imágen_b/n.jpg blanco y negro convert imagen_original.ppm Cambia el formato de una imagen_nueva.jpg imagen convert -sample 100x50 imagen_original.jpg Cambia las dimensiones de imagen_nueva.jpg una imagen Convierte a .jpg todas las mogrify -format jpg *.ppm imagenes .ppm Crea miniaturas de varias mogrify -format png -sample 20%x20% *.jpg imagenes Crea un gif animado con convert -delay 15 imag1.jpg imag2.jpg varias imágenes (15 es el imag3.jpg remero.gif tiempo entre imagenes en centésimas) Extrae los fotogramas de convert imagen.gif -adjoin imagen.jpg un .gif animado unzip archivo.zip = Descomprime un .zip bzip2 ficheros Acción a-z indica el patron por el que se modifica. rename 'y/ /_/' * cambia espacios por _ en todos los archivos. rename 's/expresión //' *.mp3 = Elimina una expresion de todos los mp3. 109 Imágenes Extracción de CD Comando Acción Comentarios Comando mkisofs -R -J -T -o imagen1.iso Crea una imagen de un fichero que se fichero1 encuentre en nuestro disco duro. dd if=/dev/cdrom Crea una imagen del cd-rom y la vuelca of=imagen.iso en imagen.iso cat /dev/cdrom > archivo.iso cdda2wav -B -H -D / dev/sr1 -s -x cdda2wav -H -D /dev/ sr1 -s -x -t 5 cdparanoia -B -d / dev/sr1 cdparanoia 5 -d /dev/ sr1 Similar al anterior Para usar este comando es nrg2iso imagen.nrg imagen.iso Convierte una imagen .nrg a .iso imprescindible instalar el paquete nrg2iso Para usar este comando es bin2iso imagen.cue Convierte una imagen .bin o .cue a .iso imprescindible instalar el paquete bin2iso Para usar este comando es ccd2iso imagen.img Convierte una imagen img/ccd/sub/cue imprescindible instalar paquete imagen.iso a .iso ccd2iso Para usar este comando es mdf2iso imagen.mdf Convierte una imagen .mdf o .mds imprescindible instalar paquete imagen.iso a .iso mdf2iso mount -t iso9660 -o loop Monta una imagen .iso imagen.iso punto_montaje umount punto_montaje Desmonta una imagen md5sum archivo.iso > archivo.iso.txt Genera la suma md5 de un archivo .txt md5sum -w -c archivo.iso.txt Verifica la suma md5 de un archivo Extrae la pista número 5 Extrae un disco de audio completo en archivos .wav separados Extrae la pista número 5 Audio Comando Grabación de CD y DVD Acción oggenc -b 128 -q 5 tema.wav Comentarios Grabar un cd de datos/ imagen Copiar un cd de datos/ cdrecord -v dev=0,0,0 fs=16M speed=30 -eject -isosize /dev/sr1 imagen cdrecord -v dev=0,0,0 fs=16M speed=30 imagen.iso cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav Comentarios abcde -d /dev/sr1 -N -x -o mpc = Extrae el disco completo en archivos .mpc separados Extrae disco completo en archivos mp3 abcde -d /dev/sr1 -N abcde -d /dev/sr1 -N -x -o ogg = Extrae el separados (es necesario instalar paquete x -o mp3 disco en archivos .ogg separados abcde) abcde -d /dev/sr1 -N -x -o ogg tracks 1-3 5 = Extrae las 3 primeras canciones y la quinta lame -b 192 -m j tema.wav lame -h -m j --nogap *.wav Comando Acción Extrae un disco de audio completo en archivos .wav separados lame -h --decode tema.mp3 tema.wav mplayer -ao pcm fichero.asf Grabar un cd de audio cdrdao copy -v 2 --device 0,0,0 --source-device 0,1,0 --reload \ -Copia un cd de audio eject --on-the-fly --fast-toc --paranoia-mode 0 cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav -data Graba un cd mixto imagen.iso cdrecord -v blank=fast Borrar un cd regrabable growisofs -Z /dev/sr0 -R -J archivo Grabar un cd de datos/ imagen play cancion 110 Acción Convierte una cancion .wav a .mp3 con bitrate de 192 Comentarios Elvalor 192 puede cambiarse y la opción -h indica máxima calidad) Convierte todos los archivos .wav a .mp3 oggenc *.wav = Convierte todos los wav en un unico fichero ogg oggenc -a -l -t *.wav = Convierte Convierte un archivo .wav a .ogg con bitrate de todos los .wav en sus respectivos ogg 128 (-b 128) y calidad 5 (-q 5) en un rango de 0 oggdec tema.ogg = Convierte un a 10. archivo .ogg a .wav oggdec *.ogg = Convierte todos los .ogg a .wav Convierte un archivo .mp3 a .wav Convierte un archivo .asf o .wma a .wav Reproduce una cancion en la terminal Varios Procesos Comando man comando cal uptime tzconfig tzselect Acción Comentarios Comando Muestra información sobre el comando apropos palabra_clave = Busca dentro de las declaraciones de man la palabra exacta apropos -e palabra_clave = Busca la palabra exacta cal -my = Muestra el calendario de todo el Muestra el calendario del mes actual año Muestra la hora,tiempo de funcionamiento,no usuarios conectados y la carga media Muestra la fecha del sistema en formato date --help = Muestra todas las opciones local de date en castellano Muestra el reloj Hardware o reloj de hwclock -systohc = Pone el reloj hwclock --show Bios Hardware a la hora del sistema Ejecuta un comando cada x segundos watch -n tiempo comando (defecto = 2) Limpia la pantalla Reinicia la terminal Ctrl+C Termina un proceso. hostname tty /etc/init.d/servicio stop Arranca el entorno grafico Ejecuta un script java -jar fichero.jar Ejecuta un programa java consolechars -f fuente.psf.gz Enviar bugs exit Termina la ejecucion del programa actual Muestra el id del comando killall [proceso] Para el proceso -m en megabytes -s 3 con una demora de 3 segundos Muestra las llamadas al sistema originadas por el comando Muestra los procesos que estan usando un archivo o directorio lsof lsof -c [comando] = Lista los ficheros abiertos por un proceso lsof +D [Directorio] = Lista los procesos Lista los ficheros abiertos por los procesos que estan usando el directorio lsof -i :60627 = Muestra los procesos que se encuentren detras del puerto 60627 [comando] & Ejecuta un comando en segundo plano jobs fg no_tarea Ejecuta un comando de forma que si cerramos la terminal siga ejecutandose Lista los procesos en segundo plano identificandolo con su numero de tarea Pasa un comando a primer plano bg nice -n prioridad [comando] renice prioridad PID_del_proceso Ejecuta un archivo binario (también puede usarse con scripts) Cambiar la fuente de la consola. Las fuentes se encuentran en /usr/share/ consolefonts/ reportbug pidof [comando] nohup [comando] & Muestra el nombre del fichero de la terminal conectada a la salida estandar. Para un servicio o demonio /etc/init.d/servicio start = Inicia un servicio o demonio /etc/init.d/servicio restart = Reinicia un servicio o demonio sh script ./[archivo.bin] Ctrl+Z = Suspende temporalmente la ejecución de un programa. Ctrl+S = Para la transferencia de datos a la terminal. Ctrl+Q = Resume,reinicia la tranferencia de datos Ctrl+Alt+F2 = Salir del entorno gráfico a un terminal.(Fnº según gettys activados en /etc/inittab) Ctrl+Alt+Supr = Estando en una terminal reinicia(si no se indica otra cosa en /etc/ inittab) Comentarios Muestra información detallada sobre los procesos en curso (tecla z colorea los activos) Muestra los procesos en curso en forma de arbol fuser -v [archivo] Muestra el nombre de la maquina startx Muestra el uso de la memoria strace [comando] date reset free -m -s 3 pstree Permite seleccionar la zona horaria clear memtest top Permite seleccionar la zona horaria Acción Hace una comprobacion del estado de la memoria Pasa a segundo plano un proceso que hemos suspendido temporalmente con Ctrl-Z Ejecuta un comando con una prioridad determinada Cambia la prioridad de un proceso en marcha at [-f script] [tiempo] Ejecuta un script a una hora y/o fecha concretas batch Igual que at, salvo que batch sólo ejecuta el script si la carga de cpu es inferior al 80% atq = Muestra la lista de tareas programadas de forma numerada atrm no = Elimina una tarea indentificada por su no Disco duro Comando 111 Acción Comentarios Instalación de software Comando Kernel Acción Comentarios Comando uname -a Version del kernel dpkg --purge paquete = Desisntala un paquete y sus archivos de configuracion lsmod Lista los modulos cargados modinfo [módulo] Muestra informacion sobre un modulo dpkg --force-all -r paquete = Fuerza aun mas la desinstalacion de un paquete (Puede comprometer el sistema) modprobe [módulo] Inserta un modulo y sus dependecias en el kernel dpkg -c paquete = Muestra el contenido de un paquete insmod [módulo] Inserta un modulo en el kernel dpkg -L paquete = Muestra todos los ficheros que se instalaron con un paquete rmmod [modulo] Elimina un modulo del kernel dpkg --force -r paquete = Fuerza la desinstalacion de un paquete dpkg -i paquete Instala un paquete Acción dpkg -r paquete = Desinstala un paquete dpkg -S fichero = Muestra a que paquete pertenece un fichero echo [módulo] >> /etc/ Inserta un modulo en el kernel modules permanentemente dpkg --get-selections = Muestra un listado con todos los paquetes instalados depmod [modulo] Comprueba las dependencias del modulo modconf Programa gráfico para cargar módulos dpkg-reconfigure paquete = Reconfigura el paquete aptitude upgrade = Actualiza el sistema (no instala ni elimina paquetes) last aptitude dist-upgrade = Actualiza el sistema eliminando e instalando paquetes si fuera necesario hdparm /dev/hdX Muestra los usuarios conectados y desconectados en los ultimos dias Verifica el DMA de nuestro disco (sustituir "hdX" por nuestro disco correspondiente) aptitude install [paquetes] = Instala los paquetes indicados aptitude reinstall [paquetes] = Reinstala los paquetes indicados aptitude update Actualiza la lista de paquetes aptitude remove [paquetes] = Elimina los paquetes indicados lsdev Muestra información sobre los dispositivos aptitude purge [paquetes] = Elimina los paquetes y sus ficheros de configuracion aptitude download [paquetes] = Descarga los paquetes en el directorio actual lspci Muestra los dispositivos PCI conectados lsusb Muestra los dispositivos USB conectados less /var/log/kern.log Mensajes del nucleo. aptitude hold [paquetes] = Bloqua los paquetes indicados aptitude unhold [paquetes] = Desbloquea los paquetes seleccionados aptitude unmarkauto [paquetes] = Desmarca paquetes como instalados manualmente aptitude markauto = Marca paquetes como instalados manualmente aptitude search [expresion] = Busca un paquete por nombre o expresion aptitude show [paquetes] = Muestra información detallada de un paquete aptitude clean = Elimina los paquetes .deb descargados last lastb Información de hardware Comando Acción Comentarios 112 Comentarios modprobe -r [módulo] = Elimina un modulo del kernel y los que dependen de él hdparm -I /dev/hdx = Muestra información sobre el disco hdparm -d1 /dev/hdX = Activar el dma en nuestro disco less /var/log/syslog = Registro de mensajes relativos a la seguridad. less /var/log/debug = Registro de información de depuración de los programas. less /var/log/messages = Mensajes del sistema de carácter informativo. less /var/log/user.log = Información del usuario. less /var/log/XFree86.0.log = Información sobre las X less /var/log/Xorg.0.log = Información sobre las X less /var/log/auth.log = Accesos al sistema(incluye los intentos fallidos). Lista los usuarios conectados/desconectados (fichero /var/log/wtmp). Muestra los intentos de conexión fallidos (fichero /var/log/btmp). cdda2wav -scanbus Comprobar el interfaz SCSI. cdrecord -scanbus Comprobar el interfaz SCSI. cat /proc/meminfo Información sobre la memoria. cat /proc/cpuinfo = Información sobre el procesador. Calculadora FTP Comando bc Comando ftp Acción Acción Comentarios Abrimos la calculadora bc. 20 + 5.4 = Suma. Comentarios 77 - 4.2 = Resta. Abre la interface de usuario para open servidor = Conectar con el servidor 25.2 * 86 = Multiplica. el protocolo de transferencia de ficheros append = Anexar a un archivo 47 / 3 = Muestra el cociente de la división. (FTP) ? = Imprimir información de ayuda local 47 % 3 = Muestra el resto de la división. bell = Emitir sonido cuando se complete el comando 4 ^ 2 = Calcula la potencia 4² binary = Establecer transferencia binaria (todas salvo .txt) sqrt (16) = Calcula la raiz cuadrada de 16 (2*3+2) / sqrt (2^3/2.5) = Un poco de cada. bye = Finalizar la sesión ftp y salir quit = Salimos de bc. ascii = Establecer tipo de transferencia ascii (sólo para .txt) cd = Cambiar el directorio de trabajo remoto close = Finalizar la sesión ftp Redes ls = Mostrar el contenido del directorio remoto dir = Mostrar el contenido del directorio remoto delete = Eliminar archivo remoto Comando debug = Alternar modo de depuración /etc/init.d/networking start get = Recibir archivo help = Ayuda sobre un comando 1º-help y luego el comando ifconfig [interfaz opciones IP] lcd = Cambiar el directorio de trabajo local mdir = Mostrar el contenido de múltiples directorios remotos mdelete = Eliminar múltiples archivos mget = Obtener múltiples archivos Acción Comentarios Inicia los servicios de red. /etc/init.d/networking restart = Reinicia los servicios de red. /etc/init.d/networking stop = Para los servicios de red. Información y configuración de interfaces de red. ifconfig = Muestra el estado de los interfaces activos. ifconfig -a = Muestra el estado de todos los interfaces. ifconfig ppp0 = Muestra el estado de ppp0 mkdir = Crear directorio en el equipo remoto ifconfig eth0 up = Activa eth0. mls = Mostrar el contenido de múltiples directorios remotos ifconfig eth0 down = Cierra eth0. ifconfig eth1 address 192.168.1... = Asigna una dirección al interfaz especificado. mput = Enviar múltiples archivos open = Conectar a tftp remoto put = Enviar un archivo iwconfig pwd = Imprimir el directorio de trabajo del equipo remoto ifup interface Similar a ifconfig pero sólo para interfaces wireless Habilita la interface especificada. ifdown interface Deshabilita la interface especificada. dhclient eth0/eth1 Inicia conexión dhcp mediante el cliente dhcpclient. pump -i eth0/eth1 Inicia conexión dhcp mediante el cliente pump. pppoeconf Programa para configurar conexiones pppoe. pppconfig Programa en modo texto para configurar una conexión ppp. pon Establece la conexión ppp a internet. ifup eth0 ifup ppp0 quit = Finalizar la sesión ftp y salir quote = Enviar un comando arbitrario ftp ifdown eth0 ifdown ppp0 recv = Recibir archivo rename = Cambiar el nombre del archivo rmdir = Quitar directorio en el equipo remoto remotehelp = Obtener ayuda del servidor remoto send = Enviar un archivo status = Muestra el estado actual trace = Alternar trazado de paquetes 113 SECCIÓN 2 Linux for Dummies - 7th Edition 05_2006 ∏ Selección de libros Autor: Debra Cameron Resumen: Pertenece a la famosa serie For dummies es muy bueno ya que nos enseña a usar y relacionarnos con GNU desde cero LINUX DESKTOP GARAGE Autor: Susan Matteson Inside Linux Resumen: obra muy interactiva ya que nos guía en el uso de Linux para usa personal o como desktop Autor: Brian Hatch Resumen: libro totalmente orientado a los que se dedican al mantenimiento de servidores ya que este explica el funcionamiento e instalación de servidores Nis, Nfs, Dns, Web, Proxy, Correo entre otros Linux Timesaving Techniques For Dummies Autor: Susan Douglas Resumen: Este es un libro que nos ayuda a optimizar nuestro tiempo cuando estemos configurando un servidor Linux . Learning GNU Emacs, 3rd Edition Autor: Debra Cameron Linux Administration Handbook SECOND EDITION Resumen: Con este libro aprenderemos el uso de del editor de Emacs Autor: Susan Douglas 114 Resumen: Quieres aprender todo lo que necesita saber un administrador Linux pues este es tu libro Linux Bible 2010 Edition Autor: Christopher Negus Linux Administrator Street Smarts Resumen: Es la biblia de Linux bueno anteriormente se publicó una edición anterior pero esta es mejor ya que usa como base bunutu Autor: Roderick W. Smith Resumen: Otro libro para aprender a ser un administrador Linux. Linux Command Line and Shell Scripting Bible Linux Appliance Design Autor: Christopher Negus Autor: John Hardin Resumen: Esta es la biblia para las personas que deseen saber un poco más del Uso de linux Mediante la Línea de comandos Resumen: Es un libro que explica la estructura de Linux Linux Applications Development for the Enterprise Linux Complete Command Reference Autor: John Purcell Autor: John Hardin Resumen: Un buen libro para las personas que deseen saber un poco más del Uso de Linux Mediante la Línea de comandos Resumen: Es un libro muy bueno que nos lleva de windows a linux 115 Resumen: En este libro podemos ver cómo operan ciertas funciones que tenemos en el Bash Linux For Dummies, 8th Edition Autor: John Purcell Linux Programming Unleashed Resumen: Este es una versión nueva de la series for Dummies Autor: Craig Hunt Resumen: En este libro podemos aprender la programación en C y otros lenguajes dentro de GNU /Linux Linux in the Workplace Autor: Publishers of Linux Journal Resumen: Un buen libro para personas que desean introducirse en Linux Linux Quick Fix Notebook Autor: Craig Hunt Resumen:En este libro en el cual nos podemos guiar para iniciarnos en Linux Linux Network Servers Autor: Craig Hunt Resumen: Un buen libro montar servidores de cualquier tipo, este libro se orienta específicamente a esto Linux Server Hacks Autor: Craig Hunt Resumen: En este libro podemos ver las debilidades que podemos dejar sin darnos cuenta en nuestro servidor Linux con lo cual podemos mejorar nuestro servidor Linux Patch Management Keeping Linux Systems Up To Date Autor: Craig Hunt 116 Live Linux CDs Building and Customizing Bootables Multitool Linux - Practical Uses for Open Source Software Autor: Christopher Negus Autor: Christopher Negus Resumen: Un buen libro para aprender a utilizar los live cd linux Resumen: Nos da una gama de herramientas para la programación en Ubuntu Managing Linux Systems with Webmin System Administration and Module Development Autor: Christopher Negus Resumen: Un buen libro los linuxeros que no se quieren romper la cabeza en la línea de comandos y prefieren una interfaz más amigable Moving to Ubuntu Linux Autor: Christopher Negus Resumen: Un buen libro para ayudarnos a la migrada a Ubuntu 117