Assuming that you've fetched the Pacman tarball and sourced the appropriate setup.csh or setup.sh, make an empty test directory and try
% pacman -version
This will show you what version of Pacman and Python you've got and what platform Pacman thinks it's running on.
[ If this fails with an ugly Python traceback, the most likely reason is a missmatch between the version of your Python compiler and the Python standard libraries you are using. Check the $PYTHONROOT environment variable or consult your admin. ]
Now let's install a nice motif based text editor called nedit. First you have to decide where you want the software to be installed and cd to that spot in the file system. After cd-ing, do
% pacman -get nedit
The first thing that happens is that you get asked: Do you want to start a new installation?. If you say "yes", Pacman starts a new installation in the current directory. You can have as many of these as you want on a single machine (later on you will find that you can connect them as "relative installations"). You might get confused if you don't realize that Pacman commands always refer to the installation in the current directory. If you cd to a new directory and to any Pacman command, it will again ask you if you want to start another new installation. Anyway, assuming that % pacman -get nedit has worked, do % pacman -info to launch a web browser and display a page showing your local installation including
% pacman -registry
Since Pacman can execute shell commands, you should only add to the list of caches if you trust the source.
Even if you trust a cache, you still might want to be cautious. You can be cautious in Pacman by using -ask which causes Pacman to stop and ask for permission before executing any shell commands. For an example of this, try
% pacman -removeall
% pacman -get -ask nedit
to remove and re-install nedit more carefully. To be even more cautious, you can separate the -get into two steps:
% pacman -fetch nedit
% pacman -install -ask -verbose nedit
The advantage of this is that you can see the downloaded files before committing yourself to going forward with the installation.
For almost all Pacman commands (even just % pacman), the web page is updated, Pacman checks if the software has been updated and Pacman also updates the files setup.csh and setup.sh. The point of these last files is that once the software is set up, doing
% source setup.csh
(from any location) sets up environment variables, aliases and whatever else is needed to actually use the software that you have installed. There is often a demo provided such as
% nedit_demo
Pacman works by using "caches" of files like nedit.pacman. A cache is simply a URL or local file system location containing files with .pacman suffixes. These files determine how the software is fetched, installed and setup. If you read the tutorial about setting up your own caches, you can find out how to do this for yourself. It's easy.
Now let's start from scratch again (do % pacman -removeall) and install a few packages at once. The following command
% pacman -get nedit BU:Python
gets nedit as before and gets Python from the Boston University cache (the download actually comes from one of the official Python web sites). Instead of BU you could put in the explicit URL that you find from % pacman -registry or you may use any URL or you may use any location in your local file system. Whenever a new cache appears this way in the command line, if the cache is not already in your caches file, you will be asked if you trust the cache and optionally whether you want to add it to your caches file for future use. Packages may also depend upon other packages and it could be that Pacman depends on other software from other caches. In this case, you will also be explicitly asked to trust a cache each time a new cache is needed.
Pacman has a mechanism for updating software after you have installed it. For almost every Pacman command (just % pacman, for instance), Pacman goes off and sees if any changes have been made to software that you have already installed. It does this by downloading the corresponding XXX.pacman files and seeing if the contents have changed. If they have, an entry in the "update" column will say "yes". If you decide to update a package XXX, you just do
% pacman -update XXX
and package XXX will be re-fetched and re-installed. If XXX has dependencies, the dependencies will automatically be re-installed also. If you just want to update all the software you have in an installation, just do
% pacman -updateall
So far, you have been working from the version of Pacman that you got by downloading a tarball. It is actually convenient to use Pacman to download itself. Do
% pacman -get Pacman
and you can source setup.csh and throw away the original unpacked tarball of Pacman. Whenever there is a new version of Pacman, you can update this with the usual
% pacman -update Pacman
or % pacman -updateall and you'll be set. Now you can throw away the orginal untarred version!