Linuxの備忘録 のバックアップソース(No.9) - アールメカブ

アールメカブ


Linuxの備忘録 のバックアップソース(No.9)

Linuxの備忘録

- 文字コードの確認.ユニコード (UCS-2) を使う.

 $ echo -n "記号" | iconv -t UCS-2 | hexdump
 0000000 8a18 53f7

- UTF-8 文字コードの確認(Unicodeではない) 
 $ echo -n '記号' | hexdump -C
 00000000  e8 a8 98 e5 8f b7  
C オプションを付けないと2バイト単位で,バイトが逆順になってしまう.-C を指定すると1バイトの文字単位の表示になる.あるいは
 $ echo -n '記号' | od -tx1
 0000000 e8 a8 98 e5 8f b7
や
 $ echo -n '記号' | xxd -g 1
 0000000: e8 a8 98 e5 8f b7  
でもよい.

-文字コード変換
 $ iconv -f EUC-JP -t UTF-8 test.euc > test.utf8


-Ubuntu で root になるのは
 sudo -s

//http://oss.timedia.co.jp/show/MySQL日本語の旅/Linuxの16進ダンプツール(od,xxd)
[[ここのサイト:http://x68000.q-e-d.net/~68user/]] など役に立つ

[[hidden_dell530s_backup]] 

[[hidden_Black_Mac]]

[[Programming_C]]

[[Wikiの備忘録]]

#contents
*[[BUFFALO_WLI-U2-G54HP_WHRHP-Gを認識利用]] [#ue1673e6]

* [[VMware>hidden_VMware]] [#qc2ec9ea]

* コマンド版PHP [#we2353ea]
cronで
 /usr/bin/php-cli -f /home/myhome/cron.php 1> /dev/null
を実行しようとしたら,コマンド版PHP が入っていなかった.
(-f は省いてもいいらしい.)
 sudo apt-get install php5-cli
でいいのだが,ちょっとペンディング.

* [[codec 関係のインストール>hidden_codec 関係のインストール]] [#if8d0454]


* Ubuntu ログイン時の音量 [#x5c6ad36]
大きすぎるので調整
 [システム] - [設定] - [サウンド]
からサウンドタブ
 [システム] - [システム管理] - [ログイン画面]
からアクセシビリティタブの効果音でオンオフを切り替え
画面右上のスピーカーのアイコンを左クリックして調節した音量は、ログイン時の効果音には反映されない。音の大きさ自体は画面右上のスピーカーのアイコンを右クリックし「音量調節ツールを開く」を選択して調節


* wmv から wav を作る. [#bf922a69]
 mplayer hoge.wmv -vc null -vo null -ao pcm:file=hoge.wav
これがうまくいかないときは
 ffmpeg -i hoge.wmv -vn -acodec copy fuga.wma
 mplayer fuga.wma -ao pcm:file=nyuru.wav

* Linux Server 版のアップデート [#r6c7e221]
- 正式な?手順
[[ここ:https://help.ubuntu.com/community/HardyUpgrades#Network%20Upgrade%20for%20Ubuntu%20Servers%20(Recommended)]]を参考にするが、要するに

Network Upgrade for Ubuntu Servers (Recommended)

-1.Install update-manager-core if it is not already installed:

 # dpkg –list | grep update-manager-core# インストールの確認
 sudo apt-get install update-manager-core#インストール
これは必要か?
-- /etc/update-manager/release-upgrades を編集して以下のように変更する。
Prompt=normal
-2.Launch the upgrade tool:
 sudo do-release-upgrade
-3. Follow the on-screen instructions. 
-4.更新後の結果確認。[[ここ:http://kunik.no-ip.com/2008/05/02/1727/ubuntu-server-804-updated.html]]にある。
 # cat /etc/lsb-release
 DISTRIB_ID=Ubuntu
 DISTRIB_RELEASE=8.04
 DISTRIB_CODENAME=hardy
 DISTRIB_DESCRIPTION=”Ubuntu 8.04″
 # uname -a
 Linux main 2.6.24-16-server 
    #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux 

/etc/apt/sources.listの修正は必要ないのか?

-こういう手もある。
 # mv /etc/apt/source.list /etc/apt/source.list.080525
 # sed -e 's/gutsy/hardy/g' /etc/apt/source.list.080525 >
    /etc/apt /source.list
 # apt-get update
 # apt-get dist-upgrade


* ntpdate 2009 03 21 [#qbaa1bbd]
etc/cron.daily に /etc/network/if-up.d/ntpdate を突っ込む。

 $ sudo vi /etc/default/ntpdate

   NTPDATE_USE_NTP_CONF=no
   NTPSERVERS="ntp.jst.mfeed.ad.jp ntp.ring.gr.jp"
   NTPOPTIONS=""# オプションは上記スクリプトに記載されている

 $ cd /etc/cron.daily/
 $ sudo ln -s /etc/network/if-up.d/ntpdate .

* Epson Na01へのUbuntuインストール [#kad2063b]
[[Epson_Na01_Ubuntu]]
* Ubuntu システム > 設定 > キーボード・ショートカット [#z6650939]
[[Ubuntu_keyboard]] [[ここに表を作成]]

* find の exec 引数と xargs 引数 [#sf1682c5]
同僚から,._ で始まるディレクトリをまとめて消すのに

 % sudo find /home -name "._*" -print -exec rm -f {} \;

が使えるかと聞かれた.使えるだろうけど,-exec は検索のたびに,指定のコマンドをいちいち実行するので,-xargs を使って検索結果をまとめて渡した方が良いでしょう.

 $ sudo find . -name '._*' -print0 | xargs -0 -r rm -rf

-print0 オプションは,[[ここ:http://openlab.dino.co.jp/2008/02/20/133431188.html]] や[[ここ:http://docs.hp.com/ja/B2355-90851/xargs.1.html]]に説明がある.

>
findの出力がヌル文字(0×00、別の表現をすると”\0″)で区切られて出力されます。また、xargsも引数がヌル文字で区切られているものとして処理を行います。その結果、空白文字を含んだファイル名も正常に処理できます。 
<

しかし,私自身は怖くてできないな.xargs をグーグったら,こんな[[ページ:http://openlab.dino.co.jp/2008/02/20/133431188.html]]があった.またこんなファイル &ref(shell2.txt); もみつけた.再配布OKらしい.

ついでなので,つらつら検索していたら,[[こんな記事:http://d.hatena.ne.jp/hujikojp/20080220/xargs]]もあった.ちょっと引用する.

 コマンドを一度に起動する (find -exec +)

    $ find . -name \*~ -exec rm {} \;

 ただ、これだと100000ファイルがヒットした場合にrmコマンドが
 100000回実行されてしまうため、全部実行するまでに案外時間がかかる
 ...
 これを回避するために xargsを使うのもまっとうですが、
 最近の find には + というのがあります
  (SUSV3 で定義されていて... )
 
 find . -name \*~ -exec rm {} +
  
 これで、複数の引数つけて rmを呼んでくれます。
 空白があっても okです。


 真ん中に展開したい (xargs -J)

 でも mvのように真ん中に展開したい引数がある時はだめ。
 '{} +' で終わってなきゃいけないってルールなんですね。
 
 % find . -name \*~ -exec mv {} bak/ +
 find: -exec: no terminating ";"
 
 この場合は GNU coreutilsを使わなきゃいけないかというと、
 それも抜け道があります。
 BSD系 xargsには -J optionがあります:
 
 % touch a~ b~ c~
 % find . -name \*~ -print0 | xargs -0 -J {} echo mv {} /var/tmp
 mv ./a~ ./b~ ./c~ /var/tmp
  
 というように一つのコマンドに展開してくれます。
 
 ちなみに BSD系では template変数が2文字以上の時、
 "-J{}" とくっつけるとだめで "-J {}" と spaceをいれないといけない
 よう。普段は "-J@" って、一文字にしてるので気づかなかった。
 
 追記: GNUの xargsでも -n をつければ複数展開してくれますね:
 
 % find . -name \*~ -print0 | xargs -0 -I {} -n 100 mv {} /var/tmp
 
 てな感じで。100 ってのが adhocな感じだけど。
 
 MacOSではこの方法は使えませんでした。


 もっと早くしたい (けど) (parallel)

 でも昨今は multicoreや hyperthreadな CPUが主流でしょう。
 そんなときに一つの threadで順番にやるのはアホです。
 そういうときに使えるのがparallel です。
 最大 10個分プロセスを立ち上げて、文字通り並列に CPUを
 余すことなく使ってくれます。
 
 % ls | ./parallel 'sleep 3 ; echo ' & (sleep 1; ps )
[1] 4503 4504



* IP変更 [#te3770b4]
近く IP を変更せにゃならん.
 # vi /etc/network/interfaces
 # This file describes the network interfaces available ..
 # and how to activate them. For more information, ...
 
 # The loopback network interface
 auto lo
 iface lo inet loopback
 
 # The primary network interface
 auto eth0
 iface eth0 inet static
        address 150.59.**.**
        netmask 255.255.255.0
        network 150.59.**.0
        broadcast 150.59.**.255
        gateway 150.59.**.1
        # dns-* options are implemented by the resolvconf ...
        dns-nameservers 150.59.60.2
        dns-search ias.tokushima-u.ac.jp
 
変更後 interface を再起動
 # ifdown eth0
 # ifup eth0
eth0の状態を確認
 # ifconfig
でよかったが,問題は,subversion だ.
レポジトリ作り直しかと思ったら,[[次のような記事:http://djlab.sakura.ne.jp/mydiary/]]があった.以下引用する.

>>Subversionをインストールしているサーバは動的IPアドレスを用いているため、サーバを再起動した時にIPアドレスが変わってしまうことがしばしば。  Subversionにコミット/チェックアウトするためのURLも変わってしまうので、設定を変える必要があります。   方法として、古いIPアドレスを参照していた作業コピーは削除してしまって、新しいIPアドレスをコミットするようにしていたのですが。    別に作業コピーを削除しなくとも、参照するURLを簡単に変更することがsvnコマンドでできるみたい。

 $ svn switch --relocate svn+ssh://古いIPアドレス/svn/test_repos 
         svn+ssh://新しいIPアドレス/svn/test_repos test_reposの作業コピー/
 $ svn update test_reposの作業コピー/
しめたと思って,五つあるレポジトリ一気に書き換えるスクリプトを書いた.

 #!/bin/bash
 svn switch --relocate
 svn+ssh://oldip/var/local/subvers/ubuntu/Document
 svn+ssh://newip/var/local/subvers/ubuntu/Document

 svn switch --relocate
 svn+ssh://oldip/var/local/subvers/ubuntu/res/statistics/myRcode
 svn+ssh://newip/var/local/subvers/ubuntu/res/statistics/myRcode

 svn switch --relocate
 svn+ssh://oldip/var/local/subvers/ubuntu/res/Program/
 svn+ssh://newip/var/local/subvers/ubuntu/res/Program

 svn switch --relocate
 svn+ssh://oldip/var/local/subvers/ubuntu/res/Tex/papers
 svn+ssh://newip/var/local/subvers/ubuntu/res/Tex/papers

 svn switch --relocate
 svn+ssh://oldip/var/local/subvers/ubuntu/res/Tex/books
 svn+ssh://newip/var/local/subvers/ubuntu/res/Tex/books 

で,トップディレクトリで実行しようとたが,
 svn: '.' は作業コピーではありません
どうやらそれぞれのレポジトリ(.svnを直下に含むレポジトリ)に入って,いちいち実行する必要があるらしい.その旨もスクリプトに書く.


* Subersion +SVN コマンド一覧 [#mf543869]
[[Subversion_command]]
*X関連 [#m96c9618]
[[X関連>hidden_X_setting]]
* mail, mailx [#b0143c9b]
一括削除するには mailx を使うと思っていたが,
 $ mail
 & d 1-243
で一括削除できた.どっちかがどっちかのエイリアスなのかな?

* crontab [#o2a01beb]
各エントリ最後に[[/dev/null:http://sonic64.com/2004-03-28.html]]を書き忘れていたので,mail スプールがふくらんでいた.
 * * * * * command 1> /dev/null
とする.仮に以下のようにすると,エラーが起こっても何の通知もなくなってしまう
 * * * * * command >/dev/null 2>&1
ついでに,危ないなぁと思いつつ
 $ sudo crontab -u root -e
 $ sudo crontab -u root -l
 # m h  dom mon dow   command
 15 04 1 * * /home/hoge/hoge.sh >/dev/null 2>&1
を設定
- 2009 04 22 study アカウントで
 */5 * * * * /home/myhome/MoodleCron.sh 1>/dev/null  
%%#*/5 * * * * wget -q -O /dev/null http://***.***.tokushima-u.ac.jp/~myhome/moodle/admin/cron.php 1>/dev/null%%

%%を2009 04 15 ishidaアカウントで%%
// */5 10-17 * * 3,5 MoodleCron.sh 1>/dev/null
//と変更した.水曜と金曜だけ,10時から17時まで5分おきに実行という意図なのだが.

-cron書式の代表的なもの(すぐ忘れる).
[[ここ:http://www.server-memo.net/tips/crontab.html]]から引用.
毎週月曜日のAM 10:00に実行
 00  10  *  *  1
10分ごとに実行する場合
 */10  *  *  *  *
3時間ごとに実行する場合
 00  0-23/3  *  *  *
毎日AM 4:30とAM 9:30に実行
 30  4,9  *  *  *
毎週月、金曜日のAM 3:00に実行
 00  3  *  *  1,5
毎日AM 3:00 4:00 5:00 6:00 7:00 9:00 に実行
 00  3-9  *  *  *
毎月10日のAM 3:15 4:15 5:15 6:15 に実行
 15  3-6  10  *  *
AM 1:00 6:00 9:00 10:00 11:00に実行
 00  1,6,9-11  *  *  *

cron設定の前に以下の行を入力してメールをとばす,とばさないを選択できる.[[ここ:http://www.server-memo.net/tips/crontab.html]]から引用

 MAILTO=""

これでメールは飛ばなくなり,逆に複数のアドレスに飛ばしたいときは、カンマ区切りで複数メールアドレスを指定.
この $MAILTO 変数は、デフォルトのメールアドレスを上書きする

ただし、上記は/etc/crontab自体を変更した場合と同じく、実行するアカウントのcron設定すべての宛先に反映される。特定のスケジュールのみを宛先変更させたい場合には、次のように指定すればよい。

 # crontab -e

 0 2 * * * /bin/sh /etc/hogehoge 2>&1 | Mail [送信先メールアドレス]



*[[fontを設定]] [#d3b9e6cd]
*[[Ubuntu8.10-2]] [#x885c086]
*[[Ubuntu8.10]] [#yc2b185f]
*[[PE_CMS]] [#jff6f14e]
*[[VMWare_Ubuntu]] [#x84a1e77]
* bashファイルのバックアップ [#i3822e0f]
 #!/bin/bash
 DATE=`date +%Y%m%d`
 cp -p /home/ishida/.bash_history /back/bash_history-"$DATE"
 cp -p /home/ishida/.bashrc /back/bashrc-"$DATE"
 ## cp -p /home/ishida/.profile /back/profile-"$DATE"

* [[万が一の場合のリカバリ>hidden_Recovery]] [#e5469580]

* [[autofsの設定]] [#zb2e4e74]

* [[bash_logoutの作成]] [#w0bc0e9c]

* [[hidden_bashの演算子]] [#x5fc26c3]


*[[hidden_LANDISK]] [#u88de3f6]

* [[Emacsによるソース操作]] [#oc0c4840]

 // -*-  Mode:ObjC; c-basic-offset:4; tab-width:8; indent-tabs-mode:nil -*-

をソースに加えるといいという[[話:http://d.hatena.ne.jp/tmurakam/20090129/1233162447]]があった。
-[[Emacs_etc]]

* [[解凍方法一覧:http://uguisu.skr.jp/Windows/tar.html]] [#fc155cb3]
-特に忘れてしまうのが〜.tar.bz2, 〜.tbz 系統
 bzip2 -dc filename | tar xvf -
-・アーカイブを作成
 tar cvf [アーカイブファイル名] [ディレクトリ・ファイル名]
 例:tar cvf sample.tar sample
-・アーカイブを作成してcompressで圧縮
 tar cvZf [アーカイブファイル名] [ディレクトリ・ファイル名]
 例:tar cvZf sample.tar.Z sample
-・アーカイブを作成してgzipで圧縮
 tar cvzf [アーカイブファイル名] [ディレクトリ・ファイル名]
 例:tar cvzf sample.tar.gz sample
-・アーカイブを作成してbzip2で圧縮
 tar cvjf [アーカイブファイル名] [ディレクトリ・ファイル名]
 例:tar cvjf sample.tar.bz2 sample
-・アーカイブを展開
 tar xvf [アーカイブファイル名]
 例:tar xvf sample.tar
-・compressを解凍してアーカイブを展開
 tar xvZf [アーカイブファイル名] [格納するディレクトリ・ファイル名]
 例:tar xvZf sample.tar.Z
-・gzipを解凍してアーカイブを展開
 tar xvzf [アーカイブファイル名]
 例:tar xvzf sample.tar.gz
-・bzip2を解凍してアーカイブを展開
 tar xvjf [アーカイブファイル名]
 例:tar xvjf sample.tar.bz2
-・アーカイブに格納されているファイルを表示
 tar tvf [アーカイブファイル名]
 例:tar tvf sample.tar
-・アーカイブにファイルを追加
 tar rvf [アーカイブファイル名] [追加ファイル名]
 例:tar rvf sample.tar hoge4.txt
-・アーカイブに格納されている特定のファイルだけを取り出す
 tar xvf [アーカイブファイル名] [取り出したいファイル名]


* libgtk-2.0.devインストール [#od1f96d2]
 ...
 libglib2.0-dev (2.14.1-1ubuntu1) を設定しています ...
 libatk1.0-dev (1.20.0-0ubuntu1) を設定しています ...
 libcairo2-dev (1.4.10-1ubuntu4.4) を設定しています ...
 libpango1.0-dev (1.18.3-0ubuntu1) を設定しています ...
 libgtk2.0-dev (2.12.0-1ubuntu3) を設定しています ...

* convert [#kcc4c7e7]
ImageMagicのconvertで画像を変換する際 eps2: オプションを指定しないと画像が巨大化してしまう
 $ convert orig.png eps2:orig2.eps

* [[Ubuntu_fsck]]について [#ifc4cc26]

*[[BrotherHL-5250DN]] [#g482df71]

* マウスのホイール [#l514f0de]
XPにインストールしたVMware上のUbuntuでマウスのホイールが効かなかったので以下のように修正した
 $ sudo vi /etc/X11/xorg.conf
   Option          "Protocol"      "ImPS/2" # ps/2から修正
   Option          "ZAxisMapping"  "4 5" # これはもともと記載あり

* subversion_config [#e212e3e2]
新規に作成したら ホームの .subversion/config に
 ssh = ssh -i /home/ishida/.ssh/id_rsa
を忘れず追加すること.

* apt-get autoclean [#yb3a1202]
apt-get update を失敗したまま放っておくと,Synaptic でレポジトリの変更が出来ないなどの不具合が生じるので,とりあえずこのコマンドを実行しておく.

* Vostro に Ubuntu 8.04 をインストールする. [#v37e21da]
[[Vostro_Ubuntu8.04]]

* Atok X 3 の設定2 [#oe38d6f9]
[[Atok_X3続]] 

* Atok X 3 の設定1 [#t602c36c]
[[Atok_X3]] 

* Windows上の VMware Player に Ubuntu を載せている場合 [#l7ca286b]
でも(自宅がそうなのだが),Ubuntuのカーネルがアップグレードが行われた場合は Ubuntu 上で [#j02bcad3]
 ishida@ubuntu-vm:~$ sudo /usr/bin/vmware-config-tools.pl 
が必要らしい.

*Emacs 正規表現を用いた検索 [#sf40a0ad]
  \C-u \C-s . 置換の場合はM-x replace-regexp.
Emacs では C-q C-* で * のところに文字コード表での制御文字 (^i) を指定する.例えば , を タブに変えるなら
 M-%
で
 , with C-i
C-i は文字コード表の  ^i

* Mplayerマニュアル [#lf0ea239]
[[Mplayerマニュアル:http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html]] [#u825d3be]
* Subversion について [#dbcb72e6]

[[よいページ:http://www.nulab.co.jp/kousei/chapter2/01.html]]を見つけた. 
 

* [[Gutsy_eps_文字化け]] [#ie67489c]

* [[Anthy辞書追加]] [#da3ae620]

* 文字コードを一括して変える [#ebe6cc68]

Shift-Jis から UTF-8 に
 find . -name "*.txt" -print0 | xargs -0 nkf -Sw -Lu --overwrite
EUC-JPからの場合は-Ewで.

UTF-8 からShift-Jis から
 find . -name "*.txt" -print0 | xargs -0 nkf -Ws -Lw --overwrite

こんな方法も
 sed -i 's/Shift_JIS/utf-8/g' `grep -irl Shift_JIS .` \
    nkf -Sw -Lu --overwrite *.html


nkf オプションは以下の通り
 -e 結果をEUC-JPで出力
 -j 結果をISO-2022-JPで出力
 -s 結果をShift-JISで出力
例: 改行コードの変換
 nkf -Lu hoge.txt > huga.txt  # mac & win -> unix
 nkf -Lm hoge.txt > huga.txt  #   unix    -> mac
 nkf -Lu hoge.txt > huga.txt  #   unix    -> win

* ファイル名,文字コードを一括して変える [#ld62b069]
拡張子を変える場合
 for nm in *.euc; do
 > mv $nm ${nm%.euc}.txt;
 > done
拡張子の前を変える場合
 $ for nm in temp*; do
 > mv $nm HOGE${nm#tr};
 > done

* [[CMS>PE_CMS]] [#jb845719]

* apt コマンド [#ea7b3970]

 /etc/apt/sources.list
 apt-getのパッケージ情報取得先が書かれている
 
 apt-cache search [...] パッケージを探す

 apt-cache show [...]パッケージの詳細を見る
 
 apt-get install [...] パッケージをインストールする
 
 apt-get update パッケージの更新情報を得る
  
 apt-get upgrade インストールされているパッケージの更新を行う



[[旧メモ>LinuxFromOldHtml]]を移植の予定。

* Ubuntu でフィルタリングせずに文字変換を行うプログラムは recode だそうな. [#qc7a5780]
 recode EUC-JP..UTF-8 target.txt




* 強制終了 [#xbf44e87]
ターミナルで xkill として,当該のウィンドウを左クリック

* Emacs でディレクトリ作成 [#a012ad92]
 Use C-u M-x make-directory RET RET 
 to create directory and its parents

*[[Ghostscript関係]] [#h0cbbc8c]

*[[和布蕪他インストール]] Ubuntu [#v27cb126]

*[[フォントの設定hidden_Ubuntu7.10_fontの設定>hidden_Ubuntu7.10_fontの設定]] [#xde4bb0f]
- 8.10 の場合は[[ここ:http://ikeike.homelinux.net/modx/font_ubuntu_2.html]]が詳しい.

* 小技 ssh-agent [#n432fae9]
 $ eval `ssh-agent -s`;ssh-add ~/.ssh/id_rsa    # 開始
 $ eval `ssh-agent -k`  # 終了

参考 http://www.his.kanazawa-it.ac.jp/~idurumi/linux/ssh/index.html

 ~/.bash_profile
 $ cat << END >> ~/.bash_profile
 # start ssh-agent
 if [ -z "${SSH_AGENT_PID}" ] ; then
     eval `ssh-agent -s`
     ssh-add ~/.ssh/id_rsa
     export SSH_AGENT_TTY=`tty`
 fi
 END

 ~/.bash_logout
 $ cat << END >> ~/.bash_logout
 # stop ssh-agent
 if [ ! -z "${SSH_AGENT_TTY}" ] ; then
     TTY=`tty`
     if [ x$TTY = x${SSH_AGENT_TTY} ] ; then
         eval `ssh-agent -k`
         unset SSH_AGENT_TTY
     fi
 fi
 END

* svn サーバー [#o7652147]
 2008 01 25
 /etc/group
を編集し /usr/local/ubuntu 以下を chgrp -R svn で変更

* subversion の使い方 [#c31098b3]
http://ja.wikipedia.org/wiki/Subversion]]
や
http://www.gfd-dennou.org/library/cc-env/subversion/
や
http://d.hatena.ne.jp/gan2/20070704/1183553892
も
参考になる.
- レポジトリを作成するディレクトリを用意したら
 sudo mkdir /usr/local/ubuntu
 chown hoge:hoge /usr/local/ubunutu
(アクセスするのが hoge だけなら)
とりあえずは,サーバー側 192.168.0.1 で
 svnadmin create /usr/local/ubuntu/hoge
と実行しておく.
クライアント側では hoge ディレクトリ内に
 trunk
 branches
 tags
の三つのディレクトリを掘っておき,その trunk 内に管理ファイルを保存.

 svn import -m "from AMD" /home/usr/hoge
   svn+ssh://192.168.0.1/usr/local/ubuntu/hoge
でインポートし,
 svn checkout  svn+ssh://192.168.0.1/usr/local/ubuntu/hoge/trunk hoge
とするのが正しい流儀のよう...
http://subversion.bluegate.org/doc/ch01s07.html 

- レポジトリを削除するのは
 svnadmin rmtxns hoge
と言うコマンドもあるようだが,単に
 rm /usr/local/ubuntu/hoge
で良い模様.
svn: Failed to add directory 'foo': object of the same name is already scheduled for addition のようなエラーに遭遇したら,
 $ svn revert foo
 $ svn update

svn+sshするときにサーバーによってポートが違う場合、どう設定していいかわからなかった。
調べてみたら

 sshトンネルを使う場合のポート番号指定方法 
http://d.hatena.ne.jp/mir/20070621/p2
 ~/.subvertion/configに
 [tunnnels]
 ssh_hoge = ssh -p 8888
して
 svn co svn +ssh_hoge://hostname/svn/hogehoge

キーを切り替えたい場合は
 [tunnnels]
 ssh_hoge = ssh -i /home/name/.ssh/id_dsa_hoge


追加
 svn import -m "from Tex/research/papers/p2007"  
        /home/ishida/research/ Tex/papers/p2007/  
       svn+ssh://150.59.60.47/usr/local/ubuntu/ research/p2007
  svn checkout svn+ssh://150.59.60.47/usr/local/ubuntu/   
        research/p2007/trunk p2007
コンフリクトを起こしたら,次のいずれかを実行して
--「手で」 (ファイル中の競合マーカを調べ編集して) 競合テキストをマージ
-- 作業ファイルに、一時ファイルのどれかを上書き
-- svn revert <filename> を 実行して、ローカルでしたすべての変更を捨てる
その上で,次を実行
 svn resolved target.txt


* ライブラリを新規追加したら [#afd0518a]
例えば mecab をインストールしたら

 sudo ldconfig

を実行し,/usr/local/lib に新たに追加されたライブラリを登録しなければいけない.
 

* ライブラリのリンクを確認する方法 [#b074446f]

 [ishida@amd64 chasen]$ ldd /usr/local/lib/libchasen.so | grep
  libstdc++
 libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aaaaad9b000)

Mac で ldd するときは otool -L hoge。 disassemble するときは otool -t -v -V hoge。

* ssh を使うためのホームのパーミッション 755 以下だった. [#yc53ebe4]

* ファイル構成 2007 11 08 [#jf044bd9]
 $ df
 Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
 /dev/sdb1            234410816  21635248 200868192  10% /
 varrun                 1032688       128   1032560   1% /var/run
 varlock                1032688         0   1032688   0% /var/lock
 udev                   1032688       100   1032588   1% /dev
 devshm                 1032688         0   1032688   0% /dev/shm
 lrm                    1032688     34696    997992   4% /lib/modules/
        2.6.22-14-generic/volatile