Diferencia entre revisiones de «Hacks para sistemas operativos Unix-like»

Contenido eliminado Contenido añadido
Sin resumen de edición
Drinibot (discusión | contribs.)
m Corrección asistida de errores ortográficos (no corre en modo automático)
Línea 7:
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 Hacks|Plantilla para la serie hacks]]. El otro convenio que estamos siguiendo es crear las páginas con la siguiente nomenclatura: ''' '[ [Hacks para Unix-like/TituloTítulo de la receta] ]' '''
Gracias por vuestra colaboración.
 
Línea 32:
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 internetInternet y que efectue procesos que consuman gran capacidad de recursos pensaría en un BSD sin interfaz gráfica.
 
=== 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 nucleonúcleo del sistema operativo.
 
Es incorrecto decir que el SO que usamos es Linux, ya que Linux es solamente el nucleonúcleo. El SO lo componen el nucleonúcleo y los programas que ruedan sobre este nucleonúcleo y sin los cuales, no habría SO.
 
=== Receta : [[Hacks_unixlike: La familia BSD| La familia BSD ]] ===
Línea 48:
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 mayoriamayorí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 mayoriamayorí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 seraserá el Indicado para usted; al final de cuentas el mejor Shell es con el que el Usuario se sienta a agusto.
>
 
Línea 112:
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 caractercarácter '$'. Por ejemplo:
 
$ echo $EDITOR
Línea 130:
Otras variables de entorno importantes:
 
* PATH: Contiene una lista de directorios, separados por el caractercarácter ':' en los que el sistema buscará los programas que sean invocados sin indicar una ruta.
 
=== Receta : Crear nuestros propios comandos ===
Línea 136:
 
 
El comando 'ls' si queremos agregarle unos cuantros parametrosparámetros podemos hacerlo mediante un alias:
 
 
Línea 155:
 
 
y listo cuando tipeamos el comando 'ls' nos saldrasaldrá como si tipearamos 'ls -color -s'.
 
 
TambienTambié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'.
Línea 168:
 
 
Si queremos podemos agregar parametrosparámetros. ''Rubby Antonio Perez Lorenzo''
 
=== Receta : [[Hacks para Unix-like: contenedor de basura|Como crear nuesto propio contenedor de basura]] ===
Línea 177:
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 montonmontó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:
Línea 190:
=== Receta : Una mirada a Vi(m) ===
 
Vim la versionversió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 traumaticotraumático resulta facilfácil y muy practicopráctico con la costumbre.
 
Para ejecutar el vi(m) basta con digitar desde la linealínea de comandos vi
Simplemente escribimos (vim nombre_del_archivo.extencionextensió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 construccionconstrucción de nuestro programa.
En Vim contamos con un conjunto de herramientas las cuales nos van a ayudar en la elaboracionelaboració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 edicionedició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 edicionedició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'
 
=== Receta : Crear nuestros propios comando en Vi(m) ===
Línea 209:
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 orígenorigen, 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.
 
=== Receta : [[/Usando expresiones regulares/]] ===
Línea 215:
== Entornos gráficos X-Window ==
=== Receta : X-window ===
Los sistemas operativos Unix-Like utilizan X-window como el XFree86 y el Xorg, para poder ingresar al modo graficográ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 graficográ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.
 
[http://www.x.org] paginapágina de Xorg
[http://www.xfree86.org] paginapá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 GraficaGrá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 GraficoGrá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 OptimaÓptima, según la Tarjeta de Video que tengamos Instalada.
 
'''xorgsetup''': Este Comando nos Sirve para Configurar el Dispositivo GraficoGráfico (La Tarjeta de Video) que nos servira para mostrar los GraficosGrá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 UtilÚtil cuando X no detecta nuestro Mouse y necesitamos configurarlo Manualmenete o usamos una Laptop con algún Unix-Like.
 
=== Receta : Gestores de Ventanas ===
¿QueQué 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 GraficasGráficas en Sistema del tipo Unix-Like.
 
Los Ordenadores Modernos suelen ofrecer una Interface GraficaGrá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, estanestán divididos, los GraficosGrá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 aha 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.
 
¿PorquePor 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 SucedioSucedió 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 UtilesÚtiles cuando se trata de Tener Aplicaciones GraficasGrá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 de eldel uso de Entornos de escritorio ya no es necesario y se puede Optar por un Escritorio que Permite ahorrar Recursos.
 
=== Receta: Cómo arrancar directamente en un entorno gráfico ===
 
Para poder iniciar automaticamenteautomá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
 
TambienTambién se pueden añadir distintas opciones para poder mejorar la performance del Xserver:
 
-notcplisten #Denega las conexiones TCP al Xserver
Línea 273:
find PATH -name PATTERN
 
Por ejemplo buscando desde la raizraíz:
find / -name nombrearchivo
 
Línea 305:
 
=== 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 seccionsecció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 automaticamenteautomáticamente reconoce cualquier dispositivo que se conecte al ordenador y automaticamenteautomáticamente lo monta.
 
=== Receta : Montaje automático de dispositivos ===
 
Para montar automaticamenteautomá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 instalacioninstalació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
Línea 324:
=== Receta : ¿Qué es el kernel? ===
 
El kernel es el nucleonú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 nucleonú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 operacionoperación, un click o una simple pulsacionpulsación de nuestro teclado, es el kernel quien traduce los unos y ceros en algo que el Sistema Operativo comprende.
 
=== 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 estanestá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 algúnosalgunos 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 servianserví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 peronPerón sin "Interface" y las unicasú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 CaracteristicasCaracterísticas ya mencionadas.
Lo demonios son programables, ya sea Iniciarlos o deternerlos de manera manual, editando algún archivo, haciendo algún Script ó programandolosprogramá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 estanestá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, seraserá 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 AplicacionAplicación se les asigna un PID (Process ID) [IndentificacionIndentificación de Procesos] es un numeronúmero que Identifica el Programa hasta que termina y se pueden ver mediante el uso de eldel Comando "top" o tambientambién "ps -aux".
 
=== Receta : Configuración e instalación del kernel===
Línea 385:
=== Receta : Recompilar el kernel en Linux ===
 
Para compilar un kernel en linux básicamente necesitamos 3 cosas. Los paquetes de libreriaslibrerías del GCC, el paquete libncurses5-dev y el kernel en fuente, que podemos obtener de [http://kernel.org Linux Kernels].
 
Lo descargamos en /usr/src y lo descomprimimos:
Línea 392:
# 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 caracteristicascaracterísticas de nuestro kernel:
 
# cd linux-version
Línea 403:
# make dep
 
En el resto de los nucleosnúcleos pasaremos por alto este comando e iremos al meollo de la cuestión:
 
# make bzImage && make modules && make modules_install
Línea 418:
== Administración ==
=== Receta : ¿Qué es eso de ''root''? ===
Root en inglés quiere decir raizraíz. La cuenta de usuario '''root''' es aquella en los sistemas Unix que posee todos los permisos en el directorio raizraí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.
 
=== Receta : Creación y gestión de particiones ===
Línea 424:
=== Receta : Crear un demonio persistente ===
 
Para esto bastará con hacer un enlace simbolicosimbó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:
Línea 435:
 
 
Supongamos que usamos el nivel de arranque 2 y que queremos añadir apache para que arranque automaticamenteautomáticamente cuando entremos en ese nivel de arranque. Accedemos a /etc/rc2.d y creamos el enlace simbolicosimbó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 despuesdespués de S89cron según el listado de arriba.
 
=== Receta : ParametrosParámetros típicos de arranque ===
=== Receta : [[Hacks para Unix-like:Crear cuentas de usuarios|Crear cuentas de usuarios]] ===
=== Receta : Crear un disco de arranque en Linux ===
Línea 457:
''apt-get remove apache'' bastaria para desinstalar el paquete apache
 
TambienTambién es posible desintarlo con la herramienta dpkg el comando con esta herramienta seria
 
''dpkg --purge apache''
Línea 473:
''apt-get upgrade''
 
Por si falla algo en la instalacioninstalación o 'upgrade' con apt:
 
''apt-get -f install''
Línea 510:
=== Receta : [[Configuración de SSH en un sistema Debian 3.1]] ===
=== Receta : [[Hacks para Unix-like: eliminar servicios innecesarios | eliminar servicios innecesarios]] ===
=== Receta : [[Hacks para Unix-like: Servicio webadmin | Instalar servicio de administracionadministración remota a traves de web con webadim]] ===
 
=== Receta : Crear un servidor de correo con Sendmail ===
Línea 583:
== Redes. ==
=== Receta : Conectarse a Internet con un módem en FreeBSD===
La configuración que aquí veremos esta orientada a la conexión a internetInternet mediante un router ADSL, ya que aun no existe soporte para Unix/Linux para tarjeta/modemmódem ADSL (que yo sepa).
 
[[Hacks para sistemas operativos Unix-like / Lo primero será configurar la interfaz de red|Lo primero seraserá configurar la interfaz de red]]
 
=== Receta : [[Hacks para Unix-like:El comando iptables|El comando iptables]] ===
Línea 610:
 
=== Receta : Soporte Wireless en Linux ===
=== Receta : Descubrir redes inalambricasinalámbricas con Linux ===
=== Receta : Configurar un punto de acceso en Linux ===
 
Línea 619:
 
== Seguridad ==
=== Receta : [[Hacks para Unix-like:Cifrar nuestro correo electronicoelectrónico|Cifrar nuestro correo electronicoelectrónico]] ===
=== Receta : [[Hacks para Unix-like:Flujo de un ataque|Flujo de un ataque]] ===
=== Receta : [[Hacks para Unix-like:Tipos de ataques remotos|Tipos de ataques: ataques remotos]] ===
=== Receta : AutenticacionAutenticación mediante PAM===
=== Receta : Automatizando la verificacionverificación de las firmas criptograficacriptográfica ===
=== Receta : Qué es y qué no SSH ===
=== Receta : [[Hacks para Unix-like:Instalar openSSL en linux |Instalar openSSL]] ===
Línea 649:
=== Receta : Sistemas proxies ===
 
=== Receta : Configurando los servicios de internetInternet ===
 
=== Receta : Cuando nuestro sistema ha quedado comprometido ===
Línea 677:
 
==== Disco Duro dentro de caja con conector USB y Firewire ====
Montar y desmontar un disco duro de estas carácteristicascará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)
Línea 695:
 
'''
'''Como hacer funcionar una memóriamemoria USB (pendrive) en Debian GNU/linux'''
 
 
Línea 760:
una descipcion y como se muestra por
ejemplo sda1 o sdb1
despuesdespués montamos la usb
mount -t vfat /dev/sda1 /mnt/memory/
para ver los archivos de tu usb