miércoles, 27 de junio de 2007
Modificar inicio sesion en consola
mensaje de inicio de sesion:
/etc/profile
martes, 26 de junio de 2007
Instalacion deletemail en suse
asi pues primero buscamos gracia a san google el deletemail
...
Como debremos de compilar... recuerdo que hay que tener instalado make install (lo instalamos facilmente a traves de yast2)
para instalar paquetes en formato tar.gz debes primero desempaquetarlos con la siguiete instruccion
tar xvfz paquete.tar.gz
(nota de Jano, ¬¬, ejem ¿como quieres instalar algo desde las fuentes sin compilador?)
hemm... desto, necesitamos como minimo el gcc con yast2 y despues hacemos lo de los pasos sisguientes.
el te creara un directorio con el nombre del paquete ahora lo que tiene que hacer es ingresar al directorio creado
cd directorio_creado_paquete
todos los paquetes traen un instructivo de instalacion por lo general llama INSTALL O README estos te daran una gia,
ahora ejecuta
./configure
despues
make
.- - - lo compilamake install
- - - - instala el programaDeletemail se puede descargar de aqui
http://www.jhweiss.de/software/deletemail.html
RPM, compilar a partir de un tar.gz
Por ejemplo, el spamassassin y el rkhunter.
Supongamos que queremos instalar el ultimo spamassassin y que sólo tenemos su tar.gz, lo bajamos de aqui: http://spamassassin.apache.org
Ahi bajamos el tar.gz de la ultima versión y ejecutamos:
rpmbuild -ta Mail-Spamassassin-3.1.8.tar.gz
verifica que la versión se corresponda con la que hayas bajado, al momento de éste howto es la 3.1.8
El sistema se demorará un rato compilando y obtendrás el rpm.
Lo mismo puedes intentar con cuando tar.gz encuentres. Te garantizo que la mayoría no compilará pues no contienen el .spec.. pero algunos sí.
Si no lo puedes compilar desde tar.gz con rpm, te sugiero crees un rpm basándote en algún .spec que por ahi encuentres.
jueves, 21 de junio de 2007
Apuntes de un minicurso
Ctrl + Alt + Fn F1, F2, F3... cambia de consola de Linux
comando "top" como el administrador de tareas.
-La columna PID indica la prioridad del proceso y sulue ser desde -20 a 20, es decir -20 = Prioridad Maxima, 0 Normal y 20 Minima prioridad.
Ctrl + alt + Blackspace (la de borrar, no supr) reincia únicamente el entorno gráfico.
para saber la version instalada de linux: "uname -a"
Comando parecido al "type archivo.txt" sería "cat archivo.txt"
Para saber los últimos 1000 comandos usados por un usuario escribiremos el comando "history", si por el contrario queremos buscar un comando llamado ls, escribiremos "histrory |grep ls" con grep decimos que busque en el contenido.
La carpeta "/home" seria la equivalente al document and settings de windows
"k3b" seria la utilidad de grabación parecida al Nero
"xmms" seria la utilidad equivalente al winamp
"opartool" utilidad gáfica para poder ver las particiones del disco duro.
Particiones en linux:
1 swat (tamaño minimo = memoria del PC x 2) ej. 256mb x 2 = 512MB de swat
/boot /tamaño recomendado 128MB (pero esto depende de la distribución)
El resto del sistema ext3
Otras distribuciones:
wifislax - distribución especifica para crackear redes wifi o bluetooth.
riplinux - Analisis forense del PC (vamos para saber que narices a pasado)
lunes, 18 de junio de 2007
Más sobre mail / mailx
Primero para saber en que directorio se encuentra, es lógico ya que no podemos hacer un del *.* asi por las buenas..
si nos situamos en el directorio /var/mail/ y realizamos un dir o un ls podremos ver una lista con todos los usuarios que tienen correo.
pues bien aque escribiremos como root o con un usuario que tenga permisos para ello "rv *" y con esto ya hemos borrado todos los correos de todos los usuarios.
otra cosa ya mucho más aburrida seria utilizar el comando mailx -u nombreusuario y una vez dentro escribir "d *" para que borrara todos los mensajes, esta forma "rm *" es muy practica si no queremos entretenernos a borrar mails o simplemente no queremos saber saber nada de lo sucedido (lo que seule pasar a veces con el visor de suecesos de windows)
Tema relacionado
miércoles, 13 de junio de 2007
Tareas, Procesos y Administrador de tareas
Tareas y procesos
En este punto tendremos que empezar a determinar que es un proceso y una tarea. Anteriormente dijimos que un programa se transformaba en proceso en el momento en que este se ejecutaba y estaba en memoria. Además del nombre que el proceso recibe, que es el nombre del programa que esta corriendo, recibe también un número identificativo llamado PID (process ID, o ID de proceso). Si ejecutamos el comando ps veremos los procesos que están ejecutando en este momento con nuestro UID, es decir que estamos corriendo nosotros mismos
[shrek@pantano:~]$ ps
PID TTY STAT TIME COMMAND
172 p0 S 0:00 -bash
184 p0 R 0:00 ps
[shrek@pantano:~]$
Se puede ver que están corriendo dos procesos, el bash (que es el intérprete de comandos) y el proceso ps que es el que estamos usando en este momento en una terminal determinada. Como se puede ver el primer número es el PID que el sistema le asigna al proceso y en la columna COMMAND se puede ver el nombre del proceso. De ninguna manera estos son todos los procesos que se están ejecutando en el sistema. Si se quisieran ver todos los procesos tendrían que poner ps -ax con lo que obtendrían un listado con todos los procesos que se estén ejecutando. Como se puede apreciar, están ambos procesos ejecutándose al mismo tiempo, pero solo uno de ellos esta activo, el comando ps. Nos podemos dar cuenta de esto ya que en la columna STAT aparece en la línea del bash la letra S de SLEEP, ya que en ese momento el intérprete de comandos esta esperando a que el proceso ps termine. Y es aquí donde esta la diferencia entre proceso y tarea. Aunque ambos son procesos, una tarea se refiere al proceso que esta corriendo. Este calificativo solo lo da el shell del sistema cuando se utilizan los controles de tareas dado que no todos los intérpretes de comandos soportan este tipo de control.
Primer y segundo plano
Cualquier proceso puede estar en primer o segundo plano. Lo único a tener en cuenta es que solo un proceso estará en primer plano al mismo tiempo y es con el que estemos trabajando e interactuando en ese momento. Un proceso que este en segundo plano no recibirá ninguna señal de parte nuestra, es decir que no nos podemos comunicar con él a través, por ejemplo, del teclado. La utilidad de enviar un programa a segundo plano esta dada por el hecho de que existen tareas que no requieren de nuestro control para que se ejecuten. Por ejemplo, bajar algún archivo de Internet, compilar el kernel u otro programa. Estas son tareas que pueden ser lanzadas tranquilamente en segundo plano. Para lanzar un proceso en segundo plano, tendremos que poner a continuación del comando el símbolo &. Para ejemplificar esto usaremos el comando find y dejaremos que busque todos los archivos que existen en el disco
[shrek@pantano:~]$ find / -name "*"
Esto nos mostraría una lista bastante larga de archivos por pantalla y nos quedaríamos sin el control del intérprete de comandos mientras esta ejecutándose. Podríamos usar el dispositivo null, que si recuerdan era como un agujero negro donde todo lo que se enviaba a él desaparecía, para redirigir la salida y que no saliera por pantalla
[shrek@pantano~]$ find / -name "*" > /dev/null
Igualmente así no contaríamos con la atención de nuestro interprete de comandos hasta que terminara el trabajo el comando find. La forma de tener la atención del shell inmediatamente después de lanzar el proceso find es enviándolo en segundo plano
[shrek@pantano:~]$ find / -name "*" > /dev/null &
[1] 192
[shrek@pantano:~]$
Como se aprecia, regresó de inmediato al shell, pero antes envió un mensaje a la terminal. El [1] representa a un número de trabajo que el shell asigna a cada uno de los procesos que pasa a segundo plano. Inmediatamente después vemos el número de PID del proceso. Podremos identificar al proceso por cualquiera de los dos números mientras se encuentre en segundo plano. Para ver cuantos trabajos están ejecutándose en este momento podemos usar el comando jobs.
[shrek@pantano:~]$ jobs
[1]+ Running find / -name "*" >/dev/null &
[shrek@pantano:~]$
Podremos eliminar un proceso que se esta ejecutando con la ayuda del comando kill seguido bien sea del número de trabajo precedido de un signo % o del número de PID. De esta forma estamos matando al proceso pero puede darse el caso de que este tarde en desaparecer dado que tiene que limpiar el entorno, por esto muchas veces parecerá que no nos a hecho caso. En realidad el proceso esta haciendo una limpieza del sistema evitando así el mal funcionamiento del mismo y/o una inconsistencia en los datos con que trabajaba. Como ejemplo usaremos otro comando muy típico, el comando yes. Este comando enviará a la salida estándar continuamente la letra y. Sirve este comando para que en caso de que se requiera contestar afirmativamente a las peticiones de un programa pudiéremos mediante una redirección contestarle con un y a cada pregunta. Si lo ejecutáramos sin redirigir la salida a /dev/null, nos llenaría la pantalla con una columna infinita de y. Por esto lo enviaremos a segundo plano redirigiendo la salida y luego lo mataremos con el comando kill.
[shrek@pantano:~]$ yes > /dev/null &
[1] 201
[shrek@pantano:~]$ kill %1
[shrek@pantano:~]$ jobs
[1]+ Terminated yes > /dev/null &
[shrek@pantano:~]$
Como podrán ver, en el momento en que se mando el comando kill, no hubo ningún mensaje. Solo después de ejecutar el comando jobs se nos informo que el trabajo número 1 había finalizado (TERMINATED). Podemos también hacer lo mismo empleando el número de PID con lo que obtendremos idénticos resultados.
[shrek@pantano:~]$ kill 201
Como parar y relanzar tareas
Los procesos pueden ser suspendidos temporalmente hasta que nosotros dispongamos, para así relanzarlos y que continúen ejecutando donde se habían quedado. Esto es de gran utilidad. Supongamos que se esta trabajando con el editor de texto Vi y no queremos trabajar en otra consola, solo tenemos que enviar al programa Vi a dormir un rato y tendremos el intérprete de comandos a nuestra disposición. En la mayoría de los programas, se envía una señal de terminación utilizando las teclas Ctrl-C, para poder enviar un trabajo a dormir utilizaremos otra combinación de teclas Ctrl-Z. Hay que tener en cuenta que no es lo mismo un trabajo en segundo plano que uno que es enviado a dormir. Un trabajo en segundo plano sigue ejecutándose, en cambio uno que se envía a dormir queda esperando en el lugar donde estaba hasta que sea despertado. Para ejemplificar esto, enviaremos al comando yes a segundo plano y luego lo pondremos a dormir.
[shrek@pantano:~]$ yes >/dev/null &
[shrek@pantano:~]$ yes >/dev/null
Ahora presionamos Ctrl-Z
[shrek@pantano:~]$ yes >/dev/null &
[shrek@pantano:~]$ yes >/dev/null
[2]+ Stopped yes >/dev/null
[shrek@pantano:~]$ jobs
[1]- Running yes >/dev/null &
[2]+ Stopped yes >/dev/null
Como pueden ver, el proceso que se envió a segundo plano todavía se esta ejecutando (Running), en cambio la que se mando dormir estaparada esperando que la relancemos (Stopped). Para ponerlo en primerplano o despertarlo a cualquiera de los dos podemos usar el signo "%"seguido del número del proceso o bien el comando fg.
[shrek@pantano:~]$ %1
yes >/dev/null &
Ahora presionamos Ctrl-Z
[shrek@pantano:~]$ fg %1
yes >/dev/null
Podremos enviar también un comando que esta durmiendo a que ejecute en segundo plano a través del comando bg
[shrek@pantano:~]$ jobs
[1]- Stopped yes >/dev/null
[shrek@pantano:~]$ bg %1
[1]+ yes >/dev/null &
[shrek@pantano:~]$ jobs
[1]+ Running yes >/dev/null &
Cabe decir que tanto fg como bg son comandos internos del intérprete de comando. Esto es así porque es el mismo intérprete quien hace el control de tareas. Puede darse el caso de que existan intérpretes de comandos que no tengan soporte para control de tareas.
Programas de seguimiento (ps y top)
Los sistemas GNU/Linux cuentan varios programas para efectuar el seguimiento de los procesos que se están ejecutando en el sistema. Entre los mas usados en la interfase de texto están los programas ps y top.
ps
Sin ninguna opción dará la lista de procesos que están corriendo desde la terminal donde se ejecuto el ps
[shrek@pantano:~]$ ps
PID TTY TIME CMD
9648 tty2 00:00:02 bash
9659 tty2 00:00:00 ps
[shrek@pantano:~]$
Las columnas que nos quedan por explicar son TTY y TIME. TTY identifica la consola donde se esta ejecutando el proceso. En este caso es una terminal local. La columna TIME nos indica la cantidad de tiempo total que el proceso se ha estado ejecutando. Como se puede ver el tiempo es de 2 segundos. Aunque este horas el sistema encendido, el bash pasa su mayor parte del tiempo esperando que se le envie algún comando para ejecutar, mientras tanto esta esperando dormido. Puede verse en la columna STAT en que estado se encuentra el programa. Por ejemplo, que vemos que el bash en el momento de ejecutarse el comando ps esta dormido (S) y que el proceso ps esta activo (R). Si añadimos la opción l tendremos un listado largo del comando ps. En algunas versiones se usa la opción -l
[shrek@pantano:~]$ ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 100 9648 1 9 0 4368 1400 11b1d0 S tty2 0:01 -bash
4 100 9660 9648 17 0 2676 732 - R tty2 0:00 ps l
Dentro de esta información esta la columna del UID que identifica el dueño del proceso. El PID del proceso y también el PPID que es el PID del proceso padre. Podemos apreciar que el padre del comando ps l es el -bash. NI viene de nice y es un nivel que se otorga a un proceso para requerir cierto privilegio. En este caso tiene uno muy bajo por ende un proceso que tenga un valor mayor tendrá más tiempo de procesador para trabajar. SIZE es el tamaño que tiene el proceso. RSS es la tamaño del proceso que se encuentra residente en la memoria. WCHAN es el nombre de la función del kernel donde el proceso esta durmiendo. Esta expresado en forma hexadecimal.
Otra forma en la que podemos ver el padre de cada proceso es a través del modificador f.
[shrek@pantano:~]$ ps f
PID TTY STAT TIME COMMAND
9648 tty2 S 0:02 -bash
9660 tty2 R 0:00 \_ps f
[shrek@pantano~]$
Aquí se puede ver que el comando ps f depende del -bash.
top
Ahora bien, el comando ps nos muestra una radiografía de los procesos en el momento, pero no nos muestra los cambios que se van teniendo. Para esto contamos con el comando top. El mismo muestra en tiempo real la situación de los procesos que se están ejecutando en el sistema, ordenados por defecto según el porcentaje la CPU que estén usando. Al ejecutarlo se podrá ver otra información adicional, como la cantidad de usuarios que están en el sistema, cuantos procesos están corriendo y de estos cuantos estas activos, cuantos durmiendo, cuantos en proceso de terminar (ZOMBIE) y cuantos finalizados. Además se podrá ver la cantidad e memoria física total, la cantidad usada y la cantidad libre; así como también se podrá obtener la misma información de la memoria swap.
Lo más importante es que esta información de ira actualizando automáticamente cada tanto tiempo, por defecto 5 segundos, y que podremos ir alterando lo que va mostrando. Por ejemplo podemos hacer que ordene los procesos de acuerdo a la cantidad de memoria que esta usando con solo presionar la tecla M. U ordenarlos de acuerdo al tiempo que llevan corriendo. Otra utilidad es que podríamos matar algún proceso con solo presionar la tecla k y luego darle el número de PID.
El listado que nos mostrará contendrá el número de PID, el usuario que lo está ejecutando, la prioridad del proceso (PRI), el valor nice (NI), el tamaño del proceso (SIZE), el tamaño total del proceso junto con los datos que maneja (RSS), el tamaño usado por el proceso en la memoria (SHARE), el estado del proceso(STAT), el tamaño de las librerías del proceso (LIB), el porcentaje de CPU ( %CPU) y de memoria (%MEM) así como también el tiempo de ejecución (TIME) y el nombre del proceso (COMMAND).
Algunos comandos
ps aux
kill -9 + [nºID del proceso] mata el proceso actual. Ejemplo: kill -9 7563
martes, 12 de junio de 2007
¿Cómo puedo leer y contestar correo con mail/mailx?
¿Cómo puedo leer y contestar correo con mail/mailx?
El correo electrónico en Linux no puede considerarse como un extra al sistema operativo, sino que forma parte del mismo pues es una característica casi inherente a todo Linux. Esto quiere decir que aunque no hayamos instalado ningún cliente de correo como Netscape o Pine, probablemente dispondremos en el sistema de herramientas ya preparadas para ello.
Dentro de casi cualquier sistema Linux disponemos de un programa básico de email en consola (modo texto) llamado Mailx que nos permitirá el envio, lectura y contestación de mensajes de correo electrónico. En resumen, posibilita el envío de texto y datos dentro de una estructura coherente llamada mensaje, con su cabecera (campos: FROM (persona que envía el mensaje), TO (persona destinataria del mismo), SUBJECT (tema del que trata el mensaje) y CC o carbon copy (lista de personas que recibirán una copia del mismo).) y su BODY (cuerpo del mensaje), pudiendo incluir además ficheros añadidos que vienen incluidos dentro del paquete del mensaje (attach).
Para explicar el uso de mailx se va a usar un sencillo ejemplo en un máquina con un sólo usuario: sromero, además del obligatoriamente existente root (puede obternerse la lista de usuarios presentes en el sistema y en qué terminal están trabajando simplemente ejecutando la orden who). Suponga os que somos el usuario sromero y queremos enviarle un mensaje a root para testear las capacidades de envio de email. La manera más sencilla de enviar un mensaje a un usuario de la red es ejecutar mail :
[sromero@localhost info]$ mail root
Subject: Prueba de MailX.
Esto es el cuerpo del mensaje. Es una prueba de mailx.
Un mensaje se acaba con un punto (.) al principio de línea.
.
Cc: (intro)
Al ejecutar mail root se nos ha preguntado el tema (subject), el cuerpo del mensaje (acabado en punto (.)), y a quién se le deseaba enviar copias del mismo (Cc), cosa que hubiera sido bastante útil si nuestro mensaje fuera una invitación a un grupo de amigos o una información para un grupo concreto de personas. Tras escribir esto, el mensaje escrito se graba como un fichero de texto (con el mismo nombre que el destinatario del mensaje, y al que se añadirán más mensajes conforme se le vayan enviando a dicho destinatario) en el directorio /var/spool/mail, a la espera de que el usuario destino los lea y vayan siendo eliminados del mismo.
Si root está conectado o entra más tarde en cualquier terminal del sistema, recibirá un mensaje de aviso indicando que el sistema ha detectado la llegada de correo para el usuario:
You have mail.
Para realizar la lectura del correo electrónico, simplemente se invoca al programa mail, obteniendo una lista del correo pendiente y esperando el programa a que el usuario lo lea, responda, borre o almacene para más tarde:
[root@localhost /root]# mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 3 messages 3 new
>N 1 sromero Thu Jul 30 17:04 17/55 "Prueba de MailX."
N 2 sromero Thu Jul 30 17:15 17/50 "Pregunta sobre adm"
N 3 sromero Thu Jul 30 17:16 15/44 "Felices vacaciones!"
& _
Como puede verse, mail nos muestra los mensajes pendientes (en este caso 3) por responder, con su usuario de origen (sromero), la fecha y el tema, con el cursor virtual (>) situado sobre el primero (es decir, indicando sobre cual actuará una orden de lectura, respuesta o borrado), y con un promtp (el carácter &) a la espera de recepción de órdenes sobre qué hacer con dicho correo.
Estas órdenes son:
'número' -> Listar el mensaje .
't' -> lista el mensaje actual (el apuntado por >)
'n' -> Pasar al siguiente mensaje y visualizarlo.
'd' -> Borrar mensaje.
'e' -> Editar mensaje
'r' -> Responder mensaje.
'q' -> Salir de mailx.
A la mayoría de estas opciones se les puede pasar un nº de mensaje (desde 1 hasta n) para indicar sobre qué mensaje realizar la acción (ejemplo 'd 3' o 'delete 3'). Otras opciones, obtenidas mediante la ayuda de mailx, son:
& ?
Mail Commands
t listar mensaje
n ir al mensaje especificado y listarlo.
e editar mensaje
f ver cabeceras del mensaje
d borrar mensaje
s añadir mensajes a un fichero
u recuperar mensajes borrados
R Responder a los remitentes del mensaje
r Responder al remitente y a todos los destinatarios.
pre hacer ir los mensajes de nuevo a /usr/spool/mail
m enviar mensaje a los usuarios especificados.
q salir grabando mensajes en mbox
h mostrar cabeceras activas.
! permite ejecutar una shell o comandos de shell
En el caso de no disponer de correo en ese momento, mail nos avisa con un:
[root@localhost root]# mail
No mail for root
Otro fichero asociado es el fichero .signature de nuestro directorio home, utilizado como fichero de firmas y cuyo contenido es incluido al
final de los emails escritos y respondidos por nosotros, pudiendo editarse y rellenarse con cualquier editor estándar de Linux para
incluir nuestra firma personal. Este fichero es utilizado por la mayoría de gestores de correo de Linux como fichero de firmas por
defecto, tal y como hace Mail, Pine, Netscape, Kmail, etc.
Algunos ejemplos:
Para borrar todos los mensajes desde un Id hasta otra...
borrar mensajes del 22 al 30 --> "d 22-30"
Imprimir desde linea de comandos
Nombre para la impresion:
Este será el nombre de la cola de impresion o nombre del puerto como queramos llamarle.
Descripción de impresora:
Esto es básicamente para saber de que impresora se trata.
lpr -P HP4500ADMIN [nombrearchivo a imprimir]
en nuestro ejemplo enviamos a imprimir un archivo de texto a la impresora hp de administracion por ejemplo.
Imprimir bajo Linux
Esta sección comenta cómo imprimir ficheros, examinar la cola de impresión,
eliminar trabajos de la cola, formatear ficheros antes de imprimirlos, y
configurar tu entorno de impresión.
Histórico
El sistema de impresión de Linux (el sistema lp
) es una adaptación del código
escrito por los Regents de la Universidad de California para la versión
Berkeley Software Distribution (BSD) del sistema operativo UNIX.
Lo básico de imprimir
La forma más simple (con mucho) de imprimir en el sistema operativo Linux es
enviar el fichero a ser impreso directamente al dispositivo de impresión. Una
manera de hacer esto es usar el comando cat
. Como usuario root
, uno puede hacer
lo siguiente:
# cat tesis.txt > /dev/lp
En este caso, /dev/lp
es un enlace simbólico al verdadero dispositivo
de impresión (una matricial, láser, tipográfica o plotter). Mira la página del
man ln(1)
para más información acerca de enlaces simbólicos.
Para el propósito de la seguridad, sólo el usuario root
y los usuarios de su
mismo grupo como el demonio de impresión son capaces de escribir directamente
a la impresora. Es por esto por lo que se tienen que usar comandos como lpr
, lprm
y lpq
para acceder a la impresora.
Por esto, los usuarios tienen que usar lpr
para imprimir un fichero. El
comando lpr
es responsable de preocuparse por el trabajo inicial para
imprimir un fichero, pasando entonces el control a otro programa, lpd
, el
demonio de las impresoras de líneas.
Este demonio le dice entonces a la impresora cómo imprimir el fichero.
Cuando lpr
es ejecutado, primero copia el fichero a un cierto directorio
(el directorio de spool
) donde el fichero permanece hasta que lpd
lo
imprime. Una vez se le dice a lpd
que hay un fichero para imprimir, creará
una copia de sí mismo (lo que los programadores llaman un 'fork
'). Esta
copia imprimirá nuestro fichero mientras la copia original queda esperando otras
peticiones. Esto permite que hayan múltiples trabajos a la vez en una cola.
Las sintaxis de lpr(1)
es bastante familiar,
$ lpr [ opciones ] [ nombre_fichero ... ]
Si no se especifica un nombre de fichero, lpr
asume que la entrada
será efectuada por la entrada estándar (normalmente el teclado o la salida de
otro programa). Esto permite que el usuario redirija la salida de un programa
al dispositivo de impresión. Por ejemplo:
$ cat tesis.txt | lpr
o algo más potente, como
$ pr -l60 tesis.txt | lpr
El comando lpr
acepta varios argumentos en la línea de comandos que
permiten al usuario controlar cómo trabaja. Algunos de los argumentos más
ampliamente usados son: -Pprinter
especifica la impresora a usar, -h
suprime la impresión de la página, burst, -s
crea un enlace simbólico en
lugar de copiar el fichero completo al directorio de spooling (útil para
ficheros grandes), y -#num
especifica el número de copias a imprimir.
Un ejemplo de interacción con lpr
podría ser algo como
$ lpr -#2 -sP dj tesis.txt
Este comando crearía un enlace simbólico al fichero tesis.txt
en el
directorio de spool de la impresora llamada dj
, donde debería ser
procesado por lpd
. Además debería imprimir una segunda copia de tesis.txt
.
Para ver un listado de todas las opciones que reconoce lpr
, ver la página
del man lpr(1)
.
Viendo la cola de impresión
Algunas veces es útil saber qué trabajos están actualmente en una cola de
impresión particular. Esta es la única tarea del comando lpq
.
Para ver qué hay en la cola de la impresora por defecto (definida por /etc/printcap
), usa
$ lpq
lp is ready and printing
Rank Owner Job Files Total Size
active mwf 31 tesis.txt 682048 bytes
Cancelando un trabajo de impresión
Otra útil característica para cualquier sistema de impresión es la capacidad de
cancelar un trabajo que ha sido 'encolado' anteriormente. Para hacer esto,
usa lprm
.
$ lprm -
El comando anterior cancela todos los trabajos de impresión que son propiedad
del usuario que envió el comando. Se puede cancelar un trabajo de forma
individual obteniendo primero el número del trabajo usando lpq
, dando
entonces el número a lprm
. Por ejemplo
$ lprm 31
cancelaría el trabajo 31 (tesis.txt
) en la impresora por defecto.
Comandos Linux Vs DOS
DOS Linux
CD nombredir\ cd nombredir/
COPY fich1 fich2 cp fich1 fich2
DEL fichero rm fichero
DELTREE directorio rm -R directorio/
DIR ls
EDIT fichero vi fichero
emacs fichero
joe fichero
FORMAT fdformat
mount, umount
HELP comando man comando
MD directorio mkdir directorio/
MOVE fich1 fich2 mv fich1 fich2
NUL /dev/null
PRINT fichero lpr fichero
PRN /dev/lp0,
/dev/lp1
RD directorio rmdir directorio/
REN fich1 fich2 mv fich1 fich2
RESTORE tar -Mxpvf device
TYPE fichero less fichero
Cambiar fecha/hora
El fichero crontab o Programador de tareas
Cada uno de los ficheros crontab de configuración
están formados por asignaciones de valores a
variables de entorno y una línea por actividad que
queramos programar su ejecución. Las líneas
en blanco, los espacios iniciales y los tabuladores se
ignoran.
Los comentarios en este fichero son líneas completas
cuyo primer carácter que no sea un espacio es un
carácter #.
Las línea de programación de tareas siguen un
formato estándar formada por cinco campos que
indican un instante de ejecución y la ruta del
fichero que hay que ejecutar.
Los campos que describen el instante de ejecución
son por orden:
minuto 0-59
hora 0-23
día del mes 0-31
mes 0-12 (o sunombre con las tres primeras letras en
inglés)
dia semana 0-7 (0 or 7 indica domingo, o su nombre con las
tres primeras letras en inglés)
Un campo puede contener:
Un un asterisco (*) para indicar todos los posibles
valores.
Un valor fijo para indicar un minuto, hora, día o
mes.
Un rango de valores, dos números separados por
guiones. Un rango puede terminar en /numero para indicar el
incremento.
Una lista de valores separados por comas.
Un valor */numero para indicar todos los valores con
incremento de "número".
Ejemplos
Vemos diversas formas de configurar la ejecución de
la orden /usr/bin/fetchmail:
Ejecutarlo a las 12 de la noche cada día
|
Ejecutarlo a las 12 :15 de la noche cada día
|
Ejecutarlo 15 después de cada hora exacta, a las y
cuarto
|
Ejecutarlo el día 1 del mes a las 6:30
|
Ejecutarlo cada dos día a las 6:30
|
Ejecutarlo los días 1,3,7,12,15 y 20 del mes a las
6:30
|
Ejecutarlo el día 1 de julio a las 6:30
|
Ejecutarlo los lunes cada 10 minutos
|
Ejecutarlo de lunes a viernes a las hora en punto
|
Crontab predeterminados
Los sistemas, para facilitar la programación de
tareas de administración, disponen de un crontab
estándar que permite ejecutar tareas cada hora, cada
día, cada semana o cada mes; se crea un directorio
para cada una de estas tareas y todos los ficheros
ejecutables que pogamos allí, normalmente guiones de
shell, se ejecutarán automáticamente. Los
directorios en cuestión son, /etc/cron.hourly,
/etc/cron.dail, /etc/cron.weekly y /etc/cron.monthly.
El fichero /etc/crontab que ejecuta los contenidos de estos
directorios quedaría como:
|
Comandos más habituales de vi
Comando | descripción |
---|---|
i | insertar antes del cursor |
a | añadir detrás del cursor |
o | añadir una línea en blanco |
x | borrar un carácter |
j | borrar el final de línea (une dos líneas) |
dd | borra la línea completa |
u | deshacer la última edición |
:q | salir |
:q! | salir sin guardar |
:w | guardar |
:wq | guardar y salir |
:set nu | muestra números de línea |
:set nonu | oculta números de línea |
:n copy m | copia la línea n detrás de la línea m |
:n1, n2 copy m | copia desde la línea n1 hasta la línea n2 detrás de la línea m |
:%s/b/r/ | donde b = cada de texto a buscar y r cada de texto por la que reemplazar |
configurar un usuario fetchmail
fetchmail
deletemail
el primero sirve para trabajar con los e-mail: lo coge de un servidor externo pop3 y lo movemos a nuetro exchange, vamos que trabaja sobre smtp para que nos hagamos una idea.
Mientras que el delete mail lo que hace es que cuando pase x tiempo elime los mensajes del servidor.
Esto de mantener los mensajes en el servidor es por propia copia de seguridad.
Partiendo el usuario origen que vamos a llamarlo UsrOrigen vamos a crear otro usuario llamado UsrDestino, el primero sus datos en el servidro externo son:
Hosting Externo | Exchange | |
Dirección: | emailusrorigen@dominio.ext | emailusrdestino@dominio.local |
Login del servidor: | pop3usrorigen | exchgusrdestino |
Contraseña de la cuenta: | passwordusrorigen | passwordusrdestino |
Servidor pop3: | pop3.dominio.ext | srvexchange |
que archivos copiar:
/home/usuarioorigen/.fetchmailrc
/home/usuarioorigen/.deletemailrc
ambos archivos se han de copiar dentro de la carpeta home de cada usuario, este paso lo haremos con el usuario root
Contenido del archivo .fetchmailrc
poll pop3.dominio.ext protocol pop3
username [nombre de usuario pop3], with password [contraseña usuario pop3], to "[login]" here;
[nombre de usuario pop3]
Aqui pondriamos el login de pop3 que solemos colocar en el outlook, en nuestro ejemplo será pop3usrorigen
[contraseña usuario pop3]
Yo creo que esta muy claro es colocar la contraseña que le toque, bueno por si eres muy cazurro en nuestro ejemplo seria: passwordusrorigen
[login]
Aqui ponemos lo que bienen antes de @dominio.local es decir la cuenta del usuario de destino (exchange), me explico: recordamos que la cuenta de origen es emailusrorigen@dominio.ext y queremos enviarlo a emailusrdestino@dominio.local, pues aqui tan solo hemos de colocar emailusrdestino. Esto no necesariamente ha de ser igual al del usuario que inicie la sesion en el exchange.
Contenido del archivo .deletemailrc
GLOBAL # Valores por omision
# ssl: no # use SSL for secure IMAP connections
days: 15 # delete mail which is older than two weeks
ACCOUNT # Cuenta del usuario
host: pop3.dominio.ext # POP server
user: pop3usrorigen # username
pass: passwordusrorigen # password
Paso a paso:
ssl: no por defecto esta en este valor si necesitaramos habilitar ssl para el acceso al correo substituiriamos 'no' por 'yes'
days El número de dias que se han de mantener los correos en el servidor externo, en nuestro caso le hemos puesto 15 dias, este valor variará dependiendo del trafico de datos que se generen.
host nombre del servidor externo
user usuario con el que se ha de iniciar la sesion en el servidor externo
pass Como és lógico es la contraseña del usuario que ha de inciar sesion en el servidor
ahora tan solo falta configurar preparar el crontab o Tareas programadas.
para ello deberemos de iniciar en linux como el usuario qu equeramos realizar la programación. para ello en la linea de comandos escribiremos crontab -e el hecho de colocar -e es para editar el programador de tareas para ese usuario.
Crontab
*/10 * * * * /usr/bin/fetchmail -k -S [nombre DNS del servidor de exchange] -D [nombre del dominio] -U
00 12 * * 0 /usr/bin/deletemail -u
Notas generales Fetchmail Exchange
Fechmail.rc
Deletemail.rc
Ambos se encuntran en la carpeta home de cada usuario
Programador de tareas
Crontab –e
1-Lunes
0-domingo
Para salir y guardar cambios en vi :wq
-K deja copia en el servidor
-S host smtp en nuestro caso EXCHANGE
-D dominio (dominio.com)
-u sabe si es nuevo los mails o no, si no le ponemos esto, se descargaria todos los mails constantemente.
Para ver las entradas del programador de tareas:
Contrab –e
Cambiar chmod 600 los ficheritos de los usuarios
Chown para cambiar el propietario y deletemail.
“chown nuevopropietario nombredelficherito” le cambiamos el propietario a .fetchmailrc
Para copiar usamos "cp archivo.origen archivo.destino"