ブログ引越してます
kobtea.net におひっこし~
vimをソースコードからビルドする
CentOS(5.9)でvim使ってたら、バージョンが7.0だった!
neocomplcacheが使えないじゃないか!!
それなら手動でソースコードからビルドすればいいじゃない!!
(root権限の無い環境下です)
$ mkdir -p $HOME/local/src $ cd $HOME/local/src # ncursesというのが必要みたいだからビルドする $ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz $ tar zxvf ncurses-5.9.tar.gz $ cd $HOME/local/src/ncurses-5.9 $ ./configure --prefix=$HOME/local $ make $ make install # .bashrcとか.zshrcに以下を記述してsource .bashrc とかsource .zshrcする # export PATH=$HOME/local/bin:$PATH # export MANPATH=$HOME/local/man:$MANPATH # vim入れるよ! $ cd $HOME/local/src $ wget http://ftp.vim.org/pub.vim/unix/vim-7.3.tar.bz2 $ tar -jxf vim-7.3.tar.bz2 $ cd $HOME/local/src/vim-7.3 $ mkdir patches $ cd $HOME/local/src/vim-7.3/patches $ curl -O 'http://ftp.vim.org/pub/vim/patches/7.3/7.3.[001-884]' $ cd .. $ cat patches/* | patch -p0 $ ./configure \ --prefix=$HOME/local \ --with-features=huge \ --enable-multibyte \ --disable-selinux \ --with-local-dir=$HOME/local $ make $ make install # .bashrcとか.zshrcに以下を記述してsource .bashrc とかsource .zshrcする # alias vim='$HOME/local/bin/vim' # neocomplcacheを入れるよ! $ mkdir -p $HOME/.vim/src $ cd $HOME/.vim/src $ git clone git://github.com/Shougo/neocomplcache.git $ mkdir $HOME/.vim/autoload $ mkdir $HOME/.vim/plugin $ cp -R $HOME/.vim/src/neocomplcache/autoload/* $HOME/.vim/autoload $ cp -R $HOME/.vim/src/neocomplcache/plugin/* $HOME/.vim/plugin # .vimrcに最低限以下を記述して:source .vimrcする # let g:neocomplcache_enable_at_startup = 1
ヒャッハー!!!
【参考】
vimをソースからコンパイルしてインストールしてみた - 永遠に未完成
Vim 7.3 をソースからインストール | Tanablog
Vim7.3をソースからインストール [俺の備忘録]
neocomplcache.vim インストールメモ | 暇人じゃない
先人は偉大でした。
Windows8発売記念にGentooインストールする part 1
前回 ノーガード戦法で挑んだら痛い目にあったので,今回はちゃんと ハンドブック(X86) を基にして進めるよ.
インストールの流れはこんな感じ.
1. インストールCDの起動
2. ネットワーク設定
3. ディスクの準備
4. インストールファイルの準備
5. ベースシステムの準備
6. カーネル設定
7. システム設定
8. 必要なシステムツールのインストール
9. ブートローダ設定
10. 締め括り
1. インストールCDの起動
インストールCDをダウンロードして起動する
Gentoo Linux -- Gentoo Linux Mirrors から適当に近いミラーサイトを選ぶ.
インストールCDのisoは releases/x86/autobuilds/current-iso にある.
今回はVirtual BoxのVM上にインストールするので,VMにiso読み込ませて起動する.
なんか押せって書いてあるので,適当にENTER押す.
でプロンプトが出てくる.
2. ネットワーク設定
既に繋がってるかもよ
「もしかしたらネット既に繋がってるかもよ!」なんてハンドブックさんが言うものだから,確認する.
# /sbin/ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:260 (260.0 B) TX bytes:260 (260.0 B)
そんなことなかった.
接続設定する
net-setupスクリプトで設定すると簡単らしい.
# net-setup eth0
こんな画面が立ち上がって,色々聞かれるので答える.
2. My network is wired 1. Use DHCP to auto-detect my network settings
今回はDHCP使うよ.
設定がすんだら,もう一度.
# /sbin/ifconfig eth0 Link encap:Ethernet HWaddr ..... inet addr: ..... inet6 addr: ..... ..... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host .....
eth0があらわれた!!
# ping -c 3 www.gentoo.org PING www-bytemark-v4v6.gentoo.org (89.16.167.134) 56(84) bytes of data.
繋がってるね.
3. ディスクの準備
パーティション構成を考える
ハンドブックと同じ構成にする.
パーティション | ファイルシステム | サイズ | 種別 |
/dev/sda1 | ext2 | 32M | ブートパーティション |
/dev/sda2 | (swap) | 512M | スワップパーティション |
/dev/sda3 | ext3 | 残り全部 | ルートパーティション |
fdiskを起動する
fdiskを起動する.
現在のパーティション情報を表示するにはpコマンド.
# fdisk /dev/sda Command (m for help): p Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x37e43fb4 Device Boot Start End Blocks Id System
当然だけど何もないね.まっさらやで.
パーディションを作成する
まずはブートパーティション.
新規パーティション作成はnキーを押す.
Command (m for help): n
プライマリパーティションなのでpキーを押す.
Command action e extended p primary partition (1-4) p
1番目のパーティションなので1キー.
パーティションの開始位置はデフォルトで良いのでENTERキー.
ブートパーティションのサイズは32Mの予定なので,+32M.
Partition number (1-4, default 1): 1 First secter (2048-10485759, default 2048): <ENTER> Using default value 2048 Last secter, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +32M
pキーで追加されてる確認する.大丈夫そうだ.
Command (m for help): p Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x37e43fb4 Device Boot Start End Blocks Id System /dev/sda1 2048 67583 32768 83 Linux
ブートパーティションなので,ブート可能にする設定を.
aキーを押した後,ブート可能にしたいパーティション番号を入力する.
Command (m for help): p Partition number (1-4): 1
次に,スワップパーティションを作成する.
新規パーティション: n
プライマリパーティション: p
パーティション番号: 2
作成開始位置: < ENTER >
パーティションサイズ: +512M
This is スワップだぜ,な設定をするにはtキー.
対象パーティション番号を入れた後,パーティションタイプをLinux swapに対応する82を入力する.
Lキーを押すとタイプ一覧が見られる.
最後に,ルートパーティションを作成する.
新規パーティション: n
プライマリパーティション: p
パーティション番号: 3
作成開始位置: < ENTER >
パーティションサイズ: < ENTER > (残り全部を割り当てる)
ちゃんと作れたか確認する.
Command (m for help): p Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x37e43fb4 Device Boot Start End Blocks Id System /dev/sda1 * 2048 67583 32768 83 Linux /dev/sda2 67584 1116159 524288 82 Linux swap / Solaris /dev/sda3 1116160 16777215 7830528 83 Linux
大丈夫そうだね.
wキーで保存し終了する.
alterがalertに見えてビクッとしたのは内緒.
ファイルシステムを作成する
パーティションにファイスシステムを適用する.
sda1はブートパーティションなのでext2,sda3はルートパーティションなのでext3.
スワップパーティションのsda2はmkswapで初期化した後,swaponで有効にする.すわぽん!!
# mkfs.ext2 /dev/sda1 # mkfs.ext3 /dev/sda3 # mkswap /dev/sda2 # swapon /dev/sda2
マウントする
# mount /dev/sda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/sda1 /mnt/gentoo/boot
4. インストールファイルの準備
日付の確認をする
先に進める前に、日時をチェックして、更新しておく必要があります。
Gentoo Linux ドキュメント -- Gentooインストールファイルをインストールする
狂った時計は後でおかしな結果が起きる元になります。
ひぃ!
dateの日付表記はMMDDhhmmYYYYらしい.(例: 2012年11月1日12時10分 -> 1101121102012)
# date Wed Oct 31 09:49:50 UTC 2012 # date 1101121102012
stage3 tarball, Portageをインストールする
stage3 tarballは最小限のGentoo環境を含んだアーカイブ,とのこと.
Portageはソフトウェア管理ツールで,DebianのAPTみたいなものという認識であってるのかな.
早速ダウンロードしてくる.
# cd /mnt/gentoo # links http://www.gentoo.org/main/en/mirrors.xml
ミラーサイト一覧が出てくるので,近い所を適当に選ぶ.
Internet Initiative Japan (http)にした.IIJさんお邪魔します.
releases/x86/autobuilds/current-stage3/stage3-i686-20121016.tar.bz2をダウンロード.
snapshots/portage-latest.tar.bz2をダウンロード.
でもって展開する.
# tar xvjpf stage3-i686-20121016.tar.bz2 # tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
ゆったりと待つ.
コンパイルオプションを設定する
# nano -w /mnt/gentoo/etc/make.conf
以下を記述する.
CFLAGS="-O2 -march=i686 -pipe" CXXFLAGS="${CFLAGS}" MAKEOPTS="-j2"
CFLAGSはCの,CXXFLAGSはC++のgccコンパイルオプション.
- O2はレベル2の最適化オプション.
- marchは対象アーキテクチャの指定.
- pipeは,コンパイル時の情報のやり取りにテンポラリファイルじゃなくてパイプを使うオプションらしい.
MAKEOPTSは,パッケージのインストール時にいくつの平行コンパイルを許すかの定義らしい.
目安は(システムのCPU数)+1らしいよ.
5. ベースシステムの準備
ミラーサイトを設定する
Portageでソースコードをダウンロードするにあたって,近い場所なんかを登録しておく.
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
- http://ftp.iij.ad.jp/pub/linux/gentoo/ (Japan: Internet Initiative Japan)
- http://ftp.jaist.ac.jp/pub/Linux/Gentoo/ (Japan: Japan Advanced Institue of Science and Technology)
を選択.
rsyncサーバのミラーも登録しておく.
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
を選択.
/procと/devファイルシステムをマウントする
マウント先でも今の環境の情報を参照できるようにする.
# mount -t proc none /mnt/gentoo/proc # mount --rbind /dev /mnt/gentoo/dev
新しい環境に入る
今まで作業していたインストールCD上の環境から,自分が作成した環境へと移る.
# chroot /mnt/gentoo /bin/bash # env-update # source /etc/profile # export PS1="(chroot) $PS1"
おめでとうございます!あなたは自分のGentoo Linux環境に入ることができました。
Gentoo Linux ドキュメント -- Gentooベースシステムのインストール
ありがとうございます!!
6. カーネル設定
タイムゾーンの設定をする
色々するちょっとその前に,タイムゾーンの設定をしておく.
# ls /usr/share/zoneinfo # cp /usr/share/zoneinfo/Japan /etc/localtime
日本があったよ!
カーネルソースをインストールする
emergeを唱えるだけで落っこちてくるらしい.すごい.
# emerge gentoo-sources # ls -l /usr/src/linux lrwxrwxrwx 1 root root 18 Nov 5 08:04 /usr/src/linux -> linux-3.5.7-gentoo/
カーネルのバージョンは3.5.7らしい.
カーネルの設定をする
マニュアルでカーネルをコンフィギュレーションすることは、 Linuxユーザが行うべきオペレーションの中で、最難関と見なされることがあります。 これは、それほど真実ということでもありません。カーネルのコンフィギュレーションを数回こなせば、 難しかったことを思い出すことすらないでしょう。;)
Gentoo Linux ドキュメント -- カーネル設定
複数回...初見はここで失敗するということか...
カーネルに色々設定するにはmake menuconfigするらしい.
# cd /usr/src/linux # make menuconfig
まずはCPUの種類を選択する.
Processor type and features ---> Processor family (Pentium-Pro) ---> (X) Core 2/newer Xeon
Core iシリーズはこの選択肢らしいよ.
次に,扱いたいファイルシステムを選択する.
File systems ---> <*> Second extended fs support <*> Ext3 journalling file system support <*> The Extended 4 (ext4) filesystem <*> Reiserfs support <*> JFS filesystem support <*> XFS filesystem support
下の3つはいらない気がするけど,とりあえずハンドブックと同じ設定にする.
設定はこれでおわり.
コンパイル and インストール!
いよいよカーネルのコンパイル,インストール!
# make && make modules_install
どきどき...
キタ━━━━(゚∀゚)━━━━??
怒られてないから多分上手く行ったはず!!
カーネルイメージを/bootにコピーする.
# cp arch/i386/boot/bzImage /boot/kernel-3.5.7-gentoo-r1
7. システム設定
ファイルシステム構成を設定する
fstab使って各パーティションの役割とか設定していく.
# nano -w /etc/fstab /dev/BOOT /boot ext2 noauto,noatime 1 2 /dev/ROOT / ext3 noatime 0 1 /dev/SWAP none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,ro 0 0 /dev/fd0 /mnt/floppy auto noauto 0 0 /dev/sda1 /boot ext2 noauto,noatime 1 2 /dev/sda3 / ext3 noatime 0 1 /dev/sda2 none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,user 0 0 #/dev/fd0 /mnt/floppy auto noauto 0 0
上が編集前,下が編集後.
BOOT,ROOT,SWAPの部分にそれぞれ対応するパーティションを書く.
CDROMはroot以外でも使えるようにuserに変更した.
フロッピーは使う予定が皆無なのでコメントアウト.
マシンのホスト名を設定する
# nano -w /etc/conf.d/hostname hostname="genta"
命名じぇんたくん!!
「げんた」じゃなくて「じぇんた」くん!!
ネットワークの設定をする
「ねえ、もうそれは済んでるんだけど」って気持ちになる前に、Gentooのインストールの初めに設定したネットワークは単にインストール用のものだったことを思い出してください。今ここで自分のGentooシステムに永続的なネットワーク設定をしていきましょう。
Gentoo Linux ドキュメント -- システム設定
最初に設定したのはインストールCD環境下のもので,これから行なう設定は自分のマシン環境下ということ.
とりあえずDHCPクライアントをインストールしておく.
# emerge dhcpcd
ネットワーク設定の編集をするよ.
# nano -w /etc/conf.d/net config_eth0="dhcp"
DHCPはらくちんだなぁ.
ブート時自動でネットワーク接続するように設定する.
# cd /etc/init.d # ln -s net.lo net.eth0 # rc-update add net.eth0 default
rootのパスワードを設定する
# passwd
これだけ.
システム情報を設定する
キーボードのキーマップをjp106に変える.
# nano -w /etc/conf.d/keymaps keymap="jp106"
ハードウェアクロックにUTCを使っていないのなら、clock="local"をこのファイルに追加する必要があります。 さもなければ、いくらか時間がずれてしまうでしょう。
Gentoo Linux ドキュメント -- システム設定
とのことなので.
# nano -w /etc/conf.d/hwclock clock="local"
8. 必要なシステムツールのインストール
必要そうなものをぽつぽつインストールする簡単なお仕事.
syslog-ng
システムのログを取ってくれる.
# emerge syslog-ng # rc-update add syslog-ng default # emerge logrotate
Cronデーモン
定期的に何かの処理を行いたい場合に便利.
# emerge dcron # rc-update add dcron default # crontab /etc/crontab
mlocate
locateでファイル検索をするための,インデックスを作成してくれる.
# emerge mlocate
9. ブートローダ設定
システムを起動するとき,カーネルを立ち上げてくれる存在,ブートローダ.
GRUBのインストール
# emerge grub # nano -w /boot/grub/grub.conf title Gentoo Linux 3.5.7-r1 root (hd0,0) kernel /boot/kernel-3.5.7-gentoo-r1 root=/dev/sda3 title Gentoo Linux 3.5.7-r1 (Rescue) root (hd0,0) kernel /boot/kernel-3.5.7-gentoo-r1 root=/dev/sda3 init=/bin/bb
1つ目は通常起動用,2つ目は非常時用.
設定が終わったら,いよいよインストール.
# grep -v rootfs /proc/mounts > /etc/mtab # grub-install --no-floppy /dev/sda
システムを再起動する
全てのパーティションをアンマウントして再起動する.
# exit # cd # umount -l /mnt/gentoo/dev{/shm,/pts,} # umount -l /mnt/gentoo{/boot,/proc,} # reboot
インストールCD抜くのを忘れない.
どきどき...
おぉ?
おぉ!!じぇんたくん!!
Windows8発売記念にGentooインストールする part 0
Windows8が発売されたよ,やったね.
せっかくだしGentooをインストールしようそうしよう.
Gentooはドキュメントを読めば怖くない,なんて聞くけど,読まなかったらどれだけ怖いのか.
試しにドキュメントを読まずにノーガード戦法で挑んでみよう.
install-x86-minimal-20120710.isoを落としてきて,VM上で立ち上げてみる.
「なんか押せ」って言われてるのでなんか押す.
色々読み込みだした.
さぁ!何すればいいんだろう!
何もない.
きっと宇宙に放り出されたら,こんな感じなんだろうな.
助けを叫んでは見たものの,欲しい情報は得られず,孤独死.
ちゃんとドキュメント読もう.
WinでVim Vundleを使えるようにする
WindowsにVimのVundleをインストールしようそうしよう.
公式のインストール方法を確認.
Vundle for Windows · gmarik/vundle Wiki · GitHub
といった流れっぽい.
ちなみに最近GitHubが出したGitHub for Windowsは,msysGitがベースになっているらしい.
窓の杜 - 【NEWS】“GitHub”がWindows向け公式クライアント「GitHub for Windows」を公開
ちょうどGitHub for Windows入ってるし,msysGitを別に入れるの面倒臭いし,GitバイナリはGitHub for Windowsから拝借してしまおう.
GitHub for Windowsってなんか言いづらい!
GitHubだと別の意味になるし('A`)
1. GitHub for Windowsをインストールする
公式の download からクライアント落としてインストール.
2. パスを通す
コマンドプロンプトからGitバイナリを使えるようにパスを通す.
windows > コンピュータ > プロパティ > システムの詳細設定 > 詳細設定 > 環境変数 > システム環境変数
にあるPathにGitバイナリのフォルダを追加する.
;C:\Users\xxx\AppData\Local\GitHub\PortableGit_xxx\bin
コマンドプロンプトでgitが使えるか確認.
> git --version git version 1.7.11.msysgit.0
3. Curlコマンドを作る
作る前に,もしかしたら既にあったりしないかなーと,試しにコマンド打ってみる.
> curl --version curl 7.26.0 (i686-pc-mingw32) libcurl/7.26.0 OpenSSL/0.9.8x zlib/1.2.7 Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp smtp smtps telnet tftp Features: GSS-Negotiate Largefile NTLM SSL SSPI libz
やったぜ!自分で用意しなくても大丈夫っぽい!
4. Vundleのリポジトリをcloneする
> git clone http://github.com/gmarik/vundle.git %USERPROFILE%/.../vim73-kaoriya-win64/bundle/vundle
Wikipedia先生の自己啓発セミナー
自己啓発ってなんかもやっとしたイメージだし実際どうなのかなーと,Wikipedia先生に聞いてみた.
自己啓発
自己啓発(じこけいはつ)とは、自己をより高い段階へ上昇させようとすることである。より高い能力、より大きい成功、より充実した生き方、より高い人格などの獲得を目指す。
自己啓発 - Wikipedia自己啓発の方法
何事においても疑問に思うことと、どうすればより良い結果が得られるかを心がける。 否定する自分を許容する。どちらでも良いさと考える。
なにこれすごい.
たった一言でスパッと表現されている.
Wikipedia先生マジカッケーっす!
なんくるないさー
HOLSTEEのマニュフェストが素敵だと僕の中で話題に
HOLSTEEのマニュフェストが素敵だと僕の中で話題に.
NYの小さな会社の、心打たれるメッセージ | SIRCUS.TV「サーカス」
THIS IS YOUR LIFE.
DO WHAT YOU LOVE, AND DO IT OFTEN.
IF YOU DON'T LIKE SOMETHING, CHANGE IT.
IF YOU DON'T LIKE YOUR JOB, QUIT.
IF YOU DON'T HAVE ENOUGH TIME, STOP WATCHING TV.
IF YOU ARE LOOKING FOR THE LOVE OF YOUR LIFE, STOP;
THEY WILL BE WAITING FOR YOU WHEN YOU START DOING TINGS YOU LOVE.
STOP OVER ANALYZING, LIFE IS SIMPLE.
ALL EMOTIONS ARE BEAUTIFUL.
WHEN YOU EAT, APPRECIATE EVERY LAST BITE.
OFTEN YOUR MIND, ARMS, AND HEART TO NEW THINGS AND PEOPLE,
WE ARE UNITED IN OUR DIFFERENCES.
ASK THE NEXT PERSON YOU SEE WHAT THEIR PASSION IS,
AND SHARE YOUR INSPIRING DREAM WITH THEM.
TRAVEL OFTEN;
GETTING LOST WILL HELP YOU FIND YOURSELF.
SOME OPPORTUNITIES ONLY COME ONCE, SEIZE THEM.
LIFE IS ABOUT THE PEOPLE YOU MEET,
AND THE THINGS YOU CREATE WITH THEM SO GO OUT AND START CREATING.
LIFE IS SHORT.
LIVE YOUR DREAM AND SHARE YOUR PASSION.
HOLSTEE - Holstee | The Holstee Manifesto Poster
これはあなたの人生です。
自分が好きなことをやりなさい。
そして、たくさんやりなさい。
何か気に入らないことがあれば、それを変えなさい。
今の仕事が気に入らなければ、やめなさい。
時間が足りないのなら、テレビを見るのをやめなさい。
人生をかけて愛する人を探しているのなら、それもやめなさい。
その人は、あなたが自分の好きなことを始めたときにあらわれます。
考えすぎるのをやめなさい。人生はシンプルです。
すべての感情は美しい。食事を、ひと口ひと口を味わいなさい。
新しい事や人々との出会いに、心を、腕を、そしてハートを開きなさい。
私たちは、それぞれの違いで結びついているのです。
自分のまわりの人々に、何に情熱を傾けているかを聞きなさい。
そして、その人たちにあなた自身の夢も語りなさい。
たくさん旅をしなさい。
道に迷うことで、新しい自分を発見するでしょう。
ときにチャンスは一度だけしか訪れません。しっかりつかみなさい。
人生とは、あなたが出会う人々であり、その人たちとあなたが作り出すもの。
だから、待っていないで何か作ることをはじめなさい。
人生は短い。
情熱を身にまとい、自分の夢を生きよう。
NYの小さな会社の、心打たれるメッセージ | SIRCUS.TV「サーカス」
行動それ自体を肯定している.引き下がることも含めて.
とりあえずやってみて,好きなら突き進む,合わなければ辞める.
辞めることが逃げることではないと考えられると楽になれるのだろう.
だからといって,引継ぎしなかったり責任放棄しちゃったらそれは逃げだね.
気をつけねば.