Archive for the “Linux” Category


Probably this is my only post on Spanish in all my blog, counting the entries that were deleted, but anyway, I am taking the notes too fast during the curse and really, I will not traslate them cause I am too lazy. Here is.

Note, I will post all this in Spanish, probably later I do some PDF’s files, probably in English, depend of my free time.

Para empezar:
Textos interesantes:
“Catedral y el bazar”
“El derecho a leer”
“Pringao How-To”
“GNU General Public Licence)

Como ir a home (”tu hogar”) - vas a el hogar del usuario que estes usando

cd
cd ~
cd $HOME

Estructura de directorios…
cd .. - sube un directorio en el arbol de archivos
cd . - especifica el directorio donde estas ahorita

Algunas herramientas faciles, pero utiles, dentro de la consola :
CTRL + U Borra todo a la izquierda del cursor
CTRL + L Limpia la pantalla

alias - agregas un alias a un comando, por ejemplo, alias ls=’ls –color’
touch - crear archivo o modificar fecha de actualizacion
whatis descripcion de algun comando, ejemplo, man
apropos - nos busca el manual, nombres y restricciones
man - abre el manual de x aplicacion, como extra, puedes abrir x linea, ejemplo: man -s 5 passwd, asi entra a la quinta pagina

pato@A17:~/ark$ whatis man
man (1) - an interface to the on-line reference manuals
man (7) - macros to format man pages

date - Algo logico por el nombre

pato@A17:~/ark$ date
sáb may 12 13:44:15 CDT 2007

strings - cadenas de un archivo
more - puedes ver como si fuera un man un archivo de texto, cuando llegas al final se cierra
less - lo mismo que more, pero cuando llegas al final te muestra END y no se cierra
zmore - Lo mismo que more pero con archivos comprimidos en gz
zmore - Lo mismo que less pero con archivos comprimidos en gz
tail - vez las ultimas 10 lineas de un archivo, -f sirve para ver modificaciones sin actualizar manualmente
head - vez las primeras 10 lineas de un archivo
cat - te saca todo el contenido de un archivo de texto
!! - ejecuta el ultimo comando, puedes poner !!apt y pone lo ultimo que se hizo con apt…
rmdir - borra directorio (necesita estar vacio)
rm - borra (-r para borrar carpetas, sin importar su contenido)
wc - lineas, palabras, caracteres de un archivo
cp - copiar y pegar, seria algo como…

arkoldthos@arkpc:~$ mkdir ark
arkoldthos@arkpc:~$ cd ark
arkoldthos@arkpc:~/ark$ touch x
arkoldthos@arkpc:~/ark$ mkdir d1
arkoldthos@arkpc:~/ark$ cp x d1

mv - mover o renombrar
echo - saca el texto, para especificar donde (normalmente en la misma shell) se le pone > para agregarlo a el final (sobreescribe), >> lo pone abajo de la ultima linea

ej. echo “cosa” >> archivo.txt

ls -l - ver atributos, listado largo de archivos
s - sockets
p - pipe
b - bloques
d - directorio
etc…

pwd - te muestra donde estas
ej.

pato@A17:~$ pwd
/home/pato

id - identificacion de usuario
ej.

pato@A17:~$ id
uid=1000(pato)gid=1000(pato)grupos=4(adm),20(dialout),24(cdrom),
25(floppy),29(audio),30(dip),44(video),46(plugdev),104(scanner),
112(netdev),113(lpadmin),115(powerdev),117(admin),1000(pato)

Permisos
A nivel de dueño, grupos u otros:
rwx lectura, escritura y ejecution

El dueño de un archivo, es quien lo crea
Grupo, gente que pertenece a mi mismo grupo
Otros, gente que no es el dueño ni pertenece a los grupos

Cuando creo un archivo

pato@A17:~/ark$ touch cosa
pato@A17:~/ark$ ls -l
total 0
-rw-r–r– 1 pato pato 0 2007-05-12 13:07 cosa

Algunos ejemplos practicos viendo a:
r como 4 (leer)
w como 2 (escribir)
x como 1 (ejecutar)

Ahora si, la suma de 4, 2 y 1 (4+2+1=7), osea se, 7 es tener permisos de leer, escribir y ejecutar, y son tres sietes para especificar dueño, grupo y otros.

Vamos a hacer una CHMOD para mi directorio hogar,
Quiero que yo como el todo poderoso de mi hogar, quiero permisos de leer, escribir y ejecutar, osea se (4+2+1=7)
Quiero que los de mi grupo lo puedan leer, y ejecutar pero no quiero que lo escriban, osea se (4+1=5)
Quiero que los desconosidos solo lo puedan ejecutar, pero no leer ni escribir, osea se (1=1)

Y terminamos con un 751, ahora vamos a ejecutarlo

pato@A17:~/ark$ chmod 751 cosa
pato@A17:~/ark$ ls -l
total 0
-rwxr-x–x 1 pato pato 0 2007-05-12 13:07 cosa

Y ya, nuestro archivo tiene los valores que quisimos

u = owner (dueño)
g = group (grupo)
o = otros (others)

Pero si queremos agregar permisos de leer a los desconocidos (otros), ponemos

pato@A17:~/ark$ chmod o+r cosa
pato@A17:~/ark$ ls -l
total 0
-rwxr-xr-x 1 pato pato 0 2007-05-12 13:07 cosa

El numero que sigue, que seria el 1 despues de toda la chorrada de los permisos, seria el numero de enlaces que hay hacia el archivo, dejen se los pongo en negritas:

-rwxr-xr-x 1 pato pato 0 2007-05-12 13:07 cosa

Despues, sigue el usuario

-rwxr-xr-x 1 pato pato 0 2007-05-12 13:07 cosa

Despues, el grupo al que pertenece

-rwxr-xr-x 1 pato pato 0 2007-05-12 13:07 cosa

Despues, el peso, en este caso es, 0, siguiendolo, la fecha de actualizacion (la cual se puede actualizar con touch), y despues el nombre del archivo…

Si ya tenemos un archivo que tenga un peso considerable, pues los bytes son algo dificiles ya que tenemos que convertir, asi que si queremos que ls nos muestre el peso en un formato humanamente leible, agregamos el modificador ls -lh

Redireccionar una salida (por defecto, la misma shell)
Ejemplo, ls > directorio.txt y vean el resultado

pato@A17:~/ark$ cat directorio.txt
cosa
directorio.txt

Sin embargo, si lo repito se va a sobre-escribir la informacion, para demostrarlo, voy a cambiarle el nombre de “cosa” por “thing”

pato@A17:~/ark$ mv cosa thing
pato@A17:~/ark$ ls > directorio.txt
pato@A17:~/ark$ cat directorio.txt
directorio.txt
thing

Si vez, ya no hay rastro de la redireccion pasada, pero mira ahora, regreso “thing” con el nombre “cosa”, y ver si lo agrego abajo de lo que me dio la vez pasada… claro, con otro parametro que no es >, ahora va a hacer >>

pato@A17:~/ark$ mv thing cosa
pato@A17:~/ark$ ls >> directorio.txt
pato@A17:~/ark$ cat directorio.txt
directorio.txt
thing
cosa
directorio.txt

Vieron? Ahora lo agrega abajo, y no lo sobre escribe.

Ahora, mandar correos entre usuarios, puede ser asi (dentro del mismo sistema)

pato@A17:~/ark$ write pato
Hola pato =)

Y en otra consola me da

pato@A17:~$
Message from pato@A17 on pts/0 at 13:51 …
Hola pato =)

Para buscar archivos con find

pato@A17:~$ find . -name ‘passwd’
./practicas/d1/d1.1/passwd
./practicas/d3/d3.1/passwd

Alli sale los archivos con ese nombre que copie hace un buen rato para probar el comando cp (copy paste)

Ahora, cree un directorio llamado privado con permisos chmod 000

pato@A17:~/practicas$ mkdir privado
pato@A17:~/practicas$ chmod 000 privado
pato@A17:~/practicas$ find . -name ‘passwd’
./d1/d1.1/passwd
find: ./privado: Permiso denegado
./d3/d3.1/passwd

Si me llegara a aparecer un error asi mientras hago ‘find’, hago lo siguiente para que no aparescan (sea por permisos o otras cosas):

Primero, si quiero que se vallan a ningun lugar y mueran alli (es un decir, claro), seria:

pato@A17:~/practicas$ find . -name ‘passwd’ 2>/dev/null
./d1/d1.1/passwd
./d3/d3.1/passwd

