software

From Cliquesoft
Revision as of 08:37, 22 August 2013 by Digitalpipe (Talk | contribs)

Jump to: navigation, search

Are you coming from a Microsoft Windows environment where software can be hard to locate and install? Or perhaps you are a bit confused on how to use dpkg (or if you should use aptitude) or some other Linux package management software and want an easiler solution. Welcome to our version of software package managment! This project is appropriately named 'software' and was designed to be easy and logical in its use. Not unlike our other bash-script-based software, this project relies on our clAPI framework for various functionality, so be sure this dependency is installed before using. It's also worth mentioning, when using this software from the command prompt, that the placement of the OPTION's must follow their respective ACTION (or parent script) which can be determined via the --help output. It might also help to read over the basics of clAPI to get a better understanding when running software from the command line.


License

This projects' codebase is licensed under the CPLv2 unless a valid CPLv1 license has been purchased. More information about both of these licenses can be found under the "Our Licenses" link of our homepage.



Installation

Installation could not be more easy! Currently it's a simple 2-step process which involves obtaining the actual software and then installing. To complete the first step, run the commands below. Please note that the last two commands accomplish the same goal and were included incase one was unavailable on your system.

$ mkdir /tmp/install

$ curl -# http://repo.cliquesoft.org/vanilla/all/software/stable -o "/tmp/install/software.soft"
  -OR-
$ wget --progress=bar http://repo.cliquesoft.org/vanilla/all/software/stable -O "/tmp/install/software.soft"

Now the second step can be accomplished using the following commands. After you execute the installation script, answer all the questions and your software will be ready for use!

$ cd /tmp/install
$ ./install



Using the CLI

ACTION's

You can see what actions are available to this project by running 'software --help' at the command prompt. Towards the top of that output, you will see a section entitiled "[PROJECT ACTIONS]" where a list will be presented for your review. Each action name should indicate what its function is, but in the event where it does not make sense, a small description to the right of each item has been included to help you to better understand. Below we will outline each action along with its associated options.


fix

This action is responsible for repairing any software that has been installed using this project. There are several tests that are run per execution of this action that include ownership, permissions, file integrity, and that dependencies are installed. If any of these checks fail, steps to resolve each problem will be presented upon completion. There are currently only two options that can be used with this action which we will cover below. It is important to note that using this action does NOT check for configuration errors, not issues with any data created by any software.

  • --all If this option was passed, then the user wants to run each of the afore mentioned checks against all of the currently installed packages. This can be a timely process depending on the speed of the device and how much software has been installed. If you are only interested in performing these tests on a particular package, then use the '--name' option instead of this option as outlined below:
$ software --verbose fix --all
  -OR-
$ software --verbose --name='bash' fix
  • --prefix This option was included mainly for system or network administrators, so the vast majority of users will not use this option. An example of its use would be where an admin might be working on a storage device that contains all the installed software for another device that currently does not start or work correctly. In that scenario, that storage device can be plugged into working equipment that can perform this task against it. So lets attach some details to this example. Lets say that a hard drive from a non-working device is plugged into a working system and is mounted to '/mnt/source'. An administrator can run this action on the "bad" drive by running the following command:
$ software --verbose fix --all --prefix='/mnt/source'


install

Just as the name suggests, this action installs the desired software, regardless if the package must be downloaded from online repositories or from a pre-downloaded local file. Unlike other package managers, a user can not only install pre-packaged software, but can install from source code or even images! There are quite a few options to this actions since it is so comprehensive, which we will cover below...

  • --class
  • --code
  • --docs
  • --delete
  • --dir
  • --file
  • --ignore
  • --image
  • --mbr
  • --nrp
  • --rebuild
  • --state
  • --target
  • --version


list

  • --all
  • --license


package

  • --build
  • --source
  • --staging


search

  • --details
  • --filenames
  • --query
  • --repo


uninstall

  • --depends
  • --ignore
  • --level
  • --nrp
  • --restore
  • --target


update

  • --repo
  • --state



Examples

Backing up data only (no sync'ing)...

$ sudo ./backup.lite --noprompts --name=test backup --type=full --source='/tmp/temp' --target='/tmp/backup' --compression=gzip --include='/etc/backup/test.inc'

Beginning the "test" backup job @ Tue Mar 27 10:37:44 EDT 2012

Checking system environment...

  (i)   Directories...
           Configs: [checking] [exists] [writable] [success] [done]
           Temp: [checking] [exists] [writable] [success] [done]
           Mounts: [checking] [exists] [writable] [success] [done]
  (i)   Variables...
           --name: [done]
           ACTION: [done]

Beginning the 'backup' module...

  (i)   Processing the source and target...
           Source: [symlinking] [success] [done]
           Target: [local] [checking] [exists] [writable] [success] [symlinking] [success] [done]
           Storage: [checking] [exists] [done]
  (i)   Checking variables: [type] [include] [done]
  (i)   Processing a(n) "full" backup  -----------------------------[PROGRESS]--

./
./original/
./original/flash.img
./a/
./a/b/
./a/b/test.txt
./a/b/test.sh
./flash.tar.gz
Total bytes written: 656384000 (626MiB, 31MiB/s)

--------------------------------------------------------------------------------
  (i)   Creating a catalog of backed up data: [done]
  (i)   Cycling the backups...
           Archive: [deleting] [success] [done]
           Catalog: [absent] [done]
           Job Log: [absent] [done]
  (i)   Check archive count: [within limits] [done]
  (i)   Compressing the archive: [gzip]
--------------------------------------------------------------------[PROGRESS]--
 626MB 0:01:05 [9.56MB/s] [==================================>] 100%            
--------------------------------------------------------------------------------
           [deleting] [success] [done]

Calling exit routines for the modules...

  (i)   backup.lite script...
           Source: [checking] [unmounted] [deleting] [success] [done]
           Target: [checking] [unmounted] [deleting] [success] [done]
           Cleanup: [deleting] [success] [done]

The job has completed successfully @ Tue Mar 27 10:39:16 EDT 2012



Using the Web Interface

This aspect of the project has not been developed yet, but it is planned. Please visit us again soon to see if this part has been implemented.



Developers

Dave Henderson [dhenderson (at) cliquesoft (dot) org]