Mostrando entradas con la etiqueta Debian. Mostrar todas las entradas
Mostrando entradas con la etiqueta Debian. Mostrar todas las entradas

Nagios 3 en Debian 5 (Monitor Redes Ahora Mas Potentes)

Esta es una instalacion por la via manual, aunque Ya Debian y sus derivados ya tiene un Repositorio incluido para esta instalacion Synaptic Packege Manager de Debian o sus derivados, como Ubuntu, y otros, aunque esta guia se pude correo en cualquier ditro teniendo en cuenta las rutas de los archivos simplemente.

AHORA que es NAGIOS ?:

smalllogo7nagiosNagios es un sistema open source de monitorización de redes ampliamente utilizado, que vigila los equipos (hardware) y servicios (software) que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado. Entre sus características principales figuran la monitorización de servicios de red (SMTP, POP3, HTTP, SNMP…), la monitorización de los recursos de sistemas hardware (carga del procesador, uso de los discos, memoria, estado de los puertos…), independencia de sistemas operativos, posibilidad de monitorización remota mediante túneles SSL cifrados ó SSH, y la posibilidad de programar plugins específicos para nuevos sistemas.

Partimos de una instalación limpia de debian etch con apache2. Lo primero que necesitamos es instalar nuestro entorno de compilación. Hay un paquete en debian con todo lo que necesitas para ello.

apt-get install build-essential

El segundo paso es instalar las librerías necesarias para, posteriormente, compilar nagios. Necesitamos las jpeg, png y gd2. Para las dos primeras no tuve ningún problema en instalar las que vienen con la distribución estable:

apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev

Para las gd2 sin embargo me lié un poco ¿necesito las que traen soporte para xpm o las que no?¿es indiferente, tal vez? Cómo no tenía ni idea y no encontré información referente a ello visité la página del proyecto y vi que allí no hacían distinción alguna… Reconozco que lo de los formatos gráficos no es lo mío (ni los de audio, ni los de video, ni…) así que tiré por la calle de enmedio y decidí bajarme los fuentes y compilarlos también:

cd /tmp
wget -c http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar xzf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure
make
make install

Lo siguiente es crear los grupos y usuarios necesarios para nagios:

useradd nagios
passwd nagios
groupadd nagios
groupadd nagcmd
usermod -G nagios nagios
usermod -G nagios josemaria
usermod -G nagcmd nagios
usermod -G nagcmd www-data

Con esto hemos creado un nuevo usuario (nagios), le asignamos una contraseña, creamos dos grupos (nagios y nagcmd). Añadimos nagios a ambos grupos, el usuario www-data (el que usa Apache) al grupo nagcmd y, por comodidad aunque no es indispensable, nuestro usuario común al grupo nagios para que la edición de ficheros de configuración nos resulte maś cómoda.

Ya lo tenemos todo listo. Ahora toca bajarse Nagios, compilarlo e instalarlo. Visita la página oficial para asegurarte de que usas las últimas versiones disponible. Por lo demás, la secuencia usando las versiones actuales es la siguiente:

cd /tmp
wget -c http://tinyurl.com/2jyzao/nagios-3.0a5.tar.gz
wget -c http://tinyurl.com/2mqzzk/nagios-plugins-1.4.9.tar.gz
tar xzf nagios-3.0a5.tar.gz
cd nagios-3.0a5
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
cd ..
tar xzf nagios-plugins-1.4.9.tar.gz
cd nagios-plugins-1.4.9
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

Creamos una contraseña para el acceso web del usuario nagiosadmin y reiniciamos apache:

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
/etc/init.d/apache2 reload

Y por último arrancamos nagios y, si no presenta ningún error, creamos un enlace para que de ahora en adelante arranque de forma automática al iniciar la máquina:

/etc/init.d/nagios start
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Y ya. Con esto nuestro nagios debe de estar totalmente funcional y accesible vía web a través de la URL “http://hostname/nagios”. La configuración por defecto monitoriza algunos servicios en la propia máquina dónde se instala y nos debe de bastar para saber que funciona correctamente. Para sacarle partido debemos de hacer algunas cosillas más que os enumero, aunque con menor detalle, a continuación.

nagiosmap

Configurando Nagios 3x

El primer archivo que tenemos que tocar es /usr/local/nagios/etc/nagios.cfg. En el, entre otras cosas, se dicen los archivos de configuración que nagios tendrá en cuenta. En el apartado correspondiente a los objetos, que es lo único que vamos a tocar, localizamos la entrada correspondiente al fichero activo como ejemplo (linux.cfg). Comentamos la línea correspondiente a este fichero e introducimos una nueva con el archivo cfg que usaremos y que se llamará, por ejemplo, mired.cfg. Editamos el archivo nagios.cfg e introducimos los siguientes cambios (en negritas):

# Definitions for monitoring the local (Linux) host
# cfg_file=/usr/local/nagios/etc/objects/linux.cfg

# Definición de nuestra pequeña red local de ejemplo
cfg_file=/usr/local/nagios/etc/objects/mired.cfg

La red que vamos a definir como ejemplo constará de dos servidores windows, dos linux (uno de ellos el propio que alberga a Nagios), un router que nos da salida a Internet y un switch al que están conectados todos ellos. Vamos a crear el archivo mired.cfg en el directorio especificado y en el incluiremos la definición de estos objetos:

define host{
use linux-server
host_name nagios
alias Nagios Server
address 127.0.0.1
}

define host{
use generic-switch
host_name switch#1
alias Switch
address 192.168.0.2
parents nagios
}

define host{
use generic-switch
host_name router#1
alias Router ADSL
address 192.168.0.1
parents switch#1
}

define host{
use linux-server
host_name intranet
alias Servidor Linux
address 192.168.0.3
parents switch#1
}

define host{
use windows-server
host_name windows#1
alias Servidor principal del dominio
address 192.168.0.4
parents switch#1
}

define host{
use windows-server
host_name windows#2
alias Servidor secundario del dominio
address 192.168.0.5
parents switch#1
}

Como podeis ver las definiciones son bien sencillas. Esta simpleza deriva de que Nagios usa una estructura jerárquica en la que cada objeto hereda las características definidas previamente en las plantillas que está usando. La declaración de estas plantillas se hace en el archivo templates.cfg. Allí podemos ver, por ejemplo, el contenido del objeto linux-server que, a su vez, se deriva de otro denominado generic-host. Por el momento os digo esto sólo por culturilla porque no nos va a hacer falta. Nos basta con saber que tenemos disponibles las siguientes plantillas para empezar a trabajar con ellas:

  • linux-server
  • windows-server
  • generic-printer
  • generic-switch

Otra cosa interesante es la clausula parents mediante la que especificamos las conexiones entre los diferentes hosts. Como veis la única máquina a la que no le hemos asignado un padre es a la que tiene Nagios instalado. Pensad que esa máquina será el corazón de nuestra red de monitorización porque es desde ella desde donde se ejecutaran todos los comandos.

Aunque aquí no aparece ninguna, una máquina puede tener más de un host como padre (imaginaos una estructura de switches con conexiones redundantes entre ellos). Para ello basta con especificar los nombres de todos los padres que consideremos necesarios separados por comas.

A continuación y en el mismo fichero añadiremos las definiciones necesarias para crear grupos y organizar nuestros objetos y para monitorizar un primer servicio común a todos ellos: el PING

define hostgroup{
hostgroup_name linux-servers
alias Servidores Linux
members nagios, intranet
}

define hostgroup{
hostgroup_name windows-servers
alias Servidores Windows
members windows#1, windows#2
}

define hostgroup{
hostgroup_name switches
alias Electrónica de red
members switch#1, router#1
}

define service{
use generic-service
host_name nagios, intranet, switch#1, router#1, windows#1, windows#2
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}

La definición de los grupos es autoexplicativa ¿verdad? Luego nos serviran para organizar las vistas adecuadamente. Y desde luego que esta clasificación no es obligatoria. Podeis crear grupos en función del entorno donde estén las máquinas (desarrollo, preproducción, producción), la localización geográfica, el color de la carcasa… a vuestro rollo, vamos.

Para los servicios quizás sea necesario contar algunas cosas más. Como podemos ver el servicio que hemos definido también deriva de un objeto denomimado generic-service y que también se encuentra en el archivo templates.cfg. Podemos echarle allí un vistazo a esa definición pero por el momento no conviene que os despisteis y lo más interesante es la linea etiquetada como check_command que es donde realmente invocamos al comando que se va a encargar de monitorizar el servicio con una curiosa estructura de argumentos separados mediante signos de exclamación. Para comprender lo que estamos haciendo realmente tenemos que echar mano del fichero commands.cfg. Alli buscamos la definición del comando check_ping:

# ‘check_ping’ command definition
define command{
command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}

$USER1$ es una variable que apunta al directorio donde se encuentran los plugins (/usr/lib/nagios/plugins/) y $HOSTADDRESS$ es la IP del host que estamos monitorizando. Los argumentos que invocamos separados por signos de exclamación se sustituyen aquí por los $ARG1$ y $ARG2$. Es decir, cuando Nagios lanza esta comprobación para, por ejemplo, la máquina que aloja nuestra intranet está ejecutando lo siguiente:

/usr/lib/nagios/plugins/check_ping -H 192.168.0.3 -w 200.0,20% -c 600.0,60% -p 5

No creo que por el momento merezca la pena meterse en muchas interioridades pero básicamente lo que hacemos (y esto es común para casi todos los scripts que monitorizan servicios en Nagios) es pasar un umbral que consideraremos como warning y otro como critical (-w y -c respectivamente). Si te interesa saber más sobre lo que realmente estás haciendo basta con que ejecutes el comando con un -h.

Conocer como funcionan realmente los comandos de nagios es muy importante porque cuando empecemos a desarrollar nuestros propios scripts o queramos modificar los que vienen por defecto lo mejor es ejecutarlos directamente desde línea de comando y comprobar la salida que dan hasta que estemos satisfechos.

Y, si os parece, lo dejamos aquí por el momento. En la próxima entrega añadiremos algunos servicios más y adornaremos con iconos apropiados el mapa de nuestro sistema.

nagios-1

Ahora vamos a empezar por ponerlo bonito. Lo primero que necesitamos son logotipos. En el apartado correspondiente de Nagios Exchange tenemos varias colecciones para elegir. Yo uso habitualmente dos de ellas: Base Images para los ordenadores y Cook Images para la electrónica de red. Los descargamos, los descomprimimos y los copiamos en el directorio /usr/local/nagios/share/images/logos. Cada icono suele venir en cuatro formatos diferentes: gif, jpg, png y gd2.

Ahora tenemos que indicar en las definiciones de nuestros hosts los iconos que queremos usar para representarlos. Como ya os he dicho en otras ocasiones soy un poco torpe para los formatos así que suelo hacer caso a las recomendaciones que leí en algún momento (no recuerdo donde) y escojo el .gif como icono general y el .gd2 para el mapa de estado. No voy a poneros de nuevo la definición de todos los hosts con las líneas que hay que incluir para ello. La sintaxis es tan simple que, creo, basta con uno como ejemplo (lo añadido en negrita):

define host{
use linux-server
host_name nagios
alias Nagios Server
icon_image debian.gif
statusmap_image debian.gd2

address 127.0.0.1
}

Los iconos elegidos para el resto de los hosts han sido network_switch.gif, router.gif, linux40.gif, win40.gif y sus respectivos .gd2 para el mapa de estado. Reiniciamos el servicio y ahora ya se ve mejor ¿verdad?

nagios-mejor

Añadamos ahora algunos sevicios adicionales. Para ello vamos a volver a echarle un vistazo al fichero /usr/local/nagios/etc/objects/commands.cfg. En el apartado SAMPLE SERVICE CHECK COMMANDS tenemos los que vienen preconfigurados y listos para usar pero ojo con algunos de ellos: los que comienzan con check_local sólo sirven para monitorizar servicios en la propia máquina en la que está instalado nagios. Advertido esto, vamos a añadir los siguientes servicios:

  • Número de usuarios, número de procesos y carga de cpu para la máquina que alberga a nagios.
  • Servicios SSH y HTTP en ambas máquinas con Linux.
  • Servicios SMTP y POP3 en la máquina que alberga la intranet y que, para este ejemplo, también hace las veces de servidor de correo.
  • Servicio DHCP en el servidor secundario de dominio de windows.

Para ello añadimos lo siguiente al final de nuestro fichero mired.cfg y volvemos a reiniciar el servicio que ejecuta nagios:

define service{
use generic-service
host_name nagios
service_description Current Users
check_command check_local_users!20!50
}

define service{
use generic-service
host_name nagios
service_description Total Processes
check_command check_local_procs!250!400!RSZDT
}

define service{
use generic-service
host_name nagios
service_description Current Load
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}

define service{
use generic-service
host_name nagios, intranet
service_description SSH
check_command check_ssh
}

define service{
use generic-service
host_name nagios, intranet
service_description HTTP
check_command check_http
}

define service{
use generic-service
host_name intranet
service_description SMTP Response Check
check_command check_smtp!-t 5 -e “midominio.es”
}

define service{
use generic-service
host_name intranet
service_description POP3 Response Check
check_command check_pop!-t 5 -e “midominio.es”
}

define service{
use generic-service
host_name windows#2
service_description DHCP
check_command check_dhcp
}

La única personalización que requiere para adecuarlo a vuestra red es cambiar “midominio.es” en los servicios SMTP y POP3 por los que maneje vuestro servidor de correo.

Ahora la vista del grid de servicios de nuestra red queda bastante mejor (notad que he bajado a propósito el servicio POP3 de la máquina correspondiente para que no todo parezca tan idílico):

nagios-servicios

¿Sigue diciendo alguien por ahí que la configuración de nagios es complicada?

Y aquí lo dejamos por hoy. En la próxima entrega veremos como añadir nuevos servicios a los que vienen por defecto en el fichero commands.cfg

Fuente: http://blogs.clavedigital.com/ncastillo/2009/07/14/nagios-3-en-debian-5-monitor-redes-ahora-mas-potentes/

Resetear contraseña de root con GRUB

Suele ocurrir. Ahorita me preparaba para hacer unas prácticas en una máquina virtual con Debian e intentar explotar unas vulnerabilidades en la versión del kernel instalada. Inicié VirtualBox, cargó todo corréctamente y tenía en frente mío el prompt de login, intenté loguearme como root pero me decía que los datos eran inválidos… no recordaba la contraseña. Me dispuse a resetearla.

La información que expongo a continuación no es el método de explotación de ninguna vulnerabilidad, ni tampoco ninguna técnica de hacking. Simplemente es la demostración de como haciendo uso de un parametro de GRUB podremos conseguir acceso como root a un determinado sistema para realizar las tareas que necesitemos (en este caso, resetear la contraseña del usuario root).

Después de intentarme loguear con 10mil contraseñas diferentes posibles y no tener éxito reinicié la máquina virtual, quedando frente a GRUB:

debian1r Resetear contraseña de root con GRUB

Si leemos todo, vemos que en la parte de abajo nos dice que para editar los comandos antes de bootear alguna entrada simplemente presionamos la tecla e. Lo hacemos y ahora vemos los parametros pasados para el booteo del sistema. Editemos los que contiene la línea kernel. La seleccionamos y de nuevo presionamos e. Al final de la línea agregamos:

init=/bin/bash

Nota: En algunos casos puede que no se encuentre disponible bash, simplemente reemplaza por la shell usada (por ejemplo: /bin/sh).

Presionamos ENTER y con esto quedará modificada la línea. Básicamente lo que hace el parametro init es indicarle a GRUB que archivo se debe ejecutar después de terminar de cargar el kernel, en este caso ejecutamos la shell (/bin/bash).

debian2 Resetear contraseña de root con GRUB

Presionamos la tecla b para que bootee el sistema. Recuerda que la modificación que hemos hecho aquí NO es permanente, si quieres hacer un cambio permanente debes modificar diréctamente el archivo /boot/grub/menu.lst. Después de terminar de cargar el kernel quedamos ante una shell con permisos de root:

debian3 Resetear contraseña de root con GRUB

Probablemente si intentamos modificar/crear algún archivo no podamos ya que no tenemos permisos de escritura. Debemos remontar la partición con permisos de lectura y escritura:

mount -n -o remount,rw /

Ahora tenemos dos opciones (en realidad muchas, pero con estas dos basta :) ):

  1. Cambiar la contraseña de root
  2. Eliminar la contraseña de root

1. Cambiar la contraseña de root

Para hacerlo, simplemente ejecutamos el comando passwd, escribimos la nueva contraseña y la verificamos:

debian5 Resetear contraseña de root con GRUB

2. Eliminar la contraseña de root

Bastaría con editar el archivo /etc/shadow y modificar la primera línea (root) eliminando el contenido de los primeros dos puntos y los segundos, por ejemplo:

debian6 Resetear contraseña de root con GRUB

La dejamos así:

debian7 Resetear contraseña de root con GRUB

Guardamos el archivo y reiniciamos (lo más probable es que toque reiniciar físicamente) el sistema. Ahora verifiquemos que todo haya quedado bien :P

debian8 Resetear contraseña de root con GRUB

¡Aleluya!

Al fin recuperamos el acceso a nuestra cuenta root :)

En un próximo artículo veremos como podemos protegernos de que este tipo de cosas sean realizadas sin nuestro consentimiento.

Fuente: http://www.dragonjar.org/resetear-contrasena-de-root-con-grub.xhtml

Configurar un grub "Seguro "

El objetivo de este post es aprender a configurar un grub de forma "segura" para evitar asi q un usuario no autorizado pueda modificar los valores en tiempo de ejecucion o ingresar al sistema.



Editamos el archivo de configuración del menú de arranque de GRUB (como root)
nano /boot/grub/menu.lst
Buscamos la siguiente línea:
#password topsecret
Descomentamos la linea es decir eliminamos el simbolo (#)
password topsecret

Guardamos y nos salimos del editor


Ahora la contraseña es topsecret, la podemos cambiar por la q deseemos.


Si queremos q ningun usuario lea nuestra contraseña en el archivo menu.lst tambien la podemos codificar en md5

grub update

Ahora ubicados en la consola del grub escribimos
grub> md5crypt

Introducimos la palabra que queremos q nos codifique el programa, este nos devolvera algo asi
$1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/'
Lo copiamos y nos salimos al terminal grub> quit

Ahora vamos al menu.lst y borramos la linea
# password topsecret'
La cambiamos por

password --md5 $1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/
Ya tenemos el grub con contraseña cifrada


Si queremos restringir el acceso en alguna entrada del grub solo es necesario introducir la linea de password como esta en el ejemplo.



title Debian 2.6.29
password --md5 $1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/
root (hd1,0)
kernel /boot/vmlinuz-2.6.29 root=/dev/hdb1 ro single
initrd /boot/initrd.img-2.6.29
boot

Fuente: http://comunidad.dragonjar.org/

Postfix and Spamassassin: How to filter spam

Postfix is a widely used mail transport agent (MTA) used on many popular Unix/Linux systems. Nowadays, networks are overwhelmed by SPAM mail, fortunately, there is a way to filter them with software such as spamassassin.


1. Getting Started



By now, you should have a running SMTP server running postfix. There is a couple of package we need to install: spamassassin and its client spamc

$sudo apt-get install spamassassin spamc

spamassassin package includes a daemon which can be called by user programs such as procmail... but can also be integrated into a Mail Transport Agent such as postfix.


2. Using spamassassin as a standalone daemon

In this part of the tutorial, we are going to make spamassassin run as its own user (default on debian sarge is root), configure some settings and make postfix use spamassassin as an after-queue content filter, which means that the content is going to be filters through spamassassin after postfix has dealt with the delivery.

2.1. Setting up spamassassin

Okie, so you installed spamassassin from debian repository, on default settings, spamassassin runs as root user and is not started. To avoid that, we are going to create a specific user and group for spamassassin. As root user, run the following commands:

#groupadd -g 5001 spamd
#useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
#mkdir /var/lib/spamassassin
#chown spamd:spamd /var/lib/spamassassin

Now, we need to change some settings in /etc/default/spamassassin and make sure you get the following values:

ENABLED=1
SAHOME="/var/lib/spamassassin/"
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s ${SAHOME}spamd.log"
PIDFILE="${SAHOME}spamd.pid"

What happen here, is that we are going to run spamd daemon as user spamd and make it use its own home dir (/var/lib/spamassassin/) and is going to output its logs in /var/lib/spamassassin/spamd.log

2.2. Configuring spamassassin

Now, we need to give spamassassin some rules. The default settings are quite fine, but you might tweak them up a bit. So let's edit /etc/spamassassin/local.cf and make it looks like that:

rewrite_header Subject [***** SPAM _SCORE_ *****]
required_score 2.0
#to be able to use _SCORE_ we need report_safe set to 0
#If this option is set to 0, incoming spam is only modified by adding some "X-Spam-" headers and no changes will be made to the body.
report_safe 0

# Enable the Bayes system
use_bayes 1
use_bayes_rules 1
# Enable Bayes auto-learning
bayes_auto_learn 1

# Enable or disable network checks
skip_rbl_checks 0
use_razor2 0
use_dcc 0
use_pyzor 0

Here, we set spamassassin' spamd default settings to rewrite email subject to [***** SPAM _SCORE_ *****], where _SCORE_ is the score attributed to the email by spamassassin after running different tests, only if the actual score is greater or equal to 2.0. So email with a score lower than 2 won't be modified.

To be able to use the _SCORE_ in the rewrite_header directive, we need to set report_safe to 0.

In the next section, we tell spamassassin to use bayes classifier and to improve itself by auto-learning from the messages it will analyse.

In the last section, we disable collaborative network such as pyzor, razor2 and dcc. Those collaborative network keep an up-to-date catalogue of know mail checksum to be recognized as spam. Those might be interresting to use, but I'm not going to use them here as I found it took long enough to spamassassin to deal with spams only using it rules.

Now, start spamd with the following command line:

#/etc/init.d/spamassassin start

We are almost done, we still need to configure postfix in such a way that it will pass all mails delivered to local mailboxes to spamassassin.



3. Make Postfix call Spamassassin

Now, we need to tell postfix to use spamassassin. In our case, spamassassin will be invoked only once postfix has finished with the email.

To tell postfix to use spamassassin, we are going to edit /etc/postfix/master.cf and change the line:

smtp      inet  n       -       -       -       -       smtpd

to:

smtp      inet  n       -       -       -       -       smtpd
-o content_filter=spamassassin

and then, at the end of master.cf, let's add:

spamassassin unix -     n       n       -       -       pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}

and here we go, our spam filter is setted up, we need to reload postfix settings and everything should be ready.

#/etc/init.d/postfix reload


4. Conclusion

This is an easy to set up alternative which will filter spams using spamassassin and postfix.

There is actually other way to do so (which I will cover later on), like using amavis for instance, which will use spamassassin without needing spamassassin daemon (spamd).

The presented alternative will still send all emails to their recipient (which is something I actually prefer to rejecting and dumping email spotted as spam). One can then make up rule using either its webmail or mail client, filtering all emails having subject like "[***** SPAM" to be moved to a specific place in the client so you can easily move them away from your precious emails, but still in the end, there will be there, so you won't have any emails discarded because they seemed to be spammed when there actually where real important mails.

In the end, this will behave a bit like famous mail providers such as yahoo, google, hotmail ... do, you will have "Bulk Mails" and "Mails".

Hope this helped,

Source: http://www.debuntu.org/postfix-and-pamassassin-how-to-filter-spam-p2

Flash plugin para Firefox en Linux Ubuntu 9.04

La versión 9.04 de Linux Ubuntu trae muchas cosas nuevas mas internamente sobre el sistema que externamente a los ojos de la vista en mi opinión. Una de las cosas que incorpora esta versión es soporte para poder reproducir archivos en Flash desde nuestro navegador Firefox. El sistema incorpora una serie de paquetes que en un principio funcionan muy bien al reproducir cosas como los vídeos de YouTube y algunos mas, hasta hay bien. El problema lo he tenido cuando he necesitado ver la gráfica que muestra Google Analytics con la que veo gráficamente las visitas que tienen mis Blogs …

Tan solo muestra la rueda de carga y no termina de cargar nunca con lo que no podemos ver ese contenido en Flash que se está intentando reproducir. No entiendo el porque del problema ya que los paquetes que incorpora Linux Ubuntu son compatibles con otros contenidos en Flash que encuentro en otras Webs, Banners, Chats, Vídeos

Es una lastima ya que en esta versión se incluyen los Plugins libres de soporte para Flash pero me veo con la necesidad de borrarlos y agregar el soporte manualmente. Si tu también tienes este problema quizás lo que vas a leer a continuación pueda ayudarte, suerte ;)

Si antes de llegar a este manual has tratado de instalar otros plugins para Flash te recomiendo que los elimines así como los paquetes extra que anteriormente pudieras haber agregado al directorio /usr/lib/firefox/plugins/.

Este manual esta basado en un Linux Ubuntu 9.04 recién instalado a la que no se le ha agregado nada para Flash con lo que esta de serie. Una vez sabido esto comenzamos …

Para comenzar accederemos a una Terminal desde el menú Aplicaciones -> Accesorios -> Terminal. Ahora lo que aremos es desinstalar una serie de paquetes que son los que ofrecen el soporte para Flash en Firefox con …

sudo aptitude remove flashplugin-nonfree gnash gnash-common ubufox

Una vez desinstalados ejecutamos el propio navegador Firefox y accedemos a la web de Adobe donde descargaremos el plugin manualmente desde aquí

linuxubuntuflash1

Una vez cargada desplegamos la pestaña para ver la versión de descarga y pinchamos sobre .tar.gz para Linux y se activara el botón de descarga …

linuxubuntuflash2

Pulsamos sobre el y nos lo descargamos aceptando la descarga …

linuxubuntuflash3

Una vez completada la descarga vamos a descomprimirlo situándonos en la carpeta donde tengamos el fichero que acabamos de descargar. Por defecto en Linux Ubuntu 9.04 todo lo que descarguemos vía web desde nuestro navegador se almacena en el Escritorio así que accederemos a el con un simple …

cd Escritorio

Ahora vamos a descomprimir el archivo install_flash_player_10_linux.tar.gz con …

tar xvzf install_flash_player_10_linux.tar.gz

Una vez descomprimido accedemos al directorio con un …

cd install_flash_player_10_linux

En esta carpeta nos encontramos con el instalador del Plugin para Flash y con el Plugin para Flash con la en extensión .so. El instalador no me ha dado muy buenos resultados así que con que copiemos el fichero del plugin en la carpeta correcta del sistema tendremos lo justo y suficiente para que se puedan mostrar correctamente todos los contenidos Flash que podamos encontrar durante nuestra navegación por internet.

Continuamos haciendo la copia del plugin en el directorio para plugins de Firefox

sudo cp libflashplayer.so /usr/lib/firefox/plugins/

Una vez copiado ya podemos cerrar esta Terminal con un simple comando …

exit

También vamos a reiniciar nuestro navegador para que coja el Plugin correctamente y listo !!

Ya podemos acceder a todo tipo de contenidos en Flash sin problemas.

Fuente: http://www.forat.info/2009/06/18/flash-plugin-para-firefox-en-linux-ubuntu-904/

Instalar Java en Debian

| 0 comentarios

Al momento de escoger la instalación, escoger la opción Autoejecutable para linux, ya que la otra opción es para la distribución Red Hat

Descargar

  1. Visite http://java.com
  2. Haga clic en el botón Descarga gratuita de Java
  3. Hay dos tipos de paquetes de instalación. Paquete Linux RPM o archivo binario autoextraíble para Linux. Descargue el paquete que mejor se ajuste a sus necesidades.

    Nota: Linux RPM (Redhat Package Manager) utiliza el RPM para instalar el JRE. Para poder emplear este método deberá disponer de RPM en su equipo. En caso contrario, utilice la otra opción.


Opciones de descarga para Linux
  1. Haga clic en el botón de descarga adecuado para descargar el paquete que mejor se ajuste a sus necesidades. Puede descargar el archivo en cualquier directorio del sistema
  2. Después de descargarlo compruebe que:
  3. El archivo binario autoextraíble para Linux
    • Se llama jre-1_6_0_02-linux-i586.bin
    • Tiene un tamaño aproximado de 15,8 MB.
    Los paquetes Linux RPM
    • Se llama jre-1_6_0_02-linux-i586-rpm.bin
    • Tienen un tamaño aproximado de 15,26 MB.
Para instalar el archivo Linux (autoextraíble)

Siga estas instrucciones:
  1. En el terminal: Escriba:
    su
  2. Escriba la contraseña de usuario root.
  3. Cambie al directorio en el que desee efectuar la instalación. Escriba:
    cd
    Por ejemplo, para instalar el software en el directorio /usr/java/, escriba:
    cd /usr/java/

    Nota acerca del acceso de usuario root: Para instalar el JRE en una ubicación accesible desde todo el sistema, como /usr/local, deberá iniciar la sesión como usuario root para obtener los permisos necesarios. Si no tiene acceso de usuario root, instale el JRE en su directorio de inicio o en un subdirectorio para el que disponga de permiso de escritura.
  4. Cambie los permisos del archivo descargado para hacerlo ejecutable. Escriba:
    chmod a+x jre-6u-linux-i586.bin
  5. Compruebe que disponga de permiso para ejecutar el archivo. Escriba:
    ls -l


Compruebe que el archivo de instalación dispone de permiso de ejecución.
  1. Inicie el proceso de instalación. Escriba:
    ./jre-6u-linux-i586.bin

    Se mostrará el contrato de licencia de archivos binarios. Léalo. Pulse la barra espaciadora para pasar a la página siguiente. Al llegar al final, escriba para proseguir con la instalación.


escriba SÍ para aceptar el acuerdo de licencia
  1. El JRE se ha instalado en su propio directorio. En este ejemplo se ha instalado en el directorio /usr/java/jre1.6.0_. Una vez finalizada la instalación se mostrará la palabra Terminado.


La instalación ha finalizado.
  1. El JRE se ha instalado en el subdirectorio jre1.6.0_ del directorio actual. En este caso, el JRE se ha instalado en el directorio /usr/java/jre1.6.0_. Compruebe que el subdirectorio jre1.6.0_ aparezca en el directorio actual. Escriba:
    ls


Verifique el nombre del archivo de instalación

La instalación ha finalizado. Vaya a la sección Activar y configurar.


Para instalar el archivo Linux RPM (autoextraíble)

Siga estas instrucciones:
  1. En el terminal: Escriba:
    su
  2. Escriba la contraseña de usuario root.
  3. Cambie al directorio en el que desee efectuar la instalación. Escriba:
    cd
    Por ejemplo, para instalar el software en el directorio /usr/java/, escriba:
    cd /usr/java

    Nota acerca del acceso de usuario root: Para instalar el JRE en una ubicación accesible desde todo el sistema, como /usr/local, deberá iniciar la sesión como usuario root para obtener los permisos necesarios. Si no tiene acceso de usuario root, instale el JRE en su directorio de inicio o en un subdirectorio para el que disponga de permiso de escritura.
  4. Cambie los permisos del archivo descargado para hacerlo ejecutable. Escriba:
    chmod a+x jre-6u-linux-i586-rpm.bin
  5. Inicie el proceso de instalación. Escriba:
    ./jre-6u-linux-i586-rpm.bin

    Se mostrará el contrato de licencia de archivos binarios. Léalo. Pulse la barra espaciadora para pasar a la página siguiente. Al llegar al final, escriba para proseguir con la instalación.


escriba SÍ para aceptar el acuerdo de licencia
  1. El archivo de instalación crea el archivo jre-6u-linux-i586.rpm en el directorio actual.


Se termina de descomprimir RPM.
  1. Para instalar los paquetes ejecute el comando RPM en el terminal. Escriba:
    rpm -iv jre-6u-linux-i586.rpm
  2. El JRE se ha instalado en el subdirectorio jre1.6.0_ del directorio actual. En este caso, el JRE se ha instalado en el directorio /usr/java/jre1.6.0_. Compruebe que el subdirectorio jre1.6.0_ aparezca en el directorio actual. Escriba:
    ls


Verifique el nombre del archivo de instalación

La instalación ha finalizado. Vaya a la sección Activar y Configurar

Mozilla 1.4 y posteriores
  1. Vaya al subdirectorio de plug-ins, situado dentro del directorio de instalación de Mozilla.
    cd /plugins
  2. En el directorio actual, cree un enlace simbólico al archivo del JRE ns7/libjavaplugin_oji.so Escriba:
    ln -s /plugin/i386/ns7/libjavaplugin_oji.so

  3. Ejemplo:
    • Si Mozilla está instalado en este directorio:
      /usr/lib/mozilla-1.4/
    • y el JRE está instalado en este directorio:
      /usr/java/jre1.6.0
    • Para ir al directorio de plug-ins del navegador escriba en el terminal:
      cd /usr/lib/mozilla-1.4/plugins
    • Escriba el comando siguiente para crear un enlace simbólico al plug-in de Java para el navegador Mozilla.
      ln -s /usr/java/jre1.6.0/plugin/i386/ns7
      /libjavaplugin_oji.so .
  4. Inicie el navegador Mozilla o reinícielo si ya se estaba ejecutando. Tenga en cuenta que, si se está ejecutando algún otro componente de Mozilla (como Messenger, Composer, etc.) deberá también reiniciarlo.
  5. Vaya a Editar > Preferencias. En la categoría Avanzadas, seleccione Activar Java.
Esto último hacerlo dentro de la carpeta Plugins del Firefox, o de la versión del navegador que este usando de la familia Mozilla.

Fuente: http://java.com/es/download/help/5000010500.xml#selfextracting

Cómo instalar Firefox 3 en Debian Lenny

Fácil:

1. Descargo el navegador aqui y lo guardo en el escritorio (el archivo se llama firefox-3.0.tar.bz2)

2. Lo descomprimo con el botón derecho Extraer aquí

3. Se creará una carpeta llamada firefox, copio esa carpeta a /usr/lib (como superusuario):

cd Desktop && cp -rv firefox /usr/lib

4. Luego me muevo a la carpeta /usr/bin con el comando:

cd /usr/bin

5. Crea un enlace simbólico del archivo que ejecuta firefox 3 con el comando:

ln -s /usr/lib/firefox/firefox firefox3

¡¡¡INSTALADO!!!

Ahora voy a incluirlo en el menú de GNOME. Gracias a Neko un poco más abajo están las instrucciones ;)

1- Botón derecho sobre el icono del menú GNOME>Editar menús

2. Clic en Internet y clic en +Elemento nuevo

3. Relleno el cuadro de diálogo que me aparece como en esta captura y le pongo el icono que me de la gana:

Ya lo puedo ejecutar desde el menú (ovación)

;)

En KDE:

1. Voy a Menu settings (Opciones de Menu), opción Menu Editor (Editor de Menú) y hago clic en el botón New Item (Elemento nuevo)

2. Le doy el nombre, descripcion y comentario en los renglones correspondientes, y en la linea command le indico ruta, ya sea al enlace simbolico de /usr/bin/firefox3 o a la de /usr/lib/firefox/firefox/firefox3

Y pista.

Fuente: http://putolinux.wordpress.com/2008/06/19/como-instalar-el-puto-firefox-3-en-debian-lenny/

Montar discos y particiones NTFS en Debian/Ubuntu

Gracias a ntfs-3g tenemos la posibilidad de montar cualquier disco duro o partición con sistema de archivos en ntfs de manera fácil y rápida, a la vez que nos permitirá interactuar con el disco o partición, leyendo y escribiendo datos. En las versiones más recientes de Debian (5.0, Lenny) y Ubuntu (8.10, Intrepid Ibex) ntfs-3g se encuentra preinstalado, y de no ser así, siempre podemos instalarlo con un simple comando desde la consola dado que se encuentra en los repositorios oficiales de ambas distribuciones.

Instalamos ntfs-3g:

sudo apt-get install ntfs-3g

Ahora bien, antes de montar el disco necesitamos saber el identificador de la partición que queremos montar. Si nuestro disco duro solo tiene un par de particiones (Windows y Linux) lo más probable es que la primera partición (Windows) se encuentre en /dev/sda1. Para saberlo, ejecutamos el comando:

sudo fdisk -l

Con esto nos saldrá una tabla con todos los discos detectados en nuestro equipo, así como sus particiones lógicas y primarias. Buscamos el que tenga NTFS como “File System” y lo identificamos, aunque a como ya mencioné es muy probable que sea /dev/sda1.

Ahora bien, procederemos a montar el disco duro o partición en nuestro sistema de archivos de Linux, para ello debemos crear primero el punto de montaje (directorio) a través del cual accederemos a los recursos del disco o partición a montar:

$ sudo mkdir /media/windows

Con lo anterior creamos el directorio /windows dentro de /media. Ahora solo debemos montar el disco o partición con la ayuda de ntfs-3g. Para ello, usamos el comando:

$ sudo mount -t ntfs-3g /dev/sda1 /media/windows -o force

Con esto el disco debe quedar monntado. Ahora solo falta modificar el fichero fstab para que el disco o partición de Windows se monte automáticamente cada vez que arranquemos el sistema. Para ello, simplemente editamos el fstab con el siguiente comando:

$ sudo gedit /etc/fstab

Una vez abierto el editor, añadimos al final del archivo esta linea (modifícala si el disco que vas a montar se encuentra en una ubicación diferente a /dev/sda1):

/dev/hda1    /media/windows     ntfs-3g    defaults,nls=utf8,umask=007,gid=46 0    1

Guardamos los cambios, cerramos el editor Gedit y listo. El disco se montará cada vez que reinicies el sistema.

Espero que el pequeño tutorial haya sido de ayuda, y más adelante mostraré algunos trucos para montar particiones NTFS en caso de que ntfs-3g no funcione.

Fuente: http://www.pcdigital.org/

Instalando Samba en Ubuntu / Debian para compartir archivos e impresoras en redes Windows

Samba es un programa Open Source que nos permite compartir archivos e impresoras desde una computadora Linux a PC con MS Windows como si fuera una mas de ella, lo cual es muy util ya que podemos tener un servidor de archivos y de impresión basado en Linux colocado en una red donde se conectan PC con Windows.

La página oficial de Samba la puedes encontrar aquí

En este tutorial veremos como instalar Samba en un PC con Ubuntu o Debian instalado.

Lo primero es instalar Samba (como siempre les recuerdo que para instalar cualquier cosa en Linux necesitan tener privilegios de administrador o ser root, en el caso de utilizar Ubuntu colocando sudo antes de los comandos permite adquirir privilegios de root), ejecutamos el siguiente comando:

apt-get install samba smbfs

El archivo de configuración de Samba puede ser encontrado en /etc/samba/smb.conf vamos a editar este archivo, primero realizamos una copia de respaldo:

cp -p /etc/samba/smb.conf /etc/samba/smb_18032007_copia.conf

Siempre es bueno realizar una copia de los archivos de configuración que modifiquemos en caso de que cometamos algun error podamos volver a la configuración inicial, además a mi me gusta agregarle la fecha en que realice la copia para tener un registro.

Luego procedemos a modificar el archivo:

En Debian:

nano /etc/samba/smb.conf

En Ubuntu:

sudo gedit /etc/samba/smb.conf

Nota: Si estas en KDE en cambio de GNOME cambia gedit por kate

En el archivo de configuración cambia donde dice workgroup = MSHOME (puede ser distinto en tu caso) a:

workgroup = MIGRUPO

Donde MIGRUPO es el nombre del grupo de trabajo de MS Windows o el nombre de dominio, de donde será parte el servidor Samba. Tienes que configurar el mismo grupo de trabajo en tus computadoras Windows, esto lo puedes hacer en Panel de control>Sistema>Nombre de Equipo>Cambiar Nombre.

Si quieres tambien puedes cambiar la linea donde dice server string esto es simplemente la descripción que verá tu grupo del servidor puedes colocar algo como:

server string = %h Servidor de archivos

%h lo que hace es imprimir el nombre de host de tu servidor.

Guarda los cambios y sigamos.

Como crear, editar o eliminar usuarios en Samba

Los usuarios que queremos que tengan acceso al servidor Samba deben estar creados como usuarios en nuestro servidor linux, podemos crear un grupo samba y agregar a ese grupo todos los usuarios que tendrán acceso al servidor samba:

Para agregar un usuario a linux podemos utilizar el comando:

adduser nombre_usuario

Nos pedira la clave que queremos utilizar para ese usuario y algunos datos que son opcionales, luego podemos cambiar sus privilegios.

Supongamos que tenemos un usuarios ya creado llamado jose y que lo queremos agregar a los usuarios de Samba, para esto ejecutamos el siguiente comando:

sudo smbpasswd -a jose

Nos aparecerá algo como:

smbpasswd -a jose
New SMB password:
Retype new SMB password:
Added user jose.

Colocamos la clave que queremos que tenga ese usuario para ingresar al servidor Samba, la clave puede ser distinta a la clave que tiene el usuario para ingresar a Linux.

Vamos a crear un nuevo archivo donde estarán todos los usuarios autorizados para conectarse al Servidor de Samba, para esto ejecutamos:

En Debian:

nano /etc/samba/smbusers

En Ubuntu:

sudo gedit /etc/samba/smbusers

En el nuevo archivo copiamos la siguiente línea:

nombre_enlinux = "Nombre en Windows"

Donde nombre_enlinux es el nombre del usuario que tenemos en linux en este caso jose y Nombre en Windows es el nombre del usuario de red en Windows. Tenemos que agregar una nueva línea por cada usuario que creemos para Samba.

Para editar un usuario ejecutamos:

smbpasswd -a nombre_usuario

Para borrar un usuario ejecutamos:

smbpasswd -x nombre_usuario

Ahora que ya tenemos a los usuarios creados procedamos a ver como se compaten archivos y directorios.

Compartiendo Archivos con Samba

Vamos a modificar el archivo de configuración de Samba:

En Debian:

nano /etc/samba/smb.conf

En Ubuntu:

sudo gedit /etc/samba/smb.conf

Busca la línea que dice:

;   security = user

Y la modificamos por:

security = user
username map = /etc/samba/smbusers

Con esto lo que estamos haciendo es diciendole a Samba que vamos a autenticar por usuario y donde está la lista de los usuarios permitidos que fue la que creamos anteriormente.

Para darle acceso a los usuario a sus respectivos directorios home o personales, hacemos lo siguiente:

Buscamos las línea donde dice

;[homes]
; comment = Home Directories;
;browseable = no
;valid users = %S
;writable = no

Y le quitamos el ; para descomentarlos, y en writable le cambiamos no por yes para que el usuario pueda escribir en el directorio.

Siempre que cambiemos la configuración del archivo smb.conf debemos ejecutar el siguiente comando:

testparm

lo que hace este parámetro es verificar que los parámetros del archivo smb.conf estén correctos, luego que nos diga que todo esta bien ejecutamos:

/etc/init.d/samba restart

para aplicar los cambios.

Ahora si quieremos compartir un directorio que llamaremos grupo hacemos lo siguiente, primero creamos la carpeta que queremos compartir si ya no la habíamos creado:

mkdir /home/grupo
chmod 777 /home/grupo

La puedes crear donde quieras. Ahora vamos a modificar el archivo de smb.conf, voy a suponer que ya modificaste la parte de security y agregaste /etc/samba/smbusers a este archivo y que ya sabes como abrirlo para editarlo de ahora en adelante. Agregamos la siguientes lineas al final del archivo:

[Grupo]
comment = Archivos Compartidos
path = /home/grupo
public = yes
writable = yes
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup

Analicemos esta estructura, comment simplemente es un comentario de lo que es la carpeta puedes colocar lo que quieras, path por supuesto es donde esta la carpeta que queremos compartir, public es si quieres hacer esta carpeta disponible publicamente o no, para cambiarlo simplemente coloca no, writable permite definir si se puede escribir en la carpeta o no, create mask y directory mask es la mascara con la que se crearan los archivos (es decir que privilegios tendrán los archivos y directorios creados) si quieras que puedan hacer cualquier acción en la carpeta coloca 0777 en ambas, force group y force user es para forzar que solo un grupo específico o usuario se pueda conectar a esta carpeta.

Si además queremos que solo un grupo de usuarios pueda accesar a la carpeta agregamos esta línea después de writable:

valid users = nombre_usuario1 nombre_usuario2

Donde puedes agregar los usuarios que quieras que tengan acceso.

Luego de que termines de agregar las carpetas que quieras compartir Guarda el archivo y probamos el archivo smb.conf y reiniciamos el servidor de Samba:

testparm
/etc/init.d/samba restart

Compartiendo Impresoras

Voy a suponer que ya tienes una impresora conectada y funcionado en tu PC Linux.

Compartir impresoras en Samba es muy sencillo simplemente busca estas dos líneas en el archivo /etc/samba/smb.conf (Recuerda hacer una copia de respaldo) :

 ...
# printing = cups
# printcap name = cups
...

Y descomentalas:

...
printing = cups
printcap name = cups
...

Guarda el archivo cimprueba los parámetros de smb.conf y reinicia el servidor de Samba ejecutando:

testparm


/etc/init.d/samba restart

Y eso es todo, ya puedes ir a tu PC Windows y buscar en tu grupo de trabajo las carpetas compartidas de Linux en Samba y además agregar la impresora.

Espero que les haya servido este tutorial, más adelante publicaré un tutorial acerca de como configurar un servidor WINS con Samba.

El manual oficial de Samba lo pueden conseguir aquí.



Fuente: http://www.vensign.com/seguridad/instalando-samba-en-ubuntu-debian-para-compartir-archivos-e-impresoras-en-redes-windows/

Instalación/desinstalación de software (debian o ubuntu) - [Comandos Avanzados]

apt-­get update (actualiza la información de nuestro ervidor de paquetes)
apt-­cache search (busca en las definiciones del los paquetes)
apt-­cache show paquete (descripción del paquete)
apt-­cache depend paquete (muestra las dependencias)
apt-­get install (descarga e instala los paquetes solicitados)
apt-­get remove (desinstala los paquetes solicitados)
apt­-get upgrade (actualiza los paquetes instalados a la nueva versión)
apt-­get clean (elimina todos los paquetes descargados)
apt-­build install paquete (compila el tarball, crea el paquete deb y lo instala


Instalación/desinstalación de paquetes .DEB
dpkg ­i paquete ­ Instalación de paquetes .deb
dpkg ­r paquete ­ Desinstala un paquete
dpkg ­­purge paquete ­ Desinstala además los ficherosde configuración.
dpkg ­­force ­r paquete ­ Fuerza la desinstalación
dpkg ­c paquete ­ Muestra el contenido de un paquete.
dpkg ­L paquete ­ Muestra todos los ficheros
dpkg ­S fichero ­ Muestra a qué paquete pertenece
dpkg ­­get ­selections ­ Listado todos los instalados
dpkg ­reconfigure paquete ­ Reconfigura paquetes.


Empaquetar/desempaquetar

tar ­cf archivo.tar fichero01 fichero02 carpeta01 ...
tar ­xvf archivo.tar
tar ­zxvf archivo.tar.gz
tar ­jxvf archivo.tar.bz2
gzip, bzip2 compresión / gunzip, bunzip2 descompresión

Creación de nuevos usuarios
adduser o useradd ­ crea un usuario nuevo.
adduser user group ? añade un usuario a un grupo.
deluser borra un usuario del sistema.
delgroup group ­ elimina un grupo
deluser user group ? elimina un usuario de un grupo


Manueles


man ? muestra el man determinado
man ­f ­ busca la
man ­k ­ busca en el contenido.
man ­ llama la sección del man
apropos palabra_clave ­ Busca dentro de las man

Parada e inicio del sistema

halt ­ detiene el sistema.
reboot ? reinicia el sistema.
init 0 ­ Apaga la máquina.
init 1 ­ Single user
init 6 ­ Reinicia la máquina.
exit ­ Termina la ejecución del programa en curso.
shutdown ? permite parar el sistema con muchas opciones
shutdown ­t +1 ­h now ­ Apaga la máquina.
shutdown ­t +1 ­r now ­ Reinicia la máquina.


Uso de disco / memoria / estado del sistema

mount
­ monta un dispositivo
umount ­ desmonta un dispositivo
df ­ Muestra información sobre el sistema de ficheros
du ­ Muestra un resumen del uso de disco para cada fichero, recursivamente para directorios
free ­ Muestra info del estado de la memoria RAM y SWAP
ulimit ? permite limitar los recursos o visualizarlos


Procesos


kill
Mata un proceso.
ps ­ Muestra los procesos que se están ejecutando en el sistema
pstree ­ Muestra los procesos que se están ejecutando en el sistema, en forma de árbol.
top ­ Muestra las tareas que se están ejecutando en el sistema, la memoria, estado de la CPU,...
at [­f script] [tiempo] ­ Sirve para ejecutar un script a una hora y fecha ..

Procesos activos


fuser ­v archivo ­ Muestra los procesos que están usando un fichero o directorio.
isof | less lista los archivos abiertos por los procesos.
lsof ­c comando ­ Lista los ficheros abiertos por proceso.
Isof +D /tmp ­ Lista los procesos que están usando mi directorio.
Isof ­i :22022 ­ Muestr que proceso se encuentra

Acceso

w -­ Muestra quién y que hace en el sistema.
who - Muestra quién está en el sistema.
last - Muestra una lista de los últimos usuarios que han entrado al sistema.
lastlog ­- Muestra el último acceso de cada usuario de nuestro sistema.
lastb­ -Intentos de conexión fallidos (/var/log/btmp).
faillog - Intentos fallidos y define máximo permitido.
fail2ban -­ Banea las IP con muchos errores de conexión.

Envio de Mensajes

write ­ Envía un mensaje a un usuario determinado.
wall ­ Envía un mensaje a todos los usuarios conectados
mesg ­ Permite enviar mensajes a tu terminal.
talk ­ Permite chatear con otro usuario.

Editores y manipulación de texto

grep ­ Busca una cadena de caracteres dentro de un archivo o varios archivos.
more ­ Muestra la información ajustándolo al tamaño de la pantalla.
nano ­ Editor de texto
vi­ Editor de texto muy común en sistemas unix

Configuración de red

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
ifconfig eth0 down

ifconfig eth0 hw ether 00:01:02:03:04:05
ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 up
dhclient eth0
route add default gw 161.116.32.254
route add ­net 192.168.2.0/24 gw 192.168.1.254.
netstat ­nr ­ Muestra la tabla de routing

Netstat

netstat ­napt ­
Saber qué puertos tiene abiertos.
n ­ No resuelve las direcciones a sus nombres DNS.
a ­ Muestra todos las conexiones.
p ­ Muestra el número y nombre del proceso,dueño de dicha conexión.
t ­ sólo muestra conexiones tcp

Backup/Restore del MBR

dd if=/dev/hda of=mbr.dat count=1 bs=512 - Backup
dd if=mbr of=/dev/hda Restore

Información del sistema

lsusb listado de dispositivos conectados al usb.
lspci listado de dispositivos conectados al pci.
lshw listado completo del hardware visible.
hwinfo listado completo del hardware visible.
uptime­ tiempo en activo.
hwscan escanea el hardware del equipo.

Pantalla de un terminal


clear ­ limpia la pantalla.
reset ­ inicializa la sesión de terminal
tput ­ inicializa la sesión de terminal y mucho más.
scsiadd permite buscar dev scsi en caliente.

Entorno

history ­ Listado de comandos usados por el usuario.
fc ­l ­ Listado de últimos comandos.
profile Define environment para un usuario o grupo.
locale ­ Muestra la zona geográfica configurada
loadkeys es ­ Carga el mapa de teclado español
locale charmap ­ Muestra el código de caracteres usado.
set ­ Muestra las variables locales definidas.
env ­ Muestra las variables de entorno definidas.
export ­ Muestra las variables de entorno declaradas.
export VARIABLE=valor ­ Añadimos una variable.
pwd­ Muestra el directorio actual.

File System

mkfs Crea un File System
mkfs.msdos Crea un File System DOS
mkfs.reiserfs ­ Crea un File System ReiserFS
mkfs.xfsCrea un File System XFS
mkfs.ext3 Crea un File System ext3
mkfs.reiser4 Crea un File System Reiser4
mkfs.vfat Crea un File System VFAT (Windows)
mkfs.jfs Crea un File System JFS
mkswap Crea una SWAP
swapon Activa/desactiva swap
xfs_growfs Amplia un FS XFS en caliente
resize2fs ­ Amplia un FS ext2/ext3 en offline
ext2resize Amplia un FS ext2/ext3 en offline
ext2online ­ Amplia un FS ext2/ext online
mount ­o remount,resize /home ? Amplia un FS JFS online
resize_reiserfs ­f /dev/myvg/homevol(online)
resize_reiserfs /dev/myvg/homevol

Fuente: http://polaxia.com/empty-t2496.0.html;msg12747

Lista de Comandos para Debian

Recopilación de comandos Debian GNU/Linux

Índice:
|
|--1.Prólogo
|
|--2.Trabajo con ficheros
| |---- Varios
| |---- Imprimiendo
| |---- Nano
| |---- Formatos
| |---- Compresión
| |---- Comodines
| |---- Alias
| |---- Entrada/Salida
| |---- Renombrando
| '---- Mtools
|
|--3.Gráficos...
|
|--4.Multimedia
| |---- Imágenes
| |---- Grabación de CDs
| |---- Grabación de DVDs
| |---- Ripeo de CD-AUDIO
| |---- Conversiones
| |---- Otros
| '---- Reproducción
|
|--5.Sistema
| |---- Varios
| |---- Memoria y procesos
| |---- Disco duro
| |---- Entorno
| '---- Instalación de software
|
|--6.Recuperación del sistema
| |---- Usando knoppix live
| |---- Disquete de arranque
| |---- Copiando el MBS
| '---- Copiando el VBS
|
|--7.kernel,logs,hardware...
|
|--8.Redes...
|
'--9.Otros
|---- Mldonkey
|---- Mutella
|---- FTP
|---- IRC
|---- Calculadora
'---- Promps

2.=|«««««« TRABAJO CON FICHEROS »»»»»»|


2.1-Varios


mc ----------------------------------- Explorador de archivos que incluye su propio editor,mcedit.
mcedit ------------------------------- Editor de texto incluído en mc.

ls ----------------------------------- Lista los ficheros de un directorio concreto.
|ls -l ---------------------------- Lista también las propiedades y atributos.
|ls -la --------------------------- Lista ficheros incluidos los ocultos de sistema.
|ls -la | more -------------------- Lista los ficheros de un directorio de forma paginada.
'-------------

cat -n fichero ----------------------- Muestra el contenido de un fichero.(-n lo numera)
pr -t fichero ------------------------ Muestra el contenido de un fichero de manera formateada.Ver imprimiendo.

cat fichero | less -------------,
cat fichero | lmore ------------|
|----> Muestra el contenido de un fichero de forma paginada.
more fichero -------------------|
less fichero -------------------'

zcat fichero -------------------,
zmore fichero ------------------|----> Muestra el contenido de un fichero comprimido (.gz)
zless fichero ------------------'

echo cadena -------------------------- echo nos muestra en pantalla,el texto que le siga.
grep 'cadena' archivo ---------------- Muestra las líneas del archivo que contienen la cadena.

stat fichero ------------------------- Muestra el estado de un fichero.
| stat -f fichero ----------------- Muestra el estado del sistema de ficheros.
'----------------

file fichero ------------------------- Muestra de qué tipo es un fichero.

tail archivo ------------------------- Muestra las últimas líneas de un archivo,10 por defecto.
|tail -n 12 archivo --------------- Muestra las 12 últimas líneas del fichero.
'-------------------

head -nº fichero --------------------- Muestra las primeras (número) líneas de un fichero.
find /usr -name lilo -print ---------- Busca todos los ficheros con nombre lilo en /usr.
find /home/paco -name *.jpg -print --- Busca todas las imágenes .jpg en /home/paco.
---------- ---------- -----
| | |
V V `---->muestra la ruta completa del fichero encontrado
ruta patrón de búsqueda

whereis ejecutable ------------------- Busca ejecutables(ejemplo: whereis find)
type comando ------------------------- Muestra la ubicación del comando indicado.
|si es un comando interno del shell mostrará algo así como:comando is a shell builtin
'------------------------

pwd ---------------------------------- Visualiza el directorio actual.
history ------------------------------ Muestra el listado de comandos usados por el usuario (~/.bash_history)
fc -l -------------------------------- Muestra el listado de los últimos comandos ejecutados.

eject cdrom0 ------------------------- Abre la bandeja del cdrom.
eject -t cdrom0 ---------------------- Cierra la bandeja del cdrom.

cd nom_directorio -------------------- Cambia de directorio
|cd .. ---------------------------- Vuelves al anterior.
|cd .mozilla ---------------------- Entras al de mozilla.(por la puerta grande)
|cd ./.mozilla -------------------- Entras al de mozilla (indicando la ruta relativa)
|cd /home/paco/.mozilla ----------- Entras al de mozilla.(indicando la ruta completa)
'-----------------------

cp -dpR fichero1 ruta_fichero2 ------- Realiza una copia del fichero1 a ruta_fichero2,cambiándole el nombre.
cp -dpR fichero1 /directorio --------- Copia fichero1 a directorio,conservando fichero1 el nombre.
| -R ------------------------------ Copia un directorio recursivamente,salvo los ficheros especiales.
| -p ------------------------------ Copia preservando permisos,propietario,grupos y fechas.
| -d ------------------------------ Conserva los enlaces simbólicos como tales y preserva las relaciones de los duros.
| -a ------------------------------ Lo mismo que -dpR .
'-----------

mv ruta_fichero1 ruta_fichero2 ------- Mueve y/o renombra ficheros o directorios.
mkdir nom_directorio ----------------- Crea un directorio.
rmdir nom_directorio ----------------- Elimina un directorio(tiene que estar vacío).
rm archivo --------------------------- Elimina archivos .
|rm -r directorio ----------------- Borra los ficheros de un directorio recursivamente.Quietorrrrrrr...
|rm *.jpg ------------------------- Borra todos los ficheros .jpg del directorio actual.
'----------------

ln ruta_fichero ruta_enlace --------- Crea un enlace duro (con el mismo inodo,es decir mismo fichero con distintos nombres)
ln -s ruta_directorio ruta_enlace --- Crea un enlace simbólico (con diferente inodo,es decir se crea un nuevo fichero
|que apunta al "apuntado",permitiendo enlazar con directorios y con ficheros de
|otro sistema de archivos)
'-------

diff [opciones] fichero1 fichero2 ---- Compara ficheros.
|diff -w fichero1 fichero2 -------- Descarta espacio en blanco cuando compara líneas.
|diff -q fichero1 fichero2 -------- Informa sólo de si los ficheros difieren,no de los detalles de las diferencias.
|diff -y fichero1 fichero2 -------- Muestra la salida a dos columnas.
'-------------------------

join [opciones] fichero1 fichero2 ---- Muestra las líneas coincidentes entre fichero1 y fichero2.

wc fichero --------------------------- Muestra el nº de palabras,líneas y caracteres de un archivo.
wc -c fichero ------------------------ Muestra el tamaño en bytes de un fichero.


touch [-am][-t] fichero -------------- Cambia las fechas de acceso (-a) y/o modificación (-m) de un archivo.
|touch -am fichero ---------------- A la fecha actual.Si no existiese el fichero,se crearía.
|touch -am -t 0604031433.30 fich -- A la fecha especificada.Si no existiese el fichero,se crearía.
| AAMMDDhhmm.ss ------- Si no se especifican los segundos,tomaría 0 como valor.
|touch fichero -------------------- Usado sin opciones crearía un fichero con la fecha actual.
'------------

split -b 1445640 mozart.ogg mozart- -- Partir un archivo
---------- -------
| V
| nombre elegido para las partes,por defecto x
V
tamaño en bytes de cada parte

cat mozart.* > mozart.ogg ------------ Unir las distintas partes de un fichero cortado con split.

chown [-R] usuario fichero ----------- Cambia el propietario de un fichero o directorio.
chgrp [-R] grupo fichero ------------- Cambia el grupo de un fichero o directorio.

chmod [-R][ugo][+/- rwxs] fichero ---- Cambia los permisos de acceso de un fichero
|
|+: da permisos -: quita permisos
|u: propietario R: recursivo
|g: grupo r: lectura ejemplo: chmod +x fichero ,es lo mismo que: chmod a+x fichero
|o: otros w: escritura explicación: a es la opción por defecto.
|a: todos x: ejecución
|
|s: los atributos suid y sgid,otorgan a un "fichero" los permisos de su dueño o
| grupo respectivamente,cada vez que se ejecute,sea quien sea el que lo ejecute.
| Ejemplo: chmod +s /usr/bin/cdrecord
|------------------------------------------------------
|Cómo afectan los permisos a los directorios:
|r permite ver su contenido(no el de sus ficheros)
|w permite añadir o eliminar ficheros (no modificarlos)
|x permite acceder al directorio.
|------------------------------------------------------
|
| Método absoluto de determinar los permisos: chmod 760 fichero
|
| .---------------------.
| explicación: |dueño | grupo | otros|
| .--------------|---------------------|
| | asci | r w x r w - - - - |
| | binario | 1 1 1 1 1 0 0 0 0 |
| | octal | 7 6 0 |
| |--------------|---------------------|----------------.
| | paso de asci | r w x r w - - - - | activar=1 |
| | a binario | 1 1 1 1 1 0 0 0 0 | desactivar=0 |
| |--------------|---------------------|----------------|
| | paso de | 1 1 1 1 1 0 0 0 0 | r activado=4 |
| | binario | 4+2+1 4+2+0 0+0+0 | w activado=2 |
| | a octal | 7 6 0 | x activado=1 |
| '-----------------------------------------------------'
'---------------------------------------------------------------------------------------


umask nnn ---------------------------- Establece qué permisos serán deshabilitados para los archivos nuevos.
| umask --------------------------- Muestra la configuración actual de umask(normalmente 022)
| umask 000 ----------------------- Deshabilita ninguno,es decir los activa todos.
|
| Atención,que la cosa manda huevos:
| .----------------------------------------. .----------------------------------------.
| | umask 0 2 2 = chmod 7 5 5 | | umask 0 0 0 = chmod 7 7 7 |
| | umask --- -w- -w- = chmod rwx r-x r-x | | umask --- --- --- = chmod rwx r-x r-x |
| '----------------------------------------' '----------------------------------------'
|
| Una manera rápida de averiguar los permisos partiendo de umask es aplicando la siguiente resta:
| 777-022=755 para el primer caso y 777-000=777 para el segundo.
|
| Cuando umask es 022,los permisos normales de un directorio son 755 (rwx r-x r-x) producto de la
| resta 777-022.Sin embargo los de un fichero son 644 (rw- r-- r--).Ésto es así porque se considera
| que lo normal para un fichero es que no sea ejecutable de manera que la resta para averiguar los
| permisos de un fichero sería 666-022=644
|
| Si escribo en una consola umask 000 y a continuación "mkdir nuevodirectorio",éste tendrá todos los
| pemisos: rwx rwx rwx (777) pero ¿y los ficheros que creemos dentro de dicho directorio? pues éstos
| tendrán los permisos : rw- rw- rw- (666) resultado de la resta 666-000=666
|
| ¿Os aclarais?... yo tampoco.
|
| Para que la máscara de permisos permanezca de una sesión a otra tienes que ponerla en el
| .bash_profile de tu home.
'---------------------------------------------------------------------------------------

2.2.-Imprimiendo


lpr fichero -------------------------- Añade un documento a la cola de impresión
| lpr -#3 fichero ----------------- Realiza 3 copias del fichero.
'----------------

lpq ---------------------------------- Muestra los documentos en cola
lprm --------------------------------- Cancela la impresión del documento activo.
| lprm 3 -------------------------- Cancela la impresión del trabajo nº 3.
'-------

pr +2 l70 -w 80 -h "Comandos" fichero- Preprocesador de impresión para formatear un archivo de texto.
| -l70 --------------------------- Establece la longitud de la página de 70 lineas (66 por defecto)
| -w 80 -------------------------- Establece el ancho de linea en 80 caracteres()72 por defecto).
| -h "Comandos" ------------------- Establece "Comandos" como cabecera de cada página.
| +2 ------------------------------ Imprime a partir de la página 2.
| -t ------------------------------ No imprimiría cabeceras ni pies de página.
'------------------
pr l70 -d comandos.txt | lpr --------- Una vez formateado el documento lo manda a la cola.

2.3.- Nano


nano fichero ------------------------- Leer,crear,editar un fichero de texto.
|
| M = Esc/Alt
|
| Ctrl + g ----------- Invocar el menú de ayuda.
| Ctrl + x ----------- Salir de nano.
| Ctrl + o ----------- Escribir el fichero actual a disco.
| Ctrl + r ----------- Insertar otro fichero en el actual.
| Ctrl + w ----------- Buscar un texto en el editor.
| Ctrl + y ----------- Moverse a la página anterior.
| Ctrl + v ----------- Moverse a la página siguiente.
| Ctrl + k ----------- Cortar la línea actual y guardarla en el cutbuffer.
| Ctrl + u ----------- Pegar el cutbuffer en la línea actual.
| Ctrl + l ----------- Redibujar la pantalla actual.
| Ctrl + j ----------- Justificar el párrafo actual.
| Ctrl + m ----------- Insertar un retorno de carro en la posición del cursor.
| Ctrl + _ ----------- Ir a un número de línea en concreto.
| M + g -------------- Ir a un número de línea en concreto.
| M + i -------------- Auto indentar habilitar/deshabilitar.
| M + x -------------- Modo ayuda habilitar/deshabilitar.
| M + p -------------- Modo Pico habilitar/deshabilitar.
| M + m -------------- Soporte para ratón habilitar/deshabilitar.
| M + r -------------- Reemplazar texto en el editor.
| M + e -------------- Expresiones regulares habilitar/deshabilitar.
| M + b -------------- Respaldar ficheros habilitar/deshabilitar.
| M + s -------------- Desplazamiento suave habilitar/deshabilitar.
| M + h -------------- Tecla 'smart home' habilitar/deshabilitar.
| M + y -------------- Coloreado de sintaxis habilitar/deshabilitar.
| M + p -------------- Mostrar blancos habilitar/deshabilitar.
'-------------------------------------------------------------------------

2.4.-Formatos:


[w3m,lynx,links,links2,elinks] fichero.html ---------- Visualizan ficheros html.

tidy fichero.html ------------------------------------ Analiza el código de un documento html.
|tidy -m fichero.html ----------------------------- Corrige,modificándolo,el código del fichero html.
|tidy -m -asxml fichero.html ---------------------- Convierte un html a xml
|tidy -m -asxhtml fichero.html -------------------- Convierte un html a xhtml
|tidy -m -ashtml fichero.xhtml -------------------- Convierte un xhtml a html
'---------------

pstotext fichero.ps | less --------------------------- Visualiza ficheros ps.
pstotext fichero.pdf | less -------------------------- Visualiza ficheros pdf.

pdftops fichero.pdf fichero.ps ----------------------- Convierte un fichero pdf a ps.
pdftotext -layout fich.pdf fich.txt ------------------ Convierte un fichero pdf a texto.
pdftotext -layout -htmlmeta fich.pdf fich.html ------- Convierte un fichero pdf a html.

htmldoc fich1.html fich2.html -f unidos.html --------- Une varios ficheros html en uno solo.
htmldoc --webpage fich1.html fich2.html -f suma.pdf -- Convierte o une varios html en un pdf.
htmldoc --webpage fich1.html fich2.html -f suma.ps --- Convierte o une varios html en un ps.
links2 fichero.html -> guardar con formato...--------- Convierte un fichero html a texto.

antiword fichero.doc | less -------------------------- Visualiza un fichero doc.
antiword -p folio fichero.doc > fichero.ps ----------- Convierte un fichero doc a ps con tamaño folio
antiword -t -w 30 fichero.doc > fichero.txt ---------- Convierte un fichero doc a texto
|-p también puede ser a3,a4,a5,b4,etc
|-w anchura de la linea en caracteres
'--------
.----Notas:-----------------------------------------------------------------.
|-pdftotext y pdftops vienen en el paquete xpdf-utils. |
|-tidy se guía por el estándar de la W3C. |
|-la opción -layout hace que el documento de texto conserve lo mejor posible |
| la disposición fisica del documento pdf:columnas,saltos de linea,etc |
|-links2 convierte un html a texto,conservando totalmente la disposición |
| física del documento html. |
'---------------------------------------------------------------------------'

2.5.-Empaquetado y compresión


.-----------------------------------------------------------------------------
|Comprimir ---------------------- 7z a fichero.7z fichero |
|Descomprimir ------------------- 7z e fichero_comprimido |
|Extraer donde indicamos --------- 7z x fichero_comprimido -o ruta_de_destino |
|Ver contenido ------------------ 7z l fichero_comprimido |
|Chequea el contenido ------------ 7z t fichero_comprimido |
| |
| <<<<>>>> |
| |
|-Comprime en formato 7z, zip, gzip, bzip2 y tar. |
|-Si es un directorio lo hace recursivamente sin emplear la opción -r |
| |
|-Con -t{tipo de fichero} tras las opción "a" elegimos el formato de |
| compresión: |
| 7z a -tgzip fichero.gz fichero |
| |
|-Con -p protegemos con una contraseña el fichero: |
| |
| 7z a -tgzip -p fichero.gz fichero |
| |
|-Para comprimir más de un archivo gz o bz2 antes hay que empaquetarlos |
| en formato tar: |
| 1º) 7z a -ttar prueba.tar *.txt |
| 2º) 7z a -tgzip prueba.tgz prueba.tar |
| |
|-El formato 7z no guarda el dueño o grupo de un fichero por lo que |
| no es recomendable para copias de seguridad. |
|-Es capaz de descomprimir zip,rar,gz,bz2,tar,cab,arj,cpio,deb,rpm |
| aunque para rar necesita del paquete 7zip-rar |
'-----------------------------------------------------------------------------'


Comprimir zip: ------------------ zip -r fichero.zip fichero ;ejemplo: zip -r sinatra.zip ./sinatra/
Descomprimir zip: --------------- unzip archivo.zip
Ver contenido zip: -------------- unzip -v archivo.zip

Descomprimir rar: --------------- unrar e -r archivo.rar (e extrae en el directorio actual)
Descomprimir rar: --------------- unrar x -r archivo.rar directorio de destino (x extrae donde se indique)
Ver contenido rar: -------------- unrar v archivo.rar

Comprimir gz: ------------------- gzip -r fichero ; ejemplo: gzip -r ./sinatra
Descomprimir gz: ---------------- gzip -d fichero.gz
Ver contenido gz ---------------- gzip -c fichero.gz

Comprimir bz2: ------------------ bzip2 fichero ; ejemplo: bzip2 ./sinatra/*.ogg
Descomprimir bz2: --------------- bzip2 -d fichero.bz2
Ver contenido bz2: -------------- bzip2 -c fichero.bz2

NOTA: r equivale en todos los casos a recursivo

Mientras que zip comprime y empaqueta,gzip ó bzip2 sólo comprimen ficheros,no directorios,para eso existe tar.

Ficheros tar
Empaquetar: --------------------- tar -vcf archivo.tar /fichero1 /fichero2 ...(fichero puede ser directorio)
Desempaquetar: ------------------ tar -vxf archivo.tar
Ver contenido ------------------- tar -vtf archivo.tar

Para comprimir varios ficheros y empaquetarlos en un solo archivo hay que combinar el tar y el gzip o el bzip2
de la siguiente manera:

Ficheros tar.gz (tgz)
Empaquetar y comprimir: --------- tar -zvcf archivo.tgz directorio
Desempaquetar y descomprimir: --- tar -zvxf archivo.tgz
Ver contenido: ------------------ tar -zvtf archivo.tgz

Ficheros tar.bz2 (tbz2)
Empaquetar y comprimir: --------- tar -jvcf archivo.tbz2 directorio
Desempaquetar y descomprimir: --- tar -jvxf archivo.tbz2
Ver contenido: ------------------ tar -jvtf archivo.tbz2

.-opciones de tar:
| -c : crea un nuevo archivo.
| -f : cuando se usa con la opción -c,usa el nombre del fichero especificado para la creación del fichero tar
| cuando se usa con la opción -x,retira del archivo el fichero especificado.
| -t : muestra la lista de los ficheros que se encuentran en el fichero tar
| -v : muestra el proceso de archivo de los ficheros.
| -x : extrae los ficheros de un archivo.
| -z : comprime el fichero tar con gzip.
| -j : comprime el fichero tar con bzip2.



+
+ 2.6.-Comodines:
+
+ (~) Sustituye el directorio home de manera que:
+
+ ~/comandos.txt equivale a /home/paco/comandos.txt (si estamos en nuestro propio directorio)
+ ~pepe/comandos.txt equivale a /home/pepe/comandos.txt (pepe es otro usuario)
+
+ (?) Sustituye un solo caracter.Ejemplos:
+
+ ls p?pe -------- mostraría todos los ficheros cuyos 1º 3º y 4º caracteres fuesen p,p y e
+ ls ?epe -------- mostraría todos los ficheros acabados en epe
+
+ (*) Sustituye cualquier sucesión de caracteres.Ejemplos:
+
+ ls .ba* -------- muestra todos los directorios o ficheros que comiencen con .ba
+ ls *. ---------- muestra todos los archivos ocultos.
+ rm -r * -------- otra manera de desinstalar el sistema operativo.
+ rm *.jpg ------- borra todas las imágenes jpg
+ oggdec *.ogg --- pasa de ogg a wav todos los ogg del directorio en el que estamos
+
+ (Wink Puesto entre dos comandos hace que tras el primero se ejecute el segundo.Ejemplos:
+
+ nano nuevo.txt ; cat nuevo.txt
+
+ nos abrirá el editor nano para que escribamos lo que queramos en un nuevo archivo que
+ se llamará nuevo.txt y tras guardar y salir del editor,cat nos mostrará el contenido
+ de lo que acabamos de crear
+
+ sleep 5m ; xmms canción.mp3 --------- tras 5 minutos se iniciará el xmms (ver más abajo)
+______________________________________________________________

+ 2.7.-Alias:
+
+ Es el mote que se le pone a un comando,de manera que la próxima vez que queramos ejecutarlo
+ basta con llamarlo por su mote.Escribiendo alias sin parámetos nos aparecen la lista de alias
+ que tenemos. Ejemplos
+
+ Si ejecuto:
+
+ alias rm='mv --target-directory=/home/paco/.papelera_rm'
+
+ le he puesto el mote rm a mv --target-directory=/home/paco/.papelera_rm
+ Así la próxima vez que borre algo con rm ,irá a parar al directorio .papelera_rm
+
+ Pero si lo escribo así: \rm loquesea el alias será ignorado.
+
+ Otro:
+
+ alias cdrip='cdda2wav -B -D /dev/hdd -s -x'
+ cada vez que escriba en una consola cdrip me ripeará el CD que tenga en /dev/hdd
+
+ Para que los alias permanezcan de una sesión a otra hay que ponerlos en el archivo /home/.bashrc
+
+ nota1:el mote y el comando al que sustituye bien pegaditos al signo igual.
+ nota2:el comando entre comillas simples.
+______________________________________________________________

______________________________________________________________
+
+ 2.8.-Conceptos de entrada -salida (I/O)(E/S):
+
+ stdin ---- entrada estandar para datos,el teclado (0)
+ stdout --- salida estandar para los programas,la pantalla (1)
+ stderr --- salida estandar para los mensajes de error,la pantalla (2)
+- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ Redirecciones,un redireccionador redirige la salida de un comando a un fichero
+
+ (<) ------. .--> comando <>) ------|---> Su sintaxix suele ser:|--> comando > fichero
+ (>>)------' '--> comando >> fichero
+
+ Ejemplos:
+
+ dpkg --get-selections > programas_instalados.txt
+
+ En vez de mostrar la salida por pantalla ,nos la vuelca al fichero programas_instalados.txt
+
+ Si ese fichero ya existía ha sido sobreescrito su contenido,pero si usamos >> no borrará nada
+ y añadira su salida al final del fichero.Otro ejemplo con echo:
+
+ echo "fin de la lista de programas instalados" >> programas_instalados.txt
+
+ en vez de mostrar en pantalla el texto,lo añade al final del fichero programas_instalados.txt
+
+ Para despistar los de Unix se han inventado el mismo caracter pero al revés:
+
+ cat <> fichero.txt ejemplo: xmms 2> error_xmms.txt
+
+
+ Tuberías,Una tubería hace que la salida de un programa sea la entrada de otro.
+
+ (|) Su sintaxis suele ser: comando | comando.
+
+ Ejemplos:
+
+ cat programas_instalados.txt | grep mozilla
+
+ Aquí le hemos cambiado la salida natural a cat y se la hemos mandado a grep para que busque la
+ palabra mozilla dentro del fichero programas_instalados.txt
+
+ pr l70 -d comandos.txt | lpr Una vez formateado el documento (pr) lo manda a la cola (lpr)
+___________________________________________________________


2.9.-Renombrando


mp3rename opciones *.mp3 ------------- Renombra ficheros mp3 basándose en las etiquetas incluidas en los mp3 (id3tags)
|
|Opciones:
|-i --- Sólo muestra los id3 de los ficheros.
|-p --- pone un cero al track cuando es menor que 10.
|-s --- Se usa para configurar las opciones por defecto,las cuales quedarian definidas en el fichero ~/.mp3rename
| |&t -- título
| |&b -- album
| |&a -- artista Hay que usarlas entrecomilladas para que no sean interpretadas por el shell
| |&y -- año
| |&k -- pista
| '----
|Ejm : 1º- mp3rename -s '&a_&t' --- establecería artista_título como predeterminadas de manera que
| 2º- mp3rename *.mp3 ------- renombrará los mp3 como: "artista_título.mp3"
'-------

rename ------------------------------- Script de Perl que sirve para renombrar ficheros usando expresiones de Perl
|rename 'y/A-Z/a-z/' *.zip -------- Cambiamos todas las mayúsculas a minúsculas(en este caso en el nombre de los .zip)
|rename 'y/ /_/' *.jpg ------------ Renombramos el espacio en blanco por _ (en este caso en el nombre de los .jpg)
|rename 's/expresión //' *.mp3 ---- Eliminamos una expresion en el nombre de todos los .mp3 del directorio actual
| |rename 's/M.Oldfield//' *.mp3 -- quitaría "M.Oldfield" del nombre en todos los mp3
| '----
'-------

mrename 'ruta_fich.' prefijo opción -- Añade un prefijo al nombre de los ficheros.
|
|Opciones:|-c --- Copia los ficheros con un nuevo nombre.
| |-m --- Los renombra.
| '-----
|Ejm: cd/ruta a los ficheros ------ debe ejecutarse en el directorio en donde se encuentren.
| mrename '*.jpg' boda -m ----- añadiría boda a los nombres de los jpg
'----------

mmv ";*.original" "#1#2.nuevo" ------- Comando para cambiar el sufijo del nombre de los archivos.En su sintaxis #1
| sustituye a la primera expresión regular( y #2 a la segunda(*). Aunque con este comando el( representa cualquier subdirectorio y es la forma de darle recursividad a la acción.)
|Ejemplos:
|
| mmv "*.cbz" "#1.zip" -------- Renombraría todos los cbz a zip,conservandose el nombre que precede a .cbz
| mmv ";*.cbz" "#1#2.zip" ----- Renombraría todos los cbz a zip en el directorio actual y sus subdirectorios
|
'---------------------------------------------------------------------------------

2.10.-Mtools


Colección de herramientas que permite acceder y manipular ficheros de MS-DOS sin necesidad de un montaje previo.
El uso de comodines refiriéndose a archivos del disquete requiere que los nombres se entrecomillen para que no sean
interpretados por el shell sino por herramientas de mtools.Más información:"info mtools"

minfo unidad: ------------------------ Muestra información sobre el sistema de archivos MS-DOS de una unidad (a:)
mformat a: --------------------------- Formatea un disquete,donde "a:" es "dev/fd0"
mbadblocks a: ------------------------ Se emplea tras formatear para buscar errores.
mcd [a:] ----------------------------- Informa del directorio MS-DOS en curso o bién cambiamos a uno.
mdir -a a:---------------------------- Muestra el contenido de un directorio MS-DOS.
mcopy -------------------------------- Copia de ficheros MS-DOS a/o desde Unix.
|mcopy "a:directorio/*" ----------- copiaría el contenido de "a:directorio/*" al directorio en curso.
|mcopy "a:directorio/*" ~/disquete copiaría el contenido de "a:directorio/*" al directorio "disquete".
|mcopy *.txt a:bill --------------- copiaría al directorio "bill" del disquete todos los .txt.
'-----
mmd a:nuevo_directorio --------------- Crea un directorio MS-DOS
mdel "a:bill/*.txt" ------------------ Elimina un fichero MS-DOS.
mrd a:bill --------------------------- Elimina un directorio MS-DOS
mdeltree a:bill ---------------------- Elimina recursivamente un directorio MS-DOS
mren "a:direct1/*.txt" a:direct2 ----- Mueve o renombra ficheros MS-DOS
mmove a:directorio1 a:directorio2 ---- Mueve o renombra ficheros o subdirectorios MS-DOS


Comandos relacionados:

mkfs.msdos /dev/fd0 ----------------- Formatea en formato msdos un disquete.
fdformat /dev/fd0 -------------------- Formatea en formato msdos un disquete y después verifica el formateo.




3.=| GRÁFICOS

_______
|Comando ============================== Descripción|

glxinfo ------------------------------ Información sobre la biblioteca gráfica OpenGL y su extensión GLX para X-Window
direct rendering: YES ---------------- Salida de glxinfo que nos indica si tenemos activada la aceleración 3D.
showrgb ------------------------------ lista los colores reconocidos por el sistema y su valor RGB

bsdgames ----------------------------- Colección de juegos para consola. (__)
sl ----------------------------------- Tren pasando. (oo)
apt-get moo -------------------------- La supervaca del apt -----------> /------ \/
cowsay muuuuu ------------------------ Una vaca hablando en su idioma / | ||
cowthink -p ¿¿muuuuu?? --------------- Una vaca pensando. * /\---/\
cowsay -f tux hola ------------------- Tux saludando.Ver /usr/share/cowsay/cows.

banner [texto] ----------------------- Muestra un cartel en pantalla
figlet [opciones] [texto]------------- Derivado del anterior pero más versatil.También se puede usar de forma interactiva.
|-w valor ------------------------- Indicamos la anchura del texto,el valor por defecto es 80
|-t ------------------------------- La salida se mostrará en su máxima anchura.
|-c ------------------------------- La salida se mostrará centrada.
|-f tipo -------------------------- Indicamos la tipografía de la salida.Ver /usr/share/figlet/fichero.flf
| |small,shadow,mini,etc. Podemos indicar la ruta donde buscará las fuentes: figlet -f ~/fuentes/konto
| '------
|Ejemplo: #figlet -f small texto
| _ _
| | |_ _____ _| |_ ___
| | _/ -_) \ / _/ _ \
| \__\___/_\_\\__\___/
'--------------------------


___________ _______
|Descripción ================================== Comando|

Capturar la pantalla ------------------------- xwd -root -screen > pantalla.xwd
Capturar la pantallas tras 5 segundos -------- sleep 5 ; xwd -root -screen > pantalla.xwd
Capturar una ventana ------------------------- xwd > ventana.xwd

Capturar la pantalla en cualquier formato ---- import -window root pantalla.ps (también jpg,png,gif,etc)
Capturar la pantalla tras 5 segundos --------- sleep 5s ; import -window root pantalla.png
Capturar una ventana en cualquier formato ---- import -window - ventana.jpg

Ver imágenes en formato xwd ------------------ xwud -in pantalla.xwd
Visualizar imágenes (incluídas las xwd) ------ display imagen.xwd
Visualizar gif animados ---------------------- animate remero.gif (también admite delay)

.-ascii/color-- cacaview imagen.jpg (también png,gif,etc)
Visualizar imágenes en consola |
'-ascii ------- asciiview imagen.jpg (también png,gif,etc)

Ver las propiedades de una imagen ------------ identify imagen.gif

Extraer las imágenes de un pdf --------------- pdfimages fichero.pdf nombre_para_las_imágenes: pdfimages Xmen.pdf xmen
Extraer las imágenes de un pdf --------------- convert fichero.pdf nombre_y_formato_imágenes:convert fichero.pdf imagen.png

Crear un catálogo pdf con imágenes ----------- convert *.jpg catálogo.pdf
Crear un índice gráfico con miniaturas ------- display "vid:*.jpg"

Convertir una imagen a blanco y negro -------- convert imágen_color.jpg -monochrome imágen_b/n.jpg

Cambiar el formato de UNA imagen ------------- convert imagen_original.ppm imagen_nueva.jpg
Cambiar las dimensiones de UNA imagen -------- convert -sample 100x50 imagen_original.jpg imagen_nueva.jpg

Cambiar el formato de VARIAS imágenes ------- mogrify -format jpg *.ppm (convierte a .jpg todas las imágenes .ppm)
Crear miniaturas de VARIAS imágenes ---------- mogrify -format png -sample 20%x20% *.jpg
|miniaturiza nuestras imágenes jpg cambiándoles el formato.
o _o _ o |ATENCIÓN porque de no cambiárselo nos eliminaría las originales
\...\/_\.../ \....|_|.../ \..../_/.../ '---------------------------------------------------------------
\___\\___/ \___|\___/ \__//____/
\ | /

Crear un gif animado con varios jpg ---------- convert -delay 15 imag1.jpg imag2.jpg imag3.jpg remero.gif
|-delay 15 pausa entre imágenes (centésimas de segundo)
'--------------------------------------------------------

Extraer los fotogramas de un gif animado ----- convert remero.gif -adjoin remeros.jpg

Añadir texto a una imagen :
columna_ _fila
| |
convert -font courier -fill yellow -pointsize 25 -draw 'text 100,250 remeros' imagen.jpg imagen_con_txt.jpg
----- ----- ------------ ------------------ -------
| | | posición del texto |
V V V v
fuente color de fuente tamaño de la fuente |texto
|si éste tuviese más de una palabra
|habría que ponerlo entre dobles comillas
'---------------------------------------
.----Notas:----------------------------------.
|-xwd viene en el paquete xbase-clients.
|-pdfimages viene en el paquete xpdf-utils.
|-las cacas viene en el paquete caca-utils.
|-asciiview viene en el paquete aview
|-aafire viene en el paquete libaa-bin
|-convert,animate,identify,mogrify import
| y display vienen en el paquete imagemagick
|-libaa es una libreria que nos permite ver
| las imágenes,incluso las animadas,mediante
| caracteres ascii.
|-libcaca permite lo mismo que libaa pero en
| color
'--------------------------------------------'

MULTIMEDIA


Nota

Salvo cdrecord y dvdrecord los demás se pueden usar en un kernel sin emulación SCSI.
Para usar cdrecord y dvdrecord con un kernel 2.6 ,sin emulación SCSI, podemos probar
a realizar un scanbus sobre nuestro dispositivo grabador para ver si lo detecta:
# cdrecord -scanbus dev=/dev/hdc
en cuyo caso lo podremos usar sin más,sustituyendo la nomenclatura propia de cdrecord
dev=0,0,0 por dev=/dev/hdc (ver nota 1 más abajo)

4.a.-Imágenes

mkisofs -R -J -T -o imagen1.iso fichero1 --------- Crea una imagen de un fichero del disco duro.
dd if=/dev/cdrom of=imagen.iso -----------------,- Crea una imagen del cdrom y la vuelca en el fichero imagen.iso
cat /dev/cdrom > debian.iso -------------------'


nrg2iso imagen.nrg imagen.iso -------------------- Convierte una imagen nrg a iso
bin2iso imagen.cue ------------------------------- Convierte una imagen bin/cue a iso
ccd2iso imagen.img imagen.iso -------------------- Convierte una imagen img/ccd/sub/cue a iso
mdf2iso imagen.mdf imagen.iso -------------------- Convierte una imagen mdf/mds a iso

mount -t iso9660 -o loop imagen.iso p.montaje ---- Monta una imagen.
umount p.montaje --------------------------------- Desmontar una imagen.

md5sum archivo.iso > archivo.iso.txt ------------- Generar la suma control MD5 de un archivo.
md5sum -w -c archivo.iso.txt --------------------- Verificar la suma control MD5 de un archivo.
|archivo.iso y archivo.iso.txt deben estar en el mismo directorio

4.b.-Grabación de CD


Grabar un CD de datos/imagen: -------------------- cdrecord -v dev=0,0,0 fs=16M speed=30 imagen.iso
Copiar un CD de datos/imagen: -------------------- cdrecord -v dev=0,0,0 fs=16M speed=30 -eject -isosize /dev/sr1
Grabar un CD de audio (cda):---------------------- cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav
Copiar un CD audio (cda) ------------------------- cdrdao copy -v 2 --device 0,0,0 --source-device 0,1,0 --reload \
--eject --on-the-fly --fast-toc --paranoia-mode 0

Grabar CD mixto: --------------------------------- cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav -data imagen.iso

.--1ª sesión --------------- cdrecord -multi imagen1.iso (ver nota 1)
/---dónde acabó la sesión --- cdrecord -msinfo --> nos da un nº que usaremos en el siguiente paso.
Grabar CD multisesión
\---creamos nueva imagen----- mkisofs -R -J -T -C nº -M /dev/sr0 -o imagen2.iso fichero2
'--2ª sesión --------------- cdrecord -multi imagen2.iso

Borrar un CD±RW: -------------------------------- cdrecord -v blank=fast (ver cdrecord blank=help)

4.c.-Grabación de DVD

Grabar un DVD de datos/imagen: ------------------- growisofs -Z /dev/sr0 -R -J archivo (growisofs llama a mkisofs)
Grabar DVD multisesión: -------------------------- growisofs -M /dev/sr0 -R -J archivo (-M añade más datos al dvd)
Grabar una imagen ya creada: --------------------- growisofs -dvd-compat -Z /dev/sr0=imagen.iso
Borrar un DVD±RW: -------------------------------- dvdrecord -v dev=0,0,0 blank=fast (ver dvdrecord blank=help)
Ripear un video DVD ------------------------------ dvdbackup -M -i/dev/sr0 -o/home/paco/copia_dvd/
'------------------------------ vobcopy -i /dev/sr0 -m -o /home/paco/copia_dvd/



Nota


-1.Se pueden establecer valores predeterminados para dev,el dispositivo de grabación;
fs,el tamaño del bufer(nunca menor que el de la grabadora) y speed,la velocidad de
grabación,indicándolo en el fichero /etc/default/cdrecord y simplificando de esta
manera la sintaxis.
-2.growisofs viene en el paquete dvd+rw-tools.
-3.dvdrecord viene en el paquete dvdrtools.



4.d.-Ripeo de un CD


-|cdda2wav -B -H -D /dev/sr1 -s -x -------------- extrae disco completo en archivos wav separados.
|cdda2wav -H -D /dev/sr1 -s -x -t 5 ------------ extrae el track nº 5
'-----------------------------

-| cdparanoia -B -d /dev/sr1 -------------------- extrae disco completo en archivos wav separados.
| cdparanoia 5 -d /dev/sr1 --------------------- extrae el track nº 5
'-----------------------------

-|abcde -d /dev/sr1 -N -x -o mp3 ---------------- extrae disco completo en archivos mp3 separados.
|abcde -d /dev/sr1 -N -x -o mpc ---------------- extrae disco completo en archivos mpc separados.
|abcde -d /dev/sr1 -N -x -o ogg ---------------- extrae disco completo en archivos ogg separados.
|abcde -d /dev/sr1 -N -x -o ogg tracks 1-3 5 --- extrae las tres primeras canciones y la quinta.
'------------------------------ | -d indica el dispositivo
| -N actua con las opciones por defecto,sin preguntar
| -x expulsa el cd al acabar
| -o tipo de archivo resultante

Nota

-abcde conserva los id3 de los temas al pasarlos al disco duro,es decir artista,título,etc.
Requiere de oggenc,lame,cdparanoia o cdda2wav,id3v2 y cd-discid y opcionalmente normalize.


4.e.-Conversiones


Pasar de wav a mp3: ------------------ lame -h -m j tema.wav ----------------(-b bitrate -h mayor calidad; -m j join stereo)
Pasar lote de wav a mp3 -------------- lame -h -m j --nogap *.wav
,-------------- oggenc -b 128 -q 5 tema.wav ----------(-b bitrate ;-q calidad (valores entre 0 y 10)
Pasar de wav a ogg ----|-------------- oggenc *.wav -------------------------(convierte todos los wav en un solo fichero ogg)
'-------------- oggenc -a -l -t *.wav ---------------(convierte todos los wav en sus respectivos ogg)
Pasar de ogg a wav ------------------- oggdec tema.ogg ----------------------(oggdec *.ogg para convertir un lote)
Pasar de mp3 a wav ------------------- lame -h --decode tema.mp3 tema.wav
Pasar de asf/wma a wav --------------- mplayer -ao pcm fichero.asf



4.f.-Otros


Unir varios ficheros de audio -------- soxmix tema1.ogg tema2.ogg mezcla.ogg (también mp3,wav,au,etc)

|Ajustar el volumen ------------------ normalize-audio *.wav
|de uno o varios --------------------- normalize-mp3 *.mp3
|ficheros de audio ------------------- normalize-ogg *.ogg

Nota

-oggdec y oggenc vienen en el paquete vorbis-tools
-Las conversiones entre formatos comprimidos las he descartado pues hay una pérdida notoria de calidad.


4.f.-Reproducción


aafire ----------------------------------------> Fuego animado.
cacafire --------------------------------------> Fuego animado a color.
cacademo --------------------------------------> Demostración de arte ascii a color.
cacaball,cacamoin,cacaplas --------------------> Variados gráficos animados a color.
bb --------------------------------------------> Impresionante demostración audiovisual de arte ascii.
aatv ------------------------------------------> Programa para ver la tele mediante código ascii.
xaos -driver aa -------------------------------> Indicamos a xaos que use las librerias aalib para visualizar fractales.

.-------> aaxine video.wmv
.--- en ascii |-------> mplayer -vo aa video.avi
/ '-color-> mplayer -vo caca video.mpg
Ver vídeo en consola --|
\ .-------> mplayer video.avi (también mpg,wmv,etc)
'-------------|-------> mplayer -vcd 1 (para ver un vcd)
'-------> mplayer -dvd-device /dev/hdd dvd://1 (para ver un dvd)

,---- digital ------------> play tema.ogg
/ '-----> mocp (ncurses)
Escuchar audio ----|
\ ,-----> tcd (ncurses)
'---- cd -----------------> cdplay -d /dev/hdd


,-- mms (asf/wma) --------> mimms -t 20 -o radio3_uned.asf mms://...
/ |-t tiempo de grabación en mnts.
Grabar emisiones --| |-o nombre que queremos para la grabación.
\ '---------------------
'-- shoutcast(mp3/ogg)----> streamripper http://... -l 3600
|-l tiempo de grabación en sgs.



Cómo conseguir la dirección mms:
| Una vez en la web de la radio que nos gusta,por ejemplo radio3,nos vamos al
| enlace que nos indican para el comienzo del streaming y copiamos su ruta o
| bién nos bajamos dicho enlace,que es un fichero asx que contiene las direc-
| ciones mms,lo abrimos con un editor de texto y las buscamos.
| Pero si el enlace es código javascript al aparecer la ventana emergente,
| miramos su código fuente y buscamos (Ctrl+f) por asx o mms y ahí estarán.
|.............................................................................
|
'-----------------------------------------------------------------------------'

.---- Notas:---------------------------------------------------------------------------.
|- Con -vo le indicamos al mplayer el driver de salida de video,en este caso aa o caca
| para verlo en ascii.
| Con "mplayer -vo help" podemos ver los drivers de salida de video disponibles.
|- Si tenemos un enlace de nuestro dispositivo a /dev/dvd, podemos simplificar la
| sintaxises,ya que es el sitio por defecto en el que mira el mplayer
|- aaxine viene en el paquete xine-ui de sid y lee los mismos formatos de video que xine.
|- play y soxmix vienen en el paquete sox.
|- cdplay viene en el paquete cdtool.
|- mocp viene en el paquete moc.
|- somaplayer y mplayer pueden igualmente reproducir audio digital y audio cd

5.SISTEMA

man comando ---------------------,
man --help ----------------------|---> Muestra información sobre el comando.
info comando --------------------'
help comando ------------------------- Muestra información sobre un comando interno del shell(bash).

apropos palabra_clave --------------- Busca dentro de las descripciones de man la palabra clave.
apropos -e palabra_clave ------------- Busca la palabra exacta.

cal -my ------------------------------ Muestra el calendario.
uptime ------------------------------- Muestra la hora,tiempo de funcionamiento,nº usuarios conectados y la carga media.

tzconfig/tzselect -------------------- Programas interactivos que permiten selecionar la zona horaria.
grep UTC /etc/default/rcS ------------ Comprobamos si el reloj hardware mantiene la hora local o universal (UTC)
date --------------------------------- Muestra la fecha y hora del sistema,en formato local.
date -u ------------------------------ Muestra la fecha y hora en formato UTC(Tiempo Universal Coordinado).
hwclock --show ----------------------- Muestra el reloj harware (también llamado reloj de la BIOS y reloj CMOS).
hwclock -systohc --------------------- Pone el reloj harware a la hora del sistema.
ntpdate servidor NTP ----------------- Ajusta directamente la hora del sistema sincronizándola con la de un servidor NTP.
ntpd --------------------------------- Demonio que ajusta el reloj de forma gradual sincronizándolo con servidores NTP.


Lista de comandos de GNU/Linux (II)


watch -n tiempo comando -------------- Ejecuta un comando cada x segundos (2 por defecto).
watch -n 1 date ---------------------- Igual que date pero en este caso veríamos correr los segundos.

clear -------------------------------- Limpia la pantalla.
reset -------------------------------- Restaura la Consola.Útil para cuando empiezan a aparecer caracteres raros.

uname -a ----------------------------- Versión del kernel
hostname ----------------------------- Visualiza el nombre de la máquina.
tty ---------------------------------- Muestra el nombre de fichero de la terminal conectada a la salida estándar.

/etc/init.d/servicio stop ------------ Para un servicio/demonio
/etc/init.d/servicio start ----------- Inicia un servicio/demonio.
/etc/init.d/servicio restart --------- Reinicia un servicio/demonio.

startx ------------------------------- Arranca el entorno gráfico con el gestor especificado en el .initrc de tu home.
startx /usr/bin/X11/icewm ------------ Arranca el entorno gráfico con el icewm (si es que no fuera el predeterminado)

Ctrl+C ------------------------------- Termina un proceso.
Ctrl+Z --------------------------------Suspende temporalmente la ejecución de un programa.
Ctrl+S ------------------------------- Para la transferencia de datos a la terminal.
Ctrl+Q ------------------------------- Resume,reinicia la tranferencia de datos
Ctrl+Alt+F2 -------------------------- Salir del entorno gráfico a un terminal.(Fnº según gettys activados en /etc/inittab)
Ctrl+Alt+Supr ------------------------ Estando en una terminal reinicia(si no se indica otra cosa en /etc/inittab)

./script ----------------------------- Ejecuta un script de shell.
java -jar fichero.jar ---------------- Ejecuta un programa java.

consolechars -f fuente.psf.gz -------- Cambiar la fuente de la consola.Las fuentes se encuentran en /usr/share/consolefonts/
base-config -------------------------- Configura el sistema base.
gpm ---------------------------------- Programa que da soporte de ratón a la consola y aplicaciones que corren sobre ella.
reportbug ---------------------------- Programa en modo texto para enviar bugs a Debian

exit --------------------------------- Termina la ejecución del programa en curso.
init 0 ------------------------------- Apaga la máquina.
init 6 ------------------------------- Reinicia la máquina.
shutdown -t1 -h now ------------------ Apaga la máquina .
shutdown -t1 -r now ------------------ Reinicia la máquina.

su ---------------------------------- Entrar a la sesión como root u otro usuario.
su nom_usuario ----------------------- Estando como root entramos como otro usuario.
passwd ------------------------------- Cambio de contraseña.
who -a -H ---------------------------- Muestra información de los usuarios conectados al sistema.
users -------------------------------- Muestra información de los usuarios conectados al sistema.
id ----------------------------------- Muestra información del usuario actual,(grupos a los que pertenece,uid,gid)
groups ------------------------------- Muestra los grupos a los que pertenece un usuario.

adduser usuario ---------------------- Crea un nuevo usuario.
adduser usuario grupo ---------------- Añade un usuario existente a un grupo ya existente.
adduser --no-create-home usuario ----- Crea un usuario pero sin directorio personal(home).
addgroup grupo ----------------------- Crea un nuevo grupo.
deluser usuario ---------------------- Elimina un usuario.
deluser usuario grupo ---------------- Elimina un usuario del grupo especificado.
deluser --remove-home usuario -------- Elimina un usuario y su directorio home.
delgroup grupo ----------------------- Elimina un grupo.
delgroup grupo --only-if-empty-------- Elimina un grupo sólo si no tiene ningún usuario.
usermod -l nuevo_login --------------- Cambia el nombre del usuario.Sería bueno combinarlo con -d
usermod -d nueva_home -m login ------- Cambia el home al usuario,creándolo si no existiese y transfiriendo el contenido.
usermod -e 2006-04-14 login ---------- Fecha en que la cuenta del usuario será desactivada,expresada en formato AAAA-MM-DD
groupmod -n nuevo_nombre grupo ------- Cambia el nombre de un grupo.


Usando el gestor de arranque (NTloader) de windows:
|
| Se copian los sectores de arranque de las particiones al archivo debian_sarge.lnx:
|
| dd if=/dev/hda2 of=/debian_sarge.lnx bs=512 count=1 (tenemos sarge en hda2 con lilo o grup)
| dd if=/dev/hda5 of=/debian_etch.lnx bs=512 count=1 (tenemos etch en hda5 con lilo o grup)
|
| los archivos debian*.lnx se copian en la partición raiz de windows y al archivo boot.ini
| de windows,oculto y de sólo lectura,le agregamos las siguientes lineas dentro de su sec-
| ción [operating systems]:
|
| C:\debian_sarge.lnx="Debian Sarge"
| C:\debian_etch.lnx="Debian Etch"
|
| Atención:
| cada vez que modifiquemos los sectores de inicio o gestores de arranque de las particiones
| linux habrá que volver a realizar lo anterior ya que los ficheros .lnx habrán quedado
| desactualizados.

5.b.-Procesos y memoria

memtest86+
|Realiza una comprobación del estado de la memoria si
|optamos a ello desde los gestores de arranque,para
|lo cual necesitamos editarlos añadiendoles su ruta.
|
|En lilo.conf: image = /boot/memtest86+.bin
| label = memtest86+
|
|En menu.lst: title memtest86+
| root (hd0,0)
| kernel /boot/memtest86+.bin
|
|suponiendo que /boot esté en la partición raiz (/)
'------------------------------------------------------

make-memtest86+-boot-floppy ---------- Crea un disquete de arranque desde el que se ejecutará memtest86+
free -m -s 3 ------------------------- Muestra el uso de memoria.

ps aux ------------------------------- Muestra información de los procesos en curso.
top ---------------------------------- Muestra información de los procesos en curso.(tecla z colorea los activos)
pstree-------------------------------- Muestra los procesos en curso en árbol.
pidof comando ------------------------ Busca el ID de un programa que se está ejecutando.
killall proceso ---------------------- Para un proceso.
strace comando ----------------------- Muestra las llamadas al sistema originadas por un proceso.
fuser -v archivo --------------------- Muestra los procesos que están usando un fichero o directorio.
lsof | less -------------------------- Lista los ficheros* abiertos por los procesos.(*en realidad descriptores de ficheros)
|lsof -c comando ------------------ Lista los ficheros abiertos por un proceso.
|lsof +D /home/paco --------------- Lista los procesos que están usando mi directorio.
|lsof -i :60627 ------------------- Muestra que proceso se encuentra detrás del puerto 60627 (aunque esté a la escucha)
'-------------

nohup comando & ---------------------- Lanza un proceso de forma que si cerramos el shell,el proceso continúa ejecutandose
comando &----------------------------- Ejecuta un comando en segundo plano(background),permitiendonos seguir usando el promp.
jobs -------------------------------- Lista los procesos en segundo plano identificándolos con un nº de tarea.
fg nº -------------------------------- Pasa a primer plano (foreground)un proceso
bg ----------------------------------- Pasa a background un proceso que hemos suspendido temporalmente tecleando Ctrl-z

nice -n prioridad comando ------------ Ejecuta un comando con una prioridad determinada(0 xdefecto).
|Ejemplo: nice -n -10 cdrecord...
|esos valores,de mayor a menor, son -20...+20,
|sólo root puede establecer valores negativos.
'--------------
renice prioridad PID_del_proceso ----- Cambia la prioridad de un proceso en marcha

sleep 5 comando ---------------------- Retarda 5 segundos la ejecución de un comando
|m para minutos y h para horas.
'------------------------------
at_
|at [-f script] [tiempo] ------> Sirve para ejecutar un script a una hora y/o fecha.
|
| ejemplo at -f script 15:23
|
| |formas de indicar el tiempo:
| |HH:MM ------------ 15:23 (hoy a las 15:23)
| |HH:MM MM.DD.AA --- 15:23 01.23.06 (el 01.23.06 a las 15:23)
| |now + tiempo ----- now + 23 minutes (dentro de 23 minutos)
| '---- |
| '-> minutes,hours,days,weeks
|
|at [tiempo] ------------------> Ésta forma nos abre un promp interactivo.
| |
| | at 15:00 ----------- Abre el promp de at
| | at > comando ------- Ingresamos el comando/os.
| | ctrl+d ------------- Salimos de at
| '----
|atq ---------------------------> Muestra,numeradas,la lista de tareas programadas
|atrm nº -----------------------> Eliminará una tarea identificada por su nº
|batch -------------------------> Se emplea de las mismas formas que at,solo que en
| este caso,el script o comando se ejecutará sólo
| si la media de carga de la CPU es inferior al 80%.
'-----------------------------------------------------------------------------------


5.c.-Disco duro
===============

------------------------------------------------------- ----------------------------------------
| Nomenclatura de discos en linux| IDE | SCSI | | disco /dev/hda |primarias | lógicas |
| -------------------------------|-----------|----------| | ----------------|----------|-----------|
| Disco maestro del primer bus | /dev/hda | /dev/sda | | 1ª partición |/dev/hda1 | /dev/hda5 |
| Disco esclavo del primer bus | /dev/hdb | /dev/sdb | | 2ª partición |/dev/hda2 | /dev/hda6 |
| Disco maestro del segundo bus | /dev/hdc | /dev/sdc | | 3ª partición |/dev/hda3 | /dev/hda7 |
| Disco esclavo del segundo bus | /dev/hdd | /dev/sdd | | 4ª partición |/dev/hda4 | /dev/hda8 |
------------------------------------------------------- ----------------------------------------

du -h fichero ------------------------ Muestra espacio ocupado en disco,del directorio en curso si no indicamos nada.
tree -a -s -L 2 ---------------------- tree es un programa que muestra lo mismo que du en forma de árbol.
df ----------------------------------- Muestra información sobre particiones montadas.
cfdisk ------------------------------- Muestra información sobre particiones.Herramienta para particionar en ncurses.
fdisk -l ----------------------------- Muestra información sobre particiones.Herramienta para particionar.

.-----
|mount -------------------------------- Vemos el listado de dispositivos montados.
|mount p.de montaje ------------------- Monta un dispositivo.(ya establecido en el fstab)
|umount p.de montaje ------------------ Desmonta un dispositivo.(ya establecido en el fstab)
|mount -t ext3 /dev/hda2 /micaasa ----- Monta un dispositivo.
| ----- ------- -------
| | | v
| | V p.montaje
| | dispositivo
| v
|sistema de ficheros
|
|umount /dev/hda2 ------------------- Desmonta un dispositivo
'-----

fsck /dev/hdax ----------------------- Chequea y repara el sistema de archivos de una partición NO MONTADA.
fsck.ext2 -vpf /dev/hdx -------------- Chequea y repara el sistema de archivos de una partición ext2 NO MONTADA.
fsck.ext3 -vpf /dev/hdx -------------- Chequea y repara el sistema de archivos de una partición ext3 NO MONTADA.

mkfs.ext2 /dev/hdb1 ------------------ Crea un sistema de ficheros Linux ext2 en la primera partición del segundo disco duro.
mkfs.ext3 /dev/hdb1 ------------------ Crea un sistema de ficheros Linux ext3 en la primera partición del segundo disco duro.
mkfs.ext3 /dev/fd0 ------------------- Crea un sistema de ficheros Linux ext3 en el floppy.
mkswap /dev/hda2 --------------------- Crea un sistema de ficheros Linux swap (intercambio) en hda2.

tune2fs -O ^has_journal /dev/hda2 ---- Convierte hda2 de ext3 a ext2
tune2fs -j /dev/hda2 ----------------- Convierte hda2 de ext2 a ext3

quota -------------------------------- Programa que gestiona/limita el uso que hacen del disco los usuarios/grupos.

5.d.-Entorno

============

locale ------------------------------- Muestra la zona geográfica configurada.
dpkg-reconfigure locales ------------- Reconfigura los locales.
dpkg-reconfigure console-data -------- Reconfigura el teclado.
loadkeys ruta_mapa_teclado.gz -------- Carga el mapa de teclado que le indicamos,que estará en:/usr/share/keymaps
locale charmap ----------------------- Muestra el código de caracteres en uso.
set ---------------------------------- Muestra las variables locales definidas
env ---------------------------------- Muestra las variables de entorno definidas.
export ------------------------------- Muestra las variables de entorno declaradas.
|export VARIABLE=valor ------------ Añadimos una variable.Con export EDITOR=nano establecemos nano como editor predeterminado.
|export VARIABLE= ------------ Eliminamos una variable dejando en blanco su valor.
|Para que las variables permanezcan
|de una sesión a otra hay que ponerlas
|en el archivo .bashrc de tu home.
'----------------------------------

5.e-Instalación de software

|dpkg:Herramienta de nivel medio para instalar, construir, borrar |
| y gestionar los paquetes de Debian |
|
|dpkg -i paquete --------------------- Instalación de paquetes .deb
|dpkg -r paquete --------------------- Desinstala un paquete.
|dpkg --purge paquete ---------------- Desinstala un paquete y sus archivos de configuración.
|dpkg --force -r paquete ------------- Fuerza la desinstalación de un paquete.Más información: dpkg --force-help
|dpkg --force-all -r paquete --------- Fuerza aún más la desinstalación de un paquete.Su uso puede dañar el sistema.
|dpkg -c paquete --------------------- Muestra el contenido (ficheros) de un paquete.
|dpkg -L paquete --------------------- Muestra todos los ficheros que se instalaron con un paquete.
|dpkg -S fichero --------------------- Muestra a qué paquete pertenece un fichero.
|dpkg --get-selections --------------- Muestra todos los paquetes instalados en el sistema.
|dpkg-reconfigure paquete ------------ Reconfigura paquetes instalados.Ejemplo: dpkg-reconfigure locales
'-------------------------------------

.-------------------------------------------------------------------------.
|APT:Herramienta Avanzada de Empaquetamiento (Advanced Packaging Tool) |
|que gestiona el sistema de paquetes de Debian instalando,desinstalando, |
|actualizando y configurando los mismos. |
|La sintaxis es: apt-get [opciones] acción |
|
|apt-get update ---------------------- Descarga y analiza la lista de nuevos paquetes desde los repositorios del sources.list.
|apt-get upgrade --------------------- Actualiza todos los paquetes instalados(no instala ni elimina paquetes).
|apt-get dist-upgrade ---------------- Actualiza todos los paquetes resolviendo las dependencias.
|apt-get install paquete/s ----------- Instalación de paquetes por red,con resolución de depencias.
|apt-get -s acción ------------------- Simula,sin llevar a cabo la acción. Por ejem: apt-get -s install paquete.
|apt-get -d acción ------------------- Sólo descarga los paquetes deb en /var/cache/apt/archives/ sin instalar o desinstalar nada
|apt-get install --reinstall paquete - Reinstala un paquete.
|apt-get remove paquete/s ------------ Desinstala un paquete.
|apt-get remove --purge paquete/s ---- Desinstala un paquete y sus archivos de configuración.
|apt-get clean ----------------------- Elimina todos los paquetes (.deb) descargados y almacenados en /var/cache/apt/archives/
'-------------------------------------
.-------------------------------------------------------------------------.
|apt-cache es una utilidad que manipula la caché de paquetes de APT en |
|busca de información |
|
|apt-cache search palabra ------------ Busca en los paquetes y en las descripciones la palabra.
|apt-cache show paquete -------------- Muestra la descripción completa del paquete
|apt-cache showpkg paquete ----------- Muestra su relación con otros paquetes.
|apt-cache depend paquete ------------ Muestra las dependencias del paquete
|apt-cache rdepend paquete ----------- Muestra las dependencias inversas del paquete(cuales dependen de él)
'-------------------------------------
.-------------------------------------------------------------------------.
|apt-build es una herramienta que no se limita a instalar un paquete deb |
|sino que compila el tarball,crea el paquete deb y lo instala,quedando así|
|integrado con apt.Lo que se consigue compilando es optimizar la ejecución|
|de los programas en nuestro procesador,de hecho al instalarse pregunta |
|por el tipo de procesador del sistema.Tiene las mismas opciones que apt |
|como update,upgrade,install |
|
|ejemplo: apt-build install mplayer
|(el paquete del ejemplo no está escogido al azar¿?)
|
|y alguna más como word para recompilar todo.En este último caso hay que
|crear una lista con los paquetes a recompilar en /etc/apt/apt-build.list
|para lo cual nos puede servir el siguiente comando:
|
|dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list
|
|Es aconsejable eliminar de dicha lista paquetes delicados como gcc,libc6...
|
'-------------------------------------
.------------------------------------------------------------------------.
|Aptitude.Gestor de paquetes con algunas mejoras con respecto a apt como |
|la instalación automática de los paquetes que sin ser dependencias |
|forman parte de los sugeridos o recomendados y la autodesinstalación de |
|los paquetes instalados en su momento como dependencias de otros |
|(automáticamente en contraposición a manualmente),si ningún otro paquete|
|los necesitase.Se puede usar de forma interactiva si no se especifica |
|ninguna acción o desde la linea de comandos,usando las mismas opciones y|
|acciones de apt.La sintaxis es: aptitude [opciones] acción |
|ejem.: aptitude -s purge firefox
|
|Acciones:
|update ------------------------------ Descarga y analiza la lista de nuevos paquetes según los repositorios del sources.list.
|upgrade ----------------------------- Realiza una actualización segura (no instala ni elimina paquetes).
|dist-upgrade ------------------------ Realiza una actualización,instalando y eliminando paquetes si fuera preciso
|install paquete/s ------------------- Instala/actualiza paquetes
|reinstall paquete/s ----------------- Reinstala un paquete
|remove paquete/s -------------------- Elimina paquetes
|purge paquete/s --------------------- Elimina paquetes y sus ficheros de configuración
|download paquete/s ------------------ Se limita a descargar los paquetes deb al directorio en el que estamos.
|hold paquete/s ---------------------- Bloquea paquetes
|unhold paquete/s -------------------- Desbloquea un paquete
|unmarkauto paquete/s----------------- Desmarca paquetes como instalados manualmente
|markauto paquete/s ------------------ Marca paquetes como instalados manualmente (elegidos por nosotros)
|search expresión -------------------- Busca un paquete por nombre y/o expresión
|show paquete ------------------------ Muestra información detallada de un paquete
|clean ------------------------------ Elimina los ficheros deb descargados
|
|Opciones:
|-s ----------- Simula las acciones, pero en realidad no las realiza.
|-d ----------- Sólo descarga paquetes, no instala o desinstala nada.
|-p ----------- Siempre pide confirmación de las acciones
|-y ----------- Supone que la respuesta a preguntas simples del tipo sí/no es «sí»
|-f ----------- Trata de arreglar paquetes rotos de forma agresiva.
|-V ----------- Muestra la versión de los paquetes a instalar.
|-D ----------- Muestra las dependencias de los paquetes cambiados automáticamente.
|-t rama ------ Establece la rama de Debian desde la que se instalan los paquetes
'-------------------------------------

deborphan ---------------------------- Muestra los bibliotecas (paquetes lib) huérfanas
|-a ------------------------------- Muestra todos los paquetes huérfanos (que no dependen de ningún otro).
|-d ------------------------------- Muestra también sus dependencias.
|-n ------------------------------- Muestra los paquetes "sugeridos" y "recomendados" como dependencias.
|---
|deborphan -A paquete ------------- Ignora un paquete(buena opcion si tenemos mala memoria y queremos conservar un huérfano)
|deborphan -R paquete ------------- Cancela la orden anterior,si el paquete es huérfano lo mostrará.
|deborphan -L --------------------- Lista los paquetes ignorados
'-----

orphaner ----------------------------- Interfaz gráfica de deborphan,sin parámetros sólo mostrará paquetes lib.
|-a ------------------------------- Muestra todos los paquetes huérfanos del sistema.
'----

editkeep ----------------------------- Interfaz gráfica que gestiona o edita la lista de paquetes ocultos de deborphan.

debfoster ----------------------------|Programa que mantiene una lista de los paquete que fueron instalados como
|dependencias de otros.La primera vez que se ejecuta pregunta si quieres
|conservar los paquetes instalados(pregunta por todos),Puede ejecutarse de
|manera interactiva o bién directamente desde la linea de comandos para
|instalar o desinstalar paquetes.
'-----------------------------

localepurge --------------------------|Script que elimina e impide la instalacion de los locales y páginas man que
|no nos interesa tener en el disco.Al instalarlo nos da a elegir los locales y
|si automaticamente impide la instalación de otros.El programa no se encuentra
|bién integrado con la gestión de paquetes de debian...
'-----------------------------

./configure |
make |---------------------->|Esta sucesión de comandos crean un paquete .deb,una vez descomprimido
su | |el tarball* y ubicados en el directorio recién creado (si es el caso).
checkinstall | |./configure,comprueba si nos faltan dependencias.
--------------' |make,compila el programa.(lo pasa a lenguaje máquina o binario)
|checkinstall,crea el paquete .deb
|*tarball:fichero comprimido con el código fuente del programa.
'-----------------------------------------
.--------------------------------------------------------------------------------.
|Me parece mejor la idea de hacer un paquete dev que la de compilar un programa |
|desde las fuentes,de ésta manera se puede instalar el programa mediante dpkg -i |
|quedando totalmente integrado en el sistema y luego si queremos desinstalarlo lo|
|tendremos también mucho más facil con dpkg -r |
'--------------------------------------------------------------------------------

fakeroot make-jpkg jre-linux.bin |
dpkg -i sun-j2re.deb |--->|Ésta sucesión de comandos nos instala el java de sun,quedando totalmente
---------------------------------' |integrado en nuestro sistema.
|-fakeroot es un programa normal,sin el bit setuid (ver chmod).No aumenta
| los privilegios de un usuario ni disminuye la seguridad del sistema.Se
| escribió específicamente para permitir que los usuario pudiesen crear
| paquetes deb sin tener privilegios de superusuario.
|-make-jpkg viene en el paquete java-package y sirve para convertir en paquete
| deb el binario de sun que contiene la máquina virtual de java (jre).

7.a.-Usando knoppix live
========================

CD_knoppix # su ------------------------------ desde knoppix CD nos convertimos en root.
root@CD # cd / ------------------------------ nos vamos a / del knoppix CD.
root@CD # mount -t ext3 /dev/hdax /mnt/hdax --- montamos la partición en cuestión.
root@CD # chroot /mnt/hdax -------------------- nos introducimos en ella con chroot*
root@disco_duro # mount -t proc proc /proc ---- puede ser necesario montar el sistema de ficheros proc.
root@disco_duro # nano /etc/lilo.conf --------- editamos lilo (o lo que sea necesario).
root@disco_duro # /sbin/lilo ------------------ ejecutamos lilo.
root@disco_duro # umount -t proc proc /proc --- desmontamos proc
root@disco_duro # exit ------------------------ nos salimos de chroot y por tanto del disco duro
root@CD # umount -t ext3 /dev/hdax /mnt/hdax -- desmontamos la partición en cuestión.
root@CD # exit -------------------------------- salimos del root de knoppix.
CD_knoppix $ ---------------------------------- volvemos al punto de partida.

* La orden chroot lo que hace es situarte virtualmente en la partición que le indicas y a partir de ahí las
ordenes que le pases a la consola se ejecutan en esa partición,es como si realmente estuvieras en esa partición.

7.b.-Creando un disquete de arranque/rescate:

-) Con lilo.Tan fácil como copiar lilo.conf en un disquete e indicarle que arranque desde el mismo,
para lo cual hay que cambiar la linea boot por:

boot=/dev/fd0

Si teneis varias particiones,entre ellas alguna lógica debeis añadir al lilo.conf del disquete la
opción: "lba32" para que pueda arrancarla.

-) Con el programa mkboot,éste programa viene en el paquete debianutils.

mkboot,entre otras cosas, te copia el lilo.conf al disquete,pero la verdad es que yo sólo he conseguido que
me funcionen los disquetes creados con mkboot,cambiando el lilo.conf que te crea por el original y realizando
después las modificaciones que cuento más arriba.El mismo programa te explica cómo:

mount /dev/fd0 /mnt -------------- montamos el disquete.
cd /mnt ------------------------- nos vamos a él.
nano lilo.conf ------------------- editamos lilo.conf
lilo -C lilo.conf ---------------- con -C le decimos que ejecute el lilo del disquete y no el de /etc/lilo.conf
cd .. ---------------------------- nos salimos.
umount /dev/fd0 ------------------ desmontamos el disquete.

-) Con grub.Éste no lo he probado pero por lo que he visto se trataría de copiar los ficheros stage1 y
stage2 al disquete tal que así:

root> mkfs.ext3 /dev/fd0 ---------------------- formateamos el disquete.
root> mount -t ext3 /dev/fd0 /floppy ---------- lo montamos en /floppy.
root> cp /ruta_de_acceso/stage1 /floppy ------- copiamos stage1
root> cp /ruta_de_acceso/stage2 /floppy ------- copiamos stage2
root> cp /boot/vmlinuz /dev/fd0 --------------- si hay sitio se puede incluir el nucleo en el disquete.
root> umount /dev/fd0 ------------------------- se desmonts floppy sin sacarlo.
root> grub ------------------------------------ inicia la interfaz de comandos de GRUB
grub> root (fd0) ------------------------------ instala las herramientas de GRUB...
grub> setup (fd0) ----------------------------- ...en el MBR del disquete.
grub> quit ------------------------------------ salimos

Cuando se arranque desde el disquete y aparecezca el interprete de comandos de grub hay que teclear:

grup> root (fd0)
grup> kernel /boot/vmlinuz root=/dev/hda2 # kernel de inicio y particion raiz
grup> boot

-) Con el NTloader de microsoft,en el caso de que lo usemos para el inicio también podemos crear un disquete
de arranque con el mismo.Para ello copiaremos los ficheros ocultos "ntldr" , "ntdetect.com" y "boot.ini"
que se encuentran en el directorio raíz del sistema (normalmente C:).Ésto es lo que haría cualquier windosero,
pero nosotros además,tendremos que copiar el o los ficheros con extensión .lnx que pusimos en la partición raiz.


7.c.-Copiando el MBS(Master Boot Sector)-sector de arranque maestro
===================================================================

Ésto crea un archivo llamado mbr con los primeros 512 bytes de hda:

dd if=/dev/hda of=mbr count=1 bs=512

Para restaurar la tabla de particiones: dd if=mbr of=/dev/hda

7.d.-Copiando el VBS(Volume Boot Sector)-sector de arranque de una partición:
=============================================================================

Ésto crea un archivo llamado sector_arranque_hda2 con los primeros 512 bytes de hda2


dd if=/dev/hda2 of=/sector_arranque_hda2 count=1 bs=512

Para restaurar el sector de arranque: dd if=sector_arranque_hda2 of=/dev/hda2


Nota

Cada vez que se modifique lilo o grup,habrá que realizar una nueva
copia del MBR o el sector de arranque que incluya los cambios.



7.KERNEL ,LOGS Y HARDWARE

uname -a ----------------------------- Versión del kernel.
cat /proc/version -------------------- Versión del nucleo y compilador empleado.
lsmod -------------------------------- Lista los módulos cargados.
cat /proc/modules -------------------- Lista los módulos cargados.
lsmod | grep módulo ------------------ Ver si está cargado el módulo.
modinfo módulo ----------------------- Muestra información sobre un módulo.
modprobe módulo ---------------------- Inserta un módulo en el kernel cargando antes los módulos de los cuales dependa.
modprobe -r módulo ------------------- Elimina un módulo del kernel y si procede los que dependen del mismo.
insmod módulo ------------------------ Inserta un módulo en el kernel.
rmmod módulo ------------------------- Elimina un módulo del kernel.
echo módulo >> /etc/modules ---------- Inserta un módulo en el kernel de forma permanente.
depmod módulo ------------------------ Comprueba las dependencias del módulo.
modconf ------------------------------ Programa gráfico para listar,cargar y descargar módulos del kernel.
alsaconf ----------------------------- Programa interactivo que detecta las tarjetas de audio y carga los modulos adecuados.

less /var/log/kern.log -------------- Mensajes del nucleo.
less /var/log/syslog --------------- Registro de mensajes relativos a la seguridad.
less /var/log/debug ----------------- Registro de información de depuración de los programas.
less /var/log/messages --------------- Mensajes del sistema de carácter informativo.
less /var/log/user.log -------------- Información del usuario.
less /var/log/XFree86.0.log ---------- Información sobre las X
less /var/log/Xorg.0.log ------------ Información sobre las X
less /var/log/auth.log -------------- Accesos al sistema(incluye los intentos fallidos).
last --------------------------------- Lista los usuarios conectados/desconectados (fichero /var/log/wtmp).
lastb -------------------------------- Muestra los intentos de conexión fallidos (fichero /var/log/btmp).

hdparm /dev/hda ---------------------- Verificar DMA
hdparm -I /dev/hdx ------------------- Información sobre hdx
hdparm -d1 /dev/hdx ------------------ Activar DMA en el disco duro o periférico.
dmesg -------------------------------- Ver la salida que el kernel produjo en el arranque.
dmesg | grep hd ---------------------- Información sobre dispositivos IDE.
sensors-detect ----------------------- Detecta,instala y carga los sensores y los módulos necesarios(en un kernel 2.6)
sensors ------------------------------ Tras ejecutar el anterior,muestra temperaturas, voltajes y revoluciones de ventilador.
lsdev -------------------------------- Muestra información sobre los dispositivos(canales IRQ,DMA y puertos E/S que utilizan)
lspci -------------------------------- Ver dispositivos conectados a la placa madre mediante un bus PCI.
lsusb -------------------------------- Ver los buses USB y los dispositivos conectados a los mismos.
cdda2wav -scanbus -------------------- Comprobar el interfaz SCSI.
cdrecord -scanbus -------------------- Comprobar el interfaz SCSI.
cat /proc/meminfo -------------------- Información sobre la memoria.
cat /proc/cpuinfo -------------------- Información sobre el procesador.
cat /proc/devices -------------------- Información sobre dispositivos en uso.


Nota


-|syslogd registra los mensajes que los programas y el sistema ofrecen.
|-klogd es un demonio del sistema que intercepta y registra los mensajes del núcleo.
|-lsdev viene en el paquete procinfo.
|-sensors viene en el paquete lm-sensors.
|-Dispositivo de bloques:aquellos que almacenan información en bloques de tamaño fijo,
| (cada uno con su dirección) y utilizan los buffers del sistema (memoria temporal),
|-Dispositivo de caracteres:aquellos que envian o reciben un flujo de datos de forma
| secuencial y sus procesos de lectura/escritura no poseen buffer.por ej. el ratón
|-DMA(Acceso Directo Memoria),es la manera en que los dispositivos se comunican directa-
| mente con la memoria sin intervención del procesador.Cada controlador dispone de una
| linea o canal DMA de acceso directo.
|-IRQ (solicitud de interrupción),es la manera en que el controlador de un dispositivo
| solicita al procesador que le atienda porque va a comunicarle algún suceso,cada contro-
| lador tiene una linea IRQ distinta.
|-IO Ports (puertos de entrada/salida) se trata de una abstracción (que se corresponde
| con un dispositivo)a través de la cual un dispositivo intercambia datos con el sistema.
| Tienen una dirección(en hexadecimal)que los identifica.

8 Redes

/etc/init.d/networking start ------> Inicia los servicios de red.
/etc/init.d/networking restart ----> Reinicia los servicios de red.
/etc/init.d/networking stop -------> Para los servicios de red.

ifconfig [interfaz opciones IP]----> Información y configuración de interfaces de red.
ifconfig --------------------------> Muestra el estado de los interfaces activos.
ifconfig -a -----------------------> Muestra el estado de todos los interfaces.
ifconfig ppp0 ---------------------> Muestra el estado de ppp0
ifconfig eth0 up ------------------> Activa eth0.
ifconfig eth0 down ----------------> Cierra eth0.
ifconfig eth1 address 156.35... ---> Asigna una dirección al interfaz especificado.

Iwconfig --------------------------> Similar a ifconfig pero sólo para interfaces wireless

ifup interface: -------------------> Habilita la interface especificada,ejemplos: ifup eth0 ;ifup ppp0
ifdown interface: -----------------> Deshabilita la interface especificada,ejemplos: ifdown eth0 ;ifdown ppp0

dhclient eth0/eth1 ----------------> Inicia conexión dhcp mediante el cliente dhcp-client.
pump -i eth0/eth1 -----------------> Inicia conexión dhcp mediante el cliente pump.

pppoeconf -------------------------> Programa para configurar conexiones pppoe.
pppconfig -------------------------> Programa en modo texto para configurar una conexión ppp.
pon -------------------------------> Establece la conexión ppp a internet.
plog ------------------------------> Monitoriza la conexión ppp.
poff ------------------------------> Finaliza la conexión ppp a internet.

finger usuario --------------------> Informa sobre un usuario conectado al sistema.
finger @servidor ------------------> Informa sobre todos los usuarios conectados a un servidor (nombre o IP)
finger usuario@servidor -----------> Informa sobre un usuario conectado a un servidor
ping google.com -------------------> Verifica la conexión, (Ctrl+Z pone fin)
traceroute microsoft.es -----------> Muestra la ruta que los paquetes de datos han seguida hasta la máquina de destino.
mtr rediris.es --------------------> Combinación de ping y traceroute.
whois esdebian.org ----------------> Información sobre éste,nuestro dominio.
host -v -a telefonica.com ---------> Determina la ip de un nombre o el nombre de una ip.(host -v -a 194.224.55.221)

iptraf ----------------------------> Monitoriza tráfico de redes(ncurses)
tethereal -------------------------> Versión para consola de ethereal,un analizador del tráfico de red (sniffer).
ettercap --------------------------> Sniffer/interceptor/logger para redes LAN con switchs basado en ncurses.
nmap ------------------------------> Escaner de puertos.
fail2ban --------------------------> Escanea logs como /var/log/auth.log y banea las IP con demasiados errores de conexión.
snort -----------------------------> Sniffer de paquetes y un detector de intrusiones en una red (NIDS).
aide ------------------------------> Detector de intrusiones en un único Servidor, PC o host.(HIDS).
portsentry ------------------------> IDS que detecta escaneos de puertos y reacciona a un ataque.
chkrootkit ------------------------> Detector de rootkit.

w3m,lynx,links,links2,elinks -----> Navegadores web,elinks soporta SSL con lo que podremos acceder a correo web.
Irssi,*censored*x,WeeChat-curses -------> Clientes IRC( Internet Relay Chat) )
mutt,mush,pine,elm ----------------> Clientes de correo(MUA).
cabber ----------------------------> Cliente jabber( protocolo libre para mensajería instantánea.)
Centericq -------------------------> Cliente de mensajeria multiprotocolo (ICQ,Yahoo,AIM,MSN,IRC,Jabber)
ncftp,-----------------------------> Cliente ftp (File Transfer Protocol) basado en ncurses
ftp-ssl ---------------------------> Cliente ftp con soporte de cifrado SSL y TSL.(dependiendo de la otra parte)
telnet-ssl ------------------------> Cliente telnet(acceso remoto) con soporte de cifrado SSL,(dependiendo de la otra parte)
ssh -------------------------------> Cliente ssh (Secure SHell),acceso remoto cifrado,forma parte del paquete openssh-client
rtorrent, bittornado --------------> Clientes bittorrent.Bitornado es una versión mejorada del cliente homónimo bittorrent.

talk usuario-----------------------> Entabla una conversacion con un usuario del sistema.
talk usuario@sistema --------------> Entabla conversacion con un usuario de otro sistema(entre máquinas UNIX)
mesg -n ---------------------------> Anula la notificacion de comunicacion de talk o write
mesg -y ---------------------------> Habilita la llegada de notificaciones de talk o write
write usuario ---------------------> Manda un mensaje a un usuario del sistema.

netstat -napt ---------------------> Saber qué puertos tiene abiertos nuestro sistema
| n ----------------------------> No resuelve las direcciones a sus nombres DNS. Esto hace más rápida la ejecución.
| a ----------------------------> Muestra todos las conexiones,incluídas las que están escuchando.
| p ----------------------------> Muestra el número y nombre del proceso,dueño de dicha conexión.
| t ----------------------------> sólo muestra conexiones tcp
'--------------

jigdo-lite fichero.jigdo ---------->|Programa interactivo que permite la descarga y/o "actualización" de una imagen ISO;
|descarga los ficheros de una imagen ISO mediante wget, los une y forma al vuelo
|una copia de la imagen ISO original.Pero si ya tenemos una imagen en el disco o un CD,
|bastaría con indicarle la ruta a la misma para que se actualizara.Para ambos casos hay
|que descargar previamente los ficheros .jigdo y .template asociados a la imagen.
'-----------------------------------------------------------------------------

jigdo-file ------------------------> Herramienta para generar los ficheros .jigdo y .template de una imagen

wget [opciones] URL ---------------> Gestor de descargas.
| -p ---------------------------> descarga web completa.
| -r ---------------------------> recursivo.
| -k ---------------------------> Convierte los enlaces absolutos en relativos.
| -c ---------------------------> Reanuda la descarga de un fichero parcialmente descargado.
| -l6 --------------------------> profundidad de recursión (5 por defecto)
| -A formato -------------------> formato para descargar.
| -nH --------------------------> hace que no se cree el subdirectorio localhost.
| --cut-dirs=n -----------------> elimina n número de directorios dentro de la jerarquia.
|
| Ejemplo 1º: wget -A zip URL ---> Bajaría todos los archivos zip de una página web.
|
| Ejemplo 2º:nos queremos descargar el manual nano.pdf que está en:
|
|
| ---------------- --------- ------
| localhost 1º dir 2º dir
|
| wget -nH --cut-dirs=2
|
| nos bajaría sólo el manual sin crearnos ningún nuevo directorio en nuestra home.
|
| Ejemplo 3º:nos queremos bajar el manual de Arocena en formato html cuya primera página está en:
|
|
|
| wget -r -nH
|
| nos bajaría todo el contenido del curso (ficheros .html,.css,.jpg,etc) al directorio /ortihuela

9 Otros

/server ---------------------- Lista,añade o elimina servidores.
/server [nombre:puerto:clave]- Conecta con un servidor.
/info [servidor] ------------- Obtener información sobre servidor.
/lusers ---------------------- Obtener estadísticas del servidor.
/users ----------------------- Usuarios conectados al servidor.
/links ----------------------- Lista los servidores de la red actual.
/list ------------------------ Lista e informa sobre los canales.
/admin ----------------------- Informa sobre el admin. del servidor.
/help [comando] -------------- Muestra la ayuda sobre un comando.
/ison [nick]------------------ Comprobar si un usuario está conectado.
/join [canal] ---------------- Unirse a un canal.
/names ----------------------- Listar usuarios en canales.
/whois [nick] ---------------- Muestra información sobre un usuario.
/whowas [nick]---------------- Informa sobre un usuario que ya no está.
/who [patrón] ---------------- Muestra información sobre patrón.
/msg NiCK SET PASSWORD [clave] Cambiar de contraseña(en irc-hispano)
/msg [nick | canal][texto]---- Envia un mensaje a un usuario o canal.
/amsg [texto] ---------------- '->a todos los canales en los que estás.
/notice [nick | canal]-------- Envia un mensaje privado a un usuario/os
/query [usuario texto] ------- Envia un mensaje privado a un usuario.
/ignore ---------------------- Lista los usuarios ignorados.
/ignore nick ----------------- Ignora los mensajes de un usuario.
/unignore [nick | *] --------- Deja de ignorar el/los mensajes.
/ctcp [nick texto] ----------- Envia un mensaje mediante CTCP

* Ubuntero [texto] ------------------ '-> precedido de nuestro nick
/ame [texto] ----------------- '->a todos los canales en los que estás.
/dcc [chat nick ]------------- Pide y/o inicia charla con un usuario.
/dcc [close nick]------------- Cierra charla.
/dcc [send nick fichero]------ Ofrece y/o envia un fichero.
/dcc [get nick fichero]------- Permite recibir un fichero.
/time ------------------------ Muestra fecha y hora.
/clear ----------------------- Limpia la ventana de texto actual.
/away [texto] ---------------- Pasar a estado ausente.
/away ------------------------ Volver de la ausencia.
/nick [nuevonick]------------- Cambiar el nick.
/nick [nuevonick][clave]------ Cambiar un nick registrado.
/nick [nick:contraseña] ------ Identificarse en irc-hispano.
/part [canal] ---------------- Abandonar un canal.
/quit ------------------------ Cerrar todas las conexiones y salir.

CTCP (Protocolo de cliente a cliente).Permite dar respuestas
predeterminadas y automáticas ante una petición espefífica de
otro usuario.

DCC Protocolo que establece una conexión TCP directa entre dos
ordenadores.

9.d.-Calculadora:

bc ------------------------- Abrimos bc.
> 20 + 5.4 ------------------ Suma.
> 77 - nº -------------------- Resta.
> 99 * 86 -------------------- Multiplica.
> 47 / 3 --------------------- Muestra el cociente de la división.
> 47 % 3 --------------------- Muestra el resto de la división.
> 4 ^ 2 --------------------- Calcula la potencia 4²
> sqrt (16) ------------------ Calcula la raiz cuadrada de 16
> (2*3+2) / sqrt (2^3/2.5) --- Un poco de cada.
> quit ----------------------- Salimos de bc.


También podemos hacerlo usando echo y mandando la salida a bc:

echo "(2*3+2)" / sqrt "(2^3/2.5)" | bc

en este caso los paréntesis deben ir entrecomillados

9.e.-Colección de promps guapos :

PS1="\[\033[1;34m\][\u@\h:\w]$\[\033[0m\] "
PS1="\[\033[30;47m\][\[\033[31m\]\u\[\033[30;47m\]@ \ \W]\[\033[00m\]$ "
PS1='\[\033[01;30m\]\u \[\033[01;32m\]\h\[\033[01;33m\]:\[\033[01;35m\]\w\[\033[0m\$ '
PS1="\[\033[;31m\][\[\033[;36m\]\u@\h\[\033[;31m\]:\[\033[;36m\ ]\w\ [\033[;31m\]]$\[\033[0m\] "
Para que los promp permanezcan de una sesión a otra hay que ponerlos en #el archivo .bashrc de tu home.

Para poner una fecha limite a la clave de un user, con este comando el pass del user caduca en un mes en diciembre 22...

chage -E 2008-12-22 user

Para crear un grupo pueden usar el comando

groupadd [GRUPO]

Para borrar el grupo lo mismo pero con del

groupdel [GRUPO]

Para cambiar nombre a un grupo de usuarios usamos

groupmod -n NOMBRE NUEVO_NOMBRE

Para cambiar el password basta con poner

passwd

Ahora para cambiar el password de algun usuario del pc si somos root podemos cambiarla

passwd user1 Le damos entrer y escribimos la clave después de poner el comando y eso es todo

Hacer un usuario que sea root o del grupo de los admins

useradd -c "User Linux" -g admin -d /home/user1 -s /bin/bash user1

Crear users y borrarlos es igual que con los grupos

Crear

useradd USUARIO y para borrarlo userdel -r user1

Eso es mas o menos lo que hay que saber de administración de usuarios y grupos...

Y dos comandos utiles

Ver si la base de datos de os grupos esta bien

grpck

Si no tira nada en consola es que esta bien.

Y para ver si la base de datos de los passwords esta bien usamos.

grpck

Eso comandos verifican los ficheros /etc/groups y /etc/passwd

Comandos para el manejo de archivos.

cd = Cambia de directorio.
compress = Comprime archivos.
cp = Copia un archivo.
chmod = Cambia los permisos de un archivo o directorio.
chown = Cambia el propietario de un archivo o directorio.
df = Muestra el espacio libre en disco.
du = Muestra el espacio en disco utilizado.
fdformat = Formatea un disquete.
fdisk = Utilidad para particionar unidades.
find = Encuentra un archivo.
fsck = Chequea el sistema de archivo.
gzip = Descomprime un archivo en formato GZIP.
ln = Crea un enlace simbólico.
ls = Muestra el contenido de un directorio.
mkdir = Crea un directorio.
mkfs = Crea un nuevo sistema de archivos.
mknod = Crea un archivo de dispositivo.
mkswap = Crea un espacio de intercambio.
mount = Monta una unidad o partición en el sistema de archivos.
mv = Mueve un archivo (También se utiliza para renombrar).
pwd = Devuelve la cadena correspondiente al directorio actual.
rm = Borra un archivo.
rmdir = Borra un directorio.
split = Divide un archivo en muchos archivos de un tamaño determinado.
swapoff = Desactiva el espacio de intercambio.
swapon = Activa el espacio de intercambio.
sync = Sincroniza los procesos de escritura y lectura.
tac = Da vuelta el contenido de un archivo.
tail = Muestra las últimas líneas de un archivo.
tar = Desempaqueta un archivo en formato tar.
umount = Desmonta un sistema de archivo ya montado.
uniq = Borra las lineas duplicadas de un archivo.
wc = Cuenta el número de caracteres de un archivo.

Comandos para el manejo de procesos

bg = Ejecuta un proceso (interrumpido) en segundo plano.
fg = Ejecuta un proceso (interrumpido) en primer plano.
free = Muestra la memoria libre y la utilizada.
halt = Apaga la pc.
kill = Envia una señal a un proceso.
ldd = Muestra las librerías que se necesitan para ejecutar un programa.
nice = Ejecuta un proceso con menor prioridad de ejecución.
ps = Muestra todos los procesos que se están ejecutando en el sistema.
printenv = Muestra las variables de entorno.
pstree = Como el ps, pero muestra todo en forma de árbol.
shutdown = Apaga el pc.
top = Una utilidad para monitorear procesos y el estado del sistema.
uname = Muestra información del sistema.


Comandos para el manejo de usuarios


adduser = Crea un nuevo usuario.
chsh = Cambia el shell de un usuario determinado.
groups = Muestra el listado de grupos de usuarios del sistema.
id = Muestra la información de usuarios y grupo de un determinado usuario.
passwd = Cambia la clave de acceso de un determinado usuario.
su = Cambia de usuario.
Talk = Permite chatear con otros usuarios.
users = Lista los usuarios conectados al sistema.
who = Muestra información sobre los usuarios conectados actualmente.

Otros comandos.


alias = Permite ejecutar comandos utilizando otros nombres.
apropos = Encuentra las páginas del manual para un comando determinado.
cal = Muestra el calendario.
date = Permite ver y cambiar el día y la hora actual.
info = Muestra ayuda de un determinado comando.
man = Muestra las páginas del manual de un determinado comando.
unalias = Borra el alias de un comando.



Fuente:
debian.es