stow

stow er et program, der bruges til at organisere programmer under f.eks. /usr/local. Compilerer man selv meget af sit software, ved man godt hvor mange filer man kan ende med at have under /usr/local/. Ønsker man på et senere tidspunkt at af-installere et af programmerne, er det umuligt at huske hvilke filer der hører til hvad. Chancen for at man sletter noget forkert eller ikke for slettet det hele er meget stor. Her kommer stow ind i billedet. I stedet for at installere til /usr/local, kan man installere til /usr/local/stow/_package_. For ikke at ens $PATH bliver alen lang, sørger stow for at symlinke de nødvendige filer til bin/, share/, lib/, etc. Her følger et eksempel, hvor jeg gerne vil compilere og installere http://fishshell.org . Kildekoden er hentet ned og pakket ud…

$ ./configure --prefix=/usr/local
$ make
$ sudo make install prefix=/usr/local/stow/fish
$ cd /usr/local/stow
$ stow fish

Nemt ikke? Man skal blot huske at kalde configure scriptet med

–prefix=/usr/local og make install med prefix=/usr/local/stow/program. Lad os antage at vi ønsker at fjerne fish fra systemet igen. Det klarer stow meget nemt:

$ cd /usr/local/stow
$ sudo stow -D fish

Med andre ord er

stow altså et fint lille program, der kan gøre livet som system administrator eller bruger nemmere.