「趣味」カテゴリーアーカイブ

Xperia ray あれこれ

4800円だと買う気にならなかったけど、980円だったら買う気になったXperia ray。

回線はIIJMIOの高速モバイル/D(128kbps、945円/月)を用意。クーポンを買う必要はない感じ。地下鉄の中で接続が切れたりつながったりするのにタイムラグがありそうなのが気になるけど、十分使える。

ただ、xperia側で、テザリングがきかないというのは買うまで知らなかった。(docomoの端末のテザリングの仕組みのため、テザリングのときにはAPNを専用のものに書き換えるとか。) それが一番つらい。

==

mediagoでビデオを買って入れてみた。プレイステーションネットワークの動画サービスで、videounlimitedというのがあるみたいだったけど、無線LANで入れるとちょっと遅そうだったので、PCのmediagoのPSストアで買って入れてみた。Xperia側でUSB接続モードをMTPにしていたら、mediagoからXperia rayに転送できなかった。MSCに変えたらできた。windowsではMTPがおススメとか書いてあったのに、むむぅ。

最初から入ってるマイクロSD 8GB だと足りないかもしれん。

sheevaplugをfedora14にしてみた。

まずは、fedora14を入れるSDカードを用意。今回はamazonで安く仕入れた東芝の8GBを利用。

パーティションは

/boot ext3 300MiB

/   ext4 (ジャーナルなし) 残り全部

swap      500MiB

で切ってみた。

swapなんていらないよな〜なんて話もあるし、あまり使って無かった気がするけど、まぁ一応切っておく。SDカードも使い切らないから。

ジャーナルなしext4は、gpartedでパーティションを切ってから設定したので

tune2fs -O ^has_journal /dev/mmcblk0p2 した。

前はきっとjournalに書きまくったせいでSDカードが壊れたに違いないということです。はい。

このとき、fstabを書くときに楽をするため?、パーティションにラベルを設定。

tune2fs -L rootfs /dev/mmcblk0p2 みたいな感じ。

これをしておくと、fstabのデバイスのところに、LABEL=”rootfs” とかかける。

man tune2fs とか、 man fstab 参照。
fedora14のrootfsは、http://lists.fedoraproject.org/pipermail/arm/2011-December/002386.htmlで入手できるものを使用。まぁ多分使えてる。デフォルトのrootのパスワードは、fedoraarm

fstabは適当に編集。 /tmp /var/lock/subsysはtmpfsにした。

試しにtftpでカーネルを読み込んで、nfsで起動させようとしたが、うまくいかないので、こちらは断念。

SDカードからなら起動できた。(/bootに、最新のkernelをおいときました。 いつもの、http://sheeva.with-linux.com/sheevaから拾えるものです。)

次に、uImageからの起動時に、/のデバイスをfsckしに行って待ってしまうのを解消するために、uinitrdを作成する。

http://www.mulsys.net/blog/archives/2010/02/864.html (Wayback Machine経由) http://legacyos.homeip.net/sheeva/ (リンク切れ) を参考にして、まずはsheevaplugでfedora14に入ってから、

# cd /boot

mkinitrd ./initrd-3.2.5 3.2.5

mkimage -A arm -O linux -T ramdisk -C gzip -a 0x0 -e 0x0 -n "3.2.5 ramdisk" -d ./initrd-3.2.5 /boot/uInitrd-3.2.5

ln -s uInitrd-3.2.5 uInitrd

reboot

u-bootの設定に入って

>> setenv bootargs_mmc 'console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootdelay=3'

> setenv sd_prepare 'mmc init ; ext2load mmc 0:1 0x800000 /uImage; ext2load mmc 0:1 0x1100000 /uInitrd'
> setenv bootcmd_sd 'setenv bootargs $(bootargs_mmc); run sd_prepare; bootm 0x800000 0x1100000'
> setenv bootcmd 'run bootcmd_sd; run bootcmd_nand'
> saveenv
> reset

(bootcmd_nandには、以前設定した、nandフラッシュから立ち上げるためのコマンドが入っています。

u-bootを更新したので、mmc initとなっていることに注意。)

これで無事に起動できたので、早速いろいろインストール

yum install emacs mtd-utils* openssh-clients lzop nano git-all etckeeper w3m

ここらで、sheeva.with-linux.comから拾ったREADME-SHEEVA-UPDATE.sh をもう一度やって、一応アップデートしておく。

yum install httpd mysql ruby php ruby-irb rubygems php-mbstring php-mysql ruby-sqlite3

zabbix があったので、あとで遊んでみようと入れてみる。

yum install zabbix zabbix-web-sqlite3 zabbix-server-sqlite3 zabbix-agent zabbix-docs

以前使っていたものを思い出しながら入れていく。まずはプリンタ設定とntp。

yum install cups ntpdate ntp

ntp設定は不要なようだ。デフォルトで動く。

タイムゾーンをJSTに変えておく、、、。

cp /usr/share/zoneinfo/Japan /etc/localtime

ハードウェアクロックをUTCで保存するように、/etc/adjtime のLOCALをUTCに書き換え。(趣味)

hostname が、デフォルトで、fedora-armというのになっているので、 いつものやつに変える。

/etc/sysconfig/network の編集

作業は明日以降ということにしてここらで寝ます。

=====

続き

yum install screen nkf mysql-server sane xinetd sdparm

cupsの設定

以前同様 http://honana.com/system/cups.html に従って、、、

・/etc/cups/cupsd.confの編集

Listen 631 を追記

<Location /> <Location /admin > <Location /admin/conf>の中に allow 192.168.0.0/24を追記

・openssl req -new -nodes -x509 -keyout /etc/cups/ssl/server.key -out /etc/cups/ssl/server.crt -days 3650

・/etc/init.d/cups/restart

・https://192.168.0.2:631/admin でプリンタ追加。rawドライバを選択。(=sheevaplugのIPアドレスです。)
そろそろ疲れてきたので、etckeeperのgitで、バックアップのetcから、設定ファイルのへんこうになっているところを探してみる。

cd /etc

git remote add f12 /path/to/back/up/etc # パスは嘘です!

git fetch f12

git diff --summary f12/master master

うーん、多い。とりあえず、httpd/conf.dと、手で書いたanacronのシェルは復旧しておく。

# cd /etc/httpd/conf.d

git checkout f12/master -- .

これで一応  git diff を見て、変更を確認。 うーん。便利。

====

sambaの設定。sambaのパスワードをどうやって移すのか調べた。

まずは yum install samba

とりあえず、バックアップしてあった以前の環境にchrootして、

# pdbedit -i tdbsam -e smbpasswd:aaa

してから、chrootから抜けて、aaaファイルを適当な場所に移して

# pdbedit -i smbpasswd:aaa -e tdbsam

してユーザアカウントを移す。

次に、またetckeeperのgitを見ながらsmb.confを移して、

/etc/init.d/smb start && chkconfig smb on
/etc/init.d/nmb start && chkconfig nmb on

====

スキャナも使えるようにする。

yum install sane xinetd

設定はhttps://ttandai.info/archives/734で以前やった通り。だけど、まぁ、etckeeperでcheckoutするだけ。

/etc/xinetd.d/saned はこんな感じ

# default: off

description: The sane server accepts requests

for network access to a local scanner via the

network. copied from manpage of sane.

service sane-port
{
port = 6566
socket_type = stream
wait = no
user = root

user = saned

group = saned

server = /usr/sbin/saned
}

====

php、mysqlも、設定をetckeeperから引いて、走らせるだけで終わり。

====

メールはまたeximに入れる。いい加減postfixとかにするべきかとも思うが、以前設定したものをそのまま使うので、、。

====

anacronジョブでやっていたバックアップものを復旧。

====

pukiwikiもちゃんと動いた。でもそろそろdokuwikiにしようかな。

====

バックアップ用のハードディスクに、メインのものと同じ容量のハードディスクを用意したので、そこに移して、おしまい。
全体的に、etckeeper便利ってことでした。

u-boot更新@sheevaplug

DENXで配っているu-boot、をビルドしたらしいものがここで配っているので入れてみた。

操作は全然むずかしくない。指示どおり。fedora16の母艦でtftpでつなげるようにして、

setenv serverip 192.168.1.2 # IP of your TFTP server
setenv ipaddr 192.168.1.200
tftpboot 0x0800000 u-boot.kwb
nand erase 0x0 0x60000
nand write 0x0800000 0x0 0x60000

だけ。MACアドレスも含めて設定がすべて上書きされるので、そこだけ注意。
自分の場合は、screenの ctrl+a,Hでprintenvのログを出してから、整形(sedで、 s/^/setenv / s/=/ ‘/ s/$/’/ だったかな?)してからテキストファイルに保存、for i in `cat setting` ; do echo $i > /dev/ttyUSB1 ; sleep1 ;done みたいな感じでu-bootの設定を書いて、u-bootの画面でprintnevで確認してからsaveenvした。(分かりにくい書き方で申し訳ないです。 screenで端末につないでいますが、echoで書き込んでいるときは、screenの端末を閉じています。同時に二つ開くとろくなことにならない。)

mmcinitコマンドが mmc init になっているくらいの変更点はあったが、他は特になさそう。

u-bootの環境変数がだいぶすっきりしたけど、http://www.denx.de/wiki/DULG/UBootEnvVariablesを眺める限りでは今まで書いてあったものが解説されていないので、ここは気にしないということで。

fedora16のnfsサーバについて

fedora15からpreupgradeであげたサーバでnfsを久々に使おうと思ったらハマったのでメモ。

端的に言うと解決方法はこれ。
http://fedoraforum.org/forum/showthread.php?t=273173

アップグレードした時に必要な設定ファイルが、/etc/sysconfig/nfs.rpmnewになっていたが、
これの中にどうしても必要な設定がかかれていた様子。中は見てないけど。
というわけで、
mv /etc/sysconfig/nfs.rpmnew /etc/sysconfig/nfs
で終了。

あとは、fedora16でのnfsの立ち上げ方は
http://www.server-world.info/query?os=Fedora_16&p=nfs
あたりを参考にした。

SDカードが壊れた!

sheevaplugのOS(fedora12)をつっこんでいたSDカードが壊れた。1年持ったかもたないかくらい。どうも起動する度に壊れるファイルがあり、ファイルシステムに不具合が出るような感じがしていたので怪しいとは思っていたんだが、確信に変わったので心置きなく捨てられる。
ext4が悪いのかと思って、ext3でフォーマットして、その直後に1GBくらいの適当なファイルおいてfsckしたら、いきなり破損ファイルあり。fsck -c したあとにdumpe2fs -b しても、badblockは出てこないけど、物理的に壊れていると解釈するべきなんでしょう。
windowsで、checkflashというのを試してみたら、こちらでも必ずCRCエラーが出てくるので、(特定のブロックが壊れている分けではないが)不具合があるとみている。

まぁ、OS動かしてたわけだから、書き込み回数過多で死んだってとこでしょう。vabatimのclass6、16GB。容量が大きければウェアレベリングがきいて寿命が長いかとも思ったけど、そうでもなかったということかなぁ。1割くらいしかつかっていなかったんだけれども。

まぁもう壊れたものはしかたがないので、u-bootをアップデートしつつ、OSもfedora14にしてみようと思う。

ってか、OSインストールするのを考えたら、圧倒的にHDDとx86なcpuの方が楽だよなぁ、、、と思う次第。需要と供給なのかなぁ。次は、epsonのちいちゃいやつでも買おうかなぁと画策してみたり。sheevaplug自体が壊れるにはまだまだだいぶ時間がかかりそうだけれども、、、。

というわけで明日以降作業したら追記する。
SDカードのガワはずして眺めてみようかな。

==

その後、追加のSDカードを買ったので、壊れたSDカードを割ってみた。
SDカードは、verbatimのクラス6 16GB。
中のチップは、TOSHIBA TH58NVG6D2ETA20 が2枚(台湾製かな?)。 ぎちぎちにつまっているけど、コントローラのようなチップが見当たらないんですけど、、、。独立したチップじゃないのかなぁ、、、。
以前予備として買っておいたA-DATAのSDカードは大丈夫なんだろか、、、、。いろいろ不安だ。

fedora16でlinuxデスクトップ環境

最近はデスクトップ用途にはwindows7を使っていることが多かったが、必要に迫られて、前に中古で買った dynabookSS RX1のデスクトップを最近結構使っていて、2〜3年前に使っていた時よりだいぶ便利になったと実感しているのでメモしておく。

一応断っておくと、毎日(別の場所で)fedoraのデスクトップを触ってはいたのだけど、必要最小限の機能しか使っていなかったので、気付いていないことが多かった。

前提条件としては、ハードウェアのほかに、
・64bit環境
・ブラウザはchrome
・flashプラグインと、moonlightはインストール済み。

で、気付いたことを箇条書き。
・youtube、radiko、niconico動画あたりは余裕。
・flashのブラウザゲームも大丈夫。
・skydrive、office web appsも使える。
・rythmboxはまぁまぁ使える。smbの共有ファイルから拾って流してる。
・chromeのタブを増やしているとちょっと重いかも。topで見てると、chrome、gnome-shellが重いのか。
・プリンタドライバのインストールが圧倒的に楽。個人的にはwindowsよりも楽。
・指紋認証の精度はwindowsXPの方(独自ソフトかな?)が高い。
・無線LANの設定はwindowsXPよりは簡単。windows7はどうだったか忘れた。
・リポジトリに入っている限りソフトのインストールが楽。すごく楽。最近はリポジトリに入っていないようなものは、chromeとか以外にはとくになくて、自前でコンパイルしたり、どっかから拾ったrpmをいれるということもない。

・(関係ないけど)dynabookの「東芝HDDプロテクション」に相当する機能がlinux側では実装されていないっぽいのが気にはなる。SSD使えってことかもしれんけど、SSD買ってつけかえるくらいなら新品かうので、、、、。

最近、パソコン立ち上げてもブラウザしか使っていないことが多いことに気付いてしまったので、もうwindowsよりはこっちでいい気がしてきた。Ctrl+Alt+矢印を押してデスクトップ切り替えとか、windowsキーを押してウインドウ一覧を表示させたくなってしまい、すでにgnome-shellに手がなれてしまったのもある。(ノートパソコンだと、Fnキーが邪魔でAltがずれることが多いのは不満、、、。普段はlogicoolの Illuminated keyboard なので。)

まぁ、linuxでいいじゃん、とか、fedoraがあればwindowsいらないじゃん、という主張は、そのままwindowsでいいじゃん、とか、macでいいじゃん、とかいう思想の人には、積極的に使う理由を提案できない時点で、使ってもらう余地は無い、というのは理解してます。

自分としては、yumでプログラムのアップデートが楽とか、gnome-shellが便利とか、fedoraの方がベターな点がある一方、windowsの方はデスクトップが一枚しかつかえないとか、いろいろはかどらないです。

最後に、gnome-shellで感動した機能が、スクリーンキャストが動画で残せる、という機能について。
Ctrl+Alt+Shift+rをおすと、右下に赤い丸が出て、録画が始まる。もう一度Ctrl+Alt+Shift+rを押すと録画が終わる。
動画ファイルは、ホームディレクトリの直下にshell-20120201-1.webmのような形で残っている。

手順を残して共有するのに非常に便利。画像のスクリーンショットとは情報量がまったく違う。素直に感動した。

フィルタースクリプトなシェルスクリプト

今日はじめて気付いたので、忘れないうちにメモ。

bashとかでフィルターのスクリプトを書くとき、
cat $@ | hoge | huga
とか書くと便利なことを今日知った。
スクリプトの引数がなければ$@が無視されるので(man bash参照のこと)、catが標準入力を読む。つまり、スクリプトに渡された標準入力に対して動作する。
スクリプトに引数としてファイル名をいくつか与えると、$@にすべての引数が入るので、普通に引数を処理する。
別にcatじゃなくても、sedでもawkでもgrepでもいけると思う。

例えば、 
nkf $@ | less
というスクリプトを(たとえばnkflessと言う名前で)用意しておけば、 nkfless text でも cat text | nkfless でも両方使える。
ちなみに、bashでなくdashでも使えたので、たぶんshでもいけるかも。
(でも、lessのこんなことは、LESSOPEN=”|nkf %s” みたいな環境変数で本当はできるんですけどね、、、。)

引数の個数を判断して、while read line (場合によってはcat – | と書いてた)と、
for i in $* を分ける必要はなかったという話。
while read がどうしても必要なら、
 cat $@ | while read line ; do hoge;done| huga
とか、好きにかける。
そもそも、複雑なフィルターならシェルスクリプトで書くなって話もあるけど、、、。

fedora16ではchkconfigがいまいち使えないという話とか、unixの起動の話とか。

redhat系のlinuxディストリビューションでは、起動時のサービス立ち上げには、chkconfigコマンドとか、ntsysvコマンドとかを使うことになると思うんだが、先日ちょっと使ってみたら、fedora16では、chkconfigではすべてのサービスをいじれるわけではないことに気付いたので、メモ書き。(デーモンとサービスという表記が混ざるけど、この記事の中では同じもんと思ってます。はい。)

まず、chkconfigが何をしているかというと、/etc/rc.d/init.d 以下にある、各種デーモンの起動スクリプトを、/etc/rc.d/rc[0-6].d/以下に適当な名前でシンボリックリンクを張るということ。
たとえば、chkconfig –level 2345 sshd on とすると、rc[2-5].dの中にS??sshdという名前で、rc0.d rc1.d rc6.d の中にK??sshdという名前でそれぞれシンボリックリンクができる。例えば、この状態でランレベル1になるとsshdが停止し、ランレベル5になると、sshdが立ち上がるという仕組みになっている。(??は起動順、停止順に振られる2桁の数字。起動スクリプトにコメントで書いてある。)

ランレベルが変わり、たとえば3になったとすると、/etc/inittab を読んだり /etc/event.d/rc3 を読んだりして、とにかく /etc/rc.d/rc 3 を実行する。 で、この rc というスクリプトを読めば分かるけど、(fedora16な環境ではすでに存在しないため読めない!) /etc/rc.d/rc3.d のなかで、Kから始まるスクリプトを停止して、Sから始めるスクリプトを起動するという処理がかかれている。というわけ。 この辺の話は検索すればたくさん出てくるので、とりあえずこんなもん。後者のやりかたupstartについては、ここ(WayBack Machine 経由)が参考になりそう。

で、Fedora16。

Fedora16には/etc/rc.d/rcスクリプトがないし、inittabはすべてコメントで頭に ”# inittab is no longer used when using systemd.” とかかれる始末。

inittabを読むsysvinitや、/etc/event.dを使うUpstartと違って、fedora15から現在使われているsystemdでは、この辺の管理が変わってきていて、/etc/rc.d/init.dには、あまりスクリプトが置いてない。ntpdやsshdもない。

試しに、fedora16でchkconfigを叩いてみると、

“注記: この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。
systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。”

と表示され、いくつかデーモンが表示される。ネイティブなsystemdのサービスとはなんじゃい、ということだが、それは、/lib/systemd/以下にファイルが配置されているようだ。
/lib/systemd/system/ntpd.serviceなどのファイルを見ると、サービスを起動、停止するコマンドのようなものがかかれている。この辺の仕組みはまだよく分かっていないので、適当に今度まとめる。

とりあえず、fedora16でのサービスの起動、停止、起動時に勝手に立ち上げるようにするにはsystemctlコマンドか、以前からあったserviceコマンドを使う。というか、serviceコマンドはsystemctlコマンドを呼ぶようになっただけ。serviceコマンドの方がタイプが少なくて簡単。

sshd 起動

systemctl start sshd.service (または service sshd start 以下同様)

sshd 停止

systemctl stop sshd.service

sshdを起動時に立ち上げるようにする

systemctl enable sshd.service

などなど。
勝手に立ち上がらないようにするには、disable、起動状態を見るにはstatusやshowなど。いろいろある。

systemctlコマンドは他にもいろいろと機能がある様子で、引数なしにsystemctlコマンドを叩くと、.service のみならず、.deviceなる項目も出てくるので、いろいろできる様子。この辺のことはまたしらべてから。

また、systemdではランレベルとかはどうなっているのかも気になる。/lib/systemd/system/runlevel?.targetというファイルは、それぞれgraphical.targetやmultiuser.target、reboot.targetなどへのシンボリックリンクになっているので、ランレベルという概念がなにやら希薄になっているような気がする。それもまた気が向いたら読んでみる。

systemctlコマンドって、叩くのが面倒なので、この辺はGUIで設定した方が楽なんだけど、どこにもみあたらない。コマンド名がわからんので探せないが、、、。まぁ、あとで”ソフトウェアの追加/削除”でさがしてみるか、、、。 system-config-serviceかな?いれてみよう。

そもそもこんなことを気にしはじめたのは、某UNIX、というかAIXでどうやって起動時にデーモンを勝手に立ち上げるかということを気にしたから。そもそも、普段はめったなことでは落とさないんだけど、どうしてそんなことが必要なんだろうというのはさておいて、、、。ランレベル変更時に起動スクリプトを処理するのではなくて、inittabに必要なことを書いてしまうという方式で、(管理コマンドを通さずにinittabをいじっちゃいけないみたい)面倒だなぁ、chkconfigは楽だよなぁ、と思ったからなのでした。

起動スクリプトを適切に用意するのは、適切に終了するためのコマンドを指定できるから、便利なのだと思うけど、どういうことになってるんだろ。

この記事誰得なんだろうという気がしないでもないが、
この記事は適宜追記・書き換えします。

fedora16

fedora16が出てたので、使っている3台の端末でpreupgrade。
特に問題は起こらず終了。preupgradeは、なるべく早めにやった方がよいという感じになんとなく思っている。

rpmconf -a して設定ファイルを書きかえるときに、ユーザーUIDが1000番からになっている部分があるので、そこは書き換えてしまわないようにちょっと気をつけるくらい。

見た目はあまり変わらない。grubがgrub2になったのと、kernelが2.6.xから3.xに変わったくらい。内部的にはいろいろかわってるっぽい。起動はともかくシャットダウンが速い気がする。

fedora15のSELinux Alert Browser

以前SELinuxをいじったのは、fedoracore6のころだったと思うので、だいぶ長いことさわっていない。

仕組みもだいぶ忘れてしまったし、自分でselinuxのコマンドを適切な属性に合わせてたたくのはあまりやりたくないところ。

ちょっと前にchromeがSELinuxまわりで怪しい、ということを書いたけど、解決しなかったのでやり直し。

Fedora15のgnomeshellでselinuxと叩くと、出てくるのが「SELinuxトラブルシューター」

立ち上げてみると、英語の名前はSELinux Alert Browserとなっている。

それはさておき、立ち上げて、Troubleshootをクリックすると、

    ・不適切なアクセスを受けている!
    ・何が動いているのかわかっていてアクセスを許可するならこうしてね。
    ・必要ないはずのアクセスをしているバグかも。報告してね。

の欄があり、それぞれ対処法が書いてあった。

(問題によっては、数が違うが、chromeが問題となっているのは3つの選択肢があった。)

で、アクセスを許可するために指示どおり、以下のコマンドを叩く。

(audit.logをみると、どうも、chrome-sandboxがブロックされていた様子。chrome_sandbox_tっていうタイプに対するアクセスしようとしているのかな?

まぁ、多分許可しても大丈夫なんでしょう。)

指示どおり、rootになって

# grep nacl_helper_boo /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp

とかしてみた。あとは様子を見る。ってか、この自分で作ったポリシーって、起動時に自動でロードされるんだっけか?まぁ様子をみるということで。

scp のファイルサイズの制限とかのメモ

ちょっと前に、scpで扱えるファイルサイズが4GBまでなんだよね〜とかなんとかいうことをいろいろ(http://www.atmarkit.co.jp/fnetwork/rensai/tcp28/02.htmlとかhttp://winscp.net/eng/docs/protocolsとか、後者はwinscpに限った話だと思うけど、、。)書かれていることを見かけたので調べてみた。ちょっと長くなりそうなのでここにまとめる。

結論からいうと、たぶんファイルサイズの制限は、大きいファイルをおけないファイルシステムを使っている場合か、特定のクライアントの問題だった、ということで、scpの問題ではない、という話。4GB超のデータを送るときにはscpよりsftpつかってね、とか、ちょっと冗談きついっす。いちいちputとかgetとかたたけというのか。

scpやrcpの通信プロトコルはhttp://blogs.oracle.com/janp/entry/how_the_scp_protocol_worksを見つけることができた。この記事には、”There is no RFC, no draft, not even README file describing it” と書いてあり、rcpのプロトコルはドキュメントがあまりない模様。(opensshのサイトでも、scpは標準化されていない(Wayback Machine経由)、と書いてある)で、まぁ細かいことはおいておいて、rcp/scpで扱えるファイルサイズは、実装依存・環境依存だよとのこと。opensshのscpは、long long int のサイズまで行けるようだ。longlongが64bitだとすると、ファイルサイズで10EiBくらい?普通はファイルシステムの制限の方がきつそう。

32bitなLinuxのlibsshでもLFS(large file support)で2GBの壁は越えられているようだ。これはあまり使わないかな(http://www.libssh.org/archive/libssh/2011-04/0000020.html)(LFSについて参考

scpが標準化されていないとか、4GBの問題がある場合があったとか、わりと気にしていなかったので、勉強になった。

ついでに、scpについて思っているところをいくつか。

linuxな環境でscpすると、たまにSTALLEDになるけど、あれはなんなんだろう。原因が気になる。
とりあえず、全体で大量にファイルを送るときは、 -l オプションで転送速度を制限するのがベター。

暗号化のオーバーヘッドがきつい。最近のCPUには、AES暗号化のための命令セットがついているらしい(AES-NI
scpとかが速くなるのかが気になるところ。

つうか、たくさんファイルがあるときはrsyncが楽。

fedora15 のchromeでtwitterにアクセス出来なかった件。

参考、 http://unix.stackexchange.com/questions/14913/fedora-15-twitter-on-google-chrome

下の方に、SELinuxを無効化しろとか書いているけれども、そんなことはしない。defaultになってるtargettedポリシーで運用してるんだから、別に細かいこたぁ気にしないで、SELinuxのやり方で直す。

と、いうわけで、
restorecon -R ~/.config/google-chrome
でOK。

chromeのrpmがSELinux考えてないのか、targettedポリシーが間違っていてchromeに対応していないのか、、、。多分前者だと思うけども。

meegoを試した、、、けど

meegoのサイトで配っているイメージファイルを、ddでusbメモリに書き込む。
そのイメージファイルはライブCDになっているので、そのまま起動すればインストールせずにmeegoを試せるという寸法。

試すまではすごく簡単。で、実際試してみて思ったこととしては、、、。

terminalが叩ける!pythonとかperlであれこれできる!
というのはちょっと感動。まぁ、使い道は思いつかないけど。

アプリケーションの管理なんかは、gnomeのやつに似ている。gnomeとかkdeとかそういうのが残っているのはまだまだ開発中なかんじ?
製品に乗せるときはそういうLinuxぽいところは捨てるんだろうなあ。
あまりlinuxぽさが残らない方がいいとは思いつつ、、。

肝心のメインのデスクトップ画面〜各タブの切替なんかは、割といいかもしれない。
たぶん1024×600のディスプレイでもちゃんと表示できるように考えて作られてるし、各タブの意味がわかりやすいから、持ち歩いてwebブラウザとか簡単なアプリを使う、くらいの用途には使いやすいよなぁ、と思った。ソフトウェアキーボードはまぁ、ネットブックエディションにはついてないっぽいから試してない。

デスクトップ画面周りの操作性は、タッチパネルでないという点はおいておいても、たぶんandroidより使いやすいんじゃないかなぁ、という感じ。gnomeシェルの、ctrl+alt+矢印キーとか、windowsキーの操作を慣れておくと使いやすいと思う。

ブラウザとか、アプリとかは基本的には1アプリで1画面。gnome3でもそんな感じだから、まぁ違和感はないかな。小さいディスプレイで使うなら、それもありなんだろうなぁ。

アプリはあんまり多くないな。Intel AppuUpから落とすんだろうけど、ちょっと必要なものを探すのが面倒かなぁ。決済とかが必要なものはどうするんだろうか。試してないからよくわからん。

とまぁ、このくらい試したところで、まぁいいやってことで、USBメモリからデータを削除。
インストールするほどではなかったですね。はい。ノートPCはノートPCとして、デスクトップ用のOS入れた方が今までのなれもある分たぶん使いやすいかな、と。

で、meegoはtizenというのに名前を変えるんですって。QtじゃなくてHTML5ベースになるとか、いろいろ違いはあるんだろうけど、ノキアに逃げられていろいろあったりするんですかねぇ、、。

meegoと違って、イメージキャラクタ?があんまり可愛くないのが気になる、、、、

dynabook SS RX1 あれこれ

dynabookAZを売って、中古を買ったdynabookSS RX1

ちょっと使ってみると、dynabookAZと比べたくなる点がいくつか。
dynabookAZはファンレスで、電池も大分持ってたし、画面閉じとけばスリープだけで大分持ってた。
dynabookSS RX1の方は、良くも悪くも普通のPCなので、いろいろ汎用的に使えるのがいい。ちょっと熱くなるのが気にはなる。

さて、dynabookSS RX1 にfedora15のliveUSBを突っ込んで起動して遊んでみているが、ちょっと遊ぶとすぐ気付くのが、ファンクションキーって全然きかないのか、というところ。ある意味当然なんだけど、windowsに縛られてる部分があるんだなぁと実感。fedoraで運用するのはやめとくか、、、。

中古だからかもしれないけど、ちょっと視野角が狭い。天板が曲がっているからか、液晶ムラがちょっと気になる。バックライトが液晶全面ではなくて、ひょっとして上下にしかついてないっぽいところも関係あるかも。

とりあえず、リカバリパーティションをパーティションごとバックアップしておいてから、リカバリを試してみるつもり。windowsXP環境をどうやって残しておくかは課題だけど、まぁいらないような気もしつつ、とりあえず東芝backuputilityというのでリカバリファイルを作って置いた。たぶん、リカバリパーティションのファイルと置き換えれば、そちらを復元してくれるんじゃないかなぁとは思っているけども、ちょっとやらない方がいいのかな?

試してみてから追記します。

=====
リカバリの中身はwindowsXPでした、、、。まぁ、しかたあるめい、、。

さて、IE9とかが使えなさそうだとわかると、これはもう本当にfedoraにしようかな、、、。officeも何もなくてはwindowsを使う意味はあまりないような気がしている。確かにofficewebappsは多分windowsじゃないとつらいかもなぁという気はしているけれども、はてさて。ハードディスクプロテクションがwindowsじゃないときかないっぽいのも気になる。指紋認証はlinuxでもいろいろと可能になってきてはいる。

SSDへの交換はいろいろとやり方がwebにあるので、こわれたら交換してしまう、というのもひとつの手ではある。はてさて、、、。

ちょっとほかのディスプレイと比べると、液晶の色がなんかうそっぽい。

テレビにつなぐパソコンでも買おうかなと思った話。

まともなDVDプレイヤーがなくて難儀したことがあってから、うちのでかいテレビにつなぐためのPCがあってもいいよな、と思って探していた。

AMDのE-350あたりでさくっと組めばブルーレイくらい見れるっぽいけど、肝心のブルーレイドライブがまだ高い。書きこみは全くいらないとしても、もうちょっとなんとかならんか、という値段。linuxでbluray再生するのはちょっとまだ面倒そうなので、windowsも買わないといけないし、、となると、軽く6万くらい?まだ再生専用機を買った方がましだなぁ〜。

ゼルダの伝説 大地の汽笛

ちょっと前にアマゾンで大分安くなってたやつを買ったがその後放置していた。
デビサバ2やるのにDSを引っ張り出してたので、ついでに遊んでみた。

一通り最後までやったところだけど、結構遊べる。タッチペンしか使えないのはちょっといらっとくる場面もあるけど、まぁ、すぐなれます。(これでDSiにちょっとキズが増えたような気がしなくもない、、、。スクラッチは勘弁、、、。)

謎ときはまぁ、ゼルダってことで期待通り。後半ちょっと悩んだところもあったけど、まぁ、じっくり回ってればわからないほどではない。ハートの器を集めなくてもラスボスはハートを落してくれるので死にはしなかった。回転切りはあまり使わなかったので、ちょっととちゅうで時間がかかったけれども、、、。

機関車の移動がちょっとだるい。時間がかかる。それ以外は、アクション部分も謎とき部分もおおむね満足。ゼルダはやはりゼルダって感じ。値段以上に楽しめる作品だったと思う。一通り最後までやると、タッチペンになじんできて、ストレスも無くなってくるし、DSの方向性がよくわかる感じ。

(で、クリア後に攻略サイトみたら、結構行ってない場所あるなぁ、と思ったけど、汽車の移動がだるいので、もういいや。)

ゼルダの伝説 大地の汽笛(特典無し)
クリエーター情報なし
任天堂

デビサバ2 あれこれ

デビサバ2買ってました。すでに3周しました。

1週目はとりあえず当たり障りなくNっぽいダイチの復元ルート。
前作と違って、仲魔がいなくなったりしないから安心。
ラスボスの最終形態はどのルートでも同じなのかな?
ボティスやビフロンスやゴーストQやジコクテンをいちいち倒して行ってそんなに苦労しなかった。
主人公は安定の魔全振りで吸魔で安定してました。
ラスボスだけは主人公を下げてジュンゴに頼ったような。

2週目はなんとなく憂う者ルート。早けりゃ2週目でルシファー作れるちゃうのか〜って話。
今回はメギドラダインを耐えなくてもルシファー作れるのはなんともはや、、、。作らなかったけど。
2週目にはマッカもいまいち引き継がなかったし、仲魔も一匹だけしかつれていかなかったので、隠しボスは3週目へ。

で、3週目に隠しボスをいちいち倒す。
最後のあれ、アリスは、適当に勝利の雄叫びか吸魔と耐万能つけて、ネビロス残して、常世の祈りを使われないように注意して(15000くらい回復されてしょげた、、、)、あとはだらだら殴ったり吸ったりしてたら時間はかかるが苦労はそれほどしなかった。ライフドレインの範囲に2チーム以上いると、ライフドレインを使われてちょいとうざかったので、早々と退場させたりとかしたかな。
耐万能つける以外にそれほど工夫はいらないか?まぁそれほど苦労しなかった。

あとは周回して残りのエンディングをみるだけ。

====

で、その後、周回してエンディングをすべて見てクリア履歴?も全部埋めた。
暇になったら、スキルを全部忘れて全書だけ引き継いでやりしできるのがよさげ。
まぁ、こんなもんかな。

ちょっとバグっぽいの見つけた。
見覚えの急成長もちのモー・ショボーをデビオクで購入後、放置して周回を重ねてレベル99まで上げた後、自動効果開放を使って見覚えの急成長もちの御霊と合体させたら、、、。見覚えの急成長が2つつけられるよ??

実際につけてみなかったが、これ、本当に二つつけられたら、激化スキルもちのやつが大分強くなるような、、、。(でも、普通はレベル99まで上げればオーバーキル気味だけどね、、、。)

さて、それはともかくとして、今回は自動効果もアドオンで付け替えられるから、仲魔の特徴って、素の耐性と成長しやすいパラメータ、HPとMPの成長率(HP,MP自体はアドオンで増やせる)、種族スキル くらいしかないぞ。

好きに育てられるのがいいのか悪いの。適当にいろいろ育てました。
閣下とサタンはアリス用にスキルを付けておいて、他はいろいろ好き勝手つけてる。弱点がないやつか、真・全門耐性つけるの前提で魔力無効耐性もってるやつが使いやすい。(弱点があっても、神速の寄せでメギドラオンかますとか、至高の魔銃+攻撃全体化+神速の寄せ(リーダーはS狂戦士の魂とか)で雑魚相手にはまず死なない。)

結局育てた連中のスキルは、真・全門耐性か至高の魔銃か勝ちオタか二身の残影か物理反射、神速の寄せ、攻撃全体化、(千列突きとセット前提で)貫通、戦神の加護、くらいしかつけなかった。

どうも万能属性で一掃すると、マッカボーナスでマイナスがつくので、アドオン拾うには、千列突き+戦神の加護、が便利。

激化スキルも面白いけど、御霊に付ける枠が足らなかったのと、雑魚相手にはオーバーキルなので、割愛。
氷結とか電撃属性なら、激化スキルよりグリモアの方が便利な気がする。凍ったり電気くらってる敵相手には、反射を無視してクリティカル確定。セプテントリオン相手でもきいたりする。

というわけで無駄に何周もするほどやったけど、今回は悪魔召喚なしでクリアするのは絶対不可能なので(人間不可侵を抜けない)、やらない。

一通りやってみて、使えると思った種族は、、、、。
龍王、魔人、魔王、幻魔、邪龍、霊鳥あたり。
龍王は敵から攻撃されても行動順が後ろにいかないので、ネビロス戦、ベルゼブブ戦のほか、集中砲火を受けてもなんとかなるので、地味に使える。
霊鳥は、足がはやい。それだけで使える。
幻魔は、スキルはまぁまぁだけど、移動のコストが軽いので、魔人と相性がいい(行動後、異界の住人->移動->待機で、ほとんどコストかけけずに自分の番が回ってくる。)
魔王は、まぁ、いるだけで十分。
魔人は、ちょっとずるい気が、、、。勝ちオタ持たせれば異界の住人使いまくれるからな〜。なにも行動しなくても、異界の住人使えば、前の行動のコストが無視されるっぽいのが非常にずるい。

そういえば、ベナトネシュの前にトランペッターを説得するくだり、フミが仲間になっていなくても出番が多すぎて、なんだかなぁ、という気はしたかな。

======

関係ないけど、ネビロス戦のコツ。
雑魚を1ターンで片付けられれば主人公チームだけでも十分倒せる。
救出のところは、魔人+霊長で安定。
ネビロスを倒すには、
1.邪神を使って、全く移動せずにネビロスを攻撃、雑魚は攻撃されたときに確実に始末する方法。
2.龍王を使って、雑魚の攻撃をすべてうけきってから自分のネビロスを倒す方法。
くらいか?とにかく、ネビロスが転移するときは結構行動コストを食うっぽいので、手数を増やしてネビロスばっかり攻撃してれば、復活される前に1チームで倒せる。

デビルサバイバー2(特典なし)
クリエーター情報なし
アトラス

仮想環境@centos5.6にgitoriousを入れた話。

すげー面倒くさかった。redmineよりもindeferoよりも。たぶん。
まぁでも一応は使えるようになったので、メモ。

まず、indeferoのときは、お試しでインストールの時にあれこれいじって環境が汚れたので、今回はテスト用に仮想マシンを立てた。(centos5.6の仮想マシンだけど、ディスクIOが遅い?6.0じゃないのは、インストール手順が探せた(http://famousphil.com/blog/2011/06/installing-gitorious-on-centos-5-6-x64/)のと、本番環境にインストールするのを見越して。タダ使うだけなら、ubuntuにするのがいいかと。この辺とか。 http://tech.lexues.co.jp/archives/500 )

基本は http://famousphil.com/blog/2011/06/installing-gitorious-on-centos-5-6-x64/ に従うだけ。いくつか詰まったところと、このサイトに変なことを書いてあるところがあったので、そこを直して作業を進める。あとは、自分の理解が足りていなかったところもあったのでそこも補足。

もう作業手順は忘れてしまったので、順不同で箇条書きする。
・鍵認証でsshでコマンドを投げるとき、シェルログインしないので.bash_profileは読まれない。サイトの手順どおりに勧めると、環境変数が読まれなくて、gitでpushできなくなるので、.bashrcでPATHを書く。
・gemでいろいろインストールするのはなくてもいいとかなんとか言っているけど、ちゃんと不足分をインストールしないと動かない。
・上記のサイトでも指摘されているが、actyivemqは不要だった様子。でも、これを入れなかったせいで、後述の、commit間のdiffが表示されない問題が出ているような、、、。
・ultrasphinxをrakeできなかった。http://tech.lexues.co.jp/archives/500 に指摘されているとおりに、config/ultrasphinx/production.confのbase_tagsとなっている部分をtagsと書き変えて作業再開。
・rootのcronで@rebootでサービス開始しろと言っているが、それをやると、cronとmysqlの起動順の違いで起動されない場合があったので、/etc/rc.local(だっけ?)で起動させる。

このくらいでgitoriousが立ち上がった。注意が必要だったのは、config/gitorious.ymlのgitorious_client_port: 80 と gitorious_client_host: の設定。gitorious_client_hostには、gitoriousが立ち上がっているサーバの名前を書く。普通は、gitorious_hostと同じでいいはず。何書いていいのか分からなかったから適当に書いてたら、動かなかった。このgitorious_client_hostを見て、http経由でgitリポジトリとやり取りしている部分があるっぽい?

で、大体ほとんど動くけど、マージリクエストで、diffを表示させるところがうまく表示できなかった。activemqを入れなかったのが原因かも。rubyのソースをちょこちょこ直してみたけど全然変化なしで、困った。

で、とりあえず感想として、RubyonRailsのサイトって、入れるのが面倒くさすぎて、なんだかもうやってられない感じ。gitorious自体はgitの中央リポジトリを持って開発するうえで強力なツールだとは思うのだけれども、、、。はてさて。

で、ついでだからgitoriousの作業フローをここにメモっておく。

中央リポジトリがあらかじめgitorious上に作成されていたとする。
中央リポジトリのコミット権限なしで開発をしたいユーザは、gitoriousのサイト上でリポジトリをcloneする。
このとき、gitorious上では、自分がリポジトリをcloneしたという情報が見える。

cloneしたリポジトリを自分の開発端末にpullして開発、適当にcommitして、gitoriousにpush。

で、gitoriousのサイトで、cloneした元のリポジトリに対してmergeリクエストを出す。このマージリクエストは、redmineのチケットみたいになっていて、いろんな人(リポジトリを持っているプロジェクトのメンバーなど)がマージリクエストに対してコメントを書き、それを反映して、開発者は適当に変更、pushしなおして、マージリクエストを更新していく。

で、中央リポジトリに反映させていいというコンセンサスが取れたら、中央リポジトリのコミッターがマージリクエストされた変更を、コミッターのgitリポジトリでマージして中央にpush。このサイクルを繰り返して開発を進める感じ。

各ユーザは、gitoriousが走っているサーバにユーザを持ったりログインする権限を持っている必要はなく、gitoriousのsshの公開鍵を教えておくことでリポジトリとやり取りする。他の開発者の変更を見たりするときに楽できるから、svnで開発するより楽にリポジトリ管理できると思うけど、、、。どうかなぁ。

技術評論社「Linuxエンジニア養成読本」を読んだ

同時期に発売されていたサーバ/インフラエンジニア養成読本の方が役立ってたような気がしつつも、まぁ結局カーネルがなにをしているんだろうというのがわかりやすくまとまってるかな?というので買ってみた。ソフトウェアデザインの集記事のまとめになっている。

1章は、まぁ助走という感じ。ディストリビューションの紹介。さすがに10年後はこの記事使えないだろ。

2〜4章は、カーネルとかファイルシステムとかブートの仕組みがまとまっている。それぞれの項目はどこかで読んだような、、、というか、ソフトウェアデザインで見たやつも多いかも。絵が多いので読みやすいのと、この手のことは検索してもなかなかまとまった記事がなかったりするので、本としてまとまったものを持っておくのはいいかも。
btrfsとか将来楽しみ。nilfsについてはファイルシステムの項には記述がないんですが、バックアップ用とかに使ってみたいと思っていたり。

5〜7章は、コマンドとかシェルスクリプトとか、パイプ、リダイレクトの話。まぁ、使い方の話は、、、と思っていたけど、どうもこれ、linuxのgnuなコマンドじゃないと使えない話がそれとなく書かれている。それに、[a-zA-Z]と[[:alpha:]]が同等とか書かれてるけど、同等かどうかはロケール依存だぞ。(wikipediaにも書いてあるけど、zがアルファベットの最後になっていないロケールだと、[[:alpha:]]の方が広い。)
この本で、bashのinがないfor文、つまり
#!/bin/bash
for i ; do echo $i;done
が、スクリプトに渡された位置パラメタ($1など)をすべて評価してくれるということを知った。便利に使える場面もありそう。

7章は、システムコールまで戻ってパイプを説明してくれてるので、わかりやすかった。あまりこういう低レベルなところを意識することが普段ないので、参考になった。

Linuxエンジニア養成読本 [仕事で使うための必須知識&ノウハウ満載!] (Software Design plus)
クリエーター情報なし
技術評論社

fedora15にindefero をインストールしてみた。

一言で感想を言うと、面倒くさい。redmineをインストールしたときも何ぼかめんどくさかったが、それでもあっちはいくらか使えただけまし。日本語のインタフェースがなさそうなのはわかっていたが、正直説明がたりなくてわかりませ〜ん。明日もうちっと試して見てもうまくいかなかったらあきらめる。

とりあえずインストールは、rpmを作っている人が居たのでそれを拾ってくるところから。

http://www.llaumgui.com/pages/depot-llaumgui

から好きなものを拾っていけばいい。(http://www.indefero.net/open-source/ から、ubuntu版もリンクがあるので、そちらが良い人はそちらから、、、)

ただ、rpm版はインストールの説明がないので面倒くさい。

とりあえず、indeferoとphp-plufのrpmをダウンロードして、依存性も一気に解決すべくyumでインストール。デフォルト設定だとpostgresqlを使うんだけど、yumの依存性で引っ張ってこれないので、postgresql-serverもインストール。(設定ファイルを変えればsqliteでもいけそうだったけど、書き込み権限がなんちゃら言われて面倒くさかったのでデフォルト通りにpostgresqlにした。)

インストール前にやること。

postgresユーザになって、apacheからpostgresを叩けるようにcreateuser、createdbなど適当に。デフォルトのデータベース名はwebsite なので、createdb website しておけばよし。(postgresqlのこの辺のコマンド名って嫌い。pghogehogeみたいなコマンド名にしてくれたらよかったのに、、、。どうでもいいけど。)

設定ファイルは /etc/indefero/idf.php この中を読んでいじる。gitリポジトリの場所とか、データベースの名前とか、メールを使うか、などなど、適当にここで設定する。

次に http://projects.ceondo.com/p/indefero/page/Installation/ (web.archive.orgへのリンク) の途中からそっくり実行する。

つまり、 cd /usr/share/indeferoしてからindeferoのデータベースのユーザになってから、php /usr/share/php/pluf/migrate.php –conf /etc/indefero/idf.php -a -i -d

これでindeferoが http://localhost/indefero から見えるようになっているはずだけど、とりあえず一人目の管理ユーザを手で作らないといけないようなので、それをデータベースにねじ込むスクリプトを書いて実行。


<?php
require '/usr/share/indefero/IDF/conf/path.php';
require 'Pluf.php';
Pluf::start('/usr/share/indefero/IDF/conf/idf.php');
Pluf_Dispatcher::loadControllers(Pluf::f('idf_views'));
$user = new Pluf_User();
$use-->first_name = 'John';
$user->last_name = 'Doe'; // Required!
$user->login = 'doe'; // must be lowercase!
$user->email = 'doe@example.com';
$user->password = 'yourpassword';
// the password is salted/hashed
// in the database, so do not worry :)
$user->administrator = true;
$user->active = true;
$user->create();
print "Bootstrap ok\n";
?>

これでとりあえず上で設定したユーザ名、パスワードでログインできるようになる。

使い方はまた今度。本命はgitoriousと思っているので使わないかもしれない。

==
で、gitリポジトリを突っ込むには、/usr/share/doc/indefero/doc/以下にある中からgitの説明書きを読んで従う。どうも鍵の取り込みがうまくいかなかったので、もう仕方なくパスワード認証で無理やり通して試してみたけど、使う範囲の中ではどうしてもredmineの方が日本語UIとか整っていたりして使い勝手は上。redmineにコードレビュープラグイン突っ込んだ方がたぶん使いやすい。まぁ、ウェブ上のサーバにあげて複数の人間がそこのリポジトリとやり取りするならどうしてもredmineよりindeferoの方がいいっていうことになるんでしょう。イントラで使うならredmineで十分。次はgitoriousを試す。