hacks/linux/Debian

2010年11月24日

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

仮想環境に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アドレスの設定はしてない。




編集
@hansode at 11:20|PermalinkComments(0)TrackBack(0)

2010年10月01日

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

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

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

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

▼検証環境

  • Ubuntu 10.04 LTS

▼/etc/default/localeを修正


$ sudo vi /etc/default/locale
LANG="en_US.UTF-8"
続きを読む


編集
@hansode at 10:45|PermalinkComments(0)TrackBack(0)

2008年10月02日

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

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



編集
@hansode at 12:15|PermalinkComments(0)TrackBack(0)

2008年07月18日

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

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で位置情報を指定して地図を表示する。
これをやりたかった。
続きを読む


編集
@hansode at 14:40|PermalinkComments(0)TrackBack(0)

2008年06月23日

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

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を実行して確認



編集
@hansode at 21:00|PermalinkComments(0)TrackBack(0)

2008年06月02日

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

Xenだと上手く行かなかった


Ubuntu World ~毎日使いたくなるデスクトップLinux(DVD付ムック) (IDGムックシリーズ)
小林 準 あわしろ いくや 青木 理音 大津 真 山市 良 中橋 一朗 LinuxWorld編集部
アイ・ディ・ジー・ジャパン
売り上げランキング: 1850

メンバーの1人が見せてくれた。
軽く流し読み。デスクトップ環境の使い方が書かれた一冊。

仮想環境を構築するにはVirtualBox推奨との事。
PCとの相性の問題かも知れないけど、Xenだと上手く動いてる気配が無かった。
VirtualBoxを試してみよう。



編集
@hansode at 15:30|PermalinkComments(0)TrackBack(0)

2008年05月28日

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

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


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

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

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

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



情熱は冷めない


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



編集
@hansode at 11:30|PermalinkComments(1)TrackBack(0)

2008年05月22日

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

環境構築まとめ


UbuntuをUSBブートさせたいけど、
データ置き場としても使いたい。




パーティション情報


1番目にデータ領域を作る。
容量8Gの場合の参考例。

sdb15120MW95 FAT32 (LBA)
sdb2700M Linux (Ubuntuシステム)
sdb3残り Linux (Ubuntuデータ)



作業内容


Desktop CDでブートする。


$ sudo fdisk /dev/sdb

$ gedit sys_init.sh
$ gedit install_usb.sh

$ sudo ./sys_init.sh
$ sudo ./install_usb.sh /dev/sdb 2 3
$ sudo /sbin/mkfs.vfat /dev/sdb1
※sys_init.shとinstall_usb.shの内容は、
Ubuntu 8.04 on USB Memory : インストールと「ブートCD」から持って来る。

sdb1にsys_init.shとinstall_usb.shをコピーして置くと後々便利。
後は、USBからブート出来る事を確認して終わり。




編集
@hansode at 21:45|PermalinkComments(0)TrackBack(0)

2008年05月21日

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

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」が現れていれば成功。

作業効率が上がった。



編集
@hansode at 13:45|PermalinkComments(1)TrackBack(0)

2008年05月20日

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

目的は気軽に開発環境構築



Ubuntuインストール目的でUSBメモリを買って来た。

Ubuntu 8.04 on USB Memory : インストールと「ブートCD」に書かれている通りに作業。

  1. まずはDesktop CDでブート
  2. USBメモリをマシンに指してデバイス名を確認
  3. fdiskでパーティションを2つ切る
USBメモリのデバイスファイル名が/dev/sdbであるものとする。

$ sudo fdisk /dev/sdb
適当なサイズでパーティションを2つ切る

$ gedit sys_init.sh
$ sh ./sys_init.sh

$ gedit install_usb.sh
$ sudo sh ./install_usb.sh /dev/sdb 1 2
終わったら
  1. 作成したUSBメモリを指してマシン起動
  2. BIOSの設定画面でUSBを最優先へ変更
しばらくするとUbuntuが立ち上がって来た。
起動する事を確認出来た。



今後の課題


とりあえず解決したい。
  • USB環境量産方法
    • マスター環境構築
    • マスター環境をcpやddで書き込む程度の単純作業
  • 1本のUSBメモリで
    • WindowsとMacOS、どちらからでもUSBにインストールしたUbuntuを使う方法
    • 非常時にUSBブート出来る環境を用意しておきたい



編集
@hansode at 21:00|PermalinkComments(0)TrackBack(0)