Tag Archives: Linux - Page 2

oooooooops! cannot change directory…(SELinux)

 oooooooops!というわけで、サーバにFTP接続しようとしたらディレクトリ遷移できなくて接続切られてしまう件。
 環境はは以下。
  • CentOS 5.2
  • vsFTPd。
 Windowsのコマンドプロンプトより

C:\Documents and Settings\hoge>ftp hoge_host
Connected to hoge_host.
220 (vsFTPd 2.0.5)
User (hoge_host:(none)): hoge
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/hoge
500 OOPS: child died
Connection closed by remote host.

 vsFTPは初めてだったし、configも何もしてなかったから、それかなー、と思ってたら違う。
 これは、SELinuxのセキュリティポリシーによるもの。SELinuxもはじめて。

# man ftpd_selinux

SELinux  ftp daemon policy is customizable based on least access required.
So by default SElinux does not allow users to login and  read  their  home
directories.
If  you  are  setting  up  this machine as a ftpd server and wish to allow
users to access their home directorories, you need to set the ftp_home_dir
boolean.

setsebool -P ftp_home_dir 1

 SElinuxはデフォルトでユーザのFTP接続を許可しておらず、ユーザのホームディレクトリを読ませない。
 言われるがままに、setseboolコマンドを叩く。

# setsebool -P ftp_home_dir 1

 Windowsコマンドプロンプト

C:\Documents and Settings\hoge>ftp hoge_host
Connected to hoge_host.
220 (vsFTPd 2.0.5)
User (hoge_host:(none)): hoge
331 Please specify the password.
Password:
230 Login successful.
ftp>

 できた。
 「OOPS: cannot change directory」でWeb検索すると山ほど出てくるが備忘録としてエントリする。

pdaXrom:ネットワーク接続(有線LAN)

 とりあえず有線でネットワーク接続。
 使用したデバイスは、プラネックスコミュニケーションズのCF-100TX(今回のために買った)。
planex_CF100TX.jpg
 デカいなー。
以下環境で挑戦。
  • Zaurus SL-C760
  • pdaXrom 1.1.0 r197
  • planex CF-100TX
 LANカード刺して繋げばラクショーでしょうとタカを括ってたのだけど苦労した。
 LANカードを刺して、LANケーブルを接続する。
 まずは状況確認。

# ifconfig

ifconfig1.gif
 ローカルループバックしか表示されない。eth0の状態を確認。

# ifconfig eth0

ifconfig2.gif
 eth0が表示されるが起動していないし(起動している場合、2行目 BROADCAST の前に”UP”が付く)、DHCPによるIPアドレスの取得も行えていない。以下のようにすれば手動で起動させることも可能だが、今回はそれが問題ではない。

# ifconfig eth0 up

 結論としてこの解法は、『DHCPクライアントデーモン(dhcpcd)を起動する』。dhcpcdは最初から入っている。

# dhcpcd
# ifconfig

ifconfig3.gif
 IPアドレスが取得できた。自分以外のホストにping飛ばすとかして疎通確認。OK。
 以上、手動によるネットワーク接続だけど、毎度毎度dhcpcdを叩くのでは手間がかかる。ホットプラグについて調べなければならないが、今回はここまで。
 pdaXromによるネットワーク接続について調べてみると、[System Tools]→[LAN & Wifi]でNetwork Settingsで・・・みたいに書かれているが、今回はそのような設定は行っていない。
シャープ (2003/06/21)

Zaurus SL-C760にpdaXrom(1.1.0 r197)をインストール

 Zaurus SL-C760にpdaXrom(1.1.0 r197)をインストールする。
 * pdaXromのインストールは保障対象外となる内容なので己責任でよろしく。
■準備するもの
 バックアップ用に256MB以上のメディア(CF or SD)。バックアップには128MB以上と言われているが、足りない事があるので大きめに。今回は256MBのCFを用意。
 pdaXromインストール用に64MB以上のメディア(CF or SD)。今回は128MBのCFカードを用意した。バックアップで使用したメディアを使いまわす(PCなどにバックアップイメージを退避させる)ならば、それでもかまわない。
 pdaXromインストールイメージ。今回は以下をダウンロード。
pdaXrom | Power in your pocket…
http://www.pdaxrom.org/
  • pdaXrom-1.1.0r197-Kathrin-corgi-current.zip
  • pdaXrom-1.1.0r197-Kathrin-u-boot-corgi-current.zip
 なお、CFカードはかならずFAT16でフォーマットしておくこと(FAT イコール FAT16 ダヨ)。
FAT16_Format.gif
■バックアップ
 インストールの前に、既存システムのバックアップをとっておく。
 まず、ACアダプタとバッテリーを外し、バックアップ用のCFカードを挿入しておく。
 次に[D]と[M]キーを押下したままACアダプタを接続する(キーは押したまま少し待つ)。
 SERVICEメニューが起動する。色々と項目があるが、余計な事はせずに3ページ目(3/3)へ遷移する。ページ遷移はカーソルキーで。
 『1. NAND Flash Back UP』を選択してEnter。

NAND Backup to CF

file:SYSTC760.DBK
CF Free:244.0MB
Execute backup?

 バックアップするかと聞かれるのでEnterで応答する。

Backup…

 「Backup…OK」となればバックアップ終了。ACアダプタを引き抜く。
 CFカードにNAND Flashのバックアップイメージが作成されている。念のためどこかにコピーするなりしてバックアップのバックアップも取っておくと安心。
 実はバックアップイメージはネット上のどこかに落ちていたりするのだけど、そんなものを当てにせずに自分でバックアップしておくこと(ハーケンは自分で打て)。
■Emergency systemのインストール
 pdaXromのインストールの前に、U-BOOT/Emergency systemのインストールを行う必要がある。
U-BOOT/Emergency system installation and upgrade
http://www.pdaxrom.org/?q=node/106
 ダウンロードしておいた pdaXrom-1.1.0r197-Kathrin-u-boot-corgi-current.zip を展開し、展開されたファイル(フォルダの中身)を、インストール用に用意しておいたCFカードに格納する(SUMファイルなど不要なものもあるが、説明を簡略化するため全部格納としている)。
 そのCFカードを、ACアダプタとバッテリ外したZaurusに挿入し、今度は[C]と[D]キーを押下しながらACアダプタを挿す。
 画面には何も表示されないが、バッテリとメールのLEDが点灯する。20秒程度点灯したら自然と消灯するので、消灯したのを確認してからACアダプタを引き抜く。
■pdaXromのインストール
 いよいよpdaXromのインストール。
Quick Install Guide
http://www.pdaxrom.org/?q=docs/installation/quickguide
 ダウンロードしておいた pdaXrom-1.1.0r197-Kathrin-corgi-current.zip を展開し、そのフォルダの内容をCFにコピー。先ほどのU-BOOT/Emergency systemのインストールで用いたメディアを使いまわすのであれば、内容は削除しておくこと。
 ACアダプタとバッテリを外したZaurusにCFカードを挿入し、[OK]キーを押下したままACアダプタを挿す([OK]キーはしばらく押したままにする。意外に長い時間を必要とする。10秒くらい)。
 はじめに、Emergency system が起動する。そうしたら、CFカードに格納されている autoboot.sh を起動するのだけど、CFカードがマウントされていなかった。慌てずマウントしよう。
# mount /dev/hda1 /mnt/cf
 気をとりなおして、CFカード内へ移動し、autoboot.shを実行する(最後のピリオドを忘れずに)。
 最初の質問はy(yes)で返答。

# cd /mnt/cf
# ./autoboot.sh .

Proceed with pdaxrom installation or boot to emergency system? [y/n]
y [Enter]
   :
(Flashへのライティングが開始される)

 しばらくすると、一般ユーザを作るかと聞かれる。とりあえず作っておいた。

