Stowm.Manual RSSPLAIN

Related pages: Stowm
3353555222535552122122223224252252222225555222222225553353533442222222222553224443244424444422422242224222242222422444434222422242322222222344222240422234242422222222222225
3

Stowm's Manual

3

Stowm is a helper tool for Gnu StowEXT

5

 

3

StowmはGnu StowEXTのヘルパーツールです。

5

Stowのビルド手順などをspecファイルで管理し、gitなどを使ってリビジョン管理できるようにします。

5

 

5

はじめに

2

Gnu StowEXTはオープンソースソフトウェアをはソースからインストールして管理するツールとして大変優れています。

2

ただ、単純なユーザインタフェースしか持っていません。そこで、Gnu StowEXTの上にもう一段使いやすいインタフェースを被せたものが、Stowmです。

2

Stowmではインストールされているソフトウェアの一覧を表示したり、どれが実際に有効になっているのかを見えるようにしたり、ビルド方法をspecファイル(yaml形式)として保存しておけるようになっています。

5

 

3

また、StowmNendoという開発途上のプログラミング言語の実用性を確認するために、Nendoで記述されているという側面もあります。

5

Nendo言語に興味がある方はあわせてそちらも参照してください。

5

 

5

 

2

stowを使う準備

1

stowディレクトリを作る

2
 mkdir -p /usr/local/stow
2

 

1

/usr/local/ ディレクトリの権限を開放する

2

stowmやstowを一般ユーザー権限で改変できるようにする場合は、

2

/usr/local/ 配下に権限を与えてください。

2

権限を与えない場合は、以降の操作は全て sudo をつけて実行してください。

2

 

3

Stowmの実行画面例

2

以下は、Stowmを使って幾つかのオープンソースソフトウェアを管理した状態の画面です。

2

例えば、Rubyの複数バージョンをインストールしておき、いつでもスイッチしながら使うようなことができます。

4

作者の場合は、ruby-1.9.1-p376-sandbox というruby-1.9.1-p376の特別なバージョンを作って、Rubyの環境を壊しながらいろいろ試す場所として利用しています。

2

/usr/local/stow/ruby-1.9.1-p376-sandbox の中は開発途中のRubyモジュールや、まだ新しすぎて不安定なgemなどがインストールされており、通常運用には適さない環境が維持されています。

5

 

2
 $ stowm list
2
               <name>                         <enabled> <installed>
5
 Gauche 
2
     0)  Gauche-0.9.2                                 -           O
2
     1)  Gauche-0.9.3.3                               -           O
2
     2)  Gauche-0.9.4                                 O           O
2
     3)  Gauche-dbd-mysql-0.2.2                       O           O
2
 ImageMagick 
2
     4)  ImageMagick-6.6.2-7                          O           O
5
 .
5
 . (略)
5
 .
5
 ruby 
2
    26)  ruby-1.7.19-jruby                            -           O
2
    27)  ruby-1.9.3-p484                              -           O
2
    28)  ruby-2.0.0-p576                              -           O
2
    29)  ruby-2.0.0-p643                              -           O
2
    30)  ruby-2.1.3                                   -           O
2
    31)  ruby-2.1.5                                   -           O
2
    32)  ruby-2.2.0                                   -           O
2
    33)  ruby-2.2.1                                   O           O
5
5

 

5

stowの紹介

3

Stowmを使うにあたって、あらかじめstowの仕組みも少し把握しておく必要があります。

3

stowはGNUのサイトを参照してください。

5

 

3

stowmのファイル構成

5

 

3

stowmホーム(リポジトリ)

3
~/stowm
4

 

4

project個別specファイル

2
~/stowm/[projectname]/[projectname].yml
2
 例 stowm/ruby-2.1.5/ruby-2.1.5.yml の場合
