Community Blogs

How to Test Your Internet Speed Bidirectionally from Command Line Using ‘Speedtest-CLI’ Tool

We always need to check the speed of the Internet connection at home and office. What we do for this? Go to websites like and begin test. It loads JavaScript in the web browser and then select best server based upon ping and output the result. It also uses a Flash player to produce graphical results.

What about headless server, where isn’t any web based browser and the main point is, most of the servers are headless. The another bottleneck of such web browser based speed testing is that, you can’t schedule the speed testing at regular interval. Here comes an application “Speedtest-cli” that removes such bottlenecks and let you test the speed of Internet connection from command line.


Tor Browser: An Ultimate Web Browser for Anonymous Web Browsing in Linux

Most of us give a considerable time of ours to Internet. The primary Application we require to perform our internet activity is a browser, a web browser to be more perfect. Over Internet most of our’s activity is logged toServer/Client machine which includes IP address, Geographical Location, search/activity trends and a whole lots of Information which can potentially be very harmful, if used intentionally the other way...


Red Hat Enterprise Linux (RHEL) 7.1 Released – A Quick Review and Installation Instructions

Red Hat Enterprise Linux commonly but not officially abbreviated as RHEL is a Linux distribution developed from commercial point of view. Red Hat Enterprise Linux provides their source code for free but keep check on free re-distribution of their officially supported version of Red Hat Enterprise Linux. All the third party derivatives and community supported distributions be it CentOS, Oracle Linux and Scientific Linux build and redistribute their distribution by removing non-free components and Trade mark of Red Hat.


How to burn .iso to USB drive

