7

I've been blindly copy pasting code that contains these keywords to install programs and having migrated from Windows, I don't quite understand what they mean. Can anyone explain them and their significance with their similarities/differences?

Also, I would like to know how do you know the answer to this question? I mean, since I am learning to use Ubuntu now from barely any prior experience, how should I have know this answer? Where should I have looked for it, apart from Googling, which I tried only to find answers not satisfying/clear enough.

2 Answers 2

10

As Garry says, they're applications that install and remove software from Ubuntu's software repositories, amongst other tasks. If you've no idea what that means, let's step back one further:

  • Software (like Firefox, GIMP, xchat, etc) is compiled and then packaged into *.deb files.
  • These debs are essentially installers. They contain all the files that get copied into the system as well as scripts that allow it to depend on (or conflict with) other known packages.
  • If you install Firefox from a package, apt and dpkg (the applications that processes the dependencies) will make sure you have its dependencies installed first and if you haven't, it'll grab those packages too.
  • Packages are stored in online repositories as big lists.
  • Apt is the tool (or set of tools) that downloads all these lists from various sources, combines them and allows you to select certain packages for installation.
  • The benefit to all this is you can install a lot of software without having to hunt for it. More than that, the software in the official Ubuntu repositories is maintained so that if security fixes are released, they're applied and a new package is created. When apt next checks for updates, it sees the new version and you're prompted to download it.

I won't say apt-get/aptitude are useless because they're not, they're both very powerful utilities and like a lot of CLI-vs-GUI comparisons, if you know how to use them, they're a good deal faster than the Software Center.

But punching in random commands without knowing what to expect is a recipe for disaster. It only takes one bad/clumsey person to suggest a destructive command and you'll nuke your system. If you don't know what something's going to do either:

  • Ask.
  • Run man <command> (eg man apt-get) to see the manual page for a specific application.

The command line in Linux systems is a good few hundred thousand times more powerful than it's Windows counterpart. You have to treat it with respect or it will bite your legs off.

3
  • 1
    @ Programming Noob- I would like to add ( since me too a Beginner) , You can Refer them here aptitude, apt-get, also you can view man pages graphically through xman .
    – atenz
    Jun 27, 2012 at 10:05
  • @Oli sorry for getting back so late. I have another question, who maintains apt and aptitude? And where does the software center get its files from? Does it use apt and aptitude in the back-end? Jul 22, 2012 at 0:58
  • @ProgrammingNoob Assume Debian runs the main projects (apt/dpkg/aptitude all certainly are). Software centre pulls its database from and interacts with apt through AptDaemon (which relies on PolicyKit for permissions) but also does some things (purchasing listings, screenshots, etc) which aren't part of apt at all. AptDaemon seems to be maintained separately from Debian or Ubuntu.
    – Oli
    Jul 22, 2012 at 14:14
4

Apt and aptitude are command-line software tools to manage application packages. Essentially they install and remove software. If you're new to ubuntu you shouldn't really need to use them at all, because the ubuntu software center is the graphical application to take care of such things.

1
  • @Gary Cairns, thank you. Could you also tell me, who maintains apt and aptitude? And where does the software center get its files from? Does it use apt and aptitude in the back-end? Jul 22, 2012 at 0:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .