2009年4月21日火曜日

apache2 + mod-auth-pam

apacheの認証を PAM にしたら Unix のパスワードと一致して
便利かと思ったのだけど、やってみたらちょっと微妙だw
以下、Debian 5.0 lenny.

1. libapache2-mod-auth-pam をインストール
aptitude install libapache2-mod-auth-pam

2. apacheの設定で AllowOverride AuthConfig
/etc/apache2/sites-enabled/000-default とか、
認証する Directory の設定を AuthConfig にする

3. .htaccess
AuthType Basic
AuthName "secure area"
require group hoge
require user foobar
AuthBasicAuthoritative Off

※ AuthBasicAuthoritative Off は
[error] Internal error: pcfg_openfile() called with NULL filename
を回避する為に必要

4. apache が /etc/shadow 読めるように
vigr -s で www-data を shadow グループに追加

5. その他
/etc/apache2/mods-enabled とか、
/etc/pam.d/apache2 とかは、defaultのままで ok.

認証が Basic だとダ 漏れなのと、apacheがshadow読めるのはなんとも...

2009年4月7日火曜日

gentoo xorg-server-1.5-upgrade

ハマった。
http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-1.5-upgrade-guide.xml

症状.0 i810のドライバがロードできない(そんなものない)
=> Driver "i810" -> "intel" に変更して解決(xorg.conf)

症状.1 synapticsのmoduleがロードできない(undefined imPointerGetMotion)
=> /etc/hal/fdi/policy/ に 11-x11-synaptics.fdi をコピーして解決

症状.2 keyboadが認識されない(AllowEmptyInput on で removeされる)
=> /etc/hal/fdi/policy/ に x11-input.fdi を 10-xinput-configuration.fdi にしてコピーしたあと、、、/etc/init.d/hald restart を実行して解決
(rc-update add hald default)

メモ
1. F1〜F12 は
=> fnキーと一緒 押せば ok.

課題
1. カーソルキーが効いてない
=> xmodmap のせいだった。。。。.xinitrc から xmodmapを外したら ok になった。。。
2. キーボードの配置の変更 Alt とか


1. synapticsは hald が動いてなくても動くが、keyboard はダメ

2008年10月19日日曜日

Xtermの文字を大きくする

