ププメモ

Debian

最終更新:

nishikita

- view
管理者のみ編集可
2009年08月16日 (日) 23時21分12秒

目次

一般的な使用

DVDを焼く

DVD-RWを消去

$ dvd+rw-format -blank /dev/dvd

DVDビデオからISOイメージを読み出し

  1. ディレクトリに読み出し
    $ dvdbackup -M -i /dev/dvd -o targetDirectory
    
  2. ISOファイルを作成
    $ mkisofs -udf -dvd-video -o out.iso targetDirectory
    
    targetDirectoryは、/tmp/dvdとかにすると良い

DVDに書き込み(ディレクトリ)

$ growisofs -Z /dev/dvd -R -J ./dir 

ここでの「-R」と「-J」は、Joliet形式とRock-Ridge形式のこと。 ファイル名が日本語の時は、これを指定しないとダメ。

DVDに書き込み(ISOファイル)

$ growisofs -dvd-compat -Z /dev/dvd=FileName.iso 

ショートカットキーで端末にフォーカス

Shift+Spaceを押して、gnome端末が全面に出てくる様にする。

  1. 全てのワークスペースにgnome端末を配置する
    Devils' PIeの設定?を参考に設定する
  2. gnome端末を全面に出すシェルスクリプトを用意
    $ touch /home/hoge/bin/gnome-terminal_forcus
    $ chmod 777 /home/hoge/bin/gnome-terminal_forcus
    $ vi /home/hoge/bin/gnome-terminal_forcus
    wmctrl -ia `wmctrl -lx|grep "Gnome-terminal"|head -1|sed -e "s/ .*$//g"`
    
    wmctrlコマンドを使用する。WM_CLASSにGnome-terminalを指定している。-xオプションの動きがおかしかったため、sedとかでゴニョゴニョしている。
  3. ショートカットキーを登録する
    Gnomeでショートカットキーを設定を参考に設定する。
    設定するコマンドは、絶対パスで作成シェルスクリプトを指定する。

パッケージ管理

パッケージのバージョンを指定してインストールしたい

$ aptitude install linux-libc-dev=2.6.22-6.lenny1

環境構築

Anthyに辞書を追加

  1. 美紗緒辞書から、canna-misao_0.99-7.tar.gzをダウンロード。
    $ tar xfz canna-misao_0.99-7.tar.gz
    $ cd canna-misao-0.99/
    
  2. 辞書を追加。
    # cp *.ctd /usr/share/anthy/dic/
    
  3. 辞書リストに登録する。
    $ cat /etc/anthy/diclist
    base.t
    extra.t
    mmain.ctd
    2ch.t
    kigo.ctd
    koyu.ctd
    mchimei.ctd
    mcomp.ctd
    mfzok.ctd
    mscien.ctd
    msub.ctd
    ryaku.ctd
    zipcode.t
    
  4. 辞書の更新。
    # update-anthy-dics
    
  5. 現在の辞書サイズを見てみる。
    $ du /var/lib/anthy/anthy.dic -k
    30416   /var/lib/anthy/anthy.dic
    

Dvorak配列に変更

Dvorak配列にする

$ setxkbmap dvorak

QWERTY配列にする

$ setxkbmap jp

私の環境は日本語キーボードなのでkeycodeを少し変更。半角全角とEscの入れ替えをしているのもあるため、keycode51を変更している。

keycodeはxevコマンドで調べる。

$ xev

/usr/share/xmodmap/xmodmap.jpを参考にキーの名前を調べる。

.Xmodmap

keycode  51 = grave asciitilde
keycode 131 = Super_L
keycode 133 = backslash bar
keycode 208 = Super_R
keycode 209 = Super_L
keycode 210 = Eisu_toggle
keycode 211 = backslash underscore

変更を有効にするには、xmodmapコマンドを使用する。

$ xmodmap ~/.Xmodmap

DvorakJPの設定(SCIM-Anthyを使用)

DvorakJP - 日本語入力用拡張Dvorakを設定する。 Memo - Dvorak & DvorakJP から、dvorakjp.styをダウンロードする。

