Tags Posts tagged with "Bash"

Bash

2 21438

Hace poco decidí actualizar los paquetes de mi instalación de Linux Mint, y me regresaba los siguientes errores:

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/packages.linuxmint.com_dists_nadia_import_i18n_Translation-en%5fUS
E: The package lists or status file could not be parsed or opened.
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/packages.linuxmint.com_dists_nadia_import_i18n_Translation-en%5fUS
E: The package lists or status file could not be parsed or opened.

La forma de quitar esos errores es borrando los archivos que se encuentran en /var/lib/apt/lists/ y lo hacemos con el siguiente comando:

sudo rm /var/lib/apt/lists/* -vf

Después de borrar los archivos, procedemos a limpiar y a hacer un update de los paquetes que tenemos:

sudo apt-get clean
sudo apt-get update

Y con esos pasos ya podremos actualizar o instalar cualquier paquete.

Visto en: http://ubuntuforums.org/showthread.php?t=1753585

En Linux, podemos hacer las cosas ya sea desde la GUI (Interfaz gráfica) o desde la consola de texto, el por eso que en este articulo les comparto como podemos conectarnos a nuestra red mediante el WiFi, usando la consola para hacerlo:

El primer paso es identificar las redes que estan a tú alcance:
1.- Para eso usamos el comando iwlist, donde:
wlan0 es la interfaz de red inalambrica (WiFi)
scanning es el comando que queremos ejecutar, ya que queremos hacer un scaneo de las redes que estan cerca de nuestro equipo.

 iwlist wlan0 scanning
wlan0     Scan completed :
          Cell 01 - Address: 00:19:A9:XX:XX:XX
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=57/70  Signal level=-53 dBm
                    Encryption key:on
                    ESSID:"k4ch0.net"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                              11 Mb/s; 12 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=000000013e8814f8
                    Extra: Last beacon: 11672ms ago
                    IE: Unknown: 00104330727030726174335F326363333535
                    IE: Unknown: 010882848B0C12961824
                    IE: Unknown: 030101
                    IE: Unknown: 07064D5820010B1E
                    IE: Unknown: 2A0106
                    IE: Unknown: 32043048606C
                    IE: Unknown: 851E06008F000F00FF0359005049534F50522D30310000000000000001000027
                    IE: Unknown: 9606004096000E00
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (1) : TKIP
                        Authentication Suites (1) : 802.1x
                    IE: Unknown: DD06004096010104
                    IE: Unknown: DD050040960305
                    IE: Unknown: DD050040960B09
                    IE: Unknown: DD050040961400
                    IE: Unknown: DD16000B85F800014C994659648F9EAD2ECFE2D145E36B90
          Cell 02 - Address: 00:19:A9:XX:XX:XX
                    Channel:1
                    Frequency:2.412 GHz (Channel 1)
                    Quality=58/70  Signal level=-52 dBm
                    Encryption key:on
                    ESSID:"ESer1es"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                              11 Mb/s; 12 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=000000013f1916d9
                    Extra: Last beacon: 2196ms ago
                    IE: Unknown: 000745536572316573
                    IE: Unknown: 010882848B0C12961824
                    IE: Unknown: 030101
                    IE: Unknown: 07064D5820010B1E
                    IE: Unknown: 2A0106
                    IE: Unknown: 32043048606C
                    IE: Unknown: 851E06008F000300070059005049534F50522D30310000000000000001000027
                    IE: Unknown: 9606004096000E00
                    IE: Unknown: DD06004096010104
                    IE: Unknown: DD050040960305
                    IE: Unknown: DD050040960B09
                    IE: Unknown: DD050040961400
                    IE: Unknown: DD16000B85F800014C99466334CE72CBD9B0269E641BA7F0

2.- Des comando anterior anotamos el essid de la red a la que nos queremos conectar y sú MAC Address, para asociarlos y conectarnos a esa red.

iwconfig wlan0 essid k4ch0.net
iwconfig wlan0 ap 00:19:A9:XX:XX:XX

3.- Si la red a la que te quieres conectar requiere clave lo haces con el siguiente comando:

iwconfig wlan0 key TUCLAVE

4.- Y en el caso de que tú claveesté en ASCII:

iwconfig wlan0 key s:TUCLAVE

5.- Hacemos un iwconfig para ver que todo está correcto y después para obtener la IP tecleamos:

dhclient wlan0

Listo, estaremos conectados a nuestra red WiFi

Fuente: http://bioinformatiquillo.wordpress.com/2009/03/19/conectar-wifi-mediante-consola/

0 2299

Fuente:Bash Reference Manual

Cuando introducimos un comando en BASH el sistema busca un archivo con ese nombre en todos los directorios contenidos en la variable PATH. En caso de no encontrarlo se retorna un mensaje de error especificando que el comando no ha sido encontrado. Para saber los directorios contenidos en PATH debes escribir en la consola:

$ echo $PATH

Te retornará algo como esto:

/usr/local/bin:/usr/bin:/bin:/usr/games/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/lib/qt/bin

Cada ruta de directorio aparece separada por dos puntos (:). En caso de que desees agregar directorios a tu PATH puedes hacerlo de dos formas: La primera los hace válidos por el tiempo que dura tu sesión, la segunda los hace permanentes.

Para el primer caso basta escribir en el terminal:

$ PATH="$PATH:::..."

Supongamos que tenemos un usuario que desea agregar dos carpetas a su PATH, ambas contenidas en ~/: la carpeta Scripts y la carpeta compilados. Tendría que escribir en el terminal:

$ PATH="$PATH:/home/nombreusuario/Scripts:/home/nombreusuario/compilados"

De esa manera ambos directorios se agregan a su variable PATH. Sin embargo, estos cambios no son permanentes y la próxima vez que el usuario acceda a su cuenta todas las modificaciones se habrán perdido.
Para que los cambios sean permanentes es necesario editar un par de archivos: ~/.bash_profile y ~/.bashrc

~/.bash_profile
Editar este archivo permite especificar una serie de comandos que se ejecutarán en cuanto el usuario acceda a su cuenta. En caso de que el archivo no exista puedes crearlo. Un ejemplo de lo que contiene este archivo es el siguiente:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

BASH_ENV=$HOME/.bashrc
USERNAME=""
PATH=$PATH:/usr/local/pgsql/bin:/usr/local/sbin:/usr/sbin:/sbin
MANPATH=$MANPATH:/usr/local/pgsql/man
PGLIB=/usr/local/pgsql/lib
PGDATA=/usr/local/pgsql/data

export USERNAME BASH_ENV PATH MANPATH PGLIB PGDATA

Los directorios que aparecen asignados a la variable PATH se sumarán a los directorios básicos que asigna el sistema a todos los usuarios. El archivo .bash_profile se carga cada vez que el usuario realiza un login a su cuenta. Para decirlo de un modo más específico, cada vez que Bash es invocado mediante un login shell interactivo (cuando te logeas con tu password)o mediante un shell no interactivo con la opción –login, primero lee y ejecuta los comandos desde el archivo /etc/profile, en caso de que este archivo exista. Luego de leer este archivo busca los archivos ~/.bash_profile, ~/.bash_login y ~/.profile, en ese orden. La idea es que se ejecutarán los comandos del primero de los archivos que sea encontrado y sea legible. Una vez encontrado este archivo no seguirá buscando los demás, por esa razón es que es preferible asegurarse de trabajar con el primer archivo de la lista.

Nota: ~/ se usa para indicar tu directorio home. Si tu usuario es luis, por ejemplo, ~/ corresponde a /home/luis/

Sin embargo, si accedemos a un terminal desde un entorno de escritorio como Gnome, KDE o Xfce, nos encontraremos con que el archivo .bash_profile no es leído. En ese caso, además, debemos modificar el archivo .bashrc

~/.bashrc
Cuando se inicia un shell interactivo que no es un login shell, es decir que no requiere que ingreses a tu cuenta con tu clave y nombre de usuario, Bash lee y ejecuta comandos desde ~/.bashrc, si es que ese archivo existe. Un ejemplo del contenido de este archivo sería el siguiente:

alias ll="ls -al --color"
alias nautilus="nautilus --no-desktop"
alias aterm="aterm -fg white -tr"
export PS1='\u[\W]\$ '
export PAGER="most"
export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin

Esta última linea contiene los directorios que se sumarán a los que cada usuario tiene por defecto.
De esta manera, editando ambos archivos es posible modificar tu variable PATH.

Por supuesto, existe más de un método de hacer todo lo anterior, es cosa de descubrir la forma que prefieras. Se puede, también, modificar los archivos /etc/profile y /etc/bashrc que corresponden a los archivos ~/.bash_profile y ~/.bashrc, pero que afectan a todos los usuarios. Evidentemente que para modificarlos necesitarás permisos de superusuario.

0 4251

FIFO es el acrónimo de First Input First Output (Primero que entra, primero que sale). En programación se usa dentro de las estructuras de datos.

Partiendo de este echo, en UNIX existen una especie de ficheros que se utilizan para comunicar procesos, de modo que se puedan sincronizar e intercambiar información. El funcionamiento es bastante sencillo, un proceso se encarga de escribir en el fichero FIFO, y otro de leer. Cada uno de los procesos se quedarán bloqueados hasta que el otro actúe.

Esto lo podemos probar del siguiente modo:

$ mkfifo /tmp/fi

Con el comando anterior, habrás creado el fichero FIFO. Puedes comprobarlo con un

$ ls -l /tmp

$ echo Hola Mundo > /tmp/fi

El proceso que hemos lanzado, se quedará bloqueado intentando escribir hasta que haya otro proceso lea ese fichero. Para ello desde otra terminal lanzamos este comando:

$ cat /tmp/fi 
Hola Mundo

En este momento, habrán quedado ambos procesos desbloqueados.


Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home/admin/web/k4ch0.org/public_html/wp-includes/functions.php on line 3594