defaultだと小さくて疲れる。

  • font を emerge


    • emerge media-fonts/efont-unicode

  • /etc/X11/xorg.conf に FontPath を追加する。


    • FontPath "/usr/share/fonts/efont-unicode/"


  • $HOME/.Xresources に以下を追加



    • Xterm*cjkWidth: true
      XTerm*utf8: 1
      XTerm*wideChars: true
      XTerm*locale: true
      xterm*fontDoublesize: true
      XTerm*background: black
      XTerm*foreground: white
      XTerm*highlightColor: blue
      XTerm*font: -efont-fixed-medium-r-normal--16-160-75-75-c-80-iso10646-1

      ! Needs for Alt_L=Meta on emacs
      XTerm*metaSendsEscape: true
      XTerm*eightBitInput: false

      ! Scrollbar color
      XTerm*Scrollbar*thickness: 10
      XTerm*Scrollbar*foreground: black
      XTerm*Scrollbar*background: white


  • 256 color


    • export TERM=xterm-256color

    2008年10月14日火曜日

    L4Linux メモ

    起動後
    l4lx | ======> L4Linux 2.6 starting... <========
    l4lx | Linux version 2.6.26-l4 (shin@gentoo) (gcc version 4.1.2 (Gentoo 4.1.
    l4lx : 2 p1.1)) #1 Sun Oct 12 10:41:33 JST 2008
    l4lx | Binary name: vmlinuz
    l4lx | Linux kernel command line (6 args): mem=64M load_ramdisk=1 ramdisk_si
    l4lx : ze=16384 root=/dev/ram l4env_rd=drops.rd video=l4fb:800x600@16,refres
    l4lx : hsleep:100
    l4lx | Image: 00400000 - 007c9000 [3876 KiB].
    l4lx | Areas: Text: 00400000 - 006d3000 [2892kB] (a bit longer)
    l4lx | Data: 006d3000 - 006f46d8 [133kB]
    l4lx | Initdata: 006f8000 - 00737000 [252kB]
    l4lx | BSS: 00738000 - 007c8b50 [578kB]
    l4lx | l4lx_thread_create: Created thread 10.03 (tamer0)
    l4lx | Tamer0 is 10.03
    l4lx | Using tamed mode.
    ROOT: Sending all ports (for cli/sti) to task #0d
    l4lx | Got 65536 out of 65536 I/O ports
    で固まる

    A. Fiascoの menuconfig で
    Kernel options - Assembler IPC shortcut を OFF にすれば OK.

    2008年10月6日月曜日

    Gentoo & qemu その2

    gentoo gcc-3.4.6 で cvs版の qemu をコンパイルしようとするも...

    release_0_9_0/target-i386/ops_sse.h:213: error: this is
    the insn:
    (insn:HI 36 35 37 3 release_0_9_0/target-i386/ops_sse.h
    :207 (parallel [
    (set (reg:DI 63 [
    .q ])
    (lshiftrt:DI (reg:DI 63 [
    .q ])
    (subreg:QI (reg/v:SI 60 [ shift ]) 0)))
    (clobber (scratch:SI))
    (clobber (reg:CC 17 flags))
    ]) 309 {lshrdi3_1} (insn_list 33 (insn_list 35 (nil)))
    (expr_list:REG_DEAD (reg/v:SI 60 [ shift ])
    (expr_list:REG_UNUSED (reg:CC 17 flags)
    (expr_list:REG_UNUSED (scratch:SI)
    (nil)))))
    release_0_9_0/target-i386/ops_sse.h:213: 前のエラーにより混乱していますので、脱出します
    make[1]: *** [op.o] エラー 1


    gentoo の gcc-3.4.6 はダメ?らしい。

    http://docs.openmoko.org/trac/ticket/1093

    しかたなく...

    /etc/portage/package.keywords に sys-devel/gcc:3.3 ~x86 を追加して、
    emerge -av sys-devel/gcc:3.3

    で、gcc-3.3.6 をインストール。

    qemu は ./configure --host-cc=/usr/bin/gcc-3.3.6 --cc=/usr/bin/gcc-3.3.6
    で compile できました♪

    2008年9月15日月曜日

    Gentoo & qemu

    http://gentoo-wiki.com/HOWTO:_Qemu

    gcc 4.X だとコンパイルできないので、3.X を持ってくる。
    emerge -av sys-devel/gcc:3.4

    - x86_64環境で /etc/make.conf に CFLAGS="-O2 -march=core2 -pipe" を書いてる場合は
    sudo sh -c "CFLAGS=\"-O2 -pipe\" CXXFLAGS=\"-O2 -pipe\" emerge sys-devel/gcc:3.4"

    gcc-3.4 でコンパイル
    sudo sh -c "CC=gcc-3.4 emerge qemu-softmmu"

    ネットワークに tun を使うならコレも
    emerge sys-apps/usermode-utilities

    ネットワークに bridge を使うならコレも
    emerge net-misc/bridge-utils

    kqemuを使うなら
    cat /etc/modules.autoload.d/kernel-2.6
    kqemu major=0

    group qemu に追加
    gpasswd -a HOGE qemu

    ネットワーク込みの起動スクリブトはこんなのでいいらしい。

    #!/bin/bash
    set -x
    User=$USER
    TAP=$(sudo tunctl -b -u $User)
    sudo /sbin/ifconfig $TAP 0.0.0.0 promisc up
    sudo /sbin/brctl addif br0 $TAP
    qemu -hda hda.img -net nic -net tap,ifname=$TAP,script=no
    sudo tunctl -d $TAP

    もちろん、ネットワークはbridgeで設定してないとダメ。
    /etc/init.d/net.eth0 stop
    brctl addbr br0
    brctl addif br0 eth0
    ifconfig eth0 up
    ifconfig br0 up
    dhcpcd br0

    kgdb on linux-2.6.26

    kernel 2.6.26には kgdbがマージされている。
    以下のオプションを有効にしたkernelを作成。

    Kernel hacking
    KGDB: kernel debugging with remote gdb
    KGDB: use kgdb over the serial console

    grub menu.lstのkernelオプションに以下を追加。
    kgdboc=ttyS1,9600 kgdbwait

    qemu のserialで kgdbに接続するなら
    オプションに -serial stdin -serial pty を
    付けて起動し、ホスト側で gdb を起動

    cd linux-2.6.26
    gdb
    (gdb) file vmlinux
    (gdb) set remotebaud 9600
    (gdb) break init_post
    (gdb) target remote /dev/pts/0

    で、kgdbに接続できる。

    けど、gdbを Ctrl-c で止めると再接続できないよ ^^;

    結局、qemu使った方がラク

    qemu -s -kernel linux-2.6.26/arch/x86/boot/bzImage -h -initrd initrd-2.6.26.img da hda.img -append "root=/dev/VolGroup00/LogVol00"

    (gdb) target remote localhost:1234

    ... gdbの接続待ってくれないのがイマイチですが...

    moduleをデバッグする場合は...
    linux起動後、ターゲットモジュールを insmod して、
    cat /proc/modules で アドレスを確認。
    ...
    ne2k_pci 8680 0 - Live 0xc8815000
    ...

    gdb で symbol をロードすれば良い。
    (gdb) add-symbol-file drivers/net/ne2k-pci.ko 0xc8815000
    (gdb) break ne2k_pci_open

    で、ifconfig eth0 X.X.X.X/24 とかすると break する。