12.24.2007

Recuperació de password Localment

Fa temps ja que li vaig posar una ubuntu al meu germà, pero com era de preveure no l'ha fet servir gaire, es més dificil instalar jocs(o els amics ho veuen més dificil).

Doncs l'altre dia volia accedir per mirar unes cosetes, i resulta que els dos sóm tant primos que no recordavem el password, en el meu cas no recordava ni l'usuari, aixi que al cap de cinc minuts vem fer el seguent:

1) reinciar i esperar el grub
2) a sota apareixen unes lletres per fer coses, la 'e' si no m'equivoco es per editar, doncs en la linea del ubuntu apreto 'e'.
3) surten les 3 o 4 linies d'inici corresponent a aquella entrada d'ubuntu, la primera i més llarga és la que defineix el punt d'arrencada i l'estat. Torno a apretar 'e' per editar-la.
4) En el punto on posa 'ro' ho canvio per 'rw' , ja que voldré borrar/editar les passwords i aixo requereix edició, i al final de la linia afegeixo 'init=/bin/bash' per a que em doni shell.
5) guardar i apretar 'b' de boot o algo aixi (escric de memoria)
6) ja tenim shell i som root => passwd i canviem el pass de root. su usuer i podrem canviar les dels usuaris.
7) reboot i nar-hi nant que ja sabem les passwords.


----------------
Destrozando mis orejas a base de : Marco V - Combi Nations (CD1)

12.14.2007

Creació de paquets rpm en 40 minuts.

==== Creation =====

Us faré un resum molt a piñon al tema, pero si el resum quedes curt o no acabés de funcionar per a les vostres necessitats en aquesta pagina trobareu l'explicació guai de cada part necessaria per a crear rpm's.

=== rpm's in 40 minutes ===

== introducción ==

Lo que explicaré es lo siguiente :

* Software necesario

* Generar una clave GnuPG para firmar digitalmente los paquetes creados. ( aunque no es indispensable)

* Configuración y creación de un chroot para rpmbuild. !!para no liarla con el resto del sistema!! ;)

* Creación de ficheros *.spec.

* Uso de rpmbuild.

== Software necesario ==

-Lo basico, probablemente ya este en el sistema


yum -y install gcc* automake* autoconf* rpm-build rpm-devel gnupg


* **Grafico y toda la pesca (meted los dos, asi se generaliza el software)**
*Gnome

yum -y install gcc* automake* autoconf* rpm-build rpm-devel gnupg

*KDE

yum -y install glib2-devel atk-devel pango-devel gtk2-devel libbonoboui-devel libgnomeui-devel gnome-vfs2-devel libwnck-devel gnome-panel-devel gnome-desktop-devel nautilus-devel gstreamer-devel gstreamer-plugins-devel

* **Para firmar y eso**

yum -y install seahorse gpgme




== Generar una clave GnuPG para firmar digitalmente los paquetes creados ==

Con del seahorse, crear una clave, supongo que no hace falta que me extienda más.

Nota: Ni se te ocurra ponerle fecha de caducidad, seria una tonteria. Aunque, no se, a lo mejor para algo podria ser útil.

== Configuración y creación de un chroot para rpmbuild ==

**Para que? **

Para no joderlo todo más que nada, se pueden hacer muchas guarradas con los rpm's, y seguro que no triunfas a la primera, esto va a ser tu armadura.

** Dato importante **

Esto se crea con un luser normal, no me jodas que querias hacerlo con root??? para que?, para conseguir una armadura de carton?? , hazme caso, y hazlo con un usuario standard, el que uses normalmente si quieres.

** Al lio**

*Paths

crea ~/.rpmmacros


(el mio es este)

%debug_package %{nil}
%_unpackaged_files_terminate_build 1
%_signature gpg
%_gpg_path %(echo "$HOME")/.gnupg
%_gpg_name Joan Marc Riera Duocastella ( Barcelona Media)
%_gpgbin /usr/bin/gpg
%_topdir /home/glicom/redhat
%_builddir %{_topdir}/BUILD
%_tmppath %{_topdir}/TMP
%packager Joan Marc Riera Duocastella
%distribution ElCorrector
%vendor Glicom
%desktop_vendor Glicom


