ubuntu/memo

Ubu

ntuの設定メモ

phpの文字コード

/etc/php5/apache2/php.iniを編集してEUC-JPを吐くようにする。

  • default_charset = "EUC-JP"
  • mbstring.internal_encoding = EUC-JP
  • mbstring.http_output = EUC-JP

文字コードの変換

$a = mb_convert_encoding($a, "EUC-JP", "auto");

ユーザの文字コード設定

set-language-env

emacsでのUTF-8

.emacsに以下を追加(最後の一行も必要でした.)

(require 'un-define)
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)

pp (setq default-buffer-file-coding-system 'utf-8)

(prefer-coding-system 'utf-8)

フォントの追加

/usr/share/fonts/truetype/に適当なフォルダを作り.ttfファイルをコピーする. M+ と IPAフォントの合成フォントを追加した.

$ sudo mkdir mplus-ipa
$ cd mplus-ipa
ダウンロードしたフォントの.ttfをフォルダーにコピー
$ cp <some path>/*.ttf .
$ sudo mkfontdir
$ sudo mkfontscale
Xの再起動

perlのCGI

古いperlのCGIが文字化けしてしまったのでその対応

  • HTMLヘッダー出力に以下を追加
    print "Content-type: text/html; charset=EUC-JP\n";
    print "Content-Language: ja\n\n";
  • 出力の文字コードをEUCに変換
    • Encodeのインストール
      # perl -MCPAN -e shell
      cpan> install Encode
    • EUCに変換
      user Encode;
      
      Encode:from_to($var , 'utf8' , 'euc-jp');
      print $var;

Asterisk

こちらを参考
途中でlinux/config.hが見付からないと怒られるので,シンボリックリンクを張って回避する.

# cd /usr/src/linux-headers-xxxx/include/linux
# ln -s autoconf.h config.h

OpenOffice

OpenOfficeに日本語入力

Ubuntu serverをインストールしたためか,OpenOfficeでSCIM+Anthyが立ち上がらない.
openoffice.org-gtkをインストールすることで,SCIM+Anthyが立上り日本語入力ができるようになった。

emacs系の操作へカスタマイズ

「メニュー」-「カスタマイズ」のキーボードタブで該当のキーバインドを変更する。

  • Ctrl+A: ナビゲート -> ドキュメントの始めへ
  • Ctrl+B: ナビゲート -> 左方向
  • Ctrl+F: ナビゲート -> 右方向
  • Ctrl+N: ナビゲート -> 下へ
  • Ctrl+P: ナビゲート -> 上方向

mysql操作メモ

  • ログイン
    $ mysql -u root -p
  • データベース一覧表示
    mysql> show databases;
  • テーブルの一覧表示
    mysql> show tables from mysql;
  • データベースの作成
    mysql> create database dbname;
  • データベースの選択
    mysql> use dbname;
  • ユーザの一覧表示
    mysql> select User,Host from mysql.user;
  • ユーザのパスワード変更
    mysql> SET PASSWORD FOR 'mythtv'@'localhost' = PASSWORD('hogehoge');
  • ユーザーに特定DBの全権限を付与
    mysql> grant ALL on dbname.* to username@localhost
  • ユーザー権限の確認
    $ mysqlaccess -U username -P password username dbname

DBから特定条件にマッチしたレコードを検索する(epgrecの録画予約IDを検索)

$  select * from Recorder_reserveTbl where id = 12790;

DBから特定条件にマッチしたレコードを削除する(epgrecの録画予約から該当IDを削除)

$ delete from Recorder_reserveTbl where id = 12790;

DBから特定条件にマッチしたレコードを更新する。(epgrecのチャンネル設定を更新する)

$ update Recorder_channelTbl set channel="CS2" where channel_disc="1213.ontvjapan.com"
$ update Recorder_programTbl set channel="CS2" where channel_disc="1213.ontvjapan.com"

Canon MP600

cnijfilter-common-2.70-1.src.rpmに含まれていた(Vineの環境で抜き取った)ソースコードをコンパイルできないかとチャレンジ中です.どうやら32bitのバイナリ配布のみのライブラリがあるようで,うまくいっていません・・・
Ubuntu edgy (amd64) で ATOK for Linux を使う方法が参考にできないかな?

  • 必要なパッケージ
    # apt-get install libgtk1.2-dev
  • プリンタドライバ
    $ cd cnijfilter-common-2.70/
    $ cd libs/
    $ ./autogen.sh --prefix=/usr/local
    $ cd ../cngpij
    $ ./autogen.sh --prefix=/usr/local/bin --enable-progpath=/usr/loca/bin
    $ cd ../pstocanonij/
    $ ./autogen.sh --prefix=/usr --enable-progpath=/usr/local/bin
    $ cd ../ppd/
    $ ./autogen.sh --prefix=/usr
    $ cd ..
    $ make
    $ sudo make install
    $ cd cnijfilter/
    $ ./autogen.sh --prefix=/usr/local --program-suffix=mp600 --enable-libpath=/usr/lib/bjlib --enable-binpath=/usr/local/bin
    $ make
    $ sudo make install
    $ cd lgmon/
    $ ./autogen.sh --prefix=/usr/local --program-suffix=mp600
    $

cron関係

contabのエディタ変更

export EDITOR=/usr/bin/emacs

/etc/cron.daily/での実行

自作スクリプト(backup.sh)を/etc/cron.daily/パスにコピーしても実行されていない。

  • run-partsの認識をチェック
    $ run-parts --list /etc/cron.daily

    表示される一覧に自作スクリプトはない。
    どうやら"."を含むファイル名だとrun-partsは認識しないらしいので、ファイル名を変更する。
    再度run-partsに認識をチェックすると含まれている。

kernel再構築

How To Compile A Kernel - The Ubuntu Way

LVM

LVMの設定がコマンドラインで直接呼ぶのではなく,いちどLVMのコンソールに移ってから実行するように変更になったようす.

OS入れ替え時にlvmを復活させる

ディスクをそのまま残している場合は,lvをactiveにすれば使えるはず.

$lvn
lvn> lvscan
 inactive          '/dev/vg01/lvol0' [931.52 GB] inherit
lvm> lvdisplay vg01
  --- Logical volume ---
  LV Name                /dev/vg01/lvol0
  VG Name                vg01
  LV UUID                8pbyfm-Gu2p-Ztbe-c07W-kloz-dNo1-YTJWWc
  LV Write Access        read/write
  LV Status              NOT available
  LV Size                931.52 GB
  Current LE             238468
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  • StatusがNOT availableになっているので、availableにする.
    lvm> lvchange -ay vg01
    lvm> lvdisplay 
      --- Logical volume ---
      LV Name                /dev/vg01/lvol0
      VG Name                vg01
      LV UUID                8pbyfm-Gu2p-Ztbe-c07W-kloz-dNo1-YTJWWc
      LV Write Access        read/write
      LV Status              available
      # open                 0
      LV Size                931.52 GB
      Current LE             238468
      Segments               2
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           252:0
    lvm> lvscan
      ACTIVE            '/dev/vg01/lvol0' [931.52 GB] inherit
  • マウントする
    $ sudo mount /dev/vg01/lvol0 /mnt/hoge

XFS

  • XFSファイルシステムにラベルを付ける
    # /usr/sbin/xfs_admin -L “miracle2” /dev/sda4

バックアップ

  • mondo rescueでのバックアップ
  • pdumpfsでのバックアップ
    日々のデータのバックアップに使用する.

    • cron.daily
      スクリプト(backup.sh)を作成し/etc/cron.dailyにコピーして毎日実行されると思っていたが,ログをみると実行されていない.
      /etc/crontabによると

      25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

      とrun-partsコマンドでディレクトリ以下のコマンドが実行去れているようす.run-partsでバックアップのコマンドが認識されているか確かめると

      # run-parts --list /etc/cron.daily

      backup.shは含まれていなかった.どうやら"."が入っていると実行するコマンドとして認識されないそうです.とりあえず名前を変更して対応

awstats

TUTORIAL: AWStats with APACHE2
Planeta Ubuntu Brasil

bingをサーチエンジンに追加

  1. search_engines.pmをバックアップ
    $ cd /usr/share/awstats/lib
    $ sudo cp search_engines.pm search_engines.pm_org
  2. search_engines.pmの@SearchEnginesSearchIDOrder_list1に項目を追加
    'bing\.com',

    'msn',の前の行に追加しました.

  3. %SearchEnginesHashIDに項目を追加
    'bing\.com','bing',

    'msn\.','msn,'の前の行に追加

  4. %SearchEnginesKnownUrl?に項目を追加
    'bing','q=',

    'msn','q='の前の行に追加

  5. %SearchEnginesHashLib?に項目を追加
    'bing','<a href="http://www.bing.com/" title="Search Engine Home Page [new window]" target="_blank">Bing</a>',

    'msn','<a....の前の行に追加

  6. Saveして更新

XFceのインストール&設定

  • XFceのインストール
    # apt-get install xubuntu-desktop
  • XFceの起動設定
    私はGDMを使用していないので,設定をしないとgnomeが立ち上がってしまいます.

    # update-alternative --config x-session-manager
    にて/usr/bin/xfce4-sessionを選択

emacsのcolor-themeのインストール

  • パッケージのインストール
    # apt-get install emacs-goodies-el emacs-env-ja
  • color-themeのテスト
    emacsを機動してM-x color-theme-selectでメニューを表示し選択して好みのテーマを選ぶ.
  • テーマの設定
    emacsの設定ファイルをコピー

    $ cp /usr/share/doc/emacs-env-ja/dot.emacs.example ~/.emacs

    .emacsを編集して下記を追記する.

    (require 'color-theme)
    (color-theme-calm-forest)
  • テーマの確認
    M-x color-theme-selectでテーマ一覧からプレビューすることができる.
    設定に記入するテーマ名は、M-x color-themeからTabであげられる候補から近いものを類推する.

Rhythmbox

mp3再生

デフォルトではmp3を再生することができない。gstreamer0.10-ffmegをインストールすることでmp3を再生することができ、アルバムジャケットを自動的にダウンロードして表示してくれるようになる。

日本語の歌詞を表示

はっぴーじむなすと@Linuxさんのところでgoo音楽の歌詞検索から取得するプラグインを作成してくださっていました。
ダウンロードしたMildを解凍してインストールする。

$ unzip mild_0.4.zip 
$ cd lyrics
$ sudo ./install.sh

rhythmboxの「編集」-「プラグイン」から「曲の歌詞」の「プラグインの設定」で検索エンジンに「Goo音楽」と「うたまっぷ」のみにチェックを入れる。

atとcronの出力が届かない

通常atとcronの出力はメールで届くはずです。しかし、実効されているはずのメールが届きませんでした。/var/log/mail.logを除いてみると、宛先がhogehoge@root@funaori.comのようになっておりました。補完されるドメインが"root@funaori.com"となっていたのが原因です。

  • 修正前(/etc/mailname)
    root@funaori.com
  • 修正後(/etc/mailname)
    funaori.com

    これで変なアドレスにメールを送ること無く、atとcronの出力をメールで受け取れるようになりました。

NetworkManager?の利用停止

固定IPを使用しているとどうしてもNetworkManager?が/etc/resolve.confを書き換えてしまう。NetworkManager?の利用を止めて手動で設定する。

  • NetworkManager?の無効化
    % sudo service NetworkManager stop
    % sudo update-rc.d -f NetworkManager remove
  • network設定
    /etc/network/interfacesと/etc/resolve.confを手動で設定する。