Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Saturday, 29 April 2017

Rooting Android - Everything you need to know..!


You might have heard about rooting your android previously, but rooting it without complete knowledge about it may be harmful. So, here I am going to provide you information from basics to top level with a view to know what really happens in background when you root your phone.

What is rooting?

Generally when you search google for this, you find answer in one or two lines which says that rooting means gaining root access of your phone. But what does this root access really means! You might be knowing the answer if you are familiar with Linux. But still, let me explain about it.

The thing that one should know is, "Android is based on Linux". Now, let us elaborate the statement for understanding.

Android may be based on Linux, but it’s not based on the type of Linux system you may have used on your PC. You can’t run Android apps on typical Linux distributions and you can’t run the Linux programs you’re familiar with on Android. You would be wondering why!

The answer is, Linux makes up the core part of Android, but Google hasn’t added all the typical software and libraries you’d find on a Linux distribution like Ubuntu i.e. the System Call Interface and the API designed for android is different than that of Linux. This makes all the difference.

The core part of any operating system is its kernel. It holds control over the system and its hardware. Android uses the Linux kernel under the hood. Because Linux is open-source, Google’s Android developers could modify the Linux kernel to fit their needs. Linux gives the Android developers a pre-built, already maintained operating system kernel to start with so they don’t have to write their own kernel. You can even see the Linux kernel version running on your device under About phone or About tablet in Android’s Settings.

As I said that Android runs over Linux kernel, but it too has a security over its kernel. So that any user cannot modify a system file that causes harm to the computer. But still there might be needs to modify system files and hence the concept of superuser(root user) was used.

A user who has the total control over the system is called the root user in Linux. And as Android uses Linux kernel, we can also use the same concept in android to gain access to the system files. Hence, rooting refers to gaining root access in our android device. Gaining root access means to become a superuser(root user) of the system.

Glossary of Rooting Terms:

As you will start learning more about rooting process, you'll probably run into a bunch of terms and that might confuse you. Here are some of the most important ones and what they mean. If you think there are more terms we should discuss on, write to me in the comment box given at the end of this article.

  • Root: Rooting means you have root access to your device—that is, it can run the sudo command, and has enhanced privileges allowing it to run apps like Wireless Tether or SetCPU. You can root either by installing the Superuser application or by flashing a custom ROM that includes root access.
  • ROM/Firmware: A ROM is a modified version of Android. It may contain extra features, a different look, speed enhancements, or even a version of Android that hasn’t been released for your phone yet. We won’t discuss ROMs in depth here, but I will write a separate guide on it.
  • Stock/Stock Frimware: “Stock” refers to a few different things, depending on the context. When we refer to “Stock Android,” we mean the Google-built version you’d find on Nexus devices, with no extra UI chances like HTC Sense or Samsung TouchWiz. Many ROMs are based on stock Android with some additions, like CyanogenMod, while others are based on the version that came with your phone. In other cases, “Stock” can also mean the version of Android that came with your phone—e.g., if you want to get rid of your ROM and return your phone to factory settings, you might say you’re “going back to stock.”
  • Kernel: A kernel is the component of your operating system that manages communications between your software and hardware. There are a lot of custom kernels out there for most phones, many of which can speed up your phone and increase your battery life, among other things. Be careful with kernels, though, as a bad one can cause serious problems with your phone and possibly even brick it.
  • Radio: Radios are part of your phone’s firmware. Your radio controls your cellular data, GPS, Wi-Fi, and other things like that. You can sometimes find custom radios for your phone that you can flash yourself, but beware as sometimes these can cause problems.
  • Flash: Flashing essentially means installing something on your device, whether it be a ROM, a kernel, or a recovery that comes in the form of a ZIP file. Sometimes the rooting process requires flashing a ZIP file, sometimes it doesn’t.
  • Brick: To brick your phone is to break it during flashing or other acts. There is always a small risk with flashing, and if your phone becomes unable to function—that is, it basically becomes a brick—you’ve bricked your phone
  • Bootloader: Your bootloader is the lowest level of software on your phone, running all the code that’s necessary to start your operating system. Most bootloaders come locked, meaning you can’t flash custom recoveries or ROMs. Unlocking your bootloader doesn’t root your phone directly, but it does allow you to root and/or flash custom ROMs if you so desire.
  • Recovery: Your recovery is the software on your phone that lets you make backups, flash ROMs, and perform other system-level tasks. The default recovery on your phone can’t do much, but you can flash a custom recovery—like ClockworkMod or TWRP—after you’ve unlocked your bootloader that will give you much more control over your device. This is often an integral part of the rooting process.
  • Nandroid: From most third-party recovery modules, you can make backups of your phone called nandroid backups. It’s essentially a system image of your phone: Everything exactly how it is right now. That way, if you flash something that breaks your phone, you can just flash back to your most recent nandroid backup to return everything to normal. This is different from using an app like Titanium Backup that just backs up apps and/or settings—nandroid backups backup the entire system as one image. Titanium backups are best when switching between ROMs or phones.
  • ADB: ADB stands for Android Debug Bridge, and it’s a command line tool for your computer that can communicate with an Android device you’ve connected to it. It’s part of the Android Software Developers Kit (SDK). Many of the root tools you’ll find use ADB, whether you’re typing the commands yourself or not.

We will discuss more about all these when I will write tutorials on rooting, unlocking bootloader, flashing custom ROMs and more.. Till then, stay in touch.

Wednesday, 15 March 2017

Command Line - Man Pages


You might have read my previous posts on Linux System and now we are going to start with some real commands used in the command line of Linux. As you are just new with the Linux commands, I would prefer starting with the Linux man command.

First of all, a question that strikes to your mind must be : Why starting with this command? ; and the other question is very common : What does this command do? The answer to both these questions are inter-related.

Let me take an example. Suppose that you brought some new electronic gadget. You may see many buttons on that gadget but you don't know how to use them. So, what will you do? Obviously, you will read the user manual provided with that gadget which will guide you through steps on how to use the device.

Similarly, man in Linux is similar to user manual. It helps us to learn using different commands on Linux. Man Pages are the short form of Manual Pages. Most Unix files and commands have pretty good man pages to explain their use. Man pages also come in handy when you are using multiple flavours of Unix or several Linux distributions since options and parameters sometimes vary.

When you use the man command to access a manual to some particular keyword, the manual that you see on your screen seems somewhat hard to understand. However, users typically find them to be increasingly useful as they become more familiar with them and gain experience in the use of Unix-like operating systems.

The man command itself is very easy to use. The syntax of man command is :
man [option(s)] keyword(s)

man is most commonly used without any options and with only one keyword. The keyword is the exact name of the command or other item for which information is desired.

For example, the following provides information about the ls command (which is used to list the contents of any specified directory):
man ls

 As another example, the following displays the manual guide (man page) about the man pages:
man man

Man Sections :

Each man page is a self-contained article that is divided into a number of sections, the headers for which are labeled with upper case letters. The sections for commands are typically something like NAME, SYNOPSIS, DESCRIPTION, OPTIONS, AUTHOR, BUGS, COPYRIGHT, HISTORY and SEE ALSO, although there may be some differences according to the particular command. Some of these might be broken down into subsections, particularly OPTIONS in the case of a command that has numerous options. 

The manual writes a colon at the bottom of the screen to indicate the end of the on-screen page. The user can move to the next page by pushing the space bar and can return to the previous page by pressing the b key. Pressing the q exits the man pages and returns the user to the shell program.

There are many different types of commands, files, functions, system processes, etc. for which a user manual is required for understanding the things. On the other hand, man is a single command which provides a manual for all these. Hence, proper sub-divisions of these data became important.

The man pages as a whole are organized into sections, each containing pages about a specific category of topics as shown below. The section to which an article belongs is indicted in parenthesis in the top line, before the NAME header.
1. executable programs or shell commands
2. system calls
3. library routines
4. special files (i.e., devices in the /dev directory)
5. file formats
6. games
7. macro packages
8. system administration commands
9. kernel routines
n. Tcl/Tk (a programming language)

Some topic names will have multiple articles, depending on context. For instance, there are two articles for mount, one corresponding to its use as a command in system management (i.e., to logically attach partition or other devices to the main filesystem) and the other for use in the C programming language. Generally, the most commonly used topic is displayed by default, and there are references to any other topics with the same name in the SEE ALSO section at the bottom of the final on-screen page.

The syntax to specify an article from a particular section is:
man section_number keyword
Thus, for example, the following would display the article about mount from Section 2 instead of from the default Section 8:
man 2 mount

Commands similar to/used with man :

There are many commands which are used along with man command, or they perform a task which can also be performed by man command. Some of them are explained below :

whatis :

To see just the description of a manual page, use whatis followed by a string. For example, whatis route shows the description of route command. The syntax is :
whatis string

For example,
whatis route

whereis :

You can find the location of a man page for a particular command, file or keyword in general. The location of a manpage can be revealed with whereis. The syntax is :
whereis -m keyword(s)
Here, -m is an argument which refers to manual. One can interpret the syntax as : where is the manual for the given keyword.

For example,
where -m ls
This will provide you the location of manual of ls command.

Unix-like operating systems often also have an additional built-in manual referred to as the Info documents, the content of which is largely identical to that of the man pages. These documents can be accessed with the info command.


For a reason that I have to maintain size of my article, I cannot provide you with screenshots of each and every command. So better try to run the commands by yourself and if any queries, kindly comment your queries below.

Saturday, 11 March 2017

Concept of SuperUser in Linux


You might have read my last article which explained the steps of installing Linux with the help of VirtualBox. Now, we are going to see some tricky stuff on Linux. Linux is mainly used in creating servers and building different OS like Android. But before we go that deep, our concepts about an Operating System must be clear. Don't worry as we are not going so hard with Operating Systems but the clearance of basics is must..!

You might have heard about rooting your Android device gives you much extra features on your device. Also, after installing Linux on your PC, one might have a question about how to install Linux on Android device. To learn all these, the knowledge about the concept of superuser is important. So, let's start.

You might have seen the phrase - "Install (as superuser)" written on top-left of the screen when installing Linux. That means that when you are installing an OS, the OS is first installed as superuser mode and then you create separate accounts as per your use. You might be aware about the word "administrator" when using windows OS. The admin account is the one, which has a complete control over the system and files in the system. Though Windows doesn't permit a total control to an admin account too as it is not an open-source project. But this is not the case with Linux.

In computing, the superuser is a special user account used for system administration. Depending on the operating system (OS), the actual name of this account might be root, administrator, admin or supervisor. In some cases, the actual name of the account is not the determining factor; on Unix-like systems, for example, the user with a user identifier (UID) of zero is the superuser, regardless of the name of that account. That means, in Unix-like systems, we can rename a superuser account name (generally named root) to the name we want. Its because, the name of account is not of prime importance. The system identifies a user account by a unique identification number called UID. Hence, renaming the account will not change its ID.

The word root also has several additional, related meanings when used as part of other terms, and thus it can be a source of confusion to people new to Unix-like systems.

One of these is the root directory, which is the top level directory on a system. That is, it is the directory in which all other directories, including their subdirectories, and files reside. The root directory is designated by a forward slash ( / )

Another is /root (pronounced slash root), which is the root user's home directory. A home directory is the primary repository of a user's files, including that user's configuration files, and it is usually the directory in which a user finds itself when it logs into a system. /root is a subdirectory of the root directory, as indicated by the forward slash that begins its name, and should not to be confused with that directory. Home directories for users other than root are by default created in the /home directory, which is another standard subdirectory of the root directory.

Click to view full size image

After trying to open the root user's home directory, you might be having a question that why aren't you able to open the directory even if you are logged in as the administrator. As I said before, admin and root are two different terms with same meaning. Hence, you should be able to open the /root subdirectory, but it is not happening. This is because, linux also cares about its security when providing you control over it. Messing with the files inside /root directory may be harmful for the system and leave a negative impact. That is why Linux has blocked you from accessing the /root directory. You will know about it more when we study shell scripting in Linux. There are two commands namely "su" (SuperUser) and "sudo" (Superuser Do). The su command is used by the root users having access to /root directory while the sudo command is used by the admin who hasn't granted root privileges.

Root privileges are the powers that the root account has on the system. The root account is the most privileged on the system and has absolute power over it (i.e., complete access to all files and commands). Among root's powers are the ability to modify the system in any way desired and to grant and revoke access permissions (i.e., the ability to read, modify and execute specific files and directories) for other users, including any of those that are by default reserved for root. 

The root account with root privileges assigned has the power to access /root directory. Here, the whole case is similar to admin account in Windows. Though you are the admin, you will be prompted to open any file with admin privileges. Or else, you have to right-click on the file and select "run as administrator" to grant the file administrator privileges. But when you activate a separate administrator account in windows (it is always hidden by default for the case of security), you will never be prompted or you never have to grant any file administrator permission. This is because, the system trust all the tasks performed by the administrator. There is always a difference between your account type "admin" and the administrator account itself.

Click to view full size image

A rootkit is a set of software tools secretly installed by an intruder into a computer that allows such intruder to use that computer for its own, usually nefarious, purposes when desired. Well designed rootkits are able to obtain root access (i.e., access to the root account rather than just to a user account) and to hide most or all traces of their presence and activities. 

The use of the term root for the all-powerful administrative user may have arisen from the fact that root is the only account having write permissions (i.e., permission to modify files) in the root directory. The root directory, in turn, takes its name from the fact that the filesystems (i.e., the entire hierarchy of directories that is used to organize files) in Unix-like operating systems have been designed with a tree-like (although inverted) structure in which all directories branch off from a single directory that is analogous to the root of a tree.

These things aren't easily understandable. You might be still having doubts like difference between gaining root access and having an administrator (root) account. Also, you might be wondering about how to gain root privileges by activating the hidden root account. All such questions will be cleared in my next article where I will show you how to activate the root account to get root pemissions. And then we will try to open the /root directory with that account.

Still having questions..! Ask your questions in the comment box provided below..

Saturday, 4 March 2017

How to install Linux via VirtualBox on windows..!


You might have seen my previous posts on What are the methods available to install Linux on windows and Why is VirtualBox the best option to install Linux. So, in this article I am going to explain you how to use virtualbox and install Linux OS on it. Let's Start..

First of all, we need to install VirtualBox on windows. For that, you can search Google for "VirtuaBox for Windows download" or else follow the below steps :
  • Visit : Official VirtualBox Website
  • In this page, you will find : VirtualBox x.x.xx platform packages (where x.x.xx says the latest version of virtual box that you are going to download)
  • Under this text, you will be provided with 4 labels namely; Windows hosts, OS X hosts, Linux Distributions and Solaris hosts.
  • As we are going to install it on windows, we click on the first link (first label).
  • Download will start automatically.

Click to see full size image

Now that the download is complete, install VirtualBox in you PC. I don't think that you need any help for this. But still if there is any problem, ask for solutions in the comment box provided below.

After installation of VirtualBox gets completed, follow these steps to start installing Linux system. Note that before you move forward, you will need a Linux system iso file. Also it depends on the distribution you want to install. I am going to install Ubuntu on my virtualbox, so I am having Ubuntu iso with me. You can easily download iso from the official sites. If you are confused with which distribution to install, visit this article.

Now, the installation is divided into two parts. One includes creating a new virtual drive on your HDD using virtualbox and the second part includes installing linux system on that virtual drive. If you know who to install a Linux system, the second part can be neglected. Also I am telling you clearly that the second part is dependent on the Linux Distro you are going to install. Here, I am going to install Ubuntu, so the second part will constitute the topic : How to install Ubuntu linux. If you want to install any other linux distro, just search Google for How to install xyz linux.

A complete information about the prerequisites is made above. Now let us start with installation. (I think you all are ready with you VirtualBox installed and a linux iso downloaded.)

Part-1 : Creating a new virtual drive using virtualbox

Step 1 : Open VirtualBox. On the toolbar, click on New.

Click to view full size image

Step 2 : A new window will pop-up. In that fill in the name you want to give to this virtual drive and select the OS that you are going to install on that drive. Generally, virtualbox is smart enough to decide the OS based on its name but the version part needs to be modified manually. As in my case, I am going to install 64-bit OS but virtualbox takes the 32-bit version by default. So set the values manually as per my preference. After setting values, click on Next.

Click to view full size image

Step 3 : Here, you will be asked to select an amount of RAM you want to allocate to this virtual OS. Make sure that you allocate enough RAM for virtual OS to run but also note that there is enough RAM left for our host OS (here Windows) to run. If you want to use Linux for general purpose, 512MB of RAM will work. But if you have 8GB of total RAM, I recommend you to provide this system atleast 1GB for better performance. After allocating proper amount of RAM, click Next.

Click to view full size image

Step 4 : Here, you will be provided with options to create a new virtual drive or use an existing virtual drive. If you have used virtualbox and created a virtual drive before, you can select that option to use an existing virtual drive. But as we are new, we will create a new virtual drive for this process. Select "Create a virtual hard drive now" and click on Create button.

Click to view full size image

Step 5 : Now, you will be asked to select a file type for this newly created virtual hard disk. I recommend you to select "VDI (VirtualBox Disk Image)" in this step. (Don't try to mess with partitions unless you are an expert.) Select the type and click Next.

Click to view full size image

Step 6 : Now you will be asked to select type of storage on your physical hard drive. Static will allow you to give a fixed memory location to your virtual drive. While dynamic will allow machine to dynamically allocate storage when necessary. Generally, we must allow the virtual machine to allocate storage location. So, select "Dynamic" in this window and click Next.

Click to view full size image


Step 7 : In the last step, you gave type of location to the virtual drive while here you will be providing a name and the size of that virtual drive. (If you are familiar with dynamic memory allocation in C language, this step would be easily understandable by you. Its similar creating a pointer variable and allocating it memory dynamically.) Also, note that the size that should be allocated depends on the type and version of OS you want to install. As I am going to install Ubuntu Linux, I am allocating it 8GB of size because the developers of Ubuntu say that 6.6GB is enough for the OS to give its best performance. After allocating size, click Create.

Click to view full size image

Step 8 : Wait for a sec and then you will see that the virtual drive is created.

Click to view full size image

You can see the newly created drive on the left side of the window. You can select it and modify its settings and much more. But it is not a part of this tutorial. Now, let us see how to install Ubuntu on this drive.

Part-2 : Installing Ubuntu on newly created virtual drive

Step 1 : Double click on the newly created virtual drive to open it. Or else select the drive and click on Start button in the toolbar. Now, you will be asked to select an iso to boot the drive with. If you are asked to select an iso file, goto step 3 and then jump to step 5. But if you are not asked to select a file or you messed up with this selection, just close the virtual drive and restart it. You will see something like this. (Note that steps 2 and 4 are only used when you messed up with file selection in starting.)

Click to view full size image

Step 2 : Now, click on Devices tab in the menu bar and the click on CD/DVD Devices. Then select "Choose a virtual CD/DVD disk file..".

Click to view full size image

Step 3 : Now, a file-explorer window will pop-up. Select the iso file from the particular location and click Open.

Click to view full size image

Step 4 : Now, after selecting the disk, restart the virtual drive and press F12 repeatdly as soon as it starts to open the Boot Manager. Now, select option "CD-ROM" from the list provided. Here, I am pressing "c" to select that option.

Click to view full size image

Step 5 : Now, wait for some time for disk to load. Then in the window shown, select "Install Ubuntu".

Click to view full size image

Step 6 : Click "Continue" in the next window shown.

Click to view full size image

Step 7 : In the next step, select "Erase disk and install Ubuntu" and press the Install now button.

Click to view full size image

Step 8 : Here, you will be displayed with a warning message "Write changes to the disks?". Just click on Continue.

Click to view full size image

Step 9 : Type the country you are in and click Continue.

Click to view full size image

Step 10 : Select the keyboard layout you are using. By default, we all are using English(US). Select it and click on Continue.

Click to view full size image

Step 11 : Now, set a username and password for your virtual-PC. And click on Continue.

Click to view full size image

Step 12 : Wait for about 10-15 minutes and then you will be prompted that the installation is complete. Also you will be asked to restart the virtual-PC but do not restart it. Just close the dialogue box and select shut down. Then restart. If you clicked on "restart now", do not worry about the errors it shows, just close the virtual-PC and restart it as mentioned above.

Click to view full size image

Step 13 : After restarting, you will be asked for password to login the user account you created. And then, the Ubuntu starts...Enjoy.

Click to view full size image

If you still have any queries, post it in the comment box provided below..

Thursday, 2 March 2017

Why use Virtual Box - The Best way to Run and Use Linux..!


In my previous articles, I explained some of the methods used to install Linux system on Windows OS. So, today in this article, I will just tell you why to use VMWare instead of any other method. Why is using Virtual Machine the best method?

We have seen so far many methods and the main or the basic methods of installing Linux are :
  • Dual Boot
  • Running Live
  • Using VirtualBox
The other methods are very less used due to its limited functionality. Here, I will tell you why VirtualBox is best compared to the remaining two.

Dual Boot :-

Dual Boot is the method where you have to create separate partitions for Windows installation and Linux installation. This method includes creating and formatting partitions on HardDisk. Formatting a partition does not only mean to format it and clear all the data. But it also includes specifying Partition Type, Size and other things.

The hardest of all is Partition Type. As new versions are launched, the type of HDD partition they use are also changed. Example : Windows 10 uses GPT type partition while older versions used FAT and NTFS type system partition. Also, Linux uses EXT type partitions. Not only that but different versions of EXT are also launched like EXT1, EXT2, EXT3 and EXT4.

Also, sometimes problems occur when installing different OS on other partition type. Many have faced a problem when installing Windows 10 on old HDD partitions.

Disadvantages :
  • Messing with partitions (Only experts can handle this)
  • A Disk Partition is always occupied whether you use that OS or not. 
  • Only one OS can run at a time.
  • You cannot do simultaneous job on both Operating Systems.
  • Need to install separate device drivers on both the partitions for both the OS.
  • And many more...

Running Live :- 

Running Live is an option available when installing Linux from a CD or a bootable USB. It helps us to run Linux without installing it.

Just insert the bootable drive and choose Live option. Wait for a few seconds for initialization to take place. And you are done.

Disadvantages :
  • Cannot be used for permanent job to be done. Helps only when you want to use Linux tempoarily about an hour.
  • Your previous work - that you did before system was shut down, will not be saved.
  • You need to install drivers every time you use it if device doesn't work properly.
  • Sometimes, you need to mount your other partitions of HDD to access data of that partition.
  • And many more...

Using VirtualBox :-

Using VirtualBox will eliminate all the limitations listed above. So, it the best as per my suggestion.

But as I told previously, all the methods have its unique importance and so other methods are not bad. Instead they are the best when it comes to their field of work. 

But VirtualBox is the best when it comes to use Linux along with Windows everyday.

Below are the Official Links to Download VirtualBox :

Saturday, 25 February 2017

Different ways to run Linux Softwares on Windows..!


So far we have covered important and basic concepts of Linux. Here is a small list of topics covered :
As I told in my last article that we will see how to install Linux in next article. But as I got one question in mind and the line to tutorial changed. I bet many of you don't know about the stuff I wrote in this article. So let's start..

I know that everyone of us is using Windows Operating System now-a-days. But as now you also know the importance of Linux, you might be willing to install Linux on your PC. But you might be afraid to lose Windows OS. So, here I will provide a guidance to install Linux over Windows Machine.

You might be knowing the two methods of installing Linux :
  1. Creating a separate partition on HDD and installing Linux on it.
  2. Running Linux Live without installing to get it temporarily worked.
But here are some other methods which are easier and better to creating separate partition and running temporarily. (If you don't know the above two methods, don't worry.. I will provide the tutorial in my next article.)

Virtual Machines

Virtual machines allow you to run any operating system in a window on your desktop. It allows you to run Linux in a separate window on Windows OS, just as we are using software in a separate window. You can install the free VirtualBox or VMware Player, download an ISO file for a Linux distribution such as Ubuntu, and install that Linux distribution inside the virtual machine like you would install it on a standard computer.

When you need to boot up your Linux system, you can do it in a window on your desktop — no need for rebooting and leaving all your Windows programs behind. Everything but demanding games and advanced 3D effects should work just fine, but you likely won’t want to use those, anyway.

Ubuntu’s default Unity desktop uses 3D effects and the desktop interface doesn’t perform as smoothly in a virtual machine as past desktops did. Xubuntu uses Xfce, which is much more lightweight. So, you can install Xubuntu as an option to Ubuntu.

You could even try using VirtualBox’s seamless mode or VMware’s unity mode to run Linux applications directly on your desktop - they’ll be running in the virtual machine, but their windows will be present on your Windows desktop instead of trapped in a single virtual machine window. It's like using two software applications in different windows at the same time (E.g. VLC and Browser).

More information about using VirtualBox, its advantages and installing different OS is a part of separate tutorial. Also you can install more than one OS on VirtualBox. Hence, it is not limited to installing only one OS. You can install different Linux Distros like Kali, Ubuntu, Debian at the same time without partitioning your HardDrive.

Click to view full size image

Cygwin

Cygwin is a collection of tools that offer a Linux-like environment on Windows. It’s not a way to run existing Linux software on Windows - the software will have to be recompiled. However, much software has already been recompiled. Cygwin will give you a Linux-like terminal (not exactly Linux) and command-line environment with many of the command-line programs you may already be used to.

We will later see installing and using Cygwin. You can even use Cygwin to install an OpenSSH server and get SSH access to a Windows system.

This solution is ideal for users missing crucial Linux utilities on Windows — it’s not a way to run a full Linux desktop.

Click to view full size image

Install Ubuntu via Wubi

This method is technically installing Linux, not running Linux software on Windows. You’ll have to reboot each time you want to use your Linux system just as if you had installed it in a standard dual-boot configuration.

However, Wubi doesn’t install Ubuntu in the normal way. Instead, it creates a special file on your Windows partition and uses that file as your Ubuntu drive. This means that you can install Ubuntu and use it without any partitioning and you can uninstall Ubuntu from the Windows Control Panel when you’re done. It is similar to installing and using any application software and uninstalling it when the job is done.

If the partitioning your HardDisk is holding you back, give Wubi a try. Performance won’t be quite as good as a normally installed Linux system when it comes to disk read and write times, but it should be faster than a virtual machine. Here, you can install Ubuntu without partitioning your HDD is the main advantage.

Click to view full size image

Ported and Compiled Programs

Many common Linux programs have already been ported to Windows and compiled versions have been made available online. If you really miss Emacs (Linux text-editor), you’ll find versions of Emacs for Windows. If you want to run a specific program on Windows, perform a Google search for the name of that program and “Windows” — there’s a good chance you’ll find a version of the program that ‘s been ported to Windows.

This trick is mainly used when you want to run only a single software available in Linux on your windows. Instead of installing complete Linux OS, you can find the compiled or ported version of that software for windows.

Click to view full size image

The above were several methods available to use Linux on Windows. Now, it depends on individual which method to use, depending on his/her preference and work.





Saturday, 4 February 2017

Linux Distributions - An Easy Guide


If you have read my previous article and are still confused on how are Linux Distros different and which one should you select to install it on your system, then this is a easy guide for you.

In any distribution, the fundamentals stay the same:

  • There is always a Linux Kernel (the core component of the Linux operating system)
  • The default GNU software (tools like ls, rm, etc)
  • General software to be expected of a Linux distribution (text editors, etc)

What differs from distribution to distribution is usually:

  • Installation Software (for installing software, or the operating system)
  • General software: (Office Apps, Prog. Languages, Games, Web Software etc)
  • Documentation and Manuals (Quality of, Lack of, Quantity of)
  • Cost – whether you pay nothing, a little, or a lot for a distribution depends on what you need from it and the business model the distributor works to.
  • Quality of software (buggy or not buggy software, latest versions of software)
  • Whether it is up to date or not
  • Whether the distributor offers a good channel of support or not
  • How easy it is to use overall.

You get Linux, whatever distribution you choose. You may get a better range of options with distribution X over distribution Y, The choice is for you to decide, and because of Linux’s excellent Copying/Licensing properties, you can often download a distribution from the net, or have a copy made for free by a friend without having to part with any cash.

Bundled Software with your Linux distribution

When you buy a mac, or a Windows PC you will find you get a nominal amount of software with it, made (usually) by either Microsoft or Apple. If you buy the PC from a vendor such as HP, you might get some extra tools as well like Multimedia software, but what you will undoubtedly notice is that you have to buy or download most of the software you want to use on your system. With a Linux distribution, you generally find that it comes with some important softwares already pre-installed. Some large software like office suites (OpenOffice.org) to smaller but powerful tools like DVD/movie software such as VLC.

Small guide on 'Live' Distributions

In today's time, so called ‘Live’ distributions have become very popular, because it let’s you try out a Linux distribution without even installing it onto your hard disk. This is great because you don’t have to repartition the disk (will be referred in next article) or install it over your Windows/Mac OS software. You can simply drop the CD or USB for a Live Distro into your CD Drive or USB Port and start up your computer from that. You usually get most of the main functionality of the distribution so you can really evaluate if the distribution is for you before you choose to install it for real. Canonical’s Ubuntu Linux has a great installer that has an option to install Ubuntu on the same disk partition as your Windows XP or Vista setup using an installer called the ‘wubi installer’. It runs a tiny bit slower than normal Linux, but it’s a very easy way to install Linux alongside Windows if you want to test it first. Also Live Linux can be used when you want to operate your HDD when you have forgotten your Windows user account password. There are many more uses which we will discuss in my upcoming articles.

Why should you buy Linux even when it is available for Free?

Buying Linux often provides us with extra benefits that downloaded-free versions do not provide, such as:
  • Physical manuals (SuSE & Red Hat Enterprise Linux are particularly good) to help you out when you need a complete reference.
  • Vendor support for a particular period of time
  • Distributions like Red-Hat Enterprise give corporations a guaranteed Service Level Response
  • Sometimes you may get more software than with other distributions (eg extra DVDs instead of downloads).
  • Commercial software titles can be included (as it is non-free), these can include copyrighted or patented technologies such as DVD and MP3 players, as well as commercial software like Adobe Flash Player and so forth.

Which distribution to choose? 

Below are some opinions which will help you choose your Linux distro.
  • Red Hat Enterprise (RHEL) - You are a manager and you want a good support contract.
  • CentOS - You want Red Hat without the support contract from Red Hat.
  • Fedora - You want Red Hat on your laptop/desktop.
  • Linux Mint - You want a personal graphical desktop to play movies, music and games.
  • Debian - Some people's personal favorite for servers, laptops, and any other device.
  • Ubuntu - Very popular, based on Debian.
  • Kali - You want a g hacking interface.
  • Others - Advanced users may prefer Arch, Gentoo, OpenSUSE, Scientific, ...

Wednesday, 1 February 2017

Different Linux Distros


Now that you know what makes a Linux distribution, you may be wondering where to start looking. For those looking to branch out, there are hundreds of distros out there, and it can be pretty overwhelming. Choosing between hundreds is a hard task to do. But here, I will provide you a short article which will make you clear the basics and let you choose between.

NOTE : There are only few main Distros. Other Distros are simply made taking any one distribution as a base.

Ubuntu : 


If you have tried Linux before, you might be aware about Ubuntu. But if not, here is a small guide on it. The original aim of Ubuntu was to make Linux easier for the average user, and it did a pretty good job - it's a great beginner's distribution. It's fairly simple to use, updates every six months, and now contains its own Unity interface, which is specific to Ubuntu, featuring things like a dock instead of a taskbar, an App Store-like interface for its package manager, a dashboard for easy searching of the OS, and more. Ubuntu comes with a pretty standard set of apps, including Firefox, Thunderbird, Empathy for instant messaging, Transmission for downloading torrents, and more. It has a ton of programs available in the repositories, or online as packaged DEB files for one-click installations. Rarely will you have to build a program from source (compile to form setup using code available).

Linux Mint :


Linux Mint is actually based off Ubuntu, but I thought to include it here because it has become even more popular with Ubuntu's shift toward the unpopular Unity interface. Mint aims to be as easy as possible for users unfamiliar with Linux: the installation is pain-free, the menus are familiar and easy to use, and unlike other distros, it doesn't commit itself to providing only free and open source software, i.e. it comes with things like Adobe Flash, MP3 support, and some proprietary hardware drivers preinstalled. In other distros, you usually have to download these separately. It uses the same package management system as Ubuntu, so all the programs available for Ubuntu also runs on Mint. If you are new to Linux, I highly recommend you to use Mint.

Fedora :


Fedora aims to be a bit more on the cutting edge of all its software. Updates come out every six months, just like Ubuntu and Mint, but they aren't supported for very long. It's expected that users update regularly and as soon as possible. Programs like Firefox will be updated as soon as Mozilla releases an update, unlike Ubuntu, which will usually wait to make Ubuntu-specific changes to the code and release things later on. This can result in a bit more instability, but is great for those that always want the latest and greatest software on their system. It also updated to the GNOME 3 Shell very quickly, and is the most popular Linux distribution currently using it. Fedora uses the somewhat slower but easier to use Yum package manager, instead of Ubuntu and Mint's APT. It doesn't have all the softwares available that the others do, but you can still find most of what you need in the repositories or online in a single-click installer. Fedora also has great security and enterprise features, if you're looking to use Linux in a more professional environment.

Redhat/CentOS :

RHEL (Red Hat Enterprise Linux) is the non-free Enterprise version offering of Fedora distribution. It comes with full telephone based support and is backed by rigorous testing. CentOS is the free version which is derived from RHEL but usually trails behind it and of course does not come with enterprise support.

Debian :


Debian, in many ways, is the opposite of Fedora. Its goal is to be as stable and bug-free as possible, which it does very well. It means that your system is rarely up-to-date with the latest versions of software. New releases come out every 1 to 3 years. However, if you're looking for something as stable as a rock, and don't care about always having the latest version of a piece of software, Debian is for you. Debian also uses the same package management structure as Ubutnu and Mint, so it has more programs available than you can shake a stick at - both in the repositories and online as DEB files. It also supports many processor architectures, which is great if you have a particularly old build.

OpenSUSE :


OpenSUSE is a general-purpose Linux distribution that has a very helpful community. Its main draw over other distributions is its level of configuration. KDE is the default desktop (which in my experience is one of the most easily configurable), though it lets you choose between KDE, GNOME, LXDE and XFCE during the installation, which is pretty cool. It also has a very nicely done system administration utility and package manager, known as YaST, as well as great documentation and (as previously stated) a good community behind it. OpenSUSE is a good distro to try, since it gives you a lot of configuration options without the need to go into the command line.

 Arch Linux :


Arch Linux is special. Arch doesn't have many of its own characteristics, since when you install it you're installing it from scratch. All you have when you install it is a command line, from which you build up your desktop environment, drivers, preferred applications, and more. Essentially, you're creating your own super customized distro. It can be as minimal or heavy as you want, and while it takes a lot of work, the end result is fantastic (plus you'll learn a ton about how Linux works in the process). Arch uses the incredibly easy and powerful Pacman package manager, and there are no "official" releases - you're always installing the latest version of whatever packages are included. Arch also contains the Arch User Repository (AUR). It essentially allows the community to create easily installable versions of any program, so even if it isn't in the official Arch repos, you can use an AUR helper to install all those programs as if they were normal packages in the repositories.

Monday, 30 January 2017

Linux Distro - Introduction


Before we start installaton of Linux, we must choose from its different distributions available according to our requirement. So, here I am going to tell you about Linux Distributions.

If you’ve heard anything at all about Linux, you’ve probably heard of Linux distributions – often shortened to “Linux distros.” When deciding to use Linux – on a desktop computer or server – you’ll first need to choose a distro.
For many people, Ubuntu has become synonymous with Linux. But Ubuntu is one of many distros (and not the Linux itself), and you have a lot of choice when it comes to Linux.

What Is a Linux Distro?

A Linux distribution (often abbreviated as distro) is an operating system made from a software collection, which is based upon the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems.

Linux isn’t like Windows or Mac OS X. Microsoft combines all the bits of Windows internally to produce each new release of Windows and distributes it as a single package. If you want Windows, you’ll need to choose one of the versions Microsoft is offering.

Linux works differently. The Linux operating system isn’t produced by a single organization. Different organizations and people work on different parts. There’s the Linux kernel (the core of the operating system), the GNU shell utilities (the terminal interface and many of the commands you use), the X server (which produces a graphical desktop), the desktop environment (which runs on the X server to provide a graphical desktop), and more. System services, graphical programs, terminal commands – many are developed independently from another. They’re all open-source software distributed in source code form.

If you wanted to, you could grab the source code for the Linux kernel, GNU shell utilities, Xorg X server, and every other program on a Linux system, assembling it all yourself. However, compiling the software would take a lot of time – not to mention the work involved with making all the different programs work properly together.

Linux distributions do the hard work for you, taking all the code from the open-source projects and compiling it for you, combining it into a single operating system you can boot up and install. They also make choices for you, such as choosing the default desktop environment, browser, and other software. Most distributions add their own finishing touches, such as themes and custom software – the Unity desktop environment Ubuntu provides, for example.

When you want to install new software or update to new versions of software with important security updates, your Linux distribution provides them in precompiled, packaged form. These packages are fast and easy to install, saving you from doing the hard work yourself.

In short, Linux Distro is an OS made by combination of group of packages. These packages are not system softwares but are used for a specific purpose. In windows, we have a single package which does all the work but as Linux is developed by different organisations, it is compromised of different packages installed according to the purpose of the developer. Here, they take the source code of a package and complie it, get it installed on the system. A Linux Distro is an OS and every distribution differs from other by the set of packages available and its purpose.

Popular Posts