トップページ > コンピュータ > UNIX系 > Linux > Redhat > CentOS

2009年07月01日

CentOSでFFFTPから削除できない

Karesansuiを使ってXen仮想環境を快適に使っている。一つベースとなる環境を作っておけば、それをコピーして新しい環境として利用できるので、クローンの生成は非常に効率的である。

しかし、ベースとする環境の設定が不十分だと、クローン環境にもそのまま継承されてしまい思わぬトラブルに悩まされることになる。今日は下記のようなことになった。

クローンした仮想環境でWindowsのFFFTPから不要ファイルを削除しようとしたら、削除できなくて困ったといいう相談を受けた。確認してみたがパーミッションの問題でもないし、ユーザーアカウント=オーナー番号も同じなので削除できないのは変だなぁと首をかしげた。

もちろんSSHで入り込んでbashを使えばコマンドラインから削除は出来る。何があかんのかなぁ?とFFFTPで操作しているのを見せてもらい、空のフォルダを削除できないという状況を確認した。そして思った・・本当に空なのかな?

bashシェルからsuでそのユーザーアカウントになり、当該フォルダをls -laで見たところ、ドットファイルがあった。やっぱり空では無かった!!

#ドットファイルとは、.htaccess という感じに"."から始まるファイル名。UNIX系OSでは隠しファイルになるので、lsコマンドでは見えずaオプションをつけないと見えない。FFFTPの挙動はUNIXコマンドとは違うと分かっていたので、おそらく再帰的にフォルダ階層を掘り下げてリスティングし、ファイルを一個ずつ削除しているものと思われる。

故に、ドットファイルが見えないからFFFTPは削除しておらず、空でないフォルダは削除できないという図式だろう。bashシェルからドットファイルを削除してからFFFTPで実験したら問題なくフォルダを削除できた。

解決方法は色々あるだろうが、手っ取り早く思いつくのは下記の方法だ

  1. WindowsなどからFTPコマンドでアクセスして、FTPコマンドで削除する方法。
  2. FTPサーバの設定を変更してドットファイルを可視状態にしてFFFTPでも削除できるようにする方法。
根本的な事を考えるとFTPサーバの設定を変えちゃった方がいいだろう。どうせ自前のサーバなんだし。(レンタルサーバでは出来ない可能性が高いけど)

CentOS5.3環境で作っているテスト環境は、FTPサーバとしてvsftpdをインストールしてある。vsftpdでドットファイルを可視状態にするには、下記のようにvsftpd.confを編集して再起動すれば良い。FFFTPでも見られるようになり、削除も出来るようになった。

#vi /etc/vsftpd/vsftpd.conf
force_dot_files=YES
# Service vsftpd restart

これは必須な設定だと思えるので、CentOSセットアップ手順書というか備忘録に記しておくことにした。

投稿者 sasapurin : 13:09 | コメント (0) | CentOS , UNIX系 , オープンソース系 | トラックバック | このエントリーを含むはてなブックマーク

2009年06月30日

YAMAHA RTX1100をCentOSのシリアルポートから

YAMAHA RTX1100を最初に設定するには、シリアルポートから行わないとどうしようもない。
ところが最近はシリアルポートが無いPCが多くなった・・・

ふとLinux Serverを見るとシリアルポートがあるではないか。
どうせここに設置するんだし、常時接続しておけばSSH経由で
WindowsPC->Linuxサーバ->シリアルポート->RTX1100
という風にリモートできるわけですな。

しかし実際にやってみると苦労もあった。もう二度と同じ苦労はしたくないので備忘録しておく。

下記のようにした

  1. シリアルケーブルでLinuxサーバとRTX1100接続
  2. WindowsPCからSSH(PuTTYとか)でLinuxサーバに接続(文字コードはSJIS)
  3. Linuxサーバのscreenコマンドで接続する
    # screen /dev/ttyS0 9600 -> 文字化けするのでSJIS化する
  4. エディタでscreenの設定ファイルを編集する
    # vi /etc/screenrc
    encoding sjis
    defencoding sjis
  5. 再びscreenコマンドで接続する
    # screen /dev/ttyS0 9600
  6. 空ENTERを押したらRTX1100がパスワードを聞いてくる。
  7. 後はおのれとYAMAHAルーターコマンドの格闘
