Mis 10 mandamientos en Linux

Mis diez mandamientos en llinux
Mis diez mandamientos en Linux

1. Un equipo nunca está obsoleto si sabes elegir la distribución y que uso darle.

2. Nunca pagues por productos basados en open source, dona a los proyectos que los mantienen.

3. Aprende a manejar la terminal, lo que aprendas te servirá para siempre.

4. Menos es más. Decide que necesitas antes de instalar, y abre el menor número posible de puertos.

5. La libertad tiene un precio, merece la pena prescindir de aplicaciones superfluas, o mantener aplicaciones antiguas.

6. Debian y Ubuntu para usuarios, empresas pequeñas y medianas. Las grandes empresas tienen sus propias distribuciones para sus distintas necesidades.

7. Si no encuentras las aplicaciones que necesitas en Linux, prueba a instalar una versión antigua con wine.

8. Si tu servidor lo aguanta, virtualiza y asigna cada grupo de servicios a una máquina virtual. aumenta muchísimo la seguridad.

9. Estudia detenidamente el particionamiento del disco duro. Separar los puntos de montaje en distintos directorios incrementa la seguridad.

10. Nunca instales las primeras versiones de una distribución, o un software libre. Espera todo lo que puedas hasta que estés seguro de que no hay «bugs».

Transmission-daemon + transmission remote en Ubuntu 14.04 LTS

transmission

Nota: versión actualizada a Ubuntu 16.04, aquí.

¿Qué es transmission?

El cliente para bittorrent transmission es uno de los más habituales y comunes programas de descarga, especialmente en Linux y OSX.

Objetivos

Instalar transmission como servicio en linux sin la interface de gnome para poder acceder a él a través de un navegador o un gestor remoto.

Paso 1. El servidor

1. Primero vamos a instalar una utilidad que nos permitirá añadir repositorios a apt-get, sin necesidad de editar el archivo /etc/apt/sources.list

$ sudo apt-get install python-software-properties

2. Ahora añadimos el repositorio de transmission

$ sudo add-apt-repository ppa:transmissionbt/ppa

3. En caso de tener instalada la versión de escritorio gnome de transmision podemos desintalarla con

$ sudo apt-get remove transmission-gtk

4. Actualizamos e instalamos transmission-daemon

$ sudo apt-get update
$ sudo apt-get install transmission-cli transmission-common transmission-daemon

5. Ahora vamos a crear un arbol de directorios para los archivos de descarga de transmission. En mi caso he dedicado un disco especialmente para ello, pero en este tutorial la ubicación del directorio está en el directorio home de vuestro ususario.

 $ mkdir ~/downloads
 $ mkdir ~/downloads/completos
 $ mkdir ~/downloads/incompletos

6. Unimos nuestro usuario al grupo debian-transmission y damos permisos a los directorios creados. Donde pone username, poneis vuestro nombre de ususario.

$ sudo usermod -a -G debian-transmission username
$ sudo chown -R username /home/username/Downloads
$ sudo chmod -R 775 /home/username/Downloads

7. Muy importante: para editar el archivo de configuración de transmission, debemos parar el demonio.

$ sudo service transmission-daemon stop

8. Editamos el archivo de configuración:

$ sudo nano /etc/transmission-daemon/settings.json

8a.- Activamos la lista de bloqueo de instituciones anti-p2p, y spam

    "blocklist-enabled": true,
    "blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",

8b,. Modificamos los directorios de descarga:

"download-dir": "/transmission/completos",
"incomplete-dir": "/transmission/incompletos",
"incomplete-dir-enabled": true,

8c.- Cambiamos el usuario y la password del usuario remoto de transmission, para aumentar la seguridad. Es importante que sea una password fuerte y un usuario distinto del habitual. Cuando arranquéis transmission de nuevo, si volveis a edita este archivos observareis que transmission lo ha encriptado. Además dejais en la lista blanca todas las redes para poder acceder desde fuera de casa.

«rpc-password»: «transmissionpassword«,
«rpc-username»: «transmissionuser«,
«rpc-whitelist»: «*»,
«rpc-whitelist-enabled»: true,

8d. Podeis también cambiar el puerto en que escucha transmission para el navegador web. Si es asñi modificad:

"rpc-port": 9091,

9. Iniciamos el demonio de transmission

$ sudo service transmission-daemon start

Paso 2. El cliente remoto:

Podéis descargalo en Google Code en el siguiente enlace transmisson-remote-gui . Es un cliente multiplataforma, lo hay incluso para android, y la configuración es muy sencilla. Simplemente hay que introducir la ip o nombre del servidor, el usuario y el password que hemos elegido. Por lo demás, las opciones son muy parecidas a las del cliente habitual de transmission.

Paso 3. Acceder a las descargas:

A través de Samba, Netatalk, sshd, ftp,… o cualquier otro servidor de archivos (hay que configurarlo, claro). Os recomiendo que los archivos los borréis desde el cliente remoto de transmission.

Gracias a:

Mavericks en MacPro 1.1 ¿Y ahora qué?

Linux Nº 1
Linux Nº 1

Los dos post anteriores  (https://www.pacorabadan.com/?p=762 y https://www.pacorabadan.com/?p=784) permiten actualizar mi Mac Pro a Mavericks y la verdad es que me quedo con Snow Leopard. He echado un vistazo a los comentarios del App Store sobre Iphoto, Garage Band, Final Cut,… y dan miedo. La verdad es que vamos a echar mucho de menos a Steve Jobs. Parece que Apple quiere seguir el modelo de negocio de Microsoft de dejar los ordenadores obsoletos con rapidez y encima funcionando mal.

El futuro está en el Software Libre, cada día lo tenemos todos mas claro.

Defragmentar Ext4

hd

Para empezar, deciros, que casi seguro que nos hace falta defragmentar Ext4. En estos momentos es el mejor tipo de formato para linux (desde mi humilde punto de vista), porque es tremendamente manejable. Como ya vimos podemos optimizarlo, pero además podemos defragmentar sin necesidad de desmontar los discos.

El comando para defragmentar es e4defrag. La defragmentación la podemos hacer por directorio o por dispositivo. En windows o en Macintosh, solo se puede hacer por disco. Esto hace que sea mucho mas interesante pues si el punto de montaje que suele cambiar más es por ejemplo /var, podemos solo desfragmentar ese directorio.

Obtener estadísticas.

La opción para obtener estadísticas es -c

Así por ejemplo si queremos ver el nivel de fragmentación de nuestro sistema:

$ sudo e4defrag -c /

El resultado

e4defrag

Como podéis ver nos da una lista de los archivos fragmentados, y el índice de fragmentación, que en inglés es la línea Fragmentation score. Como nos devuelve el propio comando, si está entre:

  • 0-30 no hace falta defragmentar.
  • 31-55 el sistema está un poco fragmentado.
  • Más de 56, hay que defargmentar.

Podemos defragmentar un sólo archivo, por ejemplo:

$ sudo e4defrag /home/pacorabadan/.config/libaccounts-glib/accounts.db

Podemos defragmentar un directorio

$ sudo e4defrag /home

Podemos defragmentar todo el sistema

$ sudo e4defrag /

Podemos defragmentar el disco, o el raid

$ sudo e4defrag /dev/sda

$ sudo e4defrag /dev/md0

 

Optimizar Ext4 y Ext3

raid

1. Ejecutar:

Actuamos como root

$ sudo -i

Para cada dispositivo de almacenamiento

$ tune2fs -o journal_data_writeback /dev/sdX

2. Editar /etc/fstab

$ nano /etc/fstab

Cada punto de montaje será un línea parecida a esta

# /dev/sda2
UUID=be2f0ac2-4683-4550-bcd1-704a1a840b3e / ext4 relatime,errors=remount-ro 0 1

La primera entrada es el UUID, una referencia única para dispositivo de almacenamiento equivalente a /dev/sdX. La segunda entrada es el punto de montaje «/». La tercera son el tipo de formato de disco, «ext3/4». La cuarta son las opciones de montaje, que son las que vamos a cambiar. La quita y sexta, «0 1», se refieren a las opciones dump y pass.

Sustituimos las opciones por:

noatime,data=writeback,nobh,errors=remount-ro

La función no-atime evita escribir en el disco cuando accedemos a los archivos para leerlos.

la función data=writeback, sirve para evitar que los metadatos de los archivos sean escritos de forma lenta tras escribir los archivos. Esta opción no provoca corrupción en el sistema de archivos, pero puede provocar que los cambios mas recientes se pierdan si cae el sistema.

La opción barrier es un poco mas peligrosa. Se refiere a los límites de escritura. Si es igual a cero los elimina, si es igual a 1, los activa. Podemos prescindir de estas barreras si los discos están protegidos contra cortes de corriente. Sólo en este caso, incluimos la opción barrier=0,con lo que nos quedarían las opciones como

noatime,data=writeback,barrier=0,nobh,errors=remount-ro

La opción nobh, intenta evitar la asociación de los «buffers» y «heads» a la información de mapeo del cache de bloques del disco. Sólo podemos activar esta opción, si activamos el modo writeback.

3. Guardamos el archivo y reiniciamos el sistema

Gracias a:

http://blog.smartlogicsolutions.com/

Comprimiendo y etiquetando vídeo en Ubuntu y OSX

El formato del DVD y del Bluray se van acercando lentamente a la extinción , lo cual me entristece pues como paso con los vinilos y los CD’s al pasar al formato mp3, se perdió la magia del diseño gráfico.

El destino de las videotecas pasa por digitalizar nuestras películas y colgarlas en un servidor multimedia de streaming. Para poder moverse al nuevo modelo necesitamos cubrir tres partes: compresión, servidor de streaming y cliente de streaming. Esto os lo contaré en tres posts diferentes que os iré enlazando.

Luego este post os da una idea de como preparar las películas para posteriormente reproducirlas en los nuevos formatos digitales.

1. Ripeo, o Extracción de las películas contenidas en DVD’s y BluRays.

Para pasar nuestros DVD’s y BluRay’s a un formato de video digital compatible. Yo os recomiendo el formato mkv (matrovska) o el formato m4v con el codec H.264. No hay perdida de calidad.

makemkv_icon_by_climber07-d5y4zp7El programa fundamental para extraer las películas , y por ahora gratuito es makemkv. Es simplemente grandioso porque a partir de un DVD, pasa las películas y capítulos de serie directamente a formato mkv, que si bien ocupa lo mismo que en el DVD, nos permite tener bien organizada la colección para una posterior compresión.

 

 

 

 

 

 2. Compresión y Formato.

logoEl programa recomendadopara comprimir video es Handbrake. Hay que aprender a ajustar los parámetros de compresión, pero merece la pena. Es Opensource y por tanto gratuito. Tanto makemkv, como handbrake tienes versiones para Linux y OSX.

Yo en la práctica, trabajo en OSX con varias aplicaciones de pago que tampoco son demasiado caras. Os recomiento el MP4Tools y el Total Media Converter. Son mucho mas sencillos que Handbrake, el primero tiene como backend a ffmpeg, y el segundo a mencoder.  Las tasas de compresión en total media converter son espectaculares. y mp4tools permite traducir mkv comprimidos con H.264, a formato mp4 sin necesidad de tener que volver a comprimir el video.

 

 

3. Formatos y etiquetado.

iflicks

 

El formato mkv, permite tener multiples pistas de audio y subtitulos, lo que en la práctica es el mejor soporte si queremos conservar las versiones originales.

El formato m4v permite añadirle el poster de la películas, el nombre del director, actores, año,…. lo cual está muy bien, porque así no dependemos de una base de datos externa que se pued perder. Este formato es privativo de Apple, orientado a iTunes.

Si estais en OSX el gran programa para etiquetar las películas es iFlicks, y no conozco ninguna alternativa en el mundo del software libre lo cual es una lástima.

Si vais a montar el servidor el Linux os aconsejo el formato mkv con el codec H.264, y el etiquetado lo haremos con posterioridad en el servidor de streaming.

 

No os hago un howto de como instalar estos programas porque no tiene ningún misterio. Se instalan como cualquier otro programa en Linux con apt, o moviendo el programa al Aplications Folder del Finder en OSX.

Transmission-daemon + transmission remote en Ubuntu 12-04 LTS

transmissionNota: versión actualizada a Ubuntu 16.04 aquí.

¿Qué es transmission?

El cliente para bittorrent transmission es uno de los más habituales y comunes  programas de descarga, especialmente en Linux y OSX.

Objetivos

Instalar transmission como servicio en linux sin la interface de gnome para poder acceder a él a través de un navegador o un gestor remoto.

Paso 1. El servidor

1. Primero vamos a instalar una utilidad que nos permitirá añadir repositorios a apt-get, sin necesidad de editar el archivo /etc/apt/sources.list

$ sudo apt-get install python-software-properties

2. Ahora añadimos el repositorio de transmission

$ sudo add-apt-repository ppa:transmissionbt/ppa

3. En caso de tener instalada la versión de escritorio gnome de transmision podemos desintalarla con

$ sudo apt-get remove transmission-gtk

4. Actualizamos e instalamos transmission-daemon

$ sudo apt-get update
$ sudo apt-get install transmission-cli transmission-common transmission-daemon

5. Ahora vamos a crear un arbol de directorios para los archivos de descarga de transmission. En mi caso he dedicado un disco especialmente para ello, pero en este tutorial la ubicación del directorio está en el directorio home de vuestro ususario.

$ mkdir ~/downloads
 $ mkdir ~/downloads/completos
 $ mkdir ~/downloads/incompletos

6. Unimos nuestro usuario al grupo debian-transmission y damos permisos a los directorios creados. Donde pone username, poneis vuestro nombre de ususario.

$ sudo usermod -a -G debian-transmission username
$ sudo chgrp -R debian-transmission /home/username/Downloads
$ sudo chmod -R 775 /home/username/Downloads

7. Muy importante: para editar el archivo de configuración de transmission, debemos parar el demonio.

$ sudo /etc/init.d/transmission-daemon stop

8. Editamos el archivo de configuración:

$ sudo nano /etc/transmission-daemon/settings.json

8a.- Activamos la lista de bloqueo de instituciones anti-p2p, y spam

    "blocklist-enabled": true,
    "blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",

8b,. Modificamos los directorios de descarga:

"download-dir": "/transmission/completos",
"incomplete-dir": "/transmission/incompletos",
"incomplete-dir-enabled": true,

8c.- Cambiamos el usuario y la password del usuario remoto de transmission, para aumentar la seguridad. Es importante que sea una password fuerte y un usuario distinto del habitual. Cuando arranquéis transmission de nuevo, si volveis a edita este archivos observareis que transmission lo ha encriptado. Además dejais en la lista blanca todas las redes para poder acceder desde fuera de casa.

«rpc-password»: «transmissionpassword«,
«rpc-username»: «transmissionuser«,
«rpc-whitelist»: «*»,
«rpc-whitelist-enabled»: true,

8d. Podeis también cambiar el puerto en que escucha transmission para el navegador web. Si es asñi modificad:

"rpc-port": 9091,

9. Iniciamos el demonio de transmission

$ sudo /etc/init.d/transmission-daemon start

Paso 2. El cliente remoto:

Podéis descargalo en Google Code en el siguiente enlace transmisson-remote-gui . Es un cliente multiplataforma, lo hay incluso para android, y la configuración es muy sencilla. Simplemente hay que introducir la ip o nombre del servidor, el usuario y el password que hemos elegido. Por lo demás, las opciones son muy parecidas a las del cliente habitual de transmission.

Paso 3. Acceder a las descargas:

A través de Samba, Netatalk, sshd, ftp,… o cualquier otro servidor de archivos (hay que configurarlo, claro). Os recomiendo que los archivos los borréis desde el cliente remoto de transmission.

Gracias a:

Optimizar linux-raid

raid

El software dmraid de linux en una de la herramientas mas potentes para aumentar el rendimiento y la seguridad de los discos duros de nuestros ordenadores. Hay distintos tipos raid 0, raid 10, raid 5como podeis ver en wikipedia. Os recomiendo echar una vistazo en guia-ubuntu.com.

1. Configurar raid en la instalación de ubuntu-server (o debian):

La mejor forma de configurarlo en Debian o Ubuntu es en el momento de la instalación del sistema. Os dejo un enlace a youtube

2. Monitorizando el sistema:

La herramienta fundamental para observar  el estado de nuestros raid desde la terminal es

cat /proc/mdstat

cat proc2

o para ver la salida en tiempo real del comando anterior podemos utilizar el cmoando watch

watch -n1 cat /proc/mdstat

para salir Ctrl + C

Para obtener una descripción detallada de nuestro raid (en este caso el md2)

mdadm --detail /dev/md2

mdmdetail

 

 

 

 

 

 

 

 

 

 

 

 

 

Si queremos analizar a que velocidad se mueven nuestros discos duros podemos instalar sysstat.

sudo apt-get install sysstat

y ejecutamos

iostat

o para verlo de forma continua

watch -n1 iostat

o para verlo de forma continua

iostat

3. Optimizar nuestro raid:

El problema fundamental del software-raid en linux es que después de haberlo montado todo, la sincronizacióny reconstrucción del raid es muy lenta, porque viene configurado para consumir los menos recursos posibles para que podamos instalar, operar,… mientras tanto. Cuando tienes un equipo relativamente potente, podemos reconfigurar algunos parámetros para que nuestro raid actue de forma mucho más rápida.

Las operaciones que vamos a realizar a partir de ahora conviene que las hagamos como root, así que en ubuntu tecleamos

sudo su

a. Aumentar los límites en sysctl.

El archivo de configuración /proc/sys/dev/raid/speed_limit_min sirve para fijar el  la velocidad mínima de reconstrucción cuando hay además operaciones de otro tipo en el raid, es decir, el uso habitual de linux. El parámetro por defecto es 1000.

El archivo de configuración /proc/sys/dev/raid/speed_limit_max sirve para fijar la velocidad máxima de reconstrucción cuando hay además otras operaciones además de la reconstrucción. El parámetro por defecto es 100,000.

Para ver los valores actuales, ejecutamos

sysctl dev.raid.speed_limit_min
sysctl dev.raid.speed_limit_max

Para aumentar la velocidad ejecutamos:

echo value > /proc/sys/dev/raid/speed_limit_min

o también

sysctl -w dev.raid.speed_limit_min=value

Como ejemplo, vamos a aumentar la velocidad mínimo en 50.000 Kb/seg :

echo 50000 > /proc/sys/dev/raid/speed_limit_min

o también

sysctl -w dev.raid.speed_limit_min=50000

Si queremos modificar los parámetros globales, podemos hacerlo añadiendo estas dos líneas al archivo /etc/sysctl.conf

################# NOTE ########################
##  CPU y memoria son los limites del sistema #
###############################################
dev.raid.speed_limit_min = 50000
## aconsejado para arrays de 4-5 ##
dev.raid.speed_limit_max = 2000000
## aconsejado para 6-12 discos ###
dev.raid.speed_limit_max = 5000000

Y Ejecutamos como root

sysctl -p

b. Modificar el «read-ahead» del raid a 32 Mib

elegimos el raid mdX al que queremos aplicar la optimización

blockdev --setra 65536 /dev/mdX
# Para los distintos raid de tu sistema##
blockdev --setra 65536 /dev/md0
blockdev --setra 65536 /dev/md1
blockdev --setra 65536 /dev/md2
blockdev --setra 65536 /dev/md3

3. Solo para raid 5 y 6 : Stripe-cache_size

Esta opción está solo disponible para el RAID5 y el RAID6 y multiplica la velcoidad de sincronización entre 3 y 6 veces. El valor por defecto es de 256. Loa valores válidos están entre 17 y 32768. Aumentar este número puede aumentar el rendimiento en algunas configuraciones aumentando el consumo de la memoria del sistema.

Utilizamos la siguiente fórmula

consumo de memoria = tamaño del archivo de paginación x número de discos x stripe_cache_size

Para fijar el stripe_cache_size en 16 MiB para /dev/md1, inctroducimos.

echo 16384 > /sys/block/md1/md/stripe_cache_size

Para fijar el stripe_cache_size en 32 MiB para /dev/md2, inctroducimos.

echo 32768 > /sys/block/md2/md/stripe_cache_size

4. Desactivar el NCQ en todos los discos:

Para los discos que formen parte de un software-raid ejecutamos el siguiente comando, sustituyendo sdX, por el disco asociado al raid.

echo 1 > /sys/block/sdX/device/queue_depth

Para cortar y pegar

echo 1 > /sys/block/sda/device/queue_depth
echo 1 > /sys/block/sdb/device/queue_depth
echo 1 > /sys/block/sdc/device/queue_depth
echo 1 > /sys/block/sdd/device/queue_depth
echo 1 > /sys/block/sde/device/queue_depth
echo 1 > /sys/block/sdf/device/queue_depth
echo 1 > /sys/block/sdg/device/queue_depth
echo 1 > /sys/block/sdh/device/queue_depth
echo 1 > /sys/block/sdi/device/queue_depth

#### etc….

 5. Opción Bitmap:

Los bitmap optimizan la reconstrucción después del fallo o la sustitución de un disco . Para activarlo en el raid mdX,  tecleamos el siguiente comando:

mdadm --grow --bitmap=internal /dev/mdX

Una vez completada la reconstrucción, lo desactivamos

mdadm --grow --bitmap=none /dev/mdX

Fuentes:

 

Consejos para montar tu servidor en Linux

Linux Warrior

Razones para usar Linux

Muchas son las razones para plantearse instalar un servidor casero, pero la principal es la gran flexibilidad, seguridad y calidad del software libre que pone a nuestro alcance sistemas que de otra forma tendríamos que pagar a un precio muy elevado.

Linux es el principal desencadenante de este fenómeno de principios del siglo XXI, pues con muy pocos recursos de hardware a devuelto a la vida a infinidad de computadoras que otros sistemas operativos dejaban obsoletas a gran velocidad. Al mismo tiempo, Linux fue el primer sistema operativo que llevó de forma real a los hogares y a la mayoría de las empresas la posibilidad de explotar las prestaciones de los procesadores a 64bits, de la mano de la pionera empresa AMD.

En unos años Microsoft y Apple han intentado llevar soluciones similares con productos de pago (Microsoft parece incapaz de subsanar las debilidades de seguridad siendo vulnerable a virus y malware de todo tipo).

Como decía, Linux comenzó siendo utilizada de forma genérica en ordenadores anticuados o en servidores muy potentes dedicados a las soluciones empresariales.

Ha llegado el momento de plantearse que Linux no es el sistema operativo del futuro, sino el del presente. Las “Workstations” de los hogares comienzan a necesitar de sistemas de seguridad avanzados y potentes que respalden de forma efectiva los terabytes de información que requieren los sistemas multimedia ya no solo de edición de video o audio, sino también de “media servers” de películas en formato digital y audio. Continuar leyendo «Consejos para montar tu servidor en Linux»