ln_local 1.1.1 review

by rbytes.net on

ln_local is a simple shell script for managing the installation of software packages (typically in /usr/local)

License: GPL (GNU General Public License)
File size: 12K
Developer: Philippe Brochard
0 stars award from rbytes.net

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).


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,

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:
cd archive-x.x.x

* configure the program compilation:
./configure --prefix="/usr/install/archive-x.x.x"

* build the program:

* install the program:
make install
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:
cd /usr/install/archive-x.x.x
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:
cd /usr/install/archive-x.x.x
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

ln_local 1.1.1 search tags