ラベル Debian の投稿を表示しています。 すべての投稿を表示
ラベル Debian の投稿を表示しています。 すべての投稿を表示

2010/12/31

Cygwin/Xインストールメモ

VMWare on Windows XPを、virtualbox on Debian lenny(5.0)に移行した。
移行にあたり、以前はリモートデスクトップでホストOS(Windows XP)にアクセスしていたのが利用できなくなった。
そのため、クライアントのWindowsにフリーのX Serverが導入できるCygwinをインストールした。

ここからsetup.exeをダウンロードしてインストール。
Install from Internetを選んでネットから直接パッケージをインストールする。



インストールする対象とユーザはデフォルトのまま。


一時ファイル置き場は適当に選ぶ。

ダウンロード元は個人的な好みでiijを選択。

X Serverを起動するのに必要な最低限のパッケージをインストールする。
  • X11/xorg server 1.9.3-1
  • X11/xinit 1.2.1-1
  • X11/X-start-menu-icons 1.0.4-1
  • Net/openssh 5.6p1-2

これでインストール準備完了。

debian上のプログラムをWindows上に表示できるかテストする。
スタートメニューからCygwin-X/XWin Serverを起動。続いて、表示先を指定してリモートにあるプログラムを起動する。

$ export DISPLAY=:0.0
$ ssh -Y username@remote_hostname_or_ip_address
接続できたら、xclockを起動してみる。
$ xclock &
無事起動したらテスト完了。

続いてXDMCPを使ってログインしてみる。
Debianのログイン画面左下のメニューからリモートアクセスを許可できるので許可する。続いて、Cygwin/Cygwin Bash Shellを起動してXWinを起動する。

$ XWin.exe :0 -query remote_hostname_or_ip_address
無事Windows上にdebianのログイン画面が表示されたら成功。

2010/02/09

Debianにvirtualboxをインストール

2011/07/29 追加:
virtualboxの公式ページが充実しましたね。そこみながらインストールするのが最新版が使えて良いと思います。

最近は同僚に勧められてVMWareからvirtualboxに移りました。いろいろと良い点はあるのですが、個人的に気に入っているのはスナップショットの履歴を取れることや、リモートデスクトップをサポートしていないguest OSにリモートデスクトップでアクセスできることでしょうか。XServerって遅くてイライラするんですよね...。
で、Debian 5.0(lenny)にvirtualboxをインストールしたのでメモ。

# aptitude install virtualbox

aptitudeを使ってサクッと起動しようとすると、モジュールを組み込めと叱られた。

Please install the virtualbox-ose-modules package for your kernel and execute 'modprobe vboxdrv' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).
終了コード:
0x80004005
コンポーネント:
Console
インターフェース:
IConsole {d5a1cbda-f5d7-4824-9afe-d640c94c7dcf}

rootになって組み込む。

# modprobe vboxdrv

毎回モジュールを組み込むのは面倒なので、/etc/modulesにもvboxdrvを追加しておく。
今度こそ起動...と思ったら、またエラーが出た。

The VirtualBox kernel driver is not accessible to the current user. Make sure that the user has write permissions for /dev/vboxdrv by adding them to the vboxusers groups. You will need to logout for the change to take effect..
VBox status code: -1909 (VERR_VM_DRIVER_NOT_ACCESSIBLE).
終了コード:
0x80004005
コンポーネント:
Console
インターフェース:
IConsole {d5a1cbda-f5d7-4824-9afe-d640c94c7dcf}

どうもvboxusersグループの権限が必要なようだ。てことで、virtualboxを起動したいユーザをグループに追加。

# gpasswd -a ユーザ名 vboxusers

やっと無事に起動。
解像度を自由にいじれるようにするため、ドライバをインストールする。本家で公開されているdebianパッケージからVBoxGuestAdditions.isoイメージを抽出する。

# dpkg-deb -x virtualbox-3.1_3.1.2-56127_Debian_lenny_amd64.deb foo
# find -name \*.iso
foo/usr/share/virtualbox/VBoxGuestAdditions.iso

見つかったisoイメージをGuest OSにマウントさせればドライバをインストールすることができる。

2011/07/01 追記:
バージョンアップされて変わったのか、virtualboxをインストールしただけではリモートデスクトップでアクセスできなくなっていました。拡張パックをインストールする必要があるんですね。気づかずにしばらくあがきました。トップページからExtension Packをダウンロードしてインストールです。

$ wget http://download.virtualbox.org/virtualbox/4.0.10/Oracle_VM_VirtualBox_Extension_Pack-4.0.10-72436.vbox-extpack
$ VBoxManage extpack install http://download.virtualbox.org/virtualbox/4.0.10/Oracle_VM_VirtualBox_Extension_Pack-4.0.10-72436.vbox-extpack

2011/07/29 追記: 今はextpackをダウンロードしてダブルクリックするだけでインストールできました(virtualbox-4.1/Debian Squeeze)。時代の進歩すげー。

2013/08/17 追記: 我ながら何度同じミスをしたら気がすむのだろうか。「リモートデスクトップはコンピュータに接続できません。次のいずれかが原因です。」と出た場合は、きちんとホストOSのIPアドレスを入力しているか確認すること。ゲストOSのIPアドレスではない!

2010/01/11

ファイルサーバのデータを暗号化

個人情報をきっちりと暗号化することにした。
Debian lenny(と、Ubuntu 9.10)で構築したシステムをcryptsetup-luksを利用してファイルシステムごと暗号化したものに変更する(lennyからsqueeze、wheezyと安定継続稼働中)。

まず、現状を把握する(全く覚えてないのでw)。
現在利用しているファイルシステムを確認。

# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdb1 on /share type ext3 (rw,errors=remount-ro)

(ハードディスクを増設した場合や、mountしてない場合はfdisk -lが便利)

/dev/sdbを暗号化パーティションにしてext3のファイルシステムを作ることにする。

手始めに、暗号化したときのコストがどの程度か測るために、暗号化前の処理速度を測ることにした。
が…。
どんなハードディスクを使ってたっけな?w

# cat /proc/scsi/scsi
Attached devices:
...
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Hitachi HDS72202 Rev: JKAO
Type: Direct-Access ANSI SCSI revision: 05


HitachiのHDS72202か。
カタログスペックを調べようと思ったらぐぐっても見つからない...
ま、いっか。
ベンチマークツールをインストールして速度を測ってみる。

まず読み込み速度。

# aptitude install hdparm
# hdparm -Tt /dev/sdb
/dev/sdb:
Timing cached reads: 7408 MB in 2.00 seconds = 3707.32 MB/sec
Timing buffered disk reads: 396 MB in 3.00 seconds = 131.95 MB/sec


書き込みも測ってみる。

# time dd if=/dev/zero of=/share/hoge ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.8181 s, 281 MB/s
real 0m3.823s
user 0m0.156s
sys 0m2.256s


さて、本番。

カーネルをコンパイルする。

2010/01/17 追記
Ubuntu 9.1やDebian6以上などの、最近のディストリビューションの場合はカーネルの再コンパイルの必要はない。
カーネルがサポートしていない場合、cryptsetup時に以下のようなエラーメッセージが出る。その場合はカーネルを正しく作り直すべし。

Command failed: Failed to setup dm-crypt key mapping.
Check kernel for support for the aes-cbc-essiv:sha256 cipher spec and verify that /dev/sda3
contains at least 258 sectors



カーネルコンパイルの手順は次のようになる。

# aptitude install make gcc
# aptitude install kernel-package fakeroot
# aptitude install linux-source
# cd /usr/src
# tar xvjf linux-source-2.6.26.tar.bz2
# cd linux-source-2.6.26


設定を引き継ぐため古いコンフィグファイルをコピーする。

# cp /boot/config-2.6.26-2-amd64 .config


昔のコンフィグをマージする。

# make oldconfig


続いて、暗号化モジュールをカーネルに組み込む。
グラフィカルなカーネル設定(gconfig)を立ち上げるため、以下のライブラリをインストールする。

# aptitude install libgtk2.0-dev libglade2-dev


続いて、設定画面を呼び出す。下記のコマンドは、Root Terminalから呼び出せばXの設定は必要ない。

# make gconfig


[Device Drivers]->[Multiple devices driver support(RAID and LVM)]->[Device mapper support]
[Device Drivers]->[Multiple devices driver support(RAID and LVM)]->[Device mapper support]->[Crypt target support]
の2つをYにして、カーネルに組み込む。
コンパイルして、インストールする。

# make-kpkg clean
# fakeroot make-kpkg --initrd --revision=20100111.1224 kernel_image kernel_headers modules_image
# cd /usr/src
# dpkg -i linux-headers-2.6.26_20100111.1224_amd64.deb linux-image-2.6.26_20100111.1224_amd64.deb


再起動後、やっとこさ暗号化ファイルシステムを作成。
まず、dm-cryptの設定ツールであるcryptsetupをインストールする。

# aptitude install cryptsetup


暗号化アルゴリズムにaes、ハッシュアルゴリズムにsha256、キーサイズに256を指定する。

# cryptsetup --verbose -y luksFormat -c aes-cbc-essiv:sha256 --key-size 256 /dev/sdb1
WARNING!
========
This will overwrite data on /dev/sdb1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.


ここで気をつけなくてはいけないことは、大文字でYESと答えないとCommand failedというメッセージが表示されて終了してしまうことである。
なんつーユーザーフレンドリーなインターフェース。まるでおいらが作ったアプリケーションみたいだ。

論理パーティションを作成して適当な名前(encrypted_sdb1)をつける。

# cryptsetup luksOpen /dev/sdb1 encrypted_sdb1
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.


Device-Mapperに暗号化レイヤが用意されたか確認。

# ls -l /dev/mappaer
crw-rw---- 1 root root 10, 59 2010-01-11 15:41 control
brw-rw---- 1 root disk 254, 0 2010-01-11 15:45 encrypted_sdb1


後は通常のパーティションと同じように扱える。パーティションを他と同じようにext3でフォーマットする。

# mkfs.ext3 /dev/mapper/encrypted_sdb1


マウントする。
※/dev/sdb1を直接mountして使うと壊れてしまうらしいので注意

# mkdir /share
# mount -t ext3 /dev/mapper/encrypted_sdb1 /share
# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 59526528 4525292 51977404 9% /
tmpfs 3551324 0 3551324 0% /lib/init/rw
udev 10240 860 9380 9% /dev
tmpfs 3551324 76 3551248 1% /dev/shm
/dev/mapper/encrypted_sdb1
1922857324 200160 1824981616 1% /share


よしよし。
さて、暗号化によりどの程度遅くなったか確認する。

# hdparm -Tt /dev/mapper/encrypted_sdb1
/dev/mapper/encrypted_sdb1:
Timing cached reads: 6934 MB in 2.00 seconds = 3469.98 MB/sec
Timing buffered disk reads: 228 MB in 3.03 seconds = 75.35 MB/sec


読み取り速度はcachedで7%の速度低下、bufferedで43%の速度低下。両極端な結果が出たな。cachedの速さもびっくりだけど、bufferedの速度低下もびっくりだ。
続いて書き込み速度のテスト。

# time dd if=/dev/zero of=/share/hoge ibs=1M obs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 14.2425 s, 75.4 MB/s
real 0m14.245s
user 0m0.160s
sys 0m2.240s


74%の速度低下。キッツー。
用途によっては使い物にならないですね、コレ。

今後マッピングの解除とunmountは以下のようにする。

# umount /share
# cryptsetup luksClose encrypted_sdb1


今後マッピングとmountしたい時は次のようにする。

# cryptsetup luksOpen /dev/sdb1 encrypted_sdb1
# mount -t ext3 /dev/mapper/encrypted_sdb1 /share

もし、

Command failed: No key available with this passphrase.

というエラーメッセージが出た場合は、dm_cryptモジュールが読み込まれているか、lsmodを実効して確かめる。

次はUPS買うかな...

2013/06/28 追記:
squeezeに移行すると、lennyで作った暗号化ファイルシステムがマウントできないという悲鳴の声がネット上でちらほら見かけました。どうも暗号化するときのデフォルト設定が、変わったのが原因(?)ぽいですね。とりあえず上記の暗号化アルゴリズムとハッシュアルゴリズムを選択した場合は、再マウント時に何もトラブルなりませんでした。カーネルも再コンパイルが必要なくなり、modprobe dm_modしてからcryptsetupするだけで問題なしです。また、Debian7ではそれすら必要なかったです。楽になったなぁ…。

2013/06/04 追記:
他のベンチマークがあったので追記 - The Cost Of Ubuntu Disk Encryption
結構いろいろな測定方法が紹介されてる。今度参考にしようっと。

2011/07/29 Debian squeeze環境下でlennyで暗号化したシステムをマウントする方法を末尾に追加。

2010/01/03

64bit対応Adobe Flash PlayerをIceweaselにインストール

現在メインの趣味用OSをWindows XPからDebian Lenny(64bit版)に移行テスト中。
ブラウザはFirefox(Iceweasel)を愛用してるんだが、64bit版のflashプラグインは用意されていない様子。
おいらは趣味がニコニコ動画というリア充なのでとても困る。Adobe Labsから拾ってインストールする方法を覚書。

Adobe Labs - Downloadsから、Adobe Flash Player 10 for 64-bit Linuxをダウンロード。解凍して、$HOME/.mozilla/pluginsにlibflashplayer.soを置けば終了。pluginsディレクトリがなければ作るべし。

追記
2010/02/08 上記のライブラリはアホほど安定していない。普通に32bit版を使うべし。

2009/07/24

shutdownコマンドをsudoに登録

システムを停止するたびに特権ユーザになるのが面倒なのでsudoで実行できるように変更した。

# visudo
# Allows members of the users group to shutdown this system
%users ALL=/sbin/shutdown -h now

これで一般ユーザでも停止できる。
セキュリティ的にはあれだが、家のサーバなんでいいだろう。

2009/06/27

Oracle 10g ExpressをDebian 5.0.1 lennyにインストール

Oracleのレポジトリを/etc/apt/souces.listに追加する。

deb http://oss.oracle.com/debian unstable main non-free

公開アーカイブの鍵を追加する

$ wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O - | apt-key add -
$ apt-get update
$ apt-get install oracle-xe

オラクルの設定をする。

$ /etc/init.d/oracle-xe configure

Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:

Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"

Oracleを操作するユーザの.bashrcに以下の行を追加して、必要な環境変数を設定する。

# environmental variables for oracle database
. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

.bashrcを再読み込みさせる。

$ source .bashrc

これでSQL*Plusが使えるようになっている。SYSDBA権限でログインしてみる。

$ sqlplus sys as sysdba

以上。

2008/12/13

/var/log/messagesの -- MARK --の出力を停止

自宅のサーバ(玄箱)で20分毎の生存証明なんかうざいだけなので停止する事にした。/var/log/messagesの肥やしにしかならんしね。

/etc/default/syslogdに

SYSLOGD="-m 0"

を追加。

日本語マニュアル

玄箱に日本語マニュアルをインストールした。


# apt-get install manpages-ja

2008/12/05

ntp

2012/06/22 修正:

玄箱の時刻を正すため、ntpサーバをインストールした。

# aptitude update
# aptitude install ntp ntpdate ntp-doc

/etc/ntp.confを最寄りの公開NTPサーバに設定する。

server ntp-os01.ocn.ad.jp iburst
server ns.riken.go.jp iburst

各種機関別のNTPサーバリストはここ
設定ができたか確認する。
# ntpq -p

2012-11-04 追記:

リソースがもったいないのでcronで走らせることにした。ここが詳しい。でも、調べてて気づいたけど、debianだと起動時に時間調整してくれるんですね。とりあえずそれでどれぐらいずれるか様子見てみよう。

2008/11/28

新玄箱 KURO-NAS/X4

新玄箱 KURO-NAS/X4
ktkr!
次買うNASはこれかなぁ・・・。最初からDebian化されてるのも嬉しい。
残念なのは、CPUをもっといいもの積んで欲しかったorz

2008/11/23

rep2あらためp2

2ちゃん閲覧環境のp2をインストールした。
こいつをインストールすれば外でアクセスしたときも自宅でアクセスしたときも同じブックマークと履歴を利用できる。また、携帯から2ちゃんにアクセスするときも非常に便利だ。インストールログをメモ。

[CentOS 5の場合]
ダウンロードして、設置して、rep2用にユーザを作成。

# wget http://iij.dl.sourceforge.jp/p2-php/33316/rep2_v1_8_40.zip
# unzip rep2_v1_8_40.zip
# mv rep2 /var/www/html
# useradd -d /var/www/html/rep2 -g apache -s /sbin/nologin rep2
# chown -R rep2.apache /var/www/html/rep2
PHPのインストール。
# yum install php php-mbstring
# /etc/init.d/httpd restart
PHPがきちんと動いている事をブラウザで確認。
http://www.hogehoge/rep2/phpinfo.php
にアクセスして表示すれば良い。

データ保存用ディレクトリを作成。
# mkdir /var/www/html/rep2/data
# chmod 770 /var/www/html/rep2/data
設定ファイルrep2/conf/conf_hostcheck.phpで、アクセスするIPアドレスを登録する。whoisコマンドを使うか、ここのリストを見てIPアドレスを登録する。この際、conf/conf_hostcheck.confをいじるのだが、custom変数を1にするのを忘れないこと

これで携帯と自宅で見た2ちゃんの内容を同期できる。

追記 2012/02/17:lib/UA.phpを変更することで、androidでも携帯用インタフェースを利用できるらしい

追記 2012/02/17:

認証機能はrep2ではなく、apache2標準のDigest認証を使うことにした。

# sudo a2enmod auth_digest
/etc/apache2/sites-available/rep2を作成。
<Directory "/var/www/rep2">
AuthType Digest
AuthName "Members' Zone"
AuthDigestDomain /rep2/
AuthUserFile /etc/apache2/.htdigest
Require valid-user
</Directory>
認証ファイルを作成する。
# sudo htdigest -c /etc/apache2/.htdigest "Members' Zone" hoge
rep2用の設定を有効化する。
# sudo a2ensite rep2
最後にapache2を再起動してOK!

[Debian wheezyの場合]
ほぼ上記と同じだが、ユーザーは下記で作成。

# sudo adduser --system --ingroup www-data --no-create-home p2
また、ここを参考にした。