rcmdnk's blog
Last update

Linuxがわかる本 (なるほどナットク!)

最近使うようになったLinux環境の設定メモ。 root権限がない中で、沢山必要な物をローカルにインストールする必要がある例 (主に入れたいのはgit/vim/screen)。

Sponsored Links

ソフトウェアのインストール

インストール場所

$HOME/usr/local/以下にstow を使ってインストールしていきます。

一時置き場として$HOME/tmpを使ってますが/tmpとかどこでも可。

stowをインストール

まずはstowをインストール 1

cd ~/
mkdir -p tmp
cd ~/tmp
wget http://ftp.gnu.org/gnu/stow/stow-latest.tar.gz # For package management
tar xzf stow-latest.tar.gz
v=`ls -d stow-*|grep -v tar.gz`
cd $v
./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
./$v/bin/stow $v

gitをインストール

まず、準備としてautoconfをインストール。 (which autoconfでコマンドがあれば必要なし)

cd ~/tmp
wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz # For git
tar xzf autoconf-latest.tar.gz
v=`ls -d autoconf-*|grep -v tar.gz`
cd $v
./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
stow $v

次にcurlも。 これも/usr/lib/libcurl.aなどが既にあれば必要なし。 curlは無くてもgitがコンパイルできますが、 httpsプロトコルを使うためにはこれが必要(vimのNeoBundleなどでもhttps使う事があるので必要)。 2

cd ~/tmp
v=curl-7.36.0
wget  http://curl.haxx.se/download/${v}.tar.gz # need for git to use https
tar xzf ${v}.tar.gz
cd $v
./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
stow $v

同様にexpatも(pushでhttpsしたい時に必要)。 これも/usr/lib/libexpat.aなどが既にあれば必要なし。

 cd ~/tmp
 v=expat-2.1.0
 wget http://downloads.sourceforge.net/expat/$v.tar.gz
 tar xzf ${v}.tar.gz
 cd $v
 ./configure --prefix=$HOME/usr/local/stow/$v
 make && make install
 cd ~/usr/local/stow
 stow $v

これで準備が出来たのでgitをインストール。 今回は元々gitが入ってないのでzipファイルで取ってきてコンパイル。

cd ~/tmp
wget -O master.zip https://github.com/git/git/archive/master.zip
unzip master.zip
cd git-master
# git clone https://github.com/git/git.git if you have preinstall git
# cd git
make configure
v=git-`grep 'PACKAGE_VERSION=' configure|cut -d"'" -f2|sed s/.GIT//`
./configure CFLAGS="-I$HOME/usr/local/include" LDFLAGS="-L$HOME/usr/local/lib" --prefix=$HOME/usr/local/stow/$v
make all
make install
cd ~/usr/local/stow
stow $v

GNU screenをインストール

まず、automakeをインストール 3。 (which automakeでコマンドがあれば必要なし)

cd ~/tmp
v=automake-1.14
wget http://ftp.gnu.org/gnu/automake/${v}.tar.gz # For screen
tar xzf ${v}.tar.gz
cd $v
./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
stow $v

次にncursesをインストール 4。 (/usr/lib/libncurses.aなどが既にあれば必要なし。)

cd ~/tmp
v=ncurses-5.9
wget http://ftp.gnu.org/pub/gnu/ncurses/${v}.tar.gz # For screen
tar xzf ${v}.tar.gz
cd $v # could be different number
./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
stow $v

screenをインストール 5

cd ~/tmp
git clone git://git.sv.gnu.org/screen.git
cd screen
wget https://gist.github.com/raw/626040/be6a04f0e64c56185ba5850415ac59dad4cd62a0/screen-utf8-nfd.patch
#wget http://zuse.jp/misc/screen-utf8-osc.diff
wget https://gist.githubusercontent.com/rcmdnk/143cb56d31335dbccf70/raw/4b3e175946f2366b4076088c1c8f2bbe65b32e16/screen-utf8-osc.diff
patch -p1 < screen-utf8-nfd.patch
patch -p1 < screen-utf8-osc.diff
cd src/
v=screeen-$(grep Version ChangeLog |head -n1|cut -d' ' -f2)
./autogen.sh
CFLAGS="-L$HOME/usr/local/lib" LDFLAGS="-L$HOME/usr/local/lib" ./configure --prefix=$HOME/usr/local/stow/$v  --enable-colors256
make &&  make install
cd ~/usr/local/stow
stow $v

Vimをインストール

Vimをインストールしたいだけなんですが、 Vimソースを取ってくるためにMercurialをインストールしようとしたら 色々付属品がついてきて大変でした(Pythonその物をインストールしなおしたり。。。)

プリインストールされてるPythonを立ち上げてimport bz2としてエラーが出なかったら bzip2やPythonは特に必要ありません。

まずはbzip2をインストール。Pythonでbzip2ライブラリを使うため。 (/usr/lib/libbz2.aとかあれば必要なし。)

cd ~/tmp
n=1.0.6
v=bzip2-$n
http://www.bzip.org/$n/${v}.tar.gz # bzip2 library for Python, to install Mercurial
tar xzf ${v}.tar.gz
cd ${v}
make -f Makefile-libbz2_so # make library
make install PREFIX=$HOME/usr/local/stow/$v
cd ~/usr/local/stow
stow $v

readlineもインストール。 こちらは後で入れるlua用にも必要。 (/usr/lib/libreadline.aとかあれば必要なし。)

cd ~/tmp
v=readline-6.3
wget ftp://ftp.cwru.edu/pub/bash/${v}.tar.gz # for python/lua
tar xzf ${v}.tar.gz
cd ${v}
./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
./$v/bin/stow $v

Pythonのインストール。

cd ~/tmp
n=2.7.6
v=Python-$n # For Mercurial
wget --no-check-certificate http://www.python.org/ftp/python/$n/${v}.tgz
tar xzf ${v}.tgz
cd ${v}.tgz
LDFLAGS="-L$HOME/usr/local/lib" CPPFLAGS="-I$HOME/usr/local/include" ./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
stow $v

docutilsをインストール。 (もし、Mercurialのドキュメントが要らなければ入れなくてもOK。 その際、Mercurialでのコンパイルをmake allでなく、make buildにする)

cd ~/tmp
v=docutils-0.11
wget -O ${v}.tar.gz http://prdownloads.sourceforge.net/docutils/${v}.tar.gz?download # for Mercurial
tar xzf ${v}.tar.gz
cd $v
$HOME/usr/local/bin/python setup.py install

Mercurialをインストール。

cd ~/tmp
v=Mercurial
#wget http://selenic.com/repo/hg-stable/archive/tip.tar.gz # for Vim
wget http://selenic.com/repo/hg/archive/tip.tar.gz # for Vim
tar xzf tip.tar.gz
cd Mercurial-*
make all
# make build # for w/o docutils
$HOME/usr/local/bin/python setup.py install --prefix=$HOME/usr/local/stow/$v --force
cd ~/usr/local/stow
stow $v

Lua用にtermcapをインストール。 (/usr/lib/libtermcap.aとかあれば必要なし。)

cd ~/tmp
v=termcap-1.3.1
wget ftp://ftp.gnu.org/gnu/termcap/${v}.tar.gz # for lua
tar xzf ${v}.tar.gz
./configure --prefix=$HOME/usr/local/stow/$v
make && make install
cd ~/usr/local/stow
./$v/bin/stow $v

Luaをインストール。

cd ~/tmp
v=lua-5.2.3
wget http://www.lua.org/ftp/${v}.tar.gz
tar xzf ${v}.tar.gz
cd $v
make linux  MYLIBS=" -ltermcap" MYLDFLAGS=" -L$HOME/usr/local/lib" MYCFLAGS=" -I$HOME/usr/local/include"
make install INSTALL_TOP=$HOME/usr/local/stow/$v
cd ~/usr/local/stow
stow $v

そしてVimをインストール。

cd ~/tmp
hg clone https://vim.googlecode.com/hg/ vim
cd vim
#v=vim-`head -n1 README.txt|cut -d" " -f4`
v=vim-$(tail -n1 .hgtags|cut -d' ' -f2)
./configure LDFLAGS="-L$HOME/usr/local/lib/" --prefix=$HOME/usr/local/stow/$v --with-lua-prefix=$HOME/usr/local --with-local-dir=$HOME/usr/local --enable-luainterp=yes --enable-perlinterp=yes --enable-pythoninterp=yes --enable-python3interp=yes --enable-rubyinterp=yes --enable-cscope --enable-multibyte --enable-gui=no
make && make install

追記: 2014/07/13

versionを.hgtagsから取ってきてパッチバージョンも入れるように。

追記ここまで

GitHubにある設定ファイルを配置

GitHubにあるdotfilesやスクリプト達を取ってきます。

まず、接続するために鍵を作ります。

ssh-keygen -t rsa -f ~/.ssh/key_for_github

$HOME/.ssh/config

#  GitHub
Host github github.com
  HostName github.com
  User rcmdnk
  IdentityFile ~/.ssh/key_for_github
  Compression yes

を追加(ファイルが無ければこの内容で作成)。

~/.ssh/key_for_github.pubの内容をコピーしてGitHubへ登録。

dotfilesとscriptsをローカルに追加。

mkdir -p ~/usr/share/git
cd ~/usr/share/git
git clone [email protected]:rcmdnk/dotfiles
cd dotfiles
./install.sh
cd ../
git clone --recursive [email protected]:rcmdnk/scripts
cd scripts
./install.sh
Sponsored Links
  1. su出来るならsudo apt-get install stow

  2. fatal: Unable to find remote helper for ‘https’の対処

  3. su出来るならsudo apt-get install automake

  4. su出来るならsudo apt-get install ncurses-dev

  5. Macでの文字化け対策用のGNU screenのインストール

Sponsored Links

« Evernote Web Clipperで未保存のクリップボードが消えない時の対処法 Gmailでのラベル設定 »