Instalación del servidor BACULA BACKUP

BACULA BACKUP: INSTALACIÓN DEL SERVIDOR

BACULA BACKUPBacula Backup es un excelente servidor de Backup que nos va a ayudar a tener un control sobre todas las copias que se realizan en la compañía. Mi experiencia con bacula backup es bastante positiva siempre y cuando verifiques las copias a menudo. No es comparable con una solución profesional de pago pero sí nos puede valer para un entorno pequeño tipo delegación o una segunda copia en otra sede para dormir mejor por las noches.

Hay muchas maneras de configurar la topología de BACULA BACKUP, pero nosotros vamos a centrar todos los componentes en un único servidor con la consola WEBMIN ya que nos va a facilitar la tarea de la administración.

 

 

 

Requisitos del sistema BACULA BACKUP:

  • SISTEMA OPERATIVO: Ubuntu Server 14.04
  • RAM: 1 Gb RAM
  • PROCESADOR: Pentium IV
  • DISCO DURO: 1 Tb

BACULA BACKUP

Estos parámetros son para un correcto funcionamiento,  evidentemente si queremos almacenar mas copias necesitaremos más disco.

Herramientas necesarias:

Programa Putty. es un programa que nos permite conectarnos al servidor de linux y podemos copiar y pegar del porta papeles.

¡EMPEZAMOS!

Nos validamos como root:

sudo su –

para acualizar el sistema operativo:

apt-get update

apt-get upgrade

Si no hemos instalado el servidor de MYSQL y APACHE lo hacemos ahora.

apt-get install apache2 mysql-server-5.5 mysql-client-5.5 php5

Ahora vamos a instalar todos los componentes del propio sistema BACULA

apt-get install bacula bacula-client bacula-common-mysql bacula-director-mysql bacula-sd-mysql bacula-server bacula-traymonitor

¿Desea continuar? [S/n] S

Introducimos la contraseña del administrador de la base de datos

Introducimos la contraseña que hemos puesto en MySql

Ahora introducimos la contraseña de MySql para el Director de Bacula. (os recomiendo poner la misma).

¡YA ESTÁ INSTALADO!

Vamos a empezar a configurar el servidor. en unos pocos pasos ya hemos acabado!

  • CONFIGURAR EL DIRECTOR BACULA BACKUP

Vamos a editar el fichero bacula-dir.conf . Para ello tecleamos:

nano /etc/bacula/bacula-dir.conf

Vamos a cambiar únicamente las palabras en rojo. lo único que vamos a poner es una password, os recomiendo que sea bastante seguro, y la Dirección IP del servidor, si no la sabemos ponemos ifconfig en la consola y nos la dice algo como esto: Direc. inet:192.168.66.129

—-—-

Director { # define myself
Name = ubuntu-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = “/etc/bacula/scripts/query.sql”
WorkingDirectory = “/var/lib/bacula”
PidDirectory = “/var/run/bacula”
Maximum Concurrent Jobs = 1
Password = “ksalldsadlkjsadljsadakljd ” # Console password
Messages = Daemon
DirAddress = 192.168.66.129
}

—-

—-

# Client (File Services) to backup

Client {
Name = ubuntu-fd
Address = 192.168.66.129
FDPort = 9102
Catalog = MyCatalog
Password = “ksalldsadlkjsadljsadakljd ” # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 6 months # six months
AutoPrune = yes # Prune expired Jobs/Files
}

—-

—-

# Definition of file storage device
Storage {
Name = File
# Do not use “localhost” here
Address = 192.168.66.129 # N.B. Use a fully qualified name here
SDPort = 9103
Password = “ksalldsadlkjsadljsadakljd”
Device = FileStorage
Media Type = File
}

—-

—-

# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = ubuntu-mon
Password = “ksalldsadlkjsadljsadakljd 
CommandACL = status, .status
}

Para guardar el fichero CTRL + X, no pregunta si queremos guardar le decimos S + INTRO

  •  CONFIGURAR EL ALMACENAMIENTO BACULA BACKUP

Para configurar el almacenamiento vamos a editar el siguiente fichero: bacula-sd.conf

nano /etc/bacula/bacula-sd.conf

—-Storage { # definition of myself
Name = ubuntu-sd
SDPort = 9103 # Director’s port
WorkingDirectory = “/var/lib/bacula”
Pid Directory = “/var/run/bacula”
Maximum Concurrent Jobs = 20
SDAddress = 192.168.66.129
}—-

—-

Director {
Name = ubuntu-dir
Password = “ksalldsadlkjsadljsadakljd”
}

—-

—-

Director {
Name = ubuntu-mon
Password = “ksalldsadlkjsadljsadakljd”
Monitor = yes
}

—-

—-

Device {
Name = FileStorage
Media Type = File
Archive Device = /backupdir
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}

BACULA BACKUP

Para guardar el fichero CTRL + X, no pregunta si queremos guardar le decimos S + INTRO

Ahora nos tendremos que ir al raiz, creamos la carpeta y le damos permisos, para ello tecleamos:

 cd /

mkdir /baculabackup

chmod 777 baculabackup

  • CONFIGURAR EL CLIENTE BACULA BACKUP

Para configurar el cliente tendremos que editar el siguiente fichero:bacula-fd.conf

nano /etc/bacula/bacula-fd.conf

—-—-

Director {
Name = ubuntu-dir
Password = “ksalldsadlkjsadljsadakljd”
}

—-

—-

Director {
Name = ubuntu-mon
Password = “ksalldsadlkjsadljsadakljd”
Monitor = yes

—-

—-

FileDaemon { # this is me
Name = ubuntu-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 192.168.66.129
}

 

 

  • CONFIGURAR LA CONSOLA DE BACULA BACKUP

Para configura la consola editamos el fichero: bconsole.conf con el siguiente comando:

nano /etc/bacula/bconsole.conf

#
# Bacula User Agent (or Console) Configuration File
#Director {
Name = ubuntu-dir
DIRport = 9101
address = 192.168.1.46
Password = “ksalldsadlkjsadljsadakljd”
}

BACULA BACKUP

Ya tenemos todos los ficheros modificados, ahora para que surgan efecto hay que reiniciar los servicios, para ellos ejecutamos la siguiente sentencia:

/etc/init.d/bacula-director restart

/etc/init.d/bacula-sd restart

/etc/init.d/bacula-fd restart

BACULA BACKUP

Bueno pues ya hemos hecho la parte más complicada! enhorabuena, ya tienes un servidor de copias de seguridad.

Ahora vamos a por el cliente.

INSTALAR BACULA BACKUP: LA CONSOLA DE ADMINISTRACION

Es bastante engorroso tener que editar todos los ficheros para poner en funcionamiento todo. Para esta tarea vamos a usar la interface gráfica WEBMIN.

INSTALACIÓN WEBMIN BACULA BACKUP

FORMA DE INSTALACIÓN WEBMIN 1:

Debemos descargar la herramienta WEBMIN que está en la página: http://www.webmin.com/download.html

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.760_all.deb

dpkg -i webmin_1.760_all.deb

Tenemos que instalar algunas dependencias:

apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

FORMA DE INSTALACIÓN WEBMIN 2:

si teneis algún problema con la instalación agregamos las dependencias en el fichero /etc/apt/sources.list

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

apt-get update

apt-get install webmin

Una vez instalado entramos en la consola desde un navegador poniendo la dirección https://ipdelservidor:10000/

*Recomiendo para BACULA  BACKUP usar siempre el navegador FIREFOX

BACULA

nos validamos con usuario y contraseña (usuario y contraseña de linux).

Lo primero que hacemos, si quereis, es cambiar el idioma a Español:

En el panel de la izquierda vamos a WEBMIN -> Change Language and Theme

ahora vamos a SYSTEM -> BACULA Backup System

nos dará un fallo de conexión a la base de datos. Para solucionarlo vamos a module configuration e introducimos la contraseña que hemos proporcionado para la BBDD de MySQL de Bacula server. (ojo, seleccionar Servidor de MySQL)

BACULA BACKUP

y ya lo tenemos!

BACULA BACKUP

Continuamos ahora con la instalación del cliente bacula backup para windows:

Configuracion APN Movistar

Como por alguna razón siempre termino borrando la configuración del APN de Movistar, dejo esto por si alguien lo necesita.

Como configurar APN (Internet y MMS) de Movistar Argentina

APN Access Point Name es el nombre de punto de acceso (NPA) para 2G, 3G y 4G que debe configurarse en el dispositivo móvil para que pueda acceder a Internet.
A continuación te explico los pasos para la configurar los APN de Movistar Argentina en dispositivos con Android.

Pasos:1. Buscar en el menú de Ajustes (Configuración) la opción APN.
Esta puede variar de ubicación según el equipo.
En Android 4.4 se encuentra en Ajustes > Mas > Redes móviles > APN2. Presionar el botón de menú y seleccionar APN nuevo e ingresar los siguientes datos:
Nombre:Movistar WAP
APN: wap.gprs.unifon.com.ar
Proxy: 200.5.68.10
Puerto: 8080
Nombre de usuario: wap
Contraseña: wap
Servidor:No definido
MMSC:No definido
Proxy MMS:No definido\
Puerto de MMS:No definido
MCC: 722
MNC: 07
Tipo de autenticacion: PAP
Tipo de APN: default
Protocolo APN: IPv4
Activar/desactivar APN: habilitado

Como alternativa también se puede utilizar esta otra configuracion:Nombre: Movistar INTERNET
APN: internet.gprs.unifon.com.ar
Proxy: No definido
Puerto: No definido
Nombre de usuario: internet
Contraseña: internet
Servidor: No definido
MMSC: No definido
Proxy MMS: No definido
Puerto de MMS: No definido
MCC: 722
MNC: 07
Tipo de autenticacion: PAP
Tipo de APN: default
Protocolo APN: IPv4
Activar/desactivar APN: habilitado

3. Presionar el boton de menu y seleccionar Guardar

4. Presionar nuevamente el botón de menú y seleccionar
APN nuevo e ingresar los siguientes datos:
Nombre: Movistar MMS
APN: mms.gprs.unifon.com.ar
Proxy: No definido
Puerto: No definido
Nombre de usuario: mms
Contraseña: mms
Servidor: No definido
MMSC: http://mms.movistar.com.ar
Proxy MMS: 200.68.32.239
Puerto de MMS: 8080
MCC: 722
MNC: 07
Tipo de autenticacion: No definido
Tipo de APN: mms
Activar/desactivar APN: habilitado

5. Presionar el botón de menú y seleccionar Guardar

Listo la configuración ya debe de funcionar.

Guia DD-WRT en DIR 300

Guia DD-WRT en DIR 300 esta basada en la instalacion de la version 24 SP2 05-01 pero funciona con cualquier version.

Necesitamos el programa putty para hacer telnet y pumpKin para levantar los archivos al router. ademas todos los archivos necesarios que contiene la version DD-WRT que queramos instalar. (ponerlos todos juntos en una carpeta) Antes de empezar recomiendo deshabilitar el antivirus,firewall y desconectar internet.(apagar wifi en el caso de notebook) para que no interfieran con la transmicion de archivos hacia su router.\r\n\r\nProcedemos (pero antes instalamos el PumpKin) primero crear un archivo .bat para que se comunique con nuestro router al iniciar el boteo.-
abrir un block de notas y pegar el siguiente codigo:

rem echo off :
start rem ————————————————
ping 192.168.20.81 -n 1 -w 1 > NULL IF ERRORLEVEL 1 goto start
rem putty
rem ————————————————
break putty.exe
telnet://192.168.20.81:9000 -m redboot.txt exit (guardar con el nombre de redboot.bat , debe tener la extencion .bat ojo con eso) -volvemos a abrir otro block y pegamos lo siguiente:
^C (este lo guardamos con el nombre de redboot.txt) –

estos 2 archivos que creamos los ponemos en C: y ademas ponemos el putty en C: . esto es para que se comunique automaticamente con el router al iniciar el boteo.
-ahora nos vamos a cambiar nuestra ip a 192.168.20.80 mascara de subred 255.255.255.0 apagamos o desconectamos el router,conectamos el cable ethernet a nuestro pc y al wan del router, abrimos el archivo que creamos redboot.bat y empezara a hacer ping a nuestro router, ahora presionamos con un lapiz o algo fino el reset del router lo mantenemos presionado y enchufamos el router siempre con el reset presionado esperamos unos 5 a 10 segundos y soltamos el reset. hasta aqui deberia hacer coneccion con el con el redboot por telnet.. nos deberia aparecer en la consola de telnet algo asi. RedBoot>
si es asi vamos bien..
ahora abrimos el pumpKin que ya habiamos instalado, nos vamos a option y en TFTP filesystem root le indicamos la carpeta donde guardamos los archivos del DD-WRT a instalar aplicamos, aceptamos y lo dejamos corriendo. ahora nos vamos a la parte de los comandos y el proceso de transferencia del nuevo firmware. podemos copiar los comandos con ctrl+c y los pegamos con el boton secundario en el telnet. procedemos en la consola de telnet que nos abrio el putty. load ap61.ram go (el router deberia cargar el nuevo bootloader y reinciar automaticamente despues de unos minutos) en el caso de permanecer la consola de tenet todavia activa presionamos enter y deberia desaparecer en un par de segundos. volvemos a cambiar ip a 192.168.1.2 y nos vamos a conectar a telnet con el putty a 192.168.1.1 puerto 9000
IMPORTANTE NUNCA DESCONECTE EL ROUTER!!!! procedemos en la consola de telnet. fis init About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System …
Erase from 0xbffe0000-0xbfff0000: . …
Program from 0x807f0000-0x80800000 at 0xbffe0000: . ip_address -h 192.168.1.2 IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 Default server: 192.168.1.2 load -r -b %{FREEMEMLO} ap61.rom Using default protocol (TFTP) Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000 fis create -l 0x30000 -e 0xbfc00000 RedBoot (aqui recomiendo ingresar este comandos manualmente)
An image named ”RedBoot” exists – continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: … …
Program from 0x80080000-0x800a8718 at 0xbfc00000: … … Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x807f0000-0x80800000 at 0xbffe0000: .

reset el router deberia volver a reiniciar, se demora un poco mas de un minuto. volvemos a hacer telnet con el putty a 192.168.1.1 puerto 9000
procedemos con la consola de telnet. ip_address -h 192.168.1.2 IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 Default server: 192.168.1.2 load -r -b 0x80041000 linux.bin (aqui deberia demorar un par de minutos)
fis create linux fconfig boot_script true fconfig boot_script_timeout 4
No asustarce si da opciones a elegir solo presionar enter.. esto se debe a que hay distintas versiones de DD-WRT pero por lo general funcionan todas iguales. ahora escriba lo siguiente para finalizar: fconfig fis load -l linux exec reset
Ahora espere unos minutos que reinicie y deberia ya tener instalado su DD-WRT felicitaciones.. desconectamos el ethernet del wan lo ponemos en cualquier posicion del lan cambiamos la ip de nuestro pc a automatico..
esperamos unos minutos…
paciencia..
y entramos via web a jugar con nuestro nuevo firmware, la ip de entrada via web es 192.168.1.1 —————ahora solo a acostumbrarce y investigar la enormidad de posibilidades y configuraciones que tiene. Saludos hecho por ROXDNG y Piojentito.

Origen: Guia Instalar DD-WRT en DIR 300… hecha por mi!! nada de textos en ingles!

“No nos gusta tu opinión”. Canonical usa su maquinaria legal para acallar blog critico

Queridos televidentes, lectores y radio oyentes. El siguiente titular puede ser de su máximo interés: (IRONIC MODE ON) Ubuntu es el sistema operativo supremo, Linux no existe, son los padres. Microsoft ha muerto y MacOS es para hypsters. Y por supuesto vivimos para Canonical. (IRONIC MODE OFF).

Bromas a parte, este va a ser un post incendiario. Ya no es berrinche porque Steam no use Ubuntu como sistema base para su Steam OS, ya no es que Canonical dejara de ofrecer su apoyo a KDE, que  Matt Zimmerman abondonase Canonical primero y por ultimo Martin Gräßlin, de los desarrolladores responsables de KWin, el increíble gestor de ventanas de KDE y que se va denunciando la falta de dialogo en la toma de decisiones).  Pero lo que hoy llega a mi RSS es la traca!

De los creadores de “esto no es una democracia“, “si no estás con Ubuntu, estás en su contra” (spin off licenciada), ahora llega “no nos gusta tu opinión”.

Antes de continuar voy a aclarar algunas cosas. Ubuntizando es un blog independiente, actualmente no guarda ninguna relación con Canonical o sus asociados. Ubuntizando es principalmente administrado por mi persona, con lo que soy responsable del mismo, del mismo modo las opiniones a vertidas por los editores que publican y han publicado en este sitio no tienen que por qué representar la opinión de este blog, siendo únicamente de cada editor. Vamos que este es un espacio abierto a criticar lo que nos parece mal y destacar las buenas ideas. Por otro lado, el blog utiliza un logo propio inspirado en que utiliza a Canonical para su marca Ubuntu, pero solo eso, inspirado.

En cuanto a la temática del sitio, principalmente hablamos de Ubuntu, ya que es el sistema GNU/Linux usado. Me gusta probar las cosas de las que hablo y me encantaría poder tratar todas las distribuciones abarcables en este sitio, pero me falta tiempo. Por lo que si deseas colaborar tratando Fedora, Debian, Arch, etc, aprovecho para ofrecer un espacio de publicación.

Dicho esto, menudo soy cuando me molesto, voy a publicar algo que a Canonical no le va a gustar:

gsettings set com.canonical.Unity.Lenses remote-content-search none; if [ `cat /etc/lsb-release | grep DISTRIB_RELEASE | cut -d"=" -f2` \< '13.10' ]; then sudo apt-get remove -y unity-lens-shopping; else gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']"; fi; sudo sh -c 'echo "127.0.0.1 productsearch.ubuntu.com" >> /etc/hosts';

 

¿Qué es todo esto? La solución aportada por Micah Lee  en su blog Fixubuntu.com para hacer de Ubuntu 13.10 una distribución segura y respetuosa con nuestra privacidad.

Así “gsettings set com.canonical.Unity.Lenses remote-content-search none” desactiva las busquedas remotas “gsettings set com.canonical.Unity.Lenses disabled-scopes "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope', 'more_suggestions-populartracks.scope', 'music-musicstore.scope', 'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope', 'more_suggestions-skimlinks.scope']" ” desactiva las lentes, para luego desinstalarlas con “sudo apt-get remove -y unity-lens-shopping“  y por ultimo “sudo sh -c ‘echo “127.0.0.1 productsearch.ubuntu.com” >> /etc/hosts’” desactiva las conexión a los servidores de anuncio de Ubuntu.

¿Sencillo? Esto lo podemos hacer todos, en cualquier momento sin problemas. Bien, pues a Canonical no debió gustarle la idea y comienza la bola de nieve de hoy.

 

Subject: Your Use of Ubuntu
From: ************@canonical.com

Dear Micah,

Canonical Limited (“Canonical”) owns and manages the intellectual property rights in Ubuntu and other associated intellectual property. In addition, Canonical is the owner of numerous trademarks and copyright throughout the world relating to Ubuntu, including Ubuntu logo and the word mark of Ubuntu.

It has been brought to our attention that your website: https://fixubuntu.com/ is using Canonical’s trademarks including Ubuntu logo on your website and Ubuntu word in your domain name. The Ubuntu logo [1] and a screenshot of your website [2] are set out below.

We are really pleased to know your interest in writing about Ubuntu. But whilst we can appreciate the passion Ubuntu inspires, we also have to be diligent to ensure that Ubuntu’s trademarks are used correctly.

To keep the balance between the integrity of our trademarks and the ability to to use and promote Ubuntu, we’ve tried to define a reasonable Intellectual Property Policy. You can read the full policy at http://www.canonical.com/intellectual-property-policy. As you can see from our policy, to use the Ubuntu trademarks and and Ubuntu word in a domain name would require approval from Canonical.

Unfortunately, in this instance we cannot give you permission to use Ubuntu trademarks on your website and in your domain name as they may lead to confusion or the misunderstanding that your website is associated with Canonical or Ubuntu.

So, whilst we are very happy for you to write about Ubuntu, we request you to remove Ubuntu word from you domain name and Ubuntu logo from your website. We would highly appreciate if you could confirm you have done so by replying this email to us.

Thank you for your cooperation and we look forward to hearing from you.

If you have any further questions, please feel free to contact us.

[1] Ubuntu Logo

ubuntu1

[2] A screenshot of your website
ubuntu2

Yours faithfully,

****** *****
Paralegal
Canonical
Blue Fin Building, 5th Floor
110 Southwark Street, SE1 0SU
Direct Dial: +44 (0)20 7630 2417
Ubuntu – Linux for Human Beings
www.canonical.com | www.ubuntu.com

 

Vamos un claro abuso del uso del derecho a proteger su marca con el objetivo de acallar criticas u opiniones negativas. ¿Esto está bien? No, esto es de chico muy malo, malo malote. :(

Así que el protagonista de esta historia, Micah Lee, no le ha quedado otra que retirar el logo de Ubuntu en su web. Pero ha dejado esta nota aclaratoria en su web, para calmar cualquier duda ;)

Disclaimer: In case you are either 1) a complete idiot; or 2) a lawyer; or 3) both, please be aware that this site is not affiliated with or approved by Canonical Limited. This site criticizes Canonical for certain privacy-invading features of Ubuntu and teaches users how to fix them. So, obviously, the site is not approved by Canonical. And our use of the trademarked term Ubuntu is plainly descriptive—it helps the public find this site and understand its message

En lo personal creo que Canonical hace mal en promover en su departamento legal este tipo de acciones. El efecto streisand está garantizado, es de manual. No sé que sucederá ahora que este y otros muchos blogs sobre Ubuntu animen a sus lectores y usuarios a ejecutar en sus terminales la solución de Micah Lee. Pero puedo imaginarme el cortocircuito que se les viene encima.

Y si lo estás pensando, tienes toda la razón. Siempre podemos instalar otra distribución GNU/Linux.

 

Fuente: https://micahflee.com/2013/11/canonical-shouldnt-abuse-trademark-law-to-silence-critics-of-its-privacy-decisions/

Nota: Micah Flee acaba de actualizar su historia con la inclusión de la carta remitida por Daniel Nazer, abogado de la EFF.
ubuntu_letter

Nota este post no es de mi autoria, solo lo copie porque me parecio importante la nota sobre como una empresa de Software Libre este espiando a sus usuarios.

Fuente : Ubuntizando

El señor de los anillos, las dos torres [Frase de Sam]

El señor de los anillos, las dos torres [Frase de Sam]

– Lo sé, ha sido un error, no deberíamos ni haber llegado hasta aquí, pero estamos aquí, igual que en las grandes historias, señor Frodo, las que realmente importan, llenas de oscuridad y de constantes peligros, esas de las que no quieres saber el final, porque.. ¿Cómo van a acabar bien? ¿Cómo volverá el mundo a ser lo que era después de tanta maldad como ha sufrido? Pero al final, todo es pasajero como esta sombra. Incluso la oscuridad se acaba para dar paso a un nuevo día. Y cuando el sol brilla, brilla más radiante aún, esas son las historias que llegan al corazón, porque tienen mucho sentido aún cuando eres demasiado pequeño para entenderlas. Pero creo, señor Frodo, que ya lo entiendo. Ahora lo entiendo. Los protagonistas de esas historias se rendirían si quisieran pero no lo hacen. Siguen adelante. Porque todos luchan por algo.

vía Crystal Heart: El señor de los anillos, las dos torres [Frase de Sam].