sysv-rc-conf というのがある。
コマンドがみつからない場合は、以下をを実行してインストールする。
$ sudo apt-get install sysv-rc-conf
ある php スクリプトを走らせるのにロケールを ja_JP.utf8 に設定しないとうまくいかないことがあったので、設定しようと
$ locale -a C POSIX
と、 C と POSIX しかないので、 localedef コマンドを使って追加する。
$ sudo localedef -f UTF-8 -i ja_JP ja_JP.utf8
開発を行っていて、 IDE などの設定の個人差により、インデントに使われているホワイトスペースとタブが混在して Diff で差分チェックするのが困難な場合があるが、そんな時は、 svn diff --ignore-eol-style オプションを付ける事で回避できる。
$ svn diff -x --ignore-eol-style file_name
毎回新しいプロジェクトを作成するたびに SVN Ignore の方法を忘れているのでメモ。
propedit で svn:ignore プロパティの値を変更してやればいい。例えば、 . ディレクトリの .project ファイルを無視リストに追加したい場合は以下のコマンドを実行する。
$ svn propedit svn:ignore .
そして開かれたファイルに .project を追加する。
最近 Mac 上で darwin port を使ったパッケージ管理に嫌気を感じ、全部コンパイルしてインストールし始めてみた。今の Macbook は Core 2 なので、せっかくだから i386 と x86_64 両方の architecture に対応したライブラリを作ってみた。
作ってみたというよりは、実際過去に i386 でコンパイルした物があり、それにリンクしているライブラリが x86_64 をインストールしたことで動かなくなったので、やらざるをえなかったわけだけど。
例としてここでは openssl-0.9.8o をインストールしてみる。コンパイラは gcc-4.5.1 を使用。
exim4 は ubuntu の標準 MTA の様で、設定ファイルは /etc/exim4/ 配下にあるんだけど、基本的にまた一から新しい MTA の設定を覚えたいとは思わない。
そんな時調べていたら、というか検索したら便利なコマンドがみつかったのでメモ。
基本的には以下のコマンドを叩いて後はインタラクティブな質問に答えていけば良い。
$ sudo dpkg-reconfigure exim4-config
SVN 作業時に、 svn サーバーの URL が変更になった際に、ローカルのレポジトリコピーを新しい場所に移動するには、以下のコマンドで行います。
svn switch --relocate {old URL} {new URL}
SVN で特定の branch を元の trunk に戻すには以下のコマンドを実行する。
$ svn merge --reintegrate svn://repo.domain/repo.dir/path/to/branch /path/to/working_copy
reintegrate オプションは subversion 1.4 からサポートされている。うちの環境が 1.3 だったので 1.5 にあげたんだけど、エラーが消えずにはまりかけたんだけど、 repository 自体のバージョンもあげないとだめだったらしい。
$ svnadmin upgrade /path/to/repo_dir
デジタルビデオの映像を DVD に焼いてもらったので、それをファイルに抽出した時のメモ。
手軽に使えるフリーソフトも存在するみたいですが、見つけられなかったので mplayer でやりました。
まず mplayer のインストール。 darwin ports で。
$ sudo port install mplayer
そして mencoder 。以下がその時のコマンド。
$ mencoder dvd://1 \ -ss 00:00:03 -endpos 00:00:48 \ -aspect 4:3 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=9800 \ -vf crop=640:480:0:0 -oac mp3lame -lameopts abr:br=96:vol=9 -o mazatlan05-visit.avi;
dvd:// でデバイス ID を指定
-ss はトリミングしたい場合にスタートポジションを指定
-endpos で同様にエンディングポジションを指定。実際はポジションではなく、スターティングからの時間(例の場合は 3 秒目から 48 秒)
-aspect アスペクト比を指定
lavc でエンコーディングタイプを指定。 vbitrate などは出直したいファイルサイズに合わせてうまい事調整
-vf もしクロッピングが必要ならサイズ、ポジションを w:h:x:y で指定(たぶん)
mp3lame でオーディオ設定。 br でビットレート指定。ボリュームは vol でコントロール可能
-o で出力ファイル名指定。
SVN のバックアップを取ったり、不要なリビジョンやディレクトリを削除したりロードしなおしたりしたい時がある。
そんな時は svnadmin や svndumpfilter を利用する。
たまに blog を書いていて、自分の環境が分からないときがある。そんなときに便利なコマンドをいくつかメモ。
とりあえずディストリビューションの名前だけでも知りたい時は
# cat /proc/version # cat /proc/version_signature
バージョンも知りたい時は
# cat /etc/issue
Slicehost で VPS を借りて ubuntu を使い始めました。とりあえず色々と設定中で、 ssh で protocol 1 を有効にしたら
Disabling protocol version 1. Could not load host key
と言われたので、
# ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
とホストキーを作成し、
# vi /etc/ssh/sshd_config
# HostKeys for protocol version 1 HostKey /etc/ssh/ssh_host_key
を追加。
Linux コマンドに chattr コマンドという chmod とかよりちょっと細かめにファイルのパーミッションを設定できるコマンドが存在知ることを今日知ったのでメモ。
きっかけは以下のコマンド結果。
[root@latte ~]# id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) [root@latte ~]# chmod 755 /usr/bin/wget chmod: changing permissions of `/usr/bin/wget': Operation not permitted
root が削除できない??
これは chattr +i で root すら削除できないように設定されていたためらしい。 cpanel のセットアップスクリプトにこの手のものが含まれてる事があるっぽい。
解決するには +i したものを -i する。
# chattr -i /usr/bin/wget
Linux でファイルの同期を取りたい場合があります。
例えば /home/user/dev/websrc/* と /var/www/html/* を同じ状態に保ちたい場合です。
シンボリックリンクを張るのも一つの方法ですが、同期にはなってません。
ここでは rsnyc を使います。
$ rsnyc -avzr /home/user/dev/websrc/* /var/www/html/
次回の CentOS に Subversion を導入する では単純に over http の SVN 環境を導入したけど、
実際にソースを公開して、一方でソースを更新するにはアクセス制限をしとく必要がある。
今回は svn+ssh を構築して、 ssh アクセスでの更新のみを許可する環境を作ってみた。
Windows の共有フォルダをマウントするには、
smbfs を OS がサポートしているなら、 mount コマンドで windows の共有フォルダをマウントできる。
$ mount -t smbfs -o username=hoge,password=hoge01 //192.168.0.100/pub /mnt/smbfstab に書く場合は以下のようにする。
//192.168.0.100/pub /mnt/smb smbfs noauto,username=hoge 0 0
ただ GUI から参照するなら最近の Linux は Network Servers メニューから Windows Network がのぞけるので、ほとんど Windows と同じ感覚で使えますね。
Youtube を始めとする動画共有サイトで多く使用されている FLV 形式のムービーを Linux で作成してみた。
あまりこの分野詳しくないんだけど、 AVI ってやつと WMV ってやつ MPEG って拡張子のやつは変換できた。
環境は以下のとおり。
CentOS 5
Linux の時間を合わせるには ntpdate コマンドを使って外部の ntp サーバと同期をとるのが簡単です。
ntp server の一覧は http://www.pool.ntp.org を参照。
# ntpdate jp.pool.ntp.org
echo filename | while read i do echo $i done