Eliminar todos los mensajes de correo de un buzon en Fedora

Eliminar los mensajes de correo de un buzon es mas facil de lo que crees.

Solo necesitas acceder al buzon y correr el comando d * (d seguido de un asterisco), presiona ENTER y listo.

Aqui los detalles.

1. Obten acceso a tu buzon, teclea mail seguido de ENTER, se desplegara una pantalla con correos, seguida de un prompt &.

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
“/var/spool/mail/jpacheco”: 39723 messages 39719 unread
1 logwatch@aex-infra.a Thu Feb 20 03:14 177/6005 “Logwatch for aex-infr”
>U 2 logwatch@aex-infra.a Fri Feb 21 03:06 242/8971 “Logwatch for aex-infr”
U 3 logwatch@aex-infra.a Sat Feb 22 03:48 149/4913 “Logwatch for aex-infr”
U 4 logwatch@aex-infra.a Sun Feb 23 03:07 259/10508 “Logwatch for aex-infr”
U 5 logwatch@aex-infra.a Mon Feb 24 03:13 203/8006 “Logwatch for aex-infr”
U 6 logwatch@aex-infra.a Tue Feb 25 03:14 139/4729 “Logwatch for aex-infr”
7 logwatch@aex-infra.a Wed Feb 26 03:30 161/5705 “Logwatch for aex-infr”
U 8 logwatch@aex-infra.a Thu Feb 27 03:31 188/7288 “Logwatch for aex-infr”
U 9 logwatch@aex-infra.a Fri Feb 28 03:20 163/6014 “Logwatch for aex-infr”
U 10 logwatch@aex-infra.a Sat Mar 1 03:38 175/6550 “Logwatch for aex-infr”
U 11 logwatch@aex-infra.a Sun Mar 2 03:30 183/7327 “Logwatch for aex-infr”
U 12 logwatch@aex-infra.a Mon Mar 3 03:27 153/5206 “Logwatch for aex-infr”
U 13 logwatch@aex-infra.a Tue Mar 4 03:12 140/4877 “Logwatch for aex-infr”
U 14 logwatch@aex-infra.a Wed Mar 5 03:45 143/4877 “Logwatch for aex-infr”
U 15 logwatch@aex-infra.a Thu Mar 6 03:17 135/4328 “Logwatch for aex-infr”
U 16 logwatch@aex-infra.a Fri Mar 7 03:18 146/4757 “Logwatch for aex-infr”
U 17 logwatch@aex-infra.a Sat Mar 8 03:13 121/3944 “Logwatch for aex-infr”
U 18 logwatch@aex-infra.a Sun Mar 9 03:47 196/6591 “Logwatch for aex-infr”
U 19 logwatch@aex-infra.a Mon Mar 10 03:34 128/4172 “Logwatch for aex-infr”
U 20 logwatch@aex-infra.a Tue Mar 11 03:12 163/5823 “Logwatch for aex-infr”
&

2. Ahora, borra todos los correos, teclea: d * y luego presiona ENTER. Nota que no habra ningun mensaje o indicador de que se estan eliminando los mensajes de correo.

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
“/var/spool/mail/jpacheco”: 39723 messages 39719 unread
1 logwatch@aex-infra.a Thu Feb 20 03:14 177/6005 “Logwatch for aex-infr”
>U 2 logwatch@aex-infra.a Fri Feb 21 03:06 242/8971 “Logwatch for aex-infr”
U 3 logwatch@aex-infra.a Sat Feb 22 03:48 149/4913 “Logwatch for aex-infr”
U 4 logwatch@aex-infra.a Sun Feb 23 03:07 259/10508 “Logwatch for aex-infr”
U 5 logwatch@aex-infra.a Mon Feb 24 03:13 203/8006 “Logwatch for aex-infr”
U 6 logwatch@aex-infra.a Tue Feb 25 03:14 139/4729 “Logwatch for aex-infr”
7 logwatch@aex-infra.a Wed Feb 26 03:30 161/5705 “Logwatch for aex-infr”
U 8 logwatch@aex-infra.a Thu Feb 27 03:31 188/7288 “Logwatch for aex-infr”
U 9 logwatch@aex-infra.a Fri Feb 28 03:20 163/6014 “Logwatch for aex-infr”
U 10 logwatch@aex-infra.a Sat Mar 1 03:38 175/6550 “Logwatch for aex-infr”
U 11 logwatch@aex-infra.a Sun Mar 2 03:30 183/7327 “Logwatch for aex-infr”
U 12 logwatch@aex-infra.a Mon Mar 3 03:27 153/5206 “Logwatch for aex-infr”
U 13 logwatch@aex-infra.a Tue Mar 4 03:12 140/4877 “Logwatch for aex-infr”
U 14 logwatch@aex-infra.a Wed Mar 5 03:45 143/4877 “Logwatch for aex-infr”
U 15 logwatch@aex-infra.a Thu Mar 6 03:17 135/4328 “Logwatch for aex-infr”
U 16 logwatch@aex-infra.a Fri Mar 7 03:18 146/4757 “Logwatch for aex-infr”
U 17 logwatch@aex-infra.a Sat Mar 8 03:13 121/3944 “Logwatch for aex-infr”
U 18 logwatch@aex-infra.a Sun Mar 9 03:47 196/6591 “Logwatch for aex-infr”
U 19 logwatch@aex-infra.a Mon Mar 10 03:34 128/4172 “Logwatch for aex-infr”
U 20 logwatch@aex-infra.a Tue Mar 11 03:12 163/5823 “Logwatch for aex-infr”
& d *

3. Sal de tu buzon de correo tecleando quit seguido de ENTER, entra de nuevo a tu buzon y listo.

Linux console | jpacheco@aex-infra ~
.
.
.
U 19 logwatch@aex-infra.a Mon Mar 10 03:34 128/4172 “Logwatch for aex-infr”
U 20 logwatch@aex-infra.a Tue Mar 11 03:12 163/5823 “Logwatch for aex-infr”
& d *
& quit

[jpacheco@aex-infra ~]$ mail
No mail for jpacheco

Como obtener la lista de tarjetas de red instaladas en un servidor corriendo Fedora Core

Obiviamente, ademas de usar la interfaz gráfica puedes recurrir a la consola de GNU/Linux para obtener la lista de tarjetas de red instaladas en tu sistema.

Sigue estos dos sencillos pasos:

1. Obten acceso tipo root

Linux console | jpacheco@aex-proxy1 ~
[jpacheco@aex-proxy1 ~]$ su
Password:
[root@aex-proxy1 ~]#

2. Ejecuta el comando dmesg para obtener los mensajes de control del Kernel de GNU/Linux de tu equipo corriendo Fedora Core, agrega el modificardor | grep eth para obtener los mensajes relacionados con las interfaces de red.

Linux console | jpacheco@aex-proxy1 ~
[root@aex-proxy1 ~]# dmesg | grep eth
[ 7.752281] r8169 0000:01:00.0 eth0: RTL8168e/8111e at 0xf7e66000, e8:de:27:02:ca:3f, XID 0c200000 IRQ 50
[ 7.752284] r8169 0000:01:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[ 8.204309] e1000e 0000:00:19.0 eth1: (PCI Express:2.5GT/s:Width x1) 00:25:64:d6:2b:39
[ 8.204312] e1000e 0000:00:19.0 eth1: Intel(R) PRO/1000 Network Connection
[ 8.204354] e1000e 0000:00:19.0 eth1: MAC: 8, PHY: 8, PBA No: 8021FF-0FF
[ 8.533102] systemd-udevd[396]: renamed network interface eth1 to em1
[ 8.640123] systemd-udevd[399]: renamed network interface eth0 to p1p1

Fijate como la salida de dmesg, muestra el nombre real de las interfaces en este caso em1 y p1p1

Ejecuta el comando ifconfig para ver la lista de tarjetas de red y su configuración en el sistema.

Linux console | jpacheco@aex-proxy1 ~
[root@aex-proxy1 ~]# ifconfig
em1: flags=4163 mtu 1500
inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::225:64ff:fed6:2b39 prefixlen 64 scopeid 0x20 ether 00:25:64:d6:2b:39 txqueuelen 1000 (Ethernet)
RX packets 2505 bytes 234071 (228.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1970 bytes 228640 (223.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 21 memory 0xf7ae0000-f7b00000

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 53 bytes 5940 (5.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 53 bytes 5940 (5.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

p1p1: flags=4099 mtu 1500
ether e8:de:27:02:ca:3f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

em1 – es la interfaz que en este momento esta activa y cuenta con la dirección IP 192.168.1.2, mascara de subred 255.255.255.0 (o 192.168.0.2/24 – lo explicaré otro dia con mas calma)
lo – interface de red de localhost o loopback IP 127.0.0.1 es decir tu equipo
p1p1 – otra interface de red física pero esta aún no ha sido configurada

Post relacionados:
Topologías de red
Conceptos de redes
Dispositivos de red :: Switch
Dispositivos de red :: Concentrador o ‘hub’
Redes de computadoras
Direcciones IPv4
Modelo de Referencia OSI

Squid Proxy Cache Instalación en Fedora Core

Squid-cacheSquid Proxy Cache es un servidor que actúa como intermediario entre una red e Internet para lo cual guarda en cache peticiones recurrentes a servidored web y de DNS, asi mismo acelera el acceso a un servidor web y proveé de seguridad mediante el filtrado del tráfico de Internet.

El proceso de instalación en Fedora Core es por demás sencillo, nuevamente recurriremos a yum. Y como ya es sabido, requerimos de acceso tipo root para la instalación.

Instalación

1. Accedemos a nuestro servidor y obtenemos acceso tipo root.

Linux console | jpacheco@aex-proxy1 ~
[jpacheco@aex-proxy1 ~]$ su
Password:
[root@aex-proxy1 ~]#

2. Ejecutaremos la instalación usando: yum como se muestra a continuación.

Linux console | root@aex-proxy1 ~
[root@aex-proxy1 ~]$ yum -y install squid
Loaded plugins: langpacks, refresh-packagekit
Resolving Dependencies
–> Running transaction check
—> Package squid.i686 7:3.3.13-1.fc20 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
squid i686 7:3.3.13-1.fc20 updates 2.5 M

Transaction Summary
================================================================================
Install 1 Package

Total download size: 2.5 M
Installed size: 8.7 M
Downloading packages:
squid-3.3.13-1.fc20.i686.rpm | 2.5 MB 00:07
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
Installing : 7:squid-3.3.13-1.fc20.i686 1/1
Verifying : 7:squid-3.3.13-1.fc20.i686 1/1

Installed:
squid.i686 7:3.3.13-1.fc20

Complete!

[root@aex-proxy1 ~]#

3. Para asegurarnos de que SQUID arrancara cada vez que iniciemos nuestro equipo usaremos systemctl.

Linux console | root@aex-proxy1 ~
[root@aex-proxy1 ~]$ systemctl enable squid.service
ln -s ‘/usr/lib/systemd/system/squid.service’ ‘/etc/systemd/system/multi-user.target.wants/squid.service’
[root@aex-proxy1 ~]#

Los siguientes comandos te sirven para controlar el servidor:

systemctl start squid.service <- Arranca SQUID systemctl status squid.service <- Muestra el estado de SQUID systemctl stop squid.service <- Detiene la ejecución de SQUID

Listo, Squid esta instalado y listo para arrancar automaticamente al encender el servidor.

Posts relacionados:
Squid Proxy Cache | TCP_MISS/304 TCP_MISS/200

¿Como cambiar la contraseña de root en MySQL?

Si por alguna razón, olvidaste la contraseña de root de tu servidor MySQL, en este post te explico como recuperarla. Como siempre este post aplica para distribuciones GNU/Linux basadas en RedHat.

Sintoma

Al intentar conectarte al servidor MySQL recibes un mesaje de errror 1045, como se muestra a continuación:

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ mysql -u jpacheco -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘jpacheco’@’localhost’ (using password: YES)

Pre-reqisitos

– Acceso de root en el servidor ya que es necesario detener los servicios de MySQL y arrancar el servicio de MySQL manualmente.

Procedimiento

Para solucionar este problema sigue estos ocho sencillos pasos.

1. Obten acceso de root en el servidor

Linux console | jpacheco@aex-infra ~
[jpacheco@aex-infra ~]$ su
Password:
[root@aex-infra jpacheco]#

2. Ahora hay que detener el servicio MySQL Server

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# systemctl stop mysqld.service

3. A continuación, arrancaremos MySQL en modo seguro usando: safe_mysqld --skip-grant-tables“.

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# safe_mysqld –skip-grant-tables
140906 13:33:11 mysqld_safe Logging to ‘/var/log/mysqld.log’.
140906 13:33:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

El proceso anterior deberá seguir ejecutandose, por lo que necesitaras abrir una nueva consola (con acceso a root) y ejecutar en ella el comando: mysql -u root mysql

Linux console | root@aex-infra /
[root@aex-infra ~]# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.5.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

Nota como MySQL server no requirio de una contraseña.

4. Ahora, asignaremos una nueva contraseña.

Linux console | root@aex-infra /
mysql> UPDATE mysql.user SET Password=PASSWORD(‘contraseña‘) WHERE User=’root’;
Query OK, 3 rows affected (0.06 sec)
Rows matched: 4 Changed: 3 Warnings: 0

mysql>

Cambia, la palabra contraseña por la nueva contraseña de root de tu servidor MySQL.

5. Un par de comandos, FLUSH PRIVILEGES; y quit; antes de continuar.

Linux console | root@aex-infra /
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> quit;
Bye

6. Debemos terminar el proceso safe_mysqld --skip-grant-tables que se ejecuta en la otro consola, para esto usaremos el comando: kill $(cat /var/run/mysqld/mysqld.pid)

Linux console | root@aex-infra /
[root@aex-infra ~]# kill $(cat /var/run/mysqld/mysqld.pid)

En la otra consola nos aparecera un mensaje confirmando que MySQL se ha detenido.

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# safe_mysqld –skip-grant-tables
140906 13:33:11 mysqld_safe Logging to ‘/var/log/mysqld.log’.
140906 13:33:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140906 13:51:19 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

7. Arrancamos MySQL server.

Linux console | root@aex-infra /
[root@aex-infra jpacheco]# systemctl start mysqld.service

8. Finalmente, habras recuperado la contraseña de root de tu servidor MySQL y podras acceder a MySQL server usando: mysql -u root -p sin problemas.

Posts similares:
MySQL como cambiar / asignar la contraseña inicial
MySQL | Adding new user accounts to MySQL server

DynDNS – Instalación de script de actualización en Fedora Core

El servicio de resolucion de nombres de dominio (DNS) no es mas que la traduccion que se hace de un nombre de dominio, por ejemplo: jpacheco.mx a una dirección IP en este caso:  67.205.17.168.

Para los no versados en este asunto, el mundo del internet no usa los nombres de dominio, sino  en realidad usa las direcciones IP. En el caso del dominio jpacheco.mx este cuenta con una dirección IP estática – que no cambia, por lo que el servicio de DNS no requiere de mayor complicación. Cada vez que alguien quiere acceder a jpacheco.mx un servidor de DNS responde con la dirección IP antes mencionada.

¿Que pasa en aquellos casos donde contamos con una dirección IP dinámica como las que ofrece las compañias telefónicas o de cable?

Aquí la cosa cambia, digamos que se complica un poco más y es donde entra la gestión dinámica de nombres de dominio, servicio que ofrece DynDNS .

DynDNS ofrece un servicio de resolucion dínamica de nombres de dominio de ahí el nombre del sitio: Dynamic Domain Name System.

Con cada cambio de dirección IP en la conexíon a internet, el script de actualización de DynDNS reporta el cambio de IP y a su vez DynDNS se encarga de iniciar la propagación de  la nueva direccón IP por los servidores de DNS de todo el mundo, para que los visitantes de puedan acceder a este blog por el nombre de dominio y no por la IP, al final del día, es más sencillo recordar un nombre de dominio que una dirección IP, ¿no lo crees?

Este procesode instalación aplica para las distribuciones GNU/Linux de la rama RedHa.

Pre-requisitos

– Acceso root
– Antes de instalar el script de actualización de DynDNS necesitas instalar el soporte de Perl para SSL, utiliza Yum para tal efecto.

Linux console | root@aex-infra:~/
[root@aex-infra ~]# yum -y install perl-IO-Socket-SSL

Instalación

1. Descargar y descomprimir el código fuente del script:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# wget http://cdn.dyndns.com/ddclient.tar.gz
[root@aex-infra ~]# tar -xzvf ddclient.tar.gz
[root@aex-infra ~]# cd ddclient-3.7.3/

2. Creamos las carpetas para donde se almacenaran los archivos de configuración:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# mkdir /etc/ddclient
[root@aex-infra ~]# mkdir /var/cache/ddclient

3. Copiamos los archivos de configuración a la carpeta correspondiente, nota como le cambiamos el nombre al archivo sample-etc_ddclient.conf al tiempo que lo copiamos a su nueva ubicación:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# cp ddclient /usr/local/sbin
[root@aex-infra ~]# cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf

4. Preparamos el script para que corra al iniciar nuestro equipo:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient
[root@aex-infra ~]# chkconfig –add ddclient

5. Hacemos un poco de limpieza borrando la carpeta que se creo al momento de descomprimir el código fuente en el paso # 1:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# cd ..
[root@aex-infra ~]# rm -rf ddclient-3.7.3/

6. Editamos el archivo de configuración (/etc/ddclient/ddclient.conf) usando nuestro editor de texto favorito (emacs – por supuesto):

Linux console | root@aex-infra:~/
[root@aex-infra ~]# emacs /etc/ddclient/ddclient.conf

Para que quede de la siguiente manera:

use=web
login=usuariodeDynDNS
password=passworddeDynDNS
server=members.dyndns.org,
protocol=dyndns2
nombre.de.dominio

7. Finalmente, iniciamos ddclient (demonio):

Linux console | root@aex-infra:~/
[root@aex-infra ~]# /etc/init.d/ddclient start

Para conocer el estado de tu ddclient puedes usar el siguiente comando:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# ddclient -daemon=0 -debug -verbose -noquiet

El cual te regresara una salida similar a:

DEBUG: proxy =
DEBUG: url = http://checkip.dyndns.org/
DEBUG: server = checkip.dyndns.org
DEBUG: get_ip: using web, http://checkip.dyndns.org/ reports 189.231.143.23

Si lo deseas, puedes agregar el modificar -verbose para obtener una salida mas detallada o puedes usar otra variante donde solo te muestra la información que realmente necesitas conocer:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# ddclient -daemon=0 -verbose -noquiet

Que manda una salida similar a esta:

CONNECT: checkip.dyndns.org
CONNECTED: using HTTP
SENDING: GET / HTTP/1.0
SENDING: Host: checkip.dyndns.org
SENDING: User-Agent: ddclient/3.7.3
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Content-Type: text/html
RECEIVE: Server: DynDNS-CheckIP/1.0
RECEIVE: Connection: close
RECEIVE: Cache-Control: no-cache
RECEIVE: Pragma: no-cache
RECEIVE: Content-Length: 106
RECEIVE:
RECEIVE: Current IP CheckCurrent IP Address: 189.231.143.23
SUCCESS: jpacheco.net: skipped: IP address was already set to 189.231.143.23.
SUCCESS: dominio.jpacheco.net: skipped: IP address was already set to 189.231.143.23.

Ejecutar YUMEX como root en Fedora

yumex En distribuciones  GNU/Linux basadas en RedHat se cuenta con una herramienta para mantener nuestro sistema actualizado, esta herramienta es conocida como: YUM, esta herramienta de línea de comandos nos permite instalar, actualizar y eliminar paquetes que fueron instalados a partir de un RPM.

Entre las bondades que ofrece YUM se encuentran:

  • Soporta múltiples repositorios
  • Fácil de configurar
  • Cálculo de dependencias
  • Operación rápida
  • Interfaz sencilla, entre otros.

Además de todas las bondades de YUM, no podía faltar la interfaz gráfica para el mismo, esta se conoce como YUM Extender o  YUMex, esta herramienta esta escrita en Python.

La instalación es por demás sencilla, como root, ejecuta el siguiente comando:

Linux console | root@aex-infra:~/
[root@aex-infra ~]# yum -y install

Una vez instalado YUMEx puede invocar su ejecución desde una venta de consola en modo gráfico.

Linux console | root@aex-infra:~/
[root@aex-infra ~]# yumex
Don’t run yumex as root it is unsafe (Use --root to force)
[root@aex-infra ~]# yumex --root

Nota como en este caso, se debe usar el modificador --root para ejecutar yumex como root.

YumEx en ejecución generando la lista de RPMs instalados en el sistema.

YumEx en ejecución generando la lista de RPMs instalados en el sistema.

Enlaces simbólicos o symlinks

Los enlaces simbólicos tambien conocidos como symlinks o symbolic links son un tipo especial de archivo que nos sirve para hacer referencia a un archivo o a otro directorio usando el mismo inodo – los inodo almacenan la información de un objeto dentro de el sistema de archivos, el objeto puede ser un archivo, dispositivo, socket, pipe, etc -.

Crear enlace simbólico

En mi caso, creare un symlink que me permita tener la misma información en dos lugares distintos: Desktop y Documents. Como ya es costumbre lo haremos desde la consola. Primero crearé en Desktop un directorio llamado SymLink, para posteriormente crear el symlink:

Linux console | jpacheco@aex-infra:~/
[jpacheco@aex-infra Desktop]$ mkdir /home/jpacheco/Desktop/SymLink/
[jpacheco@aex-infra Desktop]$ ln -s /home/jpacheco/Desktop/SymLink/ /home/jpacheco/Documents/SymLink

Listemos el contenido de las carpetas Desktop/SymLink y Documents/SymLink para aseguarnos de que el enlance simbólico se creo apropiadamente. Los archivos son los mismos (fecha y tamaño).

Linux console | jpacheco@aex-infra:~/
[jpacheco@aex-infra ~]$ ls -al Desktop/SymLink/
total 12
drwxrwxr-x 2 jpacheco jpacheco 4096 Aug 24 19:46 .
drwxr-xr-x. 3 jpacheco jpacheco 4096 Aug 24 19:45 ..
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:44 test
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:46 test3.txt
-rw-rw-r– 1 jpacheco jpacheco 34 Aug 24 19:44 test.txt
[jpacheco@aex-infra ~]$ ls -al Documents/SymLink/
total 12
drwxrwxr-x 2 jpacheco jpacheco 4096 Aug 24 19:46 .
drwxr-xr-x. 3 jpacheco jpacheco 4096 Aug 24 19:45 ..
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:44 test
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:46 test3.txt
-rw-rw-r– 1 jpacheco jpacheco 34 Aug 24 19:44 test.txt
[jpacheco@aex-infra ~]$

Eliminar un enlace simbólico

 
Eliminar un enlace simbólico no puede ser mas fácil, solo requerimos ejecutar el comando rm desde el directorio donde se aloja el enlace simbólico, en nuestro ejemplo: ~/Documents/:

Linux console | jpacheco@aex-infra:~/
[jpacheco@aex-infra Desktop]$ mkdir /home/jpacheco/Desktop/SymLink/
[jpacheco@aex-infra Desktop]$ ln -s /home/jpacheco/Desktop/SymLink/ /home/jpacheco/Documents/SymLink

Listemos el contenido de las carpetas Desktop/SymLink y Documents/SymLink para aseguarnos de que el enlance simbólico se creo apropiadamente. Los archivos son los mismos (fecha y tamaño).

Linux console | jpacheco@aex-infra:~/
[jpacheco@aex-infra ~]$ cd Documents
[jpacheco@aex-infra Documents]$ rm SymLink

Es importante que te asegures de no agregar “/” al final del nombre del enlace, si lo haces recibiras un mensaje de error indicando que el directorio no existe.

NAMED: Broken Trust Chain

Named como Sistema de Nombres de Dominio (DNS), puede enviar un mensaje de error como el siguiente, cuando existe un problema con la sincronizacion de la hora y la fecha del sistema.

Linux Shell

error (no valid KEY) resolving ‘dlv.isc.org/DNSKEY/IN’: a.b.c.d#53

Para solucionar el problema puedes reiniciar el servidor NTP, pero de poco te servira si usas el nombre del servidor de NTP en lugar de la direccion IP, asi que mi recomendacion es que cambies en la configuracion de NTP de nombre a IP, reinicies ambos servicios y listo.

TightVNC Server no responde después de actualizar Fedora Core 15 – INVALIDARGUMENT

Tight VNC Server – es una herramienta de control remoto, con ella puedes ver el escritorio de una computadora remota y ademas controlarlo tal y como si estuvieras usando el ratón y el teclado de esa computadora.

Por alguna extraña razón después de actualizar a Fedora Core 15, el servicio se detenía y solo arrancaba después de reiniciar el equipo, durante un par de días estuve recorriendo el camino de mi oficina al ‘__site__’ dos o tres veces al día hasta que finalmente me decidí a resolver esta situación. Cuando cheque los archivos de log esto fue lo que encontre:

Linux console | $ tail -f /var/log/messages

$ tail -f /var/log/messages

Jul 13 08:49:48 grasshopper systemd[1]: vncserver.service: control process exited, code=exited status=2
Jul 13 08:49:48 grasshopper systemd[1]: Unit vncserver.service entered failed state.

Al revisar el status del servicio VNCServer esto es lo que respondía:

Linux console | $ service vncserver status

$ service vncserver status

vncserver.service – LSB: start|stop|restart|try-restart|status|force-reload vncserver
Loaded: loaded (/etc/rc.d/init.d/vncserver)
Active: failed since Tue, 12 Jul 2011 15:33:35 -0400; 17h ago
Process: 1502 ExecStart=/etc/rc.d/init.d/vncserver start (code=exited, status=2/**INVALIDARGUMENT**)
CGroup: name=systemd:/system/vncserver.service

Al tratar de iniciar (o reiniciar) el servicio recibía otro mensaje de error:

Linux console | $ service vncserver start

$ service vncserver start

Starting vncserver (via systemctl): Job failed. See system logs and ‘systemctl status’ for details. **[FAILED]**

Antes de que se pregunten otra cosa, la configuración de el servidor VNC es muy simple, practicamente la misma que viene por defecto, así que el problema no estaba en el archivo de configuración, lo que hice para solucionar el problema fue:

De la carpeta /tmp/.X11-unix elimine los directorios X1 al X6 (seis usuarios tienen acceso al servidor, aunque no lo usan)

Después de eso, reinicie el servicio y listo:

Linux console | $ service vncserver start

$ service vncserver start

Starting vncserver (via systemctl): **[ OK ]**

Por cierto para realizar todo lo anterior requieres de la cuenta *root* o permisos similares.

UACH – Maestría en Software Libre – Introducción al Software Libre

Soy un engresado de la carrera de Ingeniería en Sistemas Computacionales del Instituto Tecnológico de Durango generación 1994 – 1999, durante mi época de estudiante recuerdo que alguno de mis maestros menciono un nombre: Linus Torvalds y su sistema operativo Linux (que para ese entonces era la novedad – no que ya no lo sea; aclaro).
Me hubiera gustado entrar en el mundo del Software Libre mientras estudiaba la carrera, yo pensaba que todo era código propietario y lo demás no servia. Pero como dicen en mi tierra: “las cosas pasan por algo”.

Tuvieron que pasar cinco años hasta que un antiguo compañero de trabajo me presentara oficialmente con el mundo de Linux, recuerdo instalar RedHat 8 en una computadora Dell Latitude Cpx; un año después ya en 2005 otro compañero de trabajo me invito a las sesiones del GLUCH y fue ahí donde conocí el movimiento del Software Libre.

De 2004 a la fecha he pasado por cuatro empresas distintas desempeñando diversos cargos en el área de Sistemas y en todas las empresas de una u otra manera he hecho uso del Software Libre en mis actividades diarias.

En mas de una vez el Software Libre me ha salvado el pellejo cuando no ha sido SQUID como servidor proxy,  ha sido Nagios con el monitoreo de equipos, SAMBA para compartir archivos entre usuarios, o incluso algún desarrollo Linux+Apache+MySQL+PHP (LAMP) que me permitido salir al quite de alguna solicitud extraña de mis jefes. En infinidad de ocasiones un Live CD de Fedora me ha ayudado a recuperar de un disco duro información que ya habíamos dada por perdida.

Una de las cosas (ademas de las personales y económicas) que me han motivado a estudiar la maestría en Software Libre ha sido el concepto de comunidad: el como los líderes del Software Libre han podido dejar de lado sus diferencias (hasta cierto punto) para lograr que un ente tan grande y tan heterogéneo puede operar con un único fin, el de ayudarse unos a otros a través del software.

Un concepto muy interesante que muchos de nuestros políticos deberían desarrollar. Pero ese es tema de otro ensayo.

Honestamente, he de decir que al comenzar la maestría no sabia que esperar, habían pasado ya 12 años desde la última clase que tome,  se me hacia muy difícil combinar el trabajo, esposa e hijo con  la maestría. Además creía (erróneamente) que ya sabia  bastante del movimiento y por lo mismo pensaba que había muy poco que aprender, afortunadamente estaba equivocado desde la primer sesión me di cuenta que había mucho mas por aprender.

Finalmente he de decir que espero que al final de la maestría pueda dar validez a todos los conocimientos que he adquirido de manera autodidacta sobre el movimiento del Software Libre a lo largo de los años.

En la primera sesión de la maestría y después de las obligatorias presentaciones, lo primero que se me vino a la mente fue: “todavía faltan dos horas y media para que se acabe la clase”; lo se no es la mejor mentalidad de un estudiante de maestría.

Pero grata fue la sorpresa, las sesiones de tres horas a la semana se convirtieron en una amena charla, donde alumnos y profesor compartíamos opiniones, experiencias e incluso porque no, discutimos cuando no  podíamos llegar a un acuerdo en alguno de los conceptos o temas que estábamos viendo en la sesión.

Rápidamente pasamos de la historia del Software Libre  (personajes y aportaciones), a las licencias de software, derechos de autor, estándares abiertos, modelos de desarrollo, incluso le dimos una breve pasada a los conceptos tales como retorno de inversión y costo total de propiedad.

Cuando hablabamos de los personajes del Software Libre me llamo mucho la atención que personajes tales como De Icaza, Torvalds y Raymond hayan tenido (y tengan hasta la fecha) sus diferencias con Stallman pero que aun así siguieran participando activamente en el movimiento. No quiero decir con esto que Stallman sea el mandamás del movimiento, pero sin lugar a dudas es uno de los que mas ha influenciado.

Cuando abordamos el tema de las licencias de software en la tercera sesión tengo la seguridad de que todos sabíamos que existían licencias como la GPL, LGPL, EULA y Creative Commons, pero: ¿Apache,  Mozilla Public License, BSD License, CDDL? ¡Yo jamás habia escuchado de esas licencias!
Yo pensaba que habia solo dos tipos de licencias: propietarias y de código libre y abierto; pero no es así, se dividen en mas. En esta sesión aprendí algo nuevo.

Al abordar el tema de los estándares abiertos tuve mi primer desencuentro al enterarme de que en Venezuela ya cuentan con la definición de estándar abierto, mientras que en México no nos podemos poner de acuerdo en cosas tan básicas como: la generación de empleo, la seguridad y la educación.
No me lo tomen a mal, no tengo nada en contra del pueblo venezolano, al contrario, espero que algún día los políticos mexicanos legislen algo similar tomando como ejemplo la legislación venezolana, pero ¿que podemos esperar si al momento de escribir estas lineas se discute en el Senado la aprobación del ACTA?

Mientras hablábamos de modelos de desarrollo llegue a la conclusión que una de las razones por las que el movimiento ha crecido tanto ha sido por el sentido de pertenencia.

El hecho de cualquier persona puede formar parte del movimiento, y no necesariamente como desarrollador, si no también como documentador, ‘beta tester’ y embajador promoviendo el uso del Software Libre mediante charlas; le da al movimiento la fuerza para seguir, gente entra y sale del movimiento todos los días, pero las  cabezas siguen hasta hoy en dia: la economía social del movimiento es la moneda de cambio que la da la fortaleza.

“El Software Libre no te hará rico pero te dará de comer” dijo en alguna ocasión Ivan Chavero, y contrario a lo que mucha gente piensa, SI SE PUEDE HACER DINERO con el Software Libre, la gente esta tan mal acostumbrados a  traducir “Free Software” como “Software Gratuito” que inmediatamente se piensa: “No voy a poder lucrar con el”, pero no es así, el concepto “Free Software” se debe traducir y entender como “Software Libre”, porque tienes la libertad de hacer con el lo que quieres, incluso puedes hacer dinero con el.

Existen actualmente modelos de negocios muy rentables e interesantes: desarrollos a la medida, pólizas de soporte, certificaciones y distribución.
De hecho, a ultima fechas fabricantes de equipo de computo como Dell, comercializan sus equipos con un sistema operativo basado en Software Libre, cosa impensable hace algunos años, otra forma de hacer dinero.

En la ultima sesión del curso tuvimos la oportunidad de hablar sobre el Software libre en las computadoras de escritorio y el datacenter.
En mi opinión, y sin lugar a dudas dentro de algunos años el Linux sera el Sistema Operativo preferido para los datacenter.

Actualmente trabajo para Teleflex Inc, en el area de Service Desk para America, tengo a mi cargo un equipo de cuatro personas y aunque la empresa corre sus aplicaciones basicamente en soluciones de licencia cerrada o de codigo propietarion, nos las arreglamos para usar Software Libre para hospedar nuestra bases de conocimientos.

Es un servidor basado en Fedora Core 14 donde corremos los siguientes servidores: base de datos (MySQL), servidor web (Apache), consola remota (SSH), carpetas compartidas (SAMBA) y un proxy cache (Squid); ademas de programar soluciones especificas basados en Perl y PHP. En el mismo servidor hospedamos: un foro (BBForum), una wiki (Wiki) y un software de gestión de proyectos (dotProject).

La wiki es la herramienta que mas usamos hasta es momento, es la base de conocimientos al dia de hoy cuenta con mas de 500 artículos.
Conforme crezca la operación del Service Desk y lo enlacemos con los Service Desk de Irlanda y Malasia esperamos que en menos de un año se duplique el numero de entradas en la wiki.

El foro, lo usamos como una herramienta de colaboración que nos permite discutir temas de una manera no tan formal, los temas no críticos son subidos al foro y todos los miembros del equipo colaboramos aportando nuestro personal punto de vista, con el foro no dependemos de horarios.

El curso de Introducción al Software Libre me ha dado la oportunidad de conocer otras herramientas que en un futuro próximo estaremos usando.
Hasta antes del curso el control de versiones de los desarrollos era llevado a mano, mediante la copia del código fuente a un segundo servidor donde posteriormente se realizaba una análisis para determinar que archivo debía ser usado, ya se imaginaran el número de carpetas con diferentes versiones del mismo código.
En este momento estamos evaluando usar ya sea GIT o CVS para el control de versiones.

En un futuro me gustaría estar involucrado en las actividades de monitoreo de servidores y equipo de red usando Nagios.

En general el curso de Introducción al Software Libre rebaso mis expectativas, no solo tuve la oportunidad de recordar conceptos con los que yo estaba familiarizado si no que ademas tuve exposición a temas que desconocía por completo.

En la actualidad el uso del Software Libre esta a la alza y dentro de poco tiempo las empresas buscaran mas a profesionales de Tecnologías de Información con experiencia en Software Libre.

Esta maestría es un ejemplo del auge e impulso que tendrá el Software Libre y el hecho de que México sea el primer país en ofrecerla en toda América es para mi un indicio de que vamos por buen camino,
El gran despegue del Software Libre en México en mi opinión se dará cuando: se tenga una legislación similar que en Venezuela, cuando en las escuelas publicas de México tengamos maquinas corriendo Software Libre y cuando las empresas le pierdan el miedo.

La gran versatilidad de Linux,  ya sea que se use como computadora de escritorio o servidor, permitirá que su adopción sea mas rápida.

Los primeros pasos se han dado ya.