Sei sulla pagina 1di 6

"uname (abreviatura de unix name) es un programa de Unix y sistemas operativos de tipo Unix que imprime el nombre, versin y otros

detalles de la mquina y el sistema operativo que se est ejecutando en ella. La versin de GNU deuname est incluida en los paquetes "sh-utils" o "coreutils". uname no est disponible como programa individual."

Sintaxis: uname [Opcion(es)] Opciones: Imprimir informacin del sistema. Sin opciones es lo mismo que -s -a, --all imprimir toda la informacin en el siguiente orden, excepto omitir -p y -i si es desconocido: -s, --kernel-name imprimir el nombre del kernel -n, --nodename imprimir el host del nodo de la red -r, --kernel-release imprimir la versin del kernel -v, --kernel-version imprimir la versin del kernel -m, --machine imprimir el nombre del hardware de la maquina -p, --processor imprimir el tipo de procesador o "desconocido" -i, --hardware-platform imprimir la plataforma del hardware o "desconocido" -o, --operating-system imprimir el sistema operativo --help muestra esta ayuda y finaliza --version informa de la versin y finaliza Ejemplos: a) Con la opcin -a, --all imprime toda la informacin disponible. uname -a Muestra algo como esto:

Linux travesuras 2.6.31-20-generic ##57-Ubuntu SMP Mon Feb 8 09:05:19 UTC 2010 i686 GNU/Linux b) Cuando se escribe uname sin opciones equivale a teclearla con la opcin -s uname uname -s Las dos formas son la misma e imprimen esto: Linux c) uname -m imprime si el Linux que tenemos instalado es para 32 o 64 bits. Si dice que es i686 la versin es de 32 bits y si muestra x86_64 es para 64 bits. uname -m Uso del comando sysctl El comando /sbin/sysctl es usado para visualizar, configurar y automatizar configuraciones del kernel en el directorio /proc/sys/. Para tener una vista rpida de todas las variables configurables en el directorio /proc/sys/, escriba el comando /sbin/sysctl -a como root. Esto crear una lista exhaustiva, a continuacin le mostramos un pequeo ejemplo: net.ipv4.route.min_delay = 2 kernel.sysrq = 0 kernel.sem = 250 32000 32

128

Esta es la misma informacin bsica que vera si echara un vistazo a cada uno de los archivos individualmente. La nica diferencia es la localizacin del archivo. El archivo/proc/sys/net/ipv4/route/min_delay est representado por net.ipv4.route.min_delay, con las barras oblicuas del directorio sustitudas por puntos y la porcin asumida proc.sys. El comando sysctl se puede usar en vez de echo para asignar valores a los archivos en los que se puede escribir en el directorio /proc/sys/ . Por ejemplo, en vez de usar este comando: echo1>/proc/sys/kernel/sysrq Puede usar el comando sysctl: sysctl-w kernel.sysrq="1" kernel.sysrq = 1 A pesar de que es muy til durante las pruebas el poder rpidamente efectuar configuraciones de valores simples en /proc/sys/, esto no funciona bien en un ambiente de produccin. Todas las configuraciones especiales /proc/sys/ se pierden cuando se vuelve a arrancar el sistema. Para conservar las configuraciones que quiere establecer como permanentes en su kernel, adalas al archivo /etc/sysctl.conf. Cada vez que el sistema arranque, init ejecuta el script /etc/rc.d/rc.sysinit. Este script contiene un comando para ejecutar sysctl mediante el uso de/etc/sysctl.conf como los valores a establecer. Por eso, cualquier valor aadido

a /etc/sysctl.conf surtir efecto una vez que el sistema arranque sin la necesidad de reconfigurar y reconstruir el kernel para incorporar los cambios. El kernel Linux permite modificar una gran cantidad de parmetros sin necesidad de recompilarlo. Estos parmetros afectan al funcionamiento del sistema en mayor o menor medida as que conviene saber el modo de optimizarlos y/o saber como modificarlos. El comando sysctl suele ser la forma ms comn de hacerlo. Los valores se almacenan en el directorio /proc/sys. Hay que tener en cuenta que cuando modificamos los parmetros va sysctl los cambios surten efecto al instante, pero tras un reinicio se pierden, por eso conviene guardar las personalizaciones y cambios en el fichero de configuracin de sysctl /etc/sysctl.conf. En alguna otra entrada ya hemos visto algn cambio de estos parmetros, como por ejemplo el valor del swappiness para optimizar el uso de memoria, que hacer ante un kernel panic o ip_conntrack_max. Lo primero que podemos observar con el comando sysctl -a es un listado de los parmetros configurables junto con su valor actual:

# sysctl -a kernel.sched_child_runs_first = 0 kernel.sched_min_granularity_ns = 4000000 kernel.sched_latency_ns = 12000000 kernel.sched_wakeup_granularity_ns = 2000000 kernel.sched_shares_ratelimit = 500000 kernel.sched_tunable_scaling = 1 kernel.sched_shares_thresh = 4 kernel.sched_migration_cost = 500000 ... ...

Vamos a trabajar con el ejemplo de la variable para kernel panic. Vamos a modificarlo de 0 a 5 para indicar que ante un kernel panic el sistema se reinicie pasados 5 segundos. Por defecto est a 0:

# sysctl -a | grep panic

kernel.panic = 0

Podemos cambiarlo de dos formas: cambiando el parmetro con sysctl o volcando el 5 directamente al fichero en /proc/sys:

# echo 5 > /proc/sys/kernel/panic # sysctl -a | grep panic kernel.panic = 5 # sysctl -w kernel.panic=5 # sysctl -a | grep panic kernel.panic = 5

Para guardarlo tras el reinicio tendramos que aadir la siguiente lnea a /etc/sysctl.conf:

kernel.panic = 5

Si nicamente lo aadimos al fichero de configuracin y no ejecutamos sysctl ni echo tenemos que actualizar la configuracin con sysctl -p para que los cambios sean efectivos al instante:

# sysctl -p kernel.panic = 5 # sysctl -a | grep panic kernel.panic = 5

Esta es la forma de utilizar el comando sysctl linux, a partir de aqu solo es necesario utilizarlo para tunear aquellos parmetros de kernel que necesitemos.

Parmetros del kernel pueden ser cambiados con el sistema activo usando el comando sysctl. Sysctl nos ayuda a configurar parmetros

del kernel mientras el sistema est corriendo. La opcin -a nos mostrar una lista de todos los parmetros configurados en nuestro kernel en diferentes aspectos. Este es un ejemplo de la salida de este comando:$ sysctl -adev.cdrom.autoclose = 1fs.quota.writes = 0kernel.ctrl-alt-del = 0kernel.domainname = (none)kernel.execshield = 1net.core.somaxconn = 128net.ipv4.tcp_window_scaling = 1net.ipv6.route.mtu_expires = 600sunrpc.udp_slot_table_entries = 16vm.block_dump = 0 Por otro lado los cambios realizados con este comando slo son vlidos momentneamente. Por lo que al reiniciar el sistema cualquier cambios ser descartado porque el kernel va directamente al fichero /etc/sysctl.conf y toma de all dichos valores. Entonces podemos inferir que para hacer un cambio de forma permanente en sysctl es necesario hacerlo modificando el fichero /etc/sysctl.conf. Luego de hecho cualquier cabio en dicho fichero, lo guardamos y ejecutamos sysctl con la opcin -p para hacer efectivo estos cambios. Solo entonces los cambios sern persistentes despus de un reinicio o apagado del sistema. $ vi /etc/sysctl.conf$ sysctl -p Tambin podemos modificar parmetros de forma temporal con la siguiente orden, aclarando nuevamente que dichos cambios sern descartados al reinicio. $ sysctl -w {variable-name=value}

Sysctl : modificar parmetros del kernel


julio 22, 2011
Alexis Comandos sysctl Deja un comentario

Sysctl es una herramienta que nos permite cambiar parmetros del kernel sin tener que reiniciar el sistema Los parmetros a modificar se encuentran listados en /proc/sys/ y los ms significativos son : - dev : Establece los parmetros de configuracin de los dispositivos conectados - fs : Los parmetros relacionados con los sistemas de ficheros, inodes, quota, etc - kernel : Comportamiento general del kernel -net : Contiene los parmetros para configuracin de la red

-vm : Se utiliza para la configuracin de la memoria virtual. La estructura del comando sysctl es : sysctl [ parmetro ] variable=valor Las opciones ms habituales son : -a : Muestra todos los valores disponibles -w : Establece el varlor indicado -p : Carga en sysctl los valores definidos en el archivo /etc/sysctl.conf Si establecemos un valor con la opcin -w los cambios se pierden al reiniciar el equipo. Para evitar que esto ocurra hay que escribir los cambios en /etc/sysctl.conf Entonces para qu sirve la opcin -w ? Para comprobar que los cambios que queremos hacer son los correctos y evitar reiniciar el sistema en varias ocasiones si no hemos configurado los parmetros correctos Por ejemplo, para cambiar el valor hostname :

# sysctl -w kernel.hostname=miequipo kernel.hostname = miequipo


Para hacer el cambio permanente haramos lo siguiente :

# echo kernel.hostname=miequipo >> /etc/sysctl.conf && sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 kernel.hostname = miequipo