Welcome to SysTutorials! Here you can find posts on Linux, Software, Programming and Web topics.

SysTutorials Keywords

Tutorials: Latest | Latest updated | Most viewed | All
QAs: Answered QAs
Manuals: Linux Man Pages | Linux Packages Manuals

Latest SysTutorials tutorials

To get updated when new posts are published? Subscribe here.

  • Posted on Saturday August 12, 2017
    With Google algorithm becoming more intelligent with each passing day, the margin for errors has significantly reduced over the past decade. Back in the day, you might get away with keyword stuffing but today, the same offense will strike off your website from Google search engine results. No one wants that, right. To save you from such a situation, here are ten common mistakes that most casual followers of the industry are making but should not. » Read more Continue Reading »
  • Posted on Tuesday July 25, 2017
    The word “viral” has received a lot of attention over the last few years and is applied to different types of content to describe how quickly it has spread and gained popularity. Many times, you’ll hear people speak about their idea and how fast it will spread while assuming that it will “go viral”, but they never seem to understand how they’re going to make it go viral. » Read more Continue Reading »
  • Posted on Friday May 12, 2017
    Call forwarding is useful if you are expected to be unavailable for receiving calls or lose cell phone coverage for some time. Call forwarding is not something that is "new" to modern phones. It is a feature which is invented in 1960s (the patent expired in 1980) of some telephone switching systems. But with iPhone/iOS, there is a convenient call forwarding feature in iOS for you to set up call forwarding to forward calls to a landline or other phone by its number or disable the call forwarding. » Read more Continue Reading »
  • Posted on Thursday April 20, 2017
    HTML supports many characters/symbols such as mathematical symbols, and currency symbols. They are not present on a normal keyboard. And some of these characters may have special meanings for formatting text. To add such characters / symbols to an HTML text, you can use an HTML entity name or an entity number in decimal or hexadecimal. This post list many special Characters in HTML as a friendly reference. » Read more Continue Reading »
  • Posted on Tuesday April 18, 2017
    From a small business owner, a blogger, a student or individual with a personal project, the need to create websites has never been more prominent. Having a basic understanding of HTML and canvas knowledge can be helpful, and it is simple to master. The thought of learning to code and programming may seem a long and daunting task, but some people may be surprised to know that it need not be as scary as it sounds. » Read more Continue Reading »
  • Posted on Saturday April 15, 2017
    This post introduces how to install a paravirtualized CentOS 7 DomU on Xen. The very common way of installing DomU does not work for CentOS 7. A little trick to set the repository and the network used by the VM should be used by adding a setting strings to the “extra=” field for this VM. To install the DomU VM, first download the pxeboot images from CentOS’s official website at http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/. » Read more Continue Reading »
  • Posted on Sunday April 09, 2017
    The USB standards have evolved to 3.1 and the supported throughput have been increased too. On Linux, the support to USB standards are following the standards development. In this post, we will survey the standards that common hardware support and the support in Linux. USB standards USB 2.0: https://en.wikipedia.org/wiki/USB#USB_2.0Speed: » Read more Continue Reading »
  • Posted on Saturday March 18, 2017
    Building Linux kernel may sound a complex and geek-only thing. However, as Linux kernel itself has much less depended tools/packages compared to other software packages, it is quite easy to compile, build and install a Linux kernel from the source code in an existing Linux OS. Building Linux kernel is needed if you need to build a specific Linux kernel or update your drivers for a kernel by yourself. » Read more Continue Reading »
  • Posted on Friday February 24, 2017
    In today’s time, data visualization has become a significant part of the success story of an organization. With the help of right techniques, visualizing data can reveal insights which the management staff can use in their decision-making in order to make sound data-driven decisions. Mapping software is among the robust data visualization tools that you can avail today. With maps, you can find stories, trends, and insights that cannot be found in spreadsheets. » Read more Continue Reading »
  • Posted on Tuesday February 14, 2017
    Motivation Recently, I find it is hard to know the percentage of time that one process uses to wait for synchronous I/O (eg, read, etc). One way is to use the taskstats API provided by Linux Kernel [1]. However, for this way, the precision may be one problem. With this problem, I dig into Linux Kernel source codes to see how “blkio_delay_total” (Delay time waiting for synchronous block I/O to complete) is calculated. » Read more Continue Reading »
  • Posted on Monday February 06, 2017
    Making a career choice is difficult. And, if you have decided on becoming a programmer, the difficulty is just beginning. The most important thing is to first decide the language that you want to learn and this is often the most difficult decision. The good part is that you know you need to focus on learning programming and the bad part is that you might still be thinking which programming language should you begin to learn. » Read more Continue Reading »
  • Posted on Saturday December 31, 2016
    There are many Vim tutorials and Vim tips on the Web. However, I find the vimtutor provides the best tutorial among those so far as I found on the Web while the vimtutor seems usually reachable from a terminal which is not obviously known to Vim beginners who are usually Linux beginners too. This page shows the content of the Vim tutorial from the command vimtutor in a web page which is especially easier for Vim beginners to get and learn. » Read more Continue Reading »
  • Posted on Friday December 23, 2016
    This post is about the Spring Shell technology and its use in java. Experts of java development India have shared their best knowledge in this post for Spring Shell with the community people. If you have anything to ask, do it at the end. Technology: It is command line tool for Java applications to interact with java applications using spring shell framework. » Read more Continue Reading »
  • Posted on Saturday December 17, 2016
    Abstract In systems, sometimes, we use one global lock to keep synchronization among different threads. This principle also happens in QEMU/KVM (http://wiki.qemu.org/Main_Page) system. However, this may cause lock contention problem. The performance/scalability of whole system will be decreased. In order to solve this problem in QEMU/KVM, x-data-plane feature is designed/implemented, which the high-level idea is “I/O requests are handled by dedicated IOThread rather than QEMU main loop threads so that it will not have lock contention among I/O threads and other QEMU main loop threads”. » Read more Continue Reading »
  • Posted on Thursday December 15, 2016
    In this tutorial, Microsoft Dynamics CRM India experts will teach you how to filter salutation based on Gender field in MS CRM. You can follow the step-by-step guide shared in this post to avail the results. Description- According to the requirement we need to filter salutation based on gender in contact entity. For this we need to create two new field having Datatype(option set). » Read more Continue Reading »
  • Posted on Friday December 09, 2016
    In this blog Dynamics CRM consultants are sharing a step-by-step guide to explain how to filter another lookup field value based on one Lookup field value. In this Lead entity, they are having two fields Branch and Sub Branch and you will learn how they filter Subbranch based on Branch field. Based on one Lookup field value, how to filter another lookup field value. » Read more Continue Reading »
  • Posted on Monday December 05, 2016
    Abstract As is known, CFS (Completely Fair Scheduling) is a famous process scheduling algorithm in Linux Kernel but there is no convenient way for developers to get the timeslices of processes if CFS is chosen. In this article, I will introduce one way to hack the timeslices of process easily for CFS in Linux Kernel. Note that, the way introduced following is under Linux Kernel 3.16.39. » Read more Continue Reading »
  • Posted on Saturday December 03, 2016
    Solution is very important part of Dynamics CRM. In order to deploy your customization, solution is the only bridge which help you to achieve your goal. There are two types of solutions available in CRM: Managed and Unmanaged. Managed Solutions: This is the solutions that you can import and publish only. You neither export it nor you can make any changes in it. » Read more Continue Reading »
  • Posted on Thursday December 01, 2016
    Abstract Currently, the most famous process scheduling algorithm in Linux Kernel is Completely Fair Scheduling (CFS) algorithm. The core idea of CFS is to let each process share the same proportional CPU resources to run so that it is fair to each process. In this article, I will introduce how sched_min_granularity_ns and sched_latency_ns work internal CFS to affect the timeslice of processes. » Read more Continue Reading »
  • Posted on Friday November 25, 2016
    In this post, asp.net development India based professionals will explain the best way to manage the Restful service using AngularJS. They are explaining the push and pull functionality available in Rest service in simple steps. Read the article to know more. In this Post I am going explain how we can manage the Restful service using AngularJS. Push and Pull functionality of Rest service Json data in MVC View in easy steps. » Read more Continue Reading »

Latest QA answers

  • Posted on Tuesday August 15, 2017
    You can convert a string to an array using the grammar like inarr=(${a})If the delimiter is not space, set the IFS like IFS=',' inarr=(${a})For the examples in the question: For the space separated string: $ a="a string separated by space" $ inarr=(${a})Check the result: $ echo ${inarr[@]} a string separated by spaceFor the ',' separated string, set the IFS: $ a="a,string,separated,by,comma"; $ IFS=',' inarr=(${a});Check the result: $ echo ${inarr[@]} a string separated by comma Continue Reading »
  • Posted on Sunday August 13, 2017
    You can run hdfs fsck to list all files with their replication counts and grep those with replication factor 1. Run the following command as a HDFS superuser: $ hdfs fsck / -files -blocks -racks | grep repl=1 Continue Reading »
  • Posted on Sunday August 13, 2017
    From the permissions page https://www.google.com/permissions/geoguidelines.html , it seems screenshot is not allowed for the map. However, saving an images from Google Earch is allowed. If you do want to make a screenshot on a map, you may consider using OpenStreetMap which has a more relaxed license for their data. Continue Reading »
  • Posted on Sunday August 13, 2017
    You may use sed, the stream editor for filtering and transforming text: sed -e 's/^/pre /'For example, $ echo "line 1 line 2" | sed -e 's/^/pre /' pre line 1 pre line 2You may also do prefix adding to lines of certain patterns. But this is out of this question. Continue Reading »
  • Posted on Saturday August 12, 2017
    If you are sure the request is a http or https one, and the PHP script is executed according to (e.g. by a load balancer or apache reverse proxy) the REQUEST_URI/HTTP_HOST which are set by the client, the PHP script can get the actual URL by $url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";If it is necessary, escape the $url such as: $url = htmlspecialchars($url, ENT_QUOTES, 'UTF-8'); Continue Reading »
  • Posted on Saturday August 12, 2017
    There are 2 signals related to stopping (pausing) and continuing (resuming) processes: Stop Default action is to stop the process. Cont Default action is to continue the process if it is currently stopped.You may use kill to pause and resume a process in Linux by sending these signals to it. To stop a process with pid ${P}: kill -STOP ${P}To continue a process with pid ${P}: kill -CONT ${P}Note: be very careful to pass the correct signals to kill. If no signal is specified to kill, the TERM signal is sent. The TERM signal will kill Continue Reading »
  • Posted on Saturday August 12, 2017
    You may use this piece of code in PHP to strip HTML tags, remove leading and ending spaces and convert special characters to HTML entities (if you put this into an HTML page): $linetxt = htmlspecialchars(trim(strip_tags($line)));An example: $ php -a Interactive shellphp > echo htmlspecialchars(trim(strip_tags('<div> <b>hello</b> world</div>'))) . PHP_EOL; hello world php > Continue Reading »
  • Posted on Tuesday August 08, 2017
    You may use this CentOS 7 repository on Fedora Copr for Vim 8 builds. By these commands on CentOS 7. Add this repository: # curl -L https://copr.fedorainfracloud.org/coprs/mcepl/vim8/repo/epel-7/mcepl-vim8-epel-7.repo -o /etc/yum.repos.d/mcepl-vim8-epel-7.repoUpgrade Vim to vim 8: # yum update vim*After it is successful, your Vim should be version 8.0 now: # vim --version VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug 2 2017 16:29:21) Included patches: 1-839 Continue Reading »
  • Posted on Sunday August 06, 2017
    You may use a for loop in awk to print fields from $4 to $NF with a space as the separator: awk '{for (i=4; i<NF; i++) printf $i " "; if (NF >= 4) print $NF; }' in.txtprintf print the field and a following space. The if statement makes sure nothing is printed out if the number of fields is less than 4. The last print statement prints the last field without the additional space yet with a newline. Continue Reading »
  • Posted on Thursday August 03, 2017
    inkscape works great with vector images (better than ImageMagikk's convert). Try this command to convert in.svg to a 1000x1000 png image: inkscape -z -e out.png -w 1000 -h 1000 in.svg Continue Reading »
  • Posted on Thursday August 03, 2017
    You may use a SQL statement as follows. update post set content = replace(content, 'http://www.systutorials.com', 'https://www.systutorials.com') where content like '%http://www.systutorials.com%' Continue Reading »
  • Posted on Tuesday August 01, 2017
    If the bam file is indexed, you may quickly get these info from the index: samtools idxstats in.bam | awk '{print $1" "$3}'If the bam file is not indexed, you may "count" it by uniq: samtools view in.bam | awk '{print $3}' | uniq -c(if it is a sam file like in.sam, replace the samtools view in.bam with cat in.sam) In both cases, samtools provides the tools to parse/show the bam file content. Continue Reading »
  • Posted on Tuesday August 01, 2017
    You can use this command to get the the highest temperature from all sensors in a server on Linux: sensors | grep '°C' \ | cut -d '°' -f1 | rev | cut -d' ' -f1 | rev | tr -d '+' \ | sort -n | tail -n1The first line gets all the lines with a degree. The second line get out only the temperature's number. The third line sorted the numbers and get the highest one. One example: $ sensors | grep '°C' | cut -d '°' -f1 | rev | cut -d' ' -f1 Continue Reading »
  • Posted on Wednesday July 26, 2017
    You can create a text file <some name>.conf in the /etc/modules-load.d/ and list the modules to be loaded there, one per line. The systemd-modules-load.service daemon will read these files and load the modules. Check more details of modules-load.d by checking the modules-load.d man page. Continue Reading »
  • Posted on Wednesday July 26, 2017
    You may not know whether the file is being written. However, you may use lsof to check whether the file is opened by any other processes. Programs like cp will close the file after the work is done. So you may bet on it for most situations. For a file without any other process opening it: $ lsof -f -- ~/.bashrcWith one process openning for reading: $ lsof -f -- ~/.bashrc COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME less 14558 zma 4r REG 253,3 1356 27787271 /home/zma/.bashrcWith one process openning for Continue Reading »
  • Posted on Thursday July 20, 2017
    The reason: wpp will tries to dynamically link 'libbz2.so.1.0' $ ldd /opt/kingsoft/wps-office/office6/wpp | grep libbz2 libbz2.so.1.0 => not found libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fd10a513000)while it is not available in CentOS 7: # ls /lib64/libbz2.so* /lib64/libbz2.so.1 /lib64/libbz2.so.1.0.6The solution: While 'libbz2.so.1.0' is not there, 'libbz2.so.1' is there and it is very likely it works well as for 'libbz2.so.1.0'. We can make a symbolic link to pretend there is a 'libbz2.so.1.0'. # ln Continue Reading »
  • Posted on Monday June 26, 2017
    You can use stat to get the file status including the mtime: %y time of last modification, human-readable %Y time of last modification, seconds since EpochAs an example, $ stat -c %y ./file 2017-06-26 13:33:06.764042064 +0800 $ stat -c %Y ./file 1498455186 Continue Reading »
  • Posted on Monday June 26, 2017
    In summary, Samba writes are async by default. But the behavior is configurable. Here is a great summary by Eric Roseme. Samba defaults to asynchronous writes. smbd writes to memory buffer, then returns to processing. Buffer is flushed to disk later. This is the most efficient behavior. Windows CreateFile API has the FILE_FLAG_WRITE_THROUGH flag, which requests synchronous writes. smbd writes to memory buffer, blocks until buffer contents are written to disk, which results in poor performance, but better data integrity. When "strict sync = yes" (default = no) Samba honors the FILE_FLAG_WRITE_THROUGH flag, and results in Continue Reading »
  • Posted on Sunday June 25, 2017
    You may use the tool split to split a file by sizes. An example to split a large.tgz to at most 8GB smaller files is as follows. split -b 8G large.tgz large.tgz.part-The split files names are the prefix with appendix like 'aa', 'ab', 'ac' as follows. $ ll -h total 35G -rw-rw-r-- 1 user user 18G Jun 25 10:57 large.tgz -rw-rw-r-- 1 user user 8.0G Jun 25 12:10 large.tgz.part-aa -rw-rw-r-- 1 user user 8.0G Jun 25 12:15 large.tgz.part-ab -rw-rw-r-- 1 user user 1.2G Jun Continue Reading »
  • Posted on Friday June 23, 2017
    Each file and each block has around 150 bytes of metadata on NameNode. So you may do the calculation based on this. For examples, assume block size is 64MB, 100 million 1MB files (100TB in total) will have metadata of (100 million blocks) 100M * 150B + 100M * 150B = 30GB1 million 64GB files (64PB in total, assume HDFS can scale to this large) will have metadata of 1M * 150B + 64GB/64MB * 150B = 330MBSo, you also get the idea that HDFS does need lots memory on the NameNode to handle many small files Continue Reading »

Most viewed tutorials


Latest updated tutorials

Subscribe, contact, and license

Subscribe to SysTutorials: Subscribe. Contact us: Contact. General license and policy: License.

Please share if you like this post: