Instalar SQL Server 2017 en Linux Mint 18.3 y distribuciones basadas en Ubuntu

Dado que últimamente he estado utilizando SQL Server como manejador de base de datos y ya que ando retomando temas de Linux, decidí hacer este post para recordar cómo instalarlo configurarlo.

Esta instalación de SQL Server 2017 la realicé en Linux Mint 18.3 pero debe de funcionar en distribuciones basadas en Ubuntu.

Recuerden tener por lo menso 20GB de espacio en su disco duro.

Para comenzar nos convertiremos en usuario root.

javoaxian@vboxlinuxmintjx $ sudo su -

Lo siguiente que haremos ser importar las claves GPG del repositorio que contiene los paquetes para la instalación.

root@vboxlinuxmintjx $ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

Ahora agregamos el repositorio de SQL Server en nuestra lista de repositorios.

root@vboxlinuxmintjx $ add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

Agregado el repositorio, actualizaremos la lista de paquetes:

root@vboxlinuxmintjx $ apt-get update

Ahora vamos a instalar el paquete mssql-server.

root@vboxlinuxmintjx $ apt-get install -y mssql-server

Finalizada la instalación del paquete, ahora ejecutaremos el siguiente comando para instalar el servidor además que es donde se configurará la versión del servidor.

root@vboxlinuxmintjx $ /opt/mssql/bin/mssql-conf setup

Al ejecutar el comando anterior se nos pedirá la edición del servidor que deseamos elegir, en mi caso seleccioné la 2) Developer:

Locale es_MX not supported. Using en_US.
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.


Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.
Enter your edition(1-8): 2

Se nos pedirá si deseamos aceptar los términos y presionamos “Y”.

The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010

Do you accept the license terms? [Yes/No]: Y

Se nos pedirá el lenguaje del servidor, aquí seleccioné la opción 3 que es Español.

Choose the language for SQL Server:
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Русский
(10) 中文 – 简体
(11) 中文 (繁体)
Enter Option 1-11: 3

Ahora ingresaremos la contraseña del usuario SA.

Enter the SQL Server system administrator password:

Confirmamos la contraseña:

Enter the SQL Server system administrator password:

Con esto se finaliza la instalación del servidor, lo cual nos arroja este mensaje:

Configuring SQL Server...

Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

Ahora podemos comprobar que el servicio está corriendo ejecutando el siguiente comando:

root@vboxlinuxmintjx $ systemctl status mssql-server

Nos devolverá una salida similar a la siguiente y para salir de ella presionamos la letra “Q”:

● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor pre
Active: active (running) since jue 2018-01-11 23:58:33 CST; 1min 47s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 3994 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─3994 /opt/mssql/bin/sqlservr
└─4014 /opt/mssql/bin/sqlservr


ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [88B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [75B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [108B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [96B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [112B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [100B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [86B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [71B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [159B blob data]
ene 11 23:58:43 vboxlinuxmintjx sqlservr[3994]: [124B blob data]

A continuación lo que tendremos que instalar son las herramientas que nos permitirán conectarnos y manipular las bases de datos.

Empezaremos por importar las clave GPG:

root@vboxlinuxmintjx $ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

Ahora agregamos el repositorio a lista de repositorios.

root@vboxlinuxmintjx $ add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"

Actualizamos la lista de paquetes.

root@vboxlinuxmintjx $ apt-get update

Instalamos las herramientas.

root@vboxlinuxmintjx $ apt-get install -y mssql-tools unixodbc-dev

Se nos preguntará si deseamos aceptar los términos de las licencias de las herramientas mssql-tools y msodbcsql y presionamos sobre <Si>.

jx_post_1010_01 jx_post_1010_02

En mi caso me gusta agregar la ruta de las herramientas en el PATH de todos los usuarios, para ello hay que editar el archivo como usuario root:

/etc/profile

y agregamos las siguientes líneas:

export MSSQLTOOLS=/opt/mssql-tools/bin
export PATH=$PATH:$MSSQLTOOLS

Con esto se finaliza la instalación del servidor.

 

Telegram: cliente de mensajería instantánea

Telegram es un cliente de mensajería instantánea para móviles, similar a Whatsapp, Kik y otra más que existen.

Esta disponible para varias plataformas móviles y de escritorio en sus respectivas tiendas y repositorios. Además también tiene su versión web.

Aquí dejo el enlace para poder descargarla para diferentes sistemas operativos de escritorio.

 

Git-cola: cliente para Git

Git-cola es un cliente para administrar los cambios de nuestros proyectos con Git. Los he empezado a usar y esta muy simple a comparación de otros que he probado y quizá algo limitado visualmente a mi gusto, pero realmente lo veo funcional y en algunos proyectos lo estoy usando y me ha funcionado bien.

Sitio: https://git-cola.github.io/

Descarga: https://git-cola.github.io/downloads.html

Gratuito: Sí.

Configurar VPN Cisco con archivo PCF en Linux Mint

Dado que en la oficina se configuró una VPN para poder acceder a los servidores en los que desarrollamos, decidí configurar todo el ambiente de desarrollo que usamos en una laptop con Linux Mint y por ende configurar la VPN la cual es Cisco.

Para iniciar la configuración debemos instalar los siguientes paquetes:

javoaxian@vboxlinuxmintjx ~ $ sudo apt-get install network-manager-vpnc network-manager-vpnc-gnome

Ahora procederemos a configurar la VPN. Para ellos abrimos las Preferencias de red.

jx_post_976_01

Presionamos en el signo de “+”.

jx_post_976_02

Se abrirá la pantalla para agregar una VPN y presionamos sobre la opción Import from file….

jx_post_976_03

Se nos pedirá que seleccionemos el archivo PCF.

jx_post_976_04

Nos colocará la configuración de la VPN, como la “Pasarela, Nombre de usuario, Nombre del grupo, Contraseña del grupo”; aunque el “Nombre de usuario” deberemos cambiarlo al que nos proporcionaron para conectarnos. Si queremos también podemos cambiar el “Nombre” de la conexión como en mi caso que le puse “VPN Mi Trabajo”. El único dato que no podemos ingresar el la “Contraseña de usuario”, ya que esta se nos pide cada vez que queremos conectarnos a la VPN.

jx_post_976_05

Configurado los datos, presionamos en Add y se agregará la conexión para poder utilizarla.

jx_post_976_06

Ahora ya sea que desde esa interfaz activemos la conexión a la VPN o en la opción de conexiones del menú presionando sobre el nombre de nuestra configuración de la VPN.

jx_post_976_07

Una vez que presionemos sobre la configuración, se nos pedirá que ingresemos la “Contraseña de usuario” y la “Contraseña del grupo” (aunque esta última ya viene configurada sin mostrarse).

jx_post_976_08

Ya que ingresamos la contraseña, presionamos en el botón Aceptar y se nos mostrará una notificación indicando que se ha establecido la conexión.

jx_post_976_09

Y si revisamos las conexiones, podremos observar que ya nos encontramos conectados a la VPN.

jx_post_976_10

 

Whatsapp Desktop: cliente de WhatsApp para Linux Mint (GNU/Linux)

Whatsapp Desktop es un cliente para escritorio de GNU/Linux, el cuál se parece mucho la versión que existe para Mac OS X. Ahora con esto ya se pueden consultar los mensajes que nos llegan a través de la interfaz de nuestra computadora.

Cabe mencionar que no es una aplicación oficial de la empresa que hace dicha aplicación.

Esta aplicación se puede instalar desde el repositorio de Linux Mint, o demás distribuciones basadas en Ubuntu y posiblemente de Debian buscando el paquete como whatsapp-desktop.

Sitio: https://github.com/Enrico204/Whatsapp-Desktop/releases

Descarga: https://github.com/Enrico204/Whatsapp-Desktop/releases

Gratuito: Sí

Captura de pantalla:

jx_post_941_01

Mailspring: cliente de correo electrónico

Mailspring es un cliente de correo electrónico que se asemeja mucho al cliente de Mac OS X Mail. Apenas estoy empezando aprobarlo pero me ha gustado mucho la pinta que tiene, he probado otros clientes como Thunderbird y Evolution, pero hasta ahorita creo que me estoy inclinando más a usar este cliente de correo electrónico.

Sitio: https://getmailspring.com

Descarga: https://getmailspring.com/download

Gratuito: Sí

Captura de pantalla:

jx_post_937_01

Arrancar BIOS en una Sony Vaio SVF142C29U

jx_post_927_01

Resulta que trataba de entrar de la manera tradicional al BIOS de esta Sony Vaio SVF142C29U, con F1, F2, F12 y demás combinaciones y ninguna funcionaba, y después ví que se tenía que presionar la tecla “ASSIST” que tiene, pero el único detalle es que la presionaba justo cuando aparecía el logo de Vaio y nunca entraba, la cuestión más importante aquí, es que DEBE ESTAR APAGADA LA LAPTOP y presionar el botón de “ASSIST”, el cuál mostrará la pantalla:

VAIO Care (Modo Rescate)

y ahora sólo seleccionamos la opción:

Iniciar configuración del BIOS

y con esto se mostrará el BIOS.

Recordar tener apagada la laptop y presionar el botón ASSIST

Kali Cinnamon habilitar click haciendo tap con el touch pad

Al instalar Kali Cinnamon me encontré que al intentar hacer click con el tap del touch pad, no lo permitía, por lo que tuve que realizar lo siguiente:

 

Abrimos la configuración presionando en el ícono que tiene un desarmador y una llave.

jx_post_907_01

Presionamos la opción Mouse & Touch.

jx_post_907_02

Dentro de la sección Touch Pad, habilitamos la opción Tap to Click.

jx_post_907_03

Con esto ya se podrá hacer click haciendo tap en nuestro touch pad.

 

 

Mostrar y ocultar archivos ocultos en Mac OS X

Si se necesita mostrar u ocultar los archivos ocultos los cuales comienzan con un “.” al principio de estos, lo pueden realizar de la siguiente manera.

Abriremos una terminal, la cual se encuentra en:

/Applications/Utilities/Terminal

Si se tiene en español la ruta es:

/Aplicaciones/Utilidades/Terminal

Ahora en la terminal ingresamos el siguiente comando para indicarle al Finder que muestre los archivos ocultos:
macosx-jx-mini:~ javoaxian$ defaults write com.apple.finder AppleShowAllFiles YES

Hecho lo anterior, ejecutaremos el siguiente comando para reiniciar el Finder:
macosx-jx-mini:~ javoaxian$ killall Finder

Listo, con esto ya podremos ver los archivos ocultos.

jx_post_898_01

Si quisiéramos regresar a ocultarlos, basta con ejecutar lo siguiente:
macosx-jx-mini:~ javoaxian$ defaults write com.apple.finder AppleShowAllFiles NO

Y con esto quedará como lo tenemos habitualmente.

 

Duet Display: usar un iPad o iPhone como segundo monitor de una computadora

No hace mucho me encontré con esta app, la cual me resultó interesante sobre todo para aquellos que como yo, les gusta usar más de un monitor conectado a la computadora.

Justo Duet Display nos permite realizar esta acción. Cabe mencionar que la app que se utiliza en el iPad o iPhone es de paga pero la verdad en este caso ha valido la pena la compra, tiene sus detalles pero en general me ha estado funcionando bastante bien.

Para que se pueda utilizar se tiene que bajar Duet Display de App Store. Posteriormente hay que descargar la aplicación para nuestra computadora de escritorio o laptop con Mac OS X o Windows.

Una vez instaladas las aplicaciones en los equipos correspondientes, bastará con conectar el iPad o iPhone a la computadora por medio de su cable y abrir la app en nuestro dispositivo móvil. Y listo, con esto podremos disfrutar de un mini segundo monitor.

Sitio: http://www.duetdisplay.com/

Descarga para móvil: https://itunes.apple.com/mx/app/duet-display/id935754064?mt=8

Descarga para computadora: http://www.duetdisplay.com/

Aquí dejo un video: https://www.youtube.com/watch?v=CCcCOnw2-zk


PhpStorm: IDE de desarrollo para programar en PHP

PhpStorm es un interesante IDE de desarrollo para PHP el cual he empezado a utilizar. Desde hace mucho utilizo a Eclipse como IDE, pero decidí probar esta alternativa debido a que desarrollando en Android y hacer el paso de Eclipse a Android Studio noté varias cosas que me agradaron.

Encontré que debido a que estaba basado en IntelliJ la misma empresa tiene varios IDE’s para desarrollar, entre ellos PhpStorm. Estoy trabajando un proyecto junto con Yii2 y va bastante bien. Seguramente estaré publicando algunas cosas más de este IDE.

Sitio: https://www.jetbrains.com/phpstorm/

Descarga: https://www.jetbrains.com/phpstorm/download/

Gratuito: No.

Captura de pantalla:


jx_post_871_02

Folx: Gestor de descargas para Mac OS X

Folx es una herramienta para el sistema operativo Mac OS X que nos ayuda con los archivos que deseamos descargar desde internet.

Apenas lo empecé a usar como alternativa a uGet de GNU/Linux y hasta este momento me ha funcionado bastante bien, espero que siga de esa manera.

Sitio: http://mac.eltima.com/es/download-manager.html

Descarga: http://mac.eltima.com/es/download-manager.html

Gratuito: Si.

Aquí dejo una captura de pantalla.

jx_post_866_02

GitKraken: cliente para Git

GitKraken es un cliente para administrar nuestros cambios de nuestros proyectos con Git. Últimamente lo he empezado a usar bastante con GNU/Linux y me ha dejado muy buen sabor de boca, aún no se le compara al 100% a SourceTree que lo he usado ya bastante tiempo en Mac OS X.

Esta en constante actualización debido a que todavía está en versión Beta.

Esta disponible para su descarga en GNU/Linux, Mac OS X y Windows.

 

La liga para su descarga es:

Sitio: http://www.gitkraken.com

Descarga: http://www.gitkraken.com/download

Gratuito: Si y versión Pro de paga.

Aquí dejo una captura de pantalla de este cliente.


jx_post_857_02

Habilitar modo hibernación (hibernate) en Macbook Air con GNU/Linux

Al haber instalado Ubuntu en una Macbook Air, quise aprovechar una de las características que uso mucho al tener una computadora de estas características, que es el simplemente ponerla en modo de hibernación (hibernate). Para lograr esto con Ubuntu, realizé lo siguiente:

Instalar:

powernap

Para ello me convertí en root y ejecuté lo siguiente:
root@macbookairubuntu:~# apt-get install powernap
lo cuál nos muestra la siguiente salida:

root@macbookairubuntu:~# apt-get install powernap
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
ethtool libx86-1 pm-utils powernap-common vbetool
Suggested packages:
cpufrequtils radeontool
The following NEW packages will be installed:
ethtool libx86-1 pm-utils powernap powernap-common vbetool
0 upgraded, 6 newly installed, 0 to remove and 427 not upgraded.
Need to get 269 kB of archives.
After this operation, 1 285 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Ahora podemos ejecutar el siguiente comando como root para poner en modo de hibernación la computadora.

root@macbookairubuntu:~# pm-hibernate

Esto pondrá la Macbook Air en modo de hibernación con nuestro GNU/Linux.

uGet gestor de descargas para GNU/Linux

jx_post_833_01

Supongo que como yo, a muchos les ha pasado que al descargar un archivo, se corta la conexión, se va la luz o por cualquier cosa, ya no pueden descargar un archivo el cual está pesado y ya llevaba un porcentaje avanzado de la descarga y se perdió por completo. Para eso han salido aplicaciones que permiten iniciar una descarga y detenerla y posteriormente seguirla descargando sin que perdamos el avance de descarga. Esta es la función que hace uGet.

 

uGet es un gestor de descargas para GNU/Linux el cual se puede instalar de la siguiente manera en distribuciones basadas en Debian.

 

Primero nos convertimos en root o usamos el comando sudo, como nos sea más fácil. En mi caso me convertiré en root e instalaré uGet.


javoaxian@macbookairubuntu:~$ su -

Ya como root instalamos uGet:
root@macbookairubuntu:~# apt-get install uget

Con esto quedará instalado y podremos usarlo.

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
uget
0 upgraded, 1 newly installed, 0 to remove and 453 not upgraded.
Need to get 225 kB of archives.
After this operation, 1 037 kB of additional disk space will be used.
Get:1 http://mx.archive.ubuntu.com/ubuntu/ trusty/universe uget amd64 1.10.4-1ubuntu1 [225 kB]
Fetched 225 kB in 1s (153 kB/s)
Selecting previously unselected package uget.
(Reading database ... 151944 files and directories currently installed.)
Preparing to unpack .../uget_1.10.4-1ubuntu1_amd64.deb ...
Unpacking uget (1.10.4-1ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up uget (1.10.4-1ubuntu1) ...

mount: wrong fs type, bad option, bad superblock on /dev/sda hfsplus

Intentando montar mi disco duro de Mac OS X me encuentro con la siguiente pantalla:

jx_post_827_01

Intenté montarlo desde línea de comandos y me salió el siguiente mensaje:
mount: wrong fs type, bad option, bad superblock on /dev/sda2,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

 

por lo que tuve que hacer lo siguiente para poder montar la partición.

Instalé el siguiente paquete:

hfsplus

de la siguiente manera:
root@macbookairubuntu:~# apt-get install hfsplus

con esto me permite montar la partición.