3.22.2012

Ubuntu ifdown eth0 and Automount USB

22 Mar 2012 

最近オンボードのNICが使えなくなり、ログを見ても特にエラーは見つからず。ドライバ、BIOS、OSの順に更新して行くも状況は変わらず。で、Windows 8をインストールしてデバイスマネージャでNICを見ると、ドライバは入ってるけど、ちゃんとロードできなかった(Code 10)、みたいなエラーが出ていて、これをネットで調べると、デバイスが正常に動いていない可能性がある。とのことで、5年ぐらい使っているからハードが壊れたんだろう、ってことでPCカードのネットワークカードを購入する。

で、オンボードNICに安らかに眠ってもらうべく

iface eth0 inet static
  address 192.168.2.1
  netmask 255.255.255.0
  post-up ifdown eth0

と /etc/network/interfaces に書き加える。 

ネットワークが解決するや、今度はUSBメモリが自動マウントされなくなり、、、

syslogを眺めるも特に問題なく、gconf-editorでnautilusの設定を確認するもmedia_automountにチェックがあり、こちらも問題なし。logではsdb1として認識されていたが、fstabを見るとsdb1の記述がある。これはもしや!とUSBメモリを抜くと予想通りfstabのsdb1はそのまんま。

で、これを削除して自動マウントも解決。

3.20.2012

git/github memo

20 Mar 2012

1.ローカルを最新化する

git pull

2.ソースを編集する
3.ローカルへ反映する

git add + git commit

 or

git commit -a

4.マスタにも反映する

git push

※ non-fast-forward updates were rejected なら

git pull --commit

conflictがあったら手で直し

git push

3.11.2012

vim x github

11 Mar 2012

ゴールは、家でvimrcやpluginを調整し、それを会社でさくっと導入し、より早く開発できるようにすること。で、良さそうなpluginがgithubで公開されているので、家と会社をつなぐのもgithubで。

まずはgit/githubの練習。github.comでアカウント作り、テスト用のリポジトリを作ると、下記のような一連のコマンドが表示されるので簡単。

$ mkdir hello-Git
$ cd hello-Git/
$ git init
$ touch README
$ vi README
$ git add README
$ git commit -m 'first commit'
$ git remote add origin git@github.com:sotaro/hello-Git.git
$ git push -u origin master
$ git push git@github.com:sotaro/hello-Git.git
続いてplugin。
自動補完のneocomplcache + vimproc、リスティング(以外にも使えるらしい)のunite.vim、vim上でコマンドが使えるvimshellの4つと、「vundle」というplugin管理用のpluginの計5つをインストールする。

$ git clone git://github.com/gmarik/vundle.git ~/.vim/vundle.git
$ vi ~/.vimrc
(抜粋)
set nocompatible
filetype off

set rtp+=~/.vim/vundle.git/
call vundle#rc()

Bundle 'Shougo/unite.vim'
Bundle 'Shougo/vimshell'
Bundle 'Shougo/neocomplcache'
Bundle 'Shougo/vimproc'

filetype plugin indent on

let g:neocomplcache_enable_at_startup = 1
とし、vim上で

:BundleInstall
とすれば、インストール完了。
で、いよいよautocompleteを試すべく適当なファイルを編集しようとすると

.vim/bundle/vimproc/autoload/proc.so" is not found.
となり、

:help vimproc
でヘルプを読むとproc.soを作る必要があるとのことで、

$ cd ~/.vim/bundle/vimproc/
$ make -f make_gcc.mak
$ ls autoload/proc.so 
autoload/proc.so
で、いろいろ試すこと数時間。
使いこなすまでには相当の時間を要するが、どれも便利。

会社では

$ sudo apt-get install git-core
$ mkdir ~/.vim ~/github
$ git clone git://github.com/gmarik/vundle.git ~/.vim/vundle.git
$ git clone git://github.com/sotaro/hello-Git.git ~/github/hello-Git.git
$ cp ~/github/hello-Git.git/.vimrc ~/
$ vi .vimrc
(:BundleInstall)
$ cd ~/.vim/bundle/vimproc/
$ make -f make_gcc.mak
で導入できるはず!

3.07.2012

Ubuntu ~ NIC ~ e1000e

7 Mar 2012

WindowとUbuntuのデュアルブートで、Windowsからは問題なくネット接続できるのに、Ubuntuからはダメ、という状況からの復旧手順メモ。

ネットワークカードは、 Intel® 82579LM Gigabit Ethernet Controller 。

$ ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
(snip)
表示されるのはLoopbackのみ

$ lspci -nn | grep -i ethernet
Ethernet controller [0200]: Intel Corporation Device [8086:1502] (rev 04)
$ modprobe -l | grep e1000e
kernel/drivers/net/e1000e/e1000e.ko
対応するドライバはあるようだが、、、

$ modinfo e1000e | grep 1502
$
何も表示されず、枝番とでも言うのかな?まで一致するドライバがない

という訳でここからe1000eの最新版をダウンロード。あとは

$ tar zxf e1000e-1.9.5.tar.gz
$ cd e1000e-1.9.5/src
$ sudo make install
$ sudo rmmod e1000e
$ sudo modprobe e1000e
$ modprobe -l | grep e1000e
kernel/drivers/net/e1000e/e1000e.ko

接続完了!