トップ 最新 追記

Plamo Linux 日記

Plamo Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

2003|09|10|12|
2004|01|02|03|04|06|07|08|09|10|11|12|
2005|01|03|04|05|06|08|09|10|11|12|
2006|02|03|04|05|06|07|08|09|10|12|
2007|01|02|05|06|07|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|06|07|09|10|11|12|
2010|01|02|04|05|07|10|11|
2011|01|02|03|05|07|
2012|02|03|04|
2013|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|
2017|02|
2019|03|

2014-05-01 [長年日記]

_ ATA ハードディスクの整理

ThinkPad X1 Carbon に Linux をインストールしたのでハードディスクの整理をぼちぼちと始めています.

気軽に使える Linux 専用マシンが手元になかったのでこれまで放置してました.

整理したかったのは ATA のハードディスクで xfs でフォーマットされている物が数個です.データ自体は重要度は高くないけど,念のために吸い出しておきたいなと思ってた物です.

手元にはすでに ATA のハードディスクを直接読み出せるマシンはありません.ATA から eSATA/USB2 変換ケーブルはあるけど,eSATA がついてるマシンもありません.なので USB で吸い出すことになるんだけど,USB2 でハードディスク数個分の全データとなるとちょっと時間がかかりそう.また,ファイルシステムが xfs なので Windows/Mac じゃ普通に読み書きできない.Mac や Windows の VMware とか Parallels などに Linux 入れて吸い出そうとしてはみたものの,普通に USB2 経由でデータ取り出すよりもさらに転送速度が遅い上に,仮想マシンの負荷が思ったよりかかってホストマシンの動作がカクカクになり,ホストマシン自体が他の用途に使えなくなって厳しい状況.ってことで数年くらい放置状態でした.

でも今回,Linux が入ってて,しばらく放置しても問題ないマシンが出来たってことで吸い出し作業開始.

最初,ATA HDD - ATA/USB 変換 - ThinkPad (Debian) と接続して ThinkPad の SSD にデータを取り出して,別メディアにコピーしてを繰り返そうとしたら,何度もメディアコピーを繰り返すことになって手間かかることが判明.仕方ないので ATA HDD - ATA/USB 変換 - ThinkPad (Debian) - USB 有線イーサネットポート - 有線 LAN - Desktop (Windows) という形で Windows から sftp で Debian にログインして転送してみました.

なんか思ったよりも速度出ているようで,ハードディスク1個が約半日くらいで終わりそうな様子.この様子だとまる2日くらいで終わりそう.Windows は sftp くらいなら裏画面においておけば気にならない程度の負荷なので問題なさそう.

_ と思ったら

作業途中で Windows のハードディスクが物理的故障でお亡くなりになってしまいました.せっかく吸い出したデータも全部飛んでしまいました.故障したハードディスクは HGST の 3.5inch 2T のもの.

替わりのハードディスクを手配してもう一回やり直し.またしばらく先になりそう.


2014-05-02 [長年日記]

_ Emacs 24.4 for Mac OS with inline patch パッケージ手順

メモ代わりに記載しておきます.git/emacs ディレクトリ以下に git で emacs ソースを取ってきているものとします.

emacs の git ソースは git://git.savannah.gnu.org/emacs.git にあります.

 % cd git/emacs
 % git pull
 % git archive --format=tar --prefix=emacs-24.4-20140417/ HEAD -o ../../emacs-24.4-20140417.tar
 % cd ../../
 % bzip emacs-24.4-20140417.tar
 % tar jxvf emacs-24.4-20140417.tar.bz2
 % cd emacs-24.4-20140417
 % patch -p1 < 過去のinline.patch

手作業で reject などを修正.

 % git add -N src/macim.m
 % git diff HEAD > ../emacs-24.4-20140417-inline.patch
 % ./autogen.sh
 % ./configure --with-ns --without-x
 % make bootstrap
 % make install

その後,ディスクユーティリティで nextstep/Emacs.app をイメージ化する.「ファイル」>「新規」>「フォルダからのディスクイメージ」から nextstep/Emacs.app を選択して emacs-24.4-20140417.dmg を作成.


2014-05-06 [長年日記]

_ Mac OS X 10.6 Snow Lepard

やっぱり OS 自体のサポート終了したという認識か,サポートするソフトウエアも段々減っていますね.

Mac OS はどうしてサポート終了ですって公式にアナウンスしないんだろう?

_ SourceTree

Git GUI ツールの SourceTree ですが,バージョンアップしてみてちょっと驚きました.

間違えて GitHub for Mac を立ち上げたのかと思うくらい GUI は GitHub for Mac そっくりになっています.動作も GitHub 並みに軽くなっていると良いんだけど.

久しぶりに SourceTree も使ってみようかな.

説明は Windowd 版も共通なので Windows 版も GitHub みたいな外観になっているのかな?その辺りは未チェックです.

本日のツッコミ(全1件) [ツッコミを入れる]

_ matsuki [SourceTree の最新版ですが,なんだかやっぱり動作がのろい感じ.おまけに不安定で良く落ちるし....]


2014-05-07 [長年日記]

_ VMware fusion に Plamo Linux インストール

久々に VMware fusion 6 に Plamo Linux 5.2 をインストールしてみました.64bit 版 Plamo Linux です.

数日いじってみましたが,目立った不具合は特になさそうです.ネットワークも使えるし,X も普通に使えています.

インストールした目的は最新版を追っ掛ける身近な環境を用意しておくためです.そのため,Plamo-5.2 の iso イメージからパッケージ類のファイル類を取り出してコピー.その後,最新版との差分を Plamo-5.x から rsync で取ってきました.

コマンドラインで書くとこんな感じかな?(未チェックです)

 # cd ~
 # mkdir -p Plamo-5.x/{x86,x86_64}
 # mount -o loop plamo-5.2_x86_dvd.iso /mnt
 # cd /mnt
 # tar cf - plamo contrib | (cd ~/Plamo-5.x/x86 ; tar xvpf -)
 # cd ~
 # umount /mnt
 # mount -o loop plamo-5.2_x86_64_dvd.iso /mnt
 # cd /mnt
 # tar cf - plamo contrib | (cd ~/Plamo-5.x/x86_64 ; tar xvpf -)
 # cd ~
 # umount /mnt
 # rsync -av -e ssh --delete --exclude 'old' xxxxx@plamo.linet.gr.jp:/home/ftp/pub/Plamo-5.x/ Plamo-5.x/

cd コマンドを使う代わりに,tar に -C オプションを使った方がプロセスやメモリの無駄遣いにならなくて良いかもしれないですが,昔からの惰性で cd コマンドを使ってしまってます.また,この rsync コマンドをそのまま実行するためには plamo.linet.gr.jp にアカウントが必要です.異なるプロトコルを使う場合には,適宜,変更して使って下さい.

仮想環境でやってますが,実マシン環境で同様にしておけばちょっとだけ便利ですね.全パッケージをハードディスク上に展開したパーティションを別に切って,ブート周りとインストーラだけ入った iso イメージを作って OS インストールを行えば,インストーラの途中からパッケージは HDD からインストールできます.そうすれば短時間で再インストールすることが出来ますね.

以上,参考まで.

_ Plamo Linux 最新版を取ってきた目的

最新版のパッケージ一式を取ってきたのは,パッケージの全ビルドスクリプトを取り出しておこうという目的もあります.

昨年7月くらいに一度取り出しましたが,そこから差分も発生しているかなというのもあって.一応,そのときの物をベースとして GitHub には登録されていますが,やっぱり全部がきちんと更新されているわけではなさそうな雰囲気なので差分が発生しているかなという懸念も持ってます.ということで,ビルドスクリプトの最新版を取り出して一気に GitHub の方に反映させておこうかなと.

その前に,その時に使ったビルドスクリプトを取り出すために作ったスクリプトが見当たらないので探さないとダメなのですが....見つかるかな....ちょっと不安.


2014-05-08 [長年日記]

_ GitHub の Plamo-src 履歴

見てたら,初期に plamo.linet.gr.jp 上で Git ベースで作業していた頃の私の履歴も残っているんですね.

Git から GitHub に移動させるときに削除されて居るのかと思ってたのでちょっとびっくりしました.

_ Plamo-src 一式を作成するスクリプト

ちょっと探してみたけど見当たらないな.

2007年くらいのバックアップは残してあるけど,最近のバックアップは見つからない.仕方ないからまた合間時間に作るかな.

_ Test Code

書くのは面倒だな.ハード設計でもソフト設計でも.

普通の設計の時のコードはわりとガシガシ作業できるのに,テスト用のコード書き始めるとなぜかあんまりモチベーションわかなくなるのはどうしてでしょうね.設計に大幅に変更が入ったりすると,テストコードはほとんど作り直しになると余計嫌になるし.


2014-05-12 [長年日記]

_ Debian 勉強会

5/17 の勉強会は docker.io かぁ.勉強会の詳細に関しては この辺 に記載があります.

_ iTunes Match

iTunes Match は iTunes に保存してある音楽データを iCloud に保存して,色々なデバイスで聞くことが出来るようになるしくみのことです.iTunes に保存してある曲を iTunes Store のデータベースと照合して,同じ曲があればダウンロード出来るようにし,なければ手元の曲をエンコードしてクラウドにアップデートすることで実現しています.詳細は この辺 に説明があります.

色んな所で話題になっていて,処理が終了しないという話が多いですが家も同じ感じです.手元にはアルバム 1100 枚,13000 曲程度のデータがありますが,1週間ほど経ちますがまだ処理は全部終了していません.一部の曲をエンコードしてアップロードする作業が途中で止まっているようです.ただ,曲のマッチングデータをクラウド側にアップロードする作業は終了しているようで,itunes Match に登録した機器で iTunes に登録してある曲やアルバムデータは参照できるようになっています.

このサービス,実は海の向こうで始まったときから早く日本でも始まらないのかなぁと期待していたサービスでした.

CD を購入したり借りたりすることが多いのですが,同じアルバムを何枚も買ったり借りたりすることが多かったんです.酷い場合には,全く気がつかずに同じ CD を3枚購入していたことがありました.まぁ,輸入盤,国内特典版,国内通常版と全く同じ物ではなかったのが救いでしたが,それでも元々はそこまで必要ない物.そこで,iPod などの携帯デバイスに全部の曲データを入れて持ち歩けばいいかなと思って,過去には色々と試してみていました.

はじめは,iTunes から曲データだけを引っ張り出して紙にプリントアウトして持ち出してみたり,csv にしてスマフォで持ち出してみたりしたこともありましたが使い勝手がイマイチでした.リッピングしたけど,持ち出すデータの方を更新するのが手間なのでついつい更新し忘れてしまうんですよね.

次に iPod/iPhone に全部の曲データを同期して入れれば良いかと思ったのですが,全部ロスレスで扱っているので全データ量が 300GB 以上.当然,そのまま入る iPod/iPhone, Android はありません.基本的に,ポータブル機ではほとんど音楽を聞くことはなく,音質はどうでも良かったので,iPod classic に 256kpbs でトランスコードして持ち歩くようにしました.

しばらくそれで使っていましたが,iPod ではやはりあまり曲は聞かないし,おまけに iPod classic で曲の検索は結構面倒.また,iPhone もあるので似たような物を何台も持ち歩いている状態.どうせなら iPhone だけにまとめられないかなということで iPhone に 128kbps にトランスコードして持ち歩くように変えました.

この頃かな?海外で iTunes Match が始まるというニュースがあって,このサービスがあればもしかしたらこんな事をしなくても済むんじゃないかなぁ,うらやましいなぁと思って見ていました.

その後,しばらくは iPhone だけで大丈夫だったのですが,曲数が段々増えていき,数ヶ月ほど前に 64GB の iPhone でも全部が入るかどうかのぎりぎりの状態になり,最近とうとう溢れてしまいました.仕方ないので,Android 機に 64GB の SD カードを挿して 64kpbs にトランスコードして使い始めました.iTunes だと 128kbps 以下のビットレートが選べないですが,Winamp だとトランスコードのビットレートが割と自由に選べたんですよね.それで,Winamp を使って iTunes データベースを読み込んで Android 機器に 64kbps にトランスコードする形をとりました.結局,iPod classic と iPhone を持ち歩いていたときと同じように,iPhone と Android 機の2台持ち出しに戻ってしまったって事ですね.

そこに日本国内でも iTunes Match がサービス開始の朗報.

iTunes Match に iPhone を機器登録しておけば,家にある曲のマッチデータだけを参照することが出来ることを確認.早速,iPhone からトランスコードした曲データはばっさり削除しました.おかげで,今では 7GB ほど使っていない状態になりました.実際の曲データが入ってなくても,何のアルバムを持っているかは分かるのでこれで十分.

次世代の iPhone が 128GB で出ればそれに乗り換えるか,それとも 128GB の iPad mini とかに乗り換えるかなどと一時期は悩んでいましたが,その必要もなくなり,今のままで十分だなということになりました.

まぁ,こういう変わった(?)使い方をしている人も居ると言うことで,だらだらと書いてみました.

_ Plamo-src 一式を作成するスクリプト(続き)

見当たらないから作るかなと思ったのは良いけど,何の言語でどんな感じに作っていたのか詳しく思い出せない.

確か bash script で,Plamo のディレクトリを指定すると,カレントディレクトリをサーチして,ディレクトリなら再帰呼び出しして,パッケージファイルならビルドスクリプトを取り出してって感じのスクリプトを作った気がするんだけど.

まぁ,昔作った物にこだわる必要はないんですけどね.

という感じでまだ未着手.


2014-05-13 [長年日記]

_ QNAP TS-469Pro

少し前に QNAP の TS-470 という NAS を購入して使用して居ました.ここにもちょっと記載しています.

サーバーとして使えるかなぁと思って購入したものの,実際使ってみると求めていたサーバーとしてのスペックには足りませんでした.また,NAS としてはオーバースペック気味だったのと,メディアプレーヤーとして使うときには赤外リモコンが使えないというのもあり,安価な TS-469Pro に入れ替えました.処分した差額で新規にハードディスクも調達.4T x 4 構成としました.

