http://wiki.sabayon.org/index.php?title=How_to_optimize_and_accelerate_your_system
http://www.linuxeando.org/foros/index.php?topic=729.0
Optimizar y acelerar sistema gentoo.
Muchas por no decir todas estas reglas serán aplicables (seguramente), a casi todas las distribuciones Linux, aunque tengo que decir que la mayoría no las necesitará porque los programadores y mantenedores de esas distros (las basadas en Red Hat y Debian, por ejemplo), las incorporan por defecto. Ubuntu, Debian, Centos, etc. Desde el portátil que escribo (Dell Inspiron con Ubuntu 8.04 preinstalado en sda2 y gentoo en sda3) he podido comprobar que esta optimización no es necesaria en ubuntu.
$ ls -l /dev/disk/by-label
total 0
lrwxrwxrwx 1 root root 10 jul 13 07:41 boot -> ../../sda1
lrwxrwxrwx 1 root root 10 jul 13 07:40 datos -> ../../sda9
lrwxrwxrwx 1 root root 10 jul 13 08:09 gentoo_h -> ../../sda7
lrwxrwxrwx 1 root root 10 jul 13 08:09 gentoo_r -> ../../sda3
lrwxrwxrwx 1 root root 10 jul 13 07:40 ubuntu_h -> ../../sda6
lrwxrwxrwx 1 root root 10 jul 13 07:40 ubuntu_r -> ../../sda2
El mérito de este artículo es de los chicos de Saboyan (derivada de Gentoo). Vease la url en la parte superior.
Detales de mi máquina:
$ uname -a
Linux zeus 3.3.8-gentoo #1 SMP Thu Jul 12 04:19:51 CEST 2012 x86_64 Intel(R) Core(TM)2 Duo CPU T5750 @ 2.00GHz GenuineIntel GNU/Linux.
$ cat /proc/meminfo|grep -i memtotal
MemTotal: 4045372 kB
Disco duro, Sata II 500 Gb 5400 RPM. 5MB memoria interna (un disco normalito).
Cambiar
# vi /etc/rc.conf
rc_parallel="YES"
rc_logger="NO"
Los servicios necesarios del sistema no deben desactivarse pero otros si. Puede conocerlos con la utilidad
# rc-update show
# vi /etc/conf.d/hdparm
hda_args="-a16 -c1 -k1 -u1 -S0"
cdrom0_args="-c1 -k1 -u1
Agrego hdparm al arranque del sistema:
# rc-update add hdparm boot
preload es un demonio readhead adaptado que supervisa los programas más utilizados. Parte de esos programas los almacena en cache y aumentar la velocidad de carga:
# emerge -av preload
# rc-update add preload default
Los archivos temporales se borran durante el apagado, se puede colocar sus lugares de almacenamiento en la memoria RAM. Esto reduce el número de operaciones de disco , haciendo más rápido programas que utilizan carpetas temporales.
# vi /etc/fstab
tmp /tmp tmpfs rw,mode=1777 0 0
vartmp /var/tmp tmpfs rw,mode=1777 0 0
Retraso de la repetición del teclado, sin recompilar X11:
# vi /etc/X11/xorg.conf
Por defecto el tiempo de repetición de 500 milisegundos, y el tiempo de respuesta por defecto de 30 milisegundos. Esto cambia a 530 y 0, respectivamente.
....
Section "InputDevice"
Identifier "logitech"
Driver "kbd"
Option "AutoRepeat" "530 0"
EndSection
En este sistema específico no implementé el resto de optimizaciones. Por si fuera útil incluyo los archivos /etc/sysctl.conf y /root/rules.sh (firewall) y como arrancarlo al iniciar el sistema.
Archivo /etc/sysctl.conf.
# cat /etc/sysctl.conf |grep ^[^#] | colorlog.pl
kernel.printk = 4 4 1 7
fs.inotify.max_ ser_watches = 524288
vm.mmap_min_add = 65536
fs.file-max = 1 384
kernel.threads- ax = 2048
net.ipv4.conf.e h0.arp_ignore = 1
net.ipv4.conf.e h0.arp_announce = 2
net.ipv4.conf.a l.arp_ignore = 1
net.ipv4.conf.d fault.rp_filter = 1
net.ipv4.ip_for ard = 0
net.ipv4.icmp_e ho_ignore_broadcasts = 1
net.ipv4.conf.a l.rp_filter = 1
net.ipv4.conf.a l.send_redirects = 0
net.ipv4.conf.a l.accept_redirects = 0
net.ipv4.conf.a l.accept_source_route = 0
net.ipv4.conf.a l.arp_announce = 1
vm.swappiness = 5
Un firewall básico para un host con iptables.
# ls -l /root/rules.sh
-rwx------ 1 root root 1229 jul 12 07:08 /root/rules.sh
# cat /root/rules.sh
IPT=/sbin/iptables
# Flush old rules, old custom tables
echo " * flushing old rules"
$IPT --flush
$IPT --delete-chain
# Set default policies for all three default chains
echo " * setting default policies"
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
# Enable free use of loopback interfaces
echo " * allowing loopback devices"
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# All TCP sessions should begin with SYN
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
# Allow established and related packets
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open the following ports
echo " * allowing ssh on port 22"
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
echo " * allowing dns on port 53"
$IPT -A INPUT -p udp -m udp --dport 53 -j ACCEPT
echo " * allowing http on port 80"
$IPT -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
echo " * allowing https on port 443"
$IPT -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
echo " * allowing ping responses"
$IPT -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
# DROP everything else and Log it
$IPT -A INPUT -j LOG
$IPT -A INPUT -j DROP
#
# Save settings
#
echo " * saving settings"
Ejecutar script:
# /root/rules.sh
* flushing old rules
* setting default policies
* allowing loopback devices
* allowing ssh on port 22
* allowing dns on port 53
* allowing http on port 80
* allowing https on port 443
* allowing ping responses
* saving settings
Guardar la configuración actual:
# /etc/init.d/iptables save
iptables | * Saving iptables state ... [ ok ]
Iniciar iptables con el sistema:
# rc-update add iptables default
* service iptables added to runlevel default
No hay comentarios:
Publicar un comentario