「Linux は UNIX じゃない」という突っ込み不可! 恥をしのんで初歩的なものも載せます ^^;
[ lipsIV color | grub と Win XP OS loader | Vine Linux 2.6 の broadcom ドライバ | DVD+RW/+R (IDE接続) を linux で使う | UPS による自動 shutdown を linux で行う | Vine Linux 2.6r3 rc2 を Let's note CF-T2 へ install | Solaris 2.5.1 で 適当な SCSI HDD を format, mount | Vine on CF-T2 で PCcard-HDD | バックアップファイルの削除 | ifc でエンディアン変換 ]
標準で入っている printtool では、 lips4v のフィルタを指定してもカラーの設定項目がないので、 下記のフィルタを作り実行権限を与え 、/etc/printcap に指定する。 (ただし、gs 自体は対応している)
% cat /usr/share/printconf/util/ps2lips4v #!/bin/sh # /usr/bin/gs -q -r600 -sDEVICE=lips4v -dBitsPerPixel=24\ -dManualFeed -dNOPAUSE -sPAPERSIZE=a4 -sOutputFile=- - exit 0
-dBitsPerPixel=24 はカラーの指定、 -dManualFeed は手差し指定。
% cat /etc/printcap # ...(他のリスト略) lbp2040:\ :ml=0:\ :mx=0:\ :sd=/var/spool/lpd/lbp2040:\ :af=/var/spool/lpd/lbp2040/lbp2040.acct:\ :sh:\ :rm=lbp2040:\ :lpd_bounce=true:\ :if=/usr/share/printconf/util/ps2lips4v:
参考URL: http://www-seis.planet.sci.kobe-u.ac.jp/~kakehi/linux/intel/redhat42/gdevlips.txt
linux などで grub (GRand Unified Bootloader) を /dev/hda 以外(今回は/dev/hdd)に入れ、 なおかつ /dev/hda には Windows XP(2000) が入っている場合(普通ありえない)の注意点
grub 上での hd デバイス認識は、その grub が立ち上がっている hd を (hd0) としている。 よって、linux が載っている hd だけであれば、 デバイスの認識に問題は起こらない。 しかし、その grub がある bootsector を XP などの bootloader のメニュー c:\boot.ini から立ち上げようとすると、 XP は /dev/hda を当然 (hd0) と見なすので不整合となり、 linux の boot は失敗する。そこで、下記の方法を取ったらうまくいった。
かなり悩んだ割には、たいしたことしてません。
ASUS P4G8X な母板で Vine Linux 2.6 (i386) を動かそうと思い、 板上にある Giga-base な network device の driver を探したところ、 特に追加の driver は必要なく、tg3 でいけるということがわかった。
/usr/src/linux で make menuconfig すれば良いということが後からわかる(^^;)
今回扱ったドライブは、 Plextor PX-504A。
IDE 接続の DVD+RW ドライブで DVD+R/+RW media を焼くためには、 ドライブを SCSI 接続にエミュレートする。 (/etc/modules.conf は変更せず動作した)
dvd+rw-toolsのソースを持ってきて、make & sudo make-install。 デフォルトでは、/usr/local/bin に
こちらの環境では、growisofs のみで事足りるのでそのコマンドの使い方:
その他の使い方は、やはり 本家 を見た方が良い。 上記ではデバイスの指定を /dev/cdrom で行けたところが異なる。 ひょっとして、ide-scsi エミュレートも要らなかった ?! (未確認)
New machine にシリアルポートがないこともあって、USB で通信する APS CS500 を購入。買ったからには何とかする。
apcupsd を このあたりから持って来る。
% ./configure --enable-usb; make # make install
FC3 で udev にて boot 時自動で device を作ってくれない時は、 下の1行を /etc/udev/rules.d/50-udev.rules に追加して reboot。 追加で自動認識される device は /dev/usb の下にできるので確認して、 /etc/apcupsd/apcupsd.conf をいじる。
% tail -1 /etc/udev/rules.d/50-udev.rules BUS="usb", SYSFS[idVendor]="051d", NAME="usb/hiddev%n"
参考URL: http://www.apcupsd.com/3.10.x-manual/Checking-Out-Your-USB-Subsystem.html
突如の停電が怖いので、genpower を使って UPS(APC BK500) - PC 間を管理する。
#pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" pf::powerfail:/etc/genpowerfail start #pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" pr:012345:powerokwait:/etc/genpowerfail stop
### ADD support for the UPS echo "Starting genpowerd daemon..." if [ -x /sbin/genpowerd ]; then /sbin/genpowerd /dev/UPS apc2-nt fi
# See if this is a powerfail situation (genpowerd). if [ -r /etc/upsstatus ]; then status=`head -1 /etc/upsstatus` # Kill power if needed if [ $status != "OK" ]; then echo "Killing Power..." sleep 5 genpowerd -k /dev/UPS apc2-nt fi fi
参考 URL: http://www.riam.kyushu-u.ac.jp/~hashimot/UPS/ups.html
初めて研究費で買った CF-T2 は Vine Linux 2.6r3 が出るまで 待とうかと思ったが、某 T川さん が楽しそうに FreeBSD を install されたようなので β版(rc2)をinstall。 簡単だったので install の肝のみメモ。
追記: その後 rc4 が出たので試したところ、あっさり GUI install ができ、 X の vesa driver にて i865G のグラフィックも自動認識された。 だから、下記はやや無駄な情報も含まれる。
Sun 純正マシン(ご老体)に久々に外付けSCSI-HDD(K先生のお下がり:)を増設。 やりかたを忘れかけていたのでメモ。
PCcard-HDD (IO-DATA, PCHDT-2Gt) を Vine on CF-T2 に刺したところ irq が衝突したとメッセージが出たので見たところ、 irq4 を使いたいみたいなのでそこを空けたら認識できた。 具体的には、/etc/pcmcia/config.opts でシリアルポート用に確保されている "exclude irq 4" を # でコメントアウトする。
% cat /proc/interrupts CPU0 0: 276910 XT-PIC timer 1: 128 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 7303 XT-PIC eth0 4: 8 XT-PIC ide1 <-- こいつ 8: 1 XT-PIC rtc 9: 643 XT-PIC Intel ICH4, usb-uhci 10: 1 XT-PIC Ricoh Co Ltd RL5c475 11: 0 XT-PIC ehci_hcd 12: 23 XT-PIC PS/2 Mouse 14: 54657 XT-PIC ide0 NMI: 0 LOC: 276889 ERR: 0 MIS: 0
emacs や rsync で作られたチルダ付きバックアップファイル '*~' を削除するには find を用いる。 (これは man を見ればすぐわかる)
[1]% find . -name '*~' -ok rm {} \; [2]% find . -name '*~' -exec rm {} \;
[1] 確認の上削除。rm -i と同じ。
[2] 強制削除。rm -f と同じ。
一応 find の結果のみを表示してから実行する方が良い。
'.' は検索開始ディレクトリ。find の結果が {} に引き渡される。
intel等の x86 系のマシンではバイナリは通常 little endian で扱われる。 big endian のデータを扱う必要がある場合は、 ifc でコンパイルしたプログラム実行前に環境変数を設定する。 (以下は、version 7 の場合)
% ifc hoge.f -o hoge % setenv F_UFMTENDIAN 100 (csh 系の場合) % ./hoge
最後の100は変換が必要な装置番号で、 read の場合は big → little、 write の場合は little → big の変換を行う。
version 8 からは compiler が ifort となり、
% ifort -convert big_endian hoge.f -o hoge % ./hoge
ついでに、record length "recl" の扱いは default で 4byte 単位 になってしまっている。1byte 単位で扱いたいときは、例えばさらに
% ifort -convert big_endian -assume byterecl hoge.f -o hoge % ./hoge
とする。
参考文献: /{ifc_path}/compiler70/docs/for_ug_lnx.pdf
endian で検索すると該当箇所が探せる。
Intel Fortran Compiler (Free for non-commercial use)
2005.01.08.更新
石田のページへ