Ln_Local : A stow clone
ln_local is a simple shell script for managing the installation of software
packages (typically in /usr/local).
It's a program between stow and lndir/cleanlinks.
The approach used by ln_local (based on Stow) is to install each package into its own tree,
then use symbolic links to make it appear as though the files are
installed in the common tree (see examples for more details).
Contrary to stow, ln_local create all subdirectory tree and then create all
symbolic links (stow create simbolic links for subdirectories and normals files,
so conflicts may appends when two programs share the same subdirectory).
Note: You may have some interest in the Clemens Fischer
which is an ln_local clone more elaborated with some interesting features.
Usage: ln_local [options] [do] Action
Action : create | delete | clean
create : create symlink and directory in /usr/local from current directory
delete : delete symlink and empty directory in /usr/local from current directory
clean : remove broken symlink and empty directory in /usr/local
If 'do' is presents in the command line then changes are made,
else NO CHANGE ARE MADE
Options are :
-s, --source the source directory (default:current directory)
-t, --target the target directory (/usr/local)
-V, --version display version and exit
-u, --usage long help
-h, --help display this help
Standard way to use ln_local:
- download source package (.tar.gz, tar.bz2 ...)
- extract the archive:
tar -xzvf archive-x.x.x.tar.gz
or tar -xjvf archive-x.x.x.tar.bz2
- go to archive directory:
- configure the program compilation:
- build the program:
- install the program:
or make install DESTDIR=/usr/install/archive-x.x.x if there's no ./configure
in this last case, you may have to edit manually the Makefile.
- create symlinks in /usr/local:
ln_local create do
- delete the source and archive
cd in the archive-x.x.x.tar.gz directory
rm -rf archive-x.x.x*
you can change the target directory (/usr/local) by editing the file /usr/local/bin/ln_local
or use the --target option
To remove an existing program:
ln_local delete do
To clean the /usr/local directory:
ln_local clean do
To remove definitively a program:
rm -rf /usr/install/archive-x.x.x
ln_local clean do
If you want to see what ln_local will do, remove the 'do' in create,
delete and clean action, so no action will be done
Any feedback on this program is welcome.
My address : firstname.lastname@example.org