Browse Category: Linux

Informaciones, aplicaciones, guías y sugerencia relacionada con la plataforma de Linux

Configurar proxy en Debian para usar aptitude

Determinadas circunstancias normalmente en el ámbito laboral el acceso a Internet se realiza a través de un proxy. En estos casos para tener nuestro sistema actualizado y descargar paquetes, hemos de realizar unos pequeños ajustes para que nuestro sistemas sepa que tiene que utilizar un proxy.

Si estamos usando aptitude a través de la linea de comandos, editaremos el archivo /etc/bash.bashrc como usuario root y pondremos las siguientes lineas al final de este archivo:

export http_proxy=http://username:password@proxyserver:port/
export ftp_proxy=http://username:password@proxyserver:port/

Podremos omitir username:password si nuestro servidor proxy no requiere autenticación.

Enlaces: How to use apt-get behind proxy server (Ubuntu/Debian)

Exportación e importación de bases de datos MySQL en Linux

Cómo exportar una bases de datos MySQL

Para exportar una base de datos MySQL en un archivo, simplemente escriba la siguiente sintaxis de comandos en el shell, siempre y cuando pueda utilizar SSH de forma local o remota para acceder a la computadora en la que se encuentra instalado el servidor de bases de datos MySQL.

mysqldump -u username -p databasename > filename.sql

Esto le pedirá inmediatamente el password (contraseña) del usuario que utilizó para exportar la base de datos.

Reemplace username con un nombre de usuario válido en el servidor de bases de datos MySQL, databasename con el nombre real de la base de datos que desea exportar. Por último, usted puede poner el nombre que quieras en filename para el archivos SQL, ejemplo: filename.sql.

Los datos, tablas y estructuras de databasename será respaldado en un texto SQL en un fichero llamado filename.sql.

Cómo exportar las estructuras de una base de datos MySQL

Si ya no necesita los datos dentro de las tablas de la base de datos (poco probable), sólo tiene que añadir la opción -no-datos esto hará que solo se exporten las tablas de la base de datos sin los datos.

mysqldump -u username -p --no-data databasename > filename.sql

Cómo exportar sólo los datos de una base de datos MySQL

Si sólo desea los datos de una base de datos MySQL, lo puede lograr con el uso de la opción -no-create-info. Con este ajuste solo se exportarán los datos (registro de las tablas). Utilice este recurso sólo si usted está totalmente seguro de que usted cuenta con una base de datos duplicadas con la misma estructura, donde sólo tendrá que actualizar los datos.

mysqldump -u username -p --no-create-info databasename > filename.sql

Cómo exportar varias bases de datos MySQL

Con la opción –databases permitirá especificar más de 1 base de datos para exportar:

mysqldump -u username -p --databases databasename1 [databasename2 ...] > filename.sql

Cómo exportar todas las bases de datos del servidor MySQL

Para exportar todas las bases de datos del servidor MySQL, utilice la opción –all-databases, y no necesitan especificar los nombres de las bases de datos.

mysqldump -u username -p --all-databases > filename.sql

Cómo importar una base de datos MySQL

Usted puede restaurar una base de datos MySQL mediante phpMyAdmin, usando la pestaña del importación, pero este solo te permitirá importar un fichero de menos de 2 MB, para importar base de datos con un tamaño físico mayor a este, puede hacerlo simplemente escribiendo la siguiente sintaxis de comandos en el shell, siempre y cuando pueda utilizar SSH de forma local o remota para acceder a la computadora en la que se encuentra instalado el servidor de bases de datos MySQL.

mysql -u username -p databasename < filename.sql

La importación y exportación de bases de datos MySQL no sólo es importante para recuperar los datos cuando ocurre un desastre, sino que también proporciona una manera fácil de migrar o moverse a otro servidor, como por ejemplo al cambiar de proveedores de alojamiento web.

Enlaces:

How to Backup and Restore (Export and Import) MySQL Databases Tutorial

Atajos para ejecutar en la consola de comandos de Linux Debian

Listado de atajos de teclado y comandos útiles para sacar mejor provecho de los ratos que pasemos frente a la consola de comandos en Linux, también conocida como shell. Lo pego aquí para futura referencia.

Cómo saber la versión de Debian instalada

cat /etc/debian_version

Algunos países hacen uso del del horario de verano o de invierno antes o después de la fecha acordada a nivel internacional, cuestión que trae consigo un problema para algunas computadoras que tienen configurada cambiar la hora automáticamente según el horario de verano. Si desea cambiar la fecha y hora manualmente en Linux Debian puede hacerlo mediante el comando:

date --set "2010-04-05 10:59:56-05:00"

2010-04-05 10:59:56-05:00 = AAAA/MM/DD HH:MM:SS-UsoHorario

Atajos con Ctrl

Ctrl + l – Limpiar la pantalla.
Ctrl + r – Buscar en el historial de comandos. Cuando veamos el que necesitamos simplemente presionamos “Enter”.
Ctrl + a – Ir al comienzo de la linea.
Ctrl + e – Ir al final de la linea.
Ctrl + b – Moverse un carácter hacia atrás.
Ctrl + f – Moverse un carácter hacia delante.
Ctrl + c – Cancelar el comando en curso.
Ctrl + d – Salir de la consola.
Ctrl + u – Cortar el contenido desde la posición del cursor hasta el principio.
Ctrl + k – Cortar el contenido desde la posición del cursor hasta el final.
Ctrl + y – Pegar el texto cortado con las dos opciones anteriores.
Ctrl + p – Moverse por el historico de comandos hacia atrás.
Ctrl + n – Moverse por el historico de comandos hacia delante.
Ctrl + z – Parar temporalmente la ejecución de un proceso, quedando en segundo plano
fg       - Para continuar con el proceso que fue parado temporalmente llevándolo a un primer plano

Atajos con Alt

Alt + &lt; – Ir a la primera linea del historial de comandos.
Alt + &gt; – Ir a la última linea del historial de comandos.
Alt + ? – Muestra la lista actual de autocompletación.
Alt + * – Inserta todas las posibles combinaciones de autocompletado.
Alt + / – Intenta completar el nombre del archivo.
Alt + . – Inserta el último argumento del anterior comando.
Alt + b – Mover hacia delante.
Alt + f – Mover hacia atrás.
Alt + t – Mover entre palabras.
Alt + c – Capitalizar palabra.
Alt + l – Pasar a minúsculas un palabra.
Alt + u – Pasar a mayúsculas una palabra.
Alt + d – Elimianr palabra.
Alt + n – Buscar en el historial de comandos hacia delante de forma no incremental.
Alt + p – Buscar en el historial de comandos hacia atrás de forma no incremental.
Alt + r – Rellamar un comando.
Alt + back-space – Eliminar desde el cursor hacia atrás.

Las chuletas definitivas para usuarios de Bash en Linux

La chuleta definitiva para usuarios de Bash en Linux

Linux Bash Shell Cheat Sheet: HTML o PDF

Recopilación de comandos para GNU/Linux

Recopilación de comandos para GNU/Linux en: HTML o PDF.

Instalar y desinstalar programas en Linux Debian usando la consola de comandos

APT (Advanced Packaging Tool) es el gestor de paquetes usado por Linux Debian y las distribuciones basadas en Debian.

Aunque lo podemos usar sin conexión a Internet, apt está orientado para ser usado con conexión.

Para usar apt, básicamente debemos:

  1. Decirle que actualice la lista de paquetes disponibles
  2. Decirle los paquetes que queremos Instalar/desinstalar

Entonces apt se encarga de:

  • Buscar los paquetes en Internet o localmente
  • Solucionar las dependencias (a veces para que un paquete funcione necesita que haya otros paquetes instalados previamente: se dice que ‘depende de’)
  • Descargar de Internet (cuando sea necesario) los paquetes y sus dependencias
  • Instalar y configurar en el orden correcto los paquetes y sus dependencias

Nota

Usaremos aptitude como interfaz para APT.

aptitude

Usaremos la palabra paquete en lugar de programa, pues apt trabaja con paquetes y no con programas. Un paquete puede incluir varios programas y un programa se puede empaquetar en varios paquetes.

Aptitude obtiene la lista de paquetes disponibles del repositorio de Linux, que es un conjunto de direcciones de Internet o locales donde están, tanto los listados de paquetes disponibles, como los propios paquetes.

El programa aptitude se usa en modo línea de comando desde un terminal, en el que debe tener la condición de superusuario (root).

Las principales formas de usar aptitude son:

Sintaxis general de aptitude

aptitude [opciones] acción [paquetes]

Actualizar lista de paquetes

aptitude update

Se debe actualizar la lista antes de realizar cualquier otra acción con apt

Buscar información de los paquetes

Podemos buscar información de los paquetes que vamos a instalar usando los comandos:

aptitude search palabra

Busca palabra tanto en los nombres como en las descripciones de los paquetes.

aptitude show paquete

Muestra información sobre el paquete . Nos informa también sobre las dependencias del paquete, es decir, de qué paquetes depende.

Instalar paquetes

aptitude install paquete

Observe que ponemos “paquete” y no ponemos “paquete.deb” ni “paquete_1.0-4_i366.deb”

Con la opción -d descarga el paquete pero no lo instala. Resulta de utilidad cuando queremos descargar paquetes para instalarlos en otro ordenador sin conexión a Internet

aptitude -d install paquete

La acción reinstall se usa cuando se daña algún paquete o cuando queremos instalar una versión más reciente del mismo:

aptitude reinstall paquete

Desinstalar paquetes

La acción remove elimina (desinstala) el paquetes:

aptitude remove paquete

La acción purge elimina (desinstala) el paquetes y sus archivos de configuración:

aptitude purge paquete

Actualizar todos los paquetes

Se pueden actualizar todos los paquetes mediante una sola orden:

aptitude upgrade

e incluso se puede actualizar toda la distribución a una nueva versión:

aptitude dist-upgrade

Precaución

No use upgrade, a no ser que se considere un usuario bastante experimentado (puede provocar inestabilidad del sistema)

Eliminar paquetes de la caché

Los paquetes una vez instalados ya no son necesarios. No obstante, se conservan en la caché: /var/cache/apt/archives. Si los borramos ahorramos espacio en disco, pero si necesitamos instalarlos de nuevo, apt tiene que volver a descargarlos. Para borrarlos, se suelen usar los comandos:

aptitude autoclean

Elimina los paqetes antiguos (aquellos de los que ya existe una nueva versión)

aptitude clean

Elimina todos los paqetes de la caché

Resumen de las opciones y las acciones de aptitude

Si no se especifica ninguna, aptitude entrará en modo interactivo

Opciones:

-h              Este texto de ayuda
-s              Simula las acciones, pero en realidad no las realiza.
-d              Sólo descarga paquetes, no instala o desinstala nada.
-p              Siempre pide confirmación de las acciones
-y              Supone que la respuesta a preguntas simples del tipo sí­/no es «sí»
-F formato      Especifica el formato para mostrar los resultados de las búsquedas, lea el manual
-O orden        Especifica como se deben ordenar los resultados de la búsqueda, lea el manual
-w ancho        Especifica el ancho del visor para dar formato a los resultado de la búsqueda
-f              Trata de arreglar paquetes rotos de forma agresiva.
-V              Muestra la versión de los paquetes a instalar.
-D              Muestra las dependencias de los paquetes cambiados automáticamente.
-Z              Muestra el cambio del tamaño instalado de cada paquete.
-v              Muestra información extra (puede darse más de una vez)
-t [distrib]    Establece la distribución desde la que se instalan los paquetes
-q              No muestra los indicadores de progreso incrementales en el modo de línea de Órdenes.
-o opconf=val  	Establecer directamente la opción de configuración llamada «opconf»
--with(out)-recommends,	Especifica si se tratan o no las recomendaciones como dependencias fuertes
-S fnombre:     Lee la información de estado extendida de aptitude de fnombre.
-u              Descarga una nueva lista de paquetes al arrancar.
-i 		Realiza una instalación al arrancar.

Acciones:

install      - instala/actualiza paquetes
remove       - elimina paquetes
purge        - elimina paquetes junto con sus ficheros de configuración
hold         - bloquea paquetes
unhold       - desbloquea un paquete
markauto     - marca paquetes como instalados manualmente
unmarkauto   - desmarca paquetes como instalados manualmente
forbid-version - prohíbe a aptitude actualizar a una versión específica de un paquete.
update       - descarga las listas de paquetes nuevos/actualizables
upgrade      - realiza una actualización segura
dist-upgrade - realiza una actualización, posiblemente instalando y eliminando paquetes
forget-new   - olvida qué paquetes son "nuevos"
search       - busca un paquete por nombre y/o expresión
show         - muestra información detallada de un paquete
clean        - elimina los ficheros de paquetes descargados
autoclean    - elimina los ficheros de paquetes descargados obsoletos
changelog    - muestra el registro de cambios del paquete
download     - descarga los ficheros .deb para un paquete
reinstall    - descarga y (posiblemente) reinstala un paquete ya instalado

Enlaces:

APT: http://es.wikipedia.org/wiki/Advanced_Packaging_Tool
Aptitude: http://es.wikipedia.org/wiki/Aptitude

Configuración del módulo ProxyPass de Apache

En éste artículo mostraré cómo hacer que varios servidores web interno pueda ser accedido desde Internet, sin cambiar ninguna de las reglas del firewall ni comprometiendo la seguridad de su red. Veremos como usar el módulo ProxyPass de Apache para lograr esto.

Escenario

Tenemos un servidor instalado con Linux Debian, el cual tiene configurado dos interfaces de redes, una con IP Publica Internacional (200.xx.xxx.46) y la otra con IP Privada Local (192.168.100.1) conectada a la red LAN donde se encuentran otros dos servidores con prestación de servicios web. En uno tenemos el Servidor de Correo con posibilidad de Webmail (192.168.100.2) y en el otro tenemos la Intranet (192.168.100.3)

mainserver = 200.xx.xxx.46 – 192.168.100.1
webmail = 192.168.100.2
intranet = 192.168.100.3

En los DNS públicos están registrado los dominios con la misma IP de mainserver.

webmail.dominio.com     A     200.xx.xxx.46
intranet.dominio.com    A     200.xx.xxx.46

Las peticiones llegarán primero al servidor publico y luego este se encargará mediante el ProxyPass de Apache redireccionar a los servidores locales.

Solución

Activando los módulos proxy proxy_http proxy_connect en el Apache de mainserver, creando un par de registros A en el servidor DNS local o en el propio hosts del servidor y creando los VirtualHost con sus respectivas configuraciones, damos solución al escenario planteado.

Activando los módulos proxy proxy_http proxy_connect

a2enmod proxy proxy_http proxy_connect

Creando y configurando el VirtualHost para webmail en el Apache

nano /etc/apache2/sites-available/webmail.dominio.com

webmail.dominio.com

<VirtualHost *:80>
ServerName webmail.dominio.com
 
ServerSignature On
 
ErrorLog /var/log/apache2/webmail.dominio.com-error.log
 
LogLevel warn
 
CustomLog /var/log/apache2/webmail.dominio.com-access.log combined
 
<location />
Allow from All
</location>
 
ProxyPass / http://webmail.dominio.com/
ProxyPassReverse / http://webmail.dominio.com/
</VirtualHost>

Creando y configurando el VirtualHost para intranet en el Apache

nano /etc/apache2/sites-available/intranet.dominio.com

intranet.dominio.com

<VirtualHost *:80>
ServerName intranet.dominio.com
 
ServerSignature On
 
ErrorLog /var/log/apache2/intranet.dominio.com-error.log
 
LogLevel warn
 
CustomLog /var/log/apache2/intranet.dominio.com-access.log combined
 
<location />
Allow from All
</location>
 
ProxyPass / http://intranet.dominio.com/
ProxyPassReverse / http://intranet.dominio.com/
</VirtualHost>

Habilitamos los dos VirtualHost que acabamos de crear

a2ensite webmail.dominio.com
a2ensite intranet.dominio.com

Debemos reiniciar Apache después:

invoke-rc.d apache2 restart

Configurando DNS local ó Hosts de Linux

Evidentemente si en la zona dominio.com del DNS local ó en el Hosts de Linux no tenemos las entradas A de webmail e intranet donde apunten a sus respectivas IP Privada de la red local, de poco servirán los cambios realizados en el Apache.

nano /etc/hosts

Podemos agregar con mucho cuidado.

192.168.100.2     webmail.dominio.com
192.168.100.3     intranet.dominio.com

Post relacionado

Configuración de VirtualHost en Linux Debian con Apache2

Enlaces

Apache: http://httpd.apache.org/