Hacks para sistemas operativos Unix-like
De Wikilibros, la colección de libros de texto de contenido libre.
[editar] Prólogo
Hacks para sistemas operativos Unix-like pretende ser un libro de carácter práctico, donde encontrar trucos para hacer nuestros sistemas operativos más fáciles, útiles, eficientes y seguros. Pretende imitar a los libros de cocina donde cada receta se explica en una ficha que es guardada en su correspondiente categoría, al contrario que en otros enfoques donde todo debe llevar una correlación ya que se va explicando de forma continua; pretendemos con el formato de recetas hacer que cada una de ellas pueda, en la medida de lo posible, ser más independiente, y así facilitar la tarea de la creación colectiva.
Este libro, al igual que el resto de los alojados en wikibooks, es un proyecto de creación colectiva, por lo cual os animamos a colaborar en los temas que os sean posibles. Podeis crear nuevas recetas, escribir una de las propuestas en el índice o modificar alguna de las existentes. Todo el material aquí disponible está bajo licencia GFDL.
Para tener un formato estándar entre las recetas, y que así éstas sean más sencillas de leer, existe una plantilla que podeis utilizar. Plantilla para la serie hacks. El otro convenio que estamos siguiendo es crear las páginas con la siguiente nomenclatura: '[ [Hacks para Unix-like/Título de la receta] ]' Gracias por vuestra colaboración.
[editar] El sistema operativo
[editar] Receta : ¿Qué significa “unix-like”?
Se trata de cualquier sistema operativo que trabaja y funciona de manera similar a Unix. Por ejemplo, un usuario de Unix que comenzase a usar un "unix-like" no se daría cuenta (casi) del cambio. Podríamos decir que casi cualquier aplicación que corriese en Unix podría correr en un "unix-like", ya que la estructura de ficheros, los nombres y ubicación de los archivos (básicamente) son iguales. Además los protocolos, por ejemplo, si no son iguales, son compatibles. Un pequeño ejemplo sería, usar una sesión de freeBSD, una de GNU/Linux o una de Solaris.
[editar] Receta : ¿Qué significa "software libre"?
El ``Software Libre es un asunto de libertad, no de precio. Para entender el concepto, debes pensar en ``libre como en ``libertad de expresión, no como en ``cerveza gratis [N. del T.: en inglés una misma palabra (free) significa tanto libre como gratis, lo que ha dado lugar a cierta confusión].
``Software Libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:
La libertad de usar el programa, con cualquier propósito (libertad 0). La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto. La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2). La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.
[editar] Receta : ¿Cómo elegir el sistema operativo?
Para elegir un sistema operativo primero tenemos que analizar dónde lo vamos a aplicar, quiénes lo administrarán y la magnitud de carga de trabajo. Si lo van a utilizar usuarios comunes tenemos que pensar en el sistema más amigable que podamos encontrar,(por poner un ejemplo Mandriva linux, Ubuntu o Fedora correctamente configurado como estación de trabajo y con las herramientas necesarias y más sencillas. En el caso de que sea para una intranet de tamaño pequeño a grande pensaría en linux. Si es para que el sistema salga a Internet y que efectue procesos que consuman gran capacidad de recursos pensaría en un BSD sin interfaz gráfica.
[editar] Receta : El sistema operativo GNU/Linux
Es un sistema que nace de la fundación del Software libre (GNU), la cual contiene todos los programas que encontramos en el sistema operativo, y también nace de Linux, que es el nombre del núcleo del sistema operativo.
Es incorrecto decir que el SO que usamos es Linux, ya que Linux es solamente el núcleo. El SO lo componen el núcleo y los programas que ruedan sobre este núcleo y sin los cuales, no habría SO.
[editar] Receta : La familia BSD
[editar] Modificando nuestro entorno de usuario.
[editar] Receta : Elegir un shell
Casi por Defecto, los Sistemas Operativos UNIX-like citando por Ejemplo a GNU/Linux, usan Bash un Shell Clonico de Bourne Shell, uno de los Interpretes mas Importantes de Unix; pero siendo reescrito para el Proyecto GNU.
Otros Sistemas por ejemplo Solaris usan CSH, C Shell desarrollado en Berkeley por Bill Joy (Uno de los Fundadores de Sun Microsystems).
Pero como elegir un Shell, bien eso depende mas que nada, (como la mayoría de las cosas en UNIX) de lo que piensas Hacer con el Obviamente no todos los Shell's son Iguales y no todas la necesidades lo son.
En Sistemas como GNU/Linux la ventaja de usar un buen Shell es Importante mas no imperativo. No todos los Shell's funcionan Igual, cada uno tiene una Forma de trabajar y una Estructura diferente.
Los Sistemas que usan Bash son: - GNU/Linux (La Gran mayoría, al ser GNU) - Mac OS X (Antes usaba csh) - Windows (mediante Cygwin)
Si se es Programador se preferira un Shell mas o menos de este tipo, la respuesta es CSH o TCSH. Son mas acordes al Trabajo a Realizar. Pero si ya ha usado Shells como ASH o como Bourne de seguro BASH será el Indicado para usted; al final de cuentas el mejor Shell es con el que el Usuario se sienta a agusto. >
[editar] Receta : Redireccionar la entrada y la salida
Los sistemas operativos “unix-like”, operan todo el sistema como si fuera un archivo, de hecho el teclado es un archivo de solo lectura, (llamaremos al teclado como la entrada estándar) y el monitor un archivo de solo escritura (llamaremos al monitor como la salida estándar). Por lo general toda aplicación, recibe y/o entrega datos a través de la entrada y/o salida estándar, respectivamente. Es posible para los sistemas “unix-like” cambiar las entradas y salidas usando otros archivos para su operación. Básicamente tenemos 2, > (redirección de salida) y < (redirección de entrada).
Por ejemplo: Podemos hacer que el comando ls –l, en vez de mostrar el listado del directorio en pantalla, lo envíe a un archivo de nombre listado.
shell~$ ls –l > listado
Esto creará el archivo listado, si no existe y lo sobreescribirá si el archivo ya existe. Si no se desea perder los datos del archivo listado, es posible redireccionar la salida escribiendo al final de él, sin perder los datos existentes.
shell~$ ls –l >> listado
Supongamos que tenemos un archivo de texto llamado fonos, el cual posee todos los números de teléfono de tus compañeros de trabajo. Supongamos que queremos buscar a José, para ello podemos usar el comando grep, que nos permite buscar una cadena en un archivo.
shell~$ grep José < fonos
Esto, entrega como entrada el archivo fonos al comando grep, el cual muestra todas las líneas donde aparezca la palabra José. Si bien el archivo fonos puede ser especificado de forma directa a grep, tómese este caso sólo como un ejemplo.
Caso aparte es el tema de “|” o pipe, el cual es una “tubería” que pasa toda la salida de un comando y la entrega como entrada a otro comando, por ejemplo:
Si queremos ver todo el contenido de un directorio, pero éste es demasiado extenso para ser visto en una sola pantalla, se puede pasar toda la salida al comando more, el cual nos mostrará página a página todo el resultado de la salida.
shell~$ ls –la|more
Es posible encontrar que la ejecución de algunos comandos puede generar mensajes de error que quizá no deseamos recibir, para evitarlo utilizamos la forma de redirección > anteponiéndole el número 2 (0 = entrada estándar, 1 = salida estándar y 2 = error estándar), por ejemplo:
shell~$ ls -l /home/*
Nos muestra un listado de archivos y directorios de los usuarios, pero si un usuario fijó los permisos para restringir el acceso a otros usuarios la salida puede ser como sigue:
/usr/bin/ls: /home/pepe: Permission denied
Para evitar este mensaje ejecutamos el comando de la siguiente manera:
shell~$ ls -l /home/* 2> /dev/null
Opcionalmente enviarlo a un archivo;
shell~$ ls -l /home/* 2> ~/accessDenied.txt
[editar] Receta : Escribir líneas de comandos complejas
Para no tener que escribir cada linea caracter a caracter, el interprete bash nos ofrece una ayuda inestimable gracias a la tecla <Tab> (tabulador, es la tecla que se encuentra situada encima de Bloqueo de Mayúsculas). Su uso es muy sencillo, basta escribir el comienzo de un comando y seguidamente pulsar <Tab>, el comando se completará, lo mismo ocurre con las rutas. En el caso de que existan varios comandos o rutas que comiencen con los caracteres introducidos bash mostrará las posibles opciones a elegir al pulsar otra vez <Tab>.
[editar] Receta : Creando variables de entorno.
Las variables de entorno sirven para configurar ciertos parámetros de nuestro sistema. Por ejemplo, la variable EDITOR indica cual es nuestro editor de texto preferido, de forma que otras aplicaciones puedan lanzarlo para tareas como editar un mensaje de correo.
Para acceder al valor de una variable de entorno utilizaremos su nombre, precedido del carácter '$'. Por ejemplo:
$ echo $EDITOR
/usr/bin/vim
Para definir el valor de una variable de entorno, utilizaremos la orden "export". Por ejemplo:
$ export MI_VARIABLE=hola
$ echo $MI_VARIABLE
hola
Para eliminar una variable de entorno, utilizaremos la orden "unset":
$ unset MI_VARIABLE
Otras variables de entorno importantes:
- PATH: Contiene una lista de directorios, separados por el carácter ':' en los que el sistema buscará los programas que sean invocados sin indicar una ruta.
[editar] Receta : Crear nuestros propios comandos
Para crear nuetros propios comandos, mejor dicho(modificar el nombre del comando)podemos usar un "alias" de forma que cuando hagamos referencia a dicho alias, se escriba un comando que queramos con todos los paramatros que queramos. Por ejemplo:
El comando 'ls' si queremos agregarle unos cuantros parámetros podemos hacerlo mediante un alias:
[root@localhost/root]$ ls -color -s
"-color" es para mostrar los ficheros en color.
"-s" es para visualizar el tamaño del fichero.
Lo que tenemos que hacer es:
[root@localhost/root]$ alias ls='ls -color -s'
y listo cuando tipeamos el comando 'ls' nos saldrá como si tipearamos 'ls -color -s'.
También podemos hacer lo siguiente:
El comando 'cp' sirve para copiar ficheros, podemos hacer que cuando tipeamos copy, copiar o lo que queramos se ejecute como si tipearamos 'cp'.
[root@localhost/root]$ alias copiar='cp'
Si queremos podemos agregar parámetros. Rubby Antonio Perez Lorenzo
[editar] Receta : Como crear nuesto propio contenedor de basura
[editar] Receta : Teclas de acceso rápido en bash
[editar] Receta : Una mirada a nano
[editar] Receta : Scripting, ahorrar tiempo en la línea de comandos
Un script es un guion con una secuencia de comandos, secuencias de control y variables almacenados en un archivo de texto, al ejecutar dicho archivo se ejecuta eso comandos que el archivo contiene.
Esto nos sirve de mucho ya que cuando tenemos que tipear una serie de comandos muy repetitivamante para realizar una tarea especifica podemos automarizarlos mediante un script, de esta manera nos ahorramos un montón de tiempo a la hora de hacer este tipo de trabajo.
Para crear un script lo tenemos que hacer en un editor de texto, hay muchos editores de texto como:
-Emacs -El Vi(m) -Joe -Gedit
Que tengamos un de estos editores de textos instalados en nuestro ordenador si o no, eso va a depender de que S.O tengas instalado. Rubby Antonio Perez Lorenzo
[editar] Receta : Una mirada a Vi(m)
Vim la versión mas popular del Vi se puede encontrar en casi cualquiera de los sabores de UNIX y su uso aun cuando en un principio puede llegar a ser un poco traumático resulta fácil y muy práctico con la costumbre.
Para ejecutar el vi(m) basta con digitar desde la línea de comandos vi Simplemente escribimos (vim nombre_del_archivo.extensión -------por ejemplo:vim practica1.cpp) Luego se nos presenta simplemente una pantalla en negro(en el caso de la consola) en la que debemos escribir las instrucciones para la construcción de nuestro programa. En Vim contamos con un conjunto de herramientas las cuales nos van a ayudar en la elaboración de nuestro programa como son: 1)Tecleamos escape parta cersiorarnos de que estamos en modo normal 2)ESC+i seria el equivalente a insertar texto.
una vez abierto para entrar en el modo de edición (nesesario para poder escribir cualquier cosa) bastara con digitar la tecla ins ubicados en este punto podremos escribir cualquier cosa que queramos en nuestro archivo para salir y/o guardar tendremos que pasar al modo de comandos para esta labor bastara con presionar la tecla esc si nos encontrabamso en el modo de edición seguido a esto presionando la tecla : (dos puntos) podremos digitar los comandos nesesarios para salir digitamos en el modo de comandos 'q' seguido de enter para salir ignorando los cambios presionando 'q!' saldremos de vi y los cambios que hayamos hecho en los documentos no se guardaran para el caso contrario en el que queramos guardar los cambios presionando 'wq' guardaremos y saldremos de vi para solamente grabar bastara con presionar 'w'
[editar] Receta : Crear nuestros propios comando en Vi(m)
[editar] Receta : Una mirada a GNU Emacs
GNU Emacs es considerado (junto con Vi(m)) el mejor editor disponible en sistemas derivados de Unix (a decir verdad existe una discusión acerca de cúal es mejor, vi o emacs, la contienda es larga así que la dejaremos a un lado).
Emacs es un acrónimo de Editor MACroS, nombre dado por RMS a un conjunto de macros realizadas por él para el editor TECO ejecutándose en un equipo PDP-10 y sistema operativo ITS. Más tarde Guy Steele iniciaría el proyecto de unificar los diferentes macros y atajos de teclado usados en TECO y aumentados por RMS.
Las características de edición y composición de Emacs lo hacen ser muy versátil y poderoso. Gran parte de tal dinamismo se logra a través de una implementación de un intérprete del lenguaje Lisp en su interior: Emacs-lisp, que le brinda capacidad de "ejecución" de aplicaciones / programas escritos en ese lenguaje (existen juegos, lectores de correo, clientes para diferentes protocolos como ftp, etcétera.... ahh y un psiquiatra incluso) para su uso en Emacs.
Además, debido a su propio origen, el editor realiza muchas de sus tareas (o de las nuestras) a través de simples combinaciones de teclas que, aunque son realmente muchas, son en su mayoría muy últiles para la propia edición del texto del tipo que deseemos.
[editar] Receta : Usando expresiones regulares
[editar] Entornos gráficos X-Window
[editar] Receta : X-window
Los sistemas operativos Unix-Like utilizan X-window como el XFree86 y el Xorg, para poder ingresar al modo gráfico. La X que lleva con sigo y distinge a estos tipos de SO, es simplemente la letra W (de Windows)+1, osea la letra que sigue después de la W, algunos distribuidores de Linux como Suse y Mandriva al instalar incluyen esta opcion de modo gráfico, en el inicio del sistema, pero hay otros como el FreeBSD en los cuales hay que escribir en la terminal startx.
El X solo se encarga de cargar el modo gráfico, para el manejo de ventanas nesecitara de un escritorio como el KDE, Gnome o el xfce, los cuales ocupan de un X-Window para funcionar.
[1] página de Xorg [2] página de XFree86
Por lo general, X-Window viene siendo un añadido a nuestro Sistema que nos Facilita su uso y a su vez nos ayuda a Administrar de Forma Gráfica nuestros Archivos en casos hasta el Sistema Completo.
Hay Sistemas que difieren mucho del uso de los desarrollos de X-Window por ejemplo en Mandriva se usa XFree86 mientras que en Ubuntu se usa X.org.
En UNIX siempre que estemos en la Consola de Comandos y queramos Ingresar al Entorno Gráfico siempre debemos de escribir "startx".
Para Configurar X.org y XFree86 los Comandos son:
xconf: Este Comando detecta nuestra Tarjeta de Video y nos Sirve para Generar el xorg.conf que viene siendo un Archivo de Configuración que Contiene las Rutina para tener Funcionando el X.org de Forma Óptima, según la Tarjeta de Video que tengamos Instalada.
xorgsetup: Este Comando nos Sirve para Configurar el Dispositivo Gráfico (La Tarjeta de Video) que nos servira para mostrar los Gráficos, este Comandos ayuda a Configurar la Placa de Video, la Profundidad de Colores que usara X etc... En algunos Sistemas el Comando es xorgcfg .
xorgconfig (En X.org) o xf86conf (En Xfree86): Este Comando nos Sirve para Configurar los demás Dispositivos y ayuda en la generación de xorg.conf y por lo general siempre Configura el Tipo de Mouse; es muy Útil cuando X no detecta nuestro Mouse y necesitamos configurarlo Manualmenete o usamos una Laptop con algún Unix-Like.
[editar] Receta : Gestores de Ventanas
¿Qué es un Gestor de Ventanas? Es una Aplicación que corre bajo X Window que Controla la Ubicación y apariencia y Configuracíon de Aplicaciones Gráficas en Sistema del tipo Unix-Like.
Los Ordenadores Modernos suelen ofrecer una Interface Gráfica de Usuario (GUI en Inglés), que Facilta el uso y Administración del Sistema Operativo. En Tareas de todos los Niveles como Añadir Usuarios, Borralos, Ajustar el Volumen del Sistema, Añadir o Modificar alguna Configuración del Sistema etcetera.
En Sistemas como Microsoft Windows y Apple Mac OS su uso esta Altamenete estandarizado y es común hacer todas las Tareas de forma Grafíca.
En Cambio en los SO Unix-Like, están divididos, los Gráficos no son Nativos de Unix, sino más bien, lo es la Línea de Comandos. Sin embargo con el Paso del Tiempo el uso de Unix se ha vuelto mucho más Frequente y con el desarrollo de la Informática se han vinido haciendo una serie de Hacks (ver desambiguacíon), para que sea Posible disfrutar de los Unix's de mejor manera. El Sistema encargado de todo esto es X Window System o Simplemete X ó X-Win.
¿Por qué usar un Gestor de Ventanas? Generalmente los Entornos de escritorio, se han ido desarrollando por Modulos es decir que cada Parte se ha desarrollado de Manera Independiente y al Final Integrando todos en un solo Entorno. En casos como el de GNOME estos Sucedió así, GNOME se fue desarrollando y se le fueron añadiendo poco a poco Prestaciones tales como: dotarlo de un Escritorio, Iconificarlo, dalre un Explorador de Archivos, Configuraciones etc. Durante mucho Tiempo el Gestor de Ventanas Enlightenment fue el estandar para Ventanizar GNOME. Los Gestores de Ventanas son muy Útiles cuando se trata de Tener Aplicaciones Gráficas y se desea Ahorra memoria por Tareas de Alta Carga y alta demanda de Recursos en Ordenadores de Poca, a muy limitada Memeria RAM, un Ejemplo de estas Tareas es la Compilación de Programas, esta tarea puede desbordar el Búffer e Inluso Colgar el Computador, tambíen en acciones como la Reproducción de Vídeo Digital, Conversión, Codificación, Edicíon etc... Más que nada es su uso es del Tipo Ahorrativo, aunque si se es un Usuario avanzado del uso de Entornos de escritorio ya no es necesario y se puede Optar por un Escritorio que Permite ahorrar Recursos.
[editar] Receta: Cómo arrancar directamente en un entorno gráfico
Para poder iniciar automáticamente el Xserver desde la consola se teclea la siguiente sentencia:
startx #Se iniciara el Xserver en el tty7 startx -- :1 #Se iniciara el Xserver en el tty8
También se pueden añadir distintas opciones para poder mejorar la performance del Xserver:
-notcplisten #Denega las conexiones TCP al Xserver
[editar]
[editar] El sistema de ficheros.
[editar] Receta : Jerarquía del sistema de ficheros
[editar] Receta : Encontrar archivos con find
Una forma simple de encontrar archivos usando find: find PATH -name PATTERN
Por ejemplo buscando desde la raíz: find / -name nombrearchivo
[editar] Receta : Comparar archivos con diff
Si tenemos dos archivos, archivo1 y archivo2, con los siguientes contenidos:
archivo1: uno dos tres archivo2: uno Dos tres
Donde en la segunda línea existe la siguiente diferencia: "dos" vs. "Dos".
La salida del comando diff sería:
diff archivo1 archivo2
Salida:
2c2 < dos --- > Dos
[editar] Receta : Permisos en el sistema de ficheros
para montar o desmontar una unidad en Unix-like debes estar seguro de que tu equio reconoce la unidad, luego abre una sección de la terminal y entra en modo de root, por los comandos "su" o "sudo" luego escribe el comando
mount -a
de esta manera montaras todos los dispositivos en tu sistema, Nota: algunas distribuidoras de linux como el Suse 10 automáticamente reconoce cualquier dispositivo que se conecte al ordenador y automáticamente lo monta.
[editar] Receta : Montaje automático de dispositivos
Para montar automáticamente dispositivos tienes que crear una entrada en fstab y fbtad (/etc/fstab y /etc/fbtad), aunque la mayoría de los sistemas Unix-like o *nix más modernos configuran (en la instalación) y montan (en el inicio o arranque) los dispositivos automáticamente.
Si tu dispositivos fue reconocido por freebsd para checar soporte sobre hardware checa el handbook o en el cd de instalación de freebsd trae un archivo Hardware.html o Hardware.txt y listo alguna duda puedes escribirme a mi correo y si puedo ayudarte con gusto lo hare.
Mail: frank_kril@hotmail.com o frankiller@freebsd.org.mx
Visita también http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/node217.html para más información
[editar] El kernel
[editar] Receta : ¿Qué es el kernel?
El kernel es el núcleo de nuestro sistema operativo. Todos los sistemas operativos tienen un kernel. En BSD es común verlo como mach_kernel, en linux vmlinuz, en Mac OS X mach_kernel, etc.
Este núcleo es la pieza mas importante del sistema operativo, es la que interactua con el hardware de nuestro ordenador. Cuando se realiza un proceso, una operación, un click o una simple pulsación de nuestro teclado, es el kernel quien traduce los unos y ceros en algo que el Sistema Operativo comprende.
[editar] Receta : El kernel y los Daemons
¿Qué son los daemons? Suena Extraño hablar de "demonios" en los Sistemas Operativos, pero es la Traducción literal que se le puede dar a los Procesos que se ejecutan de manera no "Vista" u Oculta por el Usuario dentro del sistema, pero que están ejecutando y que pueden ser Contralados por el Usuario/Administrador. En Sistemas como Windows NT son llamados "Servicios" estos son los equivalentes de Windows para los demonios de UNIX, tienen el mismo Proposito pero algunos de estos son primitivos, y solo sirven para Ejecutar Ciertas Funciones Nativas del Sistema, como Servidores de Seguridad, Audio etc... Su contraparte en Sistemas del tipo DOS es algo complicado explicar, puesto que son Monousuario y Monoproceso, es decir que solo admiten un Usuario y que solo "ejecutan" un solo programa dentro de la Memoria, (Olvidando el Kernel, Config.sys, Autoexec.bat y sin olvidar el Command.com), en estos casos se manejaban los TSR (Terminate and Stay Resident) [Termina y Sigue Residente] que era la forma más primitiva de Multitarea en DOS. En Sistema como el Mac OS estos son llamados Extenciones de Sistema que servían para el mismo proposito que los demonios. Hay que diferenciar entre una Aplicación activa y entre un Demonio ó Entre un Servidor Software) y un Demonio, la Aplicación activa ó programa simplemente es una APlicación que se carga en la memoria y que tiene fines Especificos como un Procesador de Palabaras, un Reproductor, un Navegador. El demonio se ejecuta en la Memoria Perón sin "Interface" y las únicas Opciones que posee son la de Iniciar, Reiniciar el demonio o detenerlo (Esto solamente dentro de la Sesion), un Servidor una Aplicación en Segundo Plano (como el demonio) pero que cuenta con un Interface y es Configurable y que trabaja directamente con el Kernel del sistema con el Ejecutandose. Un Ejemplo un Servidor FTP, es la Aplicación que proporciona dicho Servicio, que contiene las Características ya mencionadas. Lo demonios son programables, ya sea Iniciarlos o deternerlos de manera manual, editando algún archivo, haciendo algún Script ó programándolos mediante herramientas como "cron" para Realizar determinadas Tareas. Los demonios se distinguen Siempre por tener una "d" al Final de un archivo, además de que están presentes en areás Sensibles del Sistema o que se pueden modificar com "/etc" por citar un Ejemplo. Dependiendo del Sistema que se tenga, será su Ubicación: Para Iniciarlos siempre se Escribe "start" y sigue la misma regla para detenerlos o Reiniciarlos: Ejemplo "/xxxxxx/xxxxx/xxxx.d start"
En los SO UNIX-like los demonios se arrancan cuando el Sistema Oeprativo Inicia y son parte del Script de Arranque sin Importar cual sea. En UNIX los demonios como a cualquier Aplicación se les asigna un PID (Process ID) [Indentificación de Procesos] es un número que Identifica el Programa hasta que termina y se pueden ver mediante el uso del Comando "top" o también "ps -aux".
[editar] Receta : Configuración e instalación del kernel
[editar] Receta : Recompilar el kernel en freebsd
Antes que nada, si quieres consultar en línea el manual de freebsd, se encuentra en la página:
http://www.freebsd.org/doc/es_ES.ISO8859-1/books/handbook/kernelconfig-building.html
de ahí saqué la información y ahí vienen varias formas de compilar el kernel dependiendo de tus necesidades.
1. Primero te creas una copia de la configuración del kernel que te instala freebsd
# cd /usr/src/sys/i386/conf
# cp GENERIC NEWKERNEL
2. Si lo único que vas a hacer es agregar opciones a tu kernel. Al final del archivo agregas las nuevas líneas usando un editor como VI.
3. Ejecuta config(8) para generar el código fuente del kernel.
# /usr/sbin/config NEWKERNEL
Cambia de ruta, hacia el directorio de compilación.
# cd ../../compile/NEWKERNEL
Compila el kernel.
# make depend
# make
Instálalo.
# make install
Al reiniciar la máquina arrancará con su nuevo kernel.
Si quieres consultarlo en el manual de freebsd se encuentra en la página:
http://www.freebsd.org/doc/es_ES.ISO8859-1/books/handbook/kernelconfig-building.html
[editar] Receta : Recompilar el kernel en Linux
Para compilar un kernel en linux básicamente necesitamos 3 cosas. Los paquetes de librerías del GCC, el paquete libncurses5-dev y el kernel en fuente, que podemos obtener de Linux Kernels.
Lo descargamos en /usr/src y lo descomprimimos:
# cd /usr/src # tar xvfj linux-version.tar.bz2
Nos introducimos en el directorio de las fuentes y ejecutamos el menú de configuración del kernel en el que añadiremos o quitaremos modulos según las características de nuestro kernel:
# cd linux-version # make menuconfig
Cuando acabemos, compilaremos el kernel de la siguiente forma.
Si es 2.4.x o anterior, primero pondremos:
# make dep
En el resto de los núcleos pasaremos por alto este comando e iremos al meollo de la cuestión:
# make bzImage && make modules && make modules_install
Tras lo cual, en arquitectura PC encontraremos el bianrio del nuevo kernel en /usr/src/linux-verion/arch/i386/boot/bzImage. Copiamos la imagen a /boot para tenerla bien localizada:
# cp arch/i386/boot/bzImage /boot
Y la añadimos al gestor de arranque. Este paso es diferente según el gestor que tengamos. Es mas recomendable siempre añadir el kernel nuevo al gestor que sustituir el kernel viejo por el nuevo. De otro modo, si nos hubiesemos equivocado, Linux no arrancari correctamente y tendríamos un problemilla.
[editar] Receta : Usar jobs de forma eficaz
[editar] Receta : Arrancar, parar y matar procesos
[editar] Administración
[editar] Receta : ¿Qué es eso de root?
Root en inglés quiere decir raíz. La cuenta de usuario root es aquella en los sistemas Unix que posee todos los permisos en el directorio raíz de nuestro sistema operativo, en otras palabras, se utiliza dicha cuenta para la administración; a través de ella se pueden crear otros usuarios, servicios del sistema y llevar toda su administración.
[editar] Receta : Creación y gestión de particiones
[editar] Receta : Copiar archivos a múltiples home
[editar] Receta : Crear un demonio persistente
Para esto bastará con hacer un enlace simbólico en /etc/rcx.d en donde x es el nivel de arranque que usamos por defecto.
A la hora de crear el enlace, es mejor poner delante del nombre Sx donde x es el número de orden de ejecución. Esto es porque linux a la hora de ejecutar los demonios lo hace por orden de listado. Para hacerse una idea de como funciona, basta con ver el resultado de:
# ls /etc/rc2.d S10sysklogd S20apmd S20makedev S21aumix S91apache S99stop-bootlogd S11klogd S20fam S20mysql S89atd S92gdm S18portmap S20inetd S20ssh S89cron S99rmnologin #
Supongamos que usamos el nivel de arranque 2 y que queremos añadir apache para que arranque automáticamente cuando entremos en ese nivel de arranque. Accedemos a /etc/rc2.d y creamos el enlace simbólico:
# cd /etc/rc2.d # ln -s /usr/sbin/apache S91apache
De esta manera al poner S91 delante, apache se ejecutará al inicio del nivel de arranque 2 antes que S92gdm y después de S89cron según el listado de arriba.
[editar] Receta : Parámetros típicos de arranque
[editar] Receta : Crear cuentas de usuarios
[editar] Receta : Crear un disco de arranque en Linux
[editar] Receta : Crear una kit de reparaciones
[editar] Receta : Cómo instalar/actualizar/desinstalar paquetes rpm
Como instalar, desinstalar y actualizar paquetes rpm.
[editar] Receta : Cómo instalar/actualizar/desinstalar paquetes deb
Usando la Herramienta nativa de Debian apt el comando:
apt-get remove apache bastaria para desinstalar el paquete apache
También es posible desintarlo con la herramienta dpkg el comando con esta herramienta seria
dpkg --purge apache
Para instalar un paquete:
apt-get install apache
Para actualizar la lista de paquetes incluidos en /etc/apt/sources.list:
apt-get update
Para actualizar los paquetes:
apt-get upgrade
Por si falla algo en la instalación o 'upgrade' con apt:
apt-get -f install
Para configurar un paquete:
dpkg-reconfigure apache
Para instalar un paquete .deb sin apt:
dpkg -i apache
[editar] Receta : Cómo instalar/actualizar/desinstalar ports
[editar] Receta : Cómo crear un programa desde el código fuente
[editar] Receta : La utilidad apt-get
[editar] Receta : La utilidad yum
[editar] Receta : Como instalar Java en Linux
[editar] Receta : Cómo usar los empaquetadores/desempaquetadores y los compresores/descompresores
[editar] Receta : Compartir ficheros entre Unix y GNU/Linux
[editar] Receta : Compartir ficheros entre Unix y Mac OS
[editar] Receta : Compartir ficheros entre Unix y Windows
[editar] Receta : Optimizar el espacio del disco
[editar] Receta : Limitar la cuota de espacio de los usuarios
[editar] Receta : Usando Perl como lenguaje de script de administración
[editar] Receta : Automatizando las tareas de administración
[editar] Receta : Planificar nuestras tareas con "at"
[editar] Receta : Configuración de discos RAID en FreeBSD
[editar] Servicios
[editar] Receta : Configuración de SSH en un sistema Debian 3.1
[editar] Receta : eliminar servicios innecesarios
[editar] Receta : Instalar servicio de administración remota a traves de web con webadim
[editar] Receta : Crear un servidor de correo con Sendmail
[editar] Receta : Crear un servidor de mensajería instantánea
[editar] Receta : Crear un servidor CVS
[editar] Receta : Exprimiendo el poder de CVS
[editar] Receta : Ofrecer servicios FTP
[editar] Receta : Servicio HTTP con apache web server
[editar] Receta : Instalar y configurar un servicio DCHP
Usar Bind
[editar] Receta : Servicio de base de datos con MySQL
[editar] Receta : Servicio de base de datos con postgreSQL
[editar] Receta : Crear un servidor de certificados de autenticación
[editar] Receta : Plataforma lamp en cinco minutos
[editar] El sistema de arranque y de autenticación
[editar] Backups, protegiendo y restaurando nuestros datos.
[editar] Receta : Crear respaldos usando tar
Crear un archivo para respaldar la información es muy simple, basta con hacer lo siguiente:
shell~$ tar -cvf Backup-16012006.tar tesis/ fotos/ /home/juancho/games
El comando anterior (tar) nos crea un archivo llamado Backup-16012006.tar (los números son solo para identificar la fecha en la que se realizó el respaldo) con el contenido y directorios dentro de mi home llamados tesis fotos y además el directorio de juegos del usuario juacho (/home/juancho/games) algunas veces es útil agregar la bandera -z o -j (para crear un archivo comprimido con formato zip o bzip respectivamente), aunque en archivos importantes no es recomendable utilizar compresión porque un error en el archivo puede dejar inservible nuestro respaldo
[editar] Receta : Crear respaldos usando Dump y Restore
dump y restore Las herramientas dump y restore fueron puestas bajo Linux por Remy Card. El paquete necesario en RedHat Linux es dump-0.4b21-3.
Una vez que las fuentes han sido compiladas e instaladas, la utilización de dump y restore es relativamente simple. Para realizar la copia de seguridad de una partición /dev/sda1 sobre /dev/rmt0, es suficiente hacer:
- dump 0sfu 3600 /dev/rmt0 /dev/sda1
- dump 0sfu mis02:/dev/rmt0 /dev/sda1
La segunda orden permite copia de seguridad de un disco sobre un dispositivo remoto (por ejemplo situado aquí sobre la máquina "mis02"). Las opciones de dump pueden parecer complejas. A continuación damos una corta descripción:
0 a 9 : nivel de copia de seguridad. 0 corresponde a una copia de seguridad completa, mientras que los otros niveles n corresponden a la copia de seguridad de archivos que fueron modificados desde la enésima copia de seguridad;
s : tamaño de la cinta en pies;
f : archivo. Puede estar compuesto de máquina:archivo;
u : escritura de la fecha y del nivel de copia de seguridad en el archivo /etc/dumpdates.
Existen otras opciones. Para mayor información, consultar las páginas del manual. Existen dos maneras de efectuar una restauración : en línea de ordenes o en modo llamado "interactivo". El segundo modo es más simple para las restauraciones parciales. El primero es sobre todo utilizado para las restauraciones completas.
Para restaurar la cinta en modo interactivo es suficiente hacer:
- restore -if /dev/rmt0
- restore -if mis02:/dev/rmt0
En este caso, un mini-intérprete de órdenes es ejecutado. Utilice la orden help para más detalles.
Para restaurar completamente una cinta:
- restore rf /dev/rmt0
Para la utilización de dump y restore a través de una red (copia de seguridad sobre dispositivos remotos), debe utilizar los archivos .rhosts. En el siguiente ejemplo de copia de seguridad, la máquina "mis01" debe tener:
- cat ~root/.rhosts
fferrer Cuidado de todas formas con los fallos de seguridad derivds por los ficheros .rhosts. El uso de dispositivos remotos necesita igualmente de la presencia del programa rmt en la máquina que maneja los dispositivos de copia de seguridad. Este programa está incluido en la distribución fuente de dump para Linux.
[editar] Receta : Crear un respaldo del gestor de arranque
[editar] Receta : Trabajar con ISOs y grabadoras de CD
[editar] Redes.
[editar] Receta : Conectarse a Internet con un módem en FreeBSD
La configuración que aquí veremos esta orientada a la conexión a Internet mediante un router ADSL, ya que aun no existe soporte para Unix/Linux para tarjeta/módem ADSL (que yo sepa).
Lo primero será configurar la interfaz de red
[editar] Receta : El comando iptables
[editar] Receta : Usar DHCP
Un servidor DHCP lo que hace es configurar de manera automática la conexión a la red.
Si te encuentras en una red en la que hay un servidor DHCP puedes configurar tu conexión a red mediante el comando dhclient.
dhclient se tiene que ejecutar como administrador.
Hay muchos routers ADSL con servidores DHCP incorporados, así que es bastante probable que puedas connectar a este servidor y que te configure tu tarjeta de red para poder acceder a Internet.
En Linux el fichero de configuración es dhcpd.conf, el cual es autoexplicativo.
[editar] Receta : Internet para una red a través de una única IP de salida
[editar] Receta : leer y contestar correo con mail/mailx
[editar] Receta : leer y contestar correo con mutt
[editar] Receta : Terminales diskless en FreeBSD
[editar] Receta : Soporte Wireless en Linux
[editar] Receta : Descubrir redes inalámbricas con Linux
[editar] Receta : Configurar un punto de acceso en Linux
[editar] Receta : configuración para dispositivos inflarojos en Linux (IrDA)
(*&
[editar] Receta : Bluetooth en Linux
[editar] Seguridad
[editar] Receta : Cifrar nuestro correo electrónico
[editar] Receta : Flujo de un ataque
[editar] Receta : Tipos de ataques: ataques remotos
[editar] Receta : Autenticación mediante PAM
[editar] Receta : Automatizando la verificación de las firmas criptográfica
[editar] Receta : Qué es y qué no SSH
[editar] Receta : Instalar openSSL
[editar] Receta : Permitir acceso remoto con SSH
[editar] Receta : SSH como una Virtual Private Network
[editar] Receta : Habilitando IPSec bajo linux
[editar] Receta : Proteger los ficheros mediante permisos
[editar] Receta : Proteger los archivos logs
[editar] Receta : Cifrar el disco duro
[editar] Receta : Cifrar emails mediante GnuPG
[editar] Receta : El sistema Kerberos
[editar] Receta : Autenticación con clave pública en el SSH
[editar] Receta : Servidor SSH+CVS seguro (en chroot)
[editar] Receta : Firewall con Netfilter
[editar] Receta : Cortafuegos (firewall) en OpenBSD
[editar] Receta : Probando nuestro firewall
[editar] Receta : Diseño de firewalls
Hy que diseñarlo bien muchachos, jeje.
[editar] Receta : Sistemas proxies
[editar] Receta : Configurando los servicios de Internet
[editar] Receta : Cuando nuestro sistema ha quedado comprometido
[editar] Receta : Detectar las intrusiones con Snort en FreeBSD
[editar] Receta : Escribir nuestras propias reglas con snort
[editar] Receta : Honeypots
[editar] Impresión
[editar] Receta : Impresión controlada por lpr
[editar] Receta : Usar diferentes impresoras
[editar] Receta : Impresion a través de una red
[editar] Receta : Compartir impresoras con Windows a través de samba
[editar] Receta : Lenguajes de impresión :PostScript, DVI, PDF
La manera mas segura para poder escribir documentos en PostScript, DVI y PDF es por medio de
.
[editar] Receta :
[editar] Dispositivos
[editar] Receta : Montar y desmontar sistemas extraibles
Sistemas extraibles: CD Disquet Disco USB (Pen Drive) Disco Duro dentro de caja con conector USB y Firewire ...
[editar] Disco Duro dentro de caja con conector USB y Firewire
Montar y desmontar un disco duro de estas carácterísticas depende de que conector utilicemos para conectarlo al ordenador.
Si lo conectamos por el usb el procedimiento es el mismo que el del Disco USB (Pen Drive)
Si lo conectamos por el FireWire el procedimiento es similar pero los drivers necesarios son diferentes. Estos drivers son:
sd_mod
ieee1394
ohci1394
sbp2
Y lo que tienes que hacer es un modprobe de aquellos que no tengas ya en el kernel.
Más información: http://vincent.strubel.free.fr/gentoo-pb/gentoo-pb.html
[editar] Receta : Configuración de USB
Como hacer funcionar una memoria USB (pendrive) en Debian GNU/linux
Configurar
Probarlo
Primero crear una carpeta para poder montar allí el pendrive, como superusuario:
mkdir /mnt/pendrive
Y después montarlo allí:
mount -t vfat /dev/sda1 /mnt/pendrive
El pendrive pasa a ser /dev/sda1 y se montará en /mnt/pendrive.
Si todo ha ido bien puedes ver el contenido de la memoria USB en /mnt/pendrive
ls /mnt/pendrive
Al terminar de utilizar la pendrive hay que desmontarlo:
umount /mnt/pendrive
Hacer las configuraciones permanentes
Editar el fichero /etc/fstab y copiar: /dev/sda1 /mnt/pendrive vfat noauto,rw,user 0 0
En algunos ordenadores /dev/sda1 sería /dev/uba1. Si conectamos más de una memoria USB /dev/sda2, 3, etc .
Utilizar
En la barra de menú, hacemos clic con el botón derecho. Seleccionamos "Añadir" y "Montador de discos". Cuando aparece hacemos clic sobre él con el botón derecho, “Preferencias”. En el directorio de montage escribimos el directorio del dispositivo (que hemos creado previamente): /mnt/pendrive También podemos cambiar el icono si se quiere.
otra opcion para configurar una memoria usb
dmesg
te verifica que hardware esta intalado si ya introdiciste tu usb te aparece una descipcion y como se muestra por ejemplo sda1 o sdb1 después montamos la usb mount -t vfat /dev/sda1 /mnt/memory/ para ver los archivos de tu usb solo dale el directori por ejemplo cd /mnt/memory/ listoo.......!