Linuxの備忘録 のバックアップ差分(No.49) - アールメカブ

アールメカブ


Linuxの備忘録 のバックアップ差分(No.49)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
Linuxの備忘録   

[[PE_CMS]] 

[[PE_CMS2再構築>hidden_PE_CMS2再構築]]

[[Sakura>hidden_SakuraServer_Pukiwiki]]

[[Moodle]]

#contents

* PHPの正規表現 [#s506af62]
[[ここ:http://pha22.net/text/twitterbot.html]]など参考になる.

* ハイフンで始まるファイルを消す [#z08a01ed]
 rm -- -file

*putty [#lb60a1c3]
Linux で作成した秘密鍵をWindowsで使う
Windows クライアントに転送された秘密鍵をPuTTY が読み込むことができる形式に変換するために PuTTYgen を利用。 puttygen.exe を起動して Load ボタンを押す。
[ ファイルを開くダイアログ ] でファイルの種類を [ All Files (*.*) ] に変更して Linux サーバから転送した秘密鍵 id_rsa を読み込み。そしてsaveする。

セッションの登録は、上のサーバを指定後、下のセッション一覧に適当名前を設定して保存。


* MeCab コマンドラインまとめ [#l805a144]

[[ここ:http://www.mwsoft.jp/programming/munou/mecab_command.html]]に情報.非常に便利

* ネットワーク越しにファイルを開く [#pb0761dc]

 ~/.gvfs/disk@192.168.0.***/R/ISM/


* [[memcahched:http://code.google.com/p/apns4j/]] [#g1f82253]


* 丸ごとバックアップ [#ada77269]
sbackup(Simple Backup) を使うか,あるいは
パーティション構造まるごと復元.

LiveCDで起動し

 $ dd of=/media/hdd-1/image.dd if=/dev/sda
 $ dmesg # エラーがなかった確認

復元は

 $dd if=/media/hdd-1/image.dd of=/dev/sda


* Apache チルダ無し(有り)アクセス [#a5fa3061]
mods-available/userdir.conf に
       UserDir public_html
        UserDir disabled root
 
 AliasMatch ^/([a-zA-Z0-9]+)/?(.*) /home/$1/public_html/$2

* Ubuntu でのサービス管理 [#kbcd5841]

 $ sysv-rc-conf --list | grep postfix
 $ sudo sysv-rc-conf postfix on

* x分後にシャットダウンさせる [#b9967164]

 $ sudo shutdown -h +x

時間指定でシャットダウン

 $ sudo shutdown -h hh:mm

日付指定でシャットダウン 2009年9月20日10時00分

 $ sudo shutdown -h 0909201000

* CMS Moodle バックアップ [#x4501a73]
- [[hidden_MoodleBackUp]]


* tar 再考 [#n9372f34]

いまカレントディレクトリが test で,その下にさらに test2 ディレクトリがあり,この test2 ディレクトリをまとめて圧縮したいとする.

 $tar  cfz  file.tar.gz   -C/home/rmecab/tmp/test  test2

ここで -C はディレクトリを変更して実行するの意味である.上の実行例で間のスペースは重要.こうしないと,

 tar: Removing leading `/' from member names

という警告が出る上,圧縮ファイルは,最初のディレクトリ test のなかに test2 ディレクトリがあり,そしてその中身が含まれるという入れ子状態で保存されてしまう.


* パスワード無しでsudoする(Ubuntu) [#c43e0036]

[[ここ:http://noichigo.moe.hm/~diary2/index.php?e=455&PHPSESSID=d133755e864a6cfc5b5db85d0318a25a]]から引用

>
シェルスクリプトの最後にOSをshutdownさせようと考えた場合、sudoのパスワード入力がとても邪魔です。一回、sudoで何かを起動し、パスワードを入力してしまえば、その後のパスワード入力は必要なくなりますが、常に同じ条件でshutdown出来ないのでは、安心してシェルスクリプトも動かせません。そんな訳で、sudoをパスワード無しで使用する為の設定をします。
<

> 
☆ファイル編集
visudoの使い方は・・・
ぶっちゃけ、保存([Ctrl]+[O])と終了([Ctrl]+[X])だけ使えれば問題ない気がする。
<

>
[アプリケーション]→[アクセサリ]→[端末]を起動。
sudo visudo
<

>
最終行に追記
hogehoge ALL=NOPASSWD: ALL
<

>
設定が終わったら、ファイルを保存して終了
OS再起動後、再び端末を起動し、sudoコマンドを確認。
sudo gedit
とか。パスワード無しでエディタが起動すれば、設定完了。
<




// Order deny,allow
//deny from 219.61.218.126

* [[PHP_CGIとモジュールの違い>hidden_PHP_CGIとモジュールの違い]] [#sbf34e9b]

* NetworManger と IPv6を無効化. [#u9a76e78]
[[ここ:http://netlog.jpn.org/r271-635/2009/06/ubuntu_81networkmanager.html]]
sysv-rc-confを起動して、NetworkManager (画面上ではNetworkMa$と表示されている) が全てのランレベルで起動しないように『チェックを外す』。
# sysv-rc-conf
eth0用の定義を追加する。書式は man -S 5 interfaces で閲覧可能

 install ipv6 /sbin/modprobe -n -i ipv6

DHCPからアドレスの割り振りを受ける場合は、『iface eth0 inet dhcp』とする。

そして、DNS設定を追記する。(NetworkManagerは、その終了時にresolv.confの設定をクリアするため、明示的に設定を書き加える必要がある)


- Ubuntu Firefox で Ipv6 を無効化

 /etc/modprobe.d/aliases 
ではなく
 /etc/sysctl.conf
に
 net.ipv6.all.disable_ipv6=1
を追記
 about:config
 network.dns.disableIPv6=true

- apcキャッシュでPHPを高速化する 2009 09 05

 $ sudo apt-get update
 $ sudo apt-get install php5-dev
 $ sudo apt-get install php-pear
 $ sudo apt-get install apache2-threaded-dev
 $ sudo pecl install apc 
 # ただ Enter すればよい

/etc/php5/apache2/php.iniに
 extension=apc.so 
を追加して設定ファイルを確認し

 $ apache2ctl configtest
 $ sudo /etc/init.d/apache2 restart

- [[Moodle高速化]]
 
my.cnf 
 #query_cache_limit       = 1M
 query_cache_limit       = 2M
 #query_cache_size        = 16M
 query_cache_size        = 36M

 sudo /etc/init.d/mysql restart

MySQL のログは syslog に記録される

php.ini
 ;memory_limit = 16M 
 memory_limit = 40M 


-[[Macの備忘録]]

-[[PE_CMS再構築>hidden_PE_CMS2再構築]]

-[[Subversionレポジトリのバックアップ>hidden_Subversion_Dump]]
-------------

- [[Medibuntu]]

- 文字コードの確認.ユニコード (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

文字コードについては,さらに[[ここ>UTF]]を参照のこと.

- [[IDRとサブネットマスク]]

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

Ubuntu ではroot に慣れないと思っていた.
//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の備忘録]]

* md5 [#ob311e98]
 
 $ echo -n 'himitsu' | md5sum 
 f1a0e73e5d7fc293952d380e32fda73c -

 $adminpass = '{x-php-md5}f1a0e73e5d7fc293952d380e32fda73c'; // md5('himitsu')

 $adminpass = '{x-php-md5}' . md5('himitsu');

でもよい.

* /bin/false /sbin/nologin の違い [#ne79da0c]

/etc/shellsに /sbin/nologin が記載されている場合

 /bin/false   FTP→拒否 SSH→拒否
 /sbin/nologin  FTP→可能 SSH→拒否

* [[VMplayer_on_9.04]] [#ve1d0fff]

* [[iMac_設定]] [#icf005cb]
* ffmpeg [#x3597d80]

  ffmpeg -i in.flv -vn -ac 2 -ab 160000 -ar 44100 out.mp2

[[あるいは:http://d.hatena.ne.jp/ikki_j/20080117/1200581881]]

 ffmpeg -y -i foo.flv -acodec copy foo.mp3

 -vn 映像を出力しない
 -ac 2 Stereo
 -ab ビットレートをbit/sで指定
 -ar 音声のサンプリングレートをHzで指定

このほかのオプション

メイン オプション:
 -L         ライセンスを表示
 -h         ヘルプを表示
 -formats      現在使用できるフォーマット、コーデック、
                     プロト コルを表示
 -f fmt       フォーマットを指定
               (fmtの部分に-formatsで調べたフォーマット名が入る)
 -img img_fmt    画像のフォーマットを指定(img_fmtの部分に 
                              -formatsで調べたフォーマット名が入る)
 -i filename     入力ファイルを指定
 -y         出力先に同名のファイルがあった場合上書
 -t duration     出来上がるファイルの時間を指定する
         (durationの部分に10と入れれば10秒の部分までしか記録しない)

映像のオプション:
 -b bitrate     ビットレートをkbit/sで指定
 -aspect aspect   アスペクト比を指定(4:3, 16:9 or 1.3333, 
                        1.7777)
 -vn         映像を出力しない
 -bt tolerance    ビットレートの許容誤差をkbit/sで指定
 -vcodec codec    codecの部分に-formatsで調べたコーデックを指定
                  ('copy'を指定すると元ファイルに手を加えない)
 -sameq       元のファイルと同じビデオ品質を使用します。
                (暗黙のうちにVBRになることもある)
 -pass n       何パスでエンコードするかを指定します。
                (1か2を指定)
 -passlogfile file  2パスでエンコードした時のログファイル名を指定

音声のオプション:
 -ab bitrate     音声のビットレートを(k)bit/sで指定
 -ar rate      音声のサンプリングレートをHzで指定
 -ac channels    音声のチャンネル数を指定
 -an         音声を出力しない
 -acodec codec    codecの部分に-formatsで調べた音声のコーデックを指定
                     ('copy'を指定すると元ファイルに手を加えない)

* mp3 の作成 [#o4543f2a]
https://wiki.ubuntulinux.jp/UbuntuTips/Application/ffmpegとコーデックをソースからビルドするには に情報有り
*clive [#se2d7624]
[[ここ:http://sourceforge.jp/magazine/08/05/08/0226259]]を参考に.
-clive は、YouTube、Google Video、Metacafeといったサイトに保存されている動画を抜き出すためのソフトウェアだ。使い方は簡単で、「clive 動画URL」とするだけでよい。すると、指定したURLからFLVファイルがダウンロードされ、その結果がデフォルトではMP4形式に変換される。便利な使い方として、保存したい動画へのリンクを記したテキストファイルを作成し、パイプを使ってそのファイルをcliveに渡すという方法がある。具体的には、テキストファイルにURLを1行ずつ記述して「cat video.list | clive」とすればよい。
- cliveでは、FFmpegを使って動画ファイルを別のフォーマットにエンコードしなおすこともできる。ネット上の動画からAVIファイルの作成を一気に行うには、「clive --ffmpeg="/usr/bin/ffmpeg -y -i %i %o" --reencode=avi 動画URL 」とする。FFmpegは出力ファイルの上書きを行うことで、指定のURLを入力として最終的にAVIファイルを生成する。動画の変換用にあらかじめ定義しておいた設定を使いたければ、「~/.clive/config」を編集することによってデフォルト設定を好きなように変更できる。以下は、このファイルの設定例である。
 play_format="avi" # output format
 path_player="/usr/bin/mplayer %i" # player used
 path_ffmpeg="/usr/bin/ffmpeg -y %i %o" # encoder used
- ご覧のように、cliveではMPlayerやVLCを使ったファイルの再生も可能だ。 
-似たようなツールとして youtube-dl がある。これは、ファイル形式を変換せずにYouTube動画をダウンロードするスクリプトだ。動画共有サイトのFLVファイルを保存するには、ターミナルを開いて「youtube-dl」のあとに続けて動画のURLを入力すればよい。また、YouTube Downloader GUIというyoutube-dl用のGUIも存在する。このKommanderスクリプトを実行すると、KDialogによるポップアップ・ウィンドウが開き、ダウンロードしたいオンライン動画へのリンクをそこに貼り付けることができる。QtTubeというGUIも、同じくらい簡単に使える。動画へのリンクを貼り付けると、youtube-dlを使って動画ファイルがダウンロードされる。 

* kino [#fc88f09a]
動画の簡単な編集ができる.
切り取りは右メニューの Trim を選び,開始点と終着点を指定し,
その上で右メニューの下,Export を指定.ここで形式を指定するが,mpeg が選択できない場合は,ウィンドウ下のライブラリをあらかじめ追加しておく.

* ディレクトリ内のファイルから「word」を含むファイルを検索 [#wdce2a9a]
 grep word /home/user/*
あるいは「一致したファイル名」と「一致した一行」の両方を出力
 find /home/name -print | xargs grep word /dev/null 

*[[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 &#8211;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