# cp -p dvorakjp.sty /usr/share/scim/Anthy/style/

その後、SCIMの設定画面→Anthy→ローマ字入力タブ→ローマ字テーブルで、DvorakJPを選択する。設定をリロードすれば、DvorakJPが使用可能になる。

CtrlとCaps Lockキーを入れ替え & 半角全角とEscの入れ替え

半角全角とEscの両方ともEscにしてしまった。半角全角は129に割り当てる事にした。

keycode 129 = Henkan_Mode Mode_switch
keycode 9 = Escape
keycode 49 = Escape
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L
add Lock = Caps_Lock

screenを起動

$ gnome-terminal --geometry=80x30+750+140 -e screen -U

Devil's Pie

Firefox

  1. インストール Mozilla Japan - Firefox
    適当に解凍して、/usr/local/に置く。
  2. Iceweaselのプラグインを継承させる
    $ ln -s /usr/lib/mozilla/plugins/* /usr/local/firefox/plugins 
    

VMWare

Emacs

  1. アンチエリアスが有効なEmacs23をインストール?
  2. emacs-w3mのインストール?
  3. Emacsの設定?

PukiWiki

  1. apache2とphp5を入れる
    sudo aptitude install apache2 php5
    
  2. Apache2の設定?
  3. PukiWikiの設定
    PukiWiki/Install/インストール方法 - PukiWiki-officialを参考にする。
  4. PukiWiki改造?

Acrobat Reader 8.1.1

Adobe - Adobe Readerのダウンロード - すべてのバージョン

$ sudo dpkg -i AdobeReader_jpn-8.1.1-1.i386.deb

unzip(日本語ファイル名に対応)

Debian GNU/Linux を使おう!さんのパッケージを使用

  1. /etc/apt/sources.listに以下の2行を追記
    # unzip-cp932
    deb http://www.sfo.jp/debian/ etch unzip-cp932
    
  2. aptitudeでインストール。unzipのバージョンをapt-cacheで調べて、インストールする。
    # aptitude update
    # apt-cache show unzip
    # aptitude install unzip=5.52-9~sfo.1
    $ unzip xxx.zip
    

ショートカットキーの設定(Gnome)

  1. gconf-editorを起動
    $ gconf-editor
  2. アプリケーションのコマンドを登録
    [apps]→[metacity]→[keybinding_commands]で、好きな番号を選んで、アプリケーションのコマンドを登録する
  3. ショートカットキーを登録
    [apps]→[metacity]→[global_keybindings]で、先ほど選んだ数字と同じところに、ショートカットキーを追加

NTFSのマウント

/dev/sda1を/mnt/Pにマウントする。以下を、/etc/fstabに追記する。詳細は、man fstab。

/dev/sda1 /mnt/P ntfs defaults,uid=1000,gid=2000,iocharset=utf8 0 0

システム構築

サービスの自動起動の設定

  • サービス(Apache2)を自動起動するように設定。
    # /usr/sbin/update-rc.d apache2 start 90 2 3 4 5 . stop 20 0 1 6 .
    Adding system startup for /etc/init.d/apache2 ...
      /etc/rc0.d/K20apache2 -> ../init.d/apache2
      /etc/rc1.d/K20apache2 -> ../init.d/apache2
      /etc/rc6.d/K20apache2 -> ../init.d/apache2
      /etc/rc2.d/S90apache2 -> ../init.d/apache2
      /etc/rc3.d/S90apache2 -> ../init.d/apache2
      /etc/rc4.d/S90apache2 -> ../init.d/apache2
      /etc/rc5.d/S90apache2 -> ../init.d/apache2
    
  • 起動しているサービスを停止する
    "update-rc.d -f サービス名 remove"を使って、リンクを削除してから停止用リンクを作成する
    また、リンクを削除しただけではaptitude safe-upgradeで作成される可能性があるため、stopするリンクを作成する。
    # /usr/sbin/update-rc.d -f apache2 remove
    Removing any system startup links for /etc/init.d/apache2 ...
      /etc/rc0.d/K90apache2
      /etc/rc1.d/K90apache2
      /etc/rc2.d/S90apache2
      /etc/rc3.d/S90apache2
      /etc/rc4.d/S90apache2
      /etc/rc5.d/S90apache2
      /etc/rc6.d/K90apache2
    
    # /usr/sbin/update-rc.d サービス名 stop 30 0 1 2 3 4 5 6 .
    Adding system startup for /etc/init.d/apache2 ...
      /etc/rc0.d/K30apache2 -> ../init.d/apache2
      /etc/rc1.d/K30apache2 -> ../init.d/apache2
      /etc/rc2.d/K30apache2 -> ../init.d/apache2
      /etc/rc3.d/K30apache2 -> ../init.d/apache2
      /etc/rc4.d/K30apache2 -> ../init.d/apache2
      /etc/rc5.d/K30apache2 -> ../init.d/apache2
      /etc/rc6.d/K30apache2 -> ../init.d/apache2
    
  • rc.d内にサービスのリンクを作成(デフォルトを指定)
    # /usr/sbin/update-rc.d apache2 defaults 90
    Adding system startup for /etc/init.d/apache2 ...
      /etc/rc0.d/K90apache2 -> ../init.d/apache2
      /etc/rc1.d/K90apache2 -> ../init.d/apache2
      /etc/rc6.d/K90apache2 -> ../init.d/apache2
      /etc/rc2.d/S90apache2 -> ../init.d/apache2
      /etc/rc3.d/S90apache2 -> ../init.d/apache2
      /etc/rc4.d/S90apache2 -> ../init.d/apache2
      /etc/rc5.d/S90apache2 -> ../init.d/apache2
    
  • Debianでのランレベル
    init0 = 停止
    init1 = シングルユーザーモード
    init2 = マルチユーザーモード
    init3 = init2に同じ
    init4 = init2に同じ
    init5 = init2に同じ
    init6 = 再起動
    

ポートを開けている不要なサービスを停止する

  1. 開いているポートを確認(nmapコマンド)
    # nmap -sT -O localhost
    
    Starting Nmap 4.53 ( http://insecure.org ) at 2008-08-31 23:01 JST
    Interesting ports on localhost.localdomain (127.0.0.1):
    Not shown: 1711 closed ports
    PORT    STATE SERVICE
    80/tcp  open  http
    111/tcp open  rpcbind
    631/tcp open  ipp
    Device type: general purpose
    Running: Linux 2.6.X
    OS details: Linux 2.6.17 - 2.6.18
    Uptime: 0.082 days (since Sun Aug 31 21:03:32 2008)
    Network Distance: 0 hops
    
    OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 1.434 seconds
    
  2. ポートを使用中のプロセスを確認
    "111/tcp open rpcbind"というのを止める。lsofコマンドで、何のプロセスが使用しているのかを確認する。または、"netstat -anp"を使用する。
    # lsof -i:111
    COMMAND  PID   USER   FD   TYPE DEVICE SIZE NODE NAME
    portmap 4806 daemon    3u  IPv4  13782       UDP *:sunrpc 
    portmap 4806 daemon    4u  IPv4  13787       TCP *:sunrpc (LISTEN)
    
  3. 不要なサービスを停止
    # /usr/sbin/update-rc.d -f portmap remove
     Removing any system startup links for /etc/init.d/portmap ...
       /etc/rc0.d/S32portmap
       /etc/rc1.d/K81portmap
       /etc/rc2.d/S18portmap
       /etc/rc3.d/S18portmap
       /etc/rc4.d/S18portmap
       /etc/rc5.d/S18portmap
       /etc/rc6.d/S32portmap
       /etc/rcS.d/S43portmap
    # /usr/sbin/update-rc.d portmap stop 18 0 1 2 3 4 5 6 .
     Adding system startup for /etc/init.d/portmap ...
       /etc/rc0.d/K18portmap -> ../init.d/portmap
       /etc/rc1.d/K18portmap -> ../init.d/portmap
       /etc/rc2.d/K18portmap -> ../init.d/portmap
       /etc/rc3.d/K18portmap -> ../init.d/portmap
       /etc/rc4.d/K18portmap -> ../init.d/portmap
       /etc/rc5.d/K18portmap -> ../init.d/portmap
       /etc/rc6.d/K18portmap -> ../init.d/portmap
    

LVM2 on RAID1の構築

  1. Software RAIDの構築(RAID1)?
  2. LVM2の構築?
  3. /homeの移動?

HDDのフォーマット

NVIDIAドライバのインストール

以下、root権限

apt-get update
apt-get -t experimental install nvidia-kernel-source
apt-get install module-assistant
m-a prepare
m-a auto-install nvidia-kernel
apt-get -t experimental install nvidia-glx

最後に、rebootする。

問題対応

aptitudeでsegmentation fault

aptitudeコマンドを打つとsegmentation faultが発生。aptのキャッシュを消した後、update。

# rm /var/cache/apt/pkgcache.bin
# rm /var/cache/apt/srcpkgcache.bin
# aptitude update

4GBのメモリを認識しない

環境は、マザーボードがP5B。BuffaloのPC6400-2GBx2のメモリを指した。memtestは、問題無し。
BIOSでは4GBまでメモリを認識しているが、Debian上では2GBの認識になっている。対応したカーネルを入れると対応できるようだ。

$ sudo aptitude install linux-image-2.6-686-bigmem

BIOSのMemory Remappingオプションを有効にしてみたが、やっぱりおかしい。

  • Memory Remapping + linux-image-2.6-686-bigmem -> OS:4GB認識(不安定)、BIOS:4GB認識
  • Memory Remapping + linux-image-2.6-686 -> OS:2GB認識、BIOS:4GB認識
  • linux-image-2.6-686-bigmem -> OS:3GB認識(不安定)、BIOS:3GB認識
  • linux-image-2.6-686 -> OS:2GB認識、BIOS:3GB認識

2chのスレでこれを発見

3 :Socket774:2007/12/30(日) 02:24:22 ID:30GTqav6
    ■4GB以上のメモリを使う方法
    1. BIOSの"Memory Hole Remapping"の項目をEnableに設定する
    ※無い場合は死亡

    2. 対応できるOSを使うこと
    対応OS例
    ・Windows2003ServerのEnterprise以上
    ・WindowsXP(64bit)
    ・WindowsVista(64bit)

    制限
    対応OSを利用していても、マザーボード(BIOSバージョン)やビデオカード、
    PCIの拡張カード等の状態によっては4GB使えなかったり不安定になるようです。

    未検証情報
    NVIDIA製GPUはMemory Hole Remappingに対応できないため、
    上記の作業をすると動画再生支援などのアクセラレーション機能が死亡
    →実質的に4GB以上のメモリを積んでいる場合、nForce系は使えない

    NVIDIA製GPUのビデオカードやForcewareのバージョン、
    マザーボードの組み合わせによって発生したりしなかったりするらしい。

4 :Socket774:2007/12/30(日) 02:25:04 ID:30GTqav6
    ■参考
    ・Vista 32bitの公式制限は3.12GB
    http://support.microsoft.com/kb/929605/ja

    ・Vista 64bitの物理メモリ上限
    HomeBasic … 8GB
    HomePremium … 16GB
    Business … 128GB
    Ultimate … 128GB

    ・SC420 では物理メモリ 4GB はフルフルに使えない
    http://d.hatena.ne.jp/dayflower/20070524/1179987794

    Memory Remapping OFF では,どのような環境でも 3GB
    Memory Remapping ON で Vista, Linux(IA32 w/o PAE)だと 2GB(!)
    Memory Remapping ON で Vista(IA32 with PAE) だと 3GB
    Memory Remapping ON で Vista(x86_64)だと 4GB(成功)

17 :Socket774:2007/12/30(日) 17:48:08 ID:vYAQwBlb
    >>3
    > 制限
    > 対応OSを利用していても、マザーボード(BIOSバージョン)やビデオカード、
    > PCIの拡張カード等の状態によっては4GB使えなかったり不安定になるようです。

    これはもっと正確に書いておいたほうが良いのでは?

    要するに、バスマスタ動作を行うカードで、デュアルアドレスコマンド(オプション)を使用出来ないものでは
    ドライバが用意したメモリが4G以上のアドレスにある場合に、そこにアクセスできない。
    逆に関係の無い4G以下のアドレスにアクセスしてメモリを破壊する。


18 :Socket774:2007/12/30(日) 17:53:53 ID:vYAQwBlb
    >>3
    > 未検証情報
    > NVIDIA製GPUはMemory Hole Remappingに対応できないため、
    > 上記の作業をすると動画再生支援などのアクセラレーション機能が死亡
    > →実質的に4GB以上のメモリを積んでいる場合、nForce系は使えない
    >
    > NVIDIA製GPUのビデオカードやForcewareのバージョン、
    > マザーボードの組み合わせによって発生したりしなかったりするらしい。

    これも意味不明。
    Memory Hole Remappingなんてメモリコントローラーへのアドレス線を繋ぎ変えてるだけなんだから
    PCIデバイス側には何の関係もない。

    動かないカードは>>17と同じ原因だろ 

メモリ4Gを認識するには、マザーボード側の対応にもよるようだ。
ASUSマザーボード友の会 Wikiによると、P5B+Debianでは4GBまで認識する事は難しそう。

HDDの認識順番

玄人指向のSATA2I2-PCIe(SiliconImage社製Sil3132チップ搭載)を接続すると、HDDの認識順が変わってしまい、起動できなくなった。

玄人指向のSATA2I2-PCIeを接続する前までは、以下の構成だった。
マザーボードに接続したHDD→/dev/sda

玄人指向のSATA2I2-PCIeを接続すると、以下のような構成に変更された。
SATA2I2-PCIeに接続した1台のHDD→/dev/sda
マザーボードに接続したHDD→/dev/sdb

マザーボードに接続されたHDDから認識するように設定を変更した。使用するモジュールはlsmodコマンドにて確認する(上にあるほど最近読み込まれたモジュール)。

# vi /etc/initramfs-tools/module
ata_piix
sata_sil24

# update-initramfs -u -k all
# reboot

上のコマンドは、全てのinitrdを再作成する。以下のコマンドだと1つだけ再作成となる。

# mkinitramfs -o /boot/initrd.img-2.6.21-2-amd64 2.6.21-2-amd64

initrdイメージは、cpioでアーカイブされ、gzipで圧縮されたファイル。中身を確認するには、以下のようにする。

# mkdir /tmp/initrd
# cd /tmp/initrd
# cp /boot/initrd.img-2.6.21-2-amd64 initrd.cpio.gz
# gzip -d initrd.cpio.gz
# cpio -i -d -H newc -F initrd.cpio --no-absolute-filenames
# cat conf/modules
 ata_piix 
 ahci 
 unix
# cd /tmp
# rm -r initrd

追記
ファイルシステムのラベルを/etc/fstabで指定すると良いかも。

Xineのメニューが文字化けする

日本語のフォントになってないので、メニューが文字化けする(表示されない)。パッチファイルを当てて、パッケージを再作成する。

$ apt-get source xine-ui
$ cd xine-ui-0.99.5+cvs20070914
$ patch -p0 < ../fontJa.patch
$ dpkg-buildpackage -rfakeroot -uc -b
$ dpkg -i xine-ui-*.deb
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (fontJa.patch)

Berylを使っているとSwingのウィンドウの中が表示されない

CompizやBeryl等のCompositeManagerではウィンドウ内部が描画されない。JavaSE6では環境変数AWT_TOOLKITを MToolkitに設定するかjavaコマンドの引数に"-Dawt.toolkit=sun.awt.motif.MToolkit"を追加することで回避できるようです。

リンク

Debian

Linux|Unix

添付ファイル
目安箱バナー