<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkcCQHkzeSp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467</id><updated>2011-11-28T08:54:21.781+09:00</updated><category term="wma" /><category term="couchdb" /><category term="media" /><category term="i18n" /><category term="印刷" /><category term="python twitter" /><category term="portage" /><category term="postgresql" /><category term="着メロ" /><category term="graphics" /><category term="リモート" /><category term="streaming" /><category term="ssh" /><category term="ファイル操作" /><category term="algorithm" /><category term="bash" /><category term="ghostscript" /><category term="リストア" /><category term="hardy" /><category term="mplayer" /><category term="sed" /><category term="pdf" /><category term="tar" /><category term="バックアップ" /><category term="変換" /><category term="3gp" /><category term="python" /><category term="dapper" /><category term="携帯" /><category term="mp3" /><category term="imagemagick" /><category term="テキスト操作" /><category term="ubuntu" /><category term="postscript" /><title>Vik's Linux Tips</title><subtitle type="html">Linuxを日々使う上で発見したり、これは便利だなと思う物を独断と偏見で書いています。</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://vikslinuxtips.blogspot.com/" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ViksLinuxTips" /><feedburner:info uri="vikslinuxtips" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CU8GQ34yfyp7ImA9Wx5WE0U.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-8666415310678667861</id><published>2010-09-25T12:03:00.001+09:00</published><updated>2010-09-25T12:03:42.097+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-25T12:03:42.097+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="couchdb" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>[couchDB] CouchDB-1.0.1とSpiderMonkeyをUbuntu 10.4 LTS (Lucid) でコンパイル</title><content type="html">最近NoSQL系のバックエンドとして有望株である&lt;a href="http://couchdb.apache.org/"&gt;couchDB&lt;/a&gt;をUbuntu 10.4上で試している。Ubuntuさんについてくる（apt-getできる)couchDBのバージョンは0.10.0と若干古いので、現段階で最新の1.0.1をビルドする手順を以下にまとめておきます。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1)まずはビルドの基本をインストール&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;sudo apt-get install build-essential&lt;br /&gt;
&lt;code&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2)次にJS実行エンジンの&lt;/b&gt;&lt;a href="http://www.mozilla.org/js/spidermonkey/"&gt;&lt;b&gt;SpiderMonkey&lt;/b&gt;&lt;/a&gt;&lt;b&gt;をインストール&lt;/b&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;Ubuntuでビルドするときの手順として、spidermonkeyではなく、xulrunnerを使う方法もあるけど、なんか色々面倒くさい設定などがあるらしいので、SpiderMonkeyを使います。&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt; 参考URL: &lt;a href="http://wiki.apache.org/couchdb/Installing_SpiderMonkey"&gt;http://wiki.apache.org/couchdb/Installing_SpiderMonkey&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;b&gt;ソースの取得&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz"&gt; &lt;/a&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz"&gt;http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz&lt;/a&gt;&lt;br /&gt;
にあるので、&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;br /&gt;
curl -O http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz&lt;br /&gt;
でゲットしておく。&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;br /&gt;
&lt;b&gt; 解凍してビルドする&lt;/b&gt; &lt;br /&gt;
tar xzvf js-1.8.0-rc1.tar.gz &lt;br /&gt;
cd js/src/&lt;br /&gt;
&lt;br /&gt;
ちょっと変わったmake方法なので、以下の通りmakeする。&lt;br /&gt;
ビルド：&lt;br /&gt;
make BUILD_OPT=1 -f Makefile.ref&lt;br /&gt;
&lt;br /&gt;
インストール：&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;ターゲットは"export"というらしい。&lt;br /&gt;
sudo make BUILD_OPT=1 JS_DIST=/usr/local -f Makefile.ref export&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;b&gt;ライブラリのパスを通す&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;make export実行時にコンソールに吐き出された最後の数行で&lt;br /&gt;
cp Linux_All_OPT.OBJ/libjs.a /usr/local/lib64&lt;br /&gt;
cp Linux_All_OPT.OBJ/libjs.so /usr/local/lib64&lt;br /&gt;
cp Linux_All_OPT.OBJ/js /usr/local/bin&lt;br /&gt;
(上記は64bit版の場合。32bit版はたぶん/usr/local/lib)と出力されているで、libjs.soの置き場所をld.so.confに追加する。これをしないと、後でcouchdbがうまく動いてくれない。&lt;br /&gt;
&lt;br /&gt;
sudo vi /etc/ld.so.conf.d/spidermonkey.conf&lt;br /&gt;
とでもして、以下の内容を書いておく&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;# Spider Monkey js&lt;br /&gt;
/usr/local/lib64&lt;br /&gt;
&lt;br /&gt;
sudo ldconfig&lt;br /&gt;
でキャッシュを更新。 &lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;念の為確認しておく。&lt;br /&gt;
sudo ldconfig -p|grep libjs&lt;br /&gt;
libjs.so (libc6,x86-64) =&amp;gt; /usr/local/lib64/libjs.so&lt;br /&gt;
いたいた。&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;ここまででSpiderMonkeyのインストールは完了。次にいよいよcouchDBをビルド、インストールする。&lt;br /&gt;
ここから先はほぼ&lt;br /&gt;
&lt;a href="http://d.hatena.ne.jp/z-ohnami/20100729/1280412344"&gt; http://d.hatena.ne.jp/z-ohnami/20100729/1280412344&lt;/a&gt;&lt;br /&gt;
を参考にさせていただきました。多謝。&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;b&gt;3)CouchDBのビルドとインストール&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;br /&gt;
&lt;b&gt; 依存パッケージのインストール&lt;/b&gt;&lt;br /&gt;
sudo apt-get install libicu-dev libcurl4-gnutls-dev libtool erlang-dev erlang&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; couchDBソースの取得&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://couchdb.apache.org/downloads.html"&gt; http://couchdb.apache.org/downloads.html&lt;/a&gt;&lt;br /&gt;
からリンクされた最新版をミラーから落とす。&lt;br /&gt;
curl -O http://ftp.kddilabs.jp/infosystems/apache//couchdb/1.0.1/apache-couchdb-1.0.1.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;b&gt;解凍してビルドする。&lt;/b&gt;&lt;br /&gt;
tar xzvf apache-couchdb-1.0.1.tar.gz&lt;br /&gt;
cd apache-couchdb-1.0.1/&lt;br /&gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;今回は/usr/local下にインストールするので、--prefixなどは特にいじっていない。また、SpiderMonkeyを使うので、--with-js-libなど、xulrunner指定箇所は省く。&lt;br /&gt;
結局、&lt;br /&gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;./configure&lt;br /&gt;
make &amp;amp;&amp;amp; sudo make install&lt;br /&gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;でいける。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;b&gt;couchDBを実行するユーザーを作成する。&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
UbuntuOneがcouchDBを使用している関係で、couchdbというユーザーがすでに存在する可能性があるので、参考URLの通り、couchuserというuserで実行することにする。&lt;br /&gt;
以下ほぼまるコピ&lt;br /&gt;
&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;sudo adduser --system --home /usr/local/var/lib/couchdb \&lt;br /&gt;
--no-create-home -shell /bin/bash --group --gecos \&lt;br /&gt;
"CouchDB Administrator" couchuser&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; 所有権とパーミションの修正&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
sudo chown -R couchuser:couchuser /usr/local/etc/couchdb&lt;br /&gt;
sudo chown -R couchuser:couchuser /usr/local/var/lib/couchdb/&lt;br /&gt;
sudo chown -R couchuser:couchuser /usr/local/var/log/couchdb/&lt;br /&gt;
sudo chown -R couchuser:couchuser /usr/local/var/run/couchdb/&lt;br /&gt;
sudo chmod 0770 /usr/local/var/run/couchdb/&lt;br /&gt;
sudo chmod 0770 /usr/local/var/lib/couchdb/&lt;br /&gt;
sudo chmod 0770 /usr/local/var/log/couchdb/&lt;br /&gt;
sudo chmod 0770 /usr/local/etc/couchdb&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; 作成したユーザーで実行するようにcouchDBの設定を変更する&lt;/b&gt;&lt;br /&gt;
sudo vi /usr/local/etc/default/couchdb&lt;br /&gt;
&lt;br /&gt;
COUCHDB_USER=couchdb&lt;br /&gt;
COUCHDB_STDOUT_FILE=/dev/null&lt;br /&gt;
&lt;br /&gt;
COUCHDB_USER=couchuser ←couchuserに変更&lt;br /&gt;
&lt;br /&gt;
以上でインストール完了。&lt;br /&gt;
試しに実行してみる。&lt;br /&gt;
sudo -u couchuser couchdb&lt;br /&gt;
&lt;br /&gt;
起動したらブラウザで&lt;br /&gt;
http://localhost:5984/_utils/&lt;br /&gt;
にあるFutonインターフェースを開く。&lt;br /&gt;
&lt;br /&gt;
右側のメニューにある Test Suiteを開いて&lt;br /&gt;
Run Allでテストをすべて実行して、すべて動いたらOK&lt;br /&gt;
&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;code&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/code&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-8666415310678667861?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uHwAO9YDc34AJJAJOezw2guX420/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uHwAO9YDc34AJJAJOezw2guX420/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uHwAO9YDc34AJJAJOezw2guX420/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uHwAO9YDc34AJJAJOezw2guX420/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/445qilhzv5E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/8666415310678667861/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=8666415310678667861" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8666415310678667861?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8666415310678667861?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/445qilhzv5E/couchdb-couchdb-101spidermonkeyubuntu.html" title="[couchDB] CouchDB-1.0.1とSpiderMonkeyをUbuntu 10.4 LTS (Lucid) でコンパイル" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2010/09/couchdb-couchdb-101spidermonkeyubuntu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EFR34_fCp7ImA9WxdVGUo.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-1537609439363036445</id><published>2008-07-25T18:38:00.004+09:00</published><updated>2008-07-25T18:53:36.044+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-25T18:53:36.044+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python twitter" /><title>[python]携帯メールからTwitterを更新する</title><content type="html">携帯メールからTwitterのステータスを更新したいと思い、ぐぐってみたら&lt;a href="http://mojo.jp/blog/archives/2007/04/twitter_1.html"&gt;俺的にストライクな書き込み&lt;/a&gt;を発見してしまった。&lt;br /&gt;そのままでは動かなかったので、最近のPython Twitterに合わせて、ちょっぴり機能を追加したので、公開してみます。&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/env python&lt;br /&gt;&lt;br /&gt;from email.Header import Header, decode_header&lt;br /&gt;import twitter, sys, email&lt;br /&gt;&lt;br /&gt;uid = "TWITTER_ID"&lt;br /&gt;pw = "TWITTER_PASSWORD"&lt;br /&gt;from_addr = "KEITAI_EMAIL_ADDRESS" #email account to receive from&lt;br /&gt;&lt;br /&gt;data = ""&lt;br /&gt;for line in sys.stdin:&lt;br /&gt;    data = data + line&lt;br /&gt;&lt;br /&gt;mail = email.message_from_string(data)&lt;br /&gt;&lt;br /&gt;#Check for correct from address&lt;br /&gt;if from_addr != mail.get('From'):&lt;br /&gt;    sys.exit(0) # Wrong email - ignore&lt;br /&gt;&lt;br /&gt;for part in mail.walk():&lt;br /&gt;    type = part.get_content_maintype()&lt;br /&gt;    if type and type.find("text") != -1:&lt;br /&gt;        enc = part.get_charsets()[0] or "us-ascii"&lt;br /&gt;        message = unicode(part.get_payload(), enc, "ignore")&lt;br /&gt;&lt;br /&gt;message = message.strip()[:140]&lt;br /&gt;api = twitter.Api(uid, pw)&lt;br /&gt;status = api.PostUpdate(message)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;オリジナルからの変更点は:&lt;br /&gt;- from_addrの追加。携帯のメールアドレスを入れておくと、このアドレスから受信した時のみ、Twitterに更新をかける。&lt;br /&gt;- messageをstrip()して最大140文字までとした -&gt; Twitterの仕様です。&lt;br /&gt;- api.PostUpdate()の呼び方をpython-twitter0.5に合わせた。&lt;br /&gt;&lt;br /&gt;参考:&lt;br /&gt;&lt;a href="http://mojo.jp/blog/archives/2007/04/twitter_1.html"&gt;元ネタ&lt;/a&gt;(mojo.jp/blogさん)&lt;br /&gt;&lt;a href="http://code.google.com/p/python-twitter/"&gt;python-twitter&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;動作確認環境:&lt;br /&gt;Ubuntu Hardy Heron Server + postfix&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-1537609439363036445?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/X_bwYB2XkQ_gXGevkDdmPrJVMp0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X_bwYB2XkQ_gXGevkDdmPrJVMp0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/X_bwYB2XkQ_gXGevkDdmPrJVMp0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/X_bwYB2XkQ_gXGevkDdmPrJVMp0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/4qIwIDjZEx4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/1537609439363036445/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=1537609439363036445" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/1537609439363036445?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/1537609439363036445?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/4qIwIDjZEx4/pythontwitter.html" title="[python]携帯メールからTwitterを更新する" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2008/07/pythontwitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08GR34-fSp7ImA9WxdWEEg.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-9139375983615718691</id><published>2008-07-03T12:09:00.005+09:00</published><updated>2008-07-03T12:30:26.055+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-03T12:30:26.055+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ssh" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="hardy" /><category scheme="http://www.blogger.com/atom/ns#" term="dapper" /><title>[Ubuntu]ssh経由でDapperサーバーをHardyにアップグレードしてみる</title><content type="html">5年サポートのUbuntu LTSがDapper(6.06) -&gt; Hardy(8.04)にアップグレードされたので、うちのサーバーもアップグレードすることにした。すべてワークステーションからssh経由でやってみる。&lt;br /&gt;&lt;br /&gt;どのようなアップグレードでも同じなのだが注意点を：&lt;br /&gt;&lt;br /&gt;1) なによりも真っ先にバックアップを取ること!バックアップを取ること！&lt;br /&gt;もう一度言うよ。バックアップを取ること！そして、正常にリストアできることを試すこと！&lt;br /&gt;&lt;a href="http://vikslinuxtips.blogspot.com/2007/08/tarssh.html"&gt;tarとsshでバックアップを取る方法&lt;/a&gt;も参考までに。&lt;br /&gt;&lt;br /&gt;2) なぜアップグレードするのかを明確にしておくこと。 -&gt; 必要の無いアップグレードはしない方がいいですよ。&lt;br /&gt;&lt;br /&gt;3) 事前に新しいシステムをよく調べておくこと。 -&gt; サーバー(デーモン)のバージョンによっては挙動が変わったり、今まで動いていたサービスが動かなくなったりする可能性があるので、よく調べましょう。&lt;br /&gt;&lt;br /&gt;4) 不慮の事故にも対応できるように、万全の体制で挑むこと。 -&gt; 時間、ホットスワップできるサーバー器の純美も含め心にゆとりを持っている方が断然スムーズにいきますよ。&lt;br /&gt;&lt;br /&gt;5) 以下に示すやり方はうちでは成功したので、あなたの環境でうまくいくとは限らない。つまり、このやり方で失敗しても、私は一切責任を取りませんよ、ということを理解すること。 -&gt; つまり失敗しても泣かないこと。&lt;br /&gt;&lt;br /&gt;ま、アップグレードは計画的にね！ということでお願いします。自己責任ですから。&lt;br /&gt;&lt;br /&gt;というわけで、手順の説明をしていきます。&lt;br /&gt;&lt;br /&gt;1) Dapperを最新のバージョンに更新しておく&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo apt-get update&lt;br /&gt;sudo apt-get upgrade&lt;br /&gt;sudo apt-get dist-upgrade&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;これはカーネルも含めて更新します。気をつけてね。&lt;br /&gt;カーネル更新したひとは、再起動しておきましょう。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) update managerをインストールする&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo apt-get install update-manager-core&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;update-managerはサーバー用のアップグレードシステムらしいです。&lt;br /&gt;&lt;br /&gt;3) ここから実際のアップグレードがはじまる&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sudo do-release-upgrade -d&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;-dオプションは開発バージョンを引っ張るということらしいのだが、-dオプションなしでは&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ sudo do-release-upgrade&lt;br /&gt;Checking for a new ubuntu release&lt;br /&gt;No new release found&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;無いよ、と怒られてしまう。ちょっと嫌な感じだが、開発バージョンを引っ張ってくる-dを付けると&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ sudo do-release-upgrade -d&lt;br /&gt;Checking for a new ubuntu release&lt;br /&gt;Done Upgrade tool signature&lt;br /&gt;Done Upgrade tool&lt;br /&gt;Done downloading           &lt;br /&gt;extracting 'hardy.tar.gz'&lt;br /&gt;authenticate 'hardy.tar.gz' against 'hardy.tar.gz.gpg'&lt;br /&gt;&lt;br /&gt;Reading cache&lt;br /&gt;&lt;br /&gt;Checking package manager&lt;br /&gt;&lt;br /&gt;Continue running under SSH?&lt;br /&gt;&lt;br /&gt;This session appears to be running under ssh. It is not recommended&lt;br /&gt;to perform a upgrade over ssh currently because in case of failure it&lt;br /&gt;is harder to recover.&lt;br /&gt;&lt;br /&gt;If you continue, a additional ssh daemon will be started at port&lt;br /&gt;'9004'.&lt;br /&gt;Do you want to continue?&lt;br /&gt;&lt;br /&gt;Continue [yN]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Hardyってstableじゃないんか！Intrepidがでたらどうなるんだろという疑問を残しつつも続行。&lt;br /&gt;でもって、色々吐き出してますが、ようはこんな感じのことをいってくる&lt;br /&gt;「sshでやろうとしてるね？あんまりおすすめしないなぁ、失敗したらめんどうだよ。&lt;br /&gt;それでもssh経由やるっていうなら、ポート9004に新しいsshデーモン起動するけど、続けるかい？」&lt;br /&gt;である。&lt;br /&gt;ここはやっぱり、Yでしょw&lt;br /&gt;&lt;br /&gt;4) しばし放置&lt;br /&gt;debリポジトリから色々チェックしてるようです。こんなワーニングがでてたけど&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;WARNING: Failed to read mirror file&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ミラー関係のようなので、無視&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5) サポート終了したアプリのメッセージを確認しておく&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Calculating the changes&lt;br /&gt;&lt;br /&gt;Support for some applications ended&lt;br /&gt;&lt;br /&gt;Canonical Ltd. no longer provides support for the following software&lt;br /&gt;packages. You can still get support from the community.&lt;br /&gt;&lt;br /&gt;If you have not enabled community maintained software (universe),&lt;br /&gt;these packages will be suggested for removal at the end of the&lt;br /&gt;upgrade.&lt;br /&gt;&lt;br /&gt;Demoted:&lt;br /&gt;console-common, console-data, evms, evms-ncurses, libasn1-6-heimdal,&lt;br /&gt;libevms-2.5, libgssapi4-heimdal, libkrb5-17-heimdal, liblzo1, libpq4,&lt;br /&gt;libroken16-heimdal, libttf2, reportbug&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Demote(オフィシャルからサポートを外されて「降格」)されたパッケージの一覧を吐き出してくれるので、よくチェックしておく。&lt;br /&gt;apt リポジトリのUniverseを使わないと、アップグレードのあとに上記を削除推奨されますよ、と。&lt;br /&gt;&lt;br /&gt;6) 本当にやりますか？やっちゃうんですか？&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;11 packages are going to be removed. 133 new packages are going to be&lt;br /&gt;installed. 299 packages are going to be upgraded.&lt;br /&gt;&lt;br /&gt;You have to download a total of 189M. This download will take about&lt;br /&gt;10 minutes with your connection.&lt;br /&gt;&lt;br /&gt;Fetching and installing the upgrade can take several hours. Once the&lt;br /&gt;download has finished, the process cannot be cancelled.&lt;br /&gt;&lt;br /&gt;Continue [yN]  Details [d]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;dでなにが削除され、なにが新規インストールされ、なにがアップグレードされるか、をチェックできる。&lt;br /&gt;一応みておいて、&lt;br /&gt;&lt;br /&gt;Yでしょw&lt;br /&gt;&lt;br /&gt;7) パッケージインストール中のため、しばし放置&lt;br /&gt;もう、後戻りはできません。バックアップとってあるよね？（しつこい)&lt;br /&gt;&lt;br /&gt;*これ以降はシステムの設定によって表示されない場合があります。&lt;br /&gt;8)コンソールセットアップ&lt;br /&gt;しばらくすると、Configuring Console setupという画面がでた&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_iXovN0a77dE/SGxE5IBTeiI/AAAAAAAAAAs/qc67B_7b-48/s1600-h/console_set_up.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp1.blogger.com/_iXovN0a77dE/SGxE5IBTeiI/AAAAAAAAAAs/qc67B_7b-48/s320/console_set_up.gif" alt="" id="BLOGGER_PHOTO_ID_5218621816411748898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;キーボードのレイアウトをnational(ローカル=106jpかな?それともFEPというかIMEのことかな?)とLatinレイアウトの変更のためのショートカットを選べと。&lt;br /&gt;キーボードついてないし、sshだし、なんでもいいです、ハイw&lt;br /&gt;デフォルトのalt+shiftにしておきました。&lt;br /&gt;&lt;br /&gt;9) libc6の設定&lt;br /&gt;さらにもう少しするとConfiguring libc6という画面。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_iXovN0a77dE/SGxE4wjppHI/AAAAAAAAAAU/FGMypWKh16U/s1600-h/configure_libc6.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_iXovN0a77dE/SGxE4wjppHI/AAAAAAAAAAU/FGMypWKh16U/s320/configure_libc6.gif" alt="" id="BLOGGER_PHOTO_ID_5218621810113356914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;一覧に表示されているサービスを再起動しますよ、とのこと。&lt;br /&gt;気になるのはsshだが、一覧に無いので、大丈夫そう。念のため手順3で出てきたポート9004のsshdに接続しておくことにする。&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ ssh -p 9004 [サーバー名orIP]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;問題なく入れたので、迷わずOK -&gt; サービス再起動が始まる。&lt;br /&gt;&lt;br /&gt;10) Configuring libpam0g&lt;br /&gt;次に9と似たような画面がでてきた。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_iXovN0a77dE/SGxE40N5PQI/AAAAAAAAAAc/JUShQfD8R80/s1600-h/configure_libpam0g.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_iXovN0a77dE/SGxE40N5PQI/AAAAAAAAAAc/JUShQfD8R80/s320/configure_libpam0g.gif" alt="" id="BLOGGER_PHOTO_ID_5218621811095846146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;pam認証を使用しているサービスの再起動を行うらしい。sshは無いので、これも迷わずOKしてみた&lt;br /&gt;&lt;br /&gt;11) Configuring libssl0.9.8&lt;br /&gt;同様にlibsslにリンクしているサービスも再起動するらしい。sshには影響無とのこと。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_iXovN0a77dE/SGxE44w6wbI/AAAAAAAAAAk/hNDIsnIf6Mg/s1600-h/configure_libssl.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp3.blogger.com/_iXovN0a77dE/SGxE44w6wbI/AAAAAAAAAAk/hNDIsnIf6Mg/s320/configure_libssl.gif" alt="" id="BLOGGER_PHOTO_ID_5218621812316488114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;OKをすると、再起動するサービスの一覧がでてくる。&lt;br /&gt;ま、大丈夫そうならOKで&lt;br /&gt;&lt;br /&gt;**この辺で&lt;br /&gt;&lt;code&gt;&lt;br /&gt;perl: warning: Please check that your locale settings:&lt;br /&gt; LANGUAGE = "en_JP:en",&lt;br /&gt; LC_ALL = (unset),&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ワーニングなので、無視しておいてもよさそう。perlはこの機械では使わないしね。&lt;br /&gt;一応、あとで　&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ sudo locale-gen&lt;br /&gt;すればよいはずなので、放置。&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;12) 各種設定ファイルの更新&lt;br /&gt;次に新しくなった設定ファイルの扱いを聞かれる。以下の例はdnsmasq:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Configuration file `/etc/dnsmasq.conf'&lt;br /&gt;==&gt; Modified (by you or by a script) since installation.&lt;br /&gt;==&gt; Package distributor has shipped an updated version.&lt;br /&gt;  What would you like to do about it ?  Your options are:&lt;br /&gt;   Y or I  : install the package maintainer's version&lt;br /&gt;   N or O  : keep your currently-installed version&lt;br /&gt;     D     : show the differences between the versions&lt;br /&gt;     Z     : background this process to examine the situation&lt;br /&gt;The default action is to keep your current version.&lt;br /&gt;*** dnsmasq.conf (Y/I/N/O/D/Z) [default=N] ?&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y/I = パッケージメンテナのバージョンで置き換える&lt;br /&gt;N/O = 今までどおりにしておく&lt;br /&gt;D   = diff表示&lt;br /&gt;Z   = とりあえず飛ばして、あとで設定する&lt;br /&gt;&lt;br /&gt;このあたりは慎重にやりましょう。Dでよく確認することをおすすめします。&lt;br /&gt;&lt;br /&gt;13) 再起動!&lt;br /&gt;各種設定が終わったら、再起動してみましょう。&lt;br /&gt;sshで入れたら・・・&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ lsb_release -a&lt;br /&gt;No LSB modules are available.&lt;br /&gt;Distributor ID: Ubuntu&lt;br /&gt;Description: Ubuntu 8.04.1&lt;br /&gt;Release: 8.04&lt;br /&gt;Codename: hardy&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;よっしゃ。&lt;br /&gt;&lt;br /&gt;あとは、各種サービスの設定を見直して、全て正常に動作するかを確認すること。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-9139375983615718691?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZERNBh_QD0iMSZaY5Y5fmlIoGd0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZERNBh_QD0iMSZaY5Y5fmlIoGd0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZERNBh_QD0iMSZaY5Y5fmlIoGd0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZERNBh_QD0iMSZaY5Y5fmlIoGd0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/7RUVLw_JlV0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/9139375983615718691/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=9139375983615718691" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/9139375983615718691?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/9139375983615718691?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/7RUVLw_JlV0/ubuntusshdapperhardy.html" title="[Ubuntu]ssh経由でDapperサーバーをHardyにアップグレードしてみる" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp1.blogger.com/_iXovN0a77dE/SGxE5IBTeiI/AAAAAAAAAAs/qc67B_7b-48/s72-c/console_set_up.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2008/07/ubuntusshdapperhardy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkICRng8cCp7ImA9WxdQF0g.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-6047772100369040589</id><published>2008-06-12T19:57:00.006+09:00</published><updated>2008-06-18T09:56:07.678+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T09:56:07.678+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><category scheme="http://www.blogger.com/atom/ns#" term="ファイル操作" /><category scheme="http://www.blogger.com/atom/ns#" term="sed" /><title>[Linux Shell] bashとsedを使ってファイルの拡張子を一括置換する</title><content type="html">hoge.htmとかimage.JPGとかをhoge.htmlやimage.jpgなどと、拡張子だけを一括変更する方法。&lt;br /&gt;&lt;br /&gt;ファイルの数が少ない場合は普通にmvすればいいのだが、ディレクトリごと一斉置換したい場合は以下のようにする：&lt;br /&gt;&lt;br /&gt;例：*.htmを*.htmlに置換する&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# for f in *.htm; do mv $f `echo $f|sed -e "s/htm/html/g"`; done&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;基本的にsedの/htm/html/g箇所をいじればどんな置換にも対応できる。&lt;br /&gt;なのだが、いつもこんな長いコマンドを打ち込むのはめんどうなので、スクリプトにまとめておくと便利。&lt;br /&gt;&lt;br /&gt;例えばこんな感じ：&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;mv $1 `echo $1|sed -e "s/$2/$3/g"`&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;これをパスの通った場所に適当な名前を保存しておく。今回はmv しながらsedをするので、mvsedという名前を付けてみた。&lt;br /&gt;忘れずに実行権限をつけておく&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ chmod +x mvsed&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;使用方法は&lt;br /&gt;&lt;br /&gt;mvsed ファイル名 現在の拡張子 置換後の拡張子&lt;br /&gt;&lt;br /&gt;本当は拡張子だけでなく、ファイル名全体の置換につかえるのだが、今回の趣旨の都合上、拡張子ということにしておいてください ^^;&lt;br /&gt;&lt;br /&gt;で、使用方法。&lt;br /&gt;ファイル1個:&lt;br /&gt;&lt;code&gt;$ mvsed hoge.htm htm html&lt;/code&gt;&lt;br /&gt;-&gt; hoge.htm を hoge.htmlに変更&lt;br /&gt;&lt;br /&gt;一括置換:&lt;br /&gt;&lt;code&gt;$ for f in *.htm; do mvsed $f htm html;done&lt;/code&gt;&lt;br /&gt;-&gt; ディレクトリ内の.htmファイルをすべて.htmlに変更する。&lt;br /&gt;&lt;br /&gt;いまどき*.htmもあんまり見かけなくなったけど、その辺は気にしなーい。&lt;br /&gt;&lt;br /&gt;関連エントリー:&lt;a href="http://vikslinuxtips.blogspot.com/2007/10/linux-shell.html"&gt;ファイル名のスペースをアンダースコアに変換する方法&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-6047772100369040589?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vzuIA-_HKUSmctDTQCK489rPwGU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vzuIA-_HKUSmctDTQCK489rPwGU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vzuIA-_HKUSmctDTQCK489rPwGU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vzuIA-_HKUSmctDTQCK489rPwGU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/Ls8Vp6sPpDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/6047772100369040589/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=6047772100369040589" title="1 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/6047772100369040589?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/6047772100369040589?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/Ls8Vp6sPpDw/linux-shell-bashsed.html" title="[Linux Shell] bashとsedを使ってファイルの拡張子を一括置換する" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2008/06/linux-shell-bashsed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMMSH45cCp7ImA9WxdQF0g.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-7991597536071669600</id><published>2007-10-27T15:14:00.001+09:00</published><updated>2008-06-18T09:54:49.028+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T09:54:49.028+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="変換" /><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><title>[Linux Shell] ファイル名のスペースをアンダースコアに変換する方法</title><content type="html">"My Report 2007 10 27.txt" を "My_Report_2007_10_27.txt"　に変換/リネームする方法。&lt;br /&gt;&lt;br /&gt;WindowsやMac, さらには近頃ではLinuxユーザーまでもが、ファイル名にスペースを使用している。たしかに読みやすくて、GUIで使ってる分には全く問題ないのだけれども、シェルで一括操作などを行いたい時ににちょっと面倒臭い。なぜなら、シェルで(半角)スペースを持つファイル名を扱うには、\でエスケープしたり、気づかずxargsに渡してしまい、変な挙動になったりと、色々回り道をしないといけないことが多い。&lt;br /&gt;&lt;br /&gt;半角スペースを "_" (アンダースコア) に置換してmvする。&lt;br /&gt;ディレクトリ下のファイル全部。&lt;br /&gt;&lt;br /&gt;$ for file in *; do mv "$file" `echo $file | tr ' ' '_'`; done&lt;br /&gt;&lt;br /&gt;もちろん、&lt;br /&gt;for file in *; の*を変えると適応範囲が絞りこめる。&lt;br /&gt;例えば、 for file in *.wma;   &lt;- Windows Media Playerはスペースが大好きです。&lt;br /&gt;&lt;br /&gt;関連エントリー:&lt;a href="http://vikslinuxtips.blogspot.com/2008/06/linux-shell-bashsed.html"&gt;bashとsedを使ってファイルの拡張子を一括置換する&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-7991597536071669600?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ez0Syfj-r4nnAwgBbZuGzpeRKLw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ez0Syfj-r4nnAwgBbZuGzpeRKLw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ez0Syfj-r4nnAwgBbZuGzpeRKLw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ez0Syfj-r4nnAwgBbZuGzpeRKLw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/kA2bFFfkuVM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/7991597536071669600/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=7991597536071669600" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/7991597536071669600?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/7991597536071669600?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/kA2bFFfkuVM/linux-shell.html" title="[Linux Shell] ファイル名のスペースをアンダースコアに変換する方法" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/10/linux-shell.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AGQ3Yyeip7ImA9WB5bFE4.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-3865447895439776196</id><published>2007-08-30T09:50:00.000+09:00</published><updated>2007-08-30T10:02:02.892+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-30T10:02:02.892+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="テキスト操作" /><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><category scheme="http://www.blogger.com/atom/ns#" term="sed" /><title>bashとsedで複数ファイルのテキストを置換する方法</title><content type="html">複数ファイルにまたがって同じテキスト置換を行う方法。&lt;br /&gt;例えばディレクトリ内のHTMLファイル全てに対して置換を行いたい場合１個１個ファイルを開いて編集するのは面倒なので、一発で行いたい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;find . -name "*.html" -exec sed -i 's/元テキスト/置換後テキスト/' {} \;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;何をしているのか細かく説明すると&lt;br /&gt;&lt;br /&gt;find . -name "*.html" -exec&lt;br /&gt;このディレクトリ(.)の中にある名前が*.htmlにマッチするファイルに対して&lt;br /&gt;&lt;br /&gt;sed -i 's/元テキスト/置換後テキスト/' {} \;&lt;br /&gt;上書き保存で(-i) 元テキストを置換後テキストに変更する&lt;br /&gt;&lt;br /&gt;となる。&lt;br /&gt;ちなみに {} はfindの結果で得た(この場合はhtmlファイルのファイル名)が入るようになっている。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-3865447895439776196?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s3DfDFiL7OUi984_O67WSCw6Sig/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s3DfDFiL7OUi984_O67WSCw6Sig/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s3DfDFiL7OUi984_O67WSCw6Sig/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s3DfDFiL7OUi984_O67WSCw6Sig/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/lGYxq8kPrvk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/3865447895439776196/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=3865447895439776196" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/3865447895439776196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/3865447895439776196?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/lGYxq8kPrvk/bashsed.html" title="bashとsedで複数ファイルのテキストを置換する方法" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/bashsed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEBQXw8fCp7ImA9WB5bEUQ.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-4141233897100403489</id><published>2007-08-27T15:30:00.000+09:00</published><updated>2007-08-27T15:37:30.274+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-27T15:37:30.274+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="graphics" /><category scheme="http://www.blogger.com/atom/ns#" term="imagemagick" /><title>Imagemagickでディレクトリの中の画像を一括縮小する</title><content type="html">ホームページなどで写真を公開している場合など、デジカメで撮ったたくさんの写真を一括で縮小(あるいは拡大)したい場合がある。&lt;br /&gt;&lt;a href="http://www.imagemagick.org/"&gt;imagemagick&lt;/a&gt;を使えばとっても簡単にできる。&lt;br /&gt;&lt;br /&gt;例えば images ディレクトリの画像を全て 500x375にリサイズしたかったら:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ cd images&lt;br /&gt;$ mogrify -resize 500x375! *.jpg&lt;/blockquote&gt;&lt;br /&gt;他にもimagemagickは色々なことがたくさんできる。&lt;a href="http://mechanics.civil.tohoku.ac.jp/soft/node43.html"&gt;ここあたり&lt;/a&gt;が詳しいかな。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-4141233897100403489?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dkCx2BPxOt96BAXZiVN59DUYKa8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dkCx2BPxOt96BAXZiVN59DUYKa8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dkCx2BPxOt96BAXZiVN59DUYKa8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dkCx2BPxOt96BAXZiVN59DUYKa8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/Erw992jb7qk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/4141233897100403489/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=4141233897100403489" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/4141233897100403489?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/4141233897100403489?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/Erw992jb7qk/imagemagick.html" title="Imagemagickでディレクトリの中の画像を一括縮小する" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/imagemagick.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFSHs8fyp7ImA9WxZSFko.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-2551329869087387238</id><published>2007-08-26T13:07:00.001+09:00</published><updated>2008-01-30T16:15:19.577+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-30T16:15:19.577+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="algorithm" /><title>生年月日から年齢を計算する</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://itpro.nikkeibp.co.jp/article/Watcher/20070822/280097/?L=rss"&gt;佐野裕のサーバー管理者日記&lt;/a&gt;さんより:&lt;br /&gt;&lt;br /&gt;生年月日から年齢を計算する方法&lt;br /&gt;&lt;br /&gt;(今日の日付-誕生日)/10000の小数点以下切捨て。&lt;br /&gt;&lt;br /&gt;pythonの例が無かったので書いときますw&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;print int ((20070823 - 19850101)/10000)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-2551329869087387238?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oDYoH-c0D31Nb6c3WPFCnvjfyo0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oDYoH-c0D31Nb6c3WPFCnvjfyo0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oDYoH-c0D31Nb6c3WPFCnvjfyo0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oDYoH-c0D31Nb6c3WPFCnvjfyo0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/yUBe6l-V7iM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/2551329869087387238/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=2551329869087387238" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/2551329869087387238?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/2551329869087387238?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/yUBe6l-V7iM/blog-post_26.html" title="生年月日から年齢を計算する" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/blog-post_26.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ENQnw7eSp7ImA9WB5bEE8.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-3040382763869270948</id><published>2007-08-25T14:58:00.000+09:00</published><updated>2007-08-25T15:01:33.201+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-25T15:01:33.201+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tar" /><category scheme="http://www.blogger.com/atom/ns#" term="リモート" /><category scheme="http://www.blogger.com/atom/ns#" term="バックアップ" /><category scheme="http://www.blogger.com/atom/ns#" term="ssh" /><title>tarとsshでバックアップを取る方法</title><content type="html">&lt;p&gt;いつもやりかたを忘れるので覚え書き。&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;ローカルのディレクトリをssh経由でリモートサーバーにバックアップする方法:&lt;br /&gt;   $ tar zcvf - [バックアップするディレクトリ(例:/home)] |ssh [バックアップ先のサーバー] "cat &gt; [ファイル名(例:home.tgz)]    &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;リモートのディレクトリをssh経由でローカルにバックアップする方法:&lt;br /&gt;   $ ssh [バックアップするディレクトリのサーバー] "tar zcvf - [バックアップするディレクトリ(例:/home)]"|cat &gt; [ファイル名(例:home.tgz)]&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-3040382763869270948?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dqUbpS42BwcafNEQQHyFA3Nuo_o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dqUbpS42BwcafNEQQHyFA3Nuo_o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dqUbpS42BwcafNEQQHyFA3Nuo_o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dqUbpS42BwcafNEQQHyFA3Nuo_o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/lvs4mQGU-mc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/3040382763869270948/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=3040382763869270948" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/3040382763869270948?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/3040382763869270948?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/lvs4mQGU-mc/tarssh.html" title="tarとsshでバックアップを取る方法" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/tarssh.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIDQ3g5fSp7ImA9WxdQE0k.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-2684622625345859062</id><published>2007-08-25T14:52:00.001+09:00</published><updated>2008-06-13T17:59:32.625+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-13T17:59:32.625+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="印刷" /><category scheme="http://www.blogger.com/atom/ns#" term="ghostscript" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="postscript" /><title>テキストを製本できるように印刷してみる</title><content type="html">&lt;a href="http://vikslinuxtips.blogspot.com/2007/08/pspdf.html"&gt;前回&lt;/a&gt;、postscriptファイルを色々いじって、りなざうで読んでいたのだが、どうにもやっぱり紙に印刷してじっくり読むのが性にあってるようだ。結局印刷することになった。&lt;br /&gt;&lt;br /&gt;せっかく印刷するので本（とういか小冊子)にしてしまおうと思ったが初めてにしては意外とうまくいったので今後のためにメモ。&lt;br /&gt;&lt;br /&gt;使用するツールはpsbookとpsnupで、両方ともpsutilsに入っている。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# emerge app-text/psutils&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;まず、psutilsがまともにa4に変換してくれないっぽかったので、gsで各ページをa4に変換する。&lt;br /&gt;Firefoxでpsに"印刷"したページなどは以下の操作をしないとマージンなどがおかしくなって、行頭数文字が切れるなどの現象が起きた。&lt;br /&gt;&lt;br /&gt;$ gs -dBATCH -dNOPAUSE -q -sDEVICE=pswrite -sPAPERSIZE=a4 -sOutputFile=a4.ps input.ps&lt;br /&gt;&lt;br /&gt;次にpsbookで本に適した形になるようにページをシャッフルする。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ psbook a4.ps book.ps&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;そしてpsnupで用紙1枚あたり、2ページ印刷する。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ psnup -la4 -2 book.ps &gt;2up.ps&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;最後にこれを両面印刷すればOK。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ lp -o Duplex=DuplexTumble -o PageSize=A4 2up.ps&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;注意したいのは両面印刷を指定するDuplexオプション。うちのプリンタではDuplexNoTumbleだと印刷が表と裏で上下逆になってしまった。あとは印刷された結果を半分に折って、ホッチキスでとめるか、気合いを入れて製本すれば出来上がり！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-2684622625345859062?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MvHpIyeg3nrgOTpTHjofYwn7y4Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MvHpIyeg3nrgOTpTHjofYwn7y4Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MvHpIyeg3nrgOTpTHjofYwn7y4Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MvHpIyeg3nrgOTpTHjofYwn7y4Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/nTK1i183lb8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/2684622625345859062/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=2684622625345859062" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/2684622625345859062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/2684622625345859062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/nTK1i183lb8/blog-post.html" title="テキストを製本できるように印刷してみる" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIGRXkyeip7ImA9WxdQE0k.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-8812335057105102095</id><published>2007-08-25T14:48:00.001+09:00</published><updated>2008-06-13T17:58:44.792+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-13T17:58:44.792+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ghostscript" /><category scheme="http://www.blogger.com/atom/ns#" term="pdf" /><category scheme="http://www.blogger.com/atom/ns#" term="postscript" /><title>複数のpostscriptファイル(PDFも可)を一枚にまとめる方法</title><content type="html">&lt;p&gt;Web上でたまにダウンロード可能な書籍を発見することがある。大抵はちょっと古目の本だったりするんだけど、公開している著者に感謝しつつも、「なんで章ごとに別ファイル?」とたまにぷちっとなることがある。&lt;/p&gt;&lt;p&gt;そこで、複数のps(ポストスクリプト)ファイルをひとつにまとめあげる方法。下の例ではchap1.ps と chap2.ps を out.ps として結合して吐き出す。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;$ gs -dBATCH -dNOPAUSE -q -sDEVICE=pswrite -sPAPERSIZE=a4 -dNOPLATFONTS -sOutputFile=out.ps chap1.ps chap2.ps&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;chap2以下を延々連ねれば、いくらでも連結できる。Ghostscriptつえー。&lt;/p&gt;&lt;p&gt;ちなみに -sDEVICE=pdfwriteでやるとPDFファイルに出力できる。つえー。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-8812335057105102095?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SK3TO0jvh4CKw-Y5RR7832ubxc0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SK3TO0jvh4CKw-Y5RR7832ubxc0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SK3TO0jvh4CKw-Y5RR7832ubxc0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SK3TO0jvh4CKw-Y5RR7832ubxc0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/TWdXTt40gQ8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/8812335057105102095/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=8812335057105102095" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8812335057105102095?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8812335057105102095?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/TWdXTt40gQ8/pspdf.html" title="複数のpostscriptファイル(PDFも可)を一枚にまとめる方法" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/pspdf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8CQn08fip7ImA9WB5bEE8.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-4543346452346045335</id><published>2007-08-25T14:45:00.000+09:00</published><updated>2007-08-25T14:47:43.376+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-25T14:47:43.376+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="streaming" /><category scheme="http://www.blogger.com/atom/ns#" term="mp3" /><category scheme="http://www.blogger.com/atom/ns#" term="media" /><title>esd 経由で別のPCで音楽を聞いて見る</title><content type="html">&lt;p&gt;うちにはGentoo機が一台リビングのテレビにつながっていて、キャプチャーしたテレビ番組とかをみれるようにしてある。リビングなのでキーボー ドとかマウスとか無しで、操作はssh経由でやっているのだが、mp3などを聞くのにいちいちssh経由でmpg123などを起動するのが若干面倒。&lt;/p&gt;&lt;p&gt;そこで、別の部屋にあるメイン機（クライアント）から直接リビング機（サーバー）に音が出力できると多少楽になると思い、色々探した結果、簡単にesd ( Enligtenment Sound Daemon ) を使って出来ることを発見したのでメモしておく。&lt;/p&gt;&lt;div class="section" id="id1"&gt;     &lt;h4&gt;      &lt;a name="id1"&gt;サーバー側:&lt;/a&gt;     &lt;/h4&gt;     &lt;p&gt;esdを提供しているebuildはesound、さらにはesdというUSE FLAGもあるので設定しておく。&lt;/p&gt;     &lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;# emerge esound&lt;/pre&gt;     &lt;dl class="docutils"&gt;&lt;dt&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/blockquote&gt;&lt;dl class="docutils"&gt;&lt;dt&gt;次に/etc/esd/esd.confを編集する&lt;/dt&gt;&lt;dd&gt;       &lt;p class="first"&gt;-spawn_options=-terminate -nobeeps -as 2&lt;/p&gt;       &lt;p class="last"&gt;+spawn_options=-d default -nobeeps -as 2 -tcp&lt;/p&gt;      &lt;/dd&gt;&lt;/dl&gt;     &lt;p&gt;-terminate があるとクライアントが終了するとesdごと終了するのを防ぐため。&lt;/p&gt;     &lt;p&gt;-tcp をつけるのはtcp経由でリモートから演奏できるようにするため。&lt;/p&gt;     &lt;p&gt;-d はalsaのデフォルトのデバイスを指定している。&lt;/p&gt;     &lt;p&gt;デーモンの起動&lt;/p&gt;     &lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="section" id="id1"&gt;&lt;pre class="literal-block"&gt;# /etc/init.d/esound start&lt;/pre&gt;    &lt;/div&gt;&lt;div class="section" id="id2"&gt;     &lt;h4&gt;      &lt;a name="id2"&gt;&lt;/a&gt;&lt;/h4&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="section" id="id2"&gt;&lt;h4&gt;&lt;a name="id2"&gt;クライアント側:&lt;/a&gt;     &lt;/h4&gt;     &lt;p&gt;次 にクライアント側から音楽でもならしてみる。esdのUSE FLAG を設定していれば、mpg123や、beep-media-player、xmmsでも大丈夫なはず。 esdをリモートに飛ばす設定はクライアントPCの音声全てをリモートに飛ばす方法と、環境変数を使ってアプリ単位で飛ばす方法がある。今回は普段はロー カルのesdに音声を出力、サーバーでたまに音楽を聞きたいだけなので、環境変数でやってみる。&lt;/p&gt;     &lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;$ ESPEAKER=server.ip mpg123-esd hoge.mp3&lt;/pre&gt;     &lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;ESPEAKER環境変数をサーバーのIP:ポート(デフォルト16001)にしてあげて、 mpg123のesd版である、mpg123-esdをつかって何かを再生してみると…&lt;/p&gt;     &lt;p&gt;で　き　た　！　！&lt;/p&gt;     &lt;p&gt;ちょっとは便利になったかな？&lt;/p&gt;     &lt;p&gt;ちなみにサーバー側にusbのリモコンを繋げてごにょごにょと思って、ハード自体は購入ずみなんだけど、まだ試していない。やる機会があれば、レポートします。&lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-4543346452346045335?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JDYso7VgMwQp0MDaVTBeh22aiqc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JDYso7VgMwQp0MDaVTBeh22aiqc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JDYso7VgMwQp0MDaVTBeh22aiqc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JDYso7VgMwQp0MDaVTBeh22aiqc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/I9XW0_Cn5Qc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/4543346452346045335/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=4543346452346045335" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/4543346452346045335?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/4543346452346045335?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/I9XW0_Cn5Qc/esd-pc.html" title="esd 経由で別のPCで音楽を聞いて見る" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/esd-pc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkAFQHgzfSp7ImA9WB5bEE8.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-7979000960422322840</id><published>2007-08-25T14:43:00.000+09:00</published><updated>2007-08-25T14:45:11.685+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-25T14:45:11.685+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="3gp" /><category scheme="http://www.blogger.com/atom/ns#" term="携帯" /><category scheme="http://www.blogger.com/atom/ns#" term="mp3" /><category scheme="http://www.blogger.com/atom/ns#" term="media" /><category scheme="http://www.blogger.com/atom/ns#" term="着メロ" /><title>LinuxでP901i用iモーション(偽着メロ)を作る</title><content type="html">&lt;p&gt;チョット前に携帯をP901iに買い替えたので、自分で手持ちのmp3から着信音を作ってみようと思い、色々調べてみた。&lt;/p&gt;&lt;p&gt;ようは、mp3-&gt;3gpに変換できればいいわけだけど、以外と情報が無かったので、一応書いておく。&lt;/p&gt;&lt;p&gt;Windowsでは色々ソフトがあるみたいだけど、Linuxのみでできるか挑戦。結果は「なんとなく」できた。「なんとなく」というのは、P901iで再生は出来たけど、なぜか着信音として設定できなかったので、「なんとなく」。&lt;/p&gt;&lt;p&gt;手順はこんな感じ&lt;/p&gt;&lt;ol class="arabic simple"&gt;&lt;li&gt;適当なmp3を用意する。（たぶんwavとかでもだいじょうぶ)&lt;/li&gt;&lt;li&gt;      &lt;a href="http://www.eonet.ne.jp/%7Elink-room/k-tai/tanmatu/3gp.html" class="reference"&gt;ここ&lt;/a&gt;      から自分の携帯にあったビットレートとかを探す。     &lt;/li&gt;&lt;li&gt;ffmpegで変換する。&lt;/li&gt;&lt;li&gt;どっかにupして、携帯からダウンロードする。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;ffmpegのコマンドラインはこんな感じ&lt;/p&gt;&lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;$ ffmpeg -y -t 30 -i hage.mp3 -bitexact -vn -acodec aac -ac 2 -ar 16000 -ab 40 -f 3gp hage.3gp&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;-t 30 はあたまから30秒だけ使うの意。←もしかしたらこのあたりで着信音設定ができないのかもしない。ファイルでかいのかな？&lt;/p&gt;&lt;p&gt;ほかになにか必要なのかな？解かる人は教えてください！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-7979000960422322840?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/duzBzxqWC_yGtjYKDKU33BAHWqk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/duzBzxqWC_yGtjYKDKU33BAHWqk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/duzBzxqWC_yGtjYKDKU33BAHWqk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/duzBzxqWC_yGtjYKDKU33BAHWqk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/xXpu7CxL6OE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/7979000960422322840/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=7979000960422322840" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/7979000960422322840?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/7979000960422322840?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/xXpu7CxL6OE/linuxp901ii.html" title="LinuxでP901i用iモーション(偽着メロ)を作る" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/linuxp901ii.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIMR3c-eCp7ImA9WxdTEE4.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-4080534950955215186</id><published>2007-08-25T14:41:00.001+09:00</published><updated>2008-05-06T10:16:26.950+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-06T10:16:26.950+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="バックアップ" /><category scheme="http://www.blogger.com/atom/ns#" term="リストア" /><category scheme="http://www.blogger.com/atom/ns#" term="postgresql" /><title>Postgresql データベースのバックアップとリストアの覚書</title><content type="html">&lt;p&gt;Portageのpostgresqlのバージョンが上がっていたので、一度dbをダンプし、アップグレードをして、新しいバージョンにリストアしてみた。&lt;/p&gt; &lt;p&gt;具体的には&lt;/p&gt; &lt;p&gt;まずデータのバックアップを取る。&lt;/p&gt; &lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;# pg_dumpall &gt; db.dump&lt;br /&gt;# rm /var/lib/postgresql/data&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;postgresをアップグレードする。&lt;/p&gt; &lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;# emerge -U postgresql&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;新たにデータベースを作る。&lt;/p&gt; &lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;# mkdir -p /var/lib/postgresql/data&lt;br /&gt;# chown postgres /var/lib/postgresql/data&lt;br /&gt;# su postgres&lt;br /&gt;# /usr/bin/initdb -D /var/lib/postgresql/data&lt;br /&gt;# exit&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;postgresを起動して、データをリストアする。&lt;/p&gt; &lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;# /etc/init.d/postgresql start&lt;br /&gt;# psql  -U postgres -f db.dump template1&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;これで復旧完了！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-4080534950955215186?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k_oRskM0z0VABE3-xQMbQ2e2kQM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k_oRskM0z0VABE3-xQMbQ2e2kQM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/k_oRskM0z0VABE3-xQMbQ2e2kQM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k_oRskM0z0VABE3-xQMbQ2e2kQM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/YV6YFl8nDnU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/4080534950955215186/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=4080534950955215186" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/4080534950955215186?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/4080534950955215186?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/YV6YFl8nDnU/postgresql.html" title="Postgresql データベースのバックアップとリストアの覚書" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/postgresql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMCQHo7eip7ImA9WB5bEE8.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-8473265756718607061</id><published>2007-08-25T14:39:00.000+09:00</published><updated>2007-08-25T14:41:01.402+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-25T14:41:01.402+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="i18n" /><category scheme="http://www.blogger.com/atom/ns#" term="portage" /><category scheme="http://www.blogger.com/atom/ns#" term="mplayer" /><title>Mplayerのコンソール出力を英語に戻す方法</title><content type="html">&lt;p&gt;Mplayerを使って色々な自動化スクリプトを作ってみようと思ったら、コンソールへの吐き出しが日本語になっていた。 grepとかで処理をする場合日本語を使ったりすると汎用性にかけてしまうので、英語で吐いてもらいたい。&lt;/p&gt;&lt;p&gt;LANG=CとかLC_ALL=Cとかしても日本語のままだし、ぐぐっても何もでてこない。&lt;/p&gt;&lt;p&gt;答えはportageにあった。環境変数LINGUAS。うちはkde-18n用にmake.confの中に&lt;/p&gt;&lt;pre class="literal-block"&gt;&lt;blockquote&gt;LINGUAS="ja"&lt;/blockquote&gt;&lt;/pre&gt;&lt;p&gt;と入っている。mplayerのebuildも同環境変数を参照するため、mplayerを日本語化してくれていたのだ。&lt;/p&gt;&lt;pre class="literal-block"&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre class="literal-block"&gt;# LINGUAS="en" emerge mplayer&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;英語に戻った。ヨカッタ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-8473265756718607061?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BISoqBCvKkEVleCi8MuVxRZPck8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BISoqBCvKkEVleCi8MuVxRZPck8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BISoqBCvKkEVleCi8MuVxRZPck8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BISoqBCvKkEVleCi8MuVxRZPck8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/dGeMuOqbVuk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/8473265756718607061/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=8473265756718607061" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8473265756718607061?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8473265756718607061?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/dGeMuOqbVuk/mplayer.html" title="Mplayerのコンソール出力を英語に戻す方法" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/mplayer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8CQHY_fip7ImA9WxdQFk0.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-3308440709688541147</id><published>2007-08-25T14:12:00.001+09:00</published><updated>2008-06-16T16:21:01.846+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-16T16:21:01.846+09:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wma" /><category scheme="http://www.blogger.com/atom/ns#" term="変換" /><category scheme="http://www.blogger.com/atom/ns#" term="mp3" /><category scheme="http://www.blogger.com/atom/ns#" term="media" /><category scheme="http://www.blogger.com/atom/ns#" term="mplayer" /><title>wma を mp3に変換する</title><content type="html">何故かWindows Media Player でエンコードしたファイルがあったのでmp3に変換。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ mplayer hoge.wma -ao pcm -aofile hage.wav&lt;br /&gt;$ lame hage.wav hage.mp3&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;で出来る。ワンパスで出来ないのかなー…とりあえず、mplayer最強。&lt;br /&gt;&lt;br /&gt;追記 :2008年6月16日&lt;br /&gt;コメントを下さったcola-zeroさんが&lt;a href="http://cola-zero-cola-zero.blogspot.com/2007/11/wmamp3.html"&gt;こちら&lt;/a&gt;でMac (leopard)の手順を紹介していますよ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-3308440709688541147?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/22veaRVBGxqA_vT0BMpA3ByT-ws/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/22veaRVBGxqA_vT0BMpA3ByT-ws/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/22veaRVBGxqA_vT0BMpA3ByT-ws/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/22veaRVBGxqA_vT0BMpA3ByT-ws/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/auhuOkMFq_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/3308440709688541147/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=3308440709688541147" title="3 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/3308440709688541147?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/3308440709688541147?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/auhuOkMFq_s/wma-mp3.html" title="wma を mp3に変換する" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/wma-mp3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUMQn84fip7ImA9WB5bEEw.&quot;"><id>tag:blogger.com,1999:blog-6417711226297304467.post-8219646833164810174</id><published>2007-08-25T14:00:00.000+09:00</published><updated>2007-08-25T14:04:43.136+09:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-25T14:04:43.136+09:00</app:edited><title>Linux Tips移行中</title><content type="html">訳あってブログを新設。&lt;br /&gt;&lt;a href="http://www.japanvik.net/"&gt;japanvik.net&lt;/a&gt;からLinuxのTips関係をこちらに移行します。&lt;br /&gt;そして今後新しいネタはこっちに書いていきます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6417711226297304467-8219646833164810174?l=vikslinuxtips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OmCYD1S2giOfJfwwnNUxM3JVtUY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OmCYD1S2giOfJfwwnNUxM3JVtUY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OmCYD1S2giOfJfwwnNUxM3JVtUY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OmCYD1S2giOfJfwwnNUxM3JVtUY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ViksLinuxTips/~4/5eYsTK0OkN8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://vikslinuxtips.blogspot.com/feeds/8219646833164810174/comments/default" title="コメントの投稿" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6417711226297304467&amp;postID=8219646833164810174" title="0 件のコメント" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8219646833164810174?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6417711226297304467/posts/default/8219646833164810174?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ViksLinuxTips/~3/5eYsTK0OkN8/linux-tips.html" title="Linux Tips移行中" /><author><name>Vik</name><uri>http://www.blogger.com/profile/01527757915984965095</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-Y63oNKagFdA/TnNQ7Yt8IjI/AAAAAAAAAIQ/RMdhSyC4P7o/s1600/fb_reasonably_small.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://vikslinuxtips.blogspot.com/2007/08/linux-tips.html</feedburner:origLink></entry></feed>