以上な感じの手順で快適なリモート設定が出来るようになった。シリアルポート付きのノートパソコンがあればまぁこんな事しなくてもいいかなとは思うけど、席に座ってWindows上で調べながらPuTTYで操作できるから快適だよね。PuTTYはコピペできるからコマンドのコピペも楽だし。

投稿者 sasapurin : 20:11 | コメント (0) | CentOS , Network系 , ハードウェア | トラックバック | このエントリーを含むはてなブックマーク

2009年06月26日

CentOSにPostgreSQL 8.2系をインストール

普段はMySQLしか使ってないので、PostgreSQLのことは良く分からないのだが、職場の同僚がどうしても8.2系か8.3系を使いたいって言うので、8.2系をインストールすることにした。

インストールするにしても、yumの管理が楽なのでこれは守りたいところ。リポジトリ無いのかな?と思って調べてみたら有った。ありがたいことだ。(今後メンテされるかどうかは分からないが)

http://yum.pgsqlrpms.org/reporpms/8.2/

# rpm -ivh http://yum.pgsqlrpms.org/reporpms/8.2/pgdg-centos-.2-4.noarch.rpm
# yum search postgresql
# yum info postgresql.i386
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
* addons: ftp.nara.wide.ad.jp
* extras: ftp.nara.wide.ad.jp
Available Packages
Name : postgresql
Arch : i386
Version : 8.2.13
Release : 1PGDG.rhel5
Size : 1.6 M
Repo : pgdg82
Summary : PostgreSQL client programs and libraries
URL : http://www.postgresql.org/
License : BSD
Description: PostgreSQL is an advanced Object-Relational database management
                  : system (DBMS) that supports almost all SQL constructs (including
                  : transactions, subselects and user-defined types and functions). The
                  : postgresql package includes the client programs and libraries that
                  : you'll need to access a PostgreSQL DBMS server. These PostgreSQL
                  : client programs are programs that directly manipulate the internal
                  : structure of PostgreSQL databases on a PostgreSQL server. These
                  : client programs can be located on the same machine with the
                  : PostgreSQL server, or may be on a remote machine which accesses a
                  : PostgreSQL server over a network connection. This package contains
                  : the command-line utilities for managing PostgreSQL databases on a
                  : PostgreSQL server. If you want to manipulate a PostgreSQL database
                  : on a local or remote PostgreSQL server, you need this package. You
                  : also need to install this package if you're installing the
                  : postgresql-server package.

投稿者 sasapurin : 11:00 | コメント (0) | CentOS | トラックバック | このエントリーを含むはてなブックマーク

2009年06月12日

Karesansui 1.0.1 64bit and AMD Support

先日、お試ししていい感じになったXenハイパーバイザをWebサービス上で管理できる「Karesansui」が早速バージョンアップして、Ver 1.0.1になった。

バージョンアップ内容の目玉としては、

  1. AMDプロセッサ対応
  2. 64bit OSサポート

と、待ち望んでいた条件が整ったので早速片手間ながら32bit環境を捨てて64bitで作り直した。幸いゲストOSはテストに使ったけれど要らなくなったので削除してしまっても問題ない。一ヵ月後とかに出されたらぶーぶー文句言ってただろうが、このタイミングに64bit対応はまだ環境再構築に間に合うからうれしい。

CentOS 5.3 x86_64を再インストール。もちろんXenハイパーバイザをシンプルにインストールだ。

アッサリインストールが終わり、Wheelユーザを作ってからはSSHで作業する。自分のデスクにあるWindowsXPパソコンからPuTTYを使ってSSHだ。LAN内部の使用で外部には公開していないので暗号化Key等は考慮していない。

PuTTYからのインストールだと、テキストインストール画面の体裁が崩れる。これは前回インストーラを修正してやった時と同じだから改善されていない。

Karesansuiの導入もスコッと終わり、ゲストOSをインストールしてみる。CentOS 5.3 X86(32bit)をインストールした。GUIは全くなしで極々シンプルにね。これは私のいつもの手法。FeeeBSDで慣れた手法なので最小構成からインストールしていく。

一連の手順は社内のWikiに記しておいたので何の問題も無く32bit環境から64bit環境に変更出来た。まぁゲストOSをため込んでいたらこうは行かないけどね。早い内に64bit対応させて下さった開発陣にお礼を言いたいものだ。

完全仮想化までサポートしてくれたらXen対応カーネルが付いていないVineなんかでもテスト出来るんだけどね。これからのディストリビューションはXen対応のカーネルを添付して欲しい、もしくはDLできる様にして欲しいものだ。

一度通った道なので苦労もなくすんなり出来た。後は最小構成インストールのksファイル(キックスタート)を共有出来るようにしてスコッと手抜きインストール出来るようにしたいものだな。

投稿者 sasapurin : 16:42 | コメント (0) | CentOS , Linux , UNIX系 , Webアプリ , オープンソース系 , コンピュータ | トラックバック | このエントリーを含むはてなブックマーク

2009年05月30日

Karesansui Project

職場のOpteronサーバでXen環境を構築する計画で時間が無くて保留していたんだが、 「Karesansui Project」のリリースをきっかけに行動を起こしてみた。

karesansui-project.info

早い話、XenハイパーバイザをGUIで(ブラウザ経由で)管理できるというOSSプロジェクトである。CentOS 5.3が対応となっている。

チュートリアルの図が下記のようになっていて、HostOSはCentOS5.3-32Bitと書いてあるのが気になりつつも、手元に64bitのDVDしか用意してないのでチャレンジしてみた。

チュートリアル画像の表示

見事に玉砕した・・・

karesansui-1.0.0-1-install-pack.tar.gz をダウンロード後解凍し、
karesansui-install を実行したところ下記のメッセージが帰ってきた・・・

ERROR: Processor 'x86_64' is not supported by Karesansui.

オーマイガッ

どうせなら64bitで構築したいから、karesansuiが64bitに対応するのを待つしかないかな。

それとも32bitで検証するか・・・やっぱり初物に飛びつくのは人柱覚悟でって事か。

推奨スペックがいまいち分かりにくい。
CPU : Intel Core 2 Duo以上

Opteron 2.2GHzはもちろんデュアルコアなのだが、 Intel Core 2 Duo以上なのか否か?
リリースされたばかりのプロジェクトだけに、まだ情報が洗練されてないよな・・

ERROR: Processor 'athlon' is not supported by Karesansui.

オーマイガッ!!!

またかよっ。Intel CPUしかサポートしてないとは書いてないで・・ちゃんと明記してくれよな。

要するに現状は下記要件をクリアしないとすんなりとインストールすることは出来ないらしい

  1. CentOS 5.3 32bit (64bitは未サポート)
  2. Intel Core2 Duo マシン (AMDは未サポート)
  3. メモリー 2GB以上
  4. HDD 100GB以上

無駄な時間を使ってしまった。もういい、CitrixのXenServerでいく事に決めた。

と思っていた矢先、MLにてAMDプロセッサへの対応についての投稿があり、Karesansuiとしては制限をかけてはいないので、インストーラ(スクリプト)のバグだろうというコメントがついた。そして2つのファイルを編集すればOpteronサーバでもインストーラが走った。

ML以外にはまだ情報が無いようなので備忘録を兼ねて引用しておく。
MLのアーカイブが公開されていたのでスレッドトップにリンクしとく

近いうちにバグ修正されるだろうが。修正するファイル(インストーラ)は下記の2つ

installer/installer/const.pyに下記の部分を探して+のついている行を追記

@@ -38,6 +38,10 @@ SUPPORTED_DISTROS = [
("centos", "5-3"),
("redhat", "5Server-5.3"),
]
+SUPPORTED_ARCHS = [
+ "^(i[3456]86)$",
+ #"^(x86_64)$",
+]

 

installer/installer/install.pyに下記の部分を探して+のついている行を追記-のついている行を削除
@@ -140,13 +140,15 @@ def precheck(opts):
# architecture check (now supported arch is x86 only)
if ret is True:
import platform
- arch = platform.processor()
- x86_regex = re.compile("^(i[3456]86|athlon)$")
- if x86_regex.search(arch):
- pass
- else:
- print >>sys.stderr, _("ERROR: Processor '%s' is not supported by Karesansui.") % arch
- ret = False
+ arch = platform.machine()
+ for support_arch in SUPPORTED_ARCHS:
+ _regex = re.compile(support_arch)
+ if _regex.search(arch):
+ ret = True
+ break
+ else:
+ print >>sys.stderr, _("ERROR: Processor '%s' is not supported by Karesansui.") % arch
+ ret = False
return ret

投稿者 sasapurin : 19:04 | コメント (0) | CentOS , Linux , オープンソース系 | トラックバック | このエントリーを含むはてなブックマーク

トップページ > コンピュータ > UNIX系 > Linux > Redhat > CentOS