Y si queremos ver el error despues, claro, con algo mas complejo, no con algo tan chiquito… (bueno, si quieres guardarlo, guardalo, por mi no hay problema)

pato@A17:~/practicas$ find . -name ‘passwd’ 2>error.txt
./d1/d1.1/passwd
./d3/d3.1/passwd
pato@A17:~/practicas$ cat error.txt
find: ./privado: Permiso denegado

Y claro, al igual que las salidas que vimos hace rato, podemos poner algo como,

pato@A17:~/practicas$ find . -name ‘passwd’ 2>>error.txt

Para que se ponga debajo del error que ya teniamos y ya :P
Otra cosa interesante, y molesta, es poner ls en alguna carpeta con muchos archivos, y no alcanzar a leer todos, para eso podemos escribir

ls | more

Asi te muestra el ls por paginas, y de una manera comoda, asi se puede usar con muchos otros comandos, con todos para ser exacto.

Un ejemplo algo practico, quiero ver el quinto usuario creado en este equipo:

pato@A17:/etc$ head -n 5 passwd | tail -n 1
sync:x:4:65534:sync:/bin:/bin/sync

Paso por paso

pato@A17:~/ark$ head -n 5 /etc/passwd >tmp1.txt
pato@A17:~/ark$ cat tmp1.txt
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync

Lo puse en tmp1.txt para hacerlo paso por paso… asi, esas 5 lineas se guardan en el texto, y el tail -n 1 tmp1.txt te mostraria la ultima, de este modo…

pato@A17:~/ark$ tail -n -1 tmp1.txt
sync:x:4:65534:sync:/bin:/bin/sync

Esto se ignifica, que la seguna aplicacion toma la salida de el otro

ps -e me muestra todos los procesos, pero puedo usar ps -e | grep apache por ejemplo, aqui no tengo apache, pero asi te mostraria solo los procesos para el apache

ps -e | wc -l te muestra cuantos procesos estan corriendo

pato@A17:~/practicas$ ps -e | wc -l
103

ls -F | grep / | wc -l ls -F agrega el caracter / al final de los archivos, grep / hace el filtrado y wc -l los cuenta

pato@A17:~/practicas$ ls
d1 d2 d3 dddd error.txt
pato@A17:~/practicas$ ls -F | grep / | wc -l
4

Un programita que hice ocupando lo que hemos aprendido

echo “Reporte de `cat /etc/hostname` el `date`.”;
echo “En el directorio actual hay `ls -F | grep / | wc -l` directorios.”;
echo “Y hay `cat /etc/passwd | wc -l` usuarios.”;
echo “En este equipo se estan ejecutando `ps -e | wc -l` de los cuales `ps | wc -l` se estan ejecutando en este usuario.”;

Ahora, vamos a empezar a saber como se usan los procesos
Abrimos la calculadora de Gnome, este proceso se llama gcalctool, asi que vamos a ver su pid de este modo:

pato@A17:~/practicas$ ps -e | grep gcalctool
15363 ? 00:00:00 gcalctool

Si no lo sabemos, podemos hacer esto:

ps | less (en caso de que no lo alcasemos a ver con ps), ya que sabemos el pid, hacemos lo siguiente

pato@A17:~/practicas$ kill -9 15363

Señales mas usadas en kill:
-9 - Matarla
-HUP - Matala, vuelvela a iniciar usando el mismo pid
Hay mas, podeis consultarlas en man signal

En caso de que no quieras consultar el PID, y sepas el nombre de la aplicacion, puedes usar esto:

pato@A17:~/practicas$ killall

en este caso,

pato@A17:~/practicas$ killall -9 gcalctool

.

Nota: Puede servir si se te blokea una aplicacion, si se te blokea el xorg (puedes matar kdm, gdm, yo que se…) por ssh, o ya sea CTRL + ALT + BACKSPACE que te puede salvar de aprietos, ya que muchos programas como apache2, mysql, etc… corren en el ‘background’ y lo que dejo de responder fue el xorg y no estos servidores.

Otra cosa interesante, es el pstree que te muestra los procesos de una manera en forma de arbol, muy util en algunos casos, yo lo veo como… no se, si matas a los padres, que son una dependencia para las otras aplicaciones que se derivan… yo que se.

Quiero iniciar alguna aplicacion (ya sea grafica o textual), las abro desde la terminal, ejemplo…

pato@A17:~/practicas$ gaim
–En este lapso se abre el GAIM, pero esta atado a la consola, quieres seguir usando la terminal, pero le das ‘CTRL + C’ y se cierra la aplicacion, tu lo que quieres es usarlo, pero tambien la consola, asi que mejor lo ‘dormimos’, con ‘CTRL + Z’
bg fg
[1]+ Stopped gaim

Noten que se quedo en el proceso numero 1 durmiendo, asi que podemos hacer dos cosas, ‘despertarlo’, o mandarla a background para que se ejecute allá, de los siguientes modos:

pato@A17:~/practicas$ bg 1
[1]- gaim &

Ahora corremos man ls del mismo modo y lo dormimos

pato@A17:~/practicas$ man ls
[2]+ Stopped man ls

Y podemos ver los procesos que duermen de este modo:

pato@A17:~/practicas$ jobs
[1]- Stopped gaim
[2]+ Stopped man ls

Ahora, puedes ocupar el GAIM y utilizar la consola tambien (Nota: Si GAIM quiere dar una salida (’output’), se va a ir a la terminal donde la mandaste a background, para que no le pase nada, puedes hacer esto, nohup gaim & y la mandas a background)

Si quieres cerrar la terminal, y dejar que esta siga corriendo la inicias del segundo modo:

pato@A17:~/practicas$ nohup gaim &
[4] 15969
pato@A17:~/practicas$ nohup: se añade la salida a `nohup.out’

Y asi ya podemos cerrar al terminal y tener el gaim corriendo sin problema, y claro, una funcionalidad buena seria como:

pato@A17:~/practicas$ nohup wget http://algo.com/algo.iso &

Y te vas de vacaciones y cuando regreses probablemente ya vas a aver bajado este archivo (depende del tamaño y tiempo jeje) y pues, alli un buen uso de esto.

Ahora para finalizar esta sesion, vamos a modificar sudo vi /boot/grub/menu.lst para cambiar el arranque por defecto Windows XP para los chamos de la universidad…

Nos vamos al final del documento por donde dice ## ## End Default Options ##, vamos a contar cada title desde 0, osea Windows es el cuarto (4), y al principio dice

default 0

y lo cambiamos por (CTRL + r + r)

default 4

Lo grabamos (CTRL + z + z)

Y damos por finalizado esto, hasta el proximo Sabado, a sido una sesion algo interesante =) mas practica y menos teoria comparada con la semana pasada. –Ya pondre los archivos por aqui durante la semana.

Comments 1 Comment »

Pues bien, hoy fue mi primera clase, al parecer soy el mas joven de los que va a este curso, el que sigue de mi se gradua en alguna licenciatura el proximo mes, asi que pues, quedo como el chico, pero por fortuna, tengo mis conocimientos bien para lo que es el curso, en si, el instructor parece conoser muy bien este sistema, y es usuario de Debian tambien, asi que nos entenderemos bien en las siguientes clases, su pagina es http://puntogmx.net para los que quieran verla, ya les escribire como van los siguientes cursos

Comments No Comments »

Ya hoy me registre a este curso pagando mi inscripcion y una parte de la cuota de recuperacion, todo indica, que empieza el dia 5 de Mayo debido a que por las vacaciones, pues mucha gente no se incribio y se necesita llenar un cupo, aun asi, ya estoy registrado en la UV (Universidad Veracruzana) y pues espero empezar y terminar rapido con esto, y salir con mis papeles contento :P

Comments No Comments »

Pues, mi amigo atomo64 dando vueltas por la web encontro que la Universidad Veracruzana (UV), que esta aqui en Xalapa, se van a impartir un curso llamado “Introduccion a GNU/Linux”, impartido por MCC. Gerardo Contreras Vega, no se quien diablos sera, pero que va, el curso consta de 5 clases de 5 horas cada una, que seran todos los sabados apartir de este sabado, de 9am a 3pm (si se contar, solo que van a tener cofee break).

(more…)

Comments No Comments »

Pues empezando mal mi experiencia con iPodLinux, gracias a mi habilidad de leer ANTES de, claro, no lei bien el wiki y cai en un problema que genera un ciclo infinito de reinicio en mi iPod, y por supuesto! Soy el primer inutil que comete un error asi y voy vagando por una solucion, he aqui los logs.

arkoldthos@arkold:~/Desktop$ ./ipodpatcher
ipodpatcher v0.9 with v1.0 bootloaders - (C) Dave Chapman 2006-2007
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[INFO] Scanning disk devices…
[INFO] Ipod found - Video (aka 5th Generation) (”winpod”) - /dev/sda
[INFO] Reading partition table from /dev/sda
[INFO] Sector size is 2048 bytes
[INFO] Part Start Sector End Sector Size (MB) Type
[INFO] 0 63 48194 94.0 Empty (0×00)
[INFO] 1 48195 14651279 28521.7 W95 FAT32 (0×0b)
[INFO] Ipod model: Video (aka 5th Generation) (”winpod”)
Enter i to install the Rockbox bootloader, u to uninstall
or c to cancel and do nothing (i/u/c) :i
[INFO] Using internal bootloader - 47112 bytes
[INFO] Moving images to create room for new firmware…
[INFO] Reading original firmware…
[INFO] Wrote 7550976 bytes to firmware partition
[INFO] Bootloader installed successfully.
Press ENTER to exit ipodpatcher :

Hasta aqui, me dije a mi mismo, ah caray! fue tan facil, pero claro que no :P ahora cuando prendo mi iPod (30GB 5.5G) saca la manzanita de que esta cargando, y pocos segundos despues se olle como se apaga y reinicia, y asi en un ciclo infinito, debido a esto, he tenido que desconectar la bateria de esta, alguna idea de como arreglarlo? si no, pues a preguntar en los foros de este proyecto que al parecer va muy bien… Pero que va, les dejo paginas de interes sobre este tema

Pagina web del proyecto iPodLinux :: http://ipodlinux.org/
Guia que debi haber leido :: http://ipodlinux.org/5.5G

Actualizacion:
Siguiendo los pasos de esta grandisima wiki, http://ipodlinux.org/Key_Combinations logre entrar en “disk mode” (modo de disco), ahora solo queda por correr iTunes y actualizar mi iPod cuando pueda, aver si me va el iTunes con Cedega, Crossoffice o wine, para ponerla a funcionar lo mas rapido posible, los mantengo actualizados con mis experiencias xD pero bien, no quedo rota mi iPod esta vez…

Segunda actualizacion:
Mate todas las particiones del iPod, ahora me dice que use iTunes para reparar todo, claro, en varios idiomas :P — de paso, no sirvio el iTunes nuevo con wine, y pues, pereza para probarlo con Cedega y Crossoffice.

Tercera actualizacion:
Le di mi iPod a una amiga y ya sirve con el firmware de Mac, talvez otro dia probare el iPodLinux, o tansiquiera un nuevo intento.

Comments 2 Comments »

Heya, today im reading in Xataka (a old article, since i was inactive for a time), something about the “cool” mp3 player of Microsoft, it is like… Horrible if you ask me, a friend got one and i prefer my iPod always, maybe you found interesting this post

English
http://www.suntimes.com/technology/ihnatko/147048,CST-FIN-Andy23.article

Spanish
http://edans.blogspot.com/2006/11/por-si-pensabas-comprarte-un-zune.html

Btw, i am reading Mac and Linux developers already are working in a library (i don’t remember the name of it at this moment) what will can transfer files with the Zune, it, for now can read the media files you have in it, let’s see what the time says for this, i hope it don’t got support.

Comments No Comments »

Im reading in LWN about a Linux Developers are against the licence GPLv3, look this out http://fwn.net/Articles/20042

Comments No Comments »

Today im reading stuff about Linux XP is a Red-Hat based distribution, it can be downloaded from http://www.linux-xp.com/, it uses a Gnome desktop similar to Windows view, as im reading i can see it is compatible with thousands of Windows Applications, it include OpenOffice.org, you can use data from Windows drives, and more stuff, check it out in http://www.linux-xp.com/ !

Comments No Comments »

Heya all Red Hat fans, if you start with Fedora you are welcome too, some hours ago, maybe yesterday (I am a bit outdated, I sleep the whole day) Today Fedora Project announce the release of Fedora Core 6 Test is available for download, feel free to report that evul bugs (Report them! We dont want another windows, or we want?) and that stuff to make a good Fedora Core (Personally i didn’t like 4 and 5 release, hail 3!).

Im downloading it, i will put a review when i can!

Comments No Comments »