debian

2010年11月24日

[Ubuntu] VLAN設定

このエントリーをはてなブックマークに追加

仮想環境にVLANを導入する為の準備

▼検証環境

  • Ubuntu 10.04.1 LTS
  • Linux 2.6.35-22-server

▼設定項目

  • 物理NIC名: eth0
  • VLAN ID: 100
事前準備

▼必須パッケージをインストール

$ sudo apt-get install vlan
作業内容

▼システム起動時に読み込むモジュールに「8021q」を追加

$ sudo vi /etc/modules
> 8021q

▼一時的に動的反映

$ sudo modprobe 8021q
$ lsmod | grep 8021q

次回のシステム起動時には/etc/modulesに追記されているのでmodprobeコマンドを実行する必要はない

▼eth0にVLAN ID 100を認識させる

$ sudo vi /etc/network/interfaces
> auto eth0.100
> iface eth0.100 inet manual
>         up ifconfig eth0.100 up

▼ネットワーク設定再起動

$ sudo /etc/init.d/networking restart
...(省略)...
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 100 to IF -:eth0:-
...(省略)...

今回はinterfaceを追加するのが目的なので、IPアドレスの設定はしてない。




半袖 at 11:20|PermalinkComments(0)TrackBack(0)

2010年10月01日

[Ubuntu][Debian] システムのロケールを変更

このエントリーをはてなブックマークに追加

サーバ用途には日本語が邪魔

忘れないように自分向けメモ。

意図せず日本語環境になっていてビックリする事が時々ある。
Debian系のシステム環境を変更するには、/etc/default/配下のファイルを修正。

▼検証環境

  • Ubuntu 10.04 LTS

▼/etc/default/localeを修正

$ sudo vi /etc/default/locale
LANG="en_US.UTF-8"

図解でわかるLinux環境設定のすべて
西村 めぐみ
日本実業出版社
売り上げランキング: 11300



半袖 at 10:45|PermalinkComments(0)TrackBack(0)

2010年05月27日

[Hinemos][Debian][Ubuntu] Hinemos監視対象ノード設定

このエントリーをはてなブックマークに追加

ジョブ処理しないので、Hinemos Agent不必要

Hinemos』を監視システムとして利用したい。

この場合、Hinemos Agentを利用したジョブ処理は不用。
Hinemos Agentはインストール不用で、snmpdの設定さえあれば良い。
「果たして、Hinemosを使う意味があるのか…?」と言う事は、今回の議論の対象外とする。

▼動作実績環境

  • Amazon EC2
  • Ubuntu 8.04 LTS(x86_64)
  • Linux 2.6.24-6-xen
  • Hinemos 3.1.4
  • snmp 5.4.1~dfsg-4ubuntu4.3

作業内容

監視対象ノード

▼snmpdインストール

$ sudo apt-get -y install snmpd

▼使用IPアドレスを変更

$ sudo cp -pi /etc/default/snmpd /etc/default/snmpd.0
$ sudo vi /etc/default/snmpd
$ diff /etc/default/snmpd.0 /etc/default/snmpd
11c11,12
< SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
---
> #SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
> SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 0.0.0.0'

▼managerからシステム情報を取得可能に設定変更

$ sudo cp -pi /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.0
$ sudo vi /etc/snmp/snmpd.conf
$ diff /etc/snmp/snmpd.conf.0 /etc/snmp/snmpd.conf
61,62c61,62
< com2sec paranoid  default         public
< #com2sec readonly  default         public
---
> #com2sec paranoid  default         public
> com2sec readonly  default         public

▼snmpd再起動

$ sudo /etc/init.d/snmpd restart

Hinemos Manager

▼システム情報取得可能かどうかを確認

$ snmpwalk -v 1 -c public [ 監視対象IPアドレス ] .1.3.6.1

※HOST情報を取得出来れば良い


あと書き

今回は、Amazon EC2のセキュリティグループ設定があるのでsnmp接続許可設定を無視している。
その他環境では、snmp接続の許可・拒否を考慮すべき。




半袖 at 16:00|PermalinkComments(0)TrackBack(0)

2009年02月28日

さくらレンタルサーバでDebianを使う (環境構築編)

このエントリーをはてなブックマークに追加

さくらレンタルサーバでDebianを使うの続き

chroot環境構築時の方針は下記のものとする

  • host環境は可能な限り手をつけない
  • デーモンプロセスはdaemontoolsで管理する物とする
  • host環境用sshとguest環境用sshをそれぞれ用意する

作業内容

作業対象を明確化するため、プロンプトで示す

プロンプト内用
debianDebianがインストールされている別サーバ
hostchroot呼び出し元
guestchroot環境下

chroot環境構築下準備
debian環境にてchrootツリーを作っておく

debian$ mkdir sid
debian$ sudo /usr/sbin/debootstrap sid sid
debian$ sudo tar zcvpf sid.tar.gz sid
debian$ scp sid.tar.gz admin@192.0.2.205:~/

host環境にてchroot用ディレクトリ作成

host$ su
host# cd /home
host# mkdir -p chroot/debian
host# cd chroot/debian

debianツリーを伸長

host# tar zxvpf sid.tar.gz

子環境用に必要な物をマウント

host# mount -t proc proc /home/chroot/debian/sid/proc
host# mount -t devpts devpts /home/chroot/debian/sid/dev/pts
host# mount -o bind /dev /home/chroot/debian/sid/dev
host# mount -o bind / /home/chroot/debian/sid/mnt

リゾルバ設定

host# cp -pi /etc/resolv.conf sid/etc/.

パッケージを更新

guest# export PATH=/bin:/usr/bin:/sbin:/usr/sbin
guest# apt-get update
guest# apt-get dist-upgrade

daemontools起動設定

guest# apt-get install daemontools
guest# exit
host# vi /etc/inittab
SV:123456:respawn:/usr/sbin/chroot /home/chroot/debian/sid /usr/bin/svscanboot
host# /sbin/telinit q

親環境のhttpdを停止

host# /sbin/chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
host# /sbin/chkconfig --del httpd
host# /sbin/chkconfig --list httpd
service httpd supports chkconfig, but is not referenc

OpenSSH設定

guest# apt-get install openssh-server
guest# apt-get install ucspi-tcp
guest# cd /etc/service
guest# ./addsv.sh ssh
guest# cd .ssh; pwd
guest# vi run

※addsv.shはdaemontoolsの/service/に、サービスを追加するスクリプト「addsv.sh」 を参照。

#!/bin/sh

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
export PATH

exec 2>&1
sleep 3

exec envdir ./env sh -c '
  /usr/bin/tcpserver -HRDl0 -x ./tcp.ssh.cdb \
  -u 0 -g 0 0 ${PORT:-2022} /usr/sbin/sshd -i -e
'
guest# mkdir env
guest# echo 2022 > env/PORT
guest# echo :allow > tcp.ssh
guest# tcprule ./tcp.ssh.cdb ./tcp.ssh.tmp < ./tcp.ssh
guest# cd ../; pwd
guest# mv -i .ssh ssh

これ以降の作業は2022番ポートを指定してssh接続。
必要に応じてパッケージをインストールして行く。


まとめ

  • hostのinittabにてguestのsvscanを実行するのがポイント
  • chrootのツリーを他サーバへ持っていけば簡単に論理移転可能と言うメリットがある



半袖 at 17:15|PermalinkComments(0)TrackBack(0)

2009年02月15日

さくらレンタルサーバでDebianを使う

このエントリーをはてなブックマークに追加

調べてみると「Fedora 7」だった

使われずにいた「さくらのレンタルサーバ」を使って良いと言われ、
サーバ状況を確認してみると「Fedora7」

  • 可能であればDebianにしたい
  • 1年後に論理移転予定
  • 今ある環境には手をつけたくない

これを実現させる為に自分が選んだのは、chroot。
chroot環境内にDebianを用意する。

chrootの利点

  • 親環境の古いライブラリに依存しない
  • Xenとは違い、無駄なオーバーヘッドが無い

今回はネットワークリソースが親環境と共有されても問題が無いので、
chrootを使う事で要求を満たせる。

具体的な構築方法は、また次回




半袖 at 17:45|PermalinkComments(0)TrackBack(0)

2008年10月02日

Debianのlocale設定(UTF-8を表示させる)

このエントリーをはてなブックマークに追加

coLinuxでDebian


先日、OSをクリーンインストールした。
それに伴いcoLinuxの環境構築。

Debianのイメージを改めてダウンロードして環境構築。
どうもUTF-8の表示処理が上手くいかない。

最初はlocaleの設定が何もない事を思い出す。
久し振りの作業なので、すっかり忘れていた。


設定作業


localesインストール
$ sudo apt-get install locales
locale対象リスト作成
$ sudo vi /etc/locale.gen
ja_JP.UTF-8 UTF-8
locale生成
$ sudo /usr/sbin/locale-gen 
環境変数設定
$ export LC_ALL=ja_JP.EUC-JP



半袖 at 12:15|PermalinkComments(0)TrackBack(0)

2008年07月18日

Debian etch でGeoIPを使う

このエントリーをはてなブックマークに追加

IPアドレスから位置情報を取得したい


GeoIP City Geolocationを使うとIPアドレスから位置情報を取得可能。
無料版と有料版があり、無料版は位置情報の精度が低い。
今回は無料版で実験。



環境構築


必要なパッケージをインストール
$ sudo apt-get install libgeoip1 libgeoip-dev
Geo::IPをダウンロードしてdebパッケージ化
※etchでは1.33のbuildに失敗したので1.27を採用。
$ wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.27.tar.gz
$ tar zxvf Geo-IP-1.27.tar.gz
$ dh-make-perl --build Geo-IP-1.27
$ sudo dpkg -i libgeo-ip-perl_1.27-1_i386.deb
GeoLiteCity.datをダウンロード
$ wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$ gunzip GeoLiteCity.dat.gz
サンプルプログラム
#!/usr/bin/perl

use strict;
use warnings;
use Geo::IP;

my $name = shift;
my $geo  = Geo::IP->open('./GeoLiteCity.dat', GEOIP_STANDARD);
my $geoip = $geo->record_by_name($name);
exit 1 unless $geoip;

map { print $_ .":\t". $geoip->$_ ."\n" }
    qw/country_code country_name city region postal_code
    latitude longitude dma_code area_code/;

1;
実行例
$ ./geoip-lookup.pl www.google.com
country_code:   US
country_name:   United States
city:   Mountain View
region: CA
postal_code:    94043
latitude:       37.4192
longitude:      -122.0574
dma_code:       807
area_code:      650



位置情報を取得した後、どうする?


Google Maps APIで位置情報を指定して地図を表示する。
これをやりたかった。



Google Maps Hacks 第2版 ―地図検索サービスをもっと活用するテクニック
Rich Gibson Schuyler Erle
オライリー・ジャパン
売り上げランキング: 53996



半袖 at 14:40|PermalinkComments(0)TrackBack(0)

2008年06月23日

[Debian][Xen] Debian(Domain0)にCentOS4(DomainU)を構築 ミラーサイト変更

このエントリーをはてなブックマークに追加

DebianにCentOS4の仮想環境を作ろう


コマンドが異常終了した。
$ sudo xen-create-image --install-method rinse  --dist centos-4 --hostname centos4

早速ログ確認すると、
何てこった…参照先が存在しない。

どこかに設定ファイルがあるはずなので探してみる。
debian$ cd /etc/
debian$ grep http://anorien.csc.warwick.ac.uk/ -r . -l 2>/dev/null
./rinse/rinse.conf
なるほど。



ミラーサイト設定を変更


$ cd /etc/rinse
$ sudo cp -pi rinse.conf rinse.conf.0
$ sudo vi rinse.conf

$ diff rinse.conf.0 rinse.conf
14,15c14,15
< mirror = http://anorien.csc.warwick.ac.uk/mirrors/centOS/4.6/os/i386/CentOS/RPMS/
< mirror.amd64 = http://anorien.csc.warwick.ac.uk/mirrors/CentOS/4.6/os/x86_64/CentOS/RPMS/
---
> mirror = http://ftp.riken.jp/Linux/centos/4.6/os/i386/CentOS/RPMS/
> mirror.amd64 = http://ftp.riken.jp/Linux/centos/4.6/os/x86_64/CentOS/RPMS/
19,20c19,20
< mirror = http://anorien.csc.warwick.ac.uk/mirrors/centos/5/os/i386/CentOS/
< mirror.amd64 = http://anorien.csc.warwick.ac.uk/mirrors/centos/5/os/x86_64/CentOS/
---
> mirror = http://ftp.riken.jp/Linux/centos/5/os/i386/CentOS/
> mirror.amd64 = http://ftp.riken.jp/Linux/centos/5/os/x86_64/CentOS/
これで上手く行った。



まとめ


環境
  • Domain0がDebian
  • DomainUをCentOSとする場合
  • つまり、install-methodをrinseとする場合

解決方法
  1. /var/log/xen-tools/を確認
  2. ミラー先に問題がある場合は/etc/rinse/rinse.confを変更
  3. 再度xen-create-imageを実行して確認



半袖 at 21:00|PermalinkComments(0)TrackBack(0)

2008年05月28日

Ubuntu8.04 on USB Memoryでapt-getすると正常に起動しなくなる

このエントリーをはてなブックマークに追加

結果: レスキュー用に特化すべし


何度か試してみたけど、
USBメモリにインストールしたUbuntuでapt-getすると起動しなくなる。

Ubuntu8.04ではUSBメモリで環境構築するのは、まだ不安定の様だ。
アップデートを推奨しないと書かれているし、諦めよう…。

現段階ではレスキュー用に特化した使い方が良いのだろう。

CDよりは持ち運びが楽と言う利点がある。
万が一の時の為、カバンに忍ばせておく。



情熱は冷めない


USBメモリの中に閉じ込めたオレオレUbuntu環境を実現したい。
次のメジャーバージョンで改善される事を期待する。



半袖 at 11:30|PermalinkComments(1)TrackBack(0)

2008年05月21日

WindowsとcoLinux間のファイル受け渡し

このエントリーをはてなブックマークに追加

WindowsとcoLinux間のファイルやり取りが多い


作業の都合で
coLinux上のファイルをWindowsへの移動が何度も行われている。

WinSCPでファイル操作してみたけど、どうも効率が悪い。
そこで考えた解決の1つがSambaの利用。



環境整理


Debianlenny/sid
colinuxIPアドレス192.168.0.10
作業アカウントcolinux
ホームディレクトリ/home/user/colinux/


$ sudo apt-get install samba

$ sudo vi /etc/samba/smb.conf
[global]
>   security = share

> [colinux]
>   comment   = colinux home
>   path      = /home/user/colinux
>   read only = no
>   guest ok  = yes

$ sudo /etc/init.d/samba restart
あとはエクスプローラーで「\\192.168.0.10\」へアクセス。
フォルダ名「colinux」が現れていれば成功。

作業効率が上がった。



半袖 at 13:45|PermalinkComments(1)TrackBack(0)