おなじインテル CPU を使っていますが,CPU,メモリ,ネットワーク周りがスペックダウンになります.

使ってみた感想はやっぱり TS-470 に比べると目に見えて遅いなぁということでしょうか.でも,頻繁にファイルを読み書きするような使い方はしないので個人的には問題なし.メディアプレーヤー (XBMC) で Full HD の再生も問題なくできました.色々といじってみた感じ,メモリが標準状態の 1GB では不足気味に感じたので,手元にあった 2GB の SO-DIMM を刺してみたところ問題なく認識.色んなサイトを見てみるとメモリの相性が結構あるような記載があったので,ダメだろうなぁと思っていたのにあっさり認識したので逆に拍子抜けしてしまいました.ちなみに使ったメモリは hinix の 2GB 1Rx8 PC3-10600S-9-10-B1 の HMT325S6BFR8C-H9 ってやつです.確か,Mac mini に最初に刺さっていたメモリじゃないかな.TS-469Pro にメモリ増設したところ,動作も若干レスポンスが良くなりました.1GB では足りなくって,swap out していたってことなのかな?

あとはリモコンについて.

TS-470 では赤外線ポートがないので赤外リモコンは使えません.スマフォにアプリを入れれば,スマフォからタッチパネルのリモコンは使えますがどうも使い勝手が悪い.対して TS-469Pro の方は標準で赤外ポートを搭載しているので赤外リモコンが使えます.ということで,TS-469Pro に向かって手元にあったリモコンを適当に使ってみましたが当然認識しません.使えればラッキーだと思ったんですけどね.Windows MCE 互換の物であれば使えるという話もありましたが,MCE 互換のリモコンは持ってなかったし,ちょこっと調べてみるとほとんどディスコン.割と入手困難な雰囲気でした.中古リモコン買うのもなんだか嫌だったので,QNAP のサイトから QNAP 純正のリモコンをオンラインで注文してみました.一応,国内サイトで販売しているところがないかなと思って調べてみたのですが見当たらなかったです.仕方ないので,QNAP の日本語サイトからたどっていくと,途中から海外の QNAP のオンラインサイトに飛ばされてしまいます.飛ばされると言うことはそこから注文できると言うことかなと思い,普通に英語サイトから注文してみました.支払いは PayPal.若干不安でしたが,翌日には受け付けましたよのメールが来て,その翌日くらいに発送メール,3日後くらいには無事入手することが出来ました.

リモコンの価格は $40 でしたが,若干作りはチープな感じ.でも,一通り XBMC 上からスキップとかチャプター選択なども出来て,問題なく使えることを確認しました.海外からの発送でしたが,送料は無料でした.DHL での配送だったかな.

NAS 自体はスペックダウンはしましたが,普通の赤外リモコンも使えるようになったので使い勝手は若干向上したかなという感じです.

_ あれ? TS-470 に関して訂正

今,スペック表を確認したら TS-470 にも IR ポートは付いていました.ただし,MCE リモコンしか使えません.

オプションリストにリモコンがなかったので誤解していました.上記文章を修正するのは手間なのでそのままとさせて下さい.

買い換えたのは早まったかなぁ.でも,ハードディスク容量が増えたからまぁよしとしよう.

_ あまったハードディスク

ということで手元に余ったハードディスクが結構出来てしまった.処分しようか,それとも予備として置いておこうかな.

WD の 2T とか 3T の容量の物が多いのですが,調べてみると割と良い値段で引き取ってもらえるみたいです.ドスパラだと WD 3T のもので買い取り上限が6000円くらい.ちょっと考えよう.


2014-05-14 [長年日記]

_ iVDR の 4k ビデオ対応

マイナー規格の iVDR ですが,今月末に開催される iVDR expo 2014 で 4k セルパッケージの話があるみたいです.4k 自体にあんまり興味はないのですが,iVDR はもうちょっと使いやすくなって,対応機種が増えると良いなぁとは思っています.けど,現状を見てると多分無理だろうなぁ.

_ css エディタ

css ファイルをぼちぼちといじってみているんですけど,テキストベースじゃなくって,なんか編集するのに良いツールってないのかなぁ.やっぱり Adobe Dreamweaver とかになっちゃうのかな?

MVC モデルで View ファイルと css ファイルが分離されていて Dreamweaver では css が上手く読み込まれないんで,無理矢理読み込ませてみてるけど結構面倒.もっと簡単な方法があるのかな.あんまり Dreamweaver は使いこなせていないので,よく分からないんですよね.

Mac 上でいじってたので,その他のエディタとして Coda とか Espresso, Eclipse などで css をいじってはみたけど,どれも何だかしっくりこない.

_ ぎひょうで

加藤さんのLXC の連載が始まったんですね.


2014-05-16 [長年日記]

_ au 4G LTE 回線を使った MVNO

ケイ・オプティコムが au 回線使った MVNO を始めるみたいですね.名前は mineo か.

もともと KDDI って東京電力が株主だったりで電力系に関係深い会社だなと思ってましたが,ケイ・オプティコムも関西電力系の会社だし,そういう関係でケイ・オプティコムからサービス開始って事になったのかな?

au LTE 対応の端末もいくつか持っているし,月々 1GB で 980 円って事でお手軽だから試しに契約してみようかな.5月末まで先行で sim 契約の予約すれば 980円 x 6ヶ月 の割引もあるし.

ただ,1年以内に解約すると9800円の違約金があるからちょっと注意が必要だな.

_ ちなみに

docomo の回線を使った MVNO は数社から出てますが,スピードの違いは契約内容の差分だけではなく,提供されている回線のバックボーンの違いもあるという噂を聞いたことがあります.バックボーン回線を提供しているのが長距離会社なのか,短距離会社なのか,法人向け会社なのかでスピードの違いが出るらしいです.

iij が割と高速って言われるのは,バックボーンも有利な物を使っているからという理由もあるらしいです.

本当か嘘かは不明ですけど.


2014-05-19 [長年日記]

_ FM アンテナ

実家に建ててあった12素子と4素子の FM 専用アンテナが風で崩壊したらしい.もう誰も使ってないから撤去するって連絡がありました.

昔,色んな音源を聞くために FM のエアチェックを頻繁に行っていました.一応説明しておくとエアチェックとは FM/AM などの放送をカセットテープなどに録音することです.当時は2週間程度の番組表が記載された雑誌等が売られていたので,それを購入,番組表をチェックして色々とカセットテープに録音していました.FM 系の雑誌だと,週間 FM,FM station, FM fan, FM レコパルなんかがあったかな.

AM は割と簡単にきれいに音が入りますが,FM の場合はそうはいかない.発信局までの距離が遠かったりするとノイズまみれとかになったり,ステレオで入らずにモノラルになってしまったりする.それを解決するために,FM 専用のアンテナを立てて使ってました.方角や電波強度の異なる色んな放送局に対応するために,1本のポールに12素子4素子の2つのアンテナを方角を違えて立て,アンテナからのケーブルの途中でアンテナ切り替えスイッチを付け,アンテナ切り替えしながら色んな放送を聞いていました.わりと大きなアンテナポールを使っていたので,経年劣化と強風で重さに耐えられなくなって崩壊してしまったらしい.

エアチェックという文化自体は今でもあるかなと思っていますが,今だと「radiko」や「らじる★らじる」を PC とかスマフォで録音って形がメインになるのかな.パソコンとか使うの面倒だと言って,知人にはオリンパスのラジオサーバーを使っている人も居ます.割と高価なラジオ機器ですけど,kakaku.com とかでは人気売れ筋ランキング1位ですね.

一時期,使ってるのを見て自分も欲しいなぁと思ったこともありますが,冷静になると,私自身はラジオはほとんど聞かなくなっているので購入は見送りました.今は,所有している CD/レコード音源をかけていることが多いですね.

_ サーバーダウンによりアプリ使えない状況

どこかが大規模にやるかなと思っていましたが,アドビがやっていましたね.

認証サーバーが止まってしまったようで,止まっている期間にログアウトしてしまうと,その後は各種サービスが全く使えなくなってしまい,アドビのクラウドを使ったアプリも使えなくなっていたようです.一応,アドビのソフトはいくつか持っていますが,こういうこともあるかなとアップデートは行わずに,ローカルで使えるバージョンの物を使い続けています.

その他,止まってしまうと困るツール類は,極力,ネットワーク経由で動作する物は使わないようにしています.ネットワーク経由で使う FEP とかも論外.クラウド系の Office ツールも.けど,世の中は色んなツールが徐々にネットワークを使う形に移行している雰囲気なので,いつまで逃げられるか少し不安はあります.


2014-05-20 [長年日記]

_ javascript

一時期はセキュリティのために javascript を off にして使うって事も流行ってましたが,最近はどうなんだろう.

javascript を off にすると,色んなライブラリが動作しなくなるからまともに動作しないホームページが多そうだけど.

あれこれ考える前に,試してみれば良いのか.

_ 試しに javascript を off にしてちょこっと触ってみた

google 系はまともに使えない物が多いですね.

yahoo は,サイトによっては「off になっているので,すべての機能を使うためには on にしてください」ってアラートがずっと表示されるのか.

twitter, facebook とかは割と普通に使える感じかな.

google 系が動作しなくなると,当然 google api 呼んでるところも動作が制限されるから割と影響大きいんだな.

javascript ってよっぽどじゃないと off にして常用するのは厳しい雰囲気ですね.

_ Plamo-src 一式を作成するスクリプト(続き)

だらだらと先延ばし.

とりあえず,再帰でディレクトリをたどっていって,パッケージかどうか判断するところまで書いてみた.一部記述は検索で引っかかったホームページから拝借しています.

#!/bin/bash
 
extract_src () {
	str_base=${1%.*}
	str_pkg=${1%%-*}
	case $2 in
	tbz)
		cmp=bzip2
		;;
	tgz)
		cmp=gzip
		;;
	txz)
		cmp=xz
		;;
	*)
		cmp=
		;;
	esac
	echo "$1 is package. : $str_pkg $str_base $cmp"
	#echo "$cmp -dc $1 | tar xvf - usr/share/doc"
}
 
seek_dir () {
	for ELEM in * ; do
		if [ -f $ELEM ] ; then
			str_ext=${ELEM##*.}
			if [[ "$str_ext" =~ t[bgx]z ]] ; then
				extract_src $ELEM $str_ext ;
			#else
			#	echo "$ELEM is file. : $str_ext"
			fi
		fi
		if [ -d $ELEM ] ; then
			#echo "$ELEM is dir."
			(cd $ELEM ; seek_dir ; )
		fi
	done
}
 
for TARG in "$@" ; do
	cd $TARG ;
	seek_dir ;
done

ここまで所要時間15分程度.以前作ったときより時間かかっている気がする.

引数に Plamo-5.x などのディレクトリ名を与えると,その下をたどりながらパッケージファイルを探す形になっています.find を使わずに -f や -d で判断しているのは外部コマンドをできるだけ使わない方が良いかなと思ったからです.ファイル名の一部を取り出すのも basename などのコマンドを使ってなく,シェルの機能だけでやっているのも同様の理由です.でも,もしかしたら test コマンドとか自動で呼び出されているのかもしれないけど,そこまで考え始めるとキリがないから勘弁して下さい.:-)

あとは,パッケージ名と同じディレクトリを別途掘って,その下にパッケージファイルからビルドスクリプトを取り出して,そちらのディレクトリに入れる処理を追加する予定.


2014-05-21 [長年日記]

_ テーマ変更しました

pre タグを使うと見にくい配色だったので,テーマ変更しました.とりあえず見やすそうなのを選んでみましたが,気に入らなければまたそのうち変更するかもしれないです.

自分で css を修正しても良かったんだけど,それも面倒だったので.

_ たまには

Linux / Unix ネタを書かないとなぁということで.

_ test コマンド

調べてみたら bash の場合には [ は built-in のようですね.

そういえば,/bin 以下にある [ がゴミだと思って消したらシステムがまともに動作しなくなったっていうあるあるネタもありましたね.

_ いろいろな言語

色々な言語を使っていると,どれがどう書くんだったかすぐに忘れます.

今回も bash スクリプトで正規表現比較を if [ "$str_ext" =~ t[bgx]z ] ; then って書いて動作しないなぁと思ったら [[ ]] にしないととか,すぐ忘れてしまう.

わーっと一気に書いてみるけど全く動作しないから,マニュアル見ながら「あぁ,そういえばそうだったな」ってのが多いから久しぶりに書くと余計時間かかりますね.

_ Plamo-src 一式を作成するスクリプト(続き)

さらにだらだらと先延ばし.

できるだけ外部コマンドを呼ばないで何とかするのも段々苦しくなってきたので,一部,外部コマンド呼ぶようにしました.引数の取り方を変えて,ソース展開する場所を指定するようにしたのと,ソースを展開する関数を作って一部そっちに機能を移動しました.doc 以下のディレクトリを取り出したは良いけど,ビルドスクリプトだけ取り出すって判断はどうすれば良いのかな.そのあたりはまた先送り.

ということで,10分くらいで適当に書き換えて現状こんな感じ.

#!/bin/bash
 
extract_src () {
	PLSRC=$1
	str_file=$2
	str_base=${str_file%.*}
	str_pkg=${str_file%%-*}
	str_ext=${str_file##*.}
 
	case $str_ext in
	tbz)
		cmp=bzip2
		;;
	tgz)
		cmp=gzip
		;;
	txz)
		cmp=xz
		;;
	*)
		cmp=none
		;;
	esac
	if [ "$cmp" != "none" ] ; then
		#echo "$str_file is package. : $str_pkg $str_base $cmp"
		echo "$cmp -dc $str_file | tar -C $PLSRC/tmp -xvf - usr/share/doc"
		echo "mv $PLSRC/tmp/* $PLSRC/$str_pkg"
	fi
}
 
seek_dir () {
	PLSRC=$1
	for ELEM in * ; do
		if [ -f $ELEM ] ; then
			#str_ext=${ELEM##*.}
			#if [[ "$str_ext" =~ t[bgx]z ]] ; then
				#extract_src $PLSRC $ELEM $str_ext ;
				extract_src $PLSRC $ELEM ;
			#else
			#	echo "$ELEM is file. : $str_ext"
			#fi
		fi
		if [ -d $ELEM ] ; then
			#echo "$ELEM is dir."
			(cd $ELEM ; seek_dir $PLSRC/$ELEM ; )
		fi
	done
}
 
if [ $# = 2 ] ; then
	PLSRC=$(cd $(dirname $2) && pwd) ;
	cd $1 ;
	seek_dir $PLSRC ;
else
	echo "usage: $0 [package_dir] [extract_src_dir]"
fi

最終的に使おうとしているコマンドを echo で表示しています.必要なくなった記述もコメントアウトだけして全部は削除してないです.

以上,参考まで.


2014-05-22 [長年日記]

_ Plamo-src 一式を作成するスクリプト(最終章?)

build スクリプトかどうかの判断をどういう基準でやっていたのかイマイチ思い出せない.GitHub の Plamo-src ツリーを見てもちょっと謎.

とりあえず PlamoBuild* ってファイルをサーチして,それと同じディレクトリにある *patch* ファイルも集めるようにしてみた.

これで GitHub にあるものよりも新しいファイルを見つけるには十分だろう.

ってことでこんな感じに.前回からの差分としては上記の機能追加と,ソース展開用のコマンド引数がディレクトリかどうかの判断を追加したくらいかな.結局,ファイル展開するところは外部コマンドを呼びまくりなのはご愛敬.

#!/bin/bash
 
extract_src () {
	PLSRC=$1
	str_file=$2
	str_base=${str_file%.*}
	str_pkg=${str_file%%-*}
	str_ext=${str_file##*.}
 
	case $str_ext in
	tbz)
		cmp=bzip2
		;;
	tgz)
		cmp=gzip
		;;
	txz)
		cmp=xz
		;;
	*)
		cmp=none
		;;
	esac
	if [ "$cmp" != "none" ] ; then
		#echo "$str_file is package. : $str_pkg $str_base $cmp"
		echo "extract: $str_file to $PLSRC"
		mkdir -p $PLSRC/{tmp,$str_pkg}
		$cmp -dc $str_file | tar -C $PLSRC/tmp -xf - usr/share/doc
		build_scr=$(find $PLSRC/tmp -name "PlamoBuild*")
		build_path=${build_scr%/*}
		#echo "$build_scr $build_path"
		if [ -n "$build_path" ] ; then
			mv $build_path/{PlamoBuild*,*patch*} $PLSRC/$str_pkg 2> /dev/null
			gunzip $PLSRC/$str_pkg/*
		else
			touch $PLSRC/$str_pkg/empty
		fi
		rm -rf $PLSRC/tmp
	fi
}
 
seek_dir () {
	PLSRC=$1
	for ELEM in * ; do
		if [ -f $ELEM ] ; then
			#str_ext=${ELEM##*.}
			#if [[ "$str_ext" =~ t[bgx]z ]] ; then
				extract_src $PLSRC $ELEM ;
			#else
			#	echo "$ELEM is file. : $str_ext"
			#fi
		fi
		if [ -d $ELEM ] ; then
			#echo "$ELEM is dir."
			(cd $ELEM ; seek_dir $PLSRC/$ELEM ; )
		fi
	done
}
 
if [ $# = 2 ] ; then
	if [ ! -d $2 ] ; then
		mkdir -p $2
	else
		rm -rf $2/* 2> /dev/null
	fi
	PLSRC=$(cd $2 && pwd) ;
	cd $1 ;
	seek_dir $PLSRC ;
else
	echo "usage: $0 [package_dir] [extract_src_dir]"
fi

上記を適当なファイル (たとえば hogehoge.sh) に保存したのち,実行権限を付けて下記のコマンドを実行します.

% hogehoge.sh Plamo-5.x/x86_64/plamo ./Plamo-current-src

そうすると ./Plamo-current-src 以下に Plamo-5.x/x86_64/plamo 以下のビルドスクリプトが集められます.当然 Plamo-5.x ツリーが手元にないとダメですけど.

以上,シェルスクリプトを作る過程をちょっと文章にしてみました.

_ 次は

何作ろうかな.

PlamoBuild に含まれる url をサーチして新しいバージョンのソフトが出てないかチェックして,新しい物があれば表示するものとかあればちょっと便利かな?

本日のツッコミ(全1件) [ツッコミを入れる]

_ tamu [PlamoBuildスクリプトに含まれるurlからパッチを集めるようにすると良いですね。PlamoBuildスクリプ..]


2014-05-26 [長年日記]

_ Plamo-5.x と Plamo-src の差分

先日,ここの日記に書いた Plamo-src 一式を作成するスクリプトを使って Plamo-5.x の x86_64, contrib から PlamoBuild スクリプトを取り出してみました.処理するパッケージファイルに PlamoBuild が含まれていない場合とか,usr/share/doc がそもそも含まれていない場合などにワーニングを吐くので,大量にファイル処理すると現状のスクリプトではちょっと五月蠅いかもしれないですね.

とりあえずワーニングは出力するものの一通り処理は出来るので.x86_64 ディレクトリから PlamoBuild 等を取り出した物と,GitHub の Plamo-src と比べてみると結構差分があるようです.

差分を確認して,数日中くらいに GitHub の方をアップデートできれば良いかなと思っています.


2014-05-27 [長年日記]

_ キーボードショートカット

ずーっと Mac でいろんな作業していましたが,久しぶりに Linux 上で作業するとキーボードショートカットの差分ではまりまくってます.

COPY は Mac だと Command-C だけど Linux だと Ctrl-C とかって感じで,Mac と Linux って同時に押すキーが Command キーと Ctrl キーって異なっているんですよね.すっかり親指で Command キー押しながらキーボードショートカットを叩く癖が付いてしまったので間違いまくり.

_ Xbox One

価格発表されたのね.

Kinect 付きだと税別で49980円かぁ.ちょっと高いなぁ.

PS4 には魅力を感じないけど,Xbox One はちょっと欲しい気がしてるんだけどな.


2014-05-28 [長年日記]

_ ぎひょうの LXC 連載

加藤さんの LXC 連載ですが,第2回がアップされていますね.

_ 最近思うこと

インターネットでの口コミ情報などの色々な情報ってなんだか批判とかネガティブな意見の方が多い感じ.

たまに読んでて嫌になる事があります.

もうちょっとどうにかならないのかな?って良く思います.

心理的に文句があるときの方が書きやすいってのがあるからなのかな.

褒めることって難しいし.

企業活動に対しても同じ.

ちょっと前には企業に対するクレーマーが増えたって報道もありましたが,今はどうなんだろう.相変わらずかな?

最近のテレビ番組とか漫画とかに対しても同様.

昔から日本って出る物をつぶしたがるって風潮があるからなのか?

MIT の石井さんが「出る杭は打たれるけど,出すぎた杭は打たれない」ってよく言ってますね.

なんか段々話がずれてきた感じもするのでこの辺でやめておきます.


2014-05-30 [長年日記]

_ Plamo-src update 作業

途中まで作業してみたのですが,まずいところが判明.GitHub の更新はちょっと先になりそう.

作業としては,GitHub の方で Plamo-src を自分のアカウントの方に fork した後,その fork したリポジトリを手元に clone して,5/30 時点の Plamo-5.x から PlamoBuild を取り出して差分確認しました.その後,差分のあるところを,手元に clone したリポジトリに反映させた所までは良かったのですが,いろいろチェックしていたら手元の git の環境がまずいことが判明.別の開発用に設定している git 環境を使っていたみたいで,ちょっと log がまずい状態になってました.

ということで,再び作業やり直しということになるので,もうちょっと時間かかりそう.

パッケージビルドできるところまで確認しているとさらに時間かかりそうなので,とりあえずビルド確認は行わずに差分のある PlamoBuild スクリプトとパッチだけ投げる形にしようかと思っています.


2014-05-31 [長年日記]

_ iVDR EXPO 2014

ちょっと前に書きましたが,iVDR EXPO 2014 のレポートがPhile-webをはじめ,色んな所に出ていますね.

事前の予告通り,4K 一色のようです.4K のパッケージメディアとして iVDR は生き残っていくのでしょうか?個人的には 4K ってあんまり興味がないです.家で使っているテレビは Full HD でないけど,十分満足だし.4K 対応よりも,使い勝手の良い Blu-ray の付いたまともな録画機が出ないかなと思って居たのですが,様子を見てると望み薄のような雰囲気.

個人的に,録画メディアとして iVDR が良いかなと思ってしばらく使っていましたが,1年以上新しい録画機が出るわけでもなく,最新の録画機も普通の録画機に比べて機能的にも使い勝手も劣っているのでちょっと見切りを付けようかなと思案中です.今使っている録画機(BIV-R521)って Blu-ray を焼いているとたまにフリーズすることもあって,動作が不安定だし.

iVDR はメディア自体は高速に読み書きできるし,使いやすいとは思って居るんだけど環境が悪すぎかな.機器間の互換性も問題あるみたいだし.



アクセス数:本日,昨日