Monday, September 17, 2018

How To Install OpenCV In Ubuntu Linux

How To Install OpenCV In Ubuntu Linux



Today, I'm going to show you how to install OpenCV in Ubuntu Linux (I'm using Ubuntu 18.04 for this tutorial)

First Download OpenCV and opencv_contrib

git clone https://github.com/opencv/opencv.git --depth=1

and

git clone https://github.com/opencv/opencv_contrib.git --depth=1

After completing the download extract the zip files and navigate to opencv directory

Then, create the directory named build inside the opencv directory and navigate to that newly created one..

cd opencv && mkdir build && cd build

Now run the cmake command from build directory...

cmake ../

It will take some time.. Please be patient... :)
At this time the output will look like this...

root@10a4bdccb67a:~/opencv/build# cmake ../ -- The CXX compiler identification is GNU 7.3.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "2.7") -- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "2.6") -- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "3.4") -- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version "3.2") -- Looking for ccache - not found -- Performing Test HAVE_CXX_FSIGNED_CHAR -- Performing Test HAVE_CXX_FSIGNED_CHAR - Success -- Performing Test HAVE_C_FSIGNED_CHAR -- Performing Test HAVE_C_FSIGNED_CHAR - Success -- Performing Test HAVE_CXX_W -- Performing Test HAVE_CXX_W - Success -- Performing Test HAVE_C_W -- Performing Test HAVE_C_W - Success -- Performing Test HAVE_CXX_WALL -- Performing Test HAVE_CXX_WALL - Success -- Performing Test HAVE_C_WALL -- Performing Test HAVE_C_WALL - Success ......

Then run the make command..

make

The above commands output will looks like..

[ 0%] Generate opencv.pc [ 0%] Built target gen-pkgconfig Scanning dependencies of target zlib [ 0%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/adler32.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/compress.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/crc32.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/deflate.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzclose.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzlib.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzread.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/gzwrite.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inflate.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/infback.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inftrees.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/inffast.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/trees.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/uncompr.c.o [ 1%] Building C object 3rdparty/zlib/CMakeFiles/zlib.dir/zutil.c.o [ 2%] Linking C static library ../lib/libzlib.a [ 2%] Built target zlib Scanning dependencies of target libjpeg-turbo [ 2%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcapimin.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcapistd.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jccoefct.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jccolor.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcdctmgr.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jchuff.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcinit.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcmainct.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcmarker.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcmaster.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcomapi.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcparam.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcphuff.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcprepct.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jcsample.c.o [ 3%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jctrans.c.o [ 4%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jdapimin.c.o [ 4%] Building C object 3rdparty/libjpeg-turbo/CMakeFiles/libjpeg-turbo.dir/src/jdapistd.c.o ..... [100%] Linking CXX executable ../../bin/opencv_annotation [100%] Built target opencv_annotation Scanning dependencies of target opencv_visualisation [100%] Building CXX object apps/visualisation/CMakeFiles/opencv_visualisation.dir/opencv_visualisation.cpp.o [100%] Linking CXX executable ../../bin/opencv_visualisation [100%] Built target opencv_visualisation Scanning dependencies of target opencv_interactive-calibration [100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/calibController.cpp.o [100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/calibPipeline.cpp.o [100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/frameProcessor.cpp.o [100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/main.cpp.o [100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/parametersController.cpp.o [100%] Building CXX object apps/interactive-calibration/CMakeFiles/opencv_interactive-calibration.dir/rotationConverters.cpp.o [100%] Linking CXX executable ../../bin/opencv_interactive-calibration [100%] Built target opencv_interactive-calibration Scanning dependencies of target opencv_version [100%] Building CXX object apps/version/CMakeFiles/opencv_version.dir/opencv_version.cpp.o [100%] Linking CXX executable ../../bin/opencv_version [100%] Built target opencv_version

After this.. run make install with sudo..

sudo make install

The output will look like below one..

root@10a4bdccb67a:~/opencv/build# make install [ 0%] Built target gen-pkgconfig [ 2%] Built target zlib [ 6%] Built target libjpeg-turbo [ 9%] Built target libtiff [ 17%] Built target libwebp [ 19%] Built target libjasper [ 20%] Built target libpng [ 25%] Built target IlmImf [ 27%] Built target ippiw [ 32%] Built target libprotobuf [ 32%] Built target ittnotify [ 32%] Built target opencv_test_core_pch_dephelp [ 32%] Built target opencv_core_pch_dephelp [ 32%] Built target opencv_ts_pch_dephelp [ 32%] Built target pch_Generate_opencv_ts [ 32%] Built target pch_Generate_opencv_core [ 38%] Built target opencv_core [ 39%] Built target opencv_imgproc_pch_dephelp [ 39%] Built target pch_Generate_opencv_imgproc [ 43%] Built target opencv_imgproc [ 43%] Built target opencv_imgcodecs_pch_dephelp [ 43%] Built target pch_Generate_opencv_imgcodecs [ 45%] Built target opencv_imgcodecs [ 45%] Built target opencv_videoio_pch_dephelp [ 45%] Built target pch_Generate_opencv_videoio [ 46%] Built target opencv_videoio [ 46%] Built target opencv_highgui_pch_dephelp [ 46%] Built target pch_Generate_opencv_highgui [ 46%] Built target opencv_highgui [ 47%] Built target opencv_ts [ 47%] Built target pch_Generate_opencv_test_core [ 49%] Built target opencv_test_core ...... -- Installing: /usr/local/share/OpenCV/haarcascades/haarcascade_licence_plate_rus_16stages.xml -- Installing: /usr/local/share/OpenCV/haarcascades/haarcascade_lowerbody.xml -- Installing: /usr/local/share/OpenCV/haarcascades/haarcascade_profileface.xml -- Installing: /usr/local/share/OpenCV/haarcascades/haarcascade_righteye_2splits.xml -- Installing: /usr/local/share/OpenCV/haarcascades/haarcascade_russian_plate_number.xml -- Installing: /usr/local/share/OpenCV/haarcascades/haarcascade_smile.xml -- Installing: /usr/local/share/OpenCV/haarcascades/haarcascade_upperbody.xml -- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_frontalcatface.xml -- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_frontalface.xml -- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_frontalface_improved.xml -- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_profileface.xml -- Installing: /usr/local/share/OpenCV/lbpcascades/lbpcascade_silverware.xml -- Installing: /usr/local/bin/opencv_traincascade -- Installing: /usr/local/bin/opencv_createsamples -- Installing: /usr/local/bin/opencv_annotation -- Installing: /usr/local/bin/opencv_visualisation -- Installing: /usr/local/bin/opencv_interactive-calibration -- Installing: /usr/local/bin/opencv_version root@10a4bdccb67a:~/opencv/build#

One more step.. just link and cache the required files with following commands

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' sudo ldconfig

Now you can check the installation by running below command.. it will print out the version of opencv in stdout

pkg-config --modversion opencv

Here's the small shell script to automate the process... :)

That's it for now.. If you like.. don't forget to share it guys.. You can follow us on fb.com/opensourceinside and also subscribe our channel on Youtube..


Saturday, September 15, 2018

Getting Started With RabbitMQ in 10 Minutes (On Ubuntu)

Getting Started With RabbitMQ in 10 Minutes



RabbitMQ is one of the most popular opensource message broker/Queuing engine available in the market.. It has been used as communication(Message Oriented) bridge in many software architectures.. Communication between Microservices is one of the obvious use case where we can use MQ to make things simple .. RabbitMQ makes communication between services easy with it's simple messaging system.. Rabbit MQ supports multiple protocols like AMQP

In one of our projects, We've used it to delegate the heavy processing things to worker process written in python form single threaded NodeJs process.. thus it makes easy to scale our services and opened the doors to polyglot architecture for our services... we enjoyed it a lot.. So I thought to write a simple article which will help people to get start with RabbitMQ in 10 minutes..

Installing RabbitMQ (In Ubuntu based systems)

First update source-list and add signing key

sudo apt update wget -O - 'https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc' | sudo apt-key add -

Now add repository to source list

echo "deb https://dl.bintray.com/rabbitmq/debian $(lsb_release -cs) main erlang" | sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list

Now update the source list and install the RabbitMQ ....

sudo apt update sudo apt install rabbitmq-server -y

The server is started as a daemon by default when the RabbitMQ is installed.

Verify the installation.. with the following command...

sudo systemctl status rabbitmq-server.service
shivaraj@shivaraj-Aspire-A315-21:~$ sudo systemctl status rabbitmq-server.service [sudo] password for shivaraj: ● rabbitmq-server.service - RabbitMQ broker Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-09-15 15:25:31 IST; 1h 29min ago Main PID: 1217 (beam.smp) Status: "Initialized" Tasks: 86 (limit: 4486) CGroup: /system.slice/rabbitmq-server.service ├─1217 /usr/lib/erlang/erts-9.2/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 1280000 -K true -- -root /usr/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- -p ├─1333 /usr/lib/erlang/erts-9.2/bin/epmd -daemon ├─1572 erl_child_setup 1024 ├─1624 inet_gethost 4 └─1625 inet_gethost 4 Sep 15 15:25:26 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: ## ## Sep 15 15:25:26 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: ## ## RabbitMQ 3.7.7. Copyright (C) 2007-2018 Pivotal Software, Inc. Sep 15 15:25:26 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: ########## Licensed under the MPL. See http://www.rabbitmq.com/ Sep 15 15:25:26 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: ###### ## Sep 15 15:25:26 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: ########## Logs: /var/log/rabbitmq/rabbit@shivaraj-Aspire-A315-21.log Sep 15 15:25:26 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: /var/log/rabbitmq/rabbit@shivaraj-Aspire-A315-21_upgrade.log Sep 15 15:25:26 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: Starting broker... Sep 15 15:25:31 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: systemd unit for activation check: "rabbitmq-server.service" Sep 15 15:25:31 shivaraj-Aspire-A315-21 systemd[1]: Started RabbitMQ broker. Sep 15 15:25:32 shivaraj-Aspire-A315-21 rabbitmq-server[1217]: completed with 3 plugins. shivaraj@shivaraj-Aspire-A315-21:~$

And also I'll show you small how to with NodeJS and RabbitMQ.. for this you need to have Node installed in your system.. If you haven't installed NodeJs you can check the instructions here..

First you need to install amqplib.. it's RabbitMQ client for NodeJs..

npm install amqplib

Then create two files named.. sender.js and receiver.js

Now you can run the receiver.js and and publisher.js and you can see the output like one shown below...

node sender.js
shivaraj@shivaraj-Aspire-A315-21:~/mqtest$ node sender.js Connected Published New Task Published New Task Published New Task
node receiver.js
shivaraj@shivaraj-Aspire-A315-21:~/mqtest$ node receiver.js Connected Do Something.... Do Something.... Do Something.... Do Something.... Do Something....

If you want to use it with other languages.. please check official guide.. https://www.rabbitmq.com/getstarted.html

That's it for now.. If you like.. don't forget to share it guys.. You can follow us on fb.com/opensourceinside and also subscribe our channel on Youtube..


Friday, August 31, 2018

How TO Install Docker On Ubuntu 18.04/16.04

How To Install Docker In Ubuntu Linux 14.04, 16.04 And 18.04



I'm going to show you how to install and run Docker in Ubuntu Linux

First update source-list

sudo apt update

Install required dependencies..

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Then.. Add docker's official GPG key with following command..

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

The above commands output will looks like..

shivaraj@shivaraj-Aspire-A315-21:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK shivaraj@shivaraj-Aspire-A315-21:~$

Now add Docker Community Edition's repository to list..

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
shivaraj@shivaraj-Aspire-A315-21:~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease Hit:2 http://packages.microsoft.com/repos/vscode stable InRelease Ign:3 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 InRelease Get:4 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB] Hit:5 http://dl.google.com/linux/chrome/deb stable Release Hit:6 http://in.archive.ubuntu.com/ubuntu bionic InRelease Hit:7 https://deb.opera.com/opera-stable stable InRelease Get:8 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB] Get:9 http://in.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Hit:10 http://archive.canonical.com/ubuntu bionic InRelease Hit:11 http://linux.teamviewer.com/deb stable InRelease Hit:12 http://linux.teamviewer.com/deb preview InRelease Hit:13 https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 Release Hit:15 https://repo.skype.com/deb stable InRelease Get:16 http://in.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:17 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages [1,708 B] Hit:18 https://download.sublimetext.com apt/stable/ InRelease Fetched 313 kB in 2s (128 kB/s) Reading package lists... Done shivaraj@shivaraj-Aspire-A315-21:~$

Now update the package index once again..

sudo apt update

Now Install the docker..

sudo apt install docker-ce
shivaraj@shivaraj-Aspire-A315-21:~$ sudo apt install docker-ce Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: aufs-tools cgroupfs-mount pigz The following NEW packages will be installed: aufs-tools cgroupfs-mount docker-ce pigz 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 40.4 MB of archives. After this operation, 198 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 https://download.docker.com/linux/ubuntu bionic/stable amd64 docker-ce amd64 18.06.1~ce~3-0~ubuntu [40.2 MB] Get:2 http://in.archive.ubuntu.com/ubuntu bionic/universe amd64 pigz amd64 2.4-1 [57.4 kB] Get:3 http://in.archive.ubuntu.com/ubuntu bionic/universe amd64 aufs-tools amd64 1:4.9+20170918-1ubuntu1 [104 kB] Get:4 http://in.archive.ubuntu.com/ubuntu bionic/universe amd64 cgroupfs-mount all 1.4 [6,320 B] Fetched 40.4 MB in 12s (3,510 kB/s) Selecting previously unselected package pigz. (Reading database ... 273749 files and directories currently installed.) Preparing to unpack .../archives/pigz_2.4-1_amd64.deb ... Unpacking pigz (2.4-1) ... Selecting previously unselected package aufs-tools. Preparing to unpack .../aufs-tools_1%3a4.9+20170918-1ubuntu1_amd64.deb ... Unpacking aufs-tools (1:4.9+20170918-1ubuntu1) ... Selecting previously unselected package cgroupfs-mount. Preparing to unpack .../cgroupfs-mount_1.4_all.deb ... Unpacking cgroupfs-mount (1.4) ... Selecting previously unselected package docker-ce. Preparing to unpack .../docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb ... Unpacking docker-ce (18.06.1~ce~3-0~ubuntu) ... Setting up aufs-tools (1:4.9+20170918-1ubuntu1) ... Setting up docker-ce (18.06.1~ce~3-0~ubuntu) ... Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service. Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket. Processing triggers for ureadahead (0.100.0-20) ... ureadahead will be reprofiled on next reboot Setting up cgroupfs-mount (1.4) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... Processing triggers for systemd (237-3ubuntu10.3) ... Processing triggers for man-db (2.8.3-2) ... Setting up pigz (2.4-1) ... Processing triggers for ureadahead (0.100.0-20) ... shivaraj@shivaraj-Aspire-A315-21:~$

The Docker daemon starts automatically.

Verify the installation.. with the following command...

sudo docker run hello-world
shivaraj@shivaraj-Aspire-A315-21:~$ sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9db2ca6ccae0: Pull complete Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide/ shivaraj@shivaraj-Aspire-A315-21:~$

Here is the video version of above tutorial..

That's it for now.. If you like.. don't forget to share it guys.. You can follow us on fb.com/opensourceinside and also subscribe our channel on Youtube..


Saturday, June 30, 2018

Installing Multiple Versions Of NodeJs Versions On Your Linux System

Installing Multiple Versions Of NodeJs Versions On Your Linux System



Today, I'm going to show you how to install and manage multiple versions of NodeJs on your linux system.

We are going to use NVM to install and manage multiple versions of NodeJs on same system. So we need to install NVM first.. To install it just copy paste the below command.

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

The above script will download and install NVM on your Linux box.. Now run the below command to activate it in current terminal session or just close and open your current terminal session.

source ~/.bashrc

Now just check the NVM installation with following command..

nvm --version

It should print version like one shown below..

shivaraj@shivaraj-A14RM0E:~/articles-now$ nvm --version 0.33.8 shivaraj@shivaraj-A14RM0E:~/articles-now$

Installing NodeJs with NVM

Now we are going to see how to install the latest version of Nodejs using NVM..
Just Run the below command to install latest version of nodejs in your system

nvm install node

This will produce output like one shown below.. on successful installation..

shivaraj@shivaraj-A14RM0E:~/articles-now$ nvm install node Downloading and installing node v10.5.0... Downloading https://nodejs.org/dist/v10.5.0/node-v10.5.0-linux-x64.tar.xz... ######################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v10.5.0 (npm v6.1.0)

You can check the version of node installed with node -v and npm with npm -v

shivaraj@shivaraj-A14RM0E:~/articles-now$ node -v v10.5.0 shivaraj@shivaraj-A14RM0E:~/articles-now$ npm -v 6.1.0 shivaraj@shivaraj-A14RM0E:~/articles-now$

You can install particular version of NodeJs with npm install version-number. For example to install NodeJs version 8 you can use nvm install 8

shivaraj@shivaraj-A14RM0E:~/articles-now$ nvm install 8 Downloading and installing node v8.11.3... Downloading https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz... ######################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v8.11.3 (npm v5.6.0) shivaraj@shivaraj-A14RM0E:~/articles-now$

To check the different versions of NodeJs installed in your local system.. run the following command

nvm ls
shivaraj@shivaraj-A14RM0E:~/articles-now$ nvm ls v8.9.4 -> v8.11.3 v9.4.0 v10.5.0 default -> 8 (-> v8.11.3) node -> stable (-> v10.5.0) (default) stable -> 10.5 (-> v10.5.0) (default) iojs -> N/A (default) lts/* -> lts/carbon (-> v8.11.3) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.14.3 (-> N/A) lts/carbon -> v8.11.3 shivaraj@shivaraj-A14RM0E:~/articles-now$

To switch from one version to other you can use following command.. nvm use version number. for example to use Node Version 10 you have to run nvm use 10

shivaraj@shivaraj-A14RM0E:~/articles-now$ nvm use 10 Now using node v10.5.0 (npm v6.1.0) shivaraj@shivaraj-A14RM0E:~/articles-now$

If you want to set some node version as default version to use ... you can set it with following command.. nvm alias default node-version.. if you want to set the node version 8 as default one you can set it by running this command nvm alias default 8

shivaraj@shivaraj-A14RM0E:~/articles-now$ nvm alias default 8 default -> 8 (-> v8.11.3) shivaraj@shivaraj-A14RM0E:~/articles-now$

Here is the video for above tutorial...


That's it for now.. Thank You.. If you like don't forget to share it guys.. You can follow us on fb.com/opensourceinside and also subscribe our channel on Youtube..


Sunday, May 6, 2018

Finding Application / Process Running On Particular Port In Linux Systems

Finding Application / Process Running On Particular Port In Linux Systems



Today, I'm going to show you how to find application / process running on particular port in Linux Systems.

We can use lsof command to find the process running on particular port. The syntax of lsof command to find the application running on particular port looks like following..

lsof -i :port

Summary of above code...
lsof command is used to list open files.. and the argument -i is used to list files whose ip address / port matched to specified ip address / port.

Note: If you ignore ip address / port after -i then the above command will lists processes for all ip addresses...

For example to find the process / application listening on port 80, run the following code..

lsof -i :80

The output will looks like following..

shivaraj@shivaraj-A14RM0E:~$ lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME plugin_ho 3981 shivaraj 20u IPv4 420822 0t0 TCP 192.168.0.117:33104->45.55.41.223:http (CLOSE_WAIT) shivaraj@shivaraj-A14RM0E:~$

If you omit port value... lsof -i the output will looks like following one..

shivaraj@shivaraj-A14RM0E:~$ lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME plugin_ho 3981 shivaraj 20u IPv4 420822 0t0 TCP 192.168.0.117:33104->45.55.41.223:http (CLOSE_WAIT) node 4165 shivaraj 12u IPv4 509873 0t0 TCP *:http-alt (LISTEN) firefox 4178 shivaraj 114u IPv4 7216095 0t0 TCP 192.168.0.117:42436->server-54-230-190-100.maa3.r.cloudfront.net:https (ESTABLISHED) shivaraj@shivaraj-A14RM0E:~$

By specifying -t for lsof command we can get pid of process listening on particular port... Look at the below command signature..

lsof -t -i :port

If you want to find out pid of process listening on port 80, run the following code..

lsof -t -i :80

The above commands output will looks like..

shivaraj@shivaraj-A14RM0E:~$ lsof -t -i :80 3981 shivaraj@shivaraj-A14RM0E:~$
How to find and kill the process running on particular port..

That's it for now.. If you like don't forget to share it guys.. You can follow us on fb.com/opensourceinside and also subscribe our channel on Youtube..


Sunday, February 4, 2018

Installing Firefox Beta On Ubuntu

Installing Firefox Beta On Ubuntu

Mozilla Firefox is one of the popular free and open-source web browser developed by Mozilla Foundation and its subsidiary, Mozilla Corporation. Firefox is available for Windows, macOS and Linux operating systems. Its sibling, Firefox for Android, is available for Android. Firefox uses the Gecko layout engine to render web pages, which implements current and anticipated web standards.

Firefox Beta channel will provide early access to features that are going to be available in next immediate stable release... If you want to enjoy the features before anyone... Here I'm going to show you how to install Firefox Beta in Ubuntu.

Mozilla maintaining official Firefox Beta ppa for Ubuntu... We can use it to install Beta Version Of Firefox in Ubuntu.. Just run the below lines to add PPA.

sudo add-apt-repository ppa:mozillateam/firefox-next sudo apt-get update

Now you can run

sudo apt-get install firefox

Or

sudo apt-get upgrade

to install Firefox Beta...

Warning : Since Firefox's this PPA provides a beta Firefox version, you may find bugs. If you do, kindly report them at https://bugs.launchpad.net/~mozillateam

That's all for now... You can enjoy new features of Firefox... Happy Browsing...


Thursday, February 1, 2018

How To Install Linux Kernel 4.15 (Includes Patches for Meltdown and Spectre) In Ubuntu Linux And Its Derivatives

How To Install Linux Kernel 4.15 (Includes Patches for Meltdown and Spectre) In Ubuntu Linux And Its Derivatives


As usual, Sunday (28, JAN 2018), Linux creator Linus Torvalds officially announced the final release of Linux Kernel 4.15, Which includes patches for two critical bugs Meltdown and Spectre. Apart from patches for Meltdown and Spectre bugs there also some other inresting things comes with Linux 4.15, such as support for the RISC-V architecture, support for AMD Secure Encrypted Virtualization, as well as support for the User-Mode Instruction Prevention feature on Intel CPUs..

As Soon as it was released, immediately it will be available for rolling release distros such as Arch Linux, Solus, or even openSUSE. Soon it will be available for Fedora users also.. But for Ubuntu, you have to manually install Linux 4.15, if you want to upgrade your current Linux kernel installed in your system. Here I am going to show you how to install Linux 4.15 in Ubuntu Linux and It's derivatives.

Warning : The Linux kernel is a critical element of the system. To do the upgrade costs when one of your hardware devices is not working properly, and the new kernel may fix this problem. But at the same time installing a new kernel unnecessarily can lead to undesirable regressions, such as: no network connection, no sound or even the inability to boot the system, so install a new kernel on your own risk.

Installation Steps :

Before starting... Update your system package source list and upgrade all installed packages to latest version by running following commands..

sudo apt-get update; sudo apt-get upgrade

Now make a new folder/directory to download and store required binaries files...

mkdir linux4.15 && cd linux4.15

Now download required files with following command..

For 64 bit:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500_4.15.0-041500.201802011154_all.deb; wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500-generic_4.15.0-041500.201802011154_amd64.deb; wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-image-4.15.0-041500-generic_4.15.0-041500.201802011154_amd64.deb;

For 32 bit:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500_4.15.0-041500.201802011154_all.deb; wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500-generic_4.15.0-041500.201802011154_i386.deb; wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-image-4.15.0-041500-generic_4.15.0-041500.201802011154_i386.deb;

Or if you want to download manually.. you can download from here.. and put them in one directory.
if you are downloading manually.. download correct binaries for your architecture...
If you are not sure about your OS architecture.. Run getconf LONG_BIT command.. This will tell you whether the kernel is 64 bit or 32 bit..
See More On Finding System Architecture..

Now Install Downloaded Packages..

sudo dpkg -i *.deb

Now Reboot the system and enjoy.. :)

Here's the video version of above tutorial ...

That's all for now.. Don't Like us on fb.com/opensourceinside