Would you like to add a non-root user? [y/n]
y
add user name:
hoge
Changing password for hoge
Enter the new password (minimum of 5, maximum f 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Re-enter new password:
User hoge added

 以上でpdaXromのインストールは終了。
 rootでログインしてみよう。パスワードは問われない。

zaurus login: root

 ログインしたら、いよいよXの起動。

# startx

 成功ならば、pdaXromのデスクトップ画面が表示されるはず。
 おしまい。
おまけ。
■リストア
 最後にリストアについても説明しておく。
 バックアップ時と同様、ACアダプタとバッテリーを外しておく。
 次に、バックアップイメージが格納されたCFカードを挿入しておき、[D]と[M]キーを押下したままACアダプタを接続する(しばらく待つ)。
 SERVICEメニューが起動するの
で、3ページ目(3/3)に遷移し、『10.NAND Flash Restore』を選択してEnter。

NAND Restore from CF

file:SYSTC760.DBK
Execute restore?

 リストアするかい?と聞かれるのでEnter。

Delete all flash data?

 全消去するよ?と念を押されるがEnterで。
 もし気が変わったのならここでACアダプタを抜けばリストアは行われない。

Restore…

 「Restore…OK」となればリストア完了。バッテリーを戻して起動すればバックアップ前の状態に戻っているはずだ。

[Error] Unable to retrieve … (CentOS ネットワークインストール)

 VMware Serverを用いてCentOS 5.2をネットワークインストール。
 HTTP経由でダウンロード元を以下にしてインストールしようとしたら失敗。

ホスト:ftp.riken.jp
パス:centos/5.2/os/i386

vmware-centos.gif

Unable to retrieve http://ftp.riken.jp//Linux/centos/5.2/os/i386/images/stage2.img

なんて言われた。
 結論としてVMware(Ethernet)の設定がまずかった。疎通できてないとこれが出る。
 「images/stage2.img」なんて、打ち込んでない情報が出るから繋いで覗いているのかと思ったがそうではない。これは固定でインストーラが持っている。
 「Unable to retrieve」でWeb検索すると、パス中にスラッシュ(/)が2重に現われる事がマズいんじゃないかと思っている人がいるけど関係ない。そもそも2重だろうが3重だろうがカレントを指し続けるので問題にはならない。
 四の五の言わずにEthernetの設定確認をしろ<俺

「LiveCDをWindows上で起動」の『MobaLiveCD』を試す

MobaLiveCD.jpg
MobaLiveCD
 『MobaLiveCD』は、Windows上でLinux LiveCDを動作させることができるツール。LiveCDのisoイメージさえあればokというお手軽さ。
「VMWareを使うまでもなく、LiveCDでいいからちょっとWindows上で動かしてみたい」
というちょっとニッチなニーズにマッチしている。
 オフィシャルサイトでも

MobaLiveCD allows you to test your LiveCD with a single click

と言っていることから、あくまでテスト目的で。という感じ。オリジナルのLiveCDを作っている時の確認用とか、そういった類の用途に使う事を想定しているのかもしれない。
 MobaLiveCDは、ダウンロードしたファイルを実行するといきなり起動する(MobaLiveCD自体のインストールは不要)。
 インストール不要だって言ってるのに『Uninstall』ボタンがあるのは解せないかもしれないが、これは後述する。
 MobaLiveCDの使い方は、『Run the LiveCD』ボタンを押下すると、isoイメージファイルを選択するダイアログボックスが表示される。ここでお気に入りのLinux LiveCD isoイメージファイルを選択すればOKだ。
 isoイメージを選択すると、ハードディスクイメージを作成するかどうかを選択させられる。作らなくても良いが作っておくとLiveCD上での変更を保存できる(はず、未検証)。
MobaLiveCD2.jpg
 もうひとつの使い方は、右クリックメニューを拡張するもの。
 『Right-click menu』ボタンを押下すると、「MobaLiveCD was installed successfully!」というメッセージダイアログが表示される(OKしか押せないので黙って押下)。
MobaLiveCD3.jpg
 これによりisoイメージファイルを右クリックした際に表示されるメニューに、「Test this with MobaLiveCD」という項目が表示される。それ選択すると動く。さっき言った『Uninstall』ボタンはこの拡張をアンインストールするためのもの。
 Fedora9のLiveCDイメージで試したが、動作はかなり(どころでなく)重い。
「あれ?固まっ・・・いや動いてる!」
みたいな。この辺りはマシンスペックに左右される。
 なお、実行中のウィンドウがマウスカーソルを握りっぱなし(マウスカーソルをウィンドウから外に出せない)になるが、慌てず騒がずタイトルバー記載(Press Ctrl-Alt to exit grab)のとおりCtrlキーとAltキーを同時に押下すれば外れる。とにかく落ちつこう。
『MobaLiveCD』でWindows上でLinux Live CDを起動
http://www.lifehacker.jp/2008/09/mobalivecdwindowslinux_live_cd.html

Live USB (fedora9)

Fedora9USB.png

 探していたUSBメモリが見つかったので早速liveusb-creatorを用いてfedora9(live)をインストール。

 クライアントにダウンロード済みのisoイメージ(Fedora-9-i686-Live.iso)があったので、ファイルを指定してインストールする。
 なお、イメージファイルのパスにマルチバイト文字列が含まれているとインストールに失敗する。だからisoファイルをデスクトップなんかに置いちゃだめだ。

 10分程度でインストールは完了。
 デスクトップPCとノートPCの双方でブートさせてみたが問題ない。ただ、ノートPCだとフォントの頭がかすれたように飛んでいるのが気になる(設定によるものかもしれない)。

Fedora9をUSBメモリにインストールする『Fedora LiveUSB Creator』
http://www.ivoryworks.com/blog/2008/06/fedora9usbfedora-liveusb-creat.php

LinuxのUSBメモリブート
http://www.ivoryworks.com/blog/2008/02/linuxusb.php


[送料\399~]A-DATA 80倍速 USBメモリ C702 4GB (白):A-DATA 80倍速 USBメモリ C702 4GB (W…

Vine Linux に VNC(server)をインストール

 Vine Linux 4.2 に VNC Serverをインストールしてみた。

インストール
 aptでvnc-serverパッケージをインストールする。

# apt-get install vnc-server

アクセス設定
 hosts.denyとhosts.allowでアクセス制限(不許可・許可)を行う。

# vi /etc/hosts.deny
    Xvnc : ALL
    * まずは全てを不許可

# vi /etc/hosts.allow
    Xvnc : xxx.xxx.xxx.xxx
    * 指定したIPアドレス(xxx.xxx.xxx.などとしてセグメント指定も可)を許可

パスワードの設定
 vncpasswdコマンドで接続時に必要なパスワードを設定する(個人単位)

$ vncpasswd
Password:
Verify:

vnc-serverの起動

$ vncserver

 起動すると以下のようなメッセージが出力される。

New ‘fuga:1 (hoge)’ desktop is hoge:1

Starting applications specified in /home/hoge/.vnc/xstartup
Log file is /home/hoge/.vnc/fuga:1.log

 ”:1″の「1」はディスプレイ番号と呼ばれるもの。接続時や停止時に必要なので記憶しておく。

GNOME
 デフォルトでGNOME環境となるよう設定する(デフォルトではtwm。見た目が悲しい)。
 ホームディレクトリの.vncディレクトリへ移動する。

$ cd /home/hoge/.vnc

 デフォルトの環境ファイルをリネームする。

$ mv xstartup xstartup.org

 xinitrc を xstartup として利用する為、シンボリックリンクを張る。

$ ln -s ../.xinitrc ./xstartup

 ホームディレクトリに.xinitrcファイルが存在しない場合にはしかるべき場所からコピーしてくる。

$ cp /etc/X11/xinit/xinitrc /home/hoge/.xinitrc

vnc-serverの停止
 vnc-serverの停止には起動時のディスプレイ番号が必要となる。

$ vncserver -kill :1

VNCクライアントで接続
 VNCサーバのホスト名にディスプレイ番号を付与したアドレスで接続する。

fuga:1

ブラウザで接続
 Javaが動作するならばブラウザからVNCを利用する事ができる。
 ポート番号の下1桁(1の位)をディスプレイ番号にする。

http://fuga:5801

参考
VNCのインストールと設定
http://www2.starcat.ne.jp/~kanocl/shumi/vnc.htm

Fedora 9のインストールディスク

先日、Fedora 9がリリースされました。
遅ればせながら気づいたのですが、今回のFedora 9から再びCDのインストールディスクが提供されるようになっていました。
(Fedora 7、Fedora 8はDVDのイメージのみ)

ウチの環境だとDVDディスクからのブートが出来ず、ネットワークインストールしか手段がなかったのですが、CDあると助かります。
試しに何かに入れてみたいと思います。

Fedora Project
http://fedoraproject.org/

Fedora Core6 to Fedora7 de AVI

yum で Fedora Core6 から Fedora7 へのアップグレードには注意が必要?

知らずに yum upgrade する人が続出して阿鼻叫喚な事になるかも。

なりました。昨日。

ずんWiki Fedora upgrade

回復対応手順が詳しく書いてあったのでとても助かりました。

ntpdateなんて使ってるんじゃあるまいね

 今朝起きて、メールチェックしようとしたらサーバに接続に失敗する。
 サーバのエラーログを確認したら以下の通り。

Time just moved backwards by 116 seconds. This might cause a lot of problems, so I’ll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards
(時間が116秒戻った。ヤバいからオレは死ぬぜ。dovecot)

 dovecotが死に際に残してくれたURLにアクセスすると、

大変な事になるから時間を戻してはいけないよ。もしかしてntpdateなんて使ってるんじゃあるまいね。ntpd使えよな。

なんて書いてある。図星だ。

 ウチのサーバはntpdを動かさず、cronで明け方にntpdateで時刻調整を行っている(ntpサーバにするつもりはないのでntpデーモンを動かす気がなかった)。
そして実は、昨日事情あって夕刻にサーバをリブートしていた。それで大幅な時刻誤差が生じて明け方のntpdateでdovecotが死亡ようだ。

 「再起動後の大幅な時刻誤差」には心当たりがある。ハードウェアクロックだ。
 以前のサーバではntpdateにあわせてhwclockでハードウェアクロックの調整も行っていたのだけど、今はそれを怠っていた。

 ハードウェアクロックとカーネルクロックを確認してみる。

Manpage of HWCLOCK

# hwclock –show;date
Wed Feb 13 07:19:07 2008  -0.692619 seconds
Wed Feb 13 07:16:56 JST 2008

 ハードウェアクロックの方が2分ほど進んでいる。つまりこれが116秒の時差。
 とりあえず、ハードウェアクロックをカーネルクロックに合わせておく。

# hwclock –systohc

 次に、ntpdateで行っていた時刻調整をntpdで行うようにする。
 以下のコンテンツを参考にさせて頂いたところ、-qオプションが便利なようだ。このオプションは時刻調整が済み次第ntpdを終了するというもの。つまりこれは、ntpdをデーモンとして動かさずに利用できる事になる。知らなかった。

Stray Penguin – Linux Memo (ntpd)

 一応記載しておくと、ntpdateとntpdの実質的な違いは、前者は強制的に時刻調整するのに対し、後者は1秒の長さを実際よりも長くしたり短くしたりして正確な時刻に近づけていくという点。

 cronの設定を変更し、-qオプションによりntpdで時刻調整の後、hwclockでカーネルクロックとハードウェアクロックの時刻を同期させるよう変更した。これでOK。