jueves, 1 de mayo de 2014

COMANDOS LINUX


10 herramientas de software libre para gestionar proyectos

Para trabajar de forma profesional en un proyecto, muchas veces necesitamos algo más que una lista de tareas, y es el momento de buscar una solución en software, tanto si es un trabajo que vamos a llevar a cabo solos como si hay otras personas en el equipo. Si los clientes son varios, entonces ya es imprescindible encontrar algún buen programa de gestión de proyectos, estable pero también flexible. Los programas de software libre son ideales porque además de ser potentes, cuentan detrás con una comunidad de desarrolladores y pueden hacernos ahorrar bastante en costos.


Hemos hecho una lista de herramientas de software libre abiertas y disponibles, así cualquiera que lo necesite pueda tener a mano un sitio donde buscar y probar distintos programas que han sido recomendados por sus usuarios. Si usan otras y les parece que deberíamos conocerlas, no olviden mencionarlas en los comentarios.
colabtive: A los fans de Basecamp les gustará esta herramienta, porque es la alternativa open source a herramientas propietarias como esta. Permite importar desde Basecamp e incluye funciones similares como la gestión de diferentes proyectos, los Milestones y las listas de tareas. También mide el tiempo dedicado a las tareas, emite informes y cuenta con varios plugins para extender sus funciones. Sólo en inglés.
Project HQ: También similar a Basecamp, Project HQ está construido sobre Python, Pylons y SQLAlchemy, y su base de datos es totalmente independiente. Gestiona distintas compañías, miembros y proyectos y cuenta con minestrones y listas de tareas. Es configurable visualmente usando CSS.
Gantt PV: Gratuito, es un programa simple, sin complicaciones, que se basa en diagramas de Gantt para planificaciones de proyectos y seguimiento de tareas. Está disponible para Windows, Mac OS X y Linux.
Clocking IT: también tiene diagramas de Gantt interactivos, más otras utilidades como contador de tiempo, varias formas de comunicación, seguimiento e indexación de los cambios, con unos muy buenos informes de avance. Disponible en 14 idiomas, entre ellos el español.
TeamWork: Una excelente interfaz para una herramienta online que permite hacer un seguimiento de distintos proyectos y equipos de trabajo, con una versión optimizada para acceder desde móviles. Tienen licencias gratuitas para organizaciones sin ánimo de lucro y bloggers. Disponible para Mac OS X, Linux y Windows.
iceScrum: Tiene el mismo interfaz para todos los roles. Incluye registros de historias de usuario (backlogs), de asuntos, de problemas y pruebas, chat en línea, timeline e indicadores de producto.
Achievo: Disponible en 20 idiomas, además de la utilidad de gestión de proyecto, que divide según el tiempo de su ejecución, incluye calendarios, estadísticas, plantillas y notas. No hay tarifas de licencia o limitaciones para su uso.
dotProject.net: Otra herramienta basada en la web, dotProject lleva un tiempo y no hay ninguna empresa detrás de ella, está sostenida por los voluntarios y usuarios. Permite la gestión para múltiples clientes, con herramientas para gestión de tareas, agendas y comunicaciones.
GanttProject: Un programa de escritorio multiplataforma que corre sobre Windows, Mac OS X y Linux, totalmente gratuito. Incluye diagramas de Gantt, asignación de las personas que trabajarán en el proyecto, y permite exportar los diagramas como imágenes, mientras genera informes en PDF y HTML. Permite interoperar con Microsofot Project, importando y exportandolos a sus formatos.
TaskJuggler: Un gestor de proyectos realmente potente y superior a otros que usan herramientas para editar diagramas de Gantt. Cubre todos los aspectos de desarrollo de un proyecto, desde la primera idea hasta su fin. Ayuda a medir su campo de alcance, asignación de recursos, esquema de costos y ganancias, riesgo y gestión de las comunicaciones.

Cómo saber si tu ordenador es compatible con Linux

Si quieres dar el salto a Linux pero te preocupa la compatibilidad de tu equipo, en Bitelia te damos una mano para que investigues que tanto de tu hardware funcionará sin problemas cuando instales una distro.


Hardware certificado por Ubuntu

Canonical se ha esforzado bastante por probar y revisar muchos equipos diferentes para comprobar que Ubuntu funciona perfectamente en ellos. Varios OEMs (fabricantes) de hecho trabajan junto a la empresa para hacer sus equipos compatibles, y tener certificación de Ubuntu, algunos incluso venden ordenadores con esta distribución pre-instalada.
Las probabilidades son de que si tienes un equipo Lenovo, Dell, o HP, tu hardware sea bastante Ubuntufriendly. Desde este enlace puedes verificar todos los ordenadores de mesa y portátiles que tienen certificación y validación de Ubuntu. Vas a encontrar muchas máquinas de las marcas que ya mencioné, unas cuantas Asus, y una Acer. Tienes un cajón de búsqueda y también una sección de servidores. Además hay un catálogo de componentes que contiene dispositivos de 259 fabricantes, para revisar con más detalle, muy útil si tu PC es un clon.
Si tu equipo se encuentra en este lote de compatibles con Ubuntu, aumentan las posibilidades de que las distribuciones derivadas (Linux Mint, elementary OS), te funcionen bien.

Lista de compatibilidad de hardware de Arch Linux

Una de las comunidades más legendarias de Linux, es la de Arch. Siempre se ha caracterizado por tener una de las mejores wikis en existencia, por lo detallado de sus artículos, y lo amplio del soporte. Es de esperarse que cuenten con una sección sobre compatibilidad del hardware. Al contrario de la certificación de Ubuntu que la ofrece la empresa detrás de esa distro, la lista de compatibilidad de Arch Linux es ofrecida por la comunidad, se basa en la experiencia de los usuarios con Arch Linux en sus equipos que se ha documentado detalladamente en la wiki.
Puedes revisar desktops y laptops organizados por marcas, así como componentes de hardwareindividuales organizados por tipo. Un recurso muy valioso.

Comprar un equipo con Linux preinstalado

Actualmente hay muchas marcas que ofrecen ordenadores con Linux preinstalado, lo que obviamente te asegura que vas a tener una máquina perfectamente compatible y que las posibilidades son de que cualquier distro que instales probablemente correrá muy bien. Incluso hay marcas como System76 que fabrican ordenadores que usan Ubuntu exclusivamente como su sistema operativo.
Nuestros compañeros en Gizmología hicieron una lista hace poco, de 10 computadores con Linux preinstalado que vale la pena mirar.
Los problemas principalmente se encuentran con los drivers de vídeo, incluso ahora que gracias a Steam, los señores de ATI y Nvidia están mejorando su soporte para Linux, tener una GPU de cualquiera de estas dos marcas puede llegar a ser un dolor de cabeza terrible en algunos casos. Una GPU Intel tiene casi 100% de éxito garantizado con cualquier distro, pero eso no quiere decir que no puedas optar por gráficos de mejor calidad, a veces vas a tener que probar y probar.

¿Qué son los repositorios en Linux?

Los repositorios forman parte de todas las distribuciones Linux y cumplen un rol muy importante ¿pero que son?




 Saber que son y como funcionan nos ayudara a mantener mas eficientemente nuestra instalación.
Los repositorios en Linux son grandes bancos de datos o servidores que alojan las aplicaciones que tu sistema necesita, entre ellos paquetes nuevos y actualizaciones que se instalan mediante un manejador de paquetes. Como ves, no solo contienen los paquetes no instalados previamente sino que gracias a sus actualizaciones mantienen tu sistema al día. Ahora, hay dos tipos de repositorios, los oficiales y no oficiales.
Tipos de repositorios
Los repositorios oficiales contienen las aplicaciones que tu distribución soporta y que, dependiendo de sus políticas, muchas veces cuentan con un protocolo de revisión muy riguroso para asegurarse de que todos los paquetes que contienen se encuentran en estado óptimo y no representan riesgos de seguridad o estabilidad para el sistema. Por ejemplo, en Arch Linux, algunos de los repositorios oficiales son Core, Extra y Community. Cada uno de ellos contiene paquetes de diferente índole como systemd, xorg, chromium y gnome por mencionar algunos.

Los repositorios no oficiales contienen paquetes de aplicaciones no soportadas directamente por la distribución, por lo tanto carecen de los protocolos de revisión que mencionamos anteriormente y, aunque contienen aplicaciones muy útiles para tu sistema, deben ser manejados con cuidado. Estos repositorios son mantenidos por comunidades organizadas de usuarios y al ser no oficiales no están incluidos por defecto en las listas de repositorios, pero pueden agregarse muy fácilmente. Por ejemplo, para el caso de Ubuntu, los repositorios no oficiales son los PPA (de Personal Package Archive) y en ellos podrás encontrar paquetes como VLC, Turpial y Gimp.
Las distros derivadas usan los mismos repositorios de sus distribuciones padres. Por ejemplo, Linux Mint utiliza los mismos repositorios que Ubuntu, su distribución padre, al contrario de Linux Mint Debian Edition que usa los de Debian.
Para sacar la mejor ventaja de los repositorios en Linux, oficiales y no oficiales, debes elegir muy bien cuales agregas. Es importante que conozcas las fuentes de tus aplicaciones y las versiones de los paquetes que estas instalando pues de esta manera te aseguras de no comprometer tu sistema. Conocer cómo funciona el manejador de paquetes también es muy importante, pues éste es tu intermediario con los repositorios. Para mas información, no dudes en visitar la documentación oficial de tu distribución.

Si eres un principiante en Linux deberías tomar estos consejos

¿Eres un novato en Linux?, ¿vas a instalar tu primera distro?, ¿la terminal te da miedo?, si la respuesta es afirmativa, tal vez quieras leer algunos de los consejos que tenemos para ti. Lidiar con el cambio no es fácil, es mejor cuando sabemos que otros han estado en la misma posición que nosotros y que tienen algo bueno que contar.




Si algo caracteriza a la comunidad de usuarios de Linux, es la perdida de la memoria. Para quienes tenemos mucho tiempo instalando distros con casi la misma frecuencia con la que cambiamos de ropa interior, la mayoría de las preguntas que hace un usuario novato pueden parecer completamente tontas, y muchos tienen la nada bonita costumbre de señalarlo. Parece que nadie recuerda sus primeros días, días que en una enorme cantidad fueron pasados junto a Ubuntu, una distribución más que emblemática que algunos disfrutan destruyendo con sus comentarios para ponerse la camiseta del hipsterde Linux, que defiende a capa y espada su distro actual y reniega de todas las demás, como si eso tuviese un mínimo de sentido.
Afortunadamente, la comunidad es grande, y no todos los usuarios se comportan de esa despreciable manera. La parte más importante de adquirir conocimiento es la necesidad de compartirlo. Compartirlo con el que no sabe y el que pide ayuda, no solo ir por ahí pavoneándose para que todos sepan que sabes, pero nadie sepa nada gracias a ti.
Para esos usuarios primerizos, que están pensando instalar su primer Linux, que lo hicieron hace poco o que aún no entienden del todo en que se metieron, he aquí una pequeña guía de consejos a considerar.

Juega
Asumiendo que ya te tomaste el tiempo de investigar cual era la mejor distribución para ti, y ahora estás dentro de un sistema operativo que parece ser completamente diferente a lo que estabas acostumbrado, la mejor actitud que puedes tomar es la más relajada y empezar a presionar botones como niño con juguete nuevo. Para aprender, hay que hacer. Haz clic por todos lados, pregúntate para que sirve cada cosa, ejecuta todas las aplicaciones, usa el sistema y descubre lo que te gusta y lo que no.
El objetivo del juego es lograr ejecutar una tarea de la manera más eficiente posible, como estabas acostumbrado a hacerlo en tu anterior sistema, para lograrlo tal vez necesites pasar un par de pruebas, y a medida que vayas realizando más cosas, vas subiendo de nivel.

Pregunta
Una de las mejores profesoras que tuve en la universidad, siempre solía decir: "es mejor hacer preguntas tontas, que ser un tonto por no preguntar". No importa cuan tonta parezca la pregunta, hazla. A un amigo, a un conocido que sepa, o la todopoderosa Internet. A veces hacer preguntas en las comunidades puede resultar una experiencia amarga, puede que alguien realmente te llame tonto por preguntar, pero obviamente el tonto es esa persona.
Puede que alguien no te responda y en su lugar te acuse de haber elegido la distribución equivocada y que si instalas su religión en tu disco duro, no tendrías ningún problema. Pero, también es posible, muy posible que alguien te ayude, que consigas la respuesta a tu pregunta, y que aprendas algo nuevo en el proceso, lo cual es una experiencia realmente satisfactoria.

Lee

Aquel que pretende que un sistema realice todo el trabajo por el, merece un futuro apocalíptico en el que los humanos seamos reemplazados por iPods gigantes. Para aprender hay que leer. No importa si estas usando Linux, Mac, Windows o un ábaco; si quieres aprovechar lo mejor posible los recursos que te ofrece tu sistema operativo, tienes que leer. El conocimiento está afuera esperando por ti.
No es necesario que leas 5 wikis o 10 PDFs de 100 páginas inmediatamente luego de la instalación, solo investiga un poco sobre ese programa que necesitas, como se instala, que alternativas tienes, cual ha sido la experiencia de otros. Poco a poco le vas a tomar el gusto. Si ocurre un problema, intenta resolverlo, si los tontos pudieron, tu también, solo tienes que leer. Puedes empezar por nuestra guía básica para migrar a Linux.

La terminal es tu amiga

A los novatos no les gusta la terminal, y a muchos veteranos tampoco. Algunos pasan años usando Linux, y ni así se aprenden dos o tres comandos básicos. La terminal puede ayudarte a resolver muchos problemas, es mucho más eficiente para instalar y desinstalar paquetes, si la usas con frecuencia puedes llegar a entenderlo y tomarle cariño.
Sea como sea, no tienes que aprender comandos, en muchos sitios explican como instalar cosas o resolver problemas y todo lo que tienes que hacer es un bonito copy-paste en tu terminal. En distros como Ubuntu te puedes pasar la vida sin usar la terminal nunca, si no quieres. Pero mi recomendación es que no sientas aversión por ella, pues puede ayudarte más de lo que te imaginas. Tener una referencia a la manos para ciertos comandos y revisarla puede ser útil, si no quieres o te cuesta aprender este tipo de cosas. Nadie te va a regañar por copiarte.

Ten paciencia

Si algo nos han enseñado las leyes de Murphy, es que todo lo que está bien puede ir mal, y lo que está mal puede ir peor. Si algo es casi completamente seguro, es que te vas a encontrar con problemas en el camino. Puede que tonterías fáciles de solucionar, y puede que problemas complejos que te den ganas de tirar la toalla, así que la paciencia es indispensable. Si preguntar y leer no te ayudan, no te culpo si decides abandonar Linux, pero es probable que regreses.

Linux para novatos: 10 comandos básicos para usar en la terminal

La terminal es muy sencilla y a la vez sumamente poderosa, te permite interactuar con el sistema operativo sin necesidad de una interfaz gráfica ¿no es acaso maravillosa?



Si bien las distribuciones Linux hacen cada vez más completas y funcionales sus GUI (del inglés graphical user interface), la terminal siempre ha estado y estará allí para ayudarte y no lo contrario, como quizá hayas pensado. De hecho, en algunas distribuciones es el primer contacto entre el usuario y el sistema.
¿Cuando instalaste Linux por primera vez imaginaste que podrías administrar todo tu sistema desde una simple línea de comandos?. Si comienzas a usar la terminal con regularidad, no solo le perderás el miedo, sino que notaras que es una potente herramienta que permite mantener y en algunos casos hasta salvar tu instalación de esos indeseables problemas que ocurren justo después de una gran actualización del sistema, por solo nombrar un ejemplo.
Anteriormente les habíamos hablado de algunos comandos básicos, a continuación te presentamos 10 más para que sigas aprendiendo sobre las bondades de la terminal en Linux.

Cat

Cat (de concatenar), es una maravillosa utilidad que nos permite visualizar el contenido de un archivo de texto sin la necesidad de un editor. Para utilizarlo solo debemos mencionarlo junto al archivo que deseamos visualizar:
$ cat prueba.txt

Ls
Ls (de listar), permite listar el contenido de un directorio o fichero. La sintaxis es:
$ ls /home/directorio
El comando ls tiene varias opciones que permiten organizar la salida, lo que resulta particularmente útil cuando es muy grande. Por ejemplo, puedes usar -a para mostrar los archivos ocultos y -l para mostrar los usuarios, permisos y la fecha de los archivos. Así como para todos los comandos Linux, estas opciones pueden combinarse, terminando en algo como:
$ ls -la /home/directorio

Cd

Cd (de change directory o cambiar directorio), es como su nombre lo indica el comando que necesitarás para acceder a una ruta distinta de la que te encuentras. Por ejemplo, si estas en el directorio /home y deseas acceder a /home/ejercicios, seria:
$ cd /home/ejercicios
Si estás en /home/ejercicios y deseas subir un nivel (es decir ir al directorio /home), ejecutas:
$ cd ..

Touch

Touch crea un archivo vacío, si el archivo existe actualiza la hora de modificación. Para crear el archivo prueba1.txt en /home, seria:
$ touch /home/prueba1.txt

Mkdir

Mkdir (de make directory o crear directorio), crea un directorio nuevo tomando en cuenta la ubicación actual. Por ejemplo, si estas en /home y deseas crear el directorio ejercicios, sería:
$ mkdir /home/ejercicios
Mkdir tiene una opción bastante útil que permite crear un árbol de directorios completo que no existe. Para eso usamos la opción -p:
$ mkdir -p /home/ejercicios/prueba/uno/dos/tres

Cp
Cp (de copy o copiar), copia un archivo o directorio origen a un archivo o directorio destino. Por ejemplo, para copiar el archivo prueba.txt ubicado en /home a un directorio de respaldo, podemos usar:
$ cp /home/prueba.txt /home/respaldo/prueba.txt
En la sintaxis siempre se especifica primero el origen y luego el destino. Si indicamos un nombre de destino diferente, cp copiará el archivo o directorio con el nuevo nombre.
El comando también cuenta con la opción -r que copia no sólo el directorio especificado sino todos sus directorios internos de forma recursiva. Suponiendo que deseamos hacer una copia del directorio /home/ejercicios que a su vez tiene las carpetas ejercicio1 y ejercicio2 en su interior, en lugar de ejecutar un comando para cada carpeta, ejecutamos:
$ cp -r /home/ejercicios /home/respaldos/

Mv
Mv (de move o mover), mueve un archivo a una ruta específica, y a diferencia de cp, lo elimina del origen finalizada la operación. Por ejemplo:
$ mv /home/prueba.txt /home/respaldos/prueba2.txt
Al igual que cp, en la sintaxis se especifica primero el origen y luego el destino. Si indicamos un nombre de destino diferente, mv moverá el archivo o directorio con el nuevo nombre.
Rm
Rm (de remove o remover), es el comando necesario para borrar un archivo o directorio. Para borrar el archivo prueba.txt ubicado en /home, ejecutamos:
$ rm /home/prueba.txt
Este comando también presenta varias opciones. La opción -r borra todos los archivos y directorios de forma recursiva. Por otra parte, -f borra todo sin pedir confirmación. Estas opciones pueden combinarse causando un borrado recursivo y sin confirmación del directorio que se especifique. Para realizar esto en el directorio respaldos ubicado en el /home, usamos:
$ rm -fr /home/respaldos
Este comando es muy peligroso, por lo tanto es importante que nos documentemos bien acerca de los efectos de estas opciones en nuestro sistema para así evitar consecuencias nefastas.
Pwd
Pwd (de print working directory o imprimir directorio de trabajo), es un conveniente comando que imprime nuestra ruta o ubicación al momento de ejecutarlo, así evitamos perdernos si estamos trabajando con múltiples directorios y carpetas. Su sintaxis seria:
$ pwd

Clear
Clear (de limpiar), es un sencillo comando que limpiara nuestra terminal por completo dejándola como recién abierta. Para ello ejecutamos:
$ clear

Como bonus les recomiendo utilizar man que muestra una documentación completa de todos los comandos. Para clear, por ejemplo:
$ man clear
Y tú ¿que otros comandos básicos conoces?