2013-06-01から1ヶ月間の記事一覧

環境構築におけるトラブルの対処

NWの構築やサーバの設定等の際に、トラブルに遭遇することが残念ながらよくある。その際どのように対処するべきか。 原因は母体のバグから、作業者の設定ミス、参照したドキュメントの不備等さまざまであり、それらを効率的に切り分けるのは必須の作業である…

pythonでcgiを実行 その3 データベースとの連携

pythonだと簡単にかけてとても楽ですね。 以下の内容のデータをHTML文にpythonで表示させるのが目標。 # sqlite3 db/test.db SQLite version 3.7.9 2011-11-01 00:52:41 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite>…

pythonとsqlite3の連携

前回の続きです。pythonからsqlite3を用いてデータベースへアクセスする簡単なコードです。 #!python2.6 # -*- coding: utf-8 -*- import sqlite3 #データベースへの接続、データベースが存在しない場合は作成する。 con = sqlite3.connect("test.db") #テー…

sqliteの基本

ubuntu12.04にてsqlite3を利用しています。データベースに関する知識はほぼ素人同然です。なので本当に基本中の基本のみです。 基本的にはまず、データベースを作成して、そのデータベース上でテーブルを生成します。テーブルに対してデータの追加・削除・表…

pythonでcgiを実行 その2 変数の表示

pythonのcgiで変数の処理の仕方です。すごく単純です。 基本的な流れとしては、htmlという文字列を作成して、それをprintで出力させます。そのhtml中で表示させたい変数は、html中では%sと表示させ、print文中の%以下で具体的な値を与えます。 注意 cgi中で…

pythonでcgiを実行 その1 環境の準備

業務でpythonを用いたcgiの勉強が必要になりました。pythonの開発に参加できてとてもうれしいです。 以下は、ubuntu12.04上でpythonのcgiを動かすための環境のメモです。 まず、以下のコマンドでapacheをインストールします。 apt-get install apache2 cgiを…

スマホにLinuxをインストールする方法

Ipadminiを購入しました。外出時のブラウザ用端末としてはスマホ以上の使い勝手がありますが、プログラムの勉強やサーバの開発環境としては不向きです。 そこで、もはや最近は全く出番のない初代Xperia(SO-01B)にLinuxをインストールして、持ち運び可能な開…

ifconfig eth0 0

Ubuntu12.04を用いたOpenvSwitchの設定時に、NICをIPアドレスを割り振らせない状態で起動させる必要があった。 しかし、NICにIPを割り振らせないでifupさせようとしても、IPアドレスが割り振られていないとのエラーが表示されてしまう。 この場合、一旦IPア…

SDN・Openflowの現状

インターロップの感想。 SDN全体 SDNでネットワークを制御する方式はさまざま考えられている。Ciscoのようにハードウェアのスイッチとして実NWを制御する、Iaas環境で仮想NWのトンネルに用いる、VMwareのように実NWと仮想NWの間に抽象化して制御するなど、ベ…

OpenvSwitchでMPLS利用時の注意点

https://github.com/horms/openvswitch/branches/からコードを取得してコンパイルする必要がある。パッケージからインストールする場合は、MPLSが未対応のようだ。ただし、まだMPLS周りはどのブランチも実装が不完全で、利用時にバグに遭遇するのは覚悟する…

gemを用いたインストール時のエラー

ERROR: While executing gem ... (NameError) uninitialized constant Gem::RemoteFetcher::OpenSSLプロキシの設定がどこで、どこまで有効なのかを考えること。

ubuntu12.04のインストール時の初期設定

インストールする際に環境構築として行う作業をまとめた。 GUIのインストール サーバ版に後からGUIを追加する場合。 sudo apt-get install linux-generic ubunu-desktop sudo startx以下のコマンドでも可能だが、画面表示がやや異なる。 apt-get install xub…

Linuxのデバイス周りの仕組みに関して

