What is moonbase?
The moonbase is the complete collection of all the software packages (modules) that Lunar Linux offers its users. It is organized in a hierarchical structure of directories and files; usually found on the user's system at
/var/lib/lunar/moonbase. Generically speaking, the moonbase is just a directory with stuff (sub-directories and files) inside it.
The moonbase's first level of structure/organization is a section. A section is a name that serves to classify and organize a group of modules into logical partitions. Each section is simply a sub-directory that resides right below the root of the moonbase or inside another section. Sections can also be nested in other sections.
There are two sections of special significance:
- zbeta contains *-cvs or *-svn modules that are downloaded directly from live source code repositories, or modules that the Lunar team are unable to test extensively due to hardware availability, etc. These modules can not be guaranteed to work at all times on all hardware.
- zlocal is where users can develop their own modules, or can copy and edit existing moonbase modules without risk of them being overwritten next time the moonbase is updated.
Modules sit in a section directory. A module consists of a directory with specific files and other directories, that are not sections. These sub-directories represent a single module that "belongs" to that section of the moonbase. A module, to be a bit simplistic, is a set of "instructions" to perform a task; Namely, instructions to compile and then install what was compiled onto the user's file-system. So if we had a module named FooGame that was located in the "games" section of the moonbase, we would find a directory called FooGame at
To summarize, installable software packages are called modules. The collection of all of the modules is called the moonbase, which is simply a directory containing logical sections (sub-directories) which, in turn, contain the modules directories.