Tuesday, September 25, 2012

Finding software add-ons using terminal in ubuntu

          You can install any program/software/package via Terminal with the following command "sudo apt-get install <program/software/package name>". It will always work. But,if you install it via Ubuntu Software Center, it also suggest for a few add-ons which are many times useful.

            Now, the question is : When we try to install a software via Terminal and this software has add-ons, how do we know that? And how do we install the add-ons via Terminal?

         One of the way is that we have to know the names of the add-ons first, and then install them one by one, once the main software has already been installed. But how do we get to know those names via Terminal? Using the Software Center is cool because it shows the add-ons, a brief description for each one and their names in brackets, right? How about doing the same via Terminal?

           These add-ons are suggested packages which are meant to enhance your experience with the program/software/package . But those are not essentials for the program/software/package to work properly.
           In terminal, you can know the add-on names (at least some of those) by using apt-cache depends <program/software/package name> command. The add-on names will be shown under "Suggests:" section. For example:

apt-cache depends k3b | grep Suggests

k3b

  Suggests: k3b-extrathemes

  Suggests: normalize-audio

  Suggests: sox

  Suggests: movixmaker-2

  Suggests: libk3b6-extracodecs

  Suggests: vcdimager
 
           Please note that, suggested packages are not essentials. Also note, apt-get will install packages which are essential to run the program/software/package (called dependency) and those packages which are recommended.

Therfore,
  • A depends packages in one, which is required to run the software.
  • A recommended package in one, which is required for the software to be functional.
  • A suggested package in one, which can enhance the usability of the software.
        Please note that , Ubuntu install first two category of the software by default from both Software Center and from terminal. So, you are not loosing anything essential. But still you can install them. Also note, Software Center does not install them automatically.

            If you want to install suggested packages from terminal, you can use this command 

sudo apt-get --install-suggests install k3b 

      This command will install all the suggested packages as well as dependency and recommended packages.

           If you want to configure apt-get permanently to automatically install suggested packages also, You can do this:
  • Create a file in /etc/apt/apt.conf.d with name 99mysettings
  • Open the file in gedit 
               gksu gedit /etc/apt/apt.conf.d/99mysettings
  • Then add the configuration option in that file
              APT::Install-Suggests "true";
  • Then save the file and exit gedit.
         From now, the suggested packages will also get installed automatically by apt-get. Please note that, apt-get will only install those packages if it finds them in any repositories, Otherwise, it simply ignores them and proceed with installation.

Technical difference between daemon, service and process

Technical difference between daemon, service and process

Daemons :-  They are the processes which run in the background and are not interactive. They have no controlling terminal. 
                 They perform certain actions at predefined times or in response to certain events. In *NIX, the names of daemons end in d.
 
Services - In Windows, daemons are called services.
                   If you're wondering why *NIX has a command named service, it is just used to run init scripts (shorthand for initialization scriptrunlevel).

Process - Process is a running program. At a particular instant of time, it can be either running, sleeping, or zombie (completed process, but waiting for it's parent process to pick up the return value).