My Headlines

29.11.09

vim [ タグ機能 - gtags - ]


Target:
global, gtags

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~
以前 ctags について簡単に書かせて頂いたことがあったが。。。
より強力なタグ機能があったので、以下に紹介する。

  • globalコマンドのインストール
  1. 以下を参考にしてglobalコマンドをインストールする
   GNU GLOBAL ソースコードタグシステム
  2. gtags.vimをホーム配下の.vim/pluginにコピーする
   $ cp /opt/local/share/gtags/gtags.vim $HOME/.vim/plugin
   ( .vim/pluginが無かったら作ってあげると良い )
  3. 以上

  • ソース解析(gtags -v)
  1. 任意のフォルダ配下で次のコマンドを実行
   $ gtags -v ( オプションは進行状況を表示するだけ )
   任意のフォルダ配下で実行して良いのは
   コマンド実行場所から
   再起的にソースを探し出してくれるからだそうな。。。
  2. 実行後GPATH、GRTAGS、GSYMS、GTAGSという
   4つのファイルが生成される
  3. 以上

  • globalコマンド
  vimとコラボすることもできるが、まずはコマンドラインから。。。
  以下のページを参照↓
  ソースコードを快適に読むための GNU GLOBAL 入門 (前編) 

  • vimとgtags
  1. コレも上記と同様のページを参照するとヨロシ↓
   ソースコードを快適に読むための GNU GLOBAL 入門 (中編)

  2. vimとgtagsをあわせて使ったとき、
   一つ前に表示させていた画面に戻れる方法がわからなかったので
   buffersコマンドを使ってみた
   以下は.vimrcに記述したキーマップである

   --------------------------------------
   "buffers
   "直前に開いたファイルへ戻る
   map <C-b> :bp<CR>
   "直後に開いたファイルへ戻る
   map <C-f> :bn
<CR>
   
   "gtags
   "関数の定義箇所を探す
   map <C-g> :Gtags
   "ファイル中で定義されている関数一覧表示
   map <C-i> :Gtags -f %
<CR>
   "関数参照している箇所を一覧表示
   map <C-r> :Gtags -r
   "定義箇所-参照箇所を移動
   map <C-j> :GtagsCursor
<CR>
   "検索項目の上方向へ移動&表示
   map <C-h> :cp
<CR>
   "検索項目の下方向へ移動&表示
   map <C-t> :cn
<CR>
   --------------------------------------

  3. これでとても幸せになれた☆




web拍手
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
参考
GNU GLOBAL ソースコードタグシステム
まちゅダイアリー
( ソースコードを快適に読むための GNU GLOBAL 入門 )

23.11.09

Linux From Scratch に挑戦!![環境編2/2]


Target:
LFSの準備仕上げ作業
HostOS:Kubuntu On VirtualBox OSE

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

echo $LFSで、/mnt/lfsがちゃんと定義されていることを確認!

  • 各パッケージのインストール先の作成(rootユーザーで実行)
  # mkdir -v $LFS/tools

  • ホストシステム上に/toolsのリンクを作成(rootユーザーで実行)
  # ln -s $LFS/tools /

  • ファイルシステム破壊を避けるためにユーザーの追加(rootユーザーで実行)
  # groupadd lfs
  # useradd -s /bin/bash -g lfs -m -k /dev/null lfs
  
  左からシェルの指定、ユーザーのグループ指定、
  ホームディレクトリ作成、/etc/skelからのファイル群コピー無効、
  ユーザー名 を表している

  • パスワードの設定と、ディレクトリの所有者の設定
  1. パスワードの設定
   # passwd lfs
  2. ディレクトリの所有者設定
   # chown -v lfs $LFS/tools
   # chown -v lfs $LFS/sources

  • .bashrcと .bash_profile(ログインシェル)の作成
  1. ホスト環境の影響をビルド環境に及ぼさない為に...
   .bash_profileの中身を↓
   • exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash  
   .bashrcの中身を↓
   #----------------------
   #bashハッシュ機能無効
   set +h
   #新規ファイルのパーミッション : 644
   #新規フォルダのパーミッション : 755
   umask 022
   LFS=/mnt/lfs
   #local情報一括指定
   LC_ALL=POSIX
   #ツールチェーン構築の為に
   LFS_TGT=$(uname -m)-lfs-linux-gnu
   #検索して欲しい順番に並べる↓
   PATH=/tools/bin:/bin:/usr/bin
   export LFS LC_ALL LFS_TGT PATH 
   #-----------------------------------------------
  2. 以下のコマンドを実行
   # source ~/.bash_profile
  
  
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
参考
Linux From Scratch Version 6.5
( II. ビルド作業のための準備 - 新しいパーティションの準備 )
パパ日記
(
LFS のブログ記事 )



web拍手

19.11.09

Linux From Scratch に挑戦!![環境編1/2]


Target:
パーティションの作成
HostOS:Kubuntu On VirtualBox OSE

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

事前にHDD(スレーブ)をVirtualBox上に追加して...
  • 作成するディストリビューションの為のパーティション構築
  1. 以下のコマンドを実行
   $ sudo fdisk /dev/sdb
  2. 何やら色々と表示されるが、とにかくパーティションの作成をする
   まずはswap領域の作成...
   コマンド(mでヘルプ):n
  3. 拡張or基本領域の選択を聞かれるので「p」基本領域を選ぶ
  4. 領域番号は「1」
  5. 終点をシリンダorサイズで指示するよう求められるので
   +1G
  6. 領域のシステムIDを変更する為に「t」を入力
  7. ID「82」を入力
  8. 1から82(Linux swap/Solaris)に変更しました...
   という表示が出力される
  9. 残りの領域を使って作業領域を作成
   再度「n」を入力
  10. 領域番号「2」を入力
  11. シリンダの始点-終点は、
   何も入力せずEnterキーを押す(デフォルト値が入る)
  12. 最後に「w」で書き込み
  13. 以上

  • 作成したパーティションの設定
  1. パーティションの初期化
   $ sudo mkswap /dev/sdb1
   $ sudo swapon /dev/sdb1
  2. ファイルシステムの設定
   $ mkfs -t ext3 /dev/sdb2
  3. マウントポンタの作成
   $ sudo mkdir -p /mnt/lfs
   $ export LFS=/mnt/lfs
  4. マウントする
   $ mount -t ext3 /dev/sdb2 $LFS
  5. 以上

  • 永続的にマウントされるように...
  以下の通りに /etc/fstabを編集
  最下行に
  /dev/sdb2   /mnt/lfs   ext3   defaults   1   1
  と記述
  2. 再起動してmountで確認されれば成功
  3. 以上

  • swap領域を利用可能へ
  以下のコマンドを実行
  $ sudo swapon /dev/sdb1




-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
参考
Linux From Scratch Version 6.5
( II. ビルド作業のための準備 - 新しいパーティションの準備 )




web拍手

17.11.09

RemorteDeskTop


Target:
NX Server, NX Client
HostOS:Ubuntu Server 9.10
ClientOS:Mac 10.6

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • FreeNXのインストール
  1. リポジトリの追加
   $ sudo vi /etc/apt/sources.list
   上記ファイルに↓を追記

   
deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu karmic main
   deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu karmic main

  2. ファイル更新後、下記コマンドを実行
   $ sudo apt-get update
  3. パッケージのインストール
   $ sudo aptitude install freenx
  4.
公開鍵の取得
   $
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2a8e3034d018a4ce
  5. /etc/ssh/ssh_configに↓を追記

   #freenx_server_setting
   AuthorizedKeysFile /usr/NX/home/nx/.ssh/authorized_keys2
  6. 更に同ファイルを↓の様に変更
   sshd_config中のパラメータを↓の様に変更
   #  PasswordAuthentication yes(変更前)
    PasswordAuthentication yes(変更後)
  7. クライアントインストール時に必要な
   公開鍵を任意の場所にコピー
   /var/lib/nxserver/home/default_keys/client.id_dsa.key
  8. 以上

  • NX clientのインストール

  1. 下記よりNX clientをダウンロード
   http://www.nomachine.com/download.php
  2. インストール手順は↓を参考のこと
   http://blog.livedoor.jp/flatline_proto/archives/50817487.html
  3. 以上

  • 所感
  HoatOSがUbuntuの場合、
  クライアントがWindowsの時はXmingが良いと思われる。
  またクライアントがMacの時は本件で紹介した
  freenx-nxclientがお勧め。
  他にもChicken of the VNCJollysFastVNCがある。



web拍手

15.11.09

RemorteLogin[ rsh,rlogin,telnet ]


Target:
rsh,telnet,rloginの設定
HostOS:Ubuntu , CentOS

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

最近は余り使われなくなってきているはず?ですが...
覚える機会が有りましたので、ついでに忘備録へ...

  • Ubuntu編
  以下を参考に↓
  http://d.hatena.ne.jp/asublue/20080128/1201528190

  • CentOS編
  1. 必要なパッケージをインストール
   $ yum install rsh-server
   $ yum install telnet-server
  2. /etc/xinetd.d/の rsh, telnet, rlogin というファイルを書き変える
   各ファイルで「 disable = no 」とする
  3. /任意のユーザー/.rhostsの作成
   左から【IPアドレス】【ユーザー名】と記述
      192.168.xx.xxx hogehogeS
      192.168.xxx.xx hogehogeM
  4. /任意のユーザー/.rhostsのパーミッションを確認
   $ chmod 644 .rhosts か chmod 600 .rhosts とする
----------------
  5. root権限でr系の実行、
   及びtelnetでrootにログインする場合
   /etc/securetty にrsh,rlogin,telnetを記述
    ファイルの下部に
    rsh
    rlogin
    telnet
    と記述



web拍手

11.11.09

コマンドの自動化(expectコマンド)


Target:
expectコマンド
Shell:
bash

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • expectコマンドを用いてsshのログイン手続きを自動化する

  1. 下記の様にシェルを書いて実行

   #! /usr/bin/expect
   set timeout 5
   spawn ssh hoge@IPアドレス
   expect "password:"
   send "abcde\r"
   interact

  2. どうやら最後の行の「interact」がミソらしい(?)



------------------------------
*reference

http://memo.majide.com/index.php?Expect%A4%CE%BB%C8%A4%A4%CA%FD




web拍手

10.11.09

nkfコマンドのインストール


Target:
nkfコマンドのインストール
OS:
Mac 10.6

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • Mac 10.6 にnkfコマンドをインストール

  1. ソースのダウンロード↓
   http://sourceforge.jp/projects/nkf/
  2. 適当な場所に展開
  3. 展開したフォルダ(nkf-2.0.9)内でmakeする
  4. 作成したnkfを例えば /usr/bin/nkf にコピーする
   $ sudo mkdir /usr/bin/nkf
   $ sudo cp nkf /usr/bin/nkf
  5. pathを通す
   ~/.bashrcを編集
   export=$PATH:/usr/bin/nkf: を追記



web拍手

9.11.09

iCalとgoogleカレンダーの同期 & MailとGmailの同期


Target1:
iCalとgoogleカレンダーの同期
Target2:
MailとGmailの同期
OS:
Mac 10.6

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • iCalとgoogleカレンダーを同期させる方法

  1. iCal > 環境設定 > アカウントで
   ユーザー名とパスワードを入力
  2. その他は設定に手を入れる必要は無い(と思う...)
  3. 以上

  • MailとGmail(IMAP)の同期

  1. Gmail側でIMAPの設定(以下参考↓)
   http://travel-lab.info/tech/pblog/article.php?id=164
  2. Mail > 環境設定 > アカウント > メールアドレスを入力
  3. メールアドレス入力後、
   その他の入力項目が自動的に埋まる(...はず)
  4. 以上




web拍手

内蔵ハードディスクのマウント


Target:内蔵ハードディスクのマウント
OS:Ubuntu Server 9.10

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • HDDのマウント方法
  1. マウントポイントの作成
   $ mkdir /media/hoge_hdd
  2. /media/配下に習ってリンクを作成する
   $ ln -s hoge_hdd hoge
  3. デバイスの TYPE を確認する
   $ blkid
    /dev/sda1: UUID="8****************df1f" TYPE="ext4"
    /dev/sdb5: UUID="4******C" LABEL="****" TYPE="ntfs"
    .....

  4. /etc/fstab の編集
   下記と同じような表記がfstabにあるので、
   その辺りに追記↓
   /dev/sdb5 /media/hoge_hdd ntfs defaults 0 0
  5. sudo mount -a でマウントされれば成功




web拍手

5.11.09

vimのリンク集


Target:vim

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • viに関するサイトを集めてみました
   1. 名無しのvim使い
    http://nanasi.jp/
   2. KYO's Tech(.vimrcに関する記述)
   3. viを使い倒そう はっとりまさあき
   4. vim幸せコマンド関係
   5. SOURCEFORGE.JP(Vim生活を快適にする5つのスクリプト)
   6. Crimson Snow(「vimの設定」)
   7. IT memorandum(.vimrcに関する記述)
   8. good enough?(.vimrcに関する記述)
   9. Vimpi(vimのプラグインを検索することができる)
    http://vimpi.net/
   10. vimのbuffersコマンドについて
    http://paranoids.sakura.ne.jp/kaworu/2007-07-26-1.php


    

2.11.09

rootにログインするには...[Ubuntu]


Target:rootにログイン
OS:Ubuntu Server 9.10

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • Ubuntuでrootにログインするには

   1. rootのパスワードを設定する
    $ sudo passwd root
   2. パスワードを設定し直す
   3. これで外部からrootにログインすることができる
   4. 以上


----------------------------
reference





web拍手

1.11.09

Ubuntu 9.10 Server 導入手順


Target : Ubuntu 9.10 Server

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • Ubuntu 9.04 Server インストール(今回はCDからインストール)

   以下を参考↓

  • Ubuntu 9.04 Server で、GUI のインストール

   1. 次のコマンドを実行してGUIをインストールする
    $ sudo apt-get install ubuntu-desktop
   2. starxでGUIを起動
   3. System の Language Supportで日本語を設定する
   4. 一度ログアウトし、システムをリブートする
   5. 次からGUIのログイン画面が立ち上がりるようになる
   6. 以上

  • サーバー類のパッケージインストール

   1. 次のコマンドを実行
    $ sudo tasksel
   2. ↓↑で移動、スペースで選択・解除、タブorEnterで実行
    ex. LAMP, OpenSHH, Samba etc.


------------------

reference

[Ubuntu Server のインストール]
[GUI のインストール]
[taskselコマンド]




web拍手

vim [ タグ機能 - ctags - ]



Target : ctags

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • viでタグ機能を使う手順

  1. ソースが置かれているフォルダに移動
  2. ctags *.c と打ってタグファイルを生成
  3. viを起動
   $ vi [ファイル名]
  4. 後の詳しいコマンドは以下↓のサイトを参照
   
   http://archiva.jp/web/tool/vim_ctags.html


web拍手
   

25.10.09

プロンプトの変更 [bash]


Target
: プロンプトの変更
shell : bash

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • .bashrcを書き換えて行う場合
  1. viエディタなどで、.bashrcを開く
   $ vi .bashrc
  2. ファイル中の「PS1」のラインを編集↓
   PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
  3. パラメータの種類は man bash などで調べることができる


  4. 変更後↓
   例) PS1='${debian_chroot:+($debian_chroot)}\A:\u:\w\$ '
  5. 保存したら
   $ source .bashrc
   と打ってファイルを反映させる
  6. 以上

  • exportコマンドを用いた場合
  コチラから↓



web拍手

ファイル共有 [samba編]



Target:samba
HostOS:Ubuntu DeskTop 9.04 / Ubuntu Server 9.10
ClientOS:Windows XP home edition、Mac OS X ver 10.6

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#

  • WindowsXPの設定

  1. ネットワークの設定

   a. コントロールパネルから
    「ネットワーククセットアップウィザード」を選択&起動
    (←クラシック表示にするとわかりやすい)
   b. セットアップウィザード画面を2つ程進めると、
    「ネットワークハードウェアの接続が切断されていることが
     検出されました」というウィンドウが現れることがある
     その場合は左隅のチェックボックスをチェックし、
     次の画面に進む
   c. 「共有接続を使用しますか?」と尋ねられるので、
    「はい、〜〜」を選択&次へ
   d. コンピュータ名を入力&次へ
    (恐らく、入力スペースの直後に
     現在のコンピュータ名が表示されているはず...)
   e. ワークグループ名入力&次へ
   f. 「ファイルとプリンタの共有」では、
    共有を有効にするを選択&次へ
   g.「ネットワーク設定を摘要する準備ができました...」
     という画面が現れたら次へを選択
   h.「もう少しで完了です...」では、
    「ほかのコンピュータでウィザードを実効する必要はない〜〜」
    を選択&次へ
   i. 再起動の指示があるので、此れに従う

  2. 共有フォルダの設定

   a. 元々マイコンピュータ直下に 
    共有ドキュメントというフォルダが
    存在していることがあるので、
    此れを使用するのが無難
   b. 任意に共有フォルダを作成する場合、
    フォルダを右クリックして、「共有とセキュリティ」を選択
   c. タブ[共有]の、ネットワーク上での共有とセキュリティの欄で、
    全てのチェックボックスをチェック&OK
   d. 以上

  • Ubuntu 9.04の設定

  1. sambaのインストール

   a. 端末からインストールの場合
    $ sudo apt-get install samba
   b. synapticマネージャの場合
    synapticマネージャ起動後、sambaを検索・選択し、
    適用をクリック

  2. sambaユーザの登録

   a. 下記のコマンドを実効
    ユーザー名はUbuntuに登録したユーザー
    $ sudo smbpasswd -a [ユーザー名]
   b. パスワードを聞かれるので、
    設定しているパスワードを入力
    $ password: *****
   c. sambaユーザー用のパスワードが聞かれるので、
    Ubuntuに設定しているパスワードを設定(するのが無難)
    $ New SMB password: *****
   d. 再度入力を求められるので、入力
   e. 以上

  3. 共有フォルダの設定

   a. home/ のフォルダを共有する場合
    壱. 選択したフォルダを右クリック、共有のオプションを選択
    弐. ダイアログ中の「このフォルダを共有する」にチェック
    参. 直後に現れる2つのチェックボックスもチェックする
    四. Create Shareをクリック 
    五. 直後に現れるダイアログで、
     「自動的にパーミッションを付加する」をクリック
    六. 以上

   b. root権限のフォルダを共有する場合
    壱. synapticパッケージマネージャを起動し、
     「nautilus-gksu」をインストール
    弐. 適宜root権限のフォルダを選択し、
     右クリックから「管理者として開く」を選択
    参. 対象のフォルダにたどり着いたら、
     home/のフォルダを共有した時と同様の手順を踏む
    四. 以上

  4. /etc/samba/smb.confの編集

   a. 上記ファイルをエディタで開く
   b. 「global」のworkgroupにwindowsで設定した
    ワークグループ名を設定
    workgroup = ****
   c. /etc/init.d/samba restart でsambaの再起動
   d. 以上

  • Macの設定
  1. Finderを開く
  2. 移動を開く
  3. サーバーへ移動をクリック
  4. smb://IPアドレス を入力
  5. 以上



web拍手

24.10.09

WakeUpOnLAN(:WOL)


Target
: WakeUpOnLAN
MaterBoard : P6T
HostOS : Ubuntu 9.04
ClientOS : Windows XP home edition

~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~

  • BIOS上の設定
  - BIOS画面のタグ[Power]において...

  1. Suspend Modeを「Auto」から「S3 Only」変更
  2. APM Configuration の Power On By PCI Devices を「Enabled」
   or Power On By PCIE Devices を「Enabled」へ変更
   但し、オンボードLANがPCIベースか、
   PCIE(PCI Express)ベースなのか要チェック
   分からない場合は、両方とも「Enabled」にしても大丈夫

  • HostOSの設定
  1. 端末から ethtoolをインストール
   $ sudo apt-get install ethtool
  2. /etc/network/interfaces 中に
  「ETHTOOL_OPTS="wol g"」の様に追記 (NICの設定)


  • ClientOSの設定
  1. Remorte Power Control (共用版)を
   下記サイトからダウンロード&インストール
   → http://www001.upp.so-net.ne.jp/hwada/
  2. インストール後の設定は次のサイトに従う
   → http://www.asahi-net.or.jp/~UG6M-KHT/PC/rc/rc.html

~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~

○ reference
[wolの設定]
http://www001.upp.so-net.ne.jp/hwada/
[Remorte Power Controlの設定]
http://www.asahi-net.or.jp/~UG6M-KHT/PC/rc/rc.html
[magic packetに関するコマンド]

Cyclist KOPPE.1993_Trajectory