2
---
2
fetch: wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz -O ruby-2.1.5.tar.gz
2
configure: configure --prefix=/usr/local/stow/ruby-2.1.5
2
make: make
2
install: make install
2
url: http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz
2
filename: ruby-2.1.5.tar.gz
2
projname: ruby-2.1.5
5

 

5

 

3

Stowmが必要とするソフトウェア

2
ruby-2.0.0以上
2
nendo 0.7.3以上
4
GNU stow または xstow 0.6.1以上
4

 

4

 

3

Stowmを使ったオープンソースソフトウェアの導入手順

2

例としてgit-2.3.4をインストールして、有効にする手順を示します。

4

 

4
tar-ballの取得先URLを指定して実行
4

この操作でエラーが無ければ /usr/local/stow 以下にビルドされたgitがインストールされます

2
stowm https://www.kernel.org/pub/software/scm/git/git-2.3.4.tar.xz
4
4
4

 

4
gitを使用可能にする
4

現在の状態を確認します。

2
~ $ stowm list git
2
               <name>                         <enabled> <installed>
4
 git 
2
    14)  git-2.1.3                                    -           -
2
    15)  git-2.3.3                                    -           O
2
    16)  git-2.3.4                                    -           O
4

 

2

gitには16番が振られているので、次のコマンドで有効にします。

2

内部でstowコマンド(または stowコマンド)を呼び出し、/usr/local/stow 配下のインストール済ソ

2

フトウェアを /usr/local 以下にマッピングし、使える状態にします。

4

 

2
~ $ stowm enable 16
2
Info: /usr/bin/stow -R git-2.3.4
2
Info: rebuild [/home/kiyoka/.stowm.db]
2
               <name>                         <enabled> <installed>
4
 git 
2
    14)  git-2.1.3                                    -           -
2
    15)  git-2.3.3                                    -           O
2
    16)  git-2.3.4                                    O           O
2
~ $ which git
4
/usr/local/bin/git
2
~ $ git --version
2
git version 2.3.4
4

 

4

これで完了です。

4

 

4

 

3

Stowmを使って指定ソフトウェアを無効にしたい場合

4

 

2

現在のgitの状態を確認します。

2
~ $ stowm list git
2
               <name>                         <enabled> <installed>
4
 git 
2
    14)  git-2.1.3                                    -           -
2
    15)  git-2.3.3                                    -           O
2
    16)  git-2.3.4                                    O           O
4

 

2

gitは16番という番号が振られているので、次のdisableコマンドで無効にします。

3

 

2
~ $ stowm disable 16
2
Info: /usr/bin/stow -D git-2.3.4
2
Info: rebuild [/home/kiyoka/.stowm.db]
2
               <name>                         <enabled> <installed>
2
 git 
2
    14)  git-2.1.3                                    -           -
2
    15)  git-2.3.3                                    -           O
2
    16)  git-2.3.4                                    -           O
3

 

4

実際に無効にされたか確認してみます。

4

 

2
~ $ which git
2
/usr/bin/git
2
~ $ git --version
2
git version 1.7.10.4
4

 

0

/usr/local/bin/gitが見えなくなり、システム標準添付の /usr/bin/git が起動しました。

4

 

2

補足: Ruby gemsについて

2

gem install xxxx で新しいgemをインストールした場合、/usr/local/stow 配下の状態だけが更新され、/usr/local 配下には新しいシンボリックリンクが作成されないため、stowmを使って再度 ruby環境を有効化する必要があります。

2

 

3

以下のコマンドで、現在有効になっているrubyのstowのシンボリック・リンクを再構築します。

4

 

2
$ stowm enable ruby
4

 

2

補足: コマンドの省略形式について

4

 

2

stowmのコマンド "enable" "disable" "list" などは先頭二文字まで省略可能です。

2

 

2
 例)
2
~ $ stowm en ruby
2

 

2
 例)
2
~ $ stowm di 16
2

 

2
 例)
2
~ $ stowm li
2

 

2

 

2

 

5

...comment disabled...