Tag Archive Linux

Poradmin

Crear lanzador de un archivo binario en ubuntu / Linux Mint

Crear un lanzador o acceso directo al bin de algun programa o software en inux es más fácil de lo que se piensa utilizando la herramienta gnome-panel que linux tiene para nosotros. Para ello sólo basta ejecutar los siguientes comandos en nuestra terminal.

Leer más

Poradmin

Linux: Conectar por SSH con una llave pem apartir de una llave ppk

Conectar por SSH con  una llave pem apartir de una llave ppk utilizando la heramienta puttygen con Linux.

Leer más

PorErik Guerrero V.

Tutorial Rápido MongoDB – Parte 3

INDICE

11.-UPDATE
12.-REMOVE
13.-DROP
14.-DROPDATABASE
15.-BETWEEN

Leer más

PorErik Guerrero V.

Tutorial Rápido MongoDB – Parte 2

INDICE

6.-FIND
7.-FINDONE
8.-WHERE
9.-WHERE NOT
10.-SAVE (ACTUALIZAR)

Leer más

PorErik Guerrero V.

Tutorial Rápido MongoDB – Parte 1

¿Que es MongoDB?

MongoDB es una base de datos orientada a documentos. Esto quiere decir que en lugar de guardar los datos en registros, guarda los datos en documentos. Estos documentos son almacenados en BSON, que es una representación binaria de JSON.

Comandos:

INDICE

1.-SHOW DATABASES
2.-USE
3.-SHOW COLLECTIONS
4.-CREAR VARIABLE EN MEMORIA (DOCUMENTO EN MEMORIA)
5.-INSERT

Leer más

PorErik Guerrero V.

Instalar MongoDB en Centos 7

Instalación

1.-Agregamos el repo de MongoDB.

$ sudo nano /etc/yum.repos.d/mongodb-org.repo

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

$ yum repolist

. . .
repo id repo name
base/7/x86_64 CentOS-7 – Base
extras/7/x86_64 CentOS-7 – Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 – Updates
. . .

2.- Instalación en modo superusuario
$ sudo yum install mongodb-org

3.- Iniciando el servicio de MongoDB

$ sudo systemctl start mongod
Nota: mongod process reads the configuration file, /etc/mongod.conf

4.-Reiniciando el servicio
$ sudo systemctl reload mongod
$ sudo systemctl stop mongod
$ sudo tail /var/log/mongodb/mongod.log

MongoDB Shell

$ mongo

Nota:

*MongoDB es una aplicación con hilos. Puede iniciar procesos adicionales para manejar su carga de trabajo. La advertencia establece que, para que MongoDB sea más efectivo, la cantidad de procesos que está autorizado a generar debería ser la mitad de la cantidad de archivos que puede tener abiertos en cualquier momento. Para resolver la advertencia, modifique el valor de límite suave de procesos para mongod editando el archivo 20-nproc.conf

$ sudo vi /etc/security/limits.d/20-nproc.conf

Luego:

$ sudo systemctl restart mongod

Probando
*Verificación de inicio:

$ systemctl is-enabled mongod; echo $?

Output
. . .
enabled
0

En el caso de un daemon desactivado, use la utilidad systemctl para habilitarlo:

sudo systemctl enable mongod

Datos de prueba

$ cd /tmp

$ curl -LO https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json

$ mongoimport –db test –collection restaurants –file /tmp/primer-dataset.json

$ mongo

El shell selecciona la base de datos de prueba por defecto, que es donde importamos nuestros datos. Consulte la colección de restaurantes con el método find () para mostrar una lista de todos los restaurantes en el conjunto de datos. Como la colección contiene más de 25,000 entradas, use el método de límite opcional () para reducir el resultado de la consulta a un número específico. Además, el método pretty () hace que la información sea más legible por humanos con nuevas líneas e indentaciones.

> db.restaurants.find().limit( 1 ).pretty()

Puede seguir usando el conjunto de datos de muestra para familiarizarse con MongoDB o eliminarlo con el método:

db.restaurants.drop ():

PorErik Guerrero V.

Instalar Go en Centos 7

Instalación

$ cd /tmp
$ curl -LO https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
$ shasum -a 256 go1.7*.tar.gz

Nota: En caso no reconiciera el comando shasum, ejecutar el siguiente comando:

$ yum install perl-Digest-SHA -y

Salida:
d70eadefce8e160638a9a6db97f7192d8463069ab33138893ad3bf31b0650a79 go1.9.linux-amd64.tar.gz

$ sudo tar -C /usr/local -xvzf go1.7.linux-amd64.tar.gz
$ mkdir -p ~/projects/{bin,pkg,src}
$ sudo nano /etc/profile.d/path.sh

Agregar:
export PATH=$PATH:/usr/local/go/bin

$ nano ~/.bash_profile
Agregar:
export GOBIN=$HOME/projects/bin
export GOPATH=$HOME/projects/src

$ source /etc/profile && source ~/.bash_profile

Probando

$ nano ~/projects/src/hello.go

Agregar:
package main
import “fmt”
func main() {
fmt.Printf(“Hello, World!\n”)
}

$ go install $GOPATH/hello.go
$ $GOBIN/hello

Salida:

Hello, World!

PorErik Guerrero V.

Descargar una Página Web Completa con Linux (desde la terminal)

Si alguna vez necesita descargar un sitio web completo, quizás para verlo fuera de línea, wget puede hacer
trabajo, por ejemplo:

$ wget \
     --recursive \
     --no-clobber \
     --page-requisites \
     --html-extension \
     --convert-links \
     --restrict-file-names=windows \
     --domains website.org \
     --no-parent \
         www.web.org/tutorials/html/

Las opciones son:

--recursive: descargar todo el sitio web.

--domains website.org: no sigas enlaces fuera de website.org.

--no-parent: no seguir enlaces fuera del directorio tutorials / html /.

--page-requisites: obtiene todos los elementos que componen la página (imágenes, CSS, etc.).

--html-extension: guarda archivos con la extensión .html.

--convert-links: convierte enlaces para que funcionen localmente, fuera de línea.

--restrict-file-names = windows: modifique los nombres de los archivos para que también funcionen en Windows.

--no-clobber: no sobrescribir ningún archivo existente (utilizado en caso de que la descarga se interrumpa y
reanudado).

Aplicación:

$ cd ~/Descargas
$ mkdir web
$ cd web
$ wget --recursive www.web.org/tutorials/html/

Y eso sería todo.



 
PorErik Guerrero V.

SUBIR NUESTRO PROYECTO EN GIT CON BITBUCKET

Para subir nuestro proyecto en git con BitBucket, podemos seguir los siguientes pasos sin complicarnos la vida de la forma más simple.

Nota: Para eliminar los archivos .git de un proyecto (local)
$ rm -rf .git

1.-Creamos el repositorio GIT (local)

$ git init

//creamos .gitignore

$ nano .gitignore

Agregamos:
*.pdf
*.sql

$ git status //ver el estado de los archivos deberia de mostrar que los archivos aun faltan agregar

$ git add -A //Agregar todo los archivos

$ git commit -m “Inicializacion de versionamiento del nuevo repositorio”

$ git status
# On branch master
nothing to commit (working directory clean)
2.-Enlazamos el git remoto de bitbucket (Remoto)

$ git remote add origin https://<MI_USUARIO>@bitbucket.org/<MI_PROYECTO>/<REPOSITORIO>.git

$ git remote -v //Podremos ver las url a donde están apuntando

$ cat .git/config //Otra forma de ver la configuración

Nota: si deseamos eliminar el origen (origin remote url), ejecutamos:

$ git remote rm origin

(y continuamos desde el inicio del paso 2 si es que hemos optado por eliminar y querer volver a especificar el origen) 

Subimos los archivos al git remote

$ git push -u origin master

3.-Subiendo un cambio de local a remoto

Primero guardamos los cambios en local

$ git status
$ git add -A
$ git commit -m “se guarda los cambios”
$ git status

4.- Subimos los cambios al bitbucket

$ git push origin master

5.-Bajando los cambios (otro usuario)

$ git pull origin master

6.-Bajando los cambios (todos los branch’s)

$ git pull

7.-Eliminar branch en el repositorio remoto

$ git push –delete  origin <branch_name>

PorErik Guerrero V.

Centos 7: Instalar y/o Conectarse Por VPN con VPN FortiClient / Crear Bash de conexión

Cuando un usuario necesita trabajar desde un lugar diferente a la oficina principal y requiere acceder a los recursos de la compañía es decir servidores, máquinas virtuales o archivos de compartidos, es necesario que el usuario cuente con un recurso que le permita acceder a la compañía de manera virtual, para ello podemos usar VPN FortiClient de la siguiente manera:

ANTES INSTALAR

$ sudo yum install xterm glibc.i686 libgcc.i686 libstdc++.i686 glibc-devel.i686 gtk2.i686 libSM.i686

LUEGO DESCARGAR

https://www.zen.co.uk/yourhome/site-content/1/knowledgebasedownloads/forticlientsslvpn_linux_4.4.2331.tar.gz

EJECUTAR

$ cd ~/Descargas
$ tar -xzf forticlientsslvpn_linux_4.4.2331.tar.gz
$ cd forticlientsslvpn/64bit/
$ sudo ./forticlientsslvpn

Click en [Aceptar]

Luego nos conectamos con la siguiente linea
$ ./forticlientsslvpn_cli –server EMPRESA_VPN_IP:EMPRESA_VPN_PORT –vpnuser EMPRESA_VPN_USUARIO
Password: EMPRESA_VPN_PASSWORD

=================================================
Nota: podemos crear el siguiente bash de conexion
=================================================

$ sudo nano connvpn.sh

——————————————————————————-
#!/usr/bin/expect
spawn ./forticlientsslvpn_cli –serverEMPRESA_VPN_IP:EMPRESA_VPN_PORT –vpnuserEMPRESA_VPN_USUARIO
expect “Password for VPN:”
send “EMPRESA_VPN_PASSWORD\r”
expect “*(Y/N)”
send “Y\r”
interact

——————————————————————————-

Luego:

$ sudo chmod +x connvpn.sh
$./connvpn.sh

Si hemos seguido los pasos correctamente, ya podremos conectarnos a una vpn.