Script per fer servir automàticament Kubuntu a un USB, des de windows (actualitzat)

Instruccions: Decarreguem l’arxiu amb les utilitats, el descomprimim en algun directori, i executem el script kubuntu810.bat. Escollim lletra d’unitat, escollim arquitectura, i llestos! No s’ha de fer res mes. El propi script s’encarrega de decarregar la ISO si no la tens.

Recorda que has d’escollir una unitat que sigui la primera partició primària del dispositiu, i que ha de tenir un sistema de fitxers FAT de mes de 750MB…

Em sembla que més fàcil impossible!

I per que publico això, així d’escuet? Doncs es que ahir em van renyar…
“Quin rollo d’entrada, el post de Kubuntu-USB! Per què no fots les comandes i punt? No veus que ningú no s’ho llegirà?”

Ok, ok, ok… no cal posar-se agressius 😀 Missatge rebut. I m’he posat mans a la obra.

He agafat les instruccions de PenDriveLinux que havien publicat per Ubuntu, USB Ubuntu 8.10 install from Windows, i ho he adaptat a Kubuntu. A més he afegit alguna coseta més, com que puguis escollir entre arquitectura de 32 o 64 bits, i que puguis fer servir un proxy per descarregar la ISO (apart d’afegir una “-f” a la comanda syslinux perquè sense ella em donava l’error “Not a removable drive”).

Actualització 5/11
A PenDriveLinux ja ho han fet, amb aquest article, o sigui que ja he perdut l’exclusiva 😛

Fent servir Kubuntu 8.10 des d’un dispositiu USB (flash drive, disc dur)

Acaba de sortir la nova fornada de Ubuntu i Kubuntu 8.10. Com cada nova versió, m’agrada fer una ullada a les novetats (sobretot perquè les actualitzacions acostumen a trencar-se de tant en tant). I aquesta vegada tenia més ganes encara de veure les novetats, perquè Kubuntu 8.10 (intrepid ibex) canvia la versió de l’escriptori KDE, i posa per defecte les KDE 4.1.

Sempre he pensat que gastar un CD per copiar la distribució i fer-la servir una sola vegada és un desperdici. Tots tenim un pendrive de 1GB que ens han regalat en alguna reunió, o que ens hem comprat (fins i tot el meu pare en té, que li’n vaig comprar un de 8GB per 10€ al MediaMarkt l’altre dia), i una unitat així, que és de ràpid accés i reutilitzable, sembla el millor lloc on fer les proves de la nostra distribució.

Instal·lar la Ubuntu en un pendrive és molt senzill, està documentat a molts llocs, com per exemple a PenDriveLinux, on tenen un article per instal·lar Ubuntu, amb uns scripts que ho fan tot. Per Kubuntu no he trobat enlloc que ho deixin tan senzill, però només s’han de fer unes petites modificacions.

D’entrada necessitem una unitat USB, ja sigui un disc dur, ja sigui un pendrive, un telefon mòbil… el que sigui.

Farem servir la primera partició física de la unitat. És a dir, que si només tenim particions lògiques, haurem de eliminar-les i crear-ne com a mínim una de física. Això és així perquè les particions lògiques se’ls assigna un valor a partir del 5 (els 4 primers estan reservats per les físiques), i necessitem que sigui la primera partició de totes, la que té el valor 1. Si només tenim una partició, aleshores cap problema, endavant!

També necessitem que aquesta partició tingui un sistema de fitxers FAT, ja sigui FAT16 o FAT32, i que sigui prou gran com perquè hi càpiga el CD de KUbuntu (750MB).

Un cop tenim el dispositiu amb la partició preparada, necessitem decarregar la ISO de KUbuntu 8.10. Quan l’haguem descarregat, haurem d’accedir al sistema de fitxers de la ISO. Això ho podrem fer des de windows amb el 7zip per exemple, i amb un simple mount des de linux:

mkdir /tmp/live-cd
mount -t iso9660 -o loop kubuntu-8.10-desktop-amd64.iso /tmp/live-cd

Ara hem de copiar a l’arrel de la unitat els directoris “casper dists install pics pool preseed .disk”, el contingut del directori “isolinux” i els arxius “md5sum.txt README.diskdefines install/mt86plus”. En la consola de linux, seria aquesta línia:

cp -r casper dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines install/mt86plus /tmp/live-cd

En l’entorn gràfic de linux i de windows, s’haurien d’arrossegar aquestes carpetes al directori corresponent. També haurem de canviar-li el nom a “isolinux.cfg” per “syslinux.cfg” i sobreescriure l’arxiu “text.cfg” amb aquestes dades:
text.cfg

default persist
label persist
menu label ^Run KUbuntu Persistently saving changes back to USB
kernel /casper/vmlinuz
append file=/preseed/kubuntu.seed boot=casper persistent initrd=/casper/initrd.gz quiet splash --
label live
menu label ^Try KUbuntu without saving any changes to USB
kernel /casper/vmlinuz
append file=/preseed/kubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
label live-install
menu label ^Install KUbuntu
kernel /casper/vmlinuz
append file=/preseed/kubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --
label check
menu label ^Check CD for defects
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --
label memtest
menu label Test ^memory
kernel /install/mt86plus
label hd
menu label ^Boot from first hard disk
localboot 0x80

Finalment s’ha de fer que es pugui engengar l’ordinador amb aquest disc (és a dir, fer-lo bootable). Per fer-ho necessitem la utilitat syslinux, que podem trobar a la web de kernel.org en les seves versions tant windows com linux (tot i que un apt-get install syslinux ja t’ho instal·la). Un cop el tinguem haurem d’executar:

syslinux -maf UNITAT

On haurem de substituir “UNITAT” per /dev/sX1 en cas de linux y “X:” en cas de linux (canvia la X per la teva lletra).

I ja ho tenim. Només hem d’assegurar-nos que l’ordinador farà servir el disc USB en engegar, i llestos!

Com que és tan senzill (potser més senzill de fer que d’explicar), potser faig un script per fer-ho des de linux i un altre des de windows… Però això un altre dia!

Mirant remotament el “registre d’events” (event log) de windows: winloglist

Si volem comprovar des de la nostra consola linux el registre d’un servidor windows (sense haver de connectar-nos-hi per terminal server, podent fer un grep dels resultats, etc, etc, etc), aqui tenim la eina!

Els paràmetres que passem al psloglist son:
-d 1 perquè només tregui els logs de l’últim dia (no volem que ens matxaqui a logs)
-f we perquè només apareguin warnings i errors (normalment son els únics que interessen)
$2 aquest es el segon parametre que li passem. Si volem veure nomes el registre “application”, o “system” (que son habitualment els que interessen) només ho has d’indicar


#!/bin/bash

[ $# -lt 1 ] && echo "Error, I need at least one argument" && echo "Use: $0 server [system|security|application]" && exit 1
PROGPATH=echo $0 | /bin/sed -e 's,[\/][^\/][^\/]*$,,'
$PROGPATH/winpsexec.sh $1 "pstools\psloglist -d 1 -f we $2"

Més utilitats per administrar windows remotament: winkill, winshell, wininfo

En la linia en la que estavem en posts anteriors , si hem plantat la llavor amb el psexec, ara fer utilitats es senzillissim. Tres exemples:

winshell.sh
Amb aquesta utilitat aconseguim un shell al servidor windows que volguem. No fa servir el psexec perque no li cal, el cmd esta al path.

#!/bin/bash

[ $# -ne 1 ] && echo "Error, I need one argument" && echo "Use: $0 server" && exit 1
PROGPATH=echo $0 | /bin/sed -e 's,[\/][^\/][^\/]*$,,'
. $PROGPATH/winvars.sh

winexe //$1 "cmd" $PSCREDENTIALS

wininfo.sh
Amb aquesta utilitat podem aconseguir informació sobre el servidor. Memòria RAM física, versio de SO, uptime, numero de processadors, freqüència dels mateixos, i el driver de la tarja de video. Aquest últim detall sembla de poca importància, serveix per saber si una màquina es virtual o física. Si el driver es quelcom com “VMware SVGA II”, aleshores es una màquina virtual. Si el driver es quelcom com “ATI Technologies Inc. 3D RAGE IIC PCI”, aleshores es una màquina física.

#!/bin/bash

[ $# -ne 1 ] && echo "Error, I need one and only one argument" && exit 1
PROGPATH=echo $0 | /bin/sed -e 's,[\/][^\/][^\/]*$,,'
$PROGPATH/winpsexec.sh $1 pstools\psinfo

winkill.sh
Com el seu nom indica, serveix per matar algun procés de windows (prèviament podem haver sabut el pid fent servir el winps.sh).

#!/bin/bash

[ $# -ne 2 ] && echo "Error, I need two arguments" && echo "Use: $0 server pid" && exit 1
PROGPATH=echo $0 | /bin/sed -e 's,[\/][^\/][^\/]*$,,'
$PROGPATH/winpsexec.sh $1 "pstools\pskill $2"

Canviant-li la cara al nagios: nagios nuvola style

Siguem sincers. Nagios té moltes moltes coses bones. Però també en té de dolentes: guarda l’històric en fitxers de text no indexats, executa un CGI compilat, el sistema d’arxius de configuració es força farragós per fer altes i baixes de màquines (sobretot baixes)… i sobretot: es lleig. Potser lleig no és la paraula… és auster, simple, poc atractiu.

A mi (i suposo que no sóc l’únic) m’importa ben poc, perquè és una eina i fa la seva feina. No estic per gaudir de mirar-la, sinò perquè m’avisi quan les coses van malament, i m’expliqui per què van malament. Però en aquest món, els que prenen les decisions i compren coses, acostumen donar-li importància a l’aparença, moltes vegades més enllà de les funcionalitats. Aleshores si vols convèncer algú perquè faci servir nagios tindries moltes més possibiltats si fos maco.

Aquí es on entra el nagios nuvola style, per donar-li un altre aspecte molt diferent al nagios i fer-lo més agradable (a la pàgina completa d’aquest article podreu veure dues captures de pantall per comparar). Està fet pels mateixos que van desenvolupar el nagiosql, i tot i que té una pàgina a nagiosexchange, l’arxiu descarregable d’allà esta corrupte (falla un css, el status.css, i es veu tot molt diferent). Jo el vaig treure d’aquesta web, i el podeu descarregar d’aquí també.

Instal·lar-ho es senzillíssim. Només cal copiar els arxius dintre del directori “html” de la teva instal·lació. En una debian, per exemple, es tan senzill com:

wget http://tomas.cat/blog/sites/default/files/nagios-nuvola-1.0.3.tar_.gz
mkdir nuvola
cd nuvola
tar zxvf ../nagios-nuvola-1.0.3.tar_.gz
cp -a html/* /usr/share/nagios3/htdocs/
cp -a html/stylesheets/* /etc/nagios3/stylesheets/.

I llestos, ja hem millorat l’aspecte del nostre nagios!

Així és com es veu el nagios “original”:

I aixi és com es veu amb la cara canviada: