Mi crontab en Arch Linux

Recién instalé el sistema y estoy usando Arch Linux, pero siempre o casi siempre me sucede que me duermo viendo alguna película o algún video en línea.

Por el momento es urgente configurar un crontab:

$ sudo pacman -S cronie

$ sudo systemctl enable --now cronie.service

$ sudo vim /etc/cron.daily/crontab

Agrego la siguiente línea para que la pc se apague exactamente a las 2:01 am

01 02 * * * /sbin/shutdown -h now

:wq

Indicamos al sistema el crontab con las indicaciones globales:

$ sudo crontab -u root /etc/cron.daily/crontab

Verificamos

$ sudo crontab -l

Listo.

Anuncios

¿Dispersar esfuerzos es también Libertad?

Tras el post de Miguel de Icaza de porqué el escritorio Linux acabó muerto a manos de OS X surgieron sinnúmero de opiniones de las que todavía no he rescatado mucho bueno, partiendo de la primicia de que no se puede comparar el autoritarismo reflejado en la estructura del OS X con los esfuerzos comunitarios que se llevan a cabo en los diversos proyectos Linux/Software Libre (kernel, GNOME, KDE, XFCE, LXDE, E, etc). Linus Torvalds defiende el proyecto que dirige y no deja de tener razón en sus señalamientos: el kernel Linux tiene algo que muchos otros proyectos no tienen: retro-compatibilidad, además de cumplir y satisfacer las necesidades de miles de usuarios sin contravenir el hardware que usen o necesidad que suplan (servidores multiprocesador, estaciones de trabajo, teléfonos, dispositivos móviles, etc).

Desgraciadamente (nótese mi sarcasmo) la comunidad de desarrolladores no puede contar con un aparato de dirección que te diga qué tenés que hacer para engrosarles las ganancias a sus dueños. Sencillamente porque los proyectos no tienen dueño. OS X sí, y Apple es un negocio para generar ganancias.

Tengo que estar de acuerdo, desde mi punto de vista de usuario y defensor del FOSS, cuando De Icaza señala que es necesario que el escritorio Linux se convierta en una experiencia u esfuerzo uniforme, es decir, que tantos proyectos dispersos empujen en una sola dirección. Pero lo que tenemos es lo que la comunidad es capaz de hacer en plena libertad. Diran algunos que podría ser falta de liderazgo a lo interno de cada uno de los proyectos, o que definitivamente en general no existe un liderazgo que haga posible un solo esfuerzo que empuje al asalto de restarle cuota de mercado al escritorio Windows.

Hay opiniones de opiniones. Algunos dirán que qué diablos, que para qué necesitamos que el escritorio Linux empiece a desplazar Windows; otros en absoluto no les importa porque ya Linux tiene más del 80% de cuota de mercado en servidores y mainframes, otro tanto en dispositivos móviles.

Esta discusión, además de entretenerme en mi tiempo libre, me lleva a pensar que seguiré usando GNU/Linux sin importar que el bendito escritorio Linux se posicione donde muchos lo quieren ver, sin importar si sigue a como está, con tantos esfuerzos dispersos. Y probablemente se les haga algún día lo del escritorio Linux, pero les aseguro que los esfuerzos dispersos seguirán naciendo, forkeándose, muriendo y volviendo a nacer con otro nombre, porque está claro que con el FOSS aprendimos todos, usuarios, promotores y desarrolladores, a pensar y actuar con Libertad (al menos en cuanto al software que usemos). Eso es lo que estamos haciendo ¿no?

Paranóico en GNU/Linux?

No es para menos si venimos de usar reconocidos sistemas operativos bastante vulnerables a ataques desde afuera o por malware. Y qué bien si nunca los usamos… habrá alguno nacido en los 90’s que tuvo la dicha de nunca depender del otro SO. Pero algo es seguro, y no existe sistema seguro, recordemos que los SOs son hechos por humanos, y los humanos nos equivocamos cuando es que no somos perfectos. Si bien es cierto Linux en cuanto a seguridad sólo es comparable a sus primos mayores (BSDs), no todo Linux se usa para servidor y no se toman las precauciones correspondientes al instalarlo.

Y bueno, hace rato conocí nethogs porque había detectado una IP muy rara desde los registros de mi router. Eso porque el 85% de mis descargas para entretenimiento las hago via bittorrent, y porque también uso a menudo el IRC para pedir soporte, platicar de software y compartir un rato con mis iguales. Qué tiene que ver eso? Pues tiene que ver que normalmente dejás al descubierto tu IP al usar estos servicios, y no falta algún aventurero, lamer o como se le llame, que quiera probar la seguridad de tus equipos.

Entonces me di a la tarea hace poco (luego de que alguien lograra acceder a un par de servicios web que uso), de chequear cómo andaban mis cajones en cuanto a eso.

Encontré un par de posts bastante interesantes, de los que logré sacar lo más notable:

UNO

Si creés que alguien está tratando de alzarse con la gloria de meterse con tu cajón, lo primero es ver las conexiones abiertas y listarlas por IP:

# netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n

Eso te da una salida más o menos como esta:

1 199.47.216.148
1 199.47.219.160
1 66.220.151.82
1 69.192.114.110
1 72.233.61.125
1 74.125.130.125
1 74.125.229.246
1 Address
1 and
12 0.0.0.0

Luego te auxilias de un servicio que te dé la ubicación de esas IP’s, más bien un servicio tipo ip_look_up, para así descartar un acceso que no sea de los que tenés actualmente en uso en tus servicios.

DOS

A la par de eso podés auxiliarte de nethogs, que está en los repos de las distros más usadas (y de las menos también). Lo instalás y lo ponés a trabajar:

# nethogs <tu_adaptador_de_red>

Y eso te va a dar la salida de todas las conexiones entrantes que estén usando tu ancho de banda.

Podés ir más allá si tus equipos están comprometidos. Ojo, esto no es la recomendación de un experto. Me considero un usuario avanzado, y cuando busco documentarme confío plenamente en la comunidad. Ya me he encontrado con mínimos posts donde, en los comentarios, te advierten cuando alguien le da seriedad a comandos que hacen cosas diferentes de lo que andás buscando. Es recomendable leer el manual de los comandos que no entendás, siempre con:

$ man <comando>

Así evacuás dudas y aprendés un poco más de lo que estés por hacer.

TRES

Supongamos que el IP que está queriendo meterse con tu cajón es el 72.75.22.228

# route add 72.75.22.228 gw 127.0.0.1 lo

Verificás con lo siguiente:

# netstat -nr

o con:

# route -n

También para lo mismo podés hacer uso de:

# route add -host IP-ADDRESS reject
# route add -host 72.75.22.228 reject

Y lo confirmás con:

# ip route get 72.75.22.228

Y te da una salida más o menos como esta:

RTNETLINK answers: Network is unreachable

CUATRO

Si estás más que comprometido, te recomiendo los siguientes enlaces, o que busques ayuda profesional para que asegures tu enrutador/modem/cajón.
Enlace 1
Enlace 2
Enlace 3

Saludes.

Teoría de las particiones y la disposición de tus particiones Linux

El gran problema que nos surge a veces para explicar el asunto de las particiones a otra persona es sencillamente que no tenemos claro qué es una partición. Dice la Wikipedia que una Partición de Disco

en informática, es el nombre genérico que recibe cada división presente en una sola unidad física de almacenamiento de datos. Toda partición tiene su propio sistema de archivos (formato); generalmente, casi cualquier sistema operativo interpreta, utiliza y manipula cada partición como un disco físico independiente, a pesar de que dichas particiones estén en un solo disco físico.

Toda partición puede recibir un formato mediante un sistema de archivos como FAT (16 ó 32), NTFS, ReiserFS, EXT (2, 3 ó 4), etc. En MS Windows las particiones de disco son reconocidas por medio de letras, a saber C:\, D:\, E:\, etc.  En Distribuciones GNU/Linux es otro el caso, pero bastante similar aún, y las encontramos reconocidas como /dev/sda1 /dev/sda2, siendo /dev/sda el disco duro o partición principal.

Todo tipo de discos magnéticos (discos duros, floppies) y sólidos como flash drives, memorias flash, pueden contener particiones. Cada partición puede ser Primaria, Extendida y Lógica.
Por lo general las particiones Primarias son las que se usan para instalación de Sistemas Operativos; una partición Extendida puede contener varias Lógicas, y son utilizadas, por lo general, para guardar archivos, como simple almacenamiento extra. Las Distribuciones GNU/Linux pueden ser instaladas en una partición Lógica, esto gracias a GRUB, cargador de arranque que posibilita una partición Lógica sea arrancada con el Sistema Operativo que contiene.

Los sistemas operativos basados en UNIX como GNU/Linux utilizan hasta tres particiones (en azul) para su instalación, tal como se muestra en la imagen inferior.

Es importante saber que:

  • Una Partición Primaria son las divisiones crudas o primarias del disco, sólo puede haber 4 de éstas o 3 primarias y una extendida. Esto significa que un disco duro acepta un máximo de 4 divisiones principales o particiones primarias.

 

  • Una Partición Extendida, conocida como partición secundaria, es otro tipo de partición que actúa como una partición primaria; sirve para contener infinidad de unidades lógicas en su interior. Fue ideada para romper la limitación de 4 particiones primarias en un solo disco físico. Solo puede existir una partición de este tipo por disco, y solo sirve para contener particiones lógicas.
  • Partición lógica es la que ocupa una porción de la partición extendida o la totalidad de la misma, la cual se ha formateado con un tipo específico de sistema de archivos (FAT32, NTFS, ext2,…) y se le ha asignado una unidad, así el sistema operativo reconoce las particiones lógicas o su sistema de archivos. Puede haber un máximo de 23 particiones lógicas en una partición extendida. Linux impone un máximo de 15, incluyendo las 4 primarias, en discos SCSI y en discos IDE 8963.

El objetivo de éste post es comprender la mejor disposición de nuestras particiones dentro del disco duro para instalar GNU/Linux, incluso si queremos conservar en él Sistemas Operativos propietarios y de licencias restrictivas.

En la imagen anterior se pone un ejemplo bastante común (de disposición de particiones) para quien le da más importancia a su instalación Linux.  Pueden haber muchos casos, pero uno en particular que querría ejemplificar es el común para quienes prefieren darle más importancia a su instalación Windows, bien porque alguien más hace uso de ella, bien porque hay que darle importancia cuando es un equipo de uso compartido.

A continuación el ejemplo:

Para las particiones Linux se crearon esta vez únicamente dos. La partición que contiene el sistema en sí (/) y que contiene ahora también el lugar del /home, que el instalador comprende por defecto al no haber otra partición donde montarlo; la necesaria swap con 2 Gb y el resto (en tono rosa) para el sistema privativo y su partición de respaldo (BCK_UP ó D:\).

Para crear esta disposición, por ejemplo, en un disco duro donde ya ha sido instalado Windows usando toda la capacidad del disco, se hace necesario defragmentar Windows, reducir su partición NTFS (por ende liberar espacio), luego proceder en el orden a crear las particiones restantes. Esto lo podemos hacer con la utilidad llamada Gparted. También es posible hacerlo con la utilidad de particionado que viene con el instalador, ya sea Ubuntu, Fedora, o cualquier otra distro de fácil uso.