カーネル・デバイスファイル・ドライバの関係がよくわからないため状況の整理のためにまとめてみました。 カーネルモジュールとしてのデバイスドライバ Linux上でデバイス(モニタ・ドライバ・マウスなど)を用いるには、デバイスドライバ(デバイスを利用する…

KVMを用いた仮想マシンの入れ子の仕方

Virtualbox or VMwareで仮想マシンを構築。さらにその仮想マシン中でKVMを用いて別の仮想マシンを入れ子で作成する方法。 調べ方 仮想マシン上で以下のコマンドを実行する。 cat /proc/cpuinfo |grep vmxvmxが表示されれば、仮想化支援機能にCPUが対応してい…

whoisコマンド

whoisコマンドでドメイン名を指定することで、ドメインの管理者に関する情報を取得できる。詳細はここを参照。 ドメイン名を指定した場合は、以下のように情報が表示される。 [root@new-host ~]# whois jp [Querying whois.internic.net] [Redirected to who…

ドメイン名とホスト名

ドメインとは、階層的に管理されているインターネットの住所に相当する。非営利のICANが管理している。 ドメイン名とホスト名の違い ホスト名は、ネットワーク上の端末に対してつけられた名称。ドメインとの違いは、名前解決によってIPアドレスと対応がとれ…

URLの構造

知っているようで以外に実はよく知らないURLについて。例 http://weather.yahoo.co.jp/weather/jp/13/4410/13115.html 名称 説明 具体例 URLスキーム URLの先頭に記述されるサーバへのアクセスに用いるプロトコル http ホスト名 サーバの完全修飾ドメイン名 …

FHS(Filesystem Hierarchy Standard)

一応FHSに対する標準化は策定されているのだが、それでもディストリビューションごとに細かい差異が存在する。 ディレクトリ名 配置されるファイル /lib 共有ライブラリ・カーネルのモジュール・各コマンドの実行に必要なライブラリが配置されている /opt パ…

電源を入れてからOSが起動するまでのプロセス

厳密にはアーキテクチャごとに異なるのでここでは一般論。いきなりカーネルを読み込んでいるわけではなく、ブートセクタからブートローダを介していることに注意。 電源ONからinitスクリプトの実行まで 1. 電源ON 2. BIOSが起動(ハードウェアの初期化・BMR…

BIOS(Basic Input/Output System)

ザーボードや拡張カードのフラッシュROMに書き込まれている、ハードウェアと最も低レベルの入出力を行うファームウェアである。PCに電源を入れてから、OSが起動するまでの間を受け持っている。 BIOSの役割 日付や時刻の設定 起動ドライブの順序 ハードウェア…

ファイルシステムのマウント・アンマウント

マウントとは カーネルは、デバイスドライバをロードすることで、デバイスファイルという形でデバイスの認識を行う。 しかし基本的に、デバイスファイルのデータを直接ユーザは利用(読み書き)ができないため、ユーザがストレージデバイスを利用するために…

ファイルシステム

ファイルシステムの役割 ファイルシステムがない場合、ハードディスクのセクタ等を明示的に指定してデータを読み込むことになるが、これは当然非現実的である。ファイルシステムが、ファイルを用いてデータへのアクセスを可能する。 ファイスシステムが間に…

シェル変数と環境変数の違い

シェル変数 実行中のシェルの中でのみ有効な変数 環境変数 全てのシェルで有効な変数。より具体的にはシェル変数は、「設定したターミナルでのみ有効」であり、環境変数は「全てのターミナルで有効」と考えればよい。 シェル変数から環境変数への変換 export…

現在利用しているシェルの確認

[root@new-host ~]# echo $SHELL /bin/bashのようにして確認ができる。この例だとbashである。 シェルの種類 ログインシェルユーザがログインした際に、最初に用いるシェル。/etc/passwdファイルにどのシェルを用いるかが記載されている。シェルスクリプト一…