CD/DVD drives have gone obsolete and USB drives have become more popular and cheaper now. Thats the reason we prefer to use USB drives instead of CD or DVD to install a new system. 
There are many utilities available which can do this. UNetbootin ( is one of them. UNetbootin allows you to create bootable Live USB drives for Ubuntu, Fedora, and other Linux distributions without burning a CD. The best part of it is that it runs on Windows, Linux, and Mac OS X. You can either let UNetbootin download one of the many distributions or supply your own Linux .iso file. It has a very simple user interface.
For Command Line Lovers
For command line lovers like me the best utility to burn a .iso to USB drive is "dd". 

  • Insert the USB drive and open terminal (Ctrl+Alt+T)
  • better be a root (sudo -i), don't be afraid believe in yourself
  • use "fdisk -l"  to find the USB device




  • So in our case its /dev/sdb
  • Make sure the USB device is unmounted


umount /dev/sdb1


  • Assuming the .iso file is in your current working folder, type the below command and wait for it to finish.


dd bs=4M if=ubuntu-12.04.2-server-i386.iso of=/dev/sdb





  • ubuntu-12.04.2-server-i386.iso is your .iso file
  • "bs=4M" is optional. Its just to make it faster
Testing Time....
To test if everything has gone right, boot your system from the USB drive. To do so you will have to reboot your system. QEMU can help you in this. What?! Yes QEMU is a machine emulator and virtualizer.

  • Make sure qemu is installed (apt-get install qemu)
  • run the below command and you will see a virtual machine booting from your USB Drive


qemu -hda /dev/sdb 

Live DVD for Advanced Gtk+ Sequencer

Initiating minos-one

Ever wanted to try out Advanced Gtk+ Sequencer and Swami? Then you need minos-one download available at


This live DVD is shipped with most popular GNU software including:

  • Advanced Gtk+ Sequencer
  • Swami
  • Mplayer
  • ffmpeg
  • ...

It is a x86_64 build with realtime kernel linux-3.14.25-rt22. System requirements are probably lots of RAM. Me could borrow you with some anoying details but rather deciding to give you a brief howto extend minos-one Live DVD ....


GNU/Linux is providing /dev/shm it is a tmpfs its advantages are all files are provided within RAM. Here comes the magic part. You builded a initrd kernel this initrd fs is provided in RAM as well and remounting root / is done anyway.

To get a full setup with source I would recommend you where you do /usr/share/mkinitramfs/ this is the file launched just before /sbin/init.

Note if you wish to start kernel command line:

linux vmlinuz initrd initrd.img init=/bin/bash

There's a not documented /sbin/init paramater --init which does all magic ie. start init and invoke /etc/init.d

Setup directory structure and base files

First we create some directories to mount our ISO files:

$ cd /mnt
$ mkdir {image,rootfs,rootfs,usrfs,build,cdrom}

Create build.iso file which is large enough to contain and build linux kernel, here we create a 100G file for your builds so make sure to have enough disk space.

$ dd if=/dev/zero of=build.iso bs=512K count=200000
$ vfsnode=`losetup -f`
$ losetup -P $vfsnode build.iso
$ mkfs.ext4 $vfsnode

The created iso is now mounted using loopback device. To know what loopback device just enter:

$ echo $vfsnode

You can either do your own linux from scratch or do:

$ wget -c
$ mount -o loop minos-lxdm.iso /mnt/cdrom

For know we mount the rootfs and usr directory of our live DVD by issueing:

$ cp -rv cdrom/* image
$ mount -o loop image/casper/rootfs.iso rootfs
$ mount -o loop image/casper/usr.iso rootfs/usr
$ mount $vfsnode rootfs/sources

Chroot to the ISO environment

Chroot provides you a nested root environment further we bind devfs to the chroot environment.

$ mount -v --bind /dev rootfs/dev
$ mount -vt devpts devpts rootfs/dev/pts -o gid=5,mode=620
$ mount -vt proc proc rootfs/proc
$ mount -vt sysfs sysfs rootfs/sys
$ mount -vt tmpfs tmpfs rootfs/run
$ chroot /mnt/rootfs /usr/bin/env -i              \
     HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
     PATH=/bin:/usr/bin:/sbin:/usr/sbin     \
     /bin/bash --login

For now your able to build your applications for the iso within chroot environment it is
to use /sources for your build since it's really large and will not be included in the iso.


Download syslinux either with your favourite repository or from and unmount your ISOs when not needed anymore. So you have to logout the chroot environment:

$ exit
$ cd /mnt
$ umount rootfs/{dev/pts,sys,proc,run,dev}
$ umount rootfs/{sources,usr,}

The build your ISO and burn it using cdrecord or wodim:

$ cd image
$ mkisofs -o ../minos-lxdm-new.iso \
   -b isolinux/isolinux.bin -c isolinux/ \
   -no-emul-boot -boot-load-size 4 -boot-info-table \
$ cd .. && cdrecord -v minos-lxdm-new.iso



How To Configure SSL In Tomcat

To secure the communication to and from your Tomcat servlet container you should use SSL. Usually there's an Apache or Nginx in front of Tomcat to serve external clients' request and this web front server is also supposed to provide SSL connectivity. However, this is not always the case and Tomcat may be accessed by clients directly so the SSL should be installed on Tomcat.

Furthermore, even if there's a dedicated frontend, the communication between that frontend and Tomcat should be also secured with an SSL, especially if the two servers are in two different networks and there is a chance of network sniffing. The latter is not only a good security practice but often a requirement such as for the PCI SSC Data Security Standards.



Connected Living Room Market - Latest Technology Research Report and Industry Analysis upto 2019

The report titled ‘Connected Living Room - Global Forecast, Market Share, Trends, Size, Growth And Industry Analysis, 2013 - 2019’ delves into the contemporary concept of living rooms that are centered on advanced entertainment and communication devices. The report takes into account various dynamics that are expected to work in tandem so as to bring about a change in the devices and technologies in new-age living rooms.

Read More @

This report can be described as a comprehensive study of current trends in connected living rooms. With technological advancements rapidly taking place in this sector, this report is integral to the strategy of both established as well as incumbent market players.

It features end-to-end analyses of market propellants as well as inhibitors. The report provides users with accurate market projects for the years ahead. Besides a value chain analysis, the report also provides a market share analysis based on market segments and geographical markets.

The report also offers a statistics-based projection of the emerging trends in this market that will play a key role over the next few years. Developments that have taken place over the recent years are extensively analyzed in this report. Yet another highlight of this study is the use of Porter’s five force model analysis as well as detailed Company Profiles section that takes into account the strategies, financial standing, and strengths and weaknesses of leading names in this sector.

Market overview

The concept of a connected living room is relatively modern and entails the use of technological devices and gadgets that provide a combination of information and entertainment depending on the choices of the user. With a connected living room, a user can share photos, music, and videos enabled by devices such as smart televisions, set-top boxes, and personal computers.

According to the findings of this report, the market for connected living rooms is anticipated to witness healthy growth, with single-digit CAGR increase by the end of 2019. Some of the devices that constitute a connected living room are, plasma TVs, smart TVs, DVD players, OLED TVs, video recorders, audio and gaming consoles, among others.

There are a variety of factors propelling growth in the connected living rooms market. These include: a growth in the demand for digitization, the growing preference for advanced display equipment, and the emergence of novel technologies and platforms for sharing information and entertainment. At the same time, there are a few factors that have been hindering the market from reaching ideal growth figures. These factors include a lack of user-friendliness of these noticeably high-tech devices as well as their high costs.


How to Create Professional Stop-Motion Animations with Free and Open-Source Software

When my brother and I set out to create The Hello World Program, a series of videos and tutorials teaching computer science, programming, Linux, and web development, we gave ourselves the seemingly impossible challenge of producing the show with free and open-source software. Our goal is to help remove the economic barrier associated with digital media production by sharing the lessons we learn while making the show. For Daisy's Web Development Diary, our HTML-centric video series, we wanted to incorporate stop-motion papercraft animations, but there was a problem. There is no free, open-source, professional-grade, stop-motion animation software for Linux. Having grown up creating our own animations with nothing but a camcorder, we were no strangers to hacking together animation solutions. At the most basic level, we needed some way of connecting a camera to our computer for remote shooting, and a way to compile those images into a movie. Entangle and avconv were just the tools for the job.

Entangle uses the gPhoto library for remote shooting, so it is necessary to have a gPhoto compatible camera. If your camera is not compatible with gPhoto, don’t fret. You can still make animations by shooting blindly with you camera, copying the files to your computer, then compiling with avconv. That process isn’t as fancy, but that’s how this art form started, so you’d be animating just like the old pros! Depending on your operating system, you can probably install Entangle from the software repository, however I would advise against that. Entangle is constantly being updated, and I found that the version in the software repository had major problems that had been addressed in the newest release. This means you are probably going to have to build from source.

When you have Entangle installed, open the application and connect your camera. Right away, you will get hit with a couple of warnings. The first one asks if you want to unmount your camera, because your operating system most likely already mounted it, preventing Entangle from accessing it. The next one is a warning that claims your camera is still in use. It’s not. Entangle just got ahead of itself. Click the affirmative for both of these and you should be up and running.

The default settings for Entangle are not optimal for doing animation. The first thing you will need to change is the continuous preview handling. Open the application preferences and check the “Continue preview mode after capture” checkbox on the “Capture” tab. Now when you capture an image, the program will return to the live view. At least it should return to the live view. If you get an “Unable to capture preview” error, you will need to change the capture target to “Memory card” instead of “Internal RAM”. This setting is found in the camera settings menu on the left hand side of the program. If you don’t see this menu, click the “view full list of camera settings” button at the top of the program.

Entangle gives you access to most of your camera's settings. Because it is critical that our lighting stay consistent from frame to frame, you should look through your available camera settings and manually set everything (aperture, shutter speed, ISO). Also make sure any picture styles or in-camera enhancements are turned off.

Finally, you may begin animating. The animations in Daisy's Web Dev Diary are made entirely out of scraps of paper, but you could animate just about anything. A lump of clay, old toys, or some colored sand. The possibilities are endless!

I found that positioning the camera upside down was the ideal setup for shooting on a tabletop. This freed up a lot of space and helped minimize the possibility of bumping the tripod. It's a little confusing while shooting, but it’s trivial to rotate the video when we compile it.

Making small adjustments to your model, capture each frame of the video one after the other. Ideally you would be shooting your animations at 24 frames per second, because this is the standard for film, but I’ve found that stop motion still looks good at only 10 or 12 frames. Just keep in mind that your animation will look crisper and more fluid with higher frame rates. The trade off is that you will need to shoot many more frames. For slow movements, you will want to make tiny adjustments between frames. Quick movements would require bigger adjustments, of course. While you can shoot several of the same frame to create a pause, it looks much more natural if there is a bit of movement in the frame. Lightly touching the model in between every frame will bring a static shot to life.

If you make a mistake, you can right click on the thumbnail in Entangle and select delete. This will cause problems when we compile our video, because Entangle doesn’t adjust the names of your other files to accommodate the missing frame, but don’t worry about it for now. Continue on as though everything is perfectly okay.


When you are satisfied with your animation (or tired of working on it), you may move on to compiling your animation with avconv. You should have a folder located at ~Pictures/capture that is chock full of images labeled “capturexxxxxx.jpg”. This is perfectly formatted for feeding an image sequence into avconv, but if you deleted any frames as you were animating, there will be gaps in your image sequence. A bulk rename utility such as pyRenamer can easily correct them.

In pyRenamer, navigate to the folder containing your captured images. Select all of the images, change the “renamed file name pattern” to “frame{num6}.jpg” (without the quotes), preview your changes, then commit them with the “Rename” button.

Before you can compile your video, you will need to decide how to crop your video. Unless you set your camera to shoot in a standard video frame size, you’ll need to adjust the crop manually. These next few steps require some command line magic, so it may look scary, but it’s pretty straightforward. The easiest way I’ve found to determine the crop parameters is with Gimp, so open any one of your frames in Gimp. With the crop tool selected, check the “Fixed” option and set it to “Aspect ratio”. For the sake of demonstration, I’m assuming we are going to output a 1080p video, so in the field just below the “Fixed” checkbox, enter “16:9″.

Drag out a selection on the image for the crop you intend to use for your video, but don’t execute the crop. Take a look at the juicy information in the crop tool options panel. You'll need the values of the position and size parameters in a moment, but for now you can put Gimp aside.

Now it's time to compile the video. Here's the command I used to create my animation:

avconv -f image2 -r 12 -i frame%06d.jpg -vf crop=4663:2623:289:448,scale=1920:1080,vflip,hflip -r:v 30000/1001 -c:v libx264 -qp 0 -preset medium -an "animation.mkv"

Generally when converting input with avconv, you would only need to specify the path to the video file with the -i parameter. With image sequences, we need to supply a little more information.

-f Indicates that the input is an image sequence.

-r is the input framerate. So if you were shooting for 24 frames per second, you would put 24 here. You may want to try compiling several times at different input frame rates to find the one that suits your animation best.

-i is the naming scheme for your image sequence. “frame%06d.jpg” tells avconv that your files all begin with the word “frame” followed by a sequential number that is six digits long, contains leading zeros, and ends with “.jpg”.

The -vf parameter is a comma separated list of video filters. This is where the real magic happens. First you need to crop the image using the data gathered with Gimp’s crop tool. The format of the crop filter is “crop=output width:output height:x:y”. The output width and height are the “size” parameters from Gimp’s crop tool, and the x and y are the “position” parameters.

Surely you noticed that the output width and height are rather large. Normally I would set the video size with the -s:v parameter, but it doesn’t play nice with the crop filter, so you'll need to use a scale filter to properly size the output. This one is pretty straightforward, it’s formated as “scale=output width:output height”. To output a 1080p video, the scale filter would be “scale=1920:1080″.

If your camera was oriented upside down, you’ll also need to tack on the “vflip” and “hflip” parameters. These flip your output video vertically and horizontally, essentially rotating it 180 degrees.

The remaining parameters are for your video codec. You could set these to anything you want, but in my example, I chose to export a lossless, x264 encoded mkv file at 30 frames per second.

Now for the best part… watching your animation!


Cautions for the HP_RDI Alarm on OptiX OSN9500

Identification method:
1. The source version  is V100R003 or V100R004.
2. The EXCL board is used and lower order services access to the 1+1 linear MS.
3. Run the: cfg-get-1j1lmsp-lxcoptmz command. "Unregistered command" is displayed or the result is "disable".
4. Lower order services access to the 1+1 MSP protection path earlier than the working path. Run the :cfg-get-lmsbdmap:pgi (pgid indicates the ID of the 1+1 linear MSP group) command. The timeslots for the protection and working paths are A and B respectively. Run the : dbms-query: " Cfgmapxc.dbf ", mdb command. It is found that A is earlier than B. The following example shows that timeslot 1 for port 2 of the board in slot 17 priors to timeslot 1 for port 1 of the board in slot 17.

1                  0                17                  2               1&&8
1                  1                17                   1               1&&8
Total records :2
: dbms-query: " Cfgmapxc.dbf ", mdb (The following values are displayed in the hexadecimal format.)
record num         MAPIDX       MAPBID   MAPPID     MAPAUID     MAPRSV
1                              02000000       04                01                 0001               00
2                             02010000        04                01                 0001               00
3                             02000040        11                 02                0001               00
4                             02010040         11                 02                0001              00
5                             02000080         11                 01               0001               00
6                             02010080         11                 01                0001               00
Total records :6

If the preceding four conditions are all met, after the version is upgraded to V100R005 or V100R006 earlier than V100R006C05SPC203, the HP_RDI alarm is inserted in downstream devices (the corresponding inspector is available and preferred).

[Root Cause]
The optimization function for lower order service configuration on the 1+1 liner MS is not supported by earlier versions, while that is supported by V100R005 and V100R006 by default. In an earlier version, if lower order services access to the 1+1 protection path earlier than the working path, after the version is upgrade to V100R005 or V100R006 earlier than V100R006C05SPC203, the system control board first recovers the services that access to the 1+1 protection path by default and performs lower order optimization when recovering the services that access to the 1+1 working path. Therefore, the lower order services of both protection and working paths use the same higher order point on the EXCL board, while the higher order point of the working path is idle, so the EXCL board inserts the HP_RDI alarm in the downstream to the working path.
[Impact and Risk]
After the related version is upgraded to V100R005 or V100R006 earlier than V100R006C05SPC203, the downstream devices receive the HP-RDI alarm. Services are faulty when some switching devices receive the HP_RDI alarm, causing service interruption.

[Measures and Solutions]
Preventive measures:
Use either of the following methods:
1. Delete the MS before the upgrade, and configure the MS after the upgrade.
2. Deactivate and activate the faulty service before the upgrade.
Upgrade the NE to V100R006C05SPC203 or a later version.
[Inspector Applicable or Not]
Update the test case package to the latest one.
Path: Upgrade pre-check/ Checks whether the HP_RDI will be triggered after lower order services are accessed into 1+1 LMS and V100R004 is graded to V100R006C03SPC200
[Rectification Scope and Time Requirements]


Pick of the Bunch: Console Internet Applications

There are so many great console based internet applications that it would be impossible for a single article to cover them all. Instead, I have compiled this roundup of 9 console applications that I am always using. Why? Because they are, in many situations, superior replacements for their GUI equivalents. Here is a roundup of the 9 console applications that I use frequently.

<A HREF="">Read article</A>


The Linux app store is your safest friend

One of the cool features that Android and IOS have developed are application stores. Application trust is vital. When you download a program from those apps stores, you are getting something trusted, stable and frequently upgraded.

Something also integrated this same concept. Linux is another system that delivers a system that allows you to download and install programs that are designed to work with that system. There is no guessing if the program is safe to install. If it is not available in Linux's app store, don't pay it too much attention it. Install only if vitally needed.

Ubuntu created a very user friendly app store for downloads, "Ubuntu Software Center". Before you Google, check the products in your local store first.

  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  3 
  •  4 
  •  5 
  •  6 
  •  7 
  •  8 
  •  9 
  •  10 
  •  Next 
  •  End 
  • »
Page 1 of 15

Upcoming Linux Foundation Courses

  1. LFS201 Essentials of System Administration
    12 Jan » 30 Mar - Online Self-Paced
  2. LFD320 Linux Kernel Internals and Debugging
    13 Jul » 17 Jul - North Reading - MA + Virtual (GUARANTEED TO RUN)
  3. LFS426 Linux Performance Tuning
    13 Jul » 16 Jul - Virtual (Guaranteed to Run)

View All Upcoming Courses

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board