Linuxの備忘録
便利なサイト 見つけた
pdf が標準ビューワーで文字化けしたので
$ sudo apt-get install php5-ldap $ sudo /etc/init.d/apache2 restart
https://answers.launchpad.net/ubuntu/+source/ifupdown/+question/3631
I have found the answer on http://www.opendns.com/start/unix.php just now:
quote> Using OpenDNS with DHCP
If you assign your computer's IP with DHCP, it probably overwrites your /etc/resolv.conf. Here's how to fix that:
1. Run: sudo gedit /etc/dhcp3/dhclient.conf 2. Change the prepend line to read:
prepend domain-name-servers 208.67.222.222, 208.67.220.220;
This will prepend the OpenDNS addresses to the top of the list. (You can also use "supersede", which will just use them.) You don't have to worry about the DHCP client overwriting settings on each reboot or lease cycle, and your ISP nameservers will still be used as backup.
3. Run: sudo /etc/init.d/networking restart 4. Using Ubuntu? Check "Networking" to see if the changes applied correctly.
Go to "System –> Administration –> Networking" and click the DNS tab.
/quote>
[ ウィンドウズ key (SuperL, Mod4) ] + [ e ] で複数のデストップの縮小版を表示しての切り替え
[ ctrl ] + [ alt ] + [十字キー ] でデスクトップ切り替え
日本語セットアッパでsciim-bridgeだけ追加
システム管理 言語サポートで 入力システムは iiimf
これで Emacs で Atok x3 インライン入力 できている
ここが参考になるかも
ここ と同じ現象
下記urlからパッチをダウンロードして、windowsのCフォルダ内のwubildrファイルと入れ替えするだけです。 http://launchpadlibrarian.net/36920146/wubildr (参考 https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/477104の#93のリンクから https://answers.edge.launchpad.net/ubuntu/+source/grub2/+question/91579 に移動してこのページ内にパッチが置いてありました。
で 2010 02 28
$ sudo apt-get install build-essential xorg-dev gfortran libreadline6-dev libxml2-dev libjpeg62-dev libpaper-dev libpng12-dev flex bison xaw3dg-dev libxp-dev autoconf subversion $ sudo apt-get install emacs22 ess libmotif-dev $ sudo apt-get install cmap-adobe-japan1 gs-cjk-resource $ wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - $ wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - $ sudo wget https://www.ubuntulinux.jp/sources.list.d/karmic.list -O /etc/apt/sources.list.d/ubuntu-ja.list $ sudo apt-get update $ sudo apt-get upgrade
64-bitの場合
sudo apt-get install build-essential xorg-dev gfortran libreadline6-dev libxml2-dev libjpeg62-dev libpaper-dev libpng12-dev flex bison xaw3dg-dev libxp-dev libmotif-dev lesstif2-dev autoconf subversion
$ sudo dpkg --force-architecture -i AdbeRdr9.3-1_i386linux_jpn.deb
$ sudo apt-get install nspluginwrapper
$ nspluginwrapper -i /opt/Adobe/Reader8/Browser/intellinux/nppdf.so
$ sudo apt-get install cmap-adobe-japan1 gs-cjk-resource
T-Codeが利用可能になっている
/.subversion/config に以下を追加.
ssh = $SVN_SSH ssh -q
/.bashrc にも以下を追加
export SVN_SSH='ssh -q'
# httpd -t Syntax OK
$ apachectl configtest Syntax OK
Apache の起動時に次のような警告である.
PHP Warning: Module 'curl' already loaded in Unknown on line 0 PHP Warning: Module 'gd' already loaded in Unknown on line 0 PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0
調べると,自動的にロードされるモジュールを,php.ini で再ロードしていたらしい.
$ php --ini Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/curl.ini, /etc/php5/cli/conf.d/gd.ini, /etc/php5/cli/conf.d/mcrypt.ini, /etc/php5/cli/conf.d/mysql.ini, /etc/php5/cli/conf.d/mysqli.ini, /etc/php5/cli/conf.d/pdo.ini, /etc/php5/cli/conf.d/pdo_mysql.ini
これは cli の設定だが,/etc/php5/conf.d にも同じ設定ファイルがある.
以下をコメントアウト
$ sudo vi /etc/php5/apache2/php.ini
; extension_dir directive above. #extension=gd.so #extension=mcrypt.so #extension=curl.so extension=apc.so
$ sudo /etc/init.d/apache2 restart
ちなみに
$ php -m
でモジュール一覧
$ php -m -n
で*.iniを使わないときのモジュール
$ php --ini
がどの*.iniを見てるか
ここなど参考に
Ubuntu9.10 で /etc/hostname を変更したら,ネットワークが機能しなくなった.いったん hostname を空白にして再起動し,もう一度新規のホスト名を設定して再起動したらネットワークが復活した.
ここなど参考になる.
rm -- -file
Linux で作成した秘密鍵をWindowsで使う Windows クライアントに転送された秘密鍵をPuTTY が読み込むことができる形式に変換するために PuTTYgen を利用。 puttygen.exe を起動して Load ボタンを押す。 [ ファイルを開くダイアログ ] でファイルの種類を [ All Files (*.*) ] に変更して Linux サーバから転送した秘密鍵 id_rsa を読み込み。そしてsaveする。
セッションの登録は、上のサーバを指定後、下のセッション一覧に適当名前を設定して保存。
ここに情報.非常に便利
~/.gvfs/disk@192.168.0.***/R/ISM/
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
mods-available/userdir.conf に
UserDir public_html UserDir disabled root AliasMatch ^/([a-zA-Z0-9]+)/?(.*) /home/$1/public_html/$2
$ sysv-rc-conf --list | grep postfix $ sudo sysv-rc-conf postfix on
$ sudo shutdown -h +x
時間指定でシャットダウン
$ sudo shutdown -h hh:mm
日付指定でシャットダウン 2009年9月20日10時00分
$ sudo shutdown -h 0909201000
いまカレントディレクトリが test で,その下にさらに test2 ディレクトリがあり,この test2 ディレクトリをまとめて圧縮したいとする.
$tar cfz file.tar.gz -C/home/rmecab/tmp/test test2
ここで -C はディレクトリを変更して実行するの意味である.上の実行例で間のスペースは重要.こうしないと,
tar: Removing leading `/' from member names
という警告が出る上,圧縮ファイルは,最初のディレクトリ test のなかに test2 ディレクトリがあり,そしてその中身が含まれるという入れ子状態で保存されてしまう.
ここから引用
シェルスクリプトの最後にOSをshutdownさせようと考えた場合、sudoのパスワード入力がとても邪魔です。一回、sudoで何かを起動し、パスワードを入力してしまえば、その後のパスワード入力は必要なくなりますが、常に同じ条件でshutdown出来ないのでは、安心してシェルスクリプトも動かせません。そんな訳で、sudoをパスワード無しで使用する為の設定をします。
☆ファイル編集 visudoの使い方は・・・ ぶっちゃけ、保存([Ctrl]+[O])と終了([Ctrl]+[X])だけ使えれば問題ない気がする。
[アプリケーション]→[アクセサリ]→[端末]を起動。 sudo visudo
最終行に追記 hogehoge ALL=NOPASSWD: ALL
設定が終わったら、ファイルを保存して終了 OS再起動後、再び端末を起動し、sudoコマンドを確認。 sudo gedit とか。パスワード無しでエディタが起動すれば、設定完了。
ここ 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の設定をクリアするため、明示的に設定を書き加える必要がある)
/etc/modprobe.d/aliases
ではなく
/etc/sysctl.conf
に
net.ipv6.all.disable_ipv6=1
を追記
about:config network.dns.disableIPv6=true
$ 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
#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
$ echo -n "記号" | iconv -t UCS-2 | hexdump 0000000 8a18 53f7
$ echo -n '記号' | hexdump -C 00000000 e8 a8 98 e5 8f b7C オプションを付けないと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
文字コードについては,さらにここを参照のこと.
sudo -s
Ubuntu ではroot に慣れないと思っていた. ここのサイト など役に立つ
$ echo -n 'himitsu' | md5sum f1a0e73e5d7fc293952d380e32fda73c -
$adminpass = '{x-php-md5}f1a0e73e5d7fc293952d380e32fda73c'; // md5('himitsu')
$adminpass = '{x-php-md5}' . md5('himitsu');
でもよい.
/etc/shellsに /sbin/nologin が記載されている場合
/bin/false FTP→拒否 SSH→拒否 /sbin/nologin FTP→可能 SSH→拒否
ffmpeg -i in.flv -vn -ac 2 -ab 160000 -ar 44100 out.mp2
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'を指定すると元ファイルに手を加えない)
https://wiki.ubuntulinux.jp/UbuntuTips/Application/ffmpegとコーデックをソースからビルドするには に情報有り
ここを参考に.
play_format="avi" # output format path_player="/usr/bin/mplayer %i" # player used path_ffmpeg="/usr/bin/ffmpeg -y %i %o" # encoder used
動画の簡単な編集ができる. 切り取りは右メニューの Trim を選び,開始点と終着点を指定し, その上で右メニューの下,Export を指定.ここで形式を指定するが,mpeg が選択できない場合は,ウィンドウ下のライブラリをあらかじめ追加しておく.
grep word /home/user/*
あるいは「一致したファイル名」と「一致した一行」の両方を出力
find /home/name -print | xargs grep word /dev/null
cronで
/usr/bin/php-cli -f /home/myhome/cron.php 1> /dev/null
を実行しようとしたら,コマンド版PHP が入っていなかった. (-f は省いてもいいらしい.)
sudo apt-get install php5-cli
でいいのだが,ちょっとペンディング.
大きすぎるので調整
[システム] - [設定] - [サウンド]
からサウンドタブ
[システム] - [システム管理] - [ログイン画面]
からアクセシビリティタブの効果音でオンオフを切り替え 画面右上のスピーカーのアイコンを左クリックして調節した音量は、ログイン時の効果音には反映されない。音の大きさ自体は画面右上のスピーカーのアイコンを右クリックし「音量調節ツールを開く」を選択して調節
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
Network Upgrade for Ubuntu Servers (Recommended)
# dpkg –list | grep update-manager-core# インストールの確認 sudo apt-get install update-manager-core#インストール
これは必要か?
sudo do-release-upgrade
# 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
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 .
Ubuntu_keyboard ここに表を作成?
同僚から,._ で始まるディレクトリをまとめて消すのに
% sudo find /home -name "._*" -print -exec rm -f {} \;
が使えるかと聞かれた.使えるだろうけど,-exec は検索のたびに,指定のコマンドをいちいち実行するので,-xargs を使って検索結果をまとめて渡した方が良いでしょう.
$ sudo find . -name '._*' -print0 | xargs -0 -r rm -rf
findの出力がヌル文字(0×00、別の表現をすると”\0″)で区切られて出力されます。また、xargsも引数がヌル文字で区切られているものとして処理を行います。その結果、空白文字を含んだファイル名も正常に処理できます。
しかし,私自身は怖くてできないな.xargs をグーグったら,こんなページがあった.またこんなファイル shell2.txt もみつけた.再配布OKらしい.
ついでなので,つらつら検索していたら,こんな記事もあった.ちょっと引用する.
コマンドを一度に起動する (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 を変更せにゃならん.
# 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 だ. レポジトリ作り直しかと思ったら,次のような記事があった.以下引用する.
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を直下に含むレポジトリ)に入って,いちいち実行する必要があるらしい.その旨もスクリプトに書く.
一括削除するには mailx を使うと思っていたが,
$ mail & d 1-243
で一括削除できた.どっちかがどっちかのエイリアスなのかな?
各エントリ最後に/dev/nullを書き忘れていたので,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
を設定
*/5 * * * * /home/myhome/MoodleCron.sh 1>/dev/null
を2009 04 15 ishidaアカウントで
00 10 * * 110分ごとに実行する場合
*/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設定の前に以下の行を入力してメールをとばす,とばさないを選択できる.ここから引用
MAILTO=""
これでメールは飛ばなくなり,逆に複数のアドレスに飛ばしたいときは、カンマ区切りで複数メールアドレスを指定. この $MAILTO 変数は、デフォルトのメールアドレスを上書きする
ただし、上記は/etc/crontab自体を変更した場合と同じく、実行するアカウントのcron設定すべての宛先に反映される。特定のスケジュールのみを宛先変更させたい場合には、次のように指定すればよい。
# crontab -e
0 2 * * * /bin/sh /etc/hogehoge 2>&1 | Mail [送信先メールアドレス]
#!/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"
// -*- Mode:ObjC; c-basic-offset:4; tab-width:8; indent-tabs-mode:nil -*-
をソースに加えるといいという話があった。
bzip2 -dc filename | tar xvf -
tar cvf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvf sample.tar sample
tar cvZf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvZf sample.tar.Z sample
tar cvzf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvzf sample.tar.gz sample
tar cvjf [アーカイブファイル名] [ディレクトリ・ファイル名] 例:tar cvjf sample.tar.bz2 sample
tar xvf [アーカイブファイル名] 例:tar xvf sample.tar
tar xvZf [アーカイブファイル名] [格納するディレクトリ・ファイル名] 例:tar xvZf sample.tar.Z
tar xvzf [アーカイブファイル名] 例:tar xvzf sample.tar.gz
tar xvjf [アーカイブファイル名] 例:tar xvjf sample.tar.bz2
tar tvf [アーカイブファイル名] 例:tar tvf sample.tar
tar rvf [アーカイブファイル名] [追加ファイル名] 例:tar rvf sample.tar hoge4.txt
tar xvf [アーカイブファイル名] [取り出したいファイル名]
... 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) を設定しています ...
ImageMagic?のconvertで画像を変換する際 eps2: オプションを指定しないと画像が巨大化してしまう
$ convert orig.png eps2:orig2.eps
XPにインストールしたVMware上のUbuntuでマウスのホイールが効かなかったので以下のように修正した
$ sudo vi /etc/X11/xorg.conf Option "Protocol" "ImPS/2" # ps/2から修正 Option "ZAxisMapping" "4 5" # これはもともと記載あり
新規に作成したら ホームの .subversion/config に
ssh = ssh -i /home/ishida/.ssh/id_rsa
を忘れず追加すること.
apt-get update を失敗したまま放っておくと,Synaptic でレポジトリの変更が出来ないなどの不具合が生じるので,とりあえずこのコマンドを実行しておく.
でも(自宅がそうなのだが),Ubuntuのカーネルがアップグレードが行われた場合は Ubuntu 上で [#j02bcad3]
ishida@ubuntu-vm:~$ sudo /usr/bin/vmware-config-tools.pl
が必要らしい.
\C-u \C-s . 置換の場合はM-x replace-regexp.
Emacs では C-q C-* で * のところに文字コード表での制御文字 (^i) を指定する.例えば , を タブに変えるなら
M-%
で
, with C-i
C-i は文字コード表の ^i
Mplayerマニュアル [#u825d3be]
よいページを見つけた.
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
拡張子を変える場合
for nm in *.euc; do > mv $nm ${nm%.euc}.txt; > done
拡張子の前を変える場合
$ for nm in temp*; do > mv $nm HOGE${nm#tr}; > done
/etc/apt/sources.list apt-getのパッケージ情報取得先が書かれている apt-cache search [...] パッケージを探す
apt-cache show [...]パッケージの詳細を見る apt-get install [...] パッケージをインストールする apt-get update パッケージの更新情報を得る apt-get upgrade インストールされているパッケージの更新を行う
旧メモを移植の予定。
recode EUC-JP..UTF-8 target.txt
ターミナルで xkill として,当該のウィンドウを左クリック
Use C-u M-x make-directory RET RET to create directory and its parents
$ 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
2008 01 25 /etc/group
を編集し /usr/local/ubuntu 以下を chgrp -R svn で変更
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 resolved target.txt
例えば mecab をインストールしたら
sudo ldconfig
を実行し,/usr/local/lib に新たに追加されたライブラリを登録しなければいけない.
[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。
$ 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