投稿

11月, 2011の投稿を表示しています

vi

これは!って思ったやつを追加してく感じです。 C-w p 前のウインドウにもどる。 . 前と同じ操作を繰り返す。 C-^/:e # 前の編集ファイルに戻る。 df [string] string (一文字) まで、string を含めて消す。 yf [string] string (一文字) まで、string を含めてバッファに保存。

Fedora16kernel source【Fedora15】

linuxのソースコードのコンパイル。 linuxを利用するところまでは行きません。 linuxはFedora15上でFedora16をコンパイルする形になります。 使うコマンド 単純に好みと興味で、ディレクトリ移動に %pushd/popd を使ってみた。移動したディレクトリをスタックに積むコマンドである。 ということを確認するために一度調べて、たった今 %pushd と言った感じで、引数なしで実行すると履歴が表示されることを知った。cdを引数なしで実行すると、ホームディレクトリに行くことも最近知ったのでもういろいろと切ない。 検索には %grep -R "検索目標" .(カレントディレクトリ) を使用した。-Rオプションでディレクトリを再帰的に検索する。"検索目標"は、ファイル内部のテキストまで拾ってくる。 準備 %su -c 'yum install rpmdevtools yum-utils' rpmdevtoolsは面倒なrpmをビルドする環境づくりの手助けをしてくれる。 yum-utilsはリポジトリ利用のためのコマンド。 rpmのビルド環境を構築する。ホームディレクトリで行うのがいいらしい。 %rpmdev-setuptree 実行後は /rpmbuild% ls BUILD BUILDROOT RPMS SOURCES SPECS SRPMS というディレクトリ群ができる。 次はカーネルソースのダウンロード。 %yumdownloader --source kernel ほいほいと取れる。 次はソースの依存関係を構築する。 %su -c 'yum-builddep kernel- .src.rpm' 最後に %rpm -Uvh kernel- .src.rpm おなじみrpm。そんなに馴染んでないか。 警告: ユーザー mockbuild は存在しません - root を使用します 警告: グループ mockbuild は存在しません - root を使用します みたいなメッセージが大量に出てくるけどスルーで大丈夫。 %pushd ~/home/rpmbuild/SPECS

RIP

前の学校で習ったことの復習です。 RIP そんなに大きくないネットワーク用のルーティングプロトコル。 ver.1とver.2が存在する。 ver.1とver.2とでは、同じ仕組だが結構な差がある。RIPv2が改良版。よく使われている。 ディスタンスベクタ型。 ホップ数 経路情報を、ホップ数の届くルータまで送る。ホップ数以上は届かない。 RIPのホップ数は15なので、つまりホップ数が16以上のルータには経路情報が届かない。 設定 CCNA準拠。 router(config)#router rip rip有効にする。 次にバージョン設定をする。 router(config-router)#version 2 そして有効にするインターフェイスのネットワーク指定。 router(config-router)#network ネットワークアドレス 経路集約を行わないようにする。 router(config-router)#no auto-summary これで最低限の設定はできる。

ruby on rails

ruby on railsをMac OS Xへ。 ポートを使う前提です。 紆余曲折で、多分これだろうという手順なのでこのとおりに実行して出来るかどうかはわかりません。 準備-ポートインストール後- とりあえずportのアップデート。 %sudo port selfupdate .vimrcとかに、 export PATH=/usr/bin/ を追加しておくっぽい。 Ruby、Railsのインストール %sudo port install ruby19 +nosuffix とりあえずRuby1.9インストール。使うのがこれらしい。 次はRails。バージョンは、3.1.1を共同作業する人が使うらしいので3.1.1をインストールする。 インストール終わったら、rubygemのupdateをやらずにRailsをインストールします。 gemでバージョン指定をする場合に、後ろに-v 3.1.1と付けなければならないようです。 gem install rails -v 3.1.1 [/] ERROR: While executing gem ... (Errno::EACCES) Permission denied - /opt/local/lib/ruby1.9/gems/1.9.1/gems/rails-3.1.1/bin/rails エラーです。Permission deniedなのでとりあえずsudo実行。 %sudo gem install rails -v 3.1.1 %rails -v [/] Rails 3.1.1 できた。

MTBF/平均故障間隔

これも課題から。 意味 機器/システムが故障するまでの平均値で、使用開始や回復までの時間。 MTBF=合計稼働時間/合計故障回数 とかで出せる。 単位は時間になるようだ。 MTBF=4ならMTBFは4時間です、みたいな感じでいいのかな。 参考 http://e-words.jp/w/MTBF.html http://itpro.nikkeibp.co.jp/article/COLUMN/20060920/248547/

raid5

学校の課題で出たので調べてみた。 RAID5 特徴 ・分割して書き込まれる ・パリティ生成 ・一台が故障しても大丈夫 ・パリティをそれぞれのドライブに分散 パリティを書きこむ必要があるため、書きこむ速度はやっぱり遅いらしい。HDDが二台以上故障するとだめ。動作も不能になるらしい。小さい障害には結構有効だけど、致命的な大きい障害は、小さい障害に気づきにくいせいで起こるとか。

gdb実行方法

もうgdbがわっけわからんのでいろいろと。 準備 gcc -g ソースファイル として、gdb実行用のファイルを作る必要がある。 gcc -g main.c とすれば、 main.dSYM というファイルが出来る。 これでgdbを使用してデバッグできるようになる。 起動 gdb 実行ファイル これで起動。 GNU gdb 6.3.50-20050815 (Apple version gdb-1705) (Fri Jul 1 10:50:06 UTC 2011) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-apple-darwin"...Reading symbols for shared libraries .. done (gdb) がーっと出てくる。最初びっくりしたが、こんなもん。プログラムむっちゃいっぱいある。

CPU

Intel 64/EMT64/EM64T AMD64をあわせてx64やx86_64とか言ったりする。 IA-32アーキテクチャの64bit拡張。AMD64をIntelが実装したかんじ。 自分の持っているMacBook Proは、Intel Corei5なので採用しているようである。 i386 Intelの初の32bitマイクロプロセッサ。 リトルエンディアン/Little-Endian 最下位のバイトから順番に記録、送信する方式。 最近のPCはだいたいこれらしい。PowerPCは異なる。 ビッグエンディアン/Big-Endian 最上位のバイトから順番に記録、送信する方式。 通信ソフトはUNIXで作られたものなので、通信プロトコルは全部Big-Endian。 gcc gcc -m32/-m64 32/64bit環境のためのコード生成。-m32はi386で動くコードを、-m64はAMDのx86-64のためにコードを生成する。

インストール

インストールできなくて、つまった。 ディスクを何回いれて起動しても起動できず、どうしたもんかと悩んでいて、ふとディスクの裏側を見たら傷が。 そりゃあインストール出来ない、ティッシュで拭いたら運良く復活したりしないかなぁとティッシュで拭いてみると、それは実はただのゴミで、拭いたら取れた。 むちゃくちゃ悲しい気持ちになった。 次からは、ディスクからインストールするときはディスクの汚れをチェックするようにしよう。

java7インストール【Fedora15】

java7をFedora15にインストールした。 準備 Oracleのサイトから、Java1.7.0u1をダウンロードする。 #wget http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-linux-x64.rpm wgetした後、名前がへんになってたらjdk-7u1-linux-x64.rpmあたりに直しとく。 インストール作業 # rpm -Uvh jdk-7u1-linux-x64.rpm vhで#により進捗が分かる。 # java -version java version "1.7.0_01" Java(TM) SE Runtime Environment (build 1.7.0_01-b08) Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode) インストール完了。 Fedora15にインストールするのには、そんなに時間かからなかった。Mac OS X Lionにはちょっと手間が必要だったけれど。 Java7、使ってみて何かあったらまたメモしよう。 参考: http://www.atmarkit.co.jp/flinux/rensai/linuxtips/049instrpm.html

バージョン管理について

理解が足りなかったんで勉強がてら。 分散バージョン管理システム 代表的なのは、 Git,Mercurial,Bazaar GitとMercurialを使う予定があるので、やっぱり学ぶ必要がありそう。 clone サーバ上のリポジトリの複製をローカルに。 中央リポジトリの完全な履歴を含む。 commit ローカルリポジトリへコミット。 サーバのリポジトリは影響を受けない。 push/pull ローカルの変更をサーバに適用。 pushとpullの違いはリポジトリ同期の方法。 push ローカルの変更をサーバのリポジトリへ送信。 pull サーバから他の人のリポジトリの変更内容を取得。 +11/13 Mercurialでは add しないとMercurialの管理下に置かれないらしい。 なるほど。

findとchkconfig

$find . -name "*.c" 現在いるディレクトリのサブディレクトリすべてのcのソースファイルを見つける。 #chkconfig network on network自動起動オンにする。

BloggerでのCSS使用方法

こんなbox や こんなサブタイトル を使う方法です。 ダッシュボードから、 「テンプレート」 を選びます。 その後、テンプレートのページの表示に、 「ブログで使用中」 という項目があり、下に現在使用しているテンプレートのサンプル画像が表示されます。 その下、ボタンが2つあります。 「カスタマイズ」と「HTMLの編集」です。 カスタマイズを選択します。 Blogger テンプレートデザイナー 左のメニューから 「アドバンス」 を選択し、出てきたメニューの一番下から 「CSSを追加」 を選択すると、CSSの設定画面が表示されます。 CSSの設定 自分は .box{ background-color:#77CCDD; mergin: 8px; padding: 4px; } .subtitle{ border-bottom: solid 5px #77bbdd; border-left: solid 10px #77bbdd; } を使用しています。 .box がboxの設定で、 .subtitle がサブタイトルの設定です。 ページへの反映方法 <p class="box"> boxのテキスト </p> <h3 class="subtitle"> subtitleのテキスト </h3>

gccについて

gccコンパイラ gcc -O2 -Wall -o 実行ファイル名 ソースファイル名 -O2 最適化 -Wall コンパイル時の警告 -g デバッグオプション -s リンカに渡すオプション( -o オプションの前に記述)

gccのコンパイル

Mac OS X Lionでの作業。 苦戦してしまいました。 準備 1.gmp 2.mpfr 3.mpc の3つのソースコードを用意する。 ソースコードの入ったディレクトリ名を、 mv gmp-4.3.2 gmp と言った感じでversion番号を抜く。 全て名前を変え終わったら、 svn checkout svn://gcc.gnu.org/svn/gcc/trunk gcc でsvnからgccを取ってくる。 最後の"gcc"は、ローカルのディレクトリ名の指定。 上の3つのディレクトリを、svnで取得したディレクトリ"gcc"に入れる。 Mac OS X Lion では、デフォルトのコンパイラがLLVMなため、gccでコンパイルするために環境変数を設定しパスを通す必要がある。 .zshrc export CPP=/usr/bin/cpp-4.2 export CXX=/usr/bin/g++-4.2 export CC=/usr/bin/gcc-4.2 export LD=/usr/bin/ld makeの実行 ./configure make と実行していく。 大学の課題で最後までコンパイルする必要はなかったので、エラーを少し吐いた。 時間ができたらmake installとかやってみたいと思ってます。

sshのインストール【fedora15】

Fedora15にopensshをインストール。 scpを使いたくて、sshにscpは含まれていると聴いてたので、 sshをインストールした……が、sshすらなぜか使えない。 #yum -y install openssh ではダメなようでした。 sshすると幾つかのコマンドが使えなくなることがあると聞いて、それかなと 思ったが、そうでもない。コンソール上でも使えない。 じゃあ、sshdの再起動……をしてみるが、それもできない。 わけわからん、と思いながらあれこれ調べてみると、 #yum -y install openssh-server #yum -y install openssh-clients の2つが必要なようです。初めて知ってテンション落ちました。 いつもはインストール済んでるOSを使っていたので不覚。 sub

つまり備忘録

今までで学んだことを、適当にちらほら置いていくブログです。 特にこれといって目立ったものもなし。たまに趣味等、いろいろ遊びます。