Explicacion linea a linea

%{nil} es para que no haga paqueteria de depuracion, demasiado friki, tampoco me lo miraria
%_unpack.... se para la creacion si falta algo? 0=> no , 1=> si , (para que quieres un rpm si le falta algo?)
%_signatura el tipo
%_gpg path de donde la pillo
%_gpg name Nombre a mostrar
%_gpg bin ejecutable del gpg
%_topdir donde empieza mi chroot
%_builddir donde hago las guarrerias a la hora de crear (dentro de chroot claro)
%_tmppath lo que se puede borrar , y cambiara en cada intento (que no van a ser pocos) //esto se tiene que limpiar desde el .spec, porque sino se hace muy gordo el directorio, y es inutil.
%_packager el empaquetador que bien lo empaquete buen empaquetador sera
%_distribution distribuidor
%_vendor el que paga
%_desktop el que oficialmente paga


*Creacion del arbol de directorios

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SRPMS,SPECS,TMP}
mkdir -p ~/rpmbuild/RPMS/{athlon,i386,i586,i686,noarch}


== Creación de ficheros *.spec ==

* Opció A (rush mode, no aconsellable la primera vegada)
Instalar software deprecated , ja no el manté ningú. :p

yum -y install autospec

Si no esta al repositori => http://rpm.pbone.net/index.php3/stat/4/idpl/2194348/com/autospec-0.8-2.fc2.mok.noarch.rpm.html, autospec

Instalar el software que volem empaquetar, (normalment nostre, o d'algú altre amb patch)

$ tar xzf indent.2.2.6.tar.gz
$ cd indent-2.2.6
$ ./configure
$ make
$ make install

(a lo mejor iria bien algun ejemplo de ./config y makefile??)

En este caso me creo el .spec de Ripple. Esta en fase muy pre-alpha, por eso tantos numeros. (la parte del medio es estandarizada, que tipo de software estas empaquetando??)

tar -tzf SOURCES/Ripple-0.0.1_1.tar.gz | autospec -bd -g "System Environment/Base" -n Ripple-0.0.1 -l ''>SPECS/Ripple-0.0.1.spec


Vale, ya tenemos un .spec echo, pero si vamos a crear el .rpm nos dará problemas, vamos a echarle el vistazo por por dentro.

**No me deja ponerlo en negrita, pero pondre los comentarios a la derecha entre dos ASteriscos. **


[glicom@ocata4888 redhat]$ cat SPECS/Ripple-0.0.1.spec
# Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility
Summary: Ripple
# The Summary: line should be expanded to about here -----^
Name: Ripple
Version: 0.0.1
Release: 1
Group: System Environment/Base
#License: unknown ** Primer error, esto tiene que ser GPL, sino allá tu consciencia. XD Es coña, pero ponle algo.**
Source: Ripple-%{version}-bin.tar.gz
#NoSource: 0
BuildRoot: %{_tmppath}/%{name}-root
# Following are optional fields
#URL: http://www.example.net/Ripple/
#Distribution: Red Hat Contrib-Net
#Patch: Ripple-%{version}.patch
#Prefix: /Ripple-0.0.1
#BuildArch: noarch ** Normalmente puedes dejarlo asi, pero aconsejo compilar para arquitecturas concretas, siempre queda todo más limpio**
#Requires: ** Si necesitas perl, apache, o lo que sea , ponlo aqui, luego pongo otro ejemplo donde hay requisitos.**
#Obsoletes:
#BuildRequires:

%description
Ripple version 0.0.1

%prep ** Preparación del entorno para crear el rpm**
%setup -c 'Ripple-%{version}' ** Limpiado de la carpeta donde lo vamos a construir**
#%patch ** No hay pach => no hay apartado , sino seria mover tal file, o lo que sea donde sea. Normalmente dentro de Ripple-%{version}**

%install
%__cp -a . "${RPM_BUILD_ROOT-/}" ** Donde se instalará, es probable, que os salga un directorio nuevo en el root. xD Pero eso es practicar. **

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"

%files ** Esto es muy pesado, vale este proyecto es peque, pero esto crece, el autospec lo hace guai, pero a veces es posible que te interese meter un .tar dentro de tu .tar.gz del source, y aqui solo poner el tar. xD Y santas pascuas, eso si, descomprimir y todo eso lo vas a tener que hacer en el %prep y a manija.
%defattr(-,root,root)
%dir /Ripple-0.0.1/
/Ripple-0.0.1/rssearch.tar.gz
/Ripple-0.0.1/rsindex.tar.gz
/Ripple-0.0.1/pcode.tar.gz
/Ripple-0.0.1/nodo.tar.gz

%changelog
* Tue Dec 04 2007 glicom
- Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility


* Opció B
**Pico pala**

Aquest serà el segon exemple: ( encara esta sense comentar)



[glicom@ocata4888 redhat]$ cat SPECS/elcorrector.spec
Name: ElCorrector # name
Version: 0.9.7 #main versión
Release: 7 # release, can change kind of easy, each time you compile for example, through a script is 'piece of cake'
URL: http://glicom.upf.es #as reference
Summary: El Corrector # you can extend yourself a bit more if you want
License: GPL # always open source, for God seek.
Group: Applications/Text #check yourself where on your menu bar (KDE) do you want your app to appear
Source: ElCorrector-%{version}.tar.gz #foo.tar.gz , your files.
Vendor: Computational Linguistics Group / Glicom #$$ the money owner. ;)
Packager: Joan Marc Riera Duocastella #put your mail here, if you do a good job may be a big company comes for you.
Buildroot: %{_tmppath}/%{name} #where is going to be your mad.
BuildArch: i386 #noarch is accepted, and also if you check your directory tree you'll see the other opcions, easy.
BuildRequires:, #i really don't know what is this
BuildPreReq:, # neither this option. :'(
Requires: mono-core >= 1.1.13.4-2 #this means that if in the client computer there is an older version of mono, or it does not have it, will install it (asking the user) , as you know de S/n question in the apt-get -i
Requires: perl-Wx >= 0.69-1 #the same with perl-Wx
Requires: wxGTK >= 2.6.3
Requires: wxGTK-devel >= 2.6.3
PreReq:,

%description
El Corrector.

Un corrector tipogrà fic, ortogrà fic i gramatical per al català .

%prep
%__rm -rf %{_builddir}/*
%__rm -rf %{_tmppath}/*
%setup -q
mv %{_builddir}/%{name}-%{version} %{_builddir}/%{name}
cp -r %{_builddir}/%{name} %{_tmppath}
tar -cf %{_tmppath}/%{name}.tar %{_tmppath}/%{name}
rm -rf %{_tmppath}/%{name}/*
cp %{_tmppath}/%{name}.tar %{_tmppath}/%{name}
mkdir %{_builddir}/%{name}-%{version}
%install

#echo "Instal·lant ElCorrector-%{version}_%{release}"

%clean
#%__rm -fr %{buildroot}
%preun
%post

# Descomprimim l'arxiu tar dins de /usr/share, i obtindrem /usr/share/ElCorrector
tar -xf /ElCorrector.tar -C /usr/share

# Aixo s'hauria de retocar, ha de ser cosa de %files

mv /usr/share/home/glicom/redhat/TMP/ElCorrector/ /usr/share/
rm -r /usr/share/home

#Desktop # #this is the way to put shortcuts on your desktop, pick anyone you have in your own and open it with vim, it's the best way to learn.
desktop-file-install /usr/share/ElCorrector/elcorrector.desktop --vendor Glicom
desktop-file-install /usr/share/ElCorrector/elcorrectoratura.desktop --vendor Glicom
desktop-file-install /usr/share/ElCorrector/elcorrectorinicia.desktop --vendor Glicom
# update-desktop-database #crec que no es necesari


rm -f /ElCorrector.tar

#Path editor propi
ln -s /usr/share/ElCorrector/ElCorrector.sh /usr/local/bin/ElCorrector

# iniciació
ln -s /usr/share/ElCorrector/serverCorrector /etc/rc5.d/S60elcorrector
chown root.users /etc/rc5.d/S60elcorrector
/etc/rc5.d/S60elcorrector start #inicia el corrector

#
export directory=/home/
export directori=""
for file in $( find $directory -maxdepth 1 -type d -name '*' | sort )
do
directori=$file"/Desktop"
if [ -e $directori ]; then
cp /usr/share/ElCorrector/elcorrector.desktop $directori
chown root.users $directori/elcorrector.desktop
chmod 777 $directori/elcorrector.desktop
fi
done

#Permisos
chown -R root.users /usr/share/ElCorrector/*
chmod -R 755 /usr/share/ElCorrector/*
chmod -R 777 /usr/share/ElCorrector/Data/ #Si no donen problemes les llibreries *.dll

#Profile
#echo "" >> /etc/profile
#echo "export PERL5LIB=/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi" >> /etc/profile
#echo "export EL_CORRECTOR=\"/usr/share/ElCorrector\"" >> /etc/profile


#Add 'serverCorrector' to sudoers # # #this is done becouse my program needs root rights to start de server, not a very polite job, I know.
if test ! "`grep '#serverCorrector' /etc/sudoers`"; then
echo "#serverCorrector" >> /etc/sudoers
echo "ALL ALL=NOPASSWD:/usr/share/ElCorrector/serverCorrector" >>/etc/sudoers
fi


#Per dir aixó s'haurien de controlar posibles errors d'alguna manera. (sudoers, profile, chmod, chown, desktop...)
echo ""
echo "S'ha instal·lat El Corrector amb èxit"
echo ""



%postun
# matar tots els procesos actius d ElCorrector
sudo /usr/share/ElCorrector/serverCorrector stop


# Borrar archius propis
if [ $1 -eq 0 ]; then
rm -r -f /usr/share/ElCorrector
rm /etc/rc.d/rc5.d/S60elcorrector
#rm /usr/local/bin/ElCorrector.sh
rm /usr/local/bin/ElCorrector
update-desktop-database

#Eliminem les entrades que vam posar a l'arxiu /etc/profile
# grep -v "export PERL5LIB\|export EL_CORRECTOR" /etc/profile > /etc/profile2
# cp /etc/profile /etc/profile_elcorrector #copia de seguretat del profile original
# cp /etc/profile2 /etc/profile #copeim el nou profile
# rm /etc/profile2 # eliminem el que hem creat temporalment



#Desktop

# Aixo per borrar 3 links es una passada !!! 0_o!
export directory=/home/
export directori=""
for file in $( find $directory -maxdepth 1 -type d -name '*' | sort )
do
directori=$file"/Desktop/elcorrector.desktop"
if [ -e $directori ]; then
rm $directori
fi
done
#Borrar icones del menu
rm /usr/share/applications/Glicom-elcorrector*

#Clean sudoers
#chmod 777 /etc/sudoers
grep -v 'serverCorrector' /etc/sudoers > /etc/sudoers.temp
cat /etc/sudoers.temp > /etc/sudoers
rm -f /etc/sudoers.temp
#chmod 440 /etc/sudoers

#Falten els chekings
echo ""
echo "El Corrector s'ha desinstal·lat correctament del vostre ordinador!"
echo ""

fi

%files # # # Can be more polite, but in this way is ok
/ElCorrector.tar



%changelog
* Wed Jun 27 2007 Joan Marc Riera
- Afegeixo el gestor serverCorrector {start|stop|status|help}
- Gestió de les icones del menu
- Reinici no necesari





== Uso de rpmbuild ==

Construir solo un paquete RPM, sin generar *.src.rpm, a partir de un fichero *.spec: (basicamente este, el resto son para crear .src.rpm y otras chorradas)

rpmbuild -bb elnombrequelehayaspuesto_aliasFOO.spec







En cas de que un paquet no sigui orginal de la distribució s'hi ha d'afegir, es pot mirar a quin packet pertany en aquesta pàgina.

----------------
Destrozando mis orejas a base de : Marco V - Combi Nations (CD1)

11.26.2007

Linux software, migrar de Windows a Linux més fàcil del que sembla.

Aquest disabte, com aquell que no vol la cosa es van barrejar birra i informàtica, evidentment en vaig ser el principal perjudicat.
L'afirmació que semblava definitiva des del punt de vista dels meus interlocutors era la següent:

"Linux no té software que jo necesiti, lo que jo necessito, en la majoria de casos, només ho té windows."

Encara que m'agradaria els meus amics no treballen per la NASA, aixi que el seu software si que hi és en Linux. Pero.... si treballesin per la NASA segurament no usarien windows.

Un d'ells respaldava l'ús de windows en que necesitava l'Autocad, jo com que soc una mica cazurro i justament a aquests dos, no havia dit que era dos contra un, em tenen una mica picat amb el tema, tanquen amb banda qualsevol afirmació i no plantejen la possibilitat d'anar errats, és aixó el que em diverteix de discutir amb ells. :)
I és que em distrec, l'Autocad resulta que no només té una solució sino que en té varies, tocate los huevos. Això si, Autocad d'Autodesk no planteja,de moment, sortir per Linux, cosa que si ha fet Matlab, de totes maneres sempre queda l'opció de virtualitzar o montar l'aplicació amb wine.

Sempre pot ser útil un llistat d'equivalencies com la que es troba en aquesta wiki.


De totes maneres el meu motiu més bàsic per usar linux no deixa de ser per comoditat, potser tardo més en montar-ho pero despres funciona i punto. O no espera, que aquest finde he montat amb 4 ratos un opensuse i potser he tardat 4 hores en total.

Sistema operatiu complert.
Suite d'office.
Tarja grafica (1 click).
Eclipse
Mono develop
Servers (ftp,http,smb,...)
I un rato per trobar el qtparted, ja que tenia un disk petat de 180Gb que volia recuperar. I flipa, resulta que un particionador com el Partition Magic ja venia instalat.


Va, i men vaig a dinar que estaria escribint massa estona.
----------------
Destrozando mis orejas a base de : Marco V - Combi Nations (CD2)

10.23.2007

Pain and relax

This past days I've been doing some crazy things with my fellas. Today (Tuesday) I'm still in pain, my back and neck hurt as Hell, and my left foot feels like having something inside.

Those two parts of my body, essential as they are , kept me quite relax cause don't allow me to move as usual.

Next time I'll think twice before go on a kart, but I'm pretty sure I'll go again, it's just fun.

10.17.2007

Alimentando Rss

Dispuesto a ahorrar tiempo en cosas que hago cada dia me he decidido automatizar mi procastinación, asi pues me he buscado la forma fácil de mirarme las webs matutinas en un plis.

Asi pues tirando de la biblioteca de software libre más grande que conozco me he bajado un agregador de feeds gratis, y que se que no me hará guarradas en el PC, algo por lo que valoro el software libre.

Es este : RSS Bandit

Es algo muy practico, me explico: si tienes por costrumbre visitar recurrentemente una serie de paginas web, és bastante probable que lo hagas con el firefox, a toda pastilla pero cargandolas una a una, una por patilla, y si vas con el explorer ya no se como lo haces, pero desde luego yo ya me habria vuelto loco. Al tajo, que es un palo empezar a abrir paginas , y cada dia las mismas, cuando te rallas y quieres distraerte las mismas, y en la mayoria de los casos las abres y no hay nada nuevo. Pues he aqui la solución, arrastras la patilla del firefox al rss bandit este, a la categoria que quieras, y siguiente, siguiente, ... y el ya te dirà si hay algo nuevo, easy man.

Pues ale, a procastinar con clase.


----------------
Now playing: The Clash - Sex Mad Roar (UK 12")

10.05.2007

Como un niño

No se que dirían los psicologos de mis sensaciones, pero me he apuntado a hacer el pez.
Porqué me gusto, me sentí a gusto en un sitio que no controlo, desorientado y sin mucha percepción del tiempo. Básicamente sabia que estaba ahí y nada más, pero eso ya es algo.

Vamos que me gustó el tema, busqué la pasta y ahí estamos. Empiezo en 3 dias, debo leer unas 170 paginas (con dibujitos y fotos ) , pero solo tengo un dia y estaré destrozado.

Pero voy levantando cabeza.

----------------
Now playing: Peters & Lee - Welcome Home