domingo, 16 de septiembre de 2012

Script en bash que muestra la informacion de Ubuntu 12.04


Bueno,hago este script por dos razones,una ultimante ando programando cualquier cosa que se me ocurra en bash y este script en especial les puede ser de utilidad,en segunda lo hago porque se los voy a entregar en tres formas y tres dificultades

1.El codigo en si: Este codigo lo pueden modificar,cambiarle el nombre por si usan otra distribucion como debian,etc y ejecutarlo donde quieran,crear su propia hoja .sh y ejecutarla desde donde quieran y como quieran

2. Empaquetada en .tar.gz: es el script ya hecho pero con un amigo que le ayudara a instalarse en el lugar donde siempre lo podremos ejecutar,con solo un comando,deben desempaquetarlo correr el instalador.sh y correrlo desde terminal

3.En .deb: no hay problema en poner este script en .deb ya que solo es para Ubuntu,esta es la manera mas facil de instalar ya que solo le damos clic derecho abrir con el centro de software y instalar

Luego corremos el comando desde Terminal(De hecho en el centro de software,da las instrucciones)

Esas tres formas van a entrar en los cursos bash que en este caso se uniria

Unix >> Linea de comados >> bash >> Lenguaje de programacion >> Debian >> Crear paquetes .deb

basado en la arquitectura y claro todo esto corriendo en el Kernel de Linux

Todo esto para entender un poco mas como funciona UNIX >> Bash >> Script >> Debian >> Linux >> Se ejecuta

Bueno voviendo al script:


Este script es como el famoso Archey de ArhLinux o el screenfetch de todas las distros y tambien incluidos otros como BSD,OS X,etc

El script de Screenfetch luce asi sobre Ubuntu :




Y el mio luce asi:



Es mas rapido ya que corre sobre solo un sistema y Screenfetch se tarda un poco mas en detectar la distribucion

Bueno en características técnicas

Le puse de nombre myosbuntu

Esta basado sobre la imagen impresa de Ubuntu 12.04 con figlet y modificada con colores

La información que muestra es:

Sistema : El sistema en todos los casos va a ser GNU/Linux a menos que se corra bajo otro Unixe 
User : Usuario con hostname
Shell : ruta de la Shell que estamos usando
Arquitectura : i386/etc
Kernel : Linux, lo mas logico a menos que se corra bajo otro unixe
Version : del kernel
CPU: Nombre,GHz/etc 
Pkgs :  paquetes instalados 
P-A: Algo muy importante,puertos abiertos(necesitan instalar nmap)

Bueno les dejo las tres opciones para la instalación

Depende: nmap

sudo apt-get install nmap

1.Dificil

Copia el codigo en un script .sh, mandalo a /usr/bin,dale permisos de ejecusion +x

Código:


#!/bin/bash

# Nombre de la distribucion en color 1;35

echo -e "\e[1;35m _   _ _                 _             _ ____    ___  _  _\e[0m"
echo -e "\e[1;35m| | | | |__  _   _ _ __ | |_ _   _    / |___ \  / _ \| || |   \e[0m"
echo -e "\e[1;35m| | | | '_ \| | | | '_ \| __| | | |   | | __) || | | | || |_\e[0m"
echo -e "\e[1;35m| |_| | |_) | |_| | | | | |_| |_| |   | |/ __/ | |_| |__   _|\e[0m"
echo -e "\e[1;35m \___/|_.__/ \__,_|_| |_|\__|\__,_|   |_|_____(_)___/   |_|\e[0m"
echo ""

# Variables con los comandos del sistema

nombre=`uname -s`
arquitectura=`uname -i`
hostname=`hostname`
OS=`uname -o`
user=`whoami`
verk=`uname -r`
shell=`echo $SHELL`
cpu=$(awk -F':' '/model name/{ print $2 }' /proc/cpuinfo | head -n 1 | tr -s " " | sed 's/^ //');
paketes=$(dpkg --get-selections | wc -l);
puertosabiertos=`nmap localhost | grep open | wc -l`

# Cambiamos el color de salida de las variables

var1=`echo -e "\e[1;35m$nombre\e[0m"`
var2=`echo -e "\e[1;35m$arquitectura\e[0m"`
var3=`echo -e "\e[1;35m$OS\e[0m"`
var4=`echo -e "\e[1;35m$verk\e[0m"`
var5=`echo -e "\e[1;31m$hostname\e[0m"`
var6=`echo -e "\e[1;36m$user\e[0m"`
var7=`echo -e "\e[1;35m$shell\e[0m"`
var8=`echo -e "\e[1;35m$cpu\e[0m"`
var9=`echo -e "\e[1;35m$paketes\e[0m"`
var10=`echo -e "\e[1;35m$puertosabiertos\e[0m"`

# Llamamos las variables con el color ya cambiado

echo Sistema : $var3 User : $var6@$var5 Shell : $var7
echo Arquitectura : $var2 Kernel : $var1 Version : $var4
echo CPU: $var8 Pkgs : $var9 P-A: $var10


2.Medio

Descarga el tar.gz

Enlace

Abre terminal y teclea

cd ~/Descargas && mkdir myosbuntu && mv ./myosbuntu.tar.gz ~/Descargas/myosbuntu && tar -xzvf myosbuntu.tar.gz && chmod +x ./instalar.sh && sudo ./instalar.sh

Explico los camndos de arriba para que no piensen que los voy a hackear con eso XD y sirve que le damos un repaso a Unix

cd ~/Descargas : Cambiamos de directorio a Descargas(puede dar error si tu navegador no descarga en Descargas,asi que cambia esta ruta por donde se descargan tus cosas de internet)

mkdir myosbuntu : Creamos una carpeta llamada myosbuntu

mv ./myosbuntu.tar.gz ~/Descargas/myosbuntu : movemos el archivo que descargamos a la nueva carpeta,para trabajar mas limpio

tar -xzvf myosbuntu.tar.gz : Descomprimimos el .tar.gz,para que muestre los dos archivos que cree

chmod +x ./instalar.sh : Le da permisos de ejecucion al instalador

sudo ./instalar.sh : Ejecuta el instalador,con permisos de root claro,para poder copiar el script a /usr/bin

Los &&,serian en español como "tambien"

3.Facil

Descarga el .deb

.deb es un paquete Debian,para debian y toda su familia incluido el iOS jailbroken,cree un .deb por si se te hace dificil los pasos anteriores

Solo descarga

Enlace

Clic derecho abrir en centro de software

Instalar

O con terminal

cd /Descargas


sudo dpkg -i myosbuntu.deb

Y ejecuta en terminal

myosbuntu

para correr el script

Bueno eso es todo,en una entrada futura mostrare como crear .debs y instaladores .sh

Nota:El script del .deb y el .tar.gz no están compilados,asi que tambien los pueden modifcar,solo le cambian el nombre del programador :D

4 comentarios:

  1. Perdón si no va acá pero no encontré otro sitio, si no está bien y eliges colocarlo en otro lado esta bien.
    De algo si estoy seguro con este asunto de los kernel's... Tengo instalado en 2 máquinas Kubuntu 12.10 y Linux Mint 13 y en ambas al cambiar de la versión 3.5.7 a la 3.6.2 o 3.6.3 ya no me funciona el Pidgin o el Kopete, me dice que estoy conectado desde otro sitio cosa que no es cierta, y al abrir mi correo por el Opera aunque abre no carga nada, lo mismo pasa con el Chrome y el Mozilla, abren las páginas pero no cargan nada o lo hacen muy lento, al volver a dejar el 3.5.5. o el 3.5.7 o incluso el 3.5.0.17 con el que viene la 12.10 funciona perfecto y fluido y no me dice el Pidgin o el Kopete que estoy conectado desde otro sitio, volví a instalar alguno de la serie 3.6 y de nuevo los errores, hasta me deja sin teclado o sin bluetooh y me cambia la configuración del LibreOffice.
    ¿A alguno más le sucede?

    ResponderBorrar
    Respuestas
    1. Esta bien aquí tu comentario

      Pues yo en las distribuciones de sistema cambiante,por ejemplo ubuntu,fedora,mint que son casi cada seis meses no actualizo el kernel,esto es porque se tendría que actualizar todo,de hecho en Fedora les ocurre lo mismo que a ti a los usuarios y hasta usan trucos para no actualizar el kernel y si los programas,porque incluso se pone en kernel panic y ya no arranca mas.

      Si quieres estar al punto en actualizaciones de kernel y programas sin problemas(casi)

      Usa una distribución rolling release

      Como Archlinux

      Ya que no hay problemas así(el único que hay es que por estar tan actualizado puedes instalar algo aun inestable) pero ocurre muy poco

      Saludos y haber si alguien mas comenta

      Borrar
  2. Preferiria Conky a Screenfetch!

    Por cierto, algunos tutoriales futuros de Lua?!

    ResponderBorrar
    Respuestas
    1. No se,en alguna ocasión lo intente pero casi no tenia visitas(en otro sitio que borre),tal vez en el futuro,y debo estudiarlo(actualizarme) ya que salto de versión a la que conocía.

      Saludos :D

      Borrar

Los comentarios serán revisados